Browse Source

fix:优化商品加入购物车和退货申请

liujunchi 3 years ago
parent
commit
d27ce4fee7

+ 1 - 1
cooleshow-mall/mall-mbg/src/main/java/com/yonge/cooleshow/mbg/model/OmsOrderItem.java

@@ -60,7 +60,7 @@ public class OmsOrderItem implements Serializable {
     @ApiModelProperty(value = "商品销售属性:[{'key':'颜色','value':'颜色'},{'key':'容量','value':'4G'}]")
     private String productAttr;
 
-    @ApiModelProperty("申请状态:-1 ->未退款;0->待处理;1->退货中;2->已完成;3->已拒绝")
+    @ApiModelProperty("退货状态:-1 ->未退款;0->待处理;1->退货中;2->已完成;3->已拒绝")
     private Integer returnStatus;
 
     private static final long serialVersionUID = 1L;

+ 31 - 8
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/OmsCartItemServiceImpl.java

@@ -2,16 +2,15 @@ package com.yonge.cooleshow.portal.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
 import com.yonge.cooleshow.mbg.mapper.OmsCartItemMapper;
-import com.yonge.cooleshow.mbg.model.OmsCartItem;
-import com.yonge.cooleshow.mbg.model.OmsCartItemExample;
-import com.yonge.cooleshow.mbg.model.UmsMember;
+import com.yonge.cooleshow.mbg.mapper.PmsProductMapper;
+import com.yonge.cooleshow.mbg.mapper.PmsSkuStockMapper;
+import com.yonge.cooleshow.mbg.model.*;
 import com.yonge.cooleshow.portal.dao.PortalProductDao;
 import com.yonge.cooleshow.portal.domain.CartProduct;
 import com.yonge.cooleshow.portal.domain.CartPromotionItem;
-import com.yonge.cooleshow.portal.service.OmsCartItemService;
-import com.yonge.cooleshow.portal.service.OmsPromotionService;
-import com.yonge.cooleshow.portal.service.PortalBrandService;
-import com.yonge.cooleshow.portal.service.UmsMemberService;
+import com.yonge.cooleshow.portal.domain.PmsPortalProductDetail;
+import com.yonge.cooleshow.portal.service.*;
+import com.yonge.toolset.base.exception.BizException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -38,7 +37,10 @@ public class OmsCartItemServiceImpl implements OmsCartItemService {
     private UmsMemberService memberService;
 
     @Autowired
-    private PortalBrandService portalBrandService;
+    private PmsProductMapper pmsProductMapper;
+
+    @Autowired
+    private PmsSkuStockMapper skuStockMapper;
 
     @Override
     public int add(OmsCartItem cartItem) {
@@ -49,6 +51,27 @@ public class OmsCartItemServiceImpl implements OmsCartItemService {
         cartItem.setDeleteStatus(0);
         OmsCartItem existCartItem = getCartItem(cartItem);
         if (existCartItem == null) {
+            PmsProduct pmsProduct = pmsProductMapper.selectByPrimaryKey(cartItem.getId());
+
+            if (pmsProduct == null) {
+                throw new BizException("商品不存在");
+            }
+            cartItem.setProductPic(pmsProduct.getPic());
+            cartItem.setProductName(pmsProduct.getName());
+            cartItem.setProductSubTitle(pmsProduct.getSubTitle());
+            cartItem.setProductCategoryId(pmsProduct.getProductCategoryId());
+            cartItem.setProductBrand(pmsProduct.getName());
+            cartItem.setProductSn(pmsProduct.getProductSn());
+            if (cartItem.getProductSkuId() != null) {
+                PmsSkuStock pmsSkuStock = skuStockMapper.selectByPrimaryKey(cartItem.getProductSkuId());
+
+                if (pmsSkuStock == null) {
+                    throw new BizException("商品规格不存在");
+                }
+                cartItem.setProductSkuCode(pmsSkuStock.getSkuCode());
+                cartItem.setProductAttr(pmsSkuStock.getSpData());
+            }
+
             cartItem.setCreateDate(new Date());
             count = cartItemMapper.insert(cartItem);
         } else {

+ 28 - 3
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/OmsPortalOrderReturnApplyServiceImpl.java

@@ -1,10 +1,11 @@
 package com.yonge.cooleshow.portal.service.impl;
 
 import com.github.pagehelper.PageHelper;
+import com.yonge.cooleshow.mbg.mapper.OmsOrderItemMapper;
 import com.yonge.cooleshow.mbg.mapper.OmsOrderReturnApplyMapper;
-import com.yonge.cooleshow.mbg.model.OmsOrderReturnApply;
-import com.yonge.cooleshow.mbg.model.OmsOrderReturnApplyExample;
-import com.yonge.cooleshow.mbg.model.UmsMember;
+import com.yonge.cooleshow.mbg.mapper.PmsProductMapper;
+import com.yonge.cooleshow.mbg.mapper.PmsSkuStockMapper;
+import com.yonge.cooleshow.mbg.model.*;
 import com.yonge.cooleshow.portal.dao.OmsOrderReturnApplyDao;
 import com.yonge.cooleshow.portal.domain.OmsOrderReturnApplyParam;
 import com.yonge.cooleshow.portal.dto.OmsOrderReturnApplyResult;
@@ -37,10 +38,34 @@ public class OmsPortalOrderReturnApplyServiceImpl implements OmsPortalOrderRetur
     @Autowired
     private UmsMemberService memberService;
 
+    @Autowired
+    private OmsOrderItemMapper  orderItemMapper;
+
+    @Autowired
+    private PmsProductMapper pmsProductMapper;
+
+    @Autowired
+    private PmsSkuStockMapper skuStockMapper;
+
     @Override
     public int create(OmsOrderReturnApplyParam returnApply) {
         OmsOrderReturnApply realApply = new OmsOrderReturnApply();
         BeanUtils.copyProperties(returnApply,realApply);
+        OmsOrderItem omsOrderItem = orderItemMapper.selectByPrimaryKey(realApply.getOrderItemId());
+        if (omsOrderItem == null || !omsOrderItem.getOrderId().equals(realApply.getOrderId())) {
+            throw new BizException("当前订单不能退款");
+        }
+        PmsProduct pmsProduct = pmsProductMapper.selectByPrimaryKey(omsOrderItem.getProductId());
+        realApply.setProductPic(pmsProduct.getPic());
+        realApply.setProductName(pmsProduct.getName());
+        realApply.setProductBrand(pmsProduct.getBrandName());
+        if (omsOrderItem.getProductSkuId() != null) {
+            PmsSkuStock pmsSkuStock = skuStockMapper.selectByPrimaryKey(omsOrderItem.getProductSkuId());
+            realApply.setProductAttr(pmsSkuStock.getSpData());
+        }
+        realApply.setProductPrice(omsOrderItem.getProductPrice());
+        realApply.setProductRealPrice(omsOrderItem.getRealAmount());
+
         realApply.setCreateTime(new Date());
         realApply.setStatus(0);
         return returnApplyMapper.insert(realApply);