提交 07a0de74 authored 作者: luojie's avatar luojie

修复订单物流查询,优化购物车

上级 b1ee38af
......@@ -3,6 +3,9 @@ package com.diaoyun.zion.chinafrica.dao;
import com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity;
import com.diaoyun.zion.master.dao.BaseDao;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 购物车记录表Dao
......@@ -19,5 +22,7 @@ public interface TbCfCartRecordRDao extends BaseDao<TbCfCartRecordREntity> {
*/
int deleteItems(String[] cartRecordIds);
TbCfCartRecordREntity queryByItemId(String itemId);
TbCfCartRecordREntity querySkuAndUrl(@Param("itemSku") String itemSku,@Param("sourceItemId") String sourceItemId);
}
......@@ -66,4 +66,5 @@ public interface TbCfOrderDao extends BaseDao<TbCfOrderEntity> {
* @return
*/
String getOrdersId(String orderId, String itemId);
}
......@@ -37,7 +37,18 @@ public class TbCfCartRecordREntity implements Serializable {
* 创建时间
*/
private Date createTime;
/**
* 商品链接
*/
private String sourceItemId;
/**
* 商品SKU
*/
private String itemSku;
/**
* 商品SKU
*/
private Integer itemNum;
/**
* 设置:购物车记录id
*/
......@@ -111,4 +122,28 @@ public class TbCfCartRecordREntity implements Serializable {
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getSourceItemId() {
return sourceItemId;
}
public void setSourceItemId(String sourceItemId) {
this.sourceItemId = sourceItemId;
}
public String getItemSku() {
return itemSku;
}
public void setItemSku(String itemSku) {
this.itemSku = itemSku;
}
public Integer getItemNum() {
return itemNum;
}
public void setItemNum(Integer itemNum) {
this.itemNum = itemNum;
}
}
......@@ -248,4 +248,5 @@ public class TbCfItemDetailEntity implements Serializable {
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
}
......@@ -6,6 +6,7 @@ import com.diaoyun.zion.chinafrica.dao.TbCfItemDetailDao;
import com.diaoyun.zion.chinafrica.entity.TbCfCartRecordREntity;
import com.diaoyun.zion.chinafrica.entity.TbCfExpressTemplateEntity;
import com.diaoyun.zion.chinafrica.entity.TbCfItemDetailEntity;
import com.diaoyun.zion.chinafrica.service.TbCfCartRecordRService;
import com.diaoyun.zion.chinafrica.service.TbCfItemDetailService;
import com.diaoyun.zion.chinafrica.vo.TbCfCartItemDetailVo;
import com.diaoyun.zion.chinafrica.vo.TbCfItemDetailVo;
......@@ -98,7 +99,15 @@ public class TbCfItemDetailServiceImpl implements TbCfItemDetailService {
String token = jwtTokenProvider.resolveToken(request);
TbCfUserInfoVo tbCfUserInfoVo = tokenManager.validate(token);
//填充新商品必要信息
fillItemInfo(tbCfItemDetailVo);
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());
}else{
tbCfItemDetailVo.setItemId(IdUtil.createIdbyUUID());
tbCfItemDetailVo.setCreateTime(new Date());
}
//为商品分类,后面计算运费
TbCfExpressTemplateEntity expressTemplate = recognizeItemCategory(tbCfItemDetailVo.getItemTitle());
tbCfItemDetailVo.setItemCategory(expressTemplate.getTemplateId());
......@@ -106,6 +115,8 @@ 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 tbCfCartRecordREntity = new TbCfCartRecordREntity();
tbCfCartRecordREntity.setCartRecordId(IdUtil.createIdbyUUID());
......@@ -114,7 +125,22 @@ public class TbCfItemDetailServiceImpl implements TbCfItemDetailService {
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);
} else{
tbCfItemDetailDao.update(tbCfItemDetail);
TbCfCartRecordREntity tbCfCartRecordREntity = new TbCfCartRecordREntity();
tbCfCartRecordREntity.setCartRecordId(tbCfCartRecordREntity1.getCartRecordId());
tbCfCartRecordREntity.setItemId(tbCfItemDetailVo.getItemId());
tbCfCartRecordREntity.setCheckFlag(StateConstant.VALID);
tbCfCartRecordREntity.setEnableFlag(StateConstant.VALID);
tbCfCartRecordREntity.setUserId(tbCfUserInfoVo.getUserId());
tbCfCartRecordREntity.setCreateTime(new Date());
tbCfCartRecordREntity.setItemNum(tbCfItemDetailVo.getItemNum());
tbCfCartRecordRDao.update(tbCfCartRecordREntity);
}
return new Result(ResultCodeEnum.SUCCESS.getDesc());
}
......@@ -151,15 +177,6 @@ public class TbCfItemDetailServiceImpl implements TbCfItemDetailService {
return result;
}
/**
* 填充新商品必要信息
* @param tbCfItemDetailVo
*/
private void fillItemInfo(TbCfItemDetailVo tbCfItemDetailVo) {
tbCfItemDetailVo.setItemId(IdUtil.createIdbyUUID());
tbCfItemDetailVo.setCreateTime(new Date());
}
/**
* 获取运费模板(包含分类)
*
......
......@@ -106,6 +106,10 @@ public class TbCfCartItemDetailVo implements Serializable {
@ApiModelProperty("商品品名")
private String descripitionName;
@ApiModelProperty("订单商品状态")
private String orderStatus;
public String getOrdersId() {
return ordersId;
}
......@@ -304,4 +308,12 @@ public class TbCfCartItemDetailVo implements Serializable {
public void setCheckFlag(Integer checkFlag) {
this.checkFlag = checkFlag;
}
public String getOrderStatus() {
return orderStatus;
}
public void setOrderStatus(String orderStatus) {
this.orderStatus = orderStatus;
}
}
......@@ -181,6 +181,7 @@ public class TbCfOrderVo implements Serializable {
private Integer enableFlag;
public String getOrdersId() {
return ordersId;
}
......
......@@ -10,6 +10,9 @@
<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">
......@@ -19,7 +22,10 @@
`user_id`,
`check_flag`,
`enable_flag`,
`create_time`
`create_time`,
`item_num`,
`item_sku`,
`source_item_id`
from tb_cf_cart_record_r
where cart_record_id = #{id}
</select>
......@@ -30,7 +36,10 @@
`user_id`,
`check_flag`,
`enable_flag`,
`create_time`
`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() != ''">
......@@ -64,19 +73,29 @@
`user_id`,
`check_flag`,
`enable_flag`,
`create_time`)
`create_time`,
`item_num`,
`item_sku`,
`source_item_id`)
values(
#{cartRecordId},
#{itemId},
#{userId},
#{checkFlag},
#{enableFlag},
#{createTime})
#{createTime},
#{itemNum},
#{itemSku},
#{sourceItemId})
</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>
......@@ -103,5 +122,29 @@
#{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
</select>
</mapper>
\ No newline at end of file
......@@ -271,6 +271,7 @@
o.coupon_id,
o.coupon_title,
o.coupon_price,
o.order_status,
o.fee,
o.tax,
o.pay_id,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论