Browse Source

下单门店库存管理

fubojin 2 weeks ago
parent
commit
ce29a60c2f
31 changed files with 170 additions and 244 deletions
  1. 3 4
      yami-shop-api/src/main/java/com/yami/shop/api/controller/CategoryController.java
  2. 5 25
      yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderController.java
  3. 3 4
      yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java
  4. 7 7
      yami-shop-api/src/main/java/com/yami/shop/api/controller/ShopCartController.java
  5. 5 5
      yami-shop-api/src/main/java/com/yami/shop/api/controller/ShopDetailController.java
  6. 2 2
      yami-shop-api/src/main/java/com/yami/shop/api/controller/UserRegisterController.java
  7. 14 39
      yami-shop-api/src/main/java/com/yami/shop/api/listener/ConfirmOrderListener.java
  8. 7 7
      yami-shop-api/src/main/java/com/yami/shop/api/listener/SubmitOrderListener.java
  9. 2 1
      yami-shop-api/src/main/resources/application.yml
  10. 1 1
      yami-shop-bean/src/main/java/com/yami/shop/bean/app/dto/ShopCartOrderMergerDto.java
  11. 1 1
      yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/ChangeShopCartParam.java
  12. 1 1
      yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderItemParam.java
  13. 1 1
      yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderParam.java
  14. 2 2
      yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/SearchParam.java
  15. 1 1
      yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/SubmitOrderParam.java
  16. 1 1
      yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/UserRegisterParam.java
  17. 0 4
      yami-shop-bean/src/main/java/com/yami/shop/bean/model/User.java
  18. 1 1
      yami-shop-service/src/main/java/com/yami/shop/dao/ShopCategoryMapper.java
  19. 1 1
      yami-shop-service/src/main/java/com/yami/shop/dao/ShopDetailMapper.java
  20. 1 1
      yami-shop-service/src/main/java/com/yami/shop/service/CategoryService.java
  21. 3 3
      yami-shop-service/src/main/java/com/yami/shop/service/ShopDetailService.java
  22. 1 1
      yami-shop-service/src/main/java/com/yami/shop/service/impl/BasketServiceImpl.java
  23. 2 12
      yami-shop-service/src/main/java/com/yami/shop/service/impl/CategoryServiceImpl.java
  24. 2 2
      yami-shop-service/src/main/java/com/yami/shop/service/impl/PointsRechargeServiceImpl.java
  25. 63 54
      yami-shop-service/src/main/java/com/yami/shop/service/impl/ProductServiceImpl.java
  26. 6 6
      yami-shop-service/src/main/java/com/yami/shop/service/impl/ShopDetailServiceImpl.java
  27. 2 2
      yami-shop-service/src/main/java/com/yami/shop/service/impl/UserServiceImpl.java
  28. 25 51
      yami-shop-service/src/main/resources/mapper/ProductMapper.xml
  29. 3 0
      yami-shop-service/src/main/resources/mapper/ShopCategoryMapper.xml
  30. 2 2
      yami-shop-service/src/main/resources/mapper/ShopDetailMapper.xml
  31. 2 2
      yami-shop-user/yami-shop-user-api/src/main/java/com/yami/shop/user/api/controller/UserScoreController.java

+ 3 - 4
yami-shop-api/src/main/java/com/yami/shop/api/controller/CategoryController.java

@@ -58,7 +58,6 @@ public class CategoryController {
                                                            @RequestParam(value = "current", defaultValue = "1") Integer current,
                                                            @RequestParam(value = "size", defaultValue = "10") Integer size) {
         IPage<Category> categories = shopCategoryService.listByParentIdAndShopId(parentId,shopId, current, size);
-//        List<CategoryDto> categoryDtos = mapperFacade.mapAsList(categories, CategoryDto.class);
         List<Category> records = categories.getRecords();
         List<CategoryDto> categoryDtos = new ArrayList<>(records.size());
         for (Category category : records) {
@@ -75,10 +74,10 @@ public class CategoryController {
     /**
      * 用户端根据商户ID查询所有分类信息
      * */
-    @GetMapping("/listCategoryForUser/{shopId}")
+    @GetMapping("/listCategoryForUser")
     @ApiOperation(value = "用户端根据商户ID查询所有分类信息")
-    public ResponseEntity<List<ListCategoryForUserVO>> listCategoryForUser(@PathVariable Long shopId){
-        return ResponseEntity.ok(categoryService.listCategoryForUser(shopId));
+    public ResponseEntity<List<ListCategoryForUserVO>> listCategoryForUser(@RequestParam Long channelId,@RequestParam Long shopId ){
+        return ResponseEntity.ok(categoryService.listCategoryForUser(channelId,shopId));
     }
 
 }

+ 5 - 25
yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderController.java

@@ -78,8 +78,8 @@ public class OrderController {
     @ApiOperation(value = "结算,生成订单信息", notes = "传入下单所需要的参数进行下单")
     public ResponseEntity<ShopCartOrderMergerDto> confirm(@Valid @RequestBody OrderParam orderParam) {
         if (orderParam.getShopId() == null){
-            orderParam.setShopId(1L);
-//            throw new GlobalException("请选择店铺!");
+//            orderParam.setShopId(1L);
+            throw new GlobalException("请选择店铺!");
         }
         String userId = SecurityUtils.getUser().getUserId();
 
@@ -95,20 +95,8 @@ public class OrderController {
                     throw new GlobalException("当前选择的商品["+byIdss.getSkuName()+"]库存不足!");
                 }
 
-//                boolean skuStock = qnhService.getSkuStock(byIdss.getSkuCode(), byId.getProdId(), orderParam.getPlatform());
-//                Product byId1 = productService.getById(byId.getProdId(), orderParam.getPlatform());
-//
-//                if(byId1.getIsDelete() == 1 || byId1.getStatus() != 1){
-//                    throw new GlobalException("当前选择的商品"+byId1.getProdName() + "已下架!请重新选择商品!");
-//                }
-//
-//                productService.updateById(byId1);
-//                if (skuStock && byId1.getTotalStocks() < byId.getBasketCount()) {
-//                    throw new GlobalException("当前选择的规格库存不足!");
-//                }
             });
         }  else {
-
             ShopSku shopSku = shopSkuMapper.selectByShopAndSku(orderParam.getOrderItem().getSkuId(), orderParam.getShopId());
             if (shopSku.getShopSkuStocks()==null || shopSku.getShopSkuStocks()==0){
                 throw new GlobalException("商品:["+shopSku.getSkuName()+"]库存为空!请重新选择商品!");
@@ -116,14 +104,6 @@ public class OrderController {
             if (shopSku.getShopSkuStocks() < orderParam.getOrderItem().getProdCount()) {
                 throw new GlobalException("商品:["+shopSku.getSkuName()+"]库存不足!");
             }
-
-//            Sku byId = skuService.getById(orderParam.getOrderItem().getSkuId());
-//            boolean skuStock = qnhService.getSkuStock(byId.getSkuCode(), orderParam.getOrderItem().getProdId(), orderParam.getPlatform());
-//            Product byId1 = productService.getById(byId.getProdId(), orderParam.getPlatform());
-//            productService.updateById(byId1);
-//            if (skuStock && byId1.getTotalStocks() < orderParam.getOrderItem().getProdCount()) {
-//                throw new GlobalException("当前选择的规格库存不足!");
-//            }
         }
 
         // 订单的地址信息
@@ -132,7 +112,7 @@ public class OrderController {
         // 组装获取用户提交的购物车商品项
         OrderItemParam orderItem = orderParam.getOrderItem();
         if (null != orderItem) {
-            orderItem.setPlatform(orderParam.getPlatform());
+            orderItem.setChannelId(orderParam.getChannelId());
         }
 
         System.out.println("orderParam.getBasketIds()"+orderParam.getBasketIds());
@@ -145,7 +125,7 @@ public class OrderController {
         // 根据店铺组装购车中的商品信息,返回每个店铺中的购物车商品信息
         List<ShopCartDto> shopCarts = basketService.getShopCarts(shopCartItems, 0L);
 
-        Long point = pointsRecordMapper.statisticsPoint(userId, orderParam.getPlatform());
+        Long point = pointsRecordMapper.statisticsPoint(userId, orderParam.getChannelId());
         double v = 0.0;
         // 将要返回给前端的完整的订单信息
         ShopCartOrderMergerDto shopCartOrderMergerDto = new ShopCartOrderMergerDto();
@@ -316,7 +296,7 @@ public class OrderController {
                 }
             }
         }
-        mergerOrder.setPlatform(submitOrderParam.getPlatform());
+        mergerOrder.setChannelId(submitOrderParam.getChannelId());
         List<Order> orders = orderService.submit(userId, mergerOrder);
 
         StringBuilder orderNumbers = new StringBuilder();

+ 3 - 4
yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java

@@ -81,7 +81,7 @@ public class ProdController {
     @GetMapping("/prodInfo")
     @ApiOperation(value = "商品详情信息", notes = "根据商品ID(prodId)获取商品信息")
     @ApiImplicitParam(name = "prodId", value = "商品ID", required = true, dataType = "Long")
-    public ResponseEntity<ProductDto> prodInfo(@RequestParam("prodId") Long prodId, @RequestParam("platform") Long platform, @RequestParam("shopId") Long shopId) {
+    public ResponseEntity<ProductDto> prodInfo(@RequestParam("prodId") Long prodId, @RequestParam("channelId") Long channelId, @RequestParam("shopId") Long shopId) {
 
         YamiUser user = null;
         try {
@@ -99,7 +99,6 @@ public class ProdController {
                     int num = userShopBehaviorService.findByUserIdCount(userId);
                     if (num < 6) {
                         userShopBehavior = new UserShopBehavior();
-//                        userShopBehavior.setId(UUID.randomUUID().toString());
                         userShopBehavior.setUserId(userId);
                         userShopBehavior.setShopId(shopId);
                         userShopBehavior.setProdId(prodId);
@@ -125,12 +124,12 @@ public class ProdController {
             }
         }
 
-        Product product = prodService.getProductByProdId(prodId, platform, shopId);
+        Product product = prodService.getProductByProdId(prodId, channelId, shopId);
         if (product == null || product.getStatus() != 1) {
             throw new GlobalException("商品已下线");
         }
 
-        List<Sku> skuList = skuService.listByProdId(prodId, platform, shopId);
+        List<Sku> skuList = skuService.listByProdId(prodId, channelId, shopId);
         if (ObjectUtils.isNotEmpty(skuList)) {
             // 启用的sku列表
             List<Sku> useSkuList = skuList.stream().sorted(Comparator.comparing(

+ 7 - 7
yami-shop-api/src/main/java/com/yami/shop/api/controller/ShopCartController.java

@@ -88,9 +88,9 @@ public class ShopCartController {
      * @param shopCartParams 购物车参数对象列表
      * @return
      */
-    @PostMapping("/info/{platform}")
+    @PostMapping("/info/{channelId}")
     @ApiOperation(value = "获取用户购物车信息", notes = "获取用户购物车信息,参数为用户选中的活动项数组")
-    public ResponseEntity<List<ShopCartDto>> infoByPlatform(@RequestBody List<ShopCartParam> shopCartParams, @PathVariable("platform") Long platform) {
+    public ResponseEntity<List<ShopCartDto>> infoByChannelId(@RequestBody List<ShopCartParam> shopCartParams, @PathVariable("channelId") Long channelId) {
         String userId = SecurityUtils.getUser().getUserId();
 //        String userId = "5e31932043984353beb4c1a2622f5182";
 
@@ -100,7 +100,7 @@ public class ShopCartController {
         }
 
         // 拿到购物车的所有item
-        List<ShopCartItemDto> shopCartItems = basketService.getShopCartItems(userId, platform);
+        List<ShopCartItemDto> shopCartItems = basketService.getShopCartItems(userId, channelId);
         List<Long> prodIds = new ArrayList<>();
         for (ShopCartItemDto shopCartItemDto : shopCartItems) {
             prodIds.add(shopCartItemDto.getProdId());
@@ -137,9 +137,9 @@ public class ShopCartController {
         }
 
         String userId = SecurityUtils.getUser().getUserId();
-        List<ShopCartItemDto> shopCartItems = basketService.getShopCartItems(userId, param.getPlatform());
+        List<ShopCartItemDto> shopCartItems = basketService.getShopCartItems(userId, param.getChannelId());
         Product prodParam = productService.getProductByProdId(param.getProdId());
-        Sku skuParam = skuService.getSkuBySkuId(param.getSkuId(), param.getPlatform(), param.getShopId());
+        Sku skuParam = skuService.getSkuBySkuId(param.getSkuId(), param.getChannelId(), param.getShopId());
 
         // 当商品状态不正常时,不能添加到购物车
         if (prodParam.getStatus() != 1 || skuParam.getStatus() != 1) {
@@ -183,9 +183,9 @@ public class ShopCartController {
 
     @GetMapping("/prodCount")
     @ApiOperation(value = "获取购物车商品数量", notes = "获取所有购物车商品数量")
-    public ResponseEntity<Integer> prodCount(@RequestParam("platform") Long platform) {
+    public ResponseEntity<Integer> prodCount(@RequestParam("channelId") Long channelId) {
         String userId = SecurityUtils.getUser().getUserId();
-        List<ShopCartItemDto> shopCartItems = basketService.getShopCartItems(userId, platform);
+        List<ShopCartItemDto> shopCartItems = basketService.getShopCartItems(userId, channelId);
         if (CollectionUtil.isEmpty(shopCartItems)) {
             return ResponseEntity.ok(0);
         }

+ 5 - 5
yami-shop-api/src/main/java/com/yami/shop/api/controller/ShopDetailController.java

@@ -88,21 +88,21 @@ public class ShopDetailController {
     @GetMapping("/neighborShop")
     @ApiOperation("根据经纬度获取最近店铺")
     public ResponseEntity<ShopHeadInfoDto> neighborShop(@RequestParam("lat") String lat,
-                                                        @RequestParam("lon") String lon, @RequestParam("platform") Integer platform) {
-        return shopDetailService.neighborShop(lat, lon, platform);
+                                                        @RequestParam("lon") String lon, @RequestParam("channelId") Long channelId) {
+        return shopDetailService.neighborShop(lat, lon, channelId);
     }
 
     @GetMapping("/addrShop")
     @ApiOperation("根据地址获取最近店铺")
-    public ResponseEntity<List<ShopHeadInfoDto>> neighborShopByAddr(@RequestParam("platform") Integer platform,
+    public ResponseEntity<List<ShopHeadInfoDto>> neighborShopByAddr(@RequestParam("channelId") Long channelId,
                                                                     @RequestParam(value = "addrId", required = false) Long addrId,
                                                                     @RequestParam(value = "lat", required = false) String lat,
                                                                     @RequestParam(value = "lon", required = false) String lon) {
         if (null == addrId) {
             if (null == lat || null == lon) throw new GlobalException("当地址id为空时,经纬度不能为空");
-            return shopDetailService.neighborShopList(lat, lon, platform);
+            return shopDetailService.neighborShopList(lat, lon, channelId);
         }
-        return shopDetailService.neighborShopByAddr(addrId, platform);
+        return shopDetailService.neighborShopByAddr(addrId, channelId);
     }
 
 }

+ 2 - 2
yami-shop-api/src/main/java/com/yami/shop/api/controller/UserRegisterController.java

@@ -177,7 +177,7 @@ public class UserRegisterController {
 
         Date now = new Date();
         if (user == null && StrUtil.isNotBlank(mobile)) {
-            user = userService.getOne(new LambdaQueryWrapper<User>().eq(User::getUserMobile, mobile).eq(User::getPlatform, userRegisterParam.getPlatform()));
+            user = userService.getOne(new LambdaQueryWrapper<User>().eq(User::getUserMobile, mobile).eq(User::getChannelId, userRegisterParam.getChannelId()));
         }
 
         // 新建用户
@@ -196,7 +196,7 @@ public class UserRegisterController {
             user.setUserRegtime(now);
             user.setUserRegip(IPHelper.getIpAddr());
             user.setStatus(1);
-			user.setPlatform(userRegisterParam.getPlatform());
+			user.setChannelId(userRegisterParam.getChannelId());
             user.setPic(userRegisterParam.getImg());
             user.setUserMobile(mobile);
             user.setUserName(userRegisterParam.getUserName());

+ 14 - 39
yami-shop-api/src/main/java/com/yami/shop/api/listener/ConfirmOrderListener.java

@@ -93,52 +93,27 @@ public class ConfirmOrderListener {
             shopCartOrderDto.setTotalWeight(Arith.add(shopCartOrderDto.getTotalWeight(), Arith.mul(shopCartItem.getWeight(), shopCartItem.getProdCount())));
         }
         //默认走即使配送
-
-//        if (userAddr != null && !Objects.equals(orderParam.getDvyType(), DvyType.FETCH.value())) {
         if (userAddr != null) {
             // 根据配送范围计算配送费,没超出就
-            TzTransportDto transport2 = transportManagerService.calculateTransfeeSecondTransport2(shopCartItems.get(0).getShopId(), userAddr, orderParam.getPlatform());
+            TzTransportDto transport2 = transportManagerService.calculateTransfeeSecondTransport2(shopCartItems.get(0).getShopId(), userAddr, orderParam.getChannelId());
             if (ObjectUtils.isEmpty(transport2)) throw new GlobalException("该渠道下的门店尚未配置可用运费模板");
-            switch (orderParam.getPlatform().byteValue()) {
-                case 1://企业用户,计算分单规则
-                    if (transport2.getTargetDistance() > transport2.getDistance()) {
-                        //超出配送范围使用快递
-                        orderParam.setDvyType(DvyType.DELIVERY.value());
-                    } else {
-                        //即时配送
-                        orderParam.setDvyType(DvyType.NOT_DELIVERY.value());
-                    }
-                    //费用按重量计算,数据是g,现在要按kg计算,20是kg单位
-                    Double totalWeight = shopCartOrderDto.getTotalWeight();
-                    Double deliveryWeight = Arith.mul(transport2.getWeight(), 1000);
-                    transfee = calcDeliveryFee(totalWeight, deliveryWeight, new BigDecimal(transport2.getFreightFee().doubleValue())).doubleValue();
-                    break;
-                case 2: //夫妻店,B端只走物流
-                    orderParam.setDvyType(DvyType.DELIVERY.value());
-                    //TODO 费用待定
-                    break;
-                case 3: // 市民请集合,C端。只走配送
-                    orderParam.setDvyType(DvyType.NOT_DELIVERY.value());
-                    //TODO 费用待定
-                    break;
+            //企业用户,计算分单规则
+            if (transport2.getTargetDistance() > transport2.getDistance()) {
+                //超出配送范围使用快递
+                orderParam.setDvyType(DvyType.DELIVERY.value());
+            } else {
+                //即时配送
+                orderParam.setDvyType(DvyType.NOT_DELIVERY.value());
             }
+            //费用按重量计算,数据是g,现在要按kg计算,20是kg单位
+            Double totalWeight = shopCartOrderDto.getTotalWeight();
+            Double deliveryWeight = Arith.mul(transport2.getWeight(), 1000);
+            transfee = calcDeliveryFee(totalWeight, deliveryWeight, new BigDecimal(transport2.getFreightFee().doubleValue())).doubleValue();
+
         }
 
 
         Double freeTransfee = 0.0;
-//        List<FreightFeeReduction> feeReductions = freightFeeReductionService.list(new LambdaQueryWrapper<FreightFeeReduction>()
-//                        .eq(FreightFeeReduction::getStatus, 1)
-//                        .ge(FreightFeeReduction::getEndTime, LocalDateTime.now())
-////                .orderByAsc(FreightFeeReduction::getEndTime)
-//        );
-//        if (!feeReductions.isEmpty()) {
-//            for (FreightFeeReduction feeReduction : feeReductions) {
-//                freeTransfee += Arith.add(feeReduction.getMoney().doubleValue(), freeTransfee);
-//            }
-//        }
-//        double sub = Arith.sub(transfee, freeTransfee);
-//        transfee = Math.signum(sub) < 0 ? 0 : sub;
-
         shopCartOrderDto.setTotal(total);
         shopCartOrderDto.setTotalCount(totalCount);
         shopCartOrderDto.setActualTotal(Arith.add(total, transfee));
@@ -155,6 +130,6 @@ public class ConfirmOrderListener {
     }
 
     public static void main(String[] args) {
-        System.out.println(calcDeliveryFee(80000.0,20000.0 , BigDecimal.valueOf(5.5)));
+        System.out.println(calcDeliveryFee(80000.0, 20000.0, BigDecimal.valueOf(5.5)));
     }
 }

+ 7 - 7
yami-shop-api/src/main/java/com/yami/shop/api/listener/SubmitOrderListener.java

@@ -109,7 +109,7 @@ public class SubmitOrderListener {
         //所有当前用户可用的积分记录
         List<PointsRecord> pointsRecords = pointsRecordMapper.selectList(new LambdaQueryWrapper<PointsRecord>()
                         .eq(PointsRecord::getUserId, userId)
-                        .eq(PointsRecord::getChannelId, mergerOrder.getPlatform())
+                        .eq(PointsRecord::getChannelId, mergerOrder.getChannelId())
                         .in(PointsRecord::getPointsType, Arrays.asList(1, 3))
                         .in(PointsRecord::getPointsAudit, Arrays.asList(1, 2)).and(wrapper -> wrapper
                                 .gt(PointsRecord::getExpiryDate, LocalDateTime.now())
@@ -131,7 +131,7 @@ public class SubmitOrderListener {
             // 每个店铺生成一个订单
             for (ShopCartOrderDto shopCartOrderDto : shopCartOrders) {
                 //兑换人民币是分,必须要实时统计计算
-                Long point = pointsRecordMapper.statisticsPoint(userId, mergerOrder.getPlatform());
+                Long point = pointsRecordMapper.statisticsPoint(userId, mergerOrder.getChannelId());
                 // 使用雪花算法生成的订单号
                 String orderNumber = String.valueOf(snowflake.nextId());
                 shopCartOrderDto.setOrderNumber(orderNumber);
@@ -145,7 +145,7 @@ public class SubmitOrderListener {
                 //这个运费是已经算过的了
                 double actualTotal = shopCartOrderDto.getActualTotal();
                 //企业用户才进这个判断,并且该用户的积分必须大于0
-                if (1 == mergerOrder.getPlatform() && null != point && point > 0) {
+                if (1 == mergerOrder.getChannelId() && null != point && point > 0) {
                     order.setOrderType(OrderType.SCORE.value());
                     // 计算商品金额和积分
                     Double mul = Arith.mul(actualTotal, 100);
@@ -178,7 +178,7 @@ public class SubmitOrderListener {
                 for (ShopCartItemDiscountDto shopCartItemDiscount : shopCartItemDiscounts) {
                     List<ShopCartItemDto> shopCartItems = shopCartItemDiscount.getShopCartItems();
                     for (ShopCartItemDto shopCartItem : shopCartItems) {
-                        Sku sku = checkAndGetSku(shopCartItem.getSkuId(), mergerOrder.getPlatform(), shopCartItem, skuStocksMap);
+                        Sku sku = checkAndGetSku(shopCartItem.getSkuId(), mergerOrder.getChannelId(), shopCartItem, skuStocksMap);
                         Product product = checkAndGetProd(shopCartItem.getProdId(), shopCartItem, prodStocksMap,shopId);
                         OrderItem orderItem = new OrderItem();
                         orderItem.setShopId(shopId);
@@ -199,7 +199,7 @@ public class SubmitOrderListener {
                         orderItem.setPlatformShareReduce(shopCartItem.getPlatformShareReduce());
                         Double actualItem = shopCartItem.getActualTotal();
                         //后台充值的积分
-                        if (1 == mergerOrder.getPlatform() && null != point && point > 0) {
+                        if (1 == mergerOrder.getChannelId() && null != point && point > 0) {
                             Double useActualItem = actualItem;
                             if (!isUseTransfee) {//每个订单增加运费,都只扣一次
                                 Double transfee = shopCartOrderDto.getTransfee();
@@ -207,7 +207,7 @@ public class SubmitOrderListener {
                                 isUseTransfee = Boolean.TRUE;
                             }
                             //把钱换算成积分
-                            actualItem = this.doGetOrderItemPoints(Arith.mul(useActualItem, 100), expiryQueue, orderNumber, userId, mergerOrder.getPlatform());
+                            actualItem = this.doGetOrderItemPoints(Arith.mul(useActualItem, 100), expiryQueue, orderNumber, userId, mergerOrder.getChannelId());
                             //把积分换算成钱
                             if (actualItem > 0) {
                                 actualItem = Arith.div(actualItem, 100);
@@ -250,7 +250,7 @@ public class SubmitOrderListener {
                 // 实际总额
                 order.setActualTotal(actualTotal);
                 order.setNextPay(sumItemA > 0);//true是需要微信支付
-                order.setChannelId(Long.valueOf(mergerOrder.getPlatform()));
+                order.setChannelId(Long.valueOf(mergerOrder.getChannelId()));
                 order.setUpdateTime(now);
                 order.setCreateTime(now);
                 order.setDeleteStatus(0);

+ 2 - 1
yami-shop-api/src/main/resources/application.yml

@@ -56,9 +56,10 @@ management:
     add-application-context-header: false
 server:
   tomcat:
-    basedir: /temp
+    basedir:   /temp
 # 用于雪花算法生成id
 application:
+
   datacenterId: 1
   workerId: 1
 

+ 1 - 1
yami-shop-bean/src/main/java/com/yami/shop/bean/app/dto/ShopCartOrderMergerDto.java

@@ -80,7 +80,7 @@ public class ShopCartOrderMergerDto implements Serializable {
     @ApiModelProperty(value = "配送类型 1:快递 2:自提 3:无需快递")
     private Integer dvyType;
 
-    private Long platform;
+    private Long channelId;
 
     private Double weight;
 

+ 1 - 1
yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/ChangeShopCartParam.java

@@ -44,5 +44,5 @@ public class ChangeShopCartParam {
     private String distributionCardNo;
 
     @ApiModelProperty(value = "渠道id")
-    private Long platform;
+    private Long channelId;
 }

+ 1 - 1
yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderItemParam.java

@@ -41,5 +41,5 @@ public class OrderItemParam {
 	@ApiModelProperty(value = "推广员使用的推销卡号")
 	private String distributionCardNo;
 
-	private Long platform;
+	private Long channelId;
 }

+ 1 - 1
yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderParam.java

@@ -52,7 +52,7 @@ public class OrderParam {
 	private Integer userUseScore;
 
 	@ApiModelProperty(value = "渠道标识")
-	private Long platform;
+	private Long channelId;
 
     @ApiModelProperty(value = "门店ID")
     private Long shopId;

+ 2 - 2
yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/SearchParam.java

@@ -62,7 +62,7 @@ public class SearchParam {
     @ApiModelProperty("距离")
     private String distance;
 
-    @ApiModelProperty("平台")
-    private Integer platform;
+//    @ApiModelProperty("平台")
+//    private Integer platform;
 
 }

+ 1 - 1
yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/SubmitOrderParam.java

@@ -24,7 +24,7 @@ public class SubmitOrderParam {
     @ApiModelProperty(value = "每次订单提交时的uuid")
     private String uuid;
     @ApiModelProperty(value = "渠道id")
-    private Long platform;
+    private Long channelId;
     @ApiModelProperty(value = "门店id")
     private Long shopId;
 

+ 1 - 1
yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/UserRegisterParam.java

@@ -59,6 +59,6 @@ public class UserRegisterParam {
     private Integer registerOrBind;
 
     @ApiModelProperty(value = "平台 1即使零售企业用户 2夫妻店 3 市民请集合C端 ")
-    private Integer platform;
+    private Long channelId;
 
 }

+ 0 - 4
yami-shop-bean/src/main/java/com/yami/shop/bean/model/User.java

@@ -151,10 +151,6 @@ public class User implements Serializable {
     @TableField(exist = false)
     private String levelName;
 
-    /**
-     * 1铜仁移动(企业用户) 2夫妻店(B端) 3 市民请集合(C端)
-     */
-    private Integer platform;
 
     /**
      * 渠道ID

+ 1 - 1
yami-shop-service/src/main/java/com/yami/shop/dao/ShopCategoryMapper.java

@@ -47,7 +47,7 @@ public interface ShopCategoryMapper extends BaseMapper<ShopCategory> {
      * @param shopId 门店id
      * @return 门店对应分类
      */
-    List<ShopCategory> selectAppListAll(@Param("shopId") Long shopId);
+    List<ShopCategory> selectAppListAll(@Param("channelId") Long channelId, @Param("shopId") Long shopId);
     /**
      * 根据名称查询门店对应分类
      * @param shopId 门店id

+ 1 - 1
yami-shop-service/src/main/java/com/yami/shop/dao/ShopDetailMapper.java

@@ -70,7 +70,7 @@ public interface ShopDetailMapper extends BaseMapper<ShopDetail> {
     ShopDetail selectShopDetailById(@Param("shopId") Long shopId);
 
     List<ShopDetail> neighborShop(@Param("lat") String lat,
-                                  @Param("lon") String lon, @Param("platform") Integer platform);
+                                  @Param("lon") String lon, @Param("channelId") Long channelId);
 
 
 }

+ 1 - 1
yami-shop-service/src/main/java/com/yami/shop/service/CategoryService.java

@@ -77,6 +77,6 @@ public interface CategoryService extends IService<Category> {
 	/**
 	 * 用户端分类查询
 	 * */
-	List<ListCategoryForUserVO> listCategoryForUser(Long shopId);
+	List<ListCategoryForUserVO> listCategoryForUser(Long channelId,Long shopId);
 
 }

+ 3 - 3
yami-shop-service/src/main/java/com/yami/shop/service/ShopDetailService.java

@@ -106,8 +106,8 @@ public interface ShopDetailService extends IService<ShopDetail> {
 
     ResponseEntity<ShopHeadInfoDto> neighborShop(String lat, String lon);
 
-    ResponseEntity<ShopHeadInfoDto> neighborShop(String lat, String lon, Integer platform);
-    ResponseEntity<List<ShopHeadInfoDto>> neighborShopList(String lat, String lon, Integer platform);
+    ResponseEntity<ShopHeadInfoDto> neighborShop(String lat, String lon, Long channelId);
+    ResponseEntity<List<ShopHeadInfoDto>> neighborShopList(String lat, String lon, Long channelId);
 
-    ResponseEntity<List<ShopHeadInfoDto>> neighborShopByAddr(Long addr, Integer platform);
+    ResponseEntity<List<ShopHeadInfoDto>> neighborShopByAddr(Long addr, Long channelId);
 }

+ 1 - 1
yami-shop-service/src/main/java/com/yami/shop/service/impl/BasketServiceImpl.java

@@ -225,7 +225,7 @@ public class BasketServiceImpl extends ServiceImpl<BasketMapper, Basket> impleme
     @Override
     public ShopCartItemDto getShopCartItem(OrderItemParam orderItem) {
         //Integer platform, Long shopId
-        Sku sku = skuService.getSkuBySkuId(orderItem.getSkuId(), orderItem.getPlatform(), orderItem.getShopId());
+        Sku sku = skuService.getSkuBySkuId(orderItem.getSkuId(), orderItem.getChannelId(), orderItem.getShopId());
         if (sku == null) {
             throw new RuntimeException("订单包含无法识别的商品");
         }

+ 2 - 12
yami-shop-service/src/main/java/com/yami/shop/service/impl/CategoryServiceImpl.java

@@ -266,20 +266,10 @@ public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> i
     }
 
     @Override
-    public List<ListCategoryForUserVO> listCategoryForUser(Long shopId) {
-
-        List<ShopCategory> shopCategories = shopCategoryMapper.selectAppListAll(shopId);
-//        List<ShopCategory> shopCategories = shopCategoryMapper.selectList(new LambdaQueryWrapper<ShopCategory>()
-//                .eq(ShopCategory::getShopId, shopId)
-//                .eq(ShopCategory::getIsDelete, Boolean.FALSE)
-//                .orderByAsc(ShopCategory::getNum));
-//        if (CollectionUtil.isEmpty(shopCategories)) {
-//            return Collections.emptyList();
-//        }
-
+    public List<ListCategoryForUserVO> listCategoryForUser(Long channelId,Long shopId) {
+        List<ShopCategory> shopCategories = shopCategoryMapper.selectAppListAll(channelId,shopId);
         Map<Long, List<ShopCategory>> parentMap = shopCategories.stream()
                 .collect(Collectors.groupingBy(ShopCategory::getPid));
-
         // 初始层级为一级分类(grade = 1)
         return buildCategoryTree(parentMap.getOrDefault(0L, Collections.emptyList()), parentMap, 0);
     }

+ 2 - 2
yami-shop-service/src/main/java/com/yami/shop/service/impl/PointsRechargeServiceImpl.java

@@ -122,10 +122,10 @@ public class PointsRechargeServiceImpl extends ServiceImpl<PointsRechargeMapper,
                 CommonUtils.validateCondition(user == null,"员工手机号码不存在");
                 pointsRecharge.setUserId(user.getUserId());
                 CommonUtils.validateCondition(!userName.equals(user.getRealName()),"员工姓名不正确!");
-                CommonUtils.validateCondition(user.getPlatform() == null,"员工未绑定企业,不能导入积分!");
+                CommonUtils.validateCondition(user.getChannelId() == null,"员工未绑定企业,不能导入积分!");
                 //小程序注册未绑定企业没有绑定企业可以正常添加,绑定了必须相同
                 // 更安全的写法
-                CommonUtils.validateCondition(user.getPlatform() == null || !channel.getId().equals(user.getPlatform().longValue()), "该员工属于企业("+channel.getChannelName()+"),所属企业不匹配!");
+                CommonUtils.validateCondition(user.getChannelId() == null || !channel.getId().equals(user.getChannelId().longValue()), "该员工属于企业("+channel.getChannelName()+"),所属企业不匹配!");
 
 
                 pointsRecharge.setChannelId(channel.getId());

+ 63 - 54
yami-shop-service/src/main/java/com/yami/shop/service/impl/ProductServiceImpl.java

@@ -222,63 +222,72 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
 
     @Override
     public IPage<SearchProdDto> getSearchProdDtoPageByProdName(Page page, SearchParam searchParam) {
-        String lat = searchParam.getLat();
-        String lon = searchParam.getLon();
-        String distance = searchParam.getDistance();
 
-        if (StringUtils.isNotEmpty(lat) && StringUtils.isNotEmpty(lon) && StringUtils.isNotEmpty(distance)) {
-            List<ShopDetail> shopDetails = productMapper.queryShop(lat, lon, distance);
-            List<Long> shopIds = shopDetails.stream().map(ShopDetail::getShopId).collect(Collectors.toList());
-            if (CollectionUtil.isEmpty(shopDetails)) {
-                return new Page<>();
-            }
-            IPage<SearchProdDto> searchProdDtoPage = productMapper.getSearchProdDtoPageByProdNameNew(page, searchParam, shopIds);
-            for (SearchProdDto searchProdDto : searchProdDtoPage.getRecords()) {
-
-                List<SkuDto> skuList = skuMapper.listByProdId(searchProdDto.getProdId()).stream().map((sku) -> SkuDto.builder()
-                        .skuName(sku.getSkuName()).pic(sku.getPic()).skuScore(sku.getSkuScore()).price(sku.getPrice())
-                        .stocks(sku.getStocks()).properties(sku.getProperties()).skuId(sku.getSkuId())
-                        .build()).collect(Collectors.toList());
-                searchProdDto.setSkuList(skuList);
-                //计算出好评率
-                if (searchProdDto.getPraiseNumber() == 0 || searchProdDto.getProdCommNumber() == 0) {
-                    searchProdDto.setPositiveRating(0.0);
-                } else {
-                    searchProdDto.setPositiveRating(Arith.div(Arith.mul(searchProdDto.getPraiseNumber(), 100), searchProdDto.getProdCommNumber()));
-                }
-                //计算销量
-                searchProdDto.setSalesVolume(productMapper.getSalesVolume(searchProdDto.getProdId()));
-            }
-            return searchProdDtoPage;
+        if (searchParam.getShopId() == null){
+            return new Page<>();
         }
-        IPage<SearchProdDto> searchProdDtoPage = productMapper.getSearchProdDtoPageByProdName2(page, searchParam);
-        for (SearchProdDto searchProdDto : searchProdDtoPage.getRecords()) {
-            List<Sku> skus = skuMapper.listByProdId(searchProdDto.getProdId());
-            List<SkuDto> skuList = new ArrayList<>();
-            skus.forEach(sku -> {
-                SkuDto skuDto = new SkuDto();
-                skuDto.setSkuName(sku.getSkuName());
-                skuDto.setPic(sku.getPic());
-                skuDto.setSkuScore(sku.getSkuScore());
-                skuDto.setPrice(sku.getPrice());
-                skuDto.setStocks(sku.getStocks());
-                skuDto.setProperties(sku.getProperties());
-                skuDto.setSkuId(sku.getSkuId());
-                skuList.add(skuDto);
-            });
-            searchProdDto.setSkuList(skuList);
-            //计算出好评率
-            if (Objects.nonNull(searchProdDto.getPraiseNumber()) && Objects.nonNull(searchProdDto.getProdCommNumber())) {
-                if (searchProdDto.getPraiseNumber() == 0 || searchProdDto.getProdCommNumber() == 0) {
-                    searchProdDto.setPositiveRating(0.0);
-                } else {
-                    searchProdDto.setPositiveRating(Arith.div(Arith.mul(searchProdDto.getPraiseNumber(), 100), searchProdDto.getProdCommNumber()));
-                }
-                //计算销量
-                searchProdDto.setSalesVolume(productMapper.getSalesVolume(searchProdDto.getProdId()));
-            }
+        if (searchParam.getChannelId() == null){
+            searchParam.setChannelId(3L);
         }
-        return searchProdDtoPage;
+        return productMapper.getSearchProdDtoPageByProdName(page, searchParam);
+
+//        String lat = searchParam.getLat();
+//        String lon = searchParam.getLon();
+//        String distance = searchParam.getDistance();
+//
+//        if (StringUtils.isNotEmpty(lat) && StringUtils.isNotEmpty(lon) && StringUtils.isNotEmpty(distance)) {
+//            List<ShopDetail> shopDetails = productMapper.queryShop(lat, lon, distance);
+//            List<Long> shopIds = shopDetails.stream().map(ShopDetail::getShopId).collect(Collectors.toList());
+//            if (CollectionUtil.isEmpty(shopDetails)) {
+//                return new Page<>();
+//            }
+//            IPage<SearchProdDto> searchProdDtoPage = productMapper.getSearchProdDtoPageByProdNameNew(page, searchParam, shopIds);
+//            for (SearchProdDto searchProdDto : searchProdDtoPage.getRecords()) {
+//
+//                List<SkuDto> skuList = skuMapper.listByProdId(searchProdDto.getProdId()).stream().map((sku) -> SkuDto.builder()
+//                        .skuName(sku.getSkuName()).pic(sku.getPic()).skuScore(sku.getSkuScore()).price(sku.getPrice())
+//                        .stocks(sku.getStocks()).properties(sku.getProperties()).skuId(sku.getSkuId())
+//                        .build()).collect(Collectors.toList());
+//                searchProdDto.setSkuList(skuList);
+//                //计算出好评率
+//                if (searchProdDto.getPraiseNumber() == 0 || searchProdDto.getProdCommNumber() == 0) {
+//                    searchProdDto.setPositiveRating(0.0);
+//                } else {
+//                    searchProdDto.setPositiveRating(Arith.div(Arith.mul(searchProdDto.getPraiseNumber(), 100), searchProdDto.getProdCommNumber()));
+//                }
+//                //计算销量
+//                searchProdDto.setSalesVolume(productMapper.getSalesVolume(searchProdDto.getProdId()));
+//            }
+//            return searchProdDtoPage;
+//        }
+//        IPage<SearchProdDto> searchProdDtoPage = productMapper.getSearchProdDtoPageByProdName2(page, searchParam);
+//        for (SearchProdDto searchProdDto : searchProdDtoPage.getRecords()) {
+//            List<Sku> skus = skuMapper.listByProdId(searchProdDto.getProdId());
+//            List<SkuDto> skuList = new ArrayList<>();
+//            skus.forEach(sku -> {
+//                SkuDto skuDto = new SkuDto();
+//                skuDto.setSkuName(sku.getSkuName());
+//                skuDto.setPic(sku.getPic());
+//                skuDto.setSkuScore(sku.getSkuScore());
+//                skuDto.setPrice(sku.getPrice());
+//                skuDto.setStocks(sku.getStocks());
+//                skuDto.setProperties(sku.getProperties());
+//                skuDto.setSkuId(sku.getSkuId());
+//                skuList.add(skuDto);
+//            });
+//            searchProdDto.setSkuList(skuList);
+//            //计算出好评率
+//            if (Objects.nonNull(searchProdDto.getPraiseNumber()) && Objects.nonNull(searchProdDto.getProdCommNumber())) {
+//                if (searchProdDto.getPraiseNumber() == 0 || searchProdDto.getProdCommNumber() == 0) {
+//                    searchProdDto.setPositiveRating(0.0);
+//                } else {
+//                    searchProdDto.setPositiveRating(Arith.div(Arith.mul(searchProdDto.getPraiseNumber(), 100), searchProdDto.getProdCommNumber()));
+//                }
+//                //计算销量
+//                searchProdDto.setSalesVolume(productMapper.getSalesVolume(searchProdDto.getProdId()));
+//            }
+//        }
+//        return searchProdDtoPage;
     }
 
     @Override

+ 6 - 6
yami-shop-service/src/main/java/com/yami/shop/service/impl/ShopDetailServiceImpl.java

@@ -319,8 +319,8 @@ public class ShopDetailServiceImpl extends ServiceImpl<ShopDetailMapper, ShopDet
     }
 
     @Override
-    public ResponseEntity<ShopHeadInfoDto> neighborShop(String lat, String lon, Integer platform) {
-        List<ShopDetail> shopDetails = shopDetailMapper.neighborShop(lat, lon, platform);
+    public ResponseEntity<ShopHeadInfoDto> neighborShop(String lat, String lon, Long channelId) {
+        List<ShopDetail> shopDetails = shopDetailMapper.neighborShop(lat, lon, channelId);
         ShopHeadInfoDto dto = new ShopHeadInfoDto();
         if (ObjectUtils.isNotEmpty(shopDetails)) {
             dto.setShopId(shopDetails.get(0).getShopId());
@@ -332,8 +332,8 @@ public class ShopDetailServiceImpl extends ServiceImpl<ShopDetailMapper, ShopDet
     }
 
     @Override
-    public ResponseEntity<List<ShopHeadInfoDto>> neighborShopList(String lat, String lon, Integer platform) {
-        List<ShopHeadInfoDto> collect = shopDetailMapper.neighborShop(lat, lon, platform)
+    public ResponseEntity<List<ShopHeadInfoDto>> neighborShopList(String lat, String lon, Long channelId) {
+        List<ShopHeadInfoDto> collect = shopDetailMapper.neighborShop(lat, lon, channelId)
                 .stream().map((s) -> ShopHeadInfoDto.builder()
                         .shopId(s.getShopId())
                         .shopName(s.getShopName())
@@ -344,9 +344,9 @@ public class ShopDetailServiceImpl extends ServiceImpl<ShopDetailMapper, ShopDet
     }
 
     @Override
-    public ResponseEntity<List<ShopHeadInfoDto>> neighborShopByAddr(Long addr, Integer platform) {
+    public ResponseEntity<List<ShopHeadInfoDto>> neighborShopByAddr(Long addr, Long channelId) {
         UserAddr userAddr = userAddrMapper.selectById(addr);
-        List<ShopHeadInfoDto> collect = shopDetailMapper.neighborShop(userAddr.getLatitude().toString(), userAddr.getLongitude().toString(), platform)
+        List<ShopHeadInfoDto> collect = shopDetailMapper.neighborShop(userAddr.getLatitude().toString(), userAddr.getLongitude().toString(), channelId)
                 .stream().map((s) -> ShopHeadInfoDto.builder()
                         .shopId(s.getShopId())
                         .shopName(s.getShopName())

+ 2 - 2
yami-shop-service/src/main/java/com/yami/shop/service/impl/UserServiceImpl.java

@@ -179,7 +179,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             user.setStatus(1);
             user.setLevel(1);
             user.setLevelType(0);
-            user.setPlatform(Integer.valueOf(po.getChannelId().toString()));
+            user.setChannelId(po.getChannelId());
             user.setChannelId(po.getChannelId());
             user.setUserId(IdUtil.simpleUUID());
             save(user);
@@ -211,7 +211,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             user.setStatus(1);
             user.setLevel(1);
             user.setLevelType(0);
-            user.setPlatform(Integer.valueOf(po.getChannelId().toString()));
+            user.setChannelId(po.getChannelId());
             user.setChannelId(po.getChannelId());
             user.setUserId(IdUtil.simpleUUID());
             save(user);

+ 25 - 51
yami-shop-service/src/main/resources/mapper/ProductMapper.xml

@@ -293,58 +293,32 @@
     </select>
 
     <select id="getSearchProdDtoPageByProdName" resultType="com.yami.shop.bean.dto.SearchProdDto">
-        select
-        any_value(p.prod_id) as prod_id,
-        any_value(p.pic) as pic,
-        any_value(p.prod_name) as prod_name,
-        any_value(p.price) as price,
-        any_value(p.brief) as brief,
-        any_value(p.shop_id) as shopId,
-        count(pc.prod_comm_id) as prod_comm_number,
-        count( CASE WHEN evaluate = 0 THEN prod_comm_id ELSE null END ) AS praise_number
-        from
-        tz_prod p
-        left join tz_prod_comm pc on p.prod_id=pc.prod_id and pc.`status`=1
-        where 1 = 1 and p.`status` = 1 and p.`is_delete`=0
-        <if test="searchParam.prodName != null and searchParam.prodName != ''">
-            and prod_name like concat('%',#{searchParam.prodName} ,'%')
-        </if>
-        <if test="searchParam.shopId != null">
-            and p.shop_id = #{searchParam.shopId}
-        </if>
-
-        <if test="searchParam.categoryId != null">
-            and p.category_id = #{searchParam.categoryId}
-        </if>
-        <if test="searchParam.shopCategoryId != null">
-            and p.shop_category_id = #{searchParam.shopCategoryId}
-        </if>
-        <if test="searchParam.prodType != null and searchParam.isAllProdType == null">
-            and p.prod_type = #{searchParam.prodType}
-        </if>
-        <if test="searchParam.isAllProdType == true">
-            and p.prod_type in (0,1,2)
-        </if>
+        SELECT
+            p.prod_id,
+            p.prod_name,
+            p.pic,
+            ss.shop_id AS shop_id,
+            SUM(ss.shop_sku_stocks) AS stocks,
+            MIN(cp.channel_prod_price) AS price,
+            COALESCE(SUM(oi.prod_count), 0) -
+            COALESCE(SUM(refund.product_count), 0) AS net_sales_volume
+        FROM tz_prod p
+                 LEFT JOIN tz_sku sku ON p.prod_id = sku.prod_id AND sku.is_delete = 0
+                 INNER JOIN tz_shop_sku ss ON ss.sku_id = sku.sku_id AND ss.shop_id = #{searchParam.shopId} AND ss.is_delete = 0
+                 INNER JOIN tz_channel_prod cp ON sku.sku_id = cp.sku_id AND cp.shop_id = #{searchParam.shopId}  AND cp.channel_id = #{searchParam.channelId}  AND cp.is_delete = 0
+                 LEFT JOIN tz_order_item oi ON p.prod_id = oi.prod_id
+                 LEFT JOIN tz_order o ON oi.order_number = o.order_number and  o.shop_id = #{searchParam.shopId}  and o.channel_id = #{searchParam.channelId}
+            AND o.hb_order_status in (70,80)
+            AND o.delete_status = 0
+                 LEFT JOIN tz_order_refund_sku refund ON oi.order_item_id = refund.order_item_id
+            AND refund.order_refund_id IN (
+                SELECT refund_id FROM tz_order_refund
+                WHERE return_money_sts= 70
+            )
+        WHERE p.status = 1
+          AND p.is_delete = 0
         GROUP BY p.prod_id
-        <if test="searchParam.sort == 0">
-            ORDER BY any_value(p.update_time)
-        </if>
-        <if test="searchParam.sort == 1">
-            ORDER BY any_value(p.sold_num)
-        </if>
-        <if test="searchParam.sort == 2">
-            ORDER BY any_value(p.price)
-        </if>
-        <if test="searchParam.orderBy == 0">
-            asc
-        </if>
-        <if test="searchParam.orderBy == 1">
-            desc
-        </if>
-        <if test="searchParam.sort == 1">
-            , any_value(p.prod_id) DESC
-        </if>
-
+        ORDER BY net_sales_volume DESC
     </select>
 
     <select id="listByShopId" resultType="com.yami.shop.bean.app.dto.ProductDto">

+ 3 - 0
yami-shop-service/src/main/resources/mapper/ShopCategoryMapper.xml

@@ -18,6 +18,8 @@
         FROM tz_shop_category fc
         left join tz_category_prod cp on fc.code = cp.code  and cp.is_delete = 0 and cp.shop_id = #{shopId}
         left join tz_prod p on p.prod_id = cp.prod_id and p.is_delete = 0
+        LEFT JOIN tz_sku sku ON p.prod_id = sku.prod_id AND sku.is_delete = 0
+        LEFT JOIN tz_channel_prod cha ON sku.sku_id = cha.sku_id AND cha.is_delete = 0 AND cha.shop_id = #{shopId} AND cha.channel_id =  #{channelId}
         left join tz_label tl on fc.label = tl.id
         WHERE fc.is_delete = 0 and fc.is_delete = 0
         and fc.shop_id = #{shopId}
@@ -27,6 +29,7 @@
         fc.level != 1
         AND p.prod_id IS NOT NULL
         AND cp.prod_id IS NOT NULL
+        AND cha.sku_id IS NOT NULL
         )
         )
         group by fc.id order by fc.num asc

+ 2 - 2
yami-shop-service/src/main/resources/mapper/ShopDetailMapper.xml

@@ -122,8 +122,8 @@
         right join tz_transport2 tp on tp.shop_id = sd.shop_id
         right join tz_channel_shop tcs on tcs.shop_id = sd.shop_id
         where shop_status = 1
-        <if test="null != platform">
-         and   tcs.`channel_id`= #{platform} and tcs.`is_delete`=0
+        <if test="null != channelId">
+         and   tcs.`channel_id`= #{channelId} and tcs.`is_delete`=0
         </if>
         order by
         distance

+ 2 - 2
yami-shop-user/yami-shop-user-api/src/main/java/com/yami/shop/user/api/controller/UserScoreController.java

@@ -63,9 +63,9 @@ public class UserScoreController {
 
     @GetMapping("/scoreInfo")
     @ApiOperation(value = "查看积分中心信息", notes = "查看积分中心信息")
-    public ResponseEntity<ScoreDataDto> scoreInfo(@RequestParam Long platform) {
+    public ResponseEntity<ScoreDataDto> scoreInfo(@RequestParam Long channelId) {
         String userId = SecurityUtils.getUser().getUserId();
-        return ResponseEntity.ok(userScoreDetailService.doGetUserScore(userId, platform));
+        return ResponseEntity.ok(userScoreDetailService.doGetUserScore(userId, channelId));
     }