提交 82dc47f7 authored 作者: zgy's avatar zgy

Merge remote-tracking branch 'origin/master'

......@@ -17,12 +17,18 @@ public interface TbCfCartRecordRDao extends BaseDao<TbCfCartRecordREntity> {
/**
* 伪删除,将标志位置为 0
*
* @param cartRecordIds
* @return
*/
int deleteItems(String[] cartRecordIds);
TbCfCartRecordREntity queryByItemId(String itemId);
TbCfCartRecordREntity queryByItemId(@Param("itemId") String itemId, @Param("userId") String userId, @Param("itemSku") String itemSku);
TbCfCartRecordREntity querySkuAndUrl(@Param("itemSku") String itemSku, @Param("itemId") String itemId, @Param("sourceItemId") String sourceItemId, @Param("userId") String userId);
int queryItemNum(String userId);
List<TbCfCartRecordREntity> queryCartRecord(@Param("userId") String userId, @Param("itemId") String itemId);
TbCfCartRecordREntity querySkuAndUrl(@Param("itemSku") String itemSku,@Param("sourceItemId") String sourceItemId);
}
......@@ -18,13 +18,15 @@ public interface TbCfItemDetailDao extends BaseDao<TbCfItemDetailEntity> {
/**
* 根据用户id获取购物车内物品
*
* @param userId
* @return
*/
List<TbCfCartItemDetailVo> getCartItemList(String userId,Integer checkFlag);
List<TbCfCartItemDetailVo> getCartItemList(@Param("userId") String userId, @Param("checkFlag") Integer checkFlag);
/**
* 改变购物车的商品勾选状态
*
* @param cartRecordId
* @param checkFlag
* @return
......@@ -32,5 +34,9 @@ public interface TbCfItemDetailDao extends BaseDao<TbCfItemDetailEntity> {
int changeItemState(String cartRecordId, Integer checkFlag);
int changeState(@Param("ids") String[] ids, @Param("checkFlag") String checkFlag);
int queryItemNum(String userId);
TbCfItemDetailEntity queryByItemAndSku(String itemId,String itemSku);
}
......@@ -8,8 +8,8 @@ import java.util.Date;
* 商品详情实体
* 表名 tb_cf_item_detail
*
* @author G
* @date 2019-08-16 15:51:16
* @author lipengjun
* @date 2020-01-16 14:17:43
*/
public class TbCfItemDetailEntity implements Serializable {
private static final long serialVersionUID = 1L;
......@@ -19,7 +19,7 @@ public class TbCfItemDetailEntity implements Serializable {
*/
private String itemId;
/**
* 商品id,源平台的id,不一定有
* 商品url
*/
private String sourceItemId;
/**
......@@ -27,7 +27,7 @@ public class TbCfItemDetailEntity implements Serializable {
*/
private String stationId;
/**
* 站点类型
* 站点类型 1:自营商品 2:其他
*/
private Integer stationType;
/**
......@@ -43,7 +43,7 @@ public class TbCfItemDetailEntity implements Serializable {
*/
private String itemImg;
/**
* 商品价格
* 商品单价
*/
private BigDecimal itemPrice;
/**
......@@ -67,33 +67,44 @@ public class TbCfItemDetailEntity implements Serializable {
*/
private String shopUrl;
/**
* 创建时间
* 状态 0:已删除 1:加入购物车 2:直接支付
*/
private Integer status;
/**
* 用户ID
*/
private String userId;
/**
* 加入时间
*/
private Date createTime;
private String descripitionName;
public String getDescripitionName() {
return descripitionName;
}
public void setDescripitionName(String descripitionName) {
this.descripitionName = descripitionName;
}
/**
* 设置:商品id
* 设置:商品表记录id
*/
public void setItemId(String itemId) {
this.itemId = itemId;
}
/**
* 获取:商品id
* 获取:商品表记录id
*/
public String getItemId() {
return itemId;
}
/**
* 设置:商品url
*/
public void setSourceItemId(String sourceItemId) {
this.sourceItemId = sourceItemId;
}
/**
* 获取:商品url
*/
public String getSourceItemId() {
return sourceItemId;
}
/**
* 设置:来源站点id
*/
......@@ -108,14 +119,14 @@ public class TbCfItemDetailEntity implements Serializable {
return stationId;
}
/**
* 设置:站点类型
* 设置:站点类型 1:自营商品 2:其他
*/
public void setStationType(Integer stationType) {
this.stationType = stationType;
}
/**
* 获取:站点类型
* 获取:站点类型 1:自营商品 2:其他
*/
public Integer getStationType() {
return stationType;
......@@ -160,14 +171,14 @@ public class TbCfItemDetailEntity implements Serializable {
return itemImg;
}
/**
* 设置:商品价格
* 设置:商品单价
*/
public void setItemPrice(BigDecimal itemPrice) {
this.itemPrice = itemPrice;
}
/**
* 获取:商品价格
* 获取:商品单价
*/
public BigDecimal getItemPrice() {
return itemPrice;
......@@ -198,6 +209,19 @@ public class TbCfItemDetailEntity implements Serializable {
public String getItemSku() {
return itemSku;
}
/**
* 设置:所属店铺id
*/
public void setShopId(String shopId) {
this.shopId = shopId;
}
/**
* 获取:所属店铺id
*/
public String getShopId() {
return shopId;
}
/**
* 设置:所属商铺名
*/
......@@ -224,29 +248,43 @@ public class TbCfItemDetailEntity implements Serializable {
public String getShopUrl() {
return shopUrl;
}
public String getSourceItemId() {
return sourceItemId;
}
public void setSourceItemId(String sourceItemId) {
this.sourceItemId = sourceItemId;
/**
* 设置:状态 0:已删除 1:加入购物车 2:直接支付
*/
public void setStatus(Integer status) {
this.status = status;
}
public String getShopId() {
return shopId;
/**
* 获取:状态 0:已删除 1:加入购物车 2:直接支付
*/
public Integer getStatus() {
return status;
}
public void setShopId(String shopId) {
this.shopId = shopId;
/**
* 设置:用户ID
*/
public void setUserId(String userId) {
this.userId = userId;
}
public Date getCreateTime() {
return createTime;
/**
* 获取:用户ID
*/
public String getUserId() {
return userId;
}
/**
* 设置:加入时间
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* 获取:加入时间
*/
public Date getCreateTime() {
return createTime;
}
}
......@@ -97,10 +97,15 @@ public class TbCfItemDetailServiceImpl implements TbCfItemDetailService {
return tbCfItemDetailDao.deleteBatch(itemIds);
}
@Override
/* @Override
public Result addToCart(TbCfItemDetailVo tbCfItemDetailVo) throws InterruptedException, ExecutionException, TimeoutException {
String token = jwtTokenProvider.resolveToken(request);
TbCfUserInfoVo tbCfUserInfoVo = tokenManager.validate(token);
int itemCount = tbCfItemDetailDao.queryItemNum(tbCfUserInfoVo.getUserId());
System.out.println(itemCount);
if (itemCount >= 99) {
return new Result(ResultCodeEnum.ERROR.getCode()).setMessage("The shopping cart is full and needs to be cleaned!");
}
boolean flag = false;
if (tbCfItemDetailVo.getItemPrice() != null) {
int compare = tbCfItemDetailVo.getItemPrice().compareTo(BigDecimal.ZERO);
......@@ -110,14 +115,26 @@ public class TbCfItemDetailServiceImpl implements TbCfItemDetailService {
}
if (flag) {
//填充新商品必要信息
TbCfCartRecordREntity tbCfCartRecord = tbCfCartRecordRDao.querySkuAndUrl(tbCfItemDetailVo.getItemSku(), tbCfItemDetailVo.getSourceItemId());
if (tbCfCartRecord != null) {
tbCfItemDetailVo.setItemId(tbCfCartRecord.getItemId());
tbCfItemDetailVo.setItemNum(tbCfCartRecord.getItemNum() + tbCfItemDetailVo.getItemNum());
tbCfItemDetailVo.setCreateTime(new Date());
TbCfCartRecordREntity tbCfCartRecord = tbCfCartRecordRDao.querySkuAndUrl(tbCfItemDetailVo.getItemSku(), tbCfItemDetailVo.getItemId(), tbCfItemDetailVo.getSourceItemId(), tbCfUserInfoVo.getUserId());
if (tbCfItemDetailVo.getSourceItemId().equals("www.afrieshop.com")) {
if (tbCfCartRecord != null) {
tbCfItemDetailVo.setItemId(tbCfCartRecord.getItemId());
tbCfItemDetailVo.setItemNum(tbCfCartRecord.getItemNum() + tbCfItemDetailVo.getItemNum());
tbCfItemDetailVo.setCreateTime(new Date());
} else {
tbCfItemDetailVo.setItemId(tbCfItemDetailVo.getItemId());
tbCfItemDetailVo.setItemNum(tbCfItemDetailVo.getItemNum());
tbCfItemDetailVo.setCreateTime(new Date());
}
} else {
tbCfItemDetailVo.setItemId(IdUtil.createIdbyUUID());
tbCfItemDetailVo.setCreateTime(new Date());
if (tbCfCartRecord != null) {
tbCfItemDetailVo.setItemId(tbCfCartRecord.getItemId());
tbCfItemDetailVo.setItemNum(tbCfCartRecord.getItemNum() + tbCfItemDetailVo.getItemNum());
tbCfItemDetailVo.setCreateTime(new Date());
} else {
tbCfItemDetailVo.setItemId(IdUtil.createIdbyUUID());
tbCfItemDetailVo.setCreateTime(new Date());
}
}
//为商品分类,后面计算运费
TbCfExpressTemplateEntity expressTemplate = recognizeItemCategory(tbCfItemDetailVo.getItemTitle());
......@@ -126,44 +143,115 @@ public class TbCfItemDetailServiceImpl implements TbCfItemDetailService {
TbCfItemDetailEntity tbCfItemDetail = new TbCfItemDetailEntity();
BeanUtils.copyProperties(tbCfItemDetailVo, tbCfItemDetail);
//将商品加入购物车表
TbCfCartRecordREntity tbCfCartRecordREntity1 = tbCfCartRecordRDao.queryByItemId(tbCfItemDetailVo.getItemId());
if (tbCfCartRecordREntity1 == null) {
tbCfItemDetailDao.save(tbCfItemDetail);
TbCfCartRecordREntity tbCfCartRecordREntity1 = tbCfCartRecordRDao.queryByItemId(tbCfItemDetailVo.getItemId(), tbCfUserInfoVo.getUserId(), tbCfItemDetailVo.getItemSku());
if (tbCfCartRecordREntity1 != null) {
TbCfCartRecordREntity tbCfCartRecordREntity = new TbCfCartRecordREntity();
tbCfCartRecordREntity.setCartRecordId(IdUtil.createIdbyUUID());
tbCfCartRecordREntity.setCartRecordId(tbCfCartRecordREntity1.getCartRecordId());
tbCfCartRecordREntity.setItemId(tbCfItemDetailVo.getItemId());
tbCfCartRecordREntity.setCheckFlag(StateConstant.VALID);
tbCfCartRecordREntity.setEnableFlag(StateConstant.VALID);
tbCfCartRecordREntity.setItemId(tbCfItemDetailVo.getItemId());
tbCfCartRecordREntity.setUserId(tbCfUserInfoVo.getUserId());
tbCfCartRecordREntity.setUserId(tbCfCartRecordREntity1.getUserId());
tbCfCartRecordREntity.setCreateTime(new Date());
tbCfCartRecordREntity.setItemNum(tbCfItemDetailVo.getItemNum());
tbCfCartRecordREntity.setItemSku(tbCfItemDetailVo.getItemSku());
tbCfCartRecordREntity.setSourceItemId(tbCfItemDetailVo.getSourceItemId());
tbCfCartRecordRDao.save(tbCfCartRecordREntity);
} else {
tbCfCartRecordRDao.update(tbCfCartRecordREntity);
tbCfItemDetailDao.update(tbCfItemDetail);
} else {
tbCfItemDetailDao.save(tbCfItemDetail);
TbCfCartRecordREntity tbCfCartRecordREntity = new TbCfCartRecordREntity();
tbCfCartRecordREntity.setCartRecordId(tbCfCartRecordREntity1.getCartRecordId());
tbCfCartRecordREntity.setItemId(tbCfItemDetailVo.getItemId());
tbCfCartRecordREntity.setCartRecordId(IdUtil.createIdbyUUID());
tbCfCartRecordREntity.setCheckFlag(StateConstant.VALID);
tbCfCartRecordREntity.setEnableFlag(StateConstant.VALID);
tbCfCartRecordREntity.setItemId(tbCfItemDetailVo.getItemId());
tbCfCartRecordREntity.setUserId(tbCfUserInfoVo.getUserId());
tbCfCartRecordREntity.setCreateTime(new Date());
tbCfCartRecordREntity.setItemNum(tbCfItemDetailVo.getItemNum());
tbCfCartRecordRDao.update(tbCfCartRecordREntity);
tbCfCartRecordREntity.setItemSku(tbCfItemDetailVo.getItemSku());
tbCfCartRecordREntity.setSourceItemId(tbCfItemDetailVo.getSourceItemId());
tbCfCartRecordRDao.save(tbCfCartRecordREntity);
}
return new Result(ResultCodeEnum.SUCCESS.getDesc());
} else {
return new Result(ResultCodeEnum.ERROR.getCode()).setMessage("Cannot add to cart");
}
}*/
public Result addToCart(TbCfItemDetailVo tbCfItemDetailVo) {
Result result = new Result();
String token = jwtTokenProvider.resolveToken(request);
TbCfUserInfoVo tbCfUserInfoVo = tokenManager.validate(token);
int itemCount = tbCfItemDetailDao.queryItemNum(tbCfUserInfoVo.getUserId());
try {
if (itemCount >= 99) {
return new Result(ResultCodeEnum.SERVICE_ERROR.getCode()).setMessage("Your shopping cart is full!");
}
boolean flag = false;
if (tbCfItemDetailVo.getItemPrice() != null) {
int compare = tbCfItemDetailVo.getItemPrice().compareTo(BigDecimal.ZERO);
if (compare > 0) {
flag = true;
}
}
if (flag) {
//加入购物车
boolean isExist = false;
List<TbCfCartRecordREntity> cartRecordList = tbCfCartRecordRDao.queryCartRecord(tbCfUserInfoVo.getUserId(), tbCfItemDetailVo.getItemId());
if (cartRecordList != null && cartRecordList.size() > 0) {
for (TbCfCartRecordREntity cartRecord : cartRecordList) {
isExist = cartRecord.getItemSku().equals(tbCfItemDetailVo.getItemSku());
//如果购物车存在相同属性的商品
if (isExist) {
Integer itemNum = cartRecord.getItemNum();
itemNum += tbCfItemDetailVo.getItemNum();
cartRecord.setItemNum(itemNum);
tbCfCartRecordRDao.update(cartRecord);
TbCfItemDetailEntity itemDetail = tbCfItemDetailDao.queryByItemAndSku(cartRecord.getItemId(), cartRecord.getItemSku());
if (null != itemDetail) {
Integer num = itemDetail.getItemNum();
num += tbCfItemDetailVo.getItemNum();
itemDetail.setItemNum(num);
tbCfItemDetailDao.update(itemDetail);
}
break;
}
}
}
if (null == cartRecordList || !isExist) {
insertCartRecord(tbCfItemDetailVo, tbCfUserInfoVo);
//生成商品记录
tbCfItemDetailVo.setCreateTime(new Date());
TbCfItemDetailEntity tbCfItemDetail = new TbCfItemDetailEntity();
BeanUtils.copyProperties(tbCfItemDetailVo, tbCfItemDetail);
tbCfItemDetail.setStatus(1);
tbCfItemDetailDao.save(tbCfItemDetail);
}
}
} catch (Exception e) {
return new Result().setCode(ResultCodeEnum.SERVICE_ERROR.getCode())
.setMessage(ResultCodeEnum.SERVICE_ERROR.getDesc());
}
return result;
}
//生成购物车商品
public void insertCartRecord(TbCfItemDetailVo tbCfItemDetailVo, TbCfUserInfoVo tbCfUserInfoVo) {
TbCfCartRecordREntity tbCfCartRecordREntity = new TbCfCartRecordREntity();
tbCfCartRecordREntity.setCartRecordId(IdUtil.createIdbyUUID());
tbCfCartRecordREntity.setCheckFlag(StateConstant.INVALID);
tbCfCartRecordREntity.setEnableFlag(StateConstant.VALID);
tbCfCartRecordREntity.setItemId(tbCfItemDetailVo.getItemId());
tbCfCartRecordREntity.setUserId(tbCfUserInfoVo.getUserId());
tbCfCartRecordREntity.setCreateTime(new Date());
tbCfCartRecordREntity.setItemNum(tbCfItemDetailVo.getItemNum());
tbCfCartRecordREntity.setItemSku(tbCfItemDetailVo.getItemSku());
tbCfCartRecordREntity.setSourceItemId(tbCfItemDetailVo.getSourceItemId());
tbCfCartRecordRDao.save(tbCfCartRecordREntity);
}
@Override
public Result insertItemDetail(TbCfItemDetailVo tbCfItemDetailVo) {
Result result = new Result();
boolean flag = false;
String itemId = IdUtil.createIdbyUUID();
if (tbCfItemDetailVo.getItemPrice() != null) {
int compare = tbCfItemDetailVo.getItemPrice().compareTo(BigDecimal.ZERO);
if (compare > 0) {
......@@ -171,13 +259,12 @@ public class TbCfItemDetailServiceImpl implements TbCfItemDetailService {
}
}
if (flag) {
tbCfItemDetailVo.setItemId(itemId);
tbCfItemDetailVo.setCreateTime(new Date());
TbCfItemDetailEntity tbCfItemDetail = new TbCfItemDetailEntity();
BeanUtils.copyProperties(tbCfItemDetailVo, tbCfItemDetail);
int i = tbCfItemDetailDao.save(tbCfItemDetail);
if (i > 0) {
TbCfItemDetailEntity itemDetail = tbCfItemDetailDao.queryObject(itemId);
TbCfItemDetailEntity itemDetail = tbCfItemDetailDao.queryObject(tbCfItemDetailVo.getItemId());
result.setData(itemDetail);
}
result.setMessage(ResultCodeEnum.SUCCESS.getDesc());
......
......@@ -3,19 +3,19 @@
<mapper namespace="com.diaoyun.zion.chinafrica.dao.TbCfCartRecordRDao">
<resultMap type="com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity" id="tbCfCartRecordRMap">
<result property="cartRecordId" column="cart_record_id"/>
<result property="itemId" column="item_id"/>
<result property="userId" column="user_id"/>
<result property="checkFlag" column="check_flag"/>
<result property="enableFlag" column="enable_flag"/>
<result property="createTime" column="create_time"/>
<result property="sourceItemId" column="source_item_id"/>
<result property="itemSku" column="item_sku"/>
<result property="itemNum" column="item_num"/>
</resultMap>
<select id="queryObject" resultType="com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity">
<resultMap type="com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity" id="tbCfCartRecordRMap">
<result property="cartRecordId" column="cart_record_id"/>
<result property="itemId" column="item_id"/>
<result property="userId" column="user_id"/>
<result property="checkFlag" column="check_flag"/>
<result property="enableFlag" column="enable_flag"/>
<result property="createTime" column="create_time"/>
<result property="sourceItemId" column="source_item_id"/>
<result property="itemSku" column="item_sku"/>
<result property="itemNum" column="item_num"/>
</resultMap>
<select id="queryObject" resultType="com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity">
select
`cart_record_id`,
`item_id`,
......@@ -29,44 +29,44 @@
from tb_cf_cart_record_r
where cart_record_id = #{id}
</select>
<select id="queryList" resultType="com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity">
select
`cart_record_id`,
`item_id`,
`user_id`,
`check_flag`,
`enable_flag`,
`create_time`,
`item_num`,
`item_sku`,
`source_item_id`
from tb_cf_cart_record_r
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
<choose>
<when test="sidx != null and sidx.trim() != ''">
order by ${sidx} ${order}
</when>
<otherwise>
order by cart_record_id desc
</otherwise>
</choose>
<if test="offset != null and limit != null">
limit #{offset}, #{limit}
</if>
</select>
<select id="queryList" resultType="com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity">
select
`cart_record_id`,
`item_id`,
`user_id`,
`check_flag`,
`enable_flag`,
`create_time`,
`item_num`,
`item_sku`,
`source_item_id`
from tb_cf_cart_record_r
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
<choose>
<when test="sidx != null and sidx.trim() != ''">
order by ${sidx} ${order}
</when>
<otherwise>
order by cart_record_id desc
</otherwise>
</choose>
<if test="offset != null and limit != null">
limit #{offset}, #{limit}
</if>
</select>
<select id="queryTotal" resultType="int">
select count(*) from tb_cf_cart_record_r
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
</select>
<select id="queryTotal" resultType="int">
select count(*) from tb_cf_cart_record_r
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
</select>
<insert id="save" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity">
<insert id="save" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity">
insert into tb_cf_cart_record_r(
`cart_record_id`,
`item_id`,
......@@ -90,62 +90,97 @@
</insert>
<update id="update" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity">
update tb_cf_cart_record_r
<set>
<if test="itemNum != null">`item_num` = #{itemNum}, </if>
<if test="sourceItemId != null">`source_item_id` = #{sourceItemId}, </if>
<if test="itemSku != null">`item_sku` = #{itemSku}, </if>
<if test="itemId != null">`item_id` = #{itemId}, </if>
<if test="userId != null">`user_id` = #{userId}, </if>
<if test="checkFlag != null">`check_flag` = #{checkFlag}, </if>
<if test="enableFlag != null">`enable_flag` = #{enableFlag}</if>
</set>
where cart_record_id = #{cartRecordId}
</update>
<delete id="delete">
<update id="update" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity">
update tb_cf_cart_record_r
<set>
<if test="itemNum != null">`item_num` = #{itemNum},</if>
<if test="sourceItemId != null">`source_item_id` = #{sourceItemId},</if>
<if test="itemSku != null">`item_sku` = #{itemSku},</if>
<if test="itemId != null">`item_id` = #{itemId},</if>
<if test="userId != null">`user_id` = #{userId},</if>
<if test="checkFlag != null">`check_flag` = #{checkFlag},</if>
<if test="enableFlag != null">`enable_flag` = #{enableFlag}</if>
</set>
where cart_record_id = #{cartRecordId}
</update>
<delete id="delete">
delete from tb_cf_cart_record_r where cart_record_id = #{value}
</delete>
<delete id="deleteBatch">
delete from tb_cf_cart_record_r where cart_record_id in
<foreach item="cartRecordId" collection="array" open="(" separator="," close=")">
#{cartRecordId}
</foreach>
</delete>
<delete id="deleteBatch">
delete from tb_cf_cart_record_r where cart_record_id in
<foreach item="cartRecordId" collection="array" open="(" separator="," close=")">
#{cartRecordId}
</foreach>
</delete>
<!--伪删除-->
<delete id="deleteItems">
update tb_cf_cart_record_r set enable_flag=0 where cart_record_id in
<foreach item="cartRecordId" collection="array" open="(" separator="," close=")">
#{cartRecordId}
</foreach>
</delete>
<select id="querySkuAndUrl" resultType="com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity">
select
`cart_record_id`,
`item_id`,
`user_id`,
`check_flag`,
`enable_flag`,
`create_time`,
`source_item_id`,
`item_sku`,
`item_num`
from tb_cf_cart_record_r
where item_sku =#{itemSku} and source_item_id=#{sourceItemId} and enable_flag=1
</select>
<select id="queryByItemId" resultType="com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity">
select `cart_record_id`,
`item_id`,
`user_id`,
`check_flag`,
`enable_flag`,
`create_time`,
`source_item_id`,
`item_sku`,
`item_num` from tb_cf_cart_record_r where item_id =#{itemId} and enable_flag=1
<!--伪删除-->
<delete id="deleteItems">
update tb_cf_cart_record_r set enable_flag=0 where cart_record_id in
<foreach item="cartRecordId" collection="array" open="(" separator="," close=")">
#{cartRecordId}
</foreach>
</delete>
<select id="querySkuAndUrl" resultType="com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity">
select
`cart_record_id`,
`item_id`,
`user_id`,
`check_flag`,
`enable_flag`,
`create_time`,
`source_item_id`,
`item_sku`,
`item_num`
from tb_cf_cart_record_r
where 1=1
and user_id=#{userId}
and enable_flag=1
<if test="itemSku != null and itemSku.trim() != ''">
and item_sku =#{itemSku}
</if>
<if test="sourceItemId != null and sourceItemId.trim() != ''">
and source_item_id=#{sourceItemId}
</if>
<if test="itemId != null and itemId.trim() != ''">
and item_id=#{itemId}
</if>
</select>
<select id="queryByItemId" resultType="com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity">
select `cart_record_id`,
`item_id`,
`user_id`,
`check_flag`,
`enable_flag`,
`create_time`,
`source_item_id`,
`item_sku`,
`item_num` from tb_cf_cart_record_r where 1=1
and enable_flag=1
and user_id=#{userId}
and item_id =#{itemId}
<if test="itemSku != null and itemSku.trim() != ''">
and item_sku =#{itemSku}
</if>
</select>
<select id="queryCartRecord" resultType="com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity">
select
`cart_record_id`,
`item_id`,
`user_id`,
`check_flag`,
`enable_flag`,
`create_time`,
`source_item_id`,
`item_sku`,
`item_num` from tb_cf_cart_record_r where
enable_flag=1 and user_id=#{userId} and item_id=#{itemId}
</select>
</mapper>
\ No newline at end of file
......@@ -3,25 +3,27 @@
<mapper namespace="com.diaoyun.zion.chinafrica.dao.TbCfItemDetailDao">
<resultMap type="com.diaoyun.zion.chinafrica.entity.TbCfItemDetailEntity" id="tbCfItemDetailMap">
<result property="itemId" column="item_id"/>
<result property="sourceItemId" column="source_item_id"/>
<result property="stationId" column="station_id"/>
<result property="stationType" column="station_type"/>
<result property="itemTitle" column="item_title"/>
<result property="itemNum" column="item_num"/>
<result property="itemImg" column="item_img"/>
<result property="itemPrice" column="item_price"/>
<result property="itemCategory" column="item_category"/>
<result property="itemSku" column="item_sku"/>
<result property="shopId" column="shop_id"/>
<result property="shopName" column="shop_name"/>
<result property="shopUrl" column="shop_url"/>
<result property="createTime" column="create_time"/>
</resultMap>
<resultMap type="com.diaoyun.zion.chinafrica.entity.TbCfItemDetailEntity" id="tbCfItemDetailMap">
<result property="itemId" column="item_id"/>
<result property="sourceItemId" column="source_item_id"/>
<result property="stationId" column="station_id"/>
<result property="stationType" column="station_type"/>
<result property="itemTitle" column="item_title"/>
<result property="itemNum" column="item_num"/>
<result property="itemImg" column="item_img"/>
<result property="itemPrice" column="item_price"/>
<result property="itemCategory" column="item_category"/>
<result property="itemSku" column="item_sku"/>
<result property="shopId" column="shop_id"/>
<result property="shopName" column="shop_name"/>
<result property="shopUrl" column="shop_url"/>
<result property="status" column="status"/>
<result property="userId" column="user_id"/>
<result property="createTime" column="create_time"/>
</resultMap>
<select id="queryObject" resultType="com.diaoyun.zion.chinafrica.entity.TbCfItemDetailEntity">
select
<select id="queryObject" resultType="com.diaoyun.zion.chinafrica.entity.TbCfItemDetailEntity">
select
`item_id`,
`source_item_id`,
`station_id`,
......@@ -39,8 +41,8 @@
from tb_cf_item_detail
where item_id = #{id}
</select>
<select id="queryByTitle" resultType="com.diaoyun.zion.chinafrica.vo.TbCfItemDetailVo">
select
<select id="queryByItemAndSku" resultType="com.diaoyun.zion.chinafrica.entity.TbCfItemDetailEntity">
select
`item_id`,
`source_item_id`,
`station_id`,
......@@ -54,52 +56,74 @@
`shop_id`,
`shop_name`,
`shop_url`,
`status`,
`user_id`,
`create_time`
from tb_cf_item_detail
where item_title = #{itemTitle}
from tb_cf_item_detail left join tb_cf_cart_record_r on
where item_id = #{itemId} and item_sku=#{itemSku} and status=1
</select>
<select id="queryList" resultType="com.diaoyun.zion.chinafrica.entity.TbCfItemDetailEntity">
<select id="queryByTitle" resultType="com.diaoyun.zion.chinafrica.vo.TbCfItemDetailVo">
select
`item_id`,
`source_item_id`,
`station_id`,
`station_type`,
`item_title`,
`item_num`,
`item_img`,
`item_price`,
`item_category`,
`item_sku`,
`shop_id`,
`shop_name`,
`shop_url`,
`create_time`
`item_id`,
`source_item_id`,
`station_id`,
`station_type`,
`item_title`,
`item_num`,
`item_img`,
`item_price`,
`item_category`,
`item_sku`,
`shop_id`,
`shop_name`,
`shop_url`,
`create_time`
from tb_cf_item_detail
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
<choose>
<when test="sidx != null and sidx.trim() != ''">
order by ${sidx} ${order}
</when>
<otherwise>
order by item_id desc
</otherwise>
</choose>
<if test="offset != null and limit != null">
limit #{offset}, #{limit}
</if>
where item_title = #{itemTitle}
</select>
<select id="queryTotal" resultType="int">
select count(*) from tb_cf_item_detail
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
</select>
<insert id="save" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfItemDetailEntity">
<select id="queryList" resultType="com.diaoyun.zion.chinafrica.entity.TbCfItemDetailEntity">
select
`item_id`,
`source_item_id`,
`station_id`,
`station_type`,
`item_title`,
`item_num`,
`item_img`,
`item_price`,
`item_category`,
`item_sku`,
`shop_id`,
`shop_name`,
`shop_url`,
`create_time`
from tb_cf_item_detail
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
<choose>
<when test="sidx != null and sidx.trim() != ''">
order by ${sidx} ${order}
</when>
<otherwise>
order by item_id desc
</otherwise>
</choose>
<if test="offset != null and limit != null">
limit #{offset}, #{limit}
</if>
</select>
<select id="queryTotal" resultType="int">
select count(*) from tb_cf_item_detail
WHERE 1=1
<if test="name != null and name.trim() != ''">
AND name LIKE concat('%',#{name},'%')
</if>
</select>
<insert id="save" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfItemDetailEntity">
insert into tb_cf_item_detail(
`item_id`,
`source_item_id`,
......@@ -114,6 +138,8 @@
`shop_id`,
`shop_name`,
`shop_url`,
`status`,
`user_id`,
`create_time`)
values(
#{itemId},
......@@ -129,59 +155,88 @@
#{shopId},
#{shopName},
#{shopUrl},
#{status},
#{userId},
#{createTime})
</insert>
<update id="update" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfItemDetailEntity">
update tb_cf_item_detail
<set>
<if test="sourceItemId != null">`source_item_id` = #{sourceItemId}, </if>
<if test="stationId != null">`station_id` = #{stationId}, </if>
<if test="stationType != null">`station_type` = #{stationType}, </if>
<if test="itemTitle != null">`item_title` = #{itemTitle}, </if>
<if test="itemNum != null">`item_num` = #{itemNum}, </if>
<if test="itemImg != null">`item_img` = #{itemImg}, </if>
<if test="itemPrice != null">`item_price` = #{itemPrice}, </if>
<if test="itemCategory != null">`item_category` = #{itemCategory}, </if>
<if test="itemSku != null">`item_sku` = #{itemSku}, </if>
<if test="shopId != null">`shop_id` = #{shopId}, </if>
<if test="shopName != null">`shop_name` = #{shopName}, </if>
<if test="shopUrl != null">`shop_url` = #{shopUrl},</if>
<if test="createTime != null">`create_time` = #{createTime}</if>
</set>
where item_id = #{itemId}
</update>
<update id="update" parameterType="com.diaoyun.zion.chinafrica.entity.TbCfItemDetailEntity">
update tb_cf_item_detail
<set>
<if test="sourceItemId != null">`source_item_id` = #{sourceItemId},</if>
<if test="stationId != null">`station_id` = #{stationId},</if>
<if test="stationType != null">`station_type` = #{stationType},</if>
<if test="itemTitle != null">`item_title` = #{itemTitle},</if>
<if test="itemNum != null">`item_num` = #{itemNum},</if>
<if test="itemImg != null">`item_img` = #{itemImg},</if>
<if test="itemPrice != null">`item_price` = #{itemPrice},</if>
<if test="itemCategory != null">`item_category` = #{itemCategory},</if>
<if test="itemSku != null">`item_sku` = #{itemSku},</if>
<if test="shopId != null">`shop_id` = #{shopId},</if>
<if test="shopName != null">`shop_name` = #{shopName},</if>
<if test="shopUrl != null">`shop_url` = #{shopUrl},</if>
<if test="status != null">`status` = #{status},</if>
<if test="userId != null">`user_id` = #{userId},</if>
<if test="createTime != null">`create_time` = #{createTime}</if>
</set>
where item_id = #{itemId} and item_sku=#{itemSku}
</update>
<delete id="delete">
<delete id="delete">
delete from tb_cf_item_detail where item_id = #{value}
</delete>
<delete id="deleteBatch">
delete from tb_cf_item_detail where item_id in
<foreach item="itemId" collection="array" open="(" separator="," close=")">
#{itemId}
</foreach>
</delete>
<delete id="deleteBatch">
delete from tb_cf_item_detail where item_id in
<foreach item="itemId" collection="array" open="(" separator="," close=")">
#{itemId}
</foreach>
</delete>
<!--获取用户购物车内商品-->
<select id="getCartItemList" resultType="com.diaoyun.zion.chinafrica.vo.TbCfCartItemDetailVo">
select t1.cart_record_id,t1.check_flag,t2.* from tb_cf_cart_record_r t1,tb_cf_item_detail t2 where t1.item_id=t2.item_id
and t1.user_id=#{userId} and t2.item_price is not null
<if test="checkFlag != null"> and t1.check_flag = #{checkFlag}</if>
and t1.enable_flag=1 order by t2.create_time desc
</select>
<!--改变购物车的商品勾选状态-->
<update id="changeItemState">
<!--获取用户购物车内商品-->
<update id="changeItemState">
update tb_cf_cart_record_r set check_flag=#{checkFlag} where cart_record_id=#{cartRecordId}
</update>
<!--改变购物车商品勾选状态(新版)-->
<update id="changeState">
update tb_cf_cart_record_r set check_flag=#{checkFlag} where cart_record_id in
<foreach item="id" collection="ids" open="(" separator="," close=")">
#{id}
</foreach>
</update>
<!--改变购物车的商品勾选状态-->
<update id="changeState">
update tb_cf_cart_record_r set check_flag=#{checkFlag} where cart_record_id in
<foreach item="id" collection="ids" open="(" separator="," close=")">
#{id}
</foreach>
</update>
<select id="getCartItemList" resultType="com.diaoyun.zion.chinafrica.vo.TbCfCartItemDetailVo">
select
t1.cart_record_id,
t1.check_flag,
t2.item_id,
t2.source_item_id,
t2.station_id,
t2.station_type,
t2.item_title,
t2.item_num,
t2.item_img,
t2.item_price,
t2.item_category,
t2.item_sku,
t2.shop_id,
t2.shop_name,
t2.shop_url,
t2.create_time
from
tb_cf_cart_record_r t1 left join tb_cf_item_detail t2 on t1.item_id=t2.item_id and t1.item_sku=t2.item_sku
where 1=1
and t1.user_id=#{userId}
and t2.item_price is not null
and t1.enable_flag=1 and t2.status=1 order by t2.create_time desc
<if test="checkFlag != null">and t1.check_flag = #{checkFlag}</if>
</select>
<select id="queryItemNum" resultType="int">
select count(*) from tb_cf_cart_record_r where 1=1 and user_id=#{userId} and enable_flag=1
</select>
</mapper>
\ No newline at end of file
......@@ -6,7 +6,7 @@
<body>
<section style="width: 600px;height :720px;margin:0 auto;box-sizing: border-box;position: relative;">
<img style="position:absolute;width: 600px;height :720px;top:0;left:0;" src="https://diaopaas.com/wk_vote_node/public/africa-email-bg.png" alt="背景图">
<img style="position:absolute;width: 600px;height :720px;top:0;left:0;" src="https://diaosaas-prod.oss-cn-shenzhen.aliyuncs.com/africa-shop/Afrishop/africa-email-bg.png" alt="背景图">
<span style="position: absolute;top:42.1%;left:8%;display: inline-block;width:50px;overflow: hidden;text-overflow:ellipsis;white-space: nowrap;">${nick}</span>
<span style="text-align: center;position: absolute;top:63.3%;left:42.4%;display: inline-block;width:90px;white-space: nowrap;">${identifyCode?c}</span>
</section>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论