1
0
Преглед на файлове

小程序新增立即购买逻辑,修改商品加载逻辑

hyq преди 5 години
родител
ревизия
36af9421b1

+ 13 - 6
kmall-api/src/main/java/com/kmall/api/api/ApiAuthController.java

@@ -158,10 +158,11 @@ public class ApiAuthController extends ApiBaseAction {
     @GetMapping("updateStoreLoadGoodsById")
     @IgnoreAuth
     public Object updateStoreLoadGoodsById(@RequestParam String storeId) {
-        StoreVo storeVo = new StoreVo();
-        storeVo.setId(Long.valueOf(storeId));
-        storeVo.setIsLoadGoods("0");//门店商品是否修改字段更新为否
-        apiStoreService.updateStoreLoadGoodsById(storeVo);
+        MerchUserVo merchUserVo = new MerchUserVo();
+        merchUserVo.setStoreId(Integer.valueOf(storeId));
+        merchUserVo.setUserId(Integer.parseInt(String.valueOf(getUserId())));
+        merchUserVo.setIsLoadGoods("0");//门店商品是否修改字段更新为否
+        apiMerchUserService.updateStoreLoadGoodsById(merchUserVo);
         return toResponsSuccess("成功");
     }
 
@@ -204,25 +205,31 @@ public class ApiAuthController extends ApiBaseAction {
         Long storeId = jsonParam.getLong("storeId");
         Long userId = jsonParam.getLong("userId");
         String merchSn = (String)jsonParam.get("merchSn");
-        Date nowTime = new Date();
+//        Date nowTime = new Date();
         UserVo userVo = userService.queryObject(userId);
+        String isLoadGoods = "";
         if (null != userVo) {
             MerchUserVo merchUser = apiMerchUserService.queryObjectByStoreId(storeId,userId);
             MerchUserVo merchUserVo = new MerchUserVo();
             merchUserVo.setStoreId(Integer.parseInt(String.valueOf(storeId)));
             merchUserVo.setMerchSn(merchSn);
             merchUserVo.setUserId(Integer.parseInt(String.valueOf(userId)));
-            if(merchUser != null) {;
+            if(merchUser != null) {
+                isLoadGoods = merchUser.getIsLoadGoods();
                 merchUserVo.setModTime(new Date());
                 merchUserVo.setId(merchUser.getId());
                 apiMerchUserService.update(merchUserVo);
             }else{
                 merchUserVo.setCreateTime(new Date());
                 merchUserVo.setModTime(new Date());
+                merchUserVo.setIsLoadGoods("0");
                 apiMerchUserService.save(merchUserVo);
             }
         }
         ThirdMerchantBizVo thirdMerchantBizVo = apiThirdMerchantBizService.queryDataByStoreId(storeId);
+        if(thirdMerchantBizVo != null){
+            thirdMerchantBizVo.setIsLoadGoods(isLoadGoods);
+        }
         return toResponsSuccess(thirdMerchantBizVo);
     }
 }

+ 15 - 5
kmall-api/src/main/java/com/kmall/api/api/ApiCartController.java

@@ -15,6 +15,7 @@ import com.kmall.api.entity.*;
 import com.kmall.api.service.*;
 import com.kmall.api.util.ApiBaseAction;
 import com.kmall.common.utils.MapUtils;
+import com.kmall.common.utils.RRException;
 import com.qiniu.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -64,9 +65,9 @@ public class ApiCartController extends ApiBaseAction {
      * 获取购物车中的数据
      */
     @GetMapping("getCartMoney")
-    public Object getCartMoney(@LoginUser UserVo loginUser, String checkCart) {
+    public Object getCartMoney(@LoginUser UserVo loginUser, CheckOutDto checkOutDto) {
         Long storeId = getStoreId();
-        Map<String, Object> resultObj = cartService.getCartMoney(loginUser,checkCart,storeId);
+        Map<String, Object> resultObj = cartService.getCartMoney(loginUser, checkOutDto, storeId);
         return resultObj;
     }
 
@@ -277,7 +278,9 @@ public class ApiCartController extends ApiBaseAction {
         //判断商品是否可以购买
         GoodsVo goodsInfo = goodsService.queryObjectByStoreId(goodsId, getStoreId());
         if (null == goodsInfo || goodsInfo.getIs_delete() == 1 || goodsInfo.getIs_on_sale() == 0) {
+            logger.error("商品已下架" );
             return toResponsFail("商品已下架");
+//            throw new RRException("商品已下架");
         }
         Long storeId = getStoreId();
         //取得规格的信息,判断规格库存
@@ -290,7 +293,9 @@ public class ApiCartController extends ApiBaseAction {
         }*/
         ProductVo productInfo = productService.queryByStoreId(productId, storeId);
         if (null == productInfo) {
+            logger.error("商品已下架" );
             return toResponsFail("商品已下架");
+//            throw new RRException("商品已下架");
         }
         //// TODO: 2019/3/5  普通商品不受共享库存影响,直接取门店配置库存
         Integer stockNum = StockUtil.setStockNumByGoodsVo(goodsInfo);
@@ -308,7 +313,9 @@ public class ApiCartController extends ApiBaseAction {
             }
         }*/
         if(stockNum == null || number > stockNum || stockNum <= 0){
+            logger.error("该商品库存不足" );
             return toResponsFail("该商品库存不足");
+//            throw new RRException("该商品库存不足");
         }
         if (null == productInfo.getRetail_price()) {
             productInfo.setRetail_price(goodsInfo.getRetail_price());
@@ -348,6 +355,7 @@ public class ApiCartController extends ApiBaseAction {
             cartService.save(cartInfo);
         } else {
             if(number + cartInfo.getNumber() > stockNum){
+                logger.error("商品选购数量(含购物车已加购数量)已超过库存" );
                 return toResponsFail("商品选购数量(含购物车已加购数量)已超过库存");
             }
             cartInfo.setNumber(cartInfo.getNumber() + number);
@@ -411,7 +419,9 @@ public class ApiCartController extends ApiBaseAction {
             //判断商品是否可以购买
             ProductVo productInfo = productService.queryByStoreId(goodsVo.getProduct_id(), storeId);
             if (null == productInfo) {
-                return toResponsFail("商品已下架");
+                logger.error("商品已下架" );
+                throw new RRException("商品已下架");
+//                return toResponsFail("商品已下架");
             }
             GoodsVo goodsInfo = goodsService.queryObjectByStoreId(goodsVo.getGoods_id(), getStoreId());
             if (null == goodsInfo || goodsInfo.getIs_delete() == 1 || goodsInfo.getIs_on_sale() == 0) {
@@ -691,10 +701,10 @@ public class ApiCartController extends ApiBaseAction {
         JSONObject jsonParam = getJsonRequest();
 
         CheckOutDto checkOutDto = JSONObject.parseObject(jsonParam.toString(), CheckOutDto.class);
-        //获取要购买的商品
-        Map<String, Object> cartData = (Map<String, Object>)this.getCartMoney(loginUser,checkOutDto.getCheckCart());
         checkOutDto.setLoginUser(loginUser);
         checkOutDto.setStoreId(getStoreId());
+        //获取要购买的商品
+        Map<String, Object> cartData = (Map<String, Object>)this.getCartMoney(loginUser,checkOutDto);
         checkOutDto.setCartData(cartData);
 
         Map<String, Object> resultObj = cartService.getCheckOut(checkOutDto);

+ 11 - 2
kmall-api/src/main/java/com/kmall/api/api/ApiStoreCampMinusController.java

@@ -2,6 +2,7 @@ package com.kmall.api.api;
 
 import com.kmall.api.annotation.LoginUser;
 import com.kmall.api.dto.CampMinusDto;
+import com.kmall.api.dto.CheckOutDto;
 import com.kmall.api.dto.UserCouponDto;
 import com.kmall.api.entity.CartVo;
 import com.kmall.api.entity.UserCouponVo;
@@ -96,9 +97,17 @@ public class ApiStoreCampMinusController extends ApiBaseAction {
      * 确认订单页,查看订单商品所支持的满减满折列表
      */
     @GetMapping("getCampminusByCheckCartList")
-    public Object getCampminusByCheckCartList(@LoginUser UserVo loginUser, Integer storeId, String checkCart, String bizType) {
+    public Object getCampminusByCheckCartList(@LoginUser UserVo loginUser, Integer storeId, String checkCart, String bizType, Long goodsId, Integer number) {
+        CheckOutDto checkOutDto = new CheckOutDto();
+        checkOutDto.setCheckCart(checkCart);
+        //商品id不为空,则提交订单是从商品详情页立即购买过来的
+        if(goodsId != null){
+            checkOutDto.setGoodsId(goodsId);
+            checkOutDto.setNumber(number);
+        }
+        checkOutDto.setLoginUser(loginUser);
         //获取要购买的商品
-        Map<String, Object> cartData = apiCartService.getCartMoney(loginUser, checkCart, Long.valueOf(storeId));
+        Map<String, Object> cartData = apiCartService.getCartMoney(loginUser, checkOutDto, Long.valueOf(storeId));
 
         List<CartVo> checkedGoodsList = new ArrayList();
         List<CartVo> cartGoodsList = (List<CartVo>) cartData.get("cartList");

+ 11 - 3
kmall-api/src/main/java/com/kmall/api/api/ApiStoreTicketDiscountController.java

@@ -2,6 +2,7 @@ package com.kmall.api.api;
 
 import com.google.common.collect.Maps;
 import com.kmall.api.annotation.LoginUser;
+import com.kmall.api.dto.CheckOutDto;
 import com.kmall.api.dto.UserCouponDto;
 import com.kmall.api.entity.*;
 import com.kmall.api.entity.mk.MkStoreTicketDiscountVo;
@@ -158,10 +159,17 @@ public class ApiStoreTicketDiscountController  extends ApiBaseAction {
      * 查看当前用户已领取的且订单商品所支持的优惠券列表
      */
     @GetMapping("getDiscountByCheckCartList")
-    public Object getDiscountByCheckCartList(@LoginUser UserVo loginUser, Integer storeId, String checkCart,String bizType) {
-
+    public Object getDiscountByCheckCartList(@LoginUser UserVo loginUser, Integer storeId, String checkCart,String bizType, Long goodsId, Integer number) {
+        CheckOutDto checkOutDto = new CheckOutDto();
+        checkOutDto.setCheckCart(checkCart);
+        //商品id不为空,则提交订单是从商品详情页立即购买过来的
+        if(goodsId != null){
+            checkOutDto.setGoodsId(goodsId);
+            checkOutDto.setNumber(number);
+        }
+        checkOutDto.setLoginUser(loginUser);
         //获取要购买的商品
-        Map<String, Object> cartData = apiCartService.getCartMoney(loginUser, checkCart, Long.valueOf(storeId));
+        Map<String, Object> cartData = apiCartService.getCartMoney(loginUser, checkOutDto, Long.valueOf(storeId));
 
         List<CartVo> checkedGoodsList = new ArrayList();
         List<CartVo> cartGoodsList = (List<CartVo>) cartData.get("cartList");

+ 2 - 0
kmall-api/src/main/java/com/kmall/api/dao/ApiMerchUserMapper.java

@@ -14,4 +14,6 @@ import org.apache.ibatis.annotations.Param;
  */
 public interface ApiMerchUserMapper extends BaseDao<MerchUserVo> {
     MerchUserVo queryObjectByStoreId(@Param("storeId") Long storeId, @Param("userId")Long userId);
+
+    Integer updateStoreLoadGoodsById(MerchUserVo merchUserVo);
 }

+ 0 - 2
kmall-api/src/main/java/com/kmall/api/dao/ApiStoreMapper.java

@@ -18,6 +18,4 @@ import java.util.Map;
 @Service
 public interface ApiStoreMapper extends BaseDao<StoreVo> {
     List<StoreVo> queryNearbyList(Map param);
-
-    Integer updateStoreLoadGoodsById(StoreVo storeVo);
 }

+ 18 - 0
kmall-api/src/main/java/com/kmall/api/dto/CheckOutDto.java

@@ -24,6 +24,24 @@ public class CheckOutDto {
     private Integer campId10;
     private Integer campId11;
     private Integer isLoadStatus;
+    private Long goodsId;
+    private Integer number;
+
+    public Integer getNumber() {
+        return number;
+    }
+
+    public void setNumber(Integer number) {
+        this.number = number;
+    }
+
+    public Long getGoodsId() {
+        return goodsId;
+    }
+
+    public void setGoodsId(Long goodsId) {
+        this.goodsId = goodsId;
+    }
 
     public Integer getIsLoadStatus() {
         return isLoadStatus;

+ 10 - 0
kmall-api/src/main/java/com/kmall/api/entity/MerchUserVo.java

@@ -51,6 +51,16 @@ public class MerchUserVo implements Serializable {
      */
     private Date tstm;
 
+    private String isLoadGoods;
+
+    public String getIsLoadGoods() {
+        return isLoadGoods;
+    }
+
+    public void setIsLoadGoods(String isLoadGoods) {
+        this.isLoadGoods = isLoadGoods;
+    }
+
     /**
      * 设置:主键
      */

+ 10 - 0
kmall-api/src/main/java/com/kmall/api/entity/ThirdMerchantBizVo.java

@@ -61,6 +61,16 @@ public class ThirdMerchantBizVo implements Serializable {
 
     private String isMapShow;
 
+    private String isLoadGoods;
+
+    public String getIsLoadGoods() {
+        return isLoadGoods;
+    }
+
+    public void setIsLoadGoods(String isLoadGoods) {
+        this.isLoadGoods = isLoadGoods;
+    }
+
     public String getIsMapShow() {
         return isMapShow;
     }

+ 43 - 10
kmall-api/src/main/java/com/kmall/api/service/ApiCartService.java

@@ -200,17 +200,11 @@ public class ApiCartService {
         return cartDao.queryCartByGoodsBizType(goodsBizType);
     }
 
-    public Map<String, Object> getCartMoney(UserVo loginUser, String checkCart, Long storeId){
+    public Map<String, Object> getCartMoney(UserVo loginUser, CheckOutDto checkOutDto, Long storeId){
         Map<String, Object> resultObj = Maps.newHashMap();
-        //查询列表数据
-        Map param = Maps.newHashMap();
-        param.put("user_id", loginUser.getId());
-        param.put("store_id", storeId);
-        param.put("checkCart",checkCart);
-        param.put("checked", "1");
-        param.putAll(setIsStockShare(storeId));
-        List<CartVo> cartList = cartDao.queryList(param);
-        //获取购物车统计信息
+        Long goodsId = checkOutDto.getGoodsId();
+        Integer number = checkOutDto.getNumber();
+        String checkCart = checkOutDto.getCheckCart();
         Integer goodsCount = 0;
         BigDecimal goodsAmount = new BigDecimal(0.00);
         Integer checkedGoodsCount = 0;
@@ -219,6 +213,45 @@ public class ApiCartService {
         BigDecimal checkedGoodsAmount02 = new BigDecimal(0.00);
         BigDecimal checkedGoodsAmount10 = new BigDecimal(0.00);
         BigDecimal checkedGoodsAmount11 = new BigDecimal(0.00);
+        List<CartVo> cartList = new ArrayList<>();
+        //商品id不为空,则提交订单是从商品详情页立即购买过来的
+        if(goodsId != null){
+            GoodsVo goodsVo = apiGoodsMapper.queryObjectByStoreId(goodsId, storeId);
+            if(goodsVo != null){
+                if(goodsVo.getGoods_number() == 0){
+                    logger.error("商品库存不足" );
+                    throw new RRException("商品库存不足");
+                }
+                CartVo vo = new CartVo();
+                vo.setGoodsBizType(goodsVo.getGoodsBizType());
+                vo.setGoods_id(goodsVo.getId());
+                vo.setNumber(number);
+                vo.setUser_id(checkOutDto.getLoginUser().getId());
+                vo.setSku(goodsVo.getSku());
+                vo.setGoods_sn(goodsVo.getGoods_sn());
+                vo.setGoods_name(goodsVo.getName());
+                vo.setRetail_price(goodsVo.getRetail_price());
+                vo.setStore_id(Long.valueOf(goodsVo.getStoreId()));
+                vo.setChecked(1);
+                vo.setList_pic_url(goodsVo.getList_pic_url());
+                vo.setProduct_id(Long.valueOf(goodsVo.getProduct_id()));
+                vo.setMarket_price(goodsVo.getMarket_price());
+                cartList.add(vo);
+            }else {
+                logger.error("商品信息不存在" );
+                throw new RRException("商品信息不存在");
+            }
+        }else{
+            //查询列表数据
+            Map param = Maps.newHashMap();
+            param.put("user_id", loginUser.getId());
+            param.put("store_id", storeId);
+            param.put("checkCart",checkCart);
+            param.put("checked", "1");
+            param.putAll(setIsStockShare(storeId));
+            cartList = cartDao.queryList(param);
+        }
+        //获取购物车统计信息
         for (CartVo cartItem : cartList) {
             goodsCount += cartItem.getNumber();
             goodsAmount = goodsAmount.add(cartItem.getRetail_price().multiply(new BigDecimal(cartItem.getNumber())));

+ 3 - 0
kmall-api/src/main/java/com/kmall/api/service/ApiMerchUserService.java

@@ -51,4 +51,7 @@ public class ApiMerchUserService {
     public MerchUserVo queryObjectByStoreId(Long storeId,Long userId){
         return apiMerchUserMapper.queryObjectByStoreId(storeId,userId);
     }
+    public int updateStoreLoadGoodsById(MerchUserVo merchUserVo){
+        return apiMerchUserMapper.updateStoreLoadGoodsById(merchUserVo);
+    }
 }

+ 51 - 25
kmall-api/src/main/java/com/kmall/api/service/ApiOrderService.java

@@ -4,10 +4,13 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.google.common.collect.Maps;
 import com.kmall.api.dao.mk.ApiMkStoreCampMinusMapper;
+import com.kmall.api.dao.mk.ApiMkStorePromMapper;
 import com.kmall.api.dao.mk.ApiMkStoreTicketDiscountMapper;
 import com.kmall.api.dto.CampMinusDto;
 import com.kmall.api.dto.CheckOutDto;
 import com.kmall.api.entity.mk.MkStoreCampMinusVo;
+import com.kmall.api.entity.mk.MkStorePromStatVo;
+import com.kmall.api.entity.mk.MkStorePromVo;
 import com.kmall.api.entity.mk.MkStoreTicketDiscountVo;
 import com.kmall.api.fromcomm.entity.FormIdsEntity;
 import com.kmall.api.service.mk.ApiMkStorePromStatService;
@@ -74,6 +77,8 @@ public class ApiOrderService {
     @Autowired
     private ApiStoreMngChangeMapper apiStoreMngChangeMapper;
     @Autowired
+    private ApiMkStorePromMapper apiMkStorePromMapper;
+    @Autowired
     private ApiMkStorePromStatService apiMkStorePromStatService;
     @Autowired
     private ApiMkStoreTicketDiscountMapper apiMkStoreTicketDiscountMapper;
@@ -262,6 +267,8 @@ public class ApiOrderService {
         Integer campId10 = jsonParam.getInteger("campId10");//促销id
         Integer campId11 = jsonParam.getInteger("campId11");//促销id
         Integer isLoadStatus = jsonParam.getInteger("isLoadStatus");
+        Integer number = jsonParam.getInteger("number");
+        Long goodsId = jsonParam.getLong("goodsId");
         UserVo user = apiUserMapper.queryObjectByIdNoAndName(idNo, userName);
         UserVo userVo = new UserVo();
         userVo.setId(loginUser.getId());
@@ -290,27 +297,13 @@ public class ApiOrderService {
             resultObj.put("errmsg", vo.getRespMessage());
             return resultObj;
         }
-
-        //获取要购买的商品
-        Map<String, Object> cartData = cartService.getCartMoney(loginUser,checkCart,storeId);
-        List<CartVo> checkedGoodsList = (List<CartVo>) cartData.get("cartList");
-//        Map param = Maps.newHashMap();
-//        param.put("user_id", loginUser.getId());
-//        param.put("store_id", storeId);
-//        param.put("checked", 1);
-//        param.put("checkCart", checkCart);
-//        List<CartVo> checkedGoodsList = apiCartMapper.queryList(param);
-        if (null == checkedGoodsList) {
-            resultObj.put("errno", 400);
-            resultObj.put("errmsg", "请选择商品");
-            logger.error("请选择商品");
-            return resultObj;
-        }
-        // 检查库存和更新库存
-        checkStock(checkedGoodsList, storeId, userName);
-
         CheckOutDto checkOutDto = new CheckOutDto();
         checkOutDto.setCheckCart(checkCart);
+        //商品id不为空,则提交订单是从商品详情页立即购买过来的
+        if(goodsId != null){
+            checkOutDto.setGoodsId(goodsId);
+            checkOutDto.setNumber(number);
+        }
         checkOutDto.setLoginUser(loginUser);
         if(tickDiscId00 != null){
             checkOutDto.setTickDiscId00(Long.valueOf(tickDiscId00));
@@ -338,6 +331,22 @@ public class ApiOrderService {
         }
         checkOutDto.setIsLoadStatus(isLoadStatus);
         checkOutDto.setStoreId(storeId);
+        //获取要购买的商品
+        Map<String, Object> cartData = cartService.getCartMoney(loginUser, checkOutDto, storeId);
+        List<CartVo> checkedGoodsList = (List<CartVo>) cartData.get("cartList");
+//        Map param = Maps.newHashMap();
+//        param.put("user_id", loginUser.getId());
+//        param.put("store_id", storeId);
+//        param.put("checked", 1);
+//        param.put("checkCart", checkCart);
+//        List<CartVo> checkedGoodsList = apiCartMapper.queryList(param);
+        if (null == checkedGoodsList) {
+            resultObj.put("errno", 400);
+            resultObj.put("errmsg", "请选择商品");
+            logger.error("请选择商品");
+            return resultObj;
+        }
+
         checkOutDto.setCartData(cartData);
         Map<String, Object> cartResultObj = cartService.getCheckOut(checkOutDto);
 
@@ -346,6 +355,8 @@ public class ApiOrderService {
         Boolean isBizType10 =  (Boolean) cartResultObj.get("isBizType10");
         Boolean isBizType11 =  (Boolean) cartResultObj.get("isBizType11");
 
+        // 检查库存和更新库存
+        checkStock(checkedGoodsList, storeId, userName);
 
         List<OrderVo> orderInfoList = new ArrayList();
         String merchOrderSn = "EMATO" + CommonUtil.generateOrderNumber();
@@ -408,10 +419,21 @@ public class ApiOrderService {
                         }
                         OrderGoodsVo orderGoodsVo = setOrderGoodsVo(orderInfo, goodsItem, goodsVo);
                         apiOrderGoodsMapper.save(orderGoodsVo);
-
-                        Integer cartId = Integer.parseInt(String.valueOf(goodsItem.getId()));
-                        //更新渠道追踪统计下单量数据
-                        apiMkStorePromStatService.updateMkStorePromStat(orderGoodsVo, orderInfo, loginUser, cartId);
+                        //购物车id为空,则提交订单是从商品详情页立即购买过来的
+                        if(goodsItem.getId() == null){
+                            MkStorePromVo mkStorePromVo = apiMkStorePromMapper.queryObjectByGoodsIdAndStoreId(Integer.parseInt(String.valueOf(goodsItem.getGoods_id())),
+                                    Integer.parseInt(String.valueOf(storeId)));
+                            if(mkStorePromVo != null){
+                                MkStorePromStatVo statVo = apiMkStorePromStatService.queryObjectByPromId(mkStorePromVo.getPromId());
+                                if(statVo != null){
+                                    apiMkStorePromStatService.updateStorePromStat(orderGoodsVo, orderInfo, loginUser, statVo);
+                                }
+                            }
+                        }else {
+                            Integer cartId = Integer.parseInt(String.valueOf(goodsItem.getId()));
+                            //更新渠道追踪统计下单量数据
+                            apiMkStorePromStatService.updateMkStorePromStat(orderGoodsVo, orderInfo, loginUser, cartId);
+                        }
                     }
                 }
                 //记录优惠券活动营销统计下单量数据
@@ -432,8 +454,12 @@ public class ApiOrderService {
 
             orderProcessRecordMapper.saveBatch(processRecordEntityList);//新增订单流转信息
 
-            //清空已购买的商品
-            apiCartMapper.deleteByCart(loginUser.getId(), storeId, 1, checkCart);
+
+            //商品id不为空,则提交订单是从商品详情页立即购买过来的
+            if(goodsId == null) {
+                //清空已购买的商品
+                apiCartMapper.deleteByCart(loginUser.getId(), storeId, 1, checkCart);
+            }
 
             if (apiOrderMapper.queryCountByMerchOrderSn(merchOrderSn) > 1) {//不止一笔订单则为拆单订单
                 OrderVo orderVo = new OrderVo();

+ 0 - 3
kmall-api/src/main/java/com/kmall/api/service/ApiStoreService.java

@@ -36,7 +36,4 @@ public class ApiStoreService {
         return apiStoreMapper.queryNearbyList(map);
     }
 
-    public int updateStoreLoadGoodsById(StoreVo storeVo){
-        return apiStoreMapper.updateStoreLoadGoodsById(storeVo);
-    }
 }

+ 20 - 16
kmall-api/src/main/java/com/kmall/api/service/mk/ApiMkStorePromStatService.java

@@ -69,22 +69,26 @@ public class ApiMkStorePromStatService {
         Integer goodsId = Integer.parseInt(String.valueOf(orderGoodsVo.getGoods_id()));
         MkStorePromStatVo statVo = mkStorePromStatMapper.queryStatDataByCartIdAndGoodsId(cartId, goodsId);
         if(statVo != null){
-            MkStorePromOrderRealVo orderRealVo = new MkStorePromOrderRealVo();
-            orderRealVo.setOrderId(Integer.parseInt(String.valueOf(orderInfo.getId())));
-            orderRealVo.setOrderGoodsId(Integer.parseInt(String.valueOf(orderGoodsVo.getId())));
-            orderRealVo.setModTime(new Date());
-            orderRealVo.setPromOrderRealId(statVo.getPromOrderRealId());
-            orderRealVo.setUserId(Integer.parseInt(String.valueOf(loginUser.getId())));
-            apiMkStorePromOrderRealService.update(orderRealVo);
-
-            MkStorePromStatVo mkStorePromStatVo = new MkStorePromStatVo();
-            //获取推广订单关联表中根据推广id查询下单人数
-            Integer submitNum = apiMkStorePromOrderRealService.querySubmitNumByPromId(statVo.getPromId());
-            Integer submitOrdNum = apiMkStorePromOrderRealService.querySubmitOrderNumByPromId(statVo.getPromId());
-            mkStorePromStatVo.setSubmitNum(submitNum == null ? 0 : submitNum);//下单人数
-            mkStorePromStatVo.setSubmitOrderNum(submitOrdNum);//下单单数
-            mkStorePromStatVo.setPromStatId(statVo.getPromStatId());
-            mkStorePromStatMapper.update(mkStorePromStatVo);
+            updateStorePromStat(orderGoodsVo, orderInfo, loginUser, statVo);
         }
     }
+
+    public void updateStorePromStat(OrderGoodsVo orderGoodsVo, OrderVo orderInfo, UserVo loginUser, MkStorePromStatVo statVo){
+        MkStorePromOrderRealVo orderRealVo = new MkStorePromOrderRealVo();
+        orderRealVo.setOrderId(Integer.parseInt(String.valueOf(orderInfo.getId())));
+        orderRealVo.setOrderGoodsId(Integer.parseInt(String.valueOf(orderGoodsVo.getId())));
+        orderRealVo.setModTime(new Date());
+        orderRealVo.setPromOrderRealId(statVo.getPromOrderRealId());
+        orderRealVo.setUserId(Integer.parseInt(String.valueOf(loginUser.getId())));
+        apiMkStorePromOrderRealService.update(orderRealVo);
+
+        MkStorePromStatVo mkStorePromStatVo = new MkStorePromStatVo();
+        //获取推广订单关联表中根据推广id查询下单人数
+        Integer submitNum = apiMkStorePromOrderRealService.querySubmitNumByPromId(statVo.getPromId());
+        Integer submitOrdNum = apiMkStorePromOrderRealService.querySubmitOrderNumByPromId(statVo.getPromId());
+        mkStorePromStatVo.setSubmitNum(submitNum == null ? 0 : submitNum);//下单人数
+        mkStorePromStatVo.setSubmitOrderNum(submitOrdNum);//下单单数
+        mkStorePromStatVo.setPromStatId(statVo.getPromStatId());
+        mkStorePromStatMapper.update(mkStorePromStatVo);
+    }
 }

+ 1 - 1
kmall-api/src/main/resources/mybatis/mapper/ApiGoodsMapper.xml

@@ -139,7 +139,7 @@
         mb.is_stock_share isStockShare,
         mb.is_supplier_goods 'isSupplierGoods',
         mb2.third_party_merch_code 'supplierThirdMerchCode',
-        mb2.is_stock_share 'isStockShareBySuppler'
+        mb2.is_stock_share 'isStockShareBySuppler',psr1.product_id
         from mall_goods a left join mall_merch m on a.merch_sn = m.merch_sn
         LEFT JOIN mall_product_store_rela psr1 ON a.id = psr1.goods_id and a.merch_sn = psr1.merch_sn
         LEFT JOIN mall_store s ON s.id = psr1.store_id

+ 17 - 2
kmall-api/src/main/resources/mybatis/mapper/ApiMerchUserMapper.xml

@@ -13,6 +13,7 @@
         <result property="moderSn" column="moder_sn"/>
         <result property="modTime" column="mod_time"/>
         <result property="tstm" column="tstm"/>
+		<result property="isLoadGoods" column="is_load_goods"/>
     </resultMap>
 
 	<select id="queryObject" resultType="com.kmall.api.entity.MerchUserVo">
@@ -25,12 +26,13 @@
 			`create_time`,
 			`moder_sn`,
 			`mod_time`,
+			is_load_goods,
 			`tstm`
 		from mall_merch_user
 		where id = #{id}
 	</select>
 
-	<select id="queryObjectByStoreId" resultType="com.kmall.api.entity.MerchUserVo">
+	<select id="queryObjectByStoreId" resultMap="merchUserMap">
 		select
 		`id`,
 		`merch_sn`,
@@ -40,12 +42,13 @@
 		`create_time`,
 		`moder_sn`,
 		`mod_time`,
+		is_load_goods,
 		`tstm`
 		from mall_merch_user
 		where store_id = #{storeId} and user_id = #{userId}
 	</select>
 
-	<select id="queryList" resultType="com.kmall.api.entity.MerchUserVo">
+	<select id="queryList" resultMap="merchUserMap">
 		select
     		`id`,
     		`merch_sn`,
@@ -55,6 +58,7 @@
     		`create_time`,
     		`moder_sn`,
     		`mod_time`,
+			is_load_goods,
     		`tstm`
 		from mall_merch_user
 		WHERE 1=1
@@ -87,6 +91,7 @@
 			`merch_sn`,
 			`store_id`,
 			`user_id`,
+			is_load_goods,
 			`creater_sn`,
 			`create_time`,
 			`moder_sn`,
@@ -96,6 +101,7 @@
 			#{merchSn},
 			#{storeId},
 			#{userId},
+			#{isLoadGoods},
 			#{createrSn},
 			#{createTime},
 			#{moderSn},
@@ -109,6 +115,7 @@
 			<if test="merchSn != null">`merch_sn` = #{merchSn}, </if>
 			<if test="storeId != null">`store_id` = #{storeId}, </if>
 			<if test="userId != null">`user_id` = #{userId}, </if>
+			<if test="isLoadGoods != null">`is_load_goods` = #{isLoadGoods}, </if>
 			<if test="createrSn != null">`creater_sn` = #{createrSn}, </if>
 			<if test="createTime != null">`create_time` = #{createTime}, </if>
 			<if test="moderSn != null">`moder_sn` = #{moderSn}, </if>
@@ -128,5 +135,13 @@
 			#{id}
 		</foreach>
 	</delete>
+	<update id="updateStoreLoadGoodsById" parameterType="com.kmall.api.entity.StoreVo">
+		update mall_merch_user
+		<set>
+			<if test="isLoadGoods != null">`is_load_goods` = #{isLoadGoods}, </if>
+			mod_time = now()
+		</set>
+		where store_id = #{storeId} and user_id = #{userId}
+	</update>
 
 </mapper>

+ 1 - 12
kmall-api/src/main/resources/mybatis/mapper/ApiStoreMapper.xml

@@ -37,7 +37,6 @@
 			`latitude`,
 			`longitude`,
 			`cover_radius`,
-			is_load_goods,
 			`remark`,
 			merch_sn,
 			merch_name,
@@ -64,8 +63,7 @@
         merch_sn,
         merch_name,
         third_party_merch_code,
-        third_party_merch_name,
-        is_load_goods
+        third_party_merch_name
         from mall_store
         WHERE 1=1  and is_valid = 0
         <if test="province_name != null and province_name.trim() != ''">
@@ -165,7 +163,6 @@
             *pow(sin((a.longitude*pi()/180-#{longitude}*pi()/180)/2),2)))*1000) as distance,
         merch_sn,
         merch_name,
-        is_load_goods,
         third_party_merch_code,
         third_party_merch_name
         from mall_store a
@@ -189,13 +186,5 @@
         order by distance asc
         limit 0, 10
     </select>
-    <update id="updateStoreLoadGoodsById" parameterType="com.kmall.api.entity.StoreVo">
-        update mall_store
-        <set>
-            <if test="isLoadGoods != null">`is_load_goods` = #{isLoadGoods}, </if>
-            mod_time = now()
-        </set>
-        where id = #{id}
-    </update>
 
 </mapper>