fanli/src/main/java/com/yeshi/fanli/dao/BaseMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/goods/ScanHistoryV2Mapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/entity/goods/ScanHistoryV2.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/exception/goods/ScanHistoryException.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/mapping/goods/ScanHistoryV2Mapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ScanHistoryV2ServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/service/inter/goods/ScanHistoryV2Service.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
fanli/src/main/java/com/yeshi/fanli/dao/BaseMapper.java
New file @@ -0,0 +1,17 @@ package com.yeshi.fanli.dao; public interface BaseMapper<T> { int deleteByPrimaryKey(Long id); int insert(T record); int insertSelective(T record); T selectByPrimaryKey(Long id); int updateByPrimaryKeySelective(T record); int updateByPrimaryKey(T record); } fanli/src/main/java/com/yeshi/fanli/dao/mybatis/goods/ScanHistoryV2Mapper.java
New file @@ -0,0 +1,8 @@ package com.yeshi.fanli.dao.mybatis.goods; import com.yeshi.fanli.dao.BaseMapper; import com.yeshi.fanli.entity.goods.ScanHistoryV2; public interface ScanHistoryV2Mapper extends BaseMapper<ScanHistoryV2> { } fanli/src/main/java/com/yeshi/fanli/entity/goods/ScanHistoryV2.java
New file @@ -0,0 +1,73 @@ package com.yeshi.fanli.entity.goods; import java.util.Date; import org.yeshi.utils.mybatis.Column; import org.yeshi.utils.mybatis.Table; import com.yeshi.fanli.entity.bus.user.UserInfo; @Table("yeshi_ec_scanhistory_v2") public class ScanHistoryV2 { @Column(name = "s_id") private Long id; @Column(name = "s_device") private String device; @Column(name = "s_uid") private UserInfo userInfo; @Column(name = "s_common_goods_id") private CommonGoods commonGoods; @Column(name = "s_createtime") private Date createTime; @Column(name = "s_updatetime") private Date updateTime; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getDevice() { return device; } public void setDevice(String device) { this.device = device; } public UserInfo getUserInfo() { return userInfo; } public void setUserInfo(UserInfo userInfo) { this.userInfo = userInfo; } public CommonGoods getCommonGoods() { return commonGoods; } public void setCommonGoods(CommonGoods commonGoods) { this.commonGoods = commonGoods; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Date getUpdateTime() { return updateTime; } public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; } } fanli/src/main/java/com/yeshi/fanli/exception/goods/ScanHistoryException.java
New file @@ -0,0 +1,32 @@ package com.yeshi.fanli.exception.goods; public class ScanHistoryException extends Exception { /** * */ private static final long serialVersionUID = 1L; private int code; private String msg; public int getCode() { return code; } public String getMsg() { return msg; } public ScanHistoryException(int code, String msg) { this.code = code; this.msg = msg; } public ScanHistoryException() { } @Override public String getMessage() { return this.msg; } } fanli/src/main/java/com/yeshi/fanli/mapping/goods/ScanHistoryV2Mapper.xml
New file @@ -0,0 +1,79 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.yeshi.fanli.dao.mybatis.goods.ScanHistoryV2Mapper"> <resultMap id="BaseResultMap" type="com.yeshi.fanli.entity.goods.ScanHistoryV2"> <id column="s_id" property="id" jdbcType="BIGINT" /> <result column="s_device" property="device" jdbcType="VARCHAR" /> <result column="s_createtime" property="createTime" jdbcType="TIMESTAMP" /> <result column="s_updatetime" property="updateTime" jdbcType="TIMESTAMP" /> <association property="userInfo" column="cg_uid" javaType="com.yeshi.fanli.entity.bus.user.UserInfo"> <id column="cg_uid" property="id" jdbcType="BIGINT" /> </association> <association property="commonGoods" column="cg_common_goods_id" select="com.yeshi.fanli.dao.mybatis.goods.CommonGoodsMapper.selectByPrimaryKey"> </association> </resultMap> <sql id="Base_Column_List">s_id,s_device,s_uid,s_common_goods_id,s_createtime,s_updatetime </sql> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long"> select <include refid="Base_Column_List" /> from yeshi_ec_scanhistory_v2 where s_id = #{id,jdbcType=BIGINT} </select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from yeshi_ec_scanhistory_v2 where s_id = #{id,jdbcType=BIGINT} </delete> <insert id="insert" parameterType="com.yeshi.fanli.entity.goods.ScanHistoryV2" useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_scanhistory_v2 (s_id,s_device,s_uid,s_common_goods_id,s_createtime,s_updatetime) values (#{id,jdbcType=BIGINT},#{device,jdbcType=VARCHAR},#{userInfo.id,jdbcType=BIGINT},#{commonGoods.id,jdbcType=BIGINT},#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP}) </insert> <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.goods.ScanHistoryV2" useGeneratedKeys="true" keyProperty="id"> insert into yeshi_ec_scanhistory_v2 <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null">s_id,</if> <if test="device != null">s_device,</if> <if test="userInfo != null">s_uid,</if> <if test="commonGoods != null">s_common_goods_id,</if> <if test="createTime != null">s_createtime,</if> <if test="updateTime != null">s_updatetime,</if> </trim> values <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null">#{id,jdbcType=BIGINT},</if> <if test="device != null">#{device,jdbcType=VARCHAR},</if> <if test="userInfo != null">#{userInfo.id,jdbcType=BIGINT},</if> <if test="commonGoods != null">#{commonGoods.id,jdbcType=BIGINT},</if> <if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if> <if test="updateTime != null">#{updateTime,jdbcType=TIMESTAMP},</if> </trim> </insert> <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.goods.ScanHistoryV2">update yeshi_ec_scanhistory_v2 set s_device = #{device,jdbcType=VARCHAR},s_uid = #{userInfo.id,jdbcType=BIGINT},s_common_goods_id = #{commonGoods.id,jdbcType=BIGINT},s_createtime = #{createTime,jdbcType=TIMESTAMP},s_updatetime = #{updateTime,jdbcType=TIMESTAMP} where s_id = #{id,jdbcType=BIGINT} </update> <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.goods.ScanHistoryV2"> update yeshi_ec_scanhistory_v2 <set> <if test="device != null">s_device=#{device,jdbcType=VARCHAR},</if> <if test="userInfo != null">s_uid=#{userInfo.id,jdbcType=BIGINT},</if> <if test="commonGoods != null">s_common_goods_id=#{commonGoods.id,jdbcType=BIGINT},</if> <if test="createTime != null">s_createtime=#{createTime,jdbcType=TIMESTAMP},</if> <if test="updateTime != null">s_updatetime=#{updateTime,jdbcType=TIMESTAMP},</if> </set> where s_id = #{id,jdbcType=BIGINT} </update> </mapper> fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ScanHistoryV2ServiceImpl.java
New file @@ -0,0 +1,64 @@ package com.yeshi.fanli.service.impl.goods; import java.util.Date; import javax.annotation.Resource; import org.springframework.stereotype.Service; import com.yeshi.fanli.dao.mybatis.goods.ScanHistoryV2Mapper; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.goods.CommonGoods; import com.yeshi.fanli.entity.goods.ScanHistoryV2; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.exception.goods.CommonGoodsException; import com.yeshi.fanli.exception.goods.ScanHistoryException; import com.yeshi.fanli.service.inter.goods.CommonGoodsService; import com.yeshi.fanli.service.inter.goods.ScanHistoryV2Service; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.factory.CommonGoodsFactory; @Service public class ScanHistoryV2ServiceImpl implements ScanHistoryV2Service { @Resource private CommonGoodsService commonGoodsService; @Resource private ScanHistoryV2Mapper scanHistoryV2Mapper; @Override public void addScanHistory(Long uid, String device, TaoBaoGoodsBrief goods) throws CommonGoodsException, ScanHistoryException { if (uid == null && StringUtil.isNullOrEmpty(device)) throw new ScanHistoryException(1, "设备或用户信息缺失"); CommonGoods commonGoods = CommonGoodsFactory.create(goods); commonGoods = commonGoodsService.addOrUpdateCommonGoods(commonGoods); if (commonGoods == null) throw new CommonGoodsException(2, "商品信息不完整"); // 添加浏览记录 ScanHistoryV2 scanHistoryV2 = new ScanHistoryV2(); scanHistoryV2.setCommonGoods(commonGoods); scanHistoryV2.setCreateTime(new Date()); scanHistoryV2.setDevice(device); if (uid != null) scanHistoryV2.setUserInfo(new UserInfo(uid)); scanHistoryV2.setUpdateTime(new Date()); scanHistoryV2Mapper.insertSelective(scanHistoryV2); } @Override public void addScanHistory(ScanHistoryV2 history) throws CommonGoodsException, ScanHistoryException { if (history == null) throw new ScanHistoryException(1, "浏览信息不能为空"); if (history.getUserInfo() == null && StringUtil.isNullOrEmpty(history.getDevice())) throw new ScanHistoryException(1, "设备或用户信息缺失"); CommonGoods commonGoods = commonGoodsService.addOrUpdateCommonGoods(history.getCommonGoods()); if (commonGoods == null) throw new CommonGoodsException(2, "商品信息不完整"); history.setCommonGoods(commonGoods); scanHistoryV2Mapper.insertSelective(history); } } fanli/src/main/java/com/yeshi/fanli/service/inter/goods/ScanHistoryV2Service.java
New file @@ -0,0 +1,27 @@ package com.yeshi.fanli.service.inter.goods; import com.yeshi.fanli.entity.goods.ScanHistoryV2; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.exception.goods.CommonGoodsException; import com.yeshi.fanli.exception.goods.ScanHistoryException; public interface ScanHistoryV2Service { /** * 添加浏览记录 * * @param uid * @param device * @param goods */ public void addScanHistory(Long uid, String device, TaoBaoGoodsBrief goods) throws CommonGoodsException, ScanHistoryException; /** * 添加浏览记录 * * @param history * @throws CommonGoodsException * @throws ScanHistoryException */ public void addScanHistory(ScanHistoryV2 history) throws CommonGoodsException, ScanHistoryException; }