Browse Source

下单门店库存管理

fubojin 2 weeks ago
parent
commit
1478c07e88
45 changed files with 269 additions and 174 deletions
  1. 1 1
      yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java
  2. 4 5
      yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderController.java
  3. 2 2
      yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdController.java
  4. 6 6
      yami-shop-api/src/main/java/com/yami/shop/api/controller/QnhController.java
  5. 2 2
      yami-shop-api/src/main/java/com/yami/shop/api/controller/ShopCartController.java
  6. 1 1
      yami-shop-api/src/main/java/com/yami/shop/api/listener/ConfirmOrderListener.java
  7. 11 11
      yami-shop-api/src/main/java/com/yami/shop/api/listener/SubmitOrderListener.java
  8. 1 1
      yami-shop-bean/src/main/java/com/yami/shop/bean/app/dto/ShopCartOrderMergerDto.java
  9. 1 1
      yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/ChangeShopCartParam.java
  10. 1 1
      yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderItemParam.java
  11. 1 1
      yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/OrderParam.java
  12. 1 1
      yami-shop-bean/src/main/java/com/yami/shop/bean/app/param/SubmitOrderParam.java
  13. 7 0
      yami-shop-bean/src/main/java/com/yami/shop/bean/vo/SimilarProdListVo.java
  14. 1 1
      yami-shop-delivery/yami-shop-delivery-comment/src/main/java/com/yami/shop/delivery/comment/dao/Transport2Mapper.java
  15. 1 1
      yami-shop-delivery/yami-shop-delivery-comment/src/main/java/com/yami/shop/delivery/comment/service/Transport2Service.java
  16. 1 1
      yami-shop-delivery/yami-shop-delivery-comment/src/main/java/com/yami/shop/delivery/comment/service/TransportManagerService.java
  17. 2 2
      yami-shop-delivery/yami-shop-delivery-comment/src/main/java/com/yami/shop/delivery/comment/service/impl/Transport2ServiceImpl.java
  18. 2 2
      yami-shop-delivery/yami-shop-delivery-comment/src/main/java/com/yami/shop/delivery/comment/service/impl/TransportManagerServiceImpl.java
  19. 1 1
      yami-shop-delivery/yami-shop-delivery-comment/src/main/resources/mapper/Transport2Mapper.xml
  20. 2 2
      yami-shop-groupbuy/yami-shop-groupbuy-comment/src/main/java/com/yami/shop/groupbuy/comment/service/impl/GroupOrderServiceImpl.java
  21. 1 1
      yami-shop-service/src/main/java/com/yami/shop/dao/BasketMapper.java
  22. 3 3
      yami-shop-service/src/main/java/com/yami/shop/dao/PointsRecordMapper.java
  23. 3 1
      yami-shop-service/src/main/java/com/yami/shop/dao/ProductMapper.java
  24. 3 3
      yami-shop-service/src/main/java/com/yami/shop/dao/SkuMapper.java
  25. 1 1
      yami-shop-service/src/main/java/com/yami/shop/service/BasketService.java
  26. 2 2
      yami-shop-service/src/main/java/com/yami/shop/service/IQnhService.java
  27. 3 2
      yami-shop-service/src/main/java/com/yami/shop/service/ProductService.java
  28. 3 3
      yami-shop-service/src/main/java/com/yami/shop/service/SkuService.java
  29. 2 2
      yami-shop-service/src/main/java/com/yami/shop/service/impl/BasketServiceImpl.java
  30. 5 4
      yami-shop-service/src/main/java/com/yami/shop/service/impl/OrderServiceImpl.java
  31. 1 1
      yami-shop-service/src/main/java/com/yami/shop/service/impl/PointsRechargeServiceImpl.java
  32. 1 1
      yami-shop-service/src/main/java/com/yami/shop/service/impl/PointsRecordServiceImpl.java
  33. 16 7
      yami-shop-service/src/main/java/com/yami/shop/service/impl/ProductServiceImpl.java
  34. 56 57
      yami-shop-service/src/main/java/com/yami/shop/service/impl/QnhServiceImpl.java
  35. 6 6
      yami-shop-service/src/main/java/com/yami/shop/service/impl/SkuServiceImpl.java
  36. 1 1
      yami-shop-service/src/main/resources/mapper/BasketMapper.xml
  37. 8 8
      yami-shop-service/src/main/resources/mapper/PointsFailureRecordMapper.xml
  38. 4 4
      yami-shop-service/src/main/resources/mapper/PointsRecordMapper.xml
  39. 80 3
      yami-shop-service/src/main/resources/mapper/ProductMapper.xml
  40. 5 5
      yami-shop-service/src/main/resources/mapper/ShopSkuMapper.xml
  41. 3 3
      yami-shop-service/src/main/resources/mapper/SkuMapper.xml
  42. 2 2
      yami-shop-user/yami-shop-user-api/src/main/java/com/yami/shop/user/api/controller/UserScoreController.java
  43. 2 2
      yami-shop-user/yami-shop-user-comment/src/main/java/com/yami/shop/user/comment/service/UserScoreDetailService.java
  44. 4 4
      yami-shop-user/yami-shop-user-comment/src/main/java/com/yami/shop/user/comment/service/impl/ScoreOrderServiceImpl.java
  45. 5 5
      yami-shop-user/yami-shop-user-comment/src/main/java/com/yami/shop/user/comment/service/impl/UserScoreDetailServiceImpl.java

+ 1 - 1
yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java

@@ -167,7 +167,7 @@ public class MyOrderController {
         orderShopDto.setPayType(order.getPayType());
         orderShopDto.setTransfee(order.getFreightAmount());
 //        Math.abs
-        Long l = pointsRecordMapper.statisticsPoint(userId, Math.toIntExact(order.getChannelId()));
+        Long l = pointsRecordMapper.statisticsPoint(userId, order.getChannelId());
         //当前剩余总可用的积分
         orderShopDto.setTotalAvailableScore(l);
         if (null != order.getOffsetPoints()) {

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

@@ -89,10 +89,10 @@ public class OrderController {
                 Sku byIdss = skuService.getById(byId);
                 ShopSku shopSku = shopSkuMapper.selectByShopAndSku(byIdss.getSkuId(), orderParam.getShopId());
                 if (shopSku.getShopSkuStocks()==null || shopSku.getShopSkuStocks()==0){
-                    throw new GlobalException("当前选择的商品库存为空!请重新选择商品!");
+                    throw new GlobalException("当前选择的商品["+byIdss.getSkuName()+"]库存为空!请重新选择商品!");
                 }
                 if (shopSku.getShopSkuStocks() <  byId.getBasketCount()) {
-                    throw new GlobalException("当前选择的商品库存不足!");
+                    throw new GlobalException("当前选择的商品["+byIdss.getSkuName()+"]库存不足!");
                 }
 
 //                boolean skuStock = qnhService.getSkuStock(byIdss.getSkuCode(), byId.getProdId(), orderParam.getPlatform());
@@ -111,10 +111,10 @@ public class OrderController {
 
             ShopSku shopSku = shopSkuMapper.selectByShopAndSku(orderParam.getOrderItem().getSkuId(), orderParam.getShopId());
             if (shopSku.getShopSkuStocks()==null || shopSku.getShopSkuStocks()==0){
-                throw new GlobalException("当前选择的商品库存为空!请重新选择商品!");
+                throw new GlobalException("商品:["+shopSku.getSkuName()+"]库存为空!请重新选择商品!");
             }
             if (shopSku.getShopSkuStocks() < orderParam.getOrderItem().getProdCount()) {
-                throw new GlobalException("当前选择的商品库存不足!");
+                throw new GlobalException("商品:["+shopSku.getSkuName()+"]库存不足!");
             }
 
 //            Sku byId = skuService.getById(orderParam.getOrderItem().getSkuId());
@@ -301,7 +301,6 @@ public class OrderController {
         if (mergerOrder == null) {
             throw new GlobalException("订单已过期,请重新下单");
         }
-
         // 校验商品是否删除
 
 

+ 2 - 2
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") Integer platform, @RequestParam("shopId") Long shopId) {
+    public ResponseEntity<ProductDto> prodInfo(@RequestParam("prodId") Long prodId, @RequestParam("platform") Long platform, @RequestParam("shopId") Long shopId) {
 
         YamiUser user = null;
         try {
@@ -125,7 +125,7 @@ public class ProdController {
             }
         }
 
-        Product product = prodService.getProductByProdId(prodId, platform);
+        Product product = prodService.getProductByProdId(prodId, platform, shopId);
         if (product == null || product.getStatus() != 1) {
             throw new GlobalException("商品已下线");
         }

+ 6 - 6
yami-shop-api/src/main/java/com/yami/shop/api/controller/QnhController.java

@@ -34,12 +34,12 @@ public class QnhController {
     public void synchronizedInfo() {
          qnhService.synchronizedInfo();
     }
-    @ApiOperation("更新库存")
-    @GetMapping("/getSkuStock")
-    public ResponseEntity<Boolean> getSkuStock(@RequestParam String skuCode,@RequestParam Long prodId) {
-        qnhService.getSkuStock(skuCode,prodId);
-        return ResponseEntity.ok(true);
-    }
+//    @ApiOperation("更新库存")
+//    @GetMapping("/getSkuStock")
+//    public ResponseEntity<Boolean> getSkuStock(@RequestParam String skuCode,@RequestParam Long prodId) {
+//        qnhService.getSkuStock(skuCode,prodId);
+//        return ResponseEntity.ok(true);
+//    }
     @ApiOperation("被动接受库存商品信息")
     @PostMapping("/data/noticeProductInfo")
     public ResponseEntity<String> noticeProductInfo(@RequestBody Object object) {

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

@@ -90,7 +90,7 @@ public class ShopCartController {
      */
     @PostMapping("/info/{platform}")
     @ApiOperation(value = "获取用户购物车信息", notes = "获取用户购物车信息,参数为用户选中的活动项数组")
-    public ResponseEntity<List<ShopCartDto>> infoByPlatform(@RequestBody List<ShopCartParam> shopCartParams, @PathVariable("platform") Integer platform) {
+    public ResponseEntity<List<ShopCartDto>> infoByPlatform(@RequestBody List<ShopCartParam> shopCartParams, @PathVariable("platform") Long platform) {
         String userId = SecurityUtils.getUser().getUserId();
 //        String userId = "5e31932043984353beb4c1a2622f5182";
 
@@ -183,7 +183,7 @@ public class ShopCartController {
 
     @GetMapping("/prodCount")
     @ApiOperation(value = "获取购物车商品数量", notes = "获取所有购物车商品数量")
-    public ResponseEntity<Integer> prodCount(@RequestParam("platform") Integer platform) {
+    public ResponseEntity<Integer> prodCount(@RequestParam("platform") Long platform) {
         String userId = SecurityUtils.getUser().getUserId();
         List<ShopCartItemDto> shopCartItems = basketService.getShopCartItems(userId, platform);
         if (CollectionUtil.isEmpty(shopCartItems)) {

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

@@ -99,7 +99,7 @@ public class ConfirmOrderListener {
             // 根据配送范围计算配送费,没超出就
             TzTransportDto transport2 = transportManagerService.calculateTransfeeSecondTransport2(shopCartItems.get(0).getShopId(), userAddr, orderParam.getPlatform());
             if (ObjectUtils.isEmpty(transport2)) throw new GlobalException("该渠道下的门店尚未配置可用运费模板");
-            switch (orderParam.getPlatform()) {
+            switch (orderParam.getPlatform().byteValue()) {
                 case 1://企业用户,计算分单规则
                     if (transport2.getTargetDistance() > transport2.getDistance()) {
                         //超出配送范围使用快递

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

@@ -179,7 +179,7 @@ public class SubmitOrderListener {
                     List<ShopCartItemDto> shopCartItems = shopCartItemDiscount.getShopCartItems();
                     for (ShopCartItemDto shopCartItem : shopCartItems) {
                         Sku sku = checkAndGetSku(shopCartItem.getSkuId(), mergerOrder.getPlatform(), shopCartItem, skuStocksMap);
-                        Product product = checkAndGetProd(shopCartItem.getProdId(), shopCartItem, prodStocksMap);
+                        Product product = checkAndGetProd(shopCartItem.getProdId(), shopCartItem, prodStocksMap,shopId);
                         OrderItem orderItem = new OrderItem();
                         orderItem.setShopId(shopId);
                         orderItem.setOrderNumber(orderNumber);
@@ -291,8 +291,8 @@ public class SubmitOrderListener {
     }
 
     @SuppressWarnings({"Duplicates"})
-    private Product checkAndGetProd(Long prodId, ShopCartItemDto shopCartItem, Map<Long, Product> prodStocksMap) {
-        Product product = productService.getProductByProdId(prodId);
+    private Product checkAndGetProd(Long prodId, ShopCartItemDto shopCartItem, Map<Long, Product> prodStocksMap,Long shopId) {
+        Product product = productService.getProductByProdIdAndShopId(prodId, shopId);
         if (product == null) {
             throw new GlobalException("购物车包含无法识别的商品");
         }
@@ -319,7 +319,7 @@ public class SubmitOrderListener {
 
         // -1为无限库存
         if (product.getTotalStocks() != -1 && mapProduct.getTotalStocks() > product.getTotalStocks()) {
-            throw new GlobalException("商品:[" + product.getProdName() + "]库存不足");
+            throw new GlobalException("商品:[" + product.getProdName() + "]库存不足5");
         }
 
         return product;
@@ -338,7 +338,7 @@ public class SubmitOrderListener {
         }
         // -1为无限库存
         if (sku.getActualStocks() != -1 && shopCartItem.getProdCount() > sku.getActualStocks()) {
-            throw new GlobalException("商品:[" + sku.getProdName() + "]库存不足");
+            throw new GlobalException("商品:[" + sku.getProdName() + "]库存不足6");
         }
 
         if (sku.getActualStocks() != -1) {
@@ -354,9 +354,9 @@ public class SubmitOrderListener {
     }
 
     @SuppressWarnings({"Duplicates"})
-    private Sku checkAndGetSku(Long skuId, Integer platform, ShopCartItemDto shopCartItem, Map<Long, Sku> skuStocksMap) {
+    private Sku checkAndGetSku(Long skuId, Long channelId, ShopCartItemDto shopCartItem, Map<Long, Sku> skuStocksMap) {
         // 获取sku信息
-        Sku sku = skuService.getSkuBySkuId(skuId, platform, shopCartItem.getShopId());
+        Sku sku = skuService.getSkuBySkuId(skuId, channelId, shopCartItem.getShopId());
         if (sku == null) {
             throw new GlobalException("购物车包含无法识别的商品");
         }
@@ -366,7 +366,7 @@ public class SubmitOrderListener {
         }
         // -1为无限库存
         if (sku.getActualStocks() != -1 && shopCartItem.getProdCount() > sku.getActualStocks()) {
-            throw new GlobalException("商品:[" + sku.getProdName() + "]库存不足");
+            throw new GlobalException("商品:[" + sku.getProdName() + "]库存不足7");
         }
 
         if (sku.getActualStocks() != -1) {
@@ -382,11 +382,11 @@ public class SubmitOrderListener {
     }
 
 
-    private Double doGetOrderItemPoints(Double actualTotal, ArrayDeque<PointsRecord> expiryQueue, String orderNumber, String userId, Integer platform) {
+    private Double doGetOrderItemPoints(Double actualTotal, ArrayDeque<PointsRecord> expiryQueue, String orderNumber, String userId, Long channelId) {
         PointsRecord pointsRecord = expiryQueue.poll();
         PointsRecord pr = new PointsRecord();
         if (pointsRecord != null) {
-            Long point = pointsRecordMapper.statisticsPoint(userId, platform);
+            Long point = pointsRecordMapper.statisticsPoint(userId, channelId);
             //判定可用金额
             BigDecimal points = pointsRecord.getPoints() != null ? pointsRecord.getPoints() : BigDecimal.ZERO;
             BigDecimal variablePoints = pointsRecord.getVariablePoints() != null ? pointsRecord.getVariablePoints() : BigDecimal.ZERO;
@@ -428,7 +428,7 @@ public class SubmitOrderListener {
             }
             //  插入数据库
             if (actualTotal > 0.0) {
-                actualTotal = this.doGetOrderItemPoints(actualTotal, expiryQueue, orderNumber, userId, platform);
+                actualTotal = this.doGetOrderItemPoints(actualTotal, expiryQueue, orderNumber, userId, channelId);
             }
         }
         return actualTotal;

+ 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 Integer platform;
+    private Long platform;
 
     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 Integer platform;
+    private Long platform;
 }

+ 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 Integer platform;
+	private Long platform;
 }

+ 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 Integer platform;
+	private Long platform;
 
     @ApiModelProperty(value = "门店ID")
     private Long shopId;

+ 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 Integer platform;
+    private Long platform;
     @ApiModelProperty(value = "门店id")
     private Long shopId;
 

+ 7 - 0
yami-shop-bean/src/main/java/com/yami/shop/bean/vo/SimilarProdListVo.java

@@ -10,9 +10,12 @@
 
 package com.yami.shop.bean.vo;
 
+import com.yami.shop.bean.model.Sku;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 public class SimilarProdListVo {
 
@@ -30,4 +33,8 @@ public class SimilarProdListVo {
     private String channelProdPrice;
     @ApiModelProperty("库存")
     private String shopSkuStocks;
+
+    @ApiModelProperty("商品SKU")
+    private List<Sku> skuList;
+
 }

+ 1 - 1
yami-shop-delivery/yami-shop-delivery-comment/src/main/java/com/yami/shop/delivery/comment/dao/Transport2Mapper.java

@@ -32,7 +32,7 @@ public interface Transport2Mapper extends BaseMapper<Transport2> {
 
     ShopTransport findShopTransports(@Param("shopId") Long shopId);
 
-    Transport2 findByPlatform(Long platform);
+    Transport2 findByPlatform(Long channelId);
 
     IPage<Transport2> transport2List(@Param("page") PageParam<Transport2> page);
 

+ 1 - 1
yami-shop-delivery/yami-shop-delivery-comment/src/main/java/com/yami/shop/delivery/comment/service/Transport2Service.java

@@ -35,7 +35,7 @@ public interface Transport2Service extends IService<Transport2> {
 
     Transport2 findByDistance(Long shopId, Integer platform);
 
-    Transport2 findByPlatform(Long platform);
+    Transport2 findByPlatform(Long channelId);
 
     Transport2 findByDistance(Long shopId, Double distance, Double weight);
 

+ 1 - 1
yami-shop-delivery/yami-shop-delivery-comment/src/main/java/com/yami/shop/delivery/comment/service/TransportManagerService.java

@@ -30,7 +30,7 @@ public interface TransportManagerService {
 
     Double calculateTransfeeSecond2(Long shopId, UserAddr userAddr);
 
-    TzTransportDto calculateTransfeeSecondTransport2(Long shopId, UserAddr userAddr, Integer platform);
+    TzTransportDto calculateTransfeeSecondTransport2(Long shopId, UserAddr userAddr, Long channelId);
 
     Double calculateTransfeeSecond2(Long shopId, UserAddr userAddr, Double weight);
 

+ 2 - 2
yami-shop-delivery/yami-shop-delivery-comment/src/main/java/com/yami/shop/delivery/comment/service/impl/Transport2ServiceImpl.java

@@ -82,8 +82,8 @@ public class Transport2ServiceImpl extends ServiceImpl<Transport2Mapper, Transpo
     }
 
     @Override
-    public Transport2 findByPlatform(Long platform) {
-        return transportMapper.findByPlatform(platform);
+    public Transport2 findByPlatform(Long channelId) {
+        return transportMapper.findByPlatform(channelId);
     }
 
     @Override

+ 2 - 2
yami-shop-delivery/yami-shop-delivery-comment/src/main/java/com/yami/shop/delivery/comment/service/impl/TransportManagerServiceImpl.java

@@ -218,7 +218,7 @@ public class TransportManagerServiceImpl implements TransportManagerService {
     }
 
     @Override
-    public TzTransportDto calculateTransfeeSecondTransport2(Long shopId, UserAddr userAddr, Integer platform) {
+    public TzTransportDto calculateTransfeeSecondTransport2(Long shopId, UserAddr userAddr, Long channelId) {
         Double longitude = userAddr.getLongitude();
         Double latitude = userAddr.getLatitude();
         System.out.println("用户经度"+latitude);
@@ -234,7 +234,7 @@ public class TransportManagerServiceImpl implements TransportManagerService {
         double v = calculateDistance(latitude, longitude,
                 Double.parseDouble(shopDetailByShopId.getShopLat()), Double.parseDouble(shopDetailByShopId.getShopLng()));
         //Transport2 byDistance = transport2Service.findByDistance(shopId, platform);
-        Transport2 byDistance = transport2Service.findByPlatform(Long.valueOf(platform));
+        Transport2 byDistance = transport2Service.findByPlatform(channelId);
         System.out.println("byDistance"+byDistance);
 
         TzTransportDto tzTransportDto = new TzTransportDto();

+ 1 - 1
yami-shop-delivery/yami-shop-delivery-comment/src/main/resources/mapper/Transport2Mapper.xml

@@ -84,7 +84,7 @@
     <select id="findByPlatform" resultMap="BaseResultMap">
         SELECT *
         FROM tz_transport2 p
-        WHERE  p.channel_id = #{platform}
+        WHERE  p.channel_id = #{channelId}
         ORDER BY p.distance LIMIT 1
     </select>
 

+ 2 - 2
yami-shop-groupbuy/yami-shop-groupbuy-comment/src/main/java/com/yami/shop/groupbuy/comment/service/impl/GroupOrderServiceImpl.java

@@ -119,7 +119,7 @@ public class GroupOrderServiceImpl extends ServiceImpl<GroupOrderMapper, GroupOr
         calProd.setProdId(product.getProdId());
         calProd.setTotalStocks(hadConfirmOrder.getProdTotalCount());
         if (productMapper.updateStocks(calProd) == 0) {
-            throw new GlobalException("商品:[" + product.getProdName() + "]库存不足");
+            throw new GlobalException("商品:[" + product.getProdName() + "]库存不足8");
         }
 
         // 检验并更新商品规格
@@ -135,7 +135,7 @@ public class GroupOrderServiceImpl extends ServiceImpl<GroupOrderMapper, GroupOr
         sku.setStocks(hadConfirmOrder.getProdTotalCount());
         if (apiGroupSkuInfoDto.getStocks() != -1) {
             if (skuMapper.updateStocks(sku) <= 0) {
-                throw new GlobalException("商品:[" + apiGroupSkuInfoDto.getProdName() + "]库存不足");
+                throw new GlobalException("商品:[" + apiGroupSkuInfoDto.getProdName() + "]库存不足9");
             }
         }
         // 插入订单

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

@@ -22,7 +22,7 @@ public interface BasketMapper extends BaseMapper<Basket> {
 
     List<ShopCartItemDto> getShopCartItems(@Param("userId") String userId);
 
-    List<ShopCartItemDto> getShopCartItemsByPlatform(@Param("userId") String userId, @Param("platform") Integer platform);
+    List<ShopCartItemDto> getShopCartItemsByPlatform(@Param("userId") String userId, @Param("channelId") Long channelId);
 
     void deleteShopCartItemsByBasketIds(@Param("userId") String userId, @Param("basketIds") List<Long> basketIds);
 

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

@@ -18,12 +18,12 @@ import java.util.List;
  * @since 2025-09-XX
  */
 public interface PointsRecordMapper extends BaseMapper<PointsRecord> {
-    Long statisticsPoint(@Param("userId") String userId, @Param("platform") Integer platform);
-    ScoreDataDto statisticsAllScorePoint(@Param("userId") String userId, @Param("platform") Integer platform);
+    Long statisticsPoint(@Param("userId") String userId, @Param("channelId") Long channelId);
+    ScoreDataDto statisticsAllScorePoint(@Param("userId") String userId, @Param("channelId") Long channelId);
 
     List<PointsRecord> findByOrderNumber(@Param("orderNumber")String orderNumber,@Param("pointsType") Integer pointsType);
 
-    IPage<PointsRecord> findPage(PageParam<PointsRecord> page,@Param("userId") String userId,@Param("platform") Integer platform);
+    IPage<PointsRecord> findPage(PageParam<PointsRecord> page,@Param("userId") String userId,@Param("channelId") Long channelId);
 
     List<PointsRecord> findByExpiredPoints(@Param("today")Date today,@Param("yesterday") Date yesterday);
 

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

@@ -43,7 +43,9 @@ public interface ProductMapper extends BaseMapper<Product> {
 
     Product getProductByProdNameAndShopId(@Param("prodName") String prodName, @Param("shopId") Long shopId);
 
-    Product doGetById(@Param("prodId") Long prodId, @Param("platform") Integer platform);
+    Product doGetById(@Param("prodId") Long prodId, @Param("channelId") Long channelId, @Param("shopId") Long shopId);
+
+    Product doGetByShopId(@Param("prodId") Long prodId, @Param("shopId") Long shopId);
 
     void returnStock(@Param("prodCollect") Map<Long, Integer> prodCollect);
 

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

@@ -32,11 +32,11 @@ public interface SkuMapper extends BaseMapper<Sku> {
 
     List<Sku> listByProdId(@Param("prodId") Long prodId);
 
-    List<Sku> listByProdIdAndPlatform(@Param("prodId") Long prodId, @Param("platform") Integer platform, @Param("shopId") Long shopId);
+    List<Sku> listByProdIdAndPlatform(@Param("prodId") Long prodId, @Param("channelId") Long channelId, @Param("shopId") Long shopId);
 
-    Sku listBySukIdAndPlatformShop(@Param("skuId") Long skuId, @Param("platform") Integer platform, @Param("shopId") Long shopId);
+    Sku listBySukIdAndPlatformShop(@Param("skuId") Long skuId, @Param("channelId") Long channelId, @Param("shopId") Long shopId);
 
-    Sku listBySukIdAndPlatform(@Param("skuId") Long skuId, @Param("platform") Integer platform);
+    Sku listBySukIdAndPlatform(@Param("skuId") Long skuId, @Param("channelId") Long channelId);
 
     int updateStocks(@Param("sku") Sku sku);
 

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

@@ -35,7 +35,7 @@ public interface BasketService extends IService<Basket> {
 
     List<ShopCartItemDto> getShopCartItems(String userId);
 
-    List<ShopCartItemDto> getShopCartItems(String userId, Integer platform);
+    List<ShopCartItemDto> getShopCartItems(String userId, Long channelId);
 
     List<ShopCartItemDto> getShopCartExpiryItems(String userId);
 

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

@@ -37,9 +37,9 @@ public interface IQnhService {
 
     void synchronizedInfo();
 
-    boolean getSkuStock(String skuCode,Long prodId);
+//    boolean getSkuStock(String skuCode,Long prodId);
 
-    boolean getSkuStock(String skuCode,Long prodId,Integer platform);
+//    boolean getSkuStock(String skuCode,Long prodId,Integer platform);
 
     void noticeProductInfo(Object object);
 }

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

@@ -34,7 +34,7 @@ import java.util.List;
  */
 public interface ProductService extends IService<Product> {
 
-    Product getById(Long prodId, Integer platform);
+//    Product getById(Long prodId, Integer platform);
 
     /**
      * 保存商品
@@ -57,7 +57,8 @@ public interface ProductService extends IService<Product> {
      * @return
      */
     Product getProductByProdId(Long prodId);
-    Product getProductByProdId(Long prodId,Integer platform);
+    Product getProductByProdIdAndShopId(Long prodId, Long shopId);
+    Product getProductByProdId(Long prodId,Long channelId,Long shopId);
 
 
     void removeProductByProdId(Long prodId);

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

@@ -29,7 +29,7 @@ public interface SkuService extends IService<Sku> {
      * @param prodId 商品id
      * @return sku列表
      */
-    List<Sku> listByProdId(Long prodId, Integer platform, Long shopId);
+    List<Sku> listByProdId(Long prodId, Long channelId, Long shopId);
 
     /**
      * 根据商品id获取商品中的sku列表(将会被缓存起来)
@@ -53,7 +53,7 @@ public interface SkuService extends IService<Sku> {
      * @param skuId
      * @return
      */
-    Sku getSkuBySkuId(Long skuId, Integer platform, Long shopId);
+    Sku getSkuBySkuId(Long skuId, Long channelId, Long shopId);
 
     /**
      * 根据skuId获取sku信息(将会被缓存起来)
@@ -61,7 +61,7 @@ public interface SkuService extends IService<Sku> {
      * @param skuId
      * @return
      */
-    Sku getSkuBySkuId(Long skuId, Integer platform);
+    Sku getSkuBySkuId(Long skuId, Long channelId);
 
     void removeSkuCacheBySkuId(Long skuId, Long prodId);
 

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

@@ -111,14 +111,14 @@ public class BasketServiceImpl extends ServiceImpl<BasketMapper, Basket> impleme
     }
 
     @Override
-    public List<ShopCartItemDto> getShopCartItems(String userId, Integer platform) {
+    public List<ShopCartItemDto> getShopCartItems(String userId, Long channelId) {
         // 在这个类里面要调用这里的缓存信息,并没有使用aop,所以不使用注解
 //        List<ShopCartItemDto> shopCartItemDtoList = cacheManagerUtil.getCache("ShopCartItems", userId);
 //        List<ShopCartItemDto> shopCartItemDtoList = Lists.newArrayList();
 //        if (ObjectUtils.isNotEmpty(shopCartItemDtoList)) {
 //            return shopCartItemDtoList;
 //        }
-        List<ShopCartItemDto> shopCartItemDtoList = basketMapper.getShopCartItemsByPlatform(userId, platform);
+        List<ShopCartItemDto> shopCartItemDtoList = basketMapper.getShopCartItemsByPlatform(userId, channelId);
         for (ShopCartItemDto shopCartItemDto : shopCartItemDtoList) {
             shopCartItemDto.setProductTotalAmount(Arith.mul(shopCartItemDto.getProdCount(), shopCartItemDto.getPrice()));
             shopCartItemDto.setWeight(shopCartItemDto.getWeight());

+ 5 - 4
yami-shop-service/src/main/java/com/yami/shop/service/impl/OrderServiceImpl.java

@@ -221,6 +221,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             if (c.getDvyType().equals(1) && c.getHbOrderStatus()!=0) {
                 c.setHbOrderStatus(1);
             }
+            c.setProdName("");
             orderMapper.insert(c);
         });
         List<OrderItem> orderItems = orderList.stream()
@@ -288,7 +289,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                                 .isNull(PointsRecord::getExpiryDate)
                         ));
                 for (PointsRecord pointsRecord : pointsRecords) {
-                    Long l = pointsRecordMapper.statisticsPoint(pointsRecord.getUserId(), Math.toIntExact(pointsRecord.getChannelId()));
+                    Long l = pointsRecordMapper.statisticsPoint(pointsRecord.getUserId(), pointsRecord.getChannelId());
                     pointsRecord.setId(null);
                     pointsRecord.setCreationDate(new Date());
                     pointsRecord.setPoints(pointsRecord.getVariablePoints());
@@ -1021,7 +1022,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                                 npr.setPointsAudit(1);
                                 npr.setPoints(pointsRecord.getVariablePoints());
                                 npr.setVariablePoints(BigDecimal.valueOf(0));
-                                Long l = pointsRecordMapper.statisticsPoint(pointsRecord.getUserId(), Math.toIntExact(pointsRecord.getChannelId()));
+                                Long l = pointsRecordMapper.statisticsPoint(pointsRecord.getUserId(), pointsRecord.getChannelId());
                                 if (null == l) {
                                     l = 0L;
                                 }
@@ -1065,7 +1066,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                             npr.setPointsAudit(1);
                             npr.setPoints(pointsRecord.getVariablePoints());
                             npr.setVariablePoints(BigDecimal.valueOf(0));
-                            Long l = pointsRecordMapper.statisticsPoint(pointsRecord.getUserId(), Math.toIntExact(pointsRecord.getChannelId()));
+                            Long l = pointsRecordMapper.statisticsPoint(pointsRecord.getUserId(), pointsRecord.getChannelId());
                             if (null == l) {
                                 l = 0L;
                             }
@@ -1139,7 +1140,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                             BeanUtils.copyProperties(pointsRecord, npr);
                             npr.setId(null);
                             npr.setPointsType(3);
-                            Long l = pointsRecordMapper.statisticsPoint(pointsRecord.getUserId(), Math.toIntExact(pointsRecord.getChannelId()));
+                            Long l = pointsRecordMapper.statisticsPoint(pointsRecord.getUserId(), pointsRecord.getChannelId());
                             if (null == l) {
                                 l = 0L;
                             }

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

@@ -151,7 +151,7 @@ public class PointsRechargeServiceImpl extends ServiceImpl<PointsRechargeMapper,
                 pointsRecord.setCreationDate(new Date());
                 pointsRecord.setExpiryDate(pointsRecharge.getExpiryDate());
 
-                Long aLong = pointsRecordMapper.statisticsPoint(pointsRecord.getUserId(), Math.toIntExact(pointsRecord.getChannelId()));
+                Long aLong = pointsRecordMapper.statisticsPoint(pointsRecord.getUserId(), pointsRecord.getChannelId());
                 pointsRecord.setCurrentlyAvailablePoints(pointsRecord.getPoints().add(BigDecimal.valueOf(aLong == null ? 0 : aLong )));
 
                 pointsRecordService.save(pointsRecord);

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

@@ -50,7 +50,7 @@ public class PointsRecordServiceImpl extends ServiceImpl<PointsRecordMapper, Poi
         System.out.println("处理数据长度"+pointsRecords.size());
         for (PointsRecord pointsRecord : pointsRecords) {
             pointsRecord.setId(null);
-            Long l = pointsRecordMapper.statisticsPoint(pointsRecord.getUserId(), pointsRecord.getChannelId().intValue());
+            Long l = pointsRecordMapper.statisticsPoint(pointsRecord.getUserId(), pointsRecord.getChannelId());
             if (l==null){
                 pointsRecord.setCurrentlyAvailablePoints(BigDecimal.ZERO);
             }else {

+ 16 - 7
yami-shop-service/src/main/java/com/yami/shop/service/impl/ProductServiceImpl.java

@@ -76,10 +76,10 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
     private final OfflineHandleEventService offlineHandleEventService;
 
 
-    @Override
-    public Product getById(Long prodId, Integer platform) {
-        return productMapper.doGetById(prodId, platform);
-    }
+//    @Override
+//    public Product getById(Long prodId, Integer platform) {
+//        return productMapper.doGetById(prodId, platform);
+//    }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -150,8 +150,12 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
     }
 
     @Override
-    public Product getProductByProdId(Long prodId, Integer platform) {
-        return productMapper.doGetById(prodId, platform);
+    public Product getProductByProdId(Long prodId, Long channelId, Long shopId) {
+        return productMapper.doGetById(prodId, channelId, shopId);
+    }
+    @Override
+    public Product getProductByProdIdAndShopId(Long prodId, Long shopId) {
+        return productMapper.doGetByShopId(prodId, shopId);
     }
 
     @Override
@@ -752,7 +756,12 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
 
     @Override
     public IPage<SimilarProdListVo> similarProdList(Page<Product> page, Long prodId, Long shopId, Long channelId,String userId) {
-        return productMapper.similarProdList(page, prodId, shopId, channelId, userId);
+        IPage<SimilarProdListVo> similarProdListVoIPage = productMapper.similarProdList(page, prodId, shopId, channelId, userId);
+        similarProdListVoIPage.getRecords().forEach(similarProdListVo -> {
+            List<Sku> skuList = skuMapper.listByProdIdAndPlatform(similarProdListVo.getProdId(),channelId,shopId);
+            similarProdListVo.setSkuList(skuList);
+        });
+        return similarProdListVoIPage;
     }
 
     /**

+ 56 - 57
yami-shop-service/src/main/java/com/yami/shop/service/impl/QnhServiceImpl.java

@@ -155,62 +155,20 @@ public class QnhServiceImpl implements IQnhService {
         }
     }
 
-    @Override
-    public boolean getSkuStock(String skuCode, Long prodId) {
-        Sku one1 = skuService.getOne(Wrappers.<Sku>lambdaQuery().eq(Sku::getSkuCode, skuCode).eq(Sku::getProdId, prodId));
-        Map<String, Object> body = bulidMap();
-        if (null == one1) throw new GlobalException("请重新选择规格,该规格不存在!");
-        Product byId = productService.getById(prodId, 1);
-        ShopDetail shopDetail = shopDetailMapper.selectById(byId.getShopId());
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("page_no", 1);
-        if (ObjectUtils.isNotEmpty(shopDetail)) {
-            jsonObject.put("poi_code", shopDetail.getThirdPartyCode());
-        }
-        jsonObject.put("sku_code", skuCode);
-        jsonObject.put("page_size", 50);
-        HttpResponse execute = getExecute(body, jsonObject, GET_SKU_STOCK);
-        JSONObject result = JSONObject.parseObject(execute.body());
-        requestLogService.addLog(RequestLog.builder()
-                .resource("qnh")
-                .requestMethod("getSkuStock")
-                .requestParam(JSON.toJSONString(body))
-                .result(result.toJSONString())
-                .createTime(LocalDateTime.now()).build());
-        if (result.get("data") != null) {
-            JSONArray resultList = result.getJSONArray("data");
-            resultList.forEach(rowData -> {
-                JSONObject jsonObject1 = JSONObject.parseObject(rowData.toString());
-                one1.setStocks(jsonObject1.getBigDecimal("available_stock").intValue());
-                one1.setActualStocks(jsonObject1.getBigDecimal("available_stock").intValue());
-                skuService.updateById(one1);
-            });
-            return true;
-        } else {
-            throw new GlobalException(result.getString("msg"));
-        }
-    }
-
-    @Override
-    public boolean getSkuStock(String skuCode, Long prodId, Integer platform) {
-        Sku one1 = skuService.getOne(Wrappers.<Sku>lambdaQuery()
-                .eq(Sku::getSkuCode, skuCode)
-                .eq(Sku::getProdId, prodId));
-        Map<String, Object> body = bulidMap();
-        if (null == one1) throw new GlobalException("请重新选择规格,该规格不存在!");
-        Product byId = productService.getById(prodId, platform);
-        ShopDetail shopDetail = shopDetailMapper.selectById(byId.getShopId());
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("page_no", 1);
-        if (ObjectUtils.isNotEmpty(shopDetail)) {
-            jsonObject.put("poi_code", shopDetail.getThirdPartyCode());
-        }
-        ShopSku shopSku = shopSkuMapper.selectByShopAndSku(one1.getSkuId(), byId.getShopId());
-        jsonObject.put("sku_code", skuCode);
-        jsonObject.put("page_size", 50);
-        one1.setStocks(shopSku.getShopSkuStocks());
-        one1.setActualStocks(shopSku.getShopSkuStocks());
-        return Boolean.TRUE;
+//    @Override
+//    public boolean getSkuStock(String skuCode, Long prodId) {
+//        Sku one1 = skuService.getOne(Wrappers.<Sku>lambdaQuery().eq(Sku::getSkuCode, skuCode).eq(Sku::getProdId, prodId));
+//        Map<String, Object> body = bulidMap();
+//        if (null == one1) throw new GlobalException("请重新选择规格,该规格不存在!");
+//        Product byId = productService.getById(prodId, 1);
+//        ShopDetail shopDetail = shopDetailMapper.selectById(byId.getShopId());
+//        JSONObject jsonObject = new JSONObject();
+//        jsonObject.put("page_no", 1);
+//        if (ObjectUtils.isNotEmpty(shopDetail)) {
+//            jsonObject.put("poi_code", shopDetail.getThirdPartyCode());
+//        }
+//        jsonObject.put("sku_code", skuCode);
+//        jsonObject.put("page_size", 50);
 //        HttpResponse execute = getExecute(body, jsonObject, GET_SKU_STOCK);
 //        JSONObject result = JSONObject.parseObject(execute.body());
 //        requestLogService.addLog(RequestLog.builder()
@@ -231,7 +189,48 @@ public class QnhServiceImpl implements IQnhService {
 //        } else {
 //            throw new GlobalException(result.getString("msg"));
 //        }
-    }
+//    }
+
+//    @Override
+//    public boolean getSkuStock(String skuCode, Long prodId, Integer platform) {
+//        Sku one1 = skuService.getOne(Wrappers.<Sku>lambdaQuery()
+//                .eq(Sku::getSkuCode, skuCode)
+//                .eq(Sku::getProdId, prodId));
+//        if (null == one1) throw new GlobalException("请重新选择规格,该规格不存在!");
+//        Product byId = productService.getById(prodId, platform);
+//        ShopDetail shopDetail = shopDetailMapper.selectById(byId.getShopId());
+//        JSONObject jsonObject = new JSONObject();
+//        jsonObject.put("page_no", 1);
+//        if (ObjectUtils.isNotEmpty(shopDetail)) {
+//            jsonObject.put("poi_code", shopDetail.getThirdPartyCode());
+//        }
+//        ShopSku shopSku = shopSkuMapper.selectByShopAndSku(one1.getSkuId(), byId.getShopId());
+//        jsonObject.put("sku_code", skuCode);
+//        jsonObject.put("page_size", 50);
+//        one1.setStocks(shopSku.getShopSkuStocks());
+//        one1.setActualStocks(shopSku.getShopSkuStocks());
+//        return Boolean.TRUE;
+//        HttpResponse execute = getExecute(body, jsonObject, GET_SKU_STOCK);
+//        JSONObject result = JSONObject.parseObject(execute.body());
+//        requestLogService.addLog(RequestLog.builder()
+//                .resource("qnh")
+//                .requestMethod("getSkuStock")
+//                .requestParam(JSON.toJSONString(body))
+//                .result(result.toJSONString())
+//                .createTime(LocalDateTime.now()).build());
+//        if (result.get("data") != null) {
+//            JSONArray resultList = result.getJSONArray("data");
+//            resultList.forEach(rowData -> {
+//                JSONObject jsonObject1 = JSONObject.parseObject(rowData.toString());
+//                one1.setStocks(jsonObject1.getBigDecimal("available_stock").intValue());
+//                one1.setActualStocks(jsonObject1.getBigDecimal("available_stock").intValue());
+//                skuService.updateById(one1);
+//            });
+//            return true;
+//        } else {
+//            throw new GlobalException(result.getString("msg"));
+//        }
+//    }
 
     private HttpResponse getExecute(Map<String, Object> body, JSONObject jsonObject, String url) {
         body.put("data", jsonObject);

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

@@ -39,8 +39,8 @@ public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements SkuSe
     }
 
     @Override
-    public List<Sku> listByProdId(Long prodId, Integer platform, Long shopId) {
-        return skuMapper.listByProdIdAndPlatform(prodId, platform, shopId);
+    public List<Sku> listByProdId(Long prodId, Long channelId, Long shopId) {
+        return skuMapper.listByProdIdAndPlatform(prodId, channelId, shopId);
     }
 
     @Override
@@ -49,13 +49,13 @@ public class SkuServiceImpl extends ServiceImpl<SkuMapper, Sku> implements SkuSe
     }
 
     @Override
-    public Sku getSkuBySkuId(Long skuId, Integer platform, Long shopId) {
-        return skuMapper.listBySukIdAndPlatformShop(skuId, platform, shopId);
+    public Sku getSkuBySkuId(Long skuId, Long channelId, Long shopId) {
+        return skuMapper.listBySukIdAndPlatformShop(skuId, channelId, shopId);
     }
 
     @Override
-    public Sku getSkuBySkuId(Long skuId, Integer platform) {
-        return skuMapper.listBySukIdAndPlatform(skuId, platform);
+    public Sku getSkuBySkuId(Long skuId, Long channelId) {
+        return skuMapper.listBySukIdAndPlatform(skuId, channelId);
     }
 
     @Override

+ 1 - 1
yami-shop-service/src/main/resources/mapper/BasketMapper.xml

@@ -61,7 +61,7 @@
             tp.STATUS = 1
           AND ts.STATUS = 1
           AND tb.user_id = #{userId}
-          AND tcp.channel_id=#{platform}
+          AND tcp.channel_id=#{channelId}
           AND tcp.is_delete=0
         ORDER BY
             tb.`basket_id` DESC

+ 8 - 8
yami-shop-service/src/main/resources/mapper/PointsFailureRecordMapper.xml

@@ -7,21 +7,21 @@
         SELECT
         '导入积分' AS name,
         p.code,
-        max(p.create_time) AS createTime,
+        MAX(p.create_time) AS createTime,
         p.create_by AS createBy,
         p.channel_name AS channelName,
-        COUNT(IF(p.recharge_status = 1, 1, NULL)) AS successStatus,
-        COUNT(IF(p.recharge_status = 0, 1, NULL)) AS failureStatus,
+        COUNT(CASE WHEN p.recharge_status = 1 THEN 1 ELSE NULL END) AS successStatus,
+        COUNT(CASE WHEN p.recharge_status = 0 THEN 1 ELSE NULL END) AS failureStatus,
         u.username AS createByName,
         r.role_name AS createByRole
-        from tz_points_failure_record p
-        left join tz_sys_user u on p.create_by = u.user_id
-        left join tz_sys_user_role ur on u.user_id = ur.user_id
-        left join tz_sys_role r on ur.role_id = r.role_id
+        FROM tz_points_failure_record p
+        LEFT JOIN tz_sys_user u ON p.create_by = u.user_id
+        LEFT JOIN tz_sys_user_role ur ON u.user_id = ur.user_id
+        LEFT JOIN tz_sys_role r ON ur.role_id = r.role_id
         <where>
             <if test="channelId != null">p.channel_id = #{channelId}</if>
         </where>
-        order by p.create_time DESC
         GROUP BY p.code, p.create_by, p.channel_name, u.username, r.role_name
+        ORDER BY createTime DESC
     </select>
 </mapper>

+ 4 - 4
yami-shop-service/src/main/resources/mapper/PointsRecordMapper.xml

@@ -11,7 +11,7 @@
                ) AS total_available_points
         FROM tz_points_record
         WHERE user_id = #{userId}
-          AND channel_id = #{platform}
+          AND channel_id = #{channelId}
           AND points_type IN (1, 3)
           AND points_audit IN (1, 2)
           AND (expiry_date > NOW() OR expiry_date IS NULL)
@@ -55,7 +55,7 @@
               tz_points_record
           WHERE
           user_id = #{userId}
-          AND channel_id = #{platform}
+          AND channel_id = #{channelId}
           AND points_type IN (1, 2, 3)
       </select>
     <select id="findByOrderNumber" resultType="com.yami.shop.bean.model.PointsRecord">
@@ -68,9 +68,9 @@
     </select>
     <select id="findPage" resultType="com.yami.shop.bean.model.PointsRecord">
         select * from (
-        select id,user_id,channel_id,order_number,points_id,`code`,parent_code,points,variable_points,points_type,points_audit,expiry_date,creation_date,currently_available_points from tz_points_record where channel_id = #{platform}  and user_id = #{userId}
+        select id,user_id,channel_id,order_number,points_id,`code`,parent_code,points,variable_points,points_type,points_audit,expiry_date,creation_date,currently_available_points from tz_points_record where channel_id = #{channelId}  and user_id = #{userId}
         UNION ALL
-        SELECT id,user_id,channel_id,order_number,points_id,`code`,parent_code,points,variable_points, 4 as points_type,points_audit,expiry_date,creation_date,currently_available_points from tz_points_record where channel_id = #{platform}  and user_id = #{userId} and expiry_date &lt;=creation_date and points>0 and points_type =3
+        SELECT id,user_id,channel_id,order_number,points_id,`code`,parent_code,points,variable_points, 4 as points_type,points_audit,expiry_date,creation_date,currently_available_points from tz_points_record where channel_id = #{channelId}  and user_id = #{userId} and expiry_date &lt;=creation_date and points>0 and points_type =3
         ) a
         order by a.creation_date DESC,a.order_number
 

+ 80 - 3
yami-shop-service/src/main/resources/mapper/ProductMapper.xml

@@ -130,19 +130,96 @@
 
     <select id="doGetById" resultType="com.yami.shop.bean.model.Product">
         SELECT
-            tp.*,
+            tp.prod_id,
+            tp.prod_name,
+            tp.shop_id,
+            tp.brand_id,
+            tp.brand_name,
+            tp.ori_price,
+            tp.price,
+            tp.score_price,
+            tp.brief,
+            tp.video,
+            tp.pic,
+            tp.content,
+            tp.imgs,
+            tp.status,
+            tp.is_delete,
+            tp.shop_category_id,
+            tp.category_id,
+            tp.hb_front_category_id,
+            tp.sold_num,
+            tp.delivery_mode,
+            tp.delivery_template_id,
+            tp.create_time,
+            tp.update_time,
+            tp.putaway_time,
+            tp.version,
+            tp.prod_type,
+            tp.activity_id,
+            tp.sup_id,
+            tp.hb_spu_id,
+            tp.hb_status,
+            tp.channel_code,
+            tp.half_title,
             SUM(tss.shop_sku_stocks) AS total_stocks
         FROM tz_prod tp
                  INNER JOIN tz_shop_sku tss ON tp.prod_id = tss.spu_id
-                 INNER JOIN tz_channel_shop tcs ON tss.shop_id = tcs.shop_id AND tcs.channel_id = #{platform}
+                 INNER JOIN tz_channel_shop tcs ON tss.shop_id = tcs.shop_id AND tcs.channel_id = #{channelId}
         WHERE tp.prod_id = #{prodId}
           AND tp.is_delete = 0
+          AND tss.shop_id = #{shopId}
           AND tss.is_delete = 0
-        GROUP BY tp.prod_id, tcs.shop_id
+        GROUP BY tp.prod_id, tss.shop_id
             LIMIT 1
 
     </select>
 
+    <select id="doGetByShopId" resultType="com.yami.shop.bean.model.Product">
+        SELECT
+            tp.prod_id,
+            tp.prod_name,
+            tp.shop_id,
+            tp.brand_id,
+            tp.brand_name,
+            tp.ori_price,
+            tp.price,
+            tp.score_price,
+            tp.brief,
+            tp.video,
+            tp.pic,
+            tp.content,
+            tp.imgs,
+            tp.status,
+            tp.is_delete,
+            tp.shop_category_id,
+            tp.category_id,
+            tp.hb_front_category_id,
+            tp.sold_num,
+            tp.delivery_mode,
+            tp.delivery_template_id,
+            tp.create_time,
+            tp.update_time,
+            tp.putaway_time,
+            tp.version,
+            tp.prod_type,
+            tp.activity_id,
+            tp.sup_id,
+            tp.hb_spu_id,
+            tp.hb_status,
+            tp.channel_code,
+            tp.half_title,
+            SUM(tss.shop_sku_stocks) AS total_stocks
+        FROM tz_prod tp
+                 INNER JOIN tz_shop_sku tss ON tp.prod_id = tss.spu_id
+        WHERE tp.prod_id = #{prodId}
+          AND tp.is_delete = 0
+          AND tss.shop_id = #{shopId}
+          AND tss.is_delete = 0
+        GROUP BY tp.prod_id, tss.shop_id
+            LIMIT 1
+    </select>
+
 
     <update id="returnStock">
         <foreach collection="prodCollect" item="changeStocks" index="prodId" separator=";">

+ 5 - 5
yami-shop-service/src/main/resources/mapper/ShopSkuMapper.xml

@@ -22,11 +22,11 @@
     </update>
 
     <select id="selectByShopAndSku" resultType="com.yami.shop.bean.model.ShopSku">
-        SELECT *
-        FROM tz_shop_sku
-        WHERE shop_id = #{shopId}
-          AND sku_id = #{skuId}
-          AND is_delete = 0
+        SELECT s.*, sku.sku_name AS skuName
+        FROM tz_shop_sku s join tz_sku sku on sku.sku_id = s.sku_id and sku.is_delete = 0
+        WHERE s.shop_id = #{shopId}
+          AND s.sku_id = #{skuId}
+          AND s.is_delete = 0
     </select>
 
 

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

@@ -78,7 +78,7 @@
           AND tcp.is_delete = 0
           AND ts.`status` = 1
           AND tss.shop_id = #{shopId}
-          AND tcp.channel_id = #{platform}
+          AND tcp.channel_id = #{channelId}
     </select>
 
     <select id="listBySukIdAndPlatformShop" resultType="com.yami.shop.bean.model.Sku">
@@ -114,7 +114,7 @@
           AND tcp.is_delete = 0
           AND ts.`status` = 1
           AND tss.shop_id = #{shopId}
-          AND tcp.channel_id = #{platform}
+          AND tcp.channel_id = #{channelId}
         LIMIT 1
     </select>
     <select id="listBySukIdAndPlatform" resultType="com.yami.shop.bean.model.Sku">
@@ -149,7 +149,7 @@
           AND ts.is_delete = 0
           AND tcp.is_delete = 0
           AND ts.`status` = 1
-          AND tcp.channel_id = #{platform} LIMIT 1
+          AND tcp.channel_id = #{channelId} LIMIT 1
     </select>
     <select id="selectByHbSkuId" resultType="com.yami.shop.bean.model.Sku">
         select *

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

@@ -63,7 +63,7 @@ public class UserScoreController {
 
     @GetMapping("/scoreInfo")
     @ApiOperation(value = "查看积分中心信息", notes = "查看积分中心信息")
-    public ResponseEntity<ScoreDataDto> scoreInfo(@RequestParam Integer platform) {
+    public ResponseEntity<ScoreDataDto> scoreInfo(@RequestParam Long platform) {
         String userId = SecurityUtils.getUser().getUserId();
         return ResponseEntity.ok(userScoreDetailService.doGetUserScore(userId, platform));
     }
@@ -77,7 +77,7 @@ public class UserScoreController {
      */
     @GetMapping("/page")
     @ApiOperation(value = "查询积分明细", notes = "查询积分明细")
-    public ResponseEntity<IPage<PointsRecord>> getScoreLogPage(@ModelAttribute PageParam<PointsRecord> page, @RequestParam Integer platform) {
+    public ResponseEntity<IPage<PointsRecord>> getScoreLogPage(@ModelAttribute PageParam<PointsRecord> page, @RequestParam Long platform) {
         String userId = SecurityUtils.getUser().getUserId();
         return ResponseEntity.ok(userScoreDetailService.doGetScorePage(page, userId,platform));
     }

+ 2 - 2
yami-shop-user/yami-shop-user-comment/src/main/java/com/yami/shop/user/comment/service/UserScoreDetailService.java

@@ -27,7 +27,7 @@ public interface UserScoreDetailService extends IService<UserScoreDetail> {
 
     void updateLogAndDetail(Long orderId, String userId);
 
-    ScoreDataDto doGetUserScore(String userId, Integer platform);
+    ScoreDataDto doGetUserScore(String userId, Long channelId);
 
-    IPage<PointsRecord> doGetScorePage(PageParam<PointsRecord> page, String userId, Integer platform);
+    IPage<PointsRecord> doGetScorePage(PageParam<PointsRecord> page, String userId, Long channelId);
 }

+ 4 - 4
yami-shop-user/yami-shop-user-comment/src/main/java/com/yami/shop/user/comment/service/impl/ScoreOrderServiceImpl.java

@@ -240,12 +240,12 @@ public class ScoreOrderServiceImpl extends ServiceImpl<OrderMapper, Order> imple
         if (skuMapper.updateStocks(updateSku) == 0) {
             skuService.removeSkuCacheBySkuId(sku.getSkuId(), sku.getProdId());
             productService.removeProductCacheByProdId(sku.getProdId());
-            throw new GlobalException("商品:[" + sku.getProdName() + "]库存不足");
+            throw new GlobalException("商品:[" + sku.getProdName() + "]库存不足1");
         }
         // 更新商品库存
         if (productMapper.updateStocks(updateProd) == 0) {
             productService.removeProductCacheByProdId(product.getProdId());
-            throw new GlobalException("商品:[" + product.getProdName() + "]库存不足");
+            throw new GlobalException("商品:[" + product.getProdName() + "]库存不足2");
         }
 //        // 更新sku库存
 //        if (skuMapper.updateStocks(sku) == 0) {
@@ -276,7 +276,7 @@ public class ScoreOrderServiceImpl extends ServiceImpl<OrderMapper, Order> imple
         }
         // -1为无限库存
         if (sku.getStocks() != -1 && shopCartItem.getProdCount() > sku.getStocks()) {
-            throw new GlobalException("商品:[" + sku.getProdName() + "]库存不足");
+            throw new GlobalException("商品:[" + sku.getProdName() + "]库存不足3");
         }
 
         if (sku.getStocks() != -1) {
@@ -302,7 +302,7 @@ public class ScoreOrderServiceImpl extends ServiceImpl<OrderMapper, Order> imple
         }
         // -1为无限库存
         if (totalStocks != -1 && product.getTotalStocks() > totalStocks) {
-            throw new GlobalException("商品:[" + product.getProdName() + "]库存不足");
+            throw new GlobalException("商品:[" + product.getProdName() + "]库存不足4");
         }
         return product;
     }

+ 5 - 5
yami-shop-user/yami-shop-user-comment/src/main/java/com/yami/shop/user/comment/service/impl/UserScoreDetailServiceImpl.java

@@ -145,14 +145,14 @@ public class UserScoreDetailServiceImpl extends ServiceImpl<UserScoreDetailMappe
     }
 
     @Override
-    public ScoreDataDto doGetUserScore(String userId, Integer platform) {
-        return pointsRecordMapper.statisticsAllScorePoint(userId, platform);
+    public ScoreDataDto doGetUserScore(String userId, Long channelId) {
+        return pointsRecordMapper.statisticsAllScorePoint(userId, channelId);
     }
 
     @Override
-    public IPage<PointsRecord> doGetScorePage(PageParam<PointsRecord> page, String userId, Integer platform) {
-        IPage<PointsRecord> pointsRecordIPage = pointsRecordMapper.findPage(page,userId,platform);
-        Long l = pointsRecordMapper.statisticsPoint(userId, platform);
+    public IPage<PointsRecord> doGetScorePage(PageParam<PointsRecord> page, String userId, Long channelId) {
+        IPage<PointsRecord> pointsRecordIPage = pointsRecordMapper.findPage(page,userId,channelId);
+        Long l = pointsRecordMapper.statisticsPoint(userId, channelId);
         SimpleDateFormat sdf = new SimpleDateFormat("MM月dd日 HH:mm");
         List<PointsRecord> collect = pointsRecordIPage.getRecords().stream().flatMap((pointsRecord) -> {
             pointsRecord.setCreationDateStr(sdf.format(pointsRecord.getCreationDate()));