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

Merge remote-tracking branch 'origin/master'

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