Преглед изворни кода

订单,积分,分类,退货的功能优化

wang пре 6 дана
родитељ
комит
b72c82afb9
26 измењених фајлова са 204 додато и 104 уклоњено
  1. 2 1
      yami-shop-api/src/main/java/com/yami/shop/api/controller/DeliveryNoticeController.java
  2. 5 6
      yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java
  3. 10 7
      yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderController.java
  4. 4 4
      yami-shop-api/src/main/java/com/yami/shop/api/controller/OrderRefundController.java
  5. 1 1
      yami-shop-api/src/main/java/com/yami/shop/api/controller/ProdCommController.java
  6. 2 2
      yami-shop-api/src/main/java/com/yami/shop/api/listener/SubmitOrderListener.java
  7. 45 26
      yami-shop-bean/src/main/java/com/yami/shop/bean/app/dto/MyOrderDto.java
  8. 1 1
      yami-shop-bean/src/main/java/com/yami/shop/bean/enums/OrderStatus.java
  9. 0 4
      yami-shop-bean/src/main/java/com/yami/shop/bean/model/Order.java
  10. 1 1
      yami-shop-delivery/yami-shop-delivery-comment/src/main/java/com/yami/shop/delivery/comment/service/impl/DeliveryOrderServiceImpl.java
  11. 1 1
      yami-shop-groupbuy/yami-shop-groupbuy-comment/src/main/java/com/yami/shop/groupbuy/comment/service/impl/GroupOrderServiceImpl.java
  12. 4 4
      yami-shop-groupbuy/yami-shop-groupbuy-comment/src/main/java/com/yami/shop/groupbuy/comment/service/impl/GroupTeamServiceImpl.java
  13. 1 1
      yami-shop-seckill/yami-shop-seckill-comment/src/main/java/com/yami/shop/seckill/comment/service/impl/SeckillOrderServiceImpl.java
  14. 12 0
      yami-shop-service/pom.xml
  15. 4 0
      yami-shop-service/src/main/java/com/yami/shop/dao/ProductMapper.java
  16. 9 1
      yami-shop-service/src/main/java/com/yami/shop/listener/ReceiptOrderListener.java
  17. 1 0
      yami-shop-service/src/main/java/com/yami/shop/service/IQnhService.java
  18. 24 5
      yami-shop-service/src/main/java/com/yami/shop/service/hb/impl/HBOrderService.java
  19. 22 14
      yami-shop-service/src/main/java/com/yami/shop/service/impl/MyOrderServiceImpl.java
  20. 14 14
      yami-shop-service/src/main/java/com/yami/shop/service/impl/OrderRefundServiceImpl.java
  21. 7 7
      yami-shop-service/src/main/java/com/yami/shop/service/impl/OrderServiceImpl.java
  22. 1 1
      yami-shop-service/src/main/java/com/yami/shop/service/impl/ProductServiceImpl.java
  23. 14 1
      yami-shop-service/src/main/resources/mapper/OrderMapper.xml
  24. 17 0
      yami-shop-service/src/main/resources/mapper/ProductMapper.xml
  25. 1 1
      yami-shop-user/yami-shop-user-comment/src/main/java/com/yami/shop/user/comment/listener/ReceiptOrderListener.java
  26. 1 1
      yami-shop-user/yami-shop-user-comment/src/main/java/com/yami/shop/user/comment/service/impl/ScoreOrderServiceImpl.java

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

@@ -1,6 +1,7 @@
 package com.yami.shop.api.controller;
 
 import com.yami.shop.bean.app.param.OrderRefundParam;
+import com.yami.shop.bean.enums.OrderStatus;
 import com.yami.shop.bean.model.Order;
 import com.yami.shop.delivery.comment.api.paotui.model.request.NoticeModel;
 import com.yami.shop.service.OrderRefundService;
@@ -41,7 +42,7 @@ public class DeliveryNoticeController {
         }else if(status==50){
             Order orderByOrderNumber = orderService.getOrderByOrderNumber(noticeModel.getOrigin_id());
             if(orderByOrderNumber!=null){
-                orderByOrderNumber.setStatus(4);
+                orderByOrderNumber.setHbOrderStatus(OrderStatus.EVALUATE.value());
                 orderService.updateById(orderByOrderNumber);
             }
         }

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

@@ -111,7 +111,7 @@ public class MyOrderController {
         orderShopDto.setCreateTime(order.getCreateTime());
         orderShopDto.setRemarks(order.getRemarks());
         orderShopDto.setOrderType(order.getOrderType());
-        orderShopDto.setStatus(order.getStatus());
+        orderShopDto.setStatus(order.getHbOrderStatus());
         // 付款时间
         orderShopDto.setPayTime(order.getPayTime());
         // 发货时间
@@ -129,7 +129,7 @@ public class MyOrderController {
         List<OrderRefund> orderRefunds = orderRefundService.getProcessingOrderRefundByOrderId(order.getOrderId());
 
         // 可以退款的状态,并在退款时间内
-        if (order.getStatus() > OrderStatus.UNPAY.value() && order.getStatus() < OrderStatus.CLOSE.value() && orderRefundService.checkRefundDate(order) ) {
+        if (order.getHbOrderStatus() > OrderStatus.UNPAY.value() && order.getHbOrderStatus() < OrderStatus.CLOSE.value() && orderRefundService.checkRefundDate(order) ) {
             orderShopDto.setCanRefund(true);
             // 有没有正在退款中的订单
             if (CollectionUtil.isEmpty(orderRefunds)) {
@@ -180,7 +180,6 @@ public class MyOrderController {
             @ApiImplicitParam(name = "status", value = "订单状态 1:待付款 2:待发货 3:待收货 4:待评价 5:成功 6:失败", required = false, dataType = "Integer"),
     })
     public ResponseEntity<IPage<MyOrderDto>> myOrder(@RequestParam(value = "status") Integer status,PageParam<MyOrderDto> page) {
-
         String userId = SecurityUtils.getUser().getUserId();
         IPage<MyOrderDto> myOrderDtoIpage = myOrderService.pageMyOrderByUserIdAndStatus(page, userId, status);
         return ResponseEntity.ok(myOrderDtoIpage);
@@ -271,7 +270,7 @@ public class MyOrderController {
     public ResponseEntity<String> cancel(@PathVariable("orderNumber") String orderNumber) {
         String userId = SecurityUtils.getUser().getUserId();
         Order order = orderService.getOrderByOrderNumberAndUserId(orderNumber, userId, true);
-        if (!Objects.equals(order.getStatus(), OrderStatus.UNPAY.value())) {
+        if (!Objects.equals(order.getHbOrderStatus(), OrderStatus.UNPAY.value())) {
             throw new GlobalException("订单已支付,无法取消订单");
         }
 
@@ -297,7 +296,7 @@ public class MyOrderController {
         String userId = SecurityUtils.getUser().getUserId();
         Order order = orderService.getOrderByOrderNumberAndUserId(orderNumber, userId, true);
 
-        if (!Objects.equals(order.getStatus(), OrderStatus.CONSIGNMENT.value())) {
+        if (!Objects.equals(order.getHbOrderStatus(), OrderStatus.CONSIGNMENT.value())) {
             throw new GlobalException("订单未发货,无法确认收货");
         }
         if (Objects.equals(order.getRefundStatus(), RefundStatusEnum.APPLY.value())) {
@@ -326,7 +325,7 @@ public class MyOrderController {
 
         Order order = orderService.getOrderByOrderNumberAndUserId(orderNumber, userId, true);
 
-        if (!Objects.equals(order.getStatus(), OrderStatus.SUCCESS.value()) && !Objects.equals(order.getStatus(), OrderStatus.CLOSE.value()) ) {
+        if (!Objects.equals(order.getHbOrderStatus(), OrderStatus.SUCCESS.value()) && !Objects.equals(order.getHbOrderStatus(), OrderStatus.CLOSE.value()) ) {
             throw new GlobalException("订单未完成或未关闭,无法删除订单");
         }
 

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

@@ -71,9 +71,9 @@ public class OrderController {
             orderParam.getBasketIds().forEach(basketId -> {
                 Basket byId = basketService.getById(basketId);
                 Sku byIdss = skuService.getById(byId);
-                boolean skuStock = qnhService.getSkuStock(byIdss.getSkuCode(), byId.getProdId());
-                Product byId1 = productService.getById(byId.getProdId());
-                byId1.setTotalStocks(byIdss.getStocks());
+                boolean skuStock = qnhService.getSkuStock(byIdss.getSkuCode(), byId.getProdId(), orderParam.getPlatform());
+                Product byId1 = productService.getById(byId.getProdId(),orderParam.getPlatform());
+//                byId1.setTotalStocks(byIdss.getStocks());
                 productService.updateById(byId1);
                 if (skuStock && byId1.getTotalStocks() < byId.getBasketCount()) {
                     throw new GlobalException("当前选择的规格库存不足!");
@@ -96,15 +96,18 @@ public class OrderController {
         UserAddrDto userAddrDto = mapperFacade.map(userAddr, UserAddrDto.class);
         // 组装获取用户提交的购物车商品项
         OrderItemParam orderItem = orderParam.getOrderItem();
-        orderItem.setPlatform(orderParam.getPlatform());
+        if(null != orderItem){
+            orderItem.setPlatform(orderParam.getPlatform());
+        }
         List<ShopCartItemDto> shopCartItems = basketService.getShopCartItemsByOrderItems(orderParam.getBasketIds(), orderItem, userId);
         if (CollectionUtil.isEmpty(shopCartItems)) {
             throw new GlobalException("请选择您需要的商品加入购物车");
         }
-
         // 根据店铺组装购车中的商品信息,返回每个店铺中的购物车商品信息
         List<ShopCartDto> shopCarts = basketService.getShopCarts(shopCartItems, 0L);
 
+
+
         // 将要返回给前端的完整的订单信息
         ShopCartOrderMergerDto shopCartOrderMergerDto = new ShopCartOrderMergerDto();
         shopCartOrderMergerDto.setUserAddr(userAddrDto);
@@ -260,7 +263,7 @@ public class OrderController {
             }
         }
         mergerOrder.setPlatform(submitOrderParam.getPlatform());
-       List<Order> orders = orderService.submit(userId, mergerOrder);
+        List<Order> orders = orderService.submit(userId, mergerOrder);
 
         StringBuilder orderNumbers = new StringBuilder();
         for (Order order : orders) {
@@ -287,7 +290,7 @@ public class OrderController {
             basketService.removeShopCartItemsCacheByUserId(userId);
         }
         orderService.removeConfirmOrderCache(userId + submitOrderParam.getUuid());
-        return ResponseEntity.ok(new OrderNumbersDto(orderNumbers.toString(),mergerOrder.getNextPay()));
+        return ResponseEntity.ok(new OrderNumbersDto(orderNumbers.toString(), mergerOrder.getNextPay()));
     }
 
 

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

@@ -120,11 +120,11 @@ public class OrderRefundController {
             throw new GlobalException("当前订单还未付款,无法申请");
         }
 
-        if (Objects.equals(order.getStatus(), OrderStatus.CLOSE.value())) {
+        if (Objects.equals(order.getHbOrderStatus(), OrderStatus.CLOSE.value())) {
             throw new GlobalException("当前订单已失败,不允许退款");
         }
 
-        if (Objects.equals(order.getStatus(), OrderStatus.WAIT_GROUP.value())) {
+        if (Objects.equals(order.getHbOrderStatus(), OrderStatus.WAIT_GROUP.value())) {
             throw new GlobalException("当前订单正在等待成团状态,需等待成团才能进行下一步操作");
         }
 
@@ -271,7 +271,7 @@ public class OrderRefundController {
         } else {
             newOrderRefund.setOrderItemId(orderRefundParam.getOrderItemId());
             // 待发货状态-最后一件商品进行退款,退款金额 =  商品金额 + 订单运费金额
-            if (Objects.equals(order.getStatus(), OrderStatus.PADYED.value()) && order.getFreightAmount() > 0) {
+            if (Objects.equals(order.getHbOrderStatus(), OrderStatus.PADYED.value()) && order.getFreightAmount() > 0) {
                 int orderItenCount = orderItemService.count(new LambdaQueryWrapper<OrderItem>().eq(OrderItem::getOrderNumber, order.getOrderNumber()));
                 if (Objects.equals(orderRefunds.size(), orderItenCount - 1)) {
                     newOrderRefund.setRefundAmount(Arith.add(newOrderRefund.getRefundAmount(), order.getFreightAmount()));
@@ -496,7 +496,7 @@ public class OrderRefundController {
         Order order = orderService.getOrderByOrderNumberAndUserId(orderRefund.getOrderNumber(), userId, true);
 
         //如果订单状态为待发货、包含运费、单个商品退款,且所有订单项都进行退款,则不能再取消退款(取消退款后再退款会导致重复退运费bug)
-        if (Objects.equals(order.getStatus(), OrderStatus.PADYED.value()) && Objects.equals(orderRefund.getRefundType(), 2) && order.getFreightAmount() > 0) {
+        if (Objects.equals(order.getHbOrderStatus(), OrderStatus.PADYED.value()) && Objects.equals(orderRefund.getRefundType(), 2) && order.getFreightAmount() > 0) {
             // 退款数量
             int refundCount = orderRefundService.count(new LambdaQueryWrapper<OrderRefund>()
                     .gt(OrderRefund::getReturnMoneySts, 0)

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

@@ -72,7 +72,7 @@ public class ProdCommController {
 
         Order order = orderService.getOrderByOrderNumberAndUserId(orderItem.getOrderNumber(),userId, true);
 
-        if (!Objects.equals(order.getStatus(), OrderStatus.SUCCESS.value())) {
+        if (!Objects.equals(order.getHbOrderStatus(), OrderStatus.SUCCESS.value())) {
             throw new GlobalException("请确认收货后再进行评论");
         }
 

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

@@ -139,7 +139,7 @@ public class SubmitOrderListener {
                 // 订单信息
                 com.yami.shop.bean.model.Order order = new com.yami.shop.bean.model.Order();
                 order.setIsPayed(0);
-                order.setStatus(OrderStatus.UNPAY.value());
+                order.setHbOrderStatus(OrderStatus.UNPAY.value());
                 double actualTotal = shopCartOrderDto.getActualTotal();
                 //企业用户才进这个判断,并且该用户的积分必须大于0
                 if (1 == mergerOrder.getPlatform() && null != point && point > 0) {
@@ -149,7 +149,7 @@ public class SubmitOrderListener {
                     if (vp >= mul) {
                         order.setIsPayed(1);
                         order.setPayTime(new Date());
-                        order.setStatus(OrderStatus.PADYED.value());
+                        order.setHbOrderStatus(OrderStatus.CONSIGNMENT.value());
                         //积分完全足够支付
                         order.setOffsetPoints(Long.valueOf(String.valueOf(mul).split("\\.")[0]));
                         actualTotal = 0.0;//剩下需要付的钱

+ 45 - 26
yami-shop-bean/src/main/java/com/yami/shop/bean/app/dto/MyOrderDto.java

@@ -21,43 +21,62 @@ import lombok.Data;
 @ApiModel("我的订单")
 public class MyOrderDto {
 
-	@ApiModelProperty(value = "订单项",required=true)
-	private List<MyOrderItemDto> orderItemDtos;
+    @ApiModelProperty(value = "订单项", required = true)
+    private List<MyOrderItemDto> orderItemDtos;
 
-	@ApiModelProperty(value = "订单号",required=true)
-	private String orderNumber;
+    @ApiModelProperty(value = "订单号", required = true)
+    private String orderNumber;
 
-	@ApiModelProperty(value = "总价",required=true)
-	private Double actualTotal;
+    @ApiModelProperty(value = "总价", required = true)
+    private Double actualTotal;
 
-	@ApiModelProperty(value = "使用积分",required=true)
-	private Integer userScore;
+    @ApiModelProperty(value = "使用积分", required = true)
+    private Integer userScore;
 
-	@ApiModelProperty(value = "订单状态",required=true)
-	private Integer status;
+    @ApiModelProperty(value = "订单状态", required = true)
+    private Integer status;
 
-	@ApiModelProperty(value = "订单类型(0普通订单 1团购订单 2秒杀订单)",required=true)
-	private Integer orderType;
+    @ApiModelProperty(value = "订单类型(0普通订单 1团购订单 2秒杀订单)", required = true)
+    private Integer orderType;
 
-	@ApiModelProperty(value = "退款单类型(1:整单退款,2:单个物品退款)",required=true)
-	private Integer refundType;
+    @ApiModelProperty(value = "退款单类型(1:整单退款,2:单个物品退款)", required = true)
+    private Integer refundType;
 
-	@ApiModelProperty(value = "处理退款状态:(1.买家申请 2.卖家接受 3.买家发货 4.卖家收货 5.退款成功 6.买家撤回申请 7.商家拒绝 -1.退款关闭)",required=true)
-	private Integer returnMoneySts;
+    @ApiModelProperty(value = "处理退款状态:(1.买家申请 2.卖家接受 3.买家发货 4.卖家收货 5.退款成功 6.买家撤回申请 7.商家拒绝 -1.退款关闭)", required = true)
+    private Integer returnMoneySts;
 
-	@ApiModelProperty(value = "店铺名称",required=true)
-	private String shopName;
+    @ApiModelProperty(value = "店铺名称", required = true)
+    private String shopName;
 
-	@ApiModelProperty(value = "店铺id",required=true)
-	private Long shopId;
+    @ApiModelProperty(value = "店铺id", required = true)
+    private Long shopId;
 
-	@ApiModelProperty(value = "订单运费",required=true)
-	private Double freightAmount;
+    @ApiModelProperty(value = "订单运费", required = true)
+    private Double freightAmount;
 
-	private Double latitude;
+    private Double latitude;
 
-	private Double longitude;
+    private Double longitude;
+
+    @ApiModelProperty(value = "订单创建时间", required = true)
+    private Date createTime;
+
+    @ApiModelProperty(value = "订单预计送达日期", required = true, example = "3月8日")
+    private String estimatedTimeStr;
+
+    @ApiModelProperty(value = "订单预计送达时间", required = true, example = "10:40")
+    private String estimatedTime;
+
+    @ApiModelProperty(value = "订单支付时间", required = true)
+    private Date payTime;
+
+    @ApiModelProperty(value = "订单支付的积分")
+    private Long offsetPoints;
+
+    @ApiModelProperty(value = "海博物流状态")
+    private Integer hbLogisticStatus;
+
+    @ApiModelProperty(value = "海博订单状态")
+    private Integer hbOrderStatus;
 
-	@ApiModelProperty(value = "订单创建时间",required=true)
-	private Date createTime;
 }

+ 1 - 1
yami-shop-bean/src/main/java/com/yami/shop/bean/enums/OrderStatus.java

@@ -36,7 +36,7 @@ public enum OrderStatus {
     /**
      * 待评价
      */
-    EVALUATE(50),
+    EVALUATE(45),
 
     /**
      * 订单已送达

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

@@ -80,10 +80,6 @@ public class Order implements Serializable {
      */
     private String shopRemarks;
 
-    /**
-     * 订单状态 参考com.yami.shop.bean.enums.OrderStatus
-     */
-    private Integer status;
 
     /**
      * 海博订单状态

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

@@ -146,7 +146,7 @@ public class DeliveryOrderServiceImpl extends ServiceImpl<DeliveryOrderMapper, D
         //修改为发货状态
         if (isDelivery) {
             Date date = new Date();
-            order.setStatus(OrderStatus.CONSIGNMENT.value());
+            order.setHbOrderStatus(OrderStatus.CONSIGNMENT.value());
             order.setUpdateTime(date);
             order.setDvyTime(date);
             //判断是无需物流还是快递发货

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

@@ -145,7 +145,7 @@ public class GroupOrderServiceImpl extends ServiceImpl<GroupOrderMapper, GroupOr
         order.setOrderNumber(orderNumber);
         order.setCreateTime(now);
         order.setUpdateTime(now);
-        order.setStatus(OrderStatus.UNPAY.value());
+        order.setHbOrderStatus(OrderStatus.UNPAY.value());
         order.setOrderType(OrderType.GROUP.value());
         order.setRemarks(remark);
         order.setIsPayed(0);

+ 4 - 4
yami-shop-groupbuy/yami-shop-groupbuy-comment/src/main/java/com/yami/shop/groupbuy/comment/service/impl/GroupTeamServiceImpl.java

@@ -152,7 +152,7 @@ public class GroupTeamServiceImpl extends ServiceImpl<GroupTeamMapper, GroupTeam
                 // 需要还原库存的订单
                 returnStockOrders.addAll(teamOrderList);
                 for (Order order : teamOrderList) {
-                    order.setStatus(OrderStatus.CLOSE.value());
+                    order.setHbOrderStatus(OrderStatus.CLOSE.value());
                     order.setCancelTime(nowDate);
                     order.setUpdateTime(nowDate);
                     changeStatusOrderList.add(order);
@@ -187,7 +187,7 @@ public class GroupTeamServiceImpl extends ServiceImpl<GroupTeamMapper, GroupTeam
             // 更新所有的已支付订单状态
             List<Order> teamOrderList = groupTeamMapper.getOrders(groupTeam.getGroupTeamId(),1);
             for (Order order : teamOrderList) {
-                order.setStatus(OrderStatus.PADYED.value());
+                order.setHbOrderStatus(OrderStatus.PADYED.value());
                 changeStatusOrderList.add(order);
             }
             // 获取未支付要取消的订单
@@ -197,7 +197,7 @@ public class GroupTeamServiceImpl extends ServiceImpl<GroupTeamMapper, GroupTeam
                 // 需要还原库存的订单
                 returnStockOrders.addAll(unPayOrderList);
                 for (Order order : unPayOrderList) {
-                    order.setStatus(OrderStatus.CLOSE.value());
+                    order.setHbOrderStatus(OrderStatus.CLOSE.value());
                     order.setUpdateTime(nowDate);
                     order.setCancelTime(nowDate);
                     changeStatusOrderList.add(order);
@@ -230,7 +230,7 @@ public class GroupTeamServiceImpl extends ServiceImpl<GroupTeamMapper, GroupTeam
                 // 修改订单退款状态
                 Order order = new Order();
                 order.setOrderId(groupRefundOrder.getOrderId());
-                order.setStatus(OrderStatus.CLOSE.value());
+                order.setHbOrderStatus(OrderStatus.CLOSE.value());
                 order.setCancelTime(new Date());
                 order.setUpdateTime(new Date());
                 order.setRefundStatus(RefundStatusEnum.SUCCEED.value());

+ 1 - 1
yami-shop-seckill/yami-shop-seckill-comment/src/main/java/com/yami/shop/seckill/comment/service/impl/SeckillOrderServiceImpl.java

@@ -165,7 +165,7 @@ public class SeckillOrderServiceImpl extends ServiceImpl<SeckillOrderMapper, Sec
         // 实际总额
         order.setActualTotal(dto.getActualTotal());
         order.setPlatformAmount(0.0);
-        order.setStatus(OrderStatus.UNPAY.value());
+        order.setHbOrderStatus(OrderStatus.UNPAY.value());
         order.setUpdateTime(now);
         order.setCreateTime(now);
         order.setIsPayed(0);

+ 12 - 0
yami-shop-service/pom.xml

@@ -7,6 +7,18 @@
         <groupId>com.yami.shop</groupId>
         <version>0.0.1-SNAPSHOT</version>
     </parent>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>9</source>
+                    <target>9</target>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>yami-shop-service</artifactId>

+ 4 - 0
yami-shop-service/src/main/java/com/yami/shop/dao/ProductMapper.java

@@ -160,6 +160,10 @@ public interface ProductMapper extends BaseMapper<Product> {
      * 根据分类ID、商户ID查询归属的所有商品
      */
     IPage<Product> listProdByCategoryIdAndShopId(@Param("page") Page page, @Param("prodByCategoryIdAndShopIdDTO") ProdByCategoryIdAndShopIdDTO prodByCategoryIdAndShopIdDTO);
+    /**
+     * 根据分类ID、商户ID查询归属的所有商品
+     */
+    IPage<Product> listProdByCIdAndSId(@Param("page") Page page, @Param("prodByCategoryIdAndShopIdDTO") ProdByCategoryIdAndShopIdDTO prodByCategoryIdAndShopIdDTO);
 
     /**
      * 根据分类ID、商户ID查询归属的所有商品

+ 9 - 1
yami-shop-service/src/main/java/com/yami/shop/listener/ReceiptOrderListener.java

@@ -86,7 +86,15 @@ public class ReceiptOrderListener {
         // 增加总结算金额
         newShopWallet.setTotalSettledAmount(Arith.add(shopWallet.getTotalSettledAmount(),settledAmount));
         // 插入收入记录
-        if (Objects.equals(order.getStatus(), OrderStatus.CLOSE.value()) && Objects.equals(order.getCloseType(), OrderCloseType.REFUND.value())) {
+        //'海博订单状态:0-待支付,
+        // 20-订单已接单(待拣货),
+        // 30-订单待配送(拣货完成/自提类订单为待自提),
+        // 40-订单配送中 ,
+        // 50-订单取消待审核,
+        // 60-订单已取消,
+        // 70-订单已送达,
+        // 80-订单已完成'
+        if (Objects.equals(order.getHbOrderStatus(), OrderStatus.CLOSE.value()) && Objects.equals(order.getCloseType(), OrderCloseType.REFUND.value())) {
             shopWalletLogService.saveShopWalletLog(shopWallet,newShopWallet, ShopWalletChangeReason.ORDER_REFUND,order.getOrderNumber());
         } else {
             shopWalletLogService.saveShopWalletLog(shopWallet,newShopWallet, ShopWalletChangeReason.ORDER_SUCCESS,order.getOrderNumber());

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

@@ -38,6 +38,7 @@ public interface IQnhService {
     void synchronizedInfo();
 
     boolean getSkuStock(String skuCode,Long prodId);
+
     boolean getSkuStock(String skuCode,Long prodId,Integer platform);
 
     void noticeProductInfo(Object object);

+ 24 - 5
yami-shop-service/src/main/java/com/yami/shop/service/hb/impl/HBOrderService.java

@@ -144,7 +144,7 @@ public class HBOrderService implements IHBOrderService {
         requestBody.put("operator", "admin");
         // 订单操作时间戳毫秒数
         requestBody.put("operatorTime", System.currentTimeMillis());
-        //操作类型 (20:订单已接单 30:订单待配送 60:订单已取消 70:退款 80:订单已完成)
+        //操作类型 (20:订单已接单 30:订单待配送 60:订单已取消 80:订单已完成)
         requestBody.put("operatorType", type);
         // 4. 将整个JSON对象序列化为字符串并设置
         build.setBody(JSON.toJSONString(requestBody));
@@ -155,6 +155,12 @@ public class HBOrderService implements IHBOrderService {
         log.info("post 订单推送结果:{}", post);
 
 
+        //TODO 具体看是退钱还是退积分
+        if (type == 70) {//退款
+
+        }
+
+
         return post;
     }
 
@@ -180,15 +186,15 @@ public class HBOrderService implements IHBOrderService {
         Order order = orderMapper.getOrderAndOrderItemByOrderNumber(channelOrderId);
         //如果是已送达直接完成并且通知海博
         order.setHbOrderStatus(operatorType);
-        if (operatorType == 70){
+        if (operatorType == 70) {
             order.setHbOrderStatus(80);
         }
         orderMapper.updateById(order);
 
 
         //成功直接通知海博
-        if (operatorType == 70){
-            changeOrderStatus(channelOrderId,80);
+        if (operatorType == 70) {
+            changeOrderStatus(channelOrderId, 80);
         }
     }
 
@@ -290,7 +296,7 @@ public class HBOrderService implements IHBOrderService {
 //        if (order.getDvyType() == 1) {
 //            dvyType = 80;
 //        } else
-            if (order.getDvyType() == 2) {
+        if (order.getDvyType() == 2) {
             dvyType = 40;
         }
 
@@ -423,4 +429,17 @@ public class HBOrderService implements IHBOrderService {
         return HBR.success(createOrderRequest);
     }
 
+    /**
+     * 退货退款
+     */
+    private void returnRefund(String orderNumber) {
+        Order order = orderMapper.selectOne(new LambdaQueryWrapper<Order>()
+                .eq(Order::getOrderNumber, orderNumber)
+                .in(Order::getHbOrderStatus, List.of(OrderStatus.CONSIGNMENT.value(), OrderStatus.SUCCESS.value()))
+        );
+
+
+
+    }
+
 }

+ 22 - 14
yami-shop-service/src/main/java/com/yami/shop/service/impl/MyOrderServiceImpl.java

@@ -43,13 +43,20 @@ public class MyOrderServiceImpl extends ServiceImpl<OrderMapper, Order> implemen
     @Override
     public IPage<MyOrderDto> pageMyOrderByUserIdAndStatus(Page<MyOrderDto> page, String userId, Integer status) {
         List<MyOrderDto> myOrderDtos = orderMapper.listMyOrderByUserIdAndStatus(new PageAdapter(page), userId, status);
+        SimpleDateFormat sdf = new SimpleDateFormat("MM月dd日$HH:mm");
         for (MyOrderDto myOrderDto : myOrderDtos) {
-            if(StrUtil.isBlank(myOrderDto.getShopName())){
+            if (StrUtil.isBlank(myOrderDto.getShopName())) {
                 myOrderDto.setShopName(Constant.PLATFORM_SHOP_NAME);
             }
             List<MyOrderItemDto> orderItemDtos = myOrderDto.getOrderItemDtos();
             int score = orderItemDtos.stream().mapToInt(MyOrderItemDto::getUseScore).sum();
             myOrderDto.setUserScore(score);
+            if (null != myOrderDto.getPayTime()) {
+                String format = sdf.format(myOrderDto.getPayTime());
+                String[] split = format.split("\\$");
+                myOrderDto.setEstimatedTimeStr(split[0]);
+                myOrderDto.setEstimatedTime(split[1]);
+            }
         }
         page.setRecords(myOrderDtos);
         page.setTotal(orderMapper.countMyOrderByUserIdAndStatus(userId, status, null));
@@ -58,17 +65,17 @@ public class MyOrderServiceImpl extends ServiceImpl<OrderMapper, Order> implemen
 
     @Override
     public IPage<MyOrderDto> pageMyOrderByParams(Page<MyOrderDto> page, String userId, Integer status,
-                                                 String orderName,Integer orderTimeStatus,Integer orderType,String orderNumber) {
-        String preTime="";
-        if (Objects.equals(1,orderTimeStatus)) {
+                                                 String orderName, Integer orderTimeStatus, Integer orderType, String orderNumber) {
+        String preTime = "";
+        if (Objects.equals(1, orderTimeStatus)) {
             preTime = getStatetime(7);
         }
-        if (Objects.equals(2,orderTimeStatus) || Objects.equals(3,orderTimeStatus)) {
+        if (Objects.equals(2, orderTimeStatus) || Objects.equals(3, orderTimeStatus)) {
             preTime = getReduceMonth(30);
         }
         List<MyOrderDto> myOrderDtoList = orderMapper.listMyOrderByParams(new PageAdapter(page), userId, status, orderName, orderTimeStatus, preTime, orderType, orderNumber);
-        for (MyOrderDto myOrderDto: myOrderDtoList){
-            if (Objects.equals(myOrderDto.getShopId(),Constant.PLATFORM_SHOP_ID)){
+        for (MyOrderDto myOrderDto : myOrderDtoList) {
+            if (Objects.equals(myOrderDto.getShopId(), Constant.PLATFORM_SHOP_ID)) {
                 myOrderDto.setShopName(Constant.PLATFORM_SHOP_NAME);
             }
             List<MyOrderItemDto> orderItemDtos = myOrderDto.getOrderItemDtos();
@@ -76,7 +83,7 @@ public class MyOrderServiceImpl extends ServiceImpl<OrderMapper, Order> implemen
             myOrderDto.setUserScore(score);
         }
         page.setRecords(myOrderDtoList);
-        page.setTotal(orderMapper.countMyOrderByParams(userId, status,orderName,orderTimeStatus,preTime,orderType,orderNumber));
+        page.setTotal(orderMapper.countMyOrderByParams(userId, status, orderName, orderTimeStatus, preTime, orderType, orderNumber));
         return page;
     }
 
@@ -84,12 +91,12 @@ public class MyOrderServiceImpl extends ServiceImpl<OrderMapper, Order> implemen
     public IPage<MyOrderDto> myOrderComment(PageParam<MyOrderDto> page, String userId, Integer isComm) {
         List<MyOrderDto> myOrderDtos = orderMapper.OrderCommentByUserIdAndStatus(new PageAdapter(page), userId, isComm);
         for (MyOrderDto myOrderDto : myOrderDtos) {
-            if(StrUtil.isBlank(myOrderDto.getShopName())){
+            if (StrUtil.isBlank(myOrderDto.getShopName())) {
                 myOrderDto.setShopName(Constant.PLATFORM_SHOP_NAME);
             }
         }
         page.setRecords(myOrderDtos);
-        page.setTotal(orderMapper.countMyOrderByUserIdAndStatus(userId, 0,isComm));
+        page.setTotal(orderMapper.countMyOrderByUserIdAndStatus(userId, 0, isComm));
         return page;
     }
 
@@ -104,23 +111,24 @@ public class MyOrderServiceImpl extends ServiceImpl<OrderMapper, Order> implemen
     /**
      * 获取当前时间前7天的时间点
      */
-    private String getStatetime(int reduce){
+    private String getStatetime(int reduce) {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         Calendar c = Calendar.getInstance();
         // reduce = -7 前7天
-        c.add(Calendar.DATE, - reduce);
+        c.add(Calendar.DATE, -reduce);
         Date monday = c.getTime();
         String preMonday = sdf.format(monday);
         return preMonday;
     }
+
     /**
      * 获取当前时间 前三个月的时间点
      */
-    private String getReduceMonth(int reduce){
+    private String getReduceMonth(int reduce) {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         Calendar c = Calendar.getInstance();
         // reduce = -7 前7天
-        c.add(Calendar.MONTH, - reduce);
+        c.add(Calendar.MONTH, -reduce);
         Date month = c.getTime();
         String priMonth = sdf.format(month);
         return priMonth;

+ 14 - 14
yami-shop-service/src/main/java/com/yami/shop/service/impl/OrderRefundServiceImpl.java

@@ -436,7 +436,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
         ShopWallet newShopWallet = mapperFacade.map(shopWallet, ShopWallet.class);
 
         // 已确认收货的订单扣除已结算的金额
-        if (Objects.equals(order.getStatus(), OrderStatus.SUCCESS.value())) {
+        if (Objects.equals(order.getHbOrderStatus(), OrderStatus.SUCCESS.value())) {
             // 平台把退款金额归还商家,商家退还金额到用户
             if (shopWallet.getSettledAmount() < shopRealRefundAmount) {
                 throw new GlobalException("您的可提现金额不足,无法进行退款");
@@ -446,7 +446,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
         }
         // 1. 订单未确认收货则扣未结算金额
         // 2. 商家撤销拼团活动时失效拼团时,将待成团的队伍进行退款
-        if (Objects.equals(order.getStatus(), OrderStatus.PADYED.value()) || Objects.equals(order.getStatus(), OrderStatus.CONSIGNMENT.value()) || Objects.equals(order.getStatus(), OrderStatus.WAIT_GROUP.value())) {
+        if (Objects.equals(order.getHbOrderStatus(), OrderStatus.PADYED.value()) || Objects.equals(order.getHbOrderStatus(), OrderStatus.CONSIGNMENT.value()) || Objects.equals(order.getHbOrderStatus(), OrderStatus.WAIT_GROUP.value())) {
 
             if (shopWallet.getUnsettledAmount() < shopRealRefundAmount) {
                 throw new GlobalException("您的待结算金额不足,无法进行退款");
@@ -490,7 +490,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
             order.setRefundStatus(RefundStatusEnum.DISAGREE.value());
         }
         if (type == 2) {
-            order.setStatus(OrderStatus.CLOSE.value());
+            order.setHbOrderStatus(OrderStatus.CLOSE.value());
         }
         orderService.updateById(order);
     }
@@ -556,7 +556,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
         }
         // 更新订单
         Order order = orderService.getOrderByOrderNumber(orderRefundDto.getOrderNumber());
-        int oldOrderStatus = order.getStatus();
+        int oldOrderStatus = order.getHbOrderStatus();
 
 
         // 退款成功(保存退款结算记录、更新订单、还原库存)
@@ -569,7 +569,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
         // 如果订单因为退款关闭,要进行结算给商家的操作,这个结算的计算是退款完成后结算的,所以不要随便改变顺序
         if (!Objects.equals(orderRefundDto.getRefundType(), RefundType.ALL.value())
                 && !Objects.equals(oldOrderStatus, OrderStatus.SUCCESS.value())
-                && Objects.equals(order.getStatus(), OrderStatus.CLOSE.value())
+                && Objects.equals(order.getHbOrderStatus(), OrderStatus.CLOSE.value())
                 && Objects.equals(order.getCloseType(), OrderCloseType.REFUND.value())) {
             applicationContext.publishEvent(new ReceiptOrderEvent(order));
         }
@@ -655,7 +655,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
      */
     private void refundSuccess(Order order, OrderRefundDto orderRefundDto) {
         if (Objects.equals(orderRefundDto.getRefundType(), RefundType.ALL.value())) {
-            order.setStatus(OrderStatus.CLOSE.value());
+            order.setHbOrderStatus(OrderStatus.CLOSE.value());
             order.setCancelTime(new Date());
             order.setUpdateTime(new Date());
             order.setCloseType(OrderCloseType.REFUND.value());
@@ -674,7 +674,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
 
             // 整个订单完成退款的时候
             if (totalRefundNum + orderRefundDto.getGoodsNum() >= order.getProductNums()) {
-                order.setStatus(OrderStatus.CLOSE.value());
+                order.setHbOrderStatus(OrderStatus.CLOSE.value());
                 order.setCancelTime(new Date());
                 order.setUpdateTime(new Date());
                 order.setCloseType(OrderCloseType.REFUND.value());
@@ -684,7 +684,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
             }
 
             // 退款成功后,订单没有关闭,且发货订单项 + 退款成功订单项 = 订单项总数量 ,订单状态改为待收货
-            if (!Objects.equals(order.getStatus(), OrderStatus.CLOSE.value()) && Objects.equals(order.getStatus(), OrderStatus.PADYED.value())) {
+            if (!Objects.equals(order.getHbOrderStatus(), OrderStatus.CLOSE.value()) && Objects.equals(order.getHbOrderStatus(), OrderStatus.PADYED.value())) {
                 List<OrderItem> list = orderItemService.list(new LambdaQueryWrapper<OrderItem>().eq(OrderItem::getOrderNumber, order.getOrderNumber()));
                 Integer count = 0;
                 for (OrderItem orderItem : list) {
@@ -693,7 +693,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
                     }
                 }
                 if (orderRefundList.size() + count + orderRefundDto.getOrderItems().size() >= list.size()) {
-                    order.setStatus(OrderStatus.CONSIGNMENT.value());
+                    order.setHbOrderStatus(OrderStatus.CONSIGNMENT.value());
                     order.setDvyTime(new Date());
                 }
             }
@@ -762,7 +762,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
     @Override
     public boolean checkRefundDate(Order order) {
         // 判断是否超过支持的退款天数
-        if (Objects.equals(order.getStatus(), OrderStatus.SUCCESS.value())) {
+        if (Objects.equals(order.getHbOrderStatus(), OrderStatus.SUCCESS.value())) {
             long finallyTime = order.getFinallyTime().getTime();
             long currentTime = System.currentTimeMillis();
             int miniTime = Constant.MAX_FINALLY_REFUND_TIME * 24 * 60 * 60 * 1000;
@@ -789,11 +789,11 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
             throw new GlobalException("当前订单还未付款,无法申请");
         }
 
-        if (Objects.equals(order.getStatus(), OrderStatus.CLOSE.value())) {
+        if (Objects.equals(order.getHbOrderStatus(), OrderStatus.CLOSE.value())) {
             throw new GlobalException("当前订单已失败,不允许退款");
         }
 
-        if (Objects.equals(order.getStatus(), OrderStatus.WAIT_GROUP.value())) {
+        if (Objects.equals(order.getHbOrderStatus(), OrderStatus.WAIT_GROUP.value())) {
             throw new GlobalException("当前订单正在等待成团状态,需等待成团才能进行下一步操作");
         }
 
@@ -810,7 +810,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
         }
 
         //待收货 -> 整单退款 -> 退款金额 < 订单金额 - 运费金额
-        if (Objects.equals(order.getStatus(), OrderStatus.CONSIGNMENT.value()) && orderRefundParam.getRefundType().equals(RefundType.ALL.value())) {
+        if (Objects.equals(order.getHbOrderStatus(), OrderStatus.CONSIGNMENT.value()) && orderRefundParam.getRefundType().equals(RefundType.ALL.value())) {
             Double refundAmount = Arith.sub(order.getActualTotal(), order.getFreightAmount());
             if (orderRefundParam.getRefundAmount() > refundAmount) {
                 throw new GlobalException("退款金额已超出订单金额,无法申请");
@@ -916,7 +916,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
         } else {
             newOrderRefund.setOrderItemId(orderRefundParam.getOrderItemId());
             // 待发货状态-最后一件商品进行退款,退款金额 =  商品金额 + 订单运费金额
-            if (Objects.equals(order.getStatus(), OrderStatus.PADYED.value()) && order.getFreightAmount() > 0) {
+            if (Objects.equals(order.getHbOrderStatus(), OrderStatus.PADYED.value()) && order.getFreightAmount() > 0) {
                 int orderItenCount = orderItemService.count(new LambdaQueryWrapper<OrderItem>().eq(OrderItem::getOrderNumber, order.getOrderNumber()));
                 if (Objects.equals(orderRefunds.size(), orderItenCount - 1)) {
                     newOrderRefund.setRefundAmount(Arith.add(newOrderRefund.getRefundAmount(), order.getFreightAmount()));

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

@@ -355,7 +355,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                 .eq(Order::getOrderId, order.getOrderId())
                 .eq(Order::getOrderNumber, order.getOrderNumber())
         );
-        if (!Objects.equals(orderDb.getStatus(), OrderStatus.UNPAY.value())) {
+        if (!Objects.equals(orderDb.getHbOrderStatus(), OrderStatus.UNPAY.value())) {
             throw new GlobalException("订单状态异常,无法更改订单金额");
         }
         //减少金额
@@ -465,7 +465,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             mergeIfNeed(writer, firstRow, lastRow, ++col, col, dbOrder.getActualTotal());
             //订单状态
             String[] statusValue = {"", "待付款", "待发货", "待收货", "待评价", "成功", "失败", "待成团", ""};
-            String status = statusValue[dbOrder.getStatus()];
+            String status = statusValue[dbOrder.getHbOrderStatus()];
 
             String refundStatus = "";
             String[] refundStatusValue = {"", "申请退款", "退款成功", "退款成功", "退款失败"};
@@ -528,11 +528,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         }
         orderRefundParam.setBuyerMobile(order.getUserMobile());
         orderRefundParam.setRefundAmount(order.getTotal());
-        if (Objects.equals(order.getStatus(), OrderStatus.CLOSE.value())) {
+        if (Objects.equals(order.getHbOrderStatus(), OrderStatus.CLOSE.value())) {
             throw new GlobalException("当前订单已失败");
         }
 
-        if (Objects.equals(order.getStatus(), OrderStatus.WAIT_GROUP.value())) {
+        if (Objects.equals(order.getHbOrderStatus(), OrderStatus.WAIT_GROUP.value())) {
             throw new GlobalException("当前订单正在等待成团状态,需等待成团才能进行下一步操作");
         }
 
@@ -550,7 +550,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 //        }
 
         //待收货 -> 整单退款 -> 退款金额 < 订单金额 - 运费金额
-        if (Objects.equals(order.getStatus(), OrderStatus.CONSIGNMENT.value()) && orderRefundParam.getRefundType().equals(RefundType.ALL.value())) {
+        if (Objects.equals(order.getHbOrderStatus(), OrderStatus.CONSIGNMENT.value()) && orderRefundParam.getRefundType().equals(RefundType.ALL.value())) {
             Double refundAmount = Arith.sub(order.getActualTotal(), order.getFreightAmount());
             if (orderRefundParam.getRefundAmount() > refundAmount) {
                 throw new GlobalException("退款金额已超出订单金额,无法申请");
@@ -657,7 +657,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         } else {
             newOrderRefund.setOrderItemId(orderRefundParam.getOrderItemId());
             // 待发货状态-最后一件商品进行退款,退款金额 =  商品金额 + 订单运费金额
-            if (Objects.equals(order.getStatus(), OrderStatus.PADYED.value()) && order.getFreightAmount() > 0) {
+            if (Objects.equals(order.getHbOrderStatus(), OrderStatus.PADYED.value()) && order.getFreightAmount() > 0) {
                 int orderItenCount = orderItemService.count(new LambdaQueryWrapper<OrderItem>().eq(OrderItem::getOrderNumber, order.getOrderNumber()));
                 if (Objects.equals(orderRefunds.size(), orderItenCount - 1)) {
                     newOrderRefund.setRefundAmount(Arith.add(newOrderRefund.getRefundAmount(), order.getFreightAmount()));
@@ -694,7 +694,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 
     private boolean checkRefundDate(Order order) {
         // 判断是否超过支持的退款天数
-        if (Objects.equals(order.getStatus(), OrderStatus.SUCCESS.value())) {
+        if (Objects.equals(order.getHbOrderStatus(), OrderStatus.SUCCESS.value())) {
             long finallyTime = order.getFinallyTime().getTime();
             long currentTime = System.currentTimeMillis();
             int miniTime = Constant.MAX_FINALLY_REFUND_TIME * 24 * 60 * 60 * 1000;

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

@@ -754,7 +754,7 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
 
     @Override
     public IPage<Product> listProdByCategoryIdAndShopId(ProdByCategoryIdAndShopIdDTO prodByCategoryIdAndShopIdDTO) {
-        IPage<Product> productIPage = productMapper.listProdByCategoryIdAndShopId(new Page<>(prodByCategoryIdAndShopIdDTO.getCurrent(), prodByCategoryIdAndShopIdDTO.getSize()),
+        IPage<Product> productIPage = productMapper.listProdByCIdAndSId(new Page<>(prodByCategoryIdAndShopIdDTO.getCurrent(), prodByCategoryIdAndShopIdDTO.getSize()),
                 prodByCategoryIdAndShopIdDTO);
         if (productIPage.getRecords().isEmpty()) {
             productIPage = productMapper.listProdByCategoryIdAndShopId2(new Page<>(prodByCategoryIdAndShopIdDTO.getCurrent(), prodByCategoryIdAndShopIdDTO.getSize()),

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

@@ -42,6 +42,10 @@
         <result column="latitude" property="latitude"/>
         <result column="longitude" property="longitude"/>
         <result column="create_time" property="createTime"/>
+        <result column="hb_order_status" property="hbOrderStatus"/>
+        <result column="hb_logistic_status" property="hbLogisticStatus"/>
+        <result column="offset_points" property="offsetPoints"/>
+        <result column="pay_time" property="payTime"/>
         <collection property="orderItemDtos" ofType="com.yami.shop.bean.app.dto.MyOrderItemDto">
             <result column="order_number" jdbcType="VARCHAR" property="orderNumber"/>
             <result column="pic" jdbcType="VARCHAR" property="pic"/>
@@ -506,12 +510,21 @@
     <select id="listMyOrderByUserIdAndStatus" resultMap="MyOrderMap">
         SELECT
         o.order_type,o.actual_total,o.status,o.order_number,o.freight_amount,o.create_time,o.order_id,
+        o.hb_order_status,
+        o.hb_logistic_status,
+        o.offset_points,
+        o.pay_time,
         (SELECT r.refund_type FROM tz_order_refund r WHERE r.order_id =o.order_id ORDER BY r.update_time DESC LIMIT 0,1) AS refund_type,
         (SELECT r.return_money_sts FROM tz_order_refund r WHERE r.order_id =o.order_id ORDER BY r.update_time DESC LIMIT 0,1) AS return_money_sts,
         oi.pic,oi.price,oi.prod_name,oi.pic,oi.sku_name,ifnull(oi.use_score,0) as use_score,oi.prod_id,oi.rec_time,oi.prod_count,oi.order_item_id,oi.comm_sts,
         sd.shop_id,sd.shop_name,oi.actual_total as oi_actual_total,ad.longitude,ad.latitude
         FROM (
-        SELECT temp.order_type,temp.order_id, temp.create_time, temp.freight_amount,temp.order_number,temp.actual_total,temp.status,temp.shop_id,temp.addr_order_id FROM tz_order temp
+        SELECT temp.order_type,
+            temp.hb_order_status,
+            temp.hb_logistic_status,
+            temp.offset_points,
+            temp.pay_time,
+            temp.order_id, temp.create_time, temp.freight_amount,temp.order_number,temp.actual_total,temp.status,temp.shop_id,temp.addr_order_id FROM tz_order temp
         WHERE temp.user_id = #{userId} and temp.delete_status = 0
         <if test="status != null and status != 0">
             AND temp.status = #{status}

+ 17 - 0
yami-shop-service/src/main/resources/mapper/ProductMapper.xml

@@ -739,6 +739,23 @@
             p.create_time DESC
     </select>
 
+    <select id="listProdByCIdAndSId" parameterType="com.yami.shop.bean.dto.ProdByCategoryIdAndShopIdDTO" resultType="com.yami.shop.bean.model.Product">
+        SELECT
+            p.*
+        FROM
+            tz_prod p
+                LEFT JOIN tz_category_prod tcp ON p.prod_id=tcp.prod_id
+                LEFT JOIN tz_shop_category tsc ON tcp.`code`=tsc.`code`
+        WHERE
+            p.STATUS = 1
+          AND tcp.is_delete = 0
+          AND tsc.is_delete = 0
+          AND p.shop_id=#{prodByCategoryIdAndShopIdDTO.shopId}
+          AND tsc.id=#{prodByCategoryIdAndShopIdDTO.categoryId}
+        ORDER BY
+            p.create_time DESC
+    </select>
+
     <select id="listProdByCategoryIdAndShopId2" parameterType="com.yami.shop.bean.dto.ProdByCategoryIdAndShopIdDTO" resultType="com.yami.shop.bean.model.Product">
 
         select t.*,t1.salesVolume from (

+ 1 - 1
yami-shop-user/yami-shop-user-comment/src/main/java/com/yami/shop/user/comment/listener/ReceiptOrderListener.java

@@ -74,7 +74,7 @@ public class ReceiptOrderListener {
     public void userReceiptOrderLister(ReceiptOrderEvent event) {
         com.yami.shop.bean.model.Order order = event.getOrder();
         //如果订单已经关闭(整单都已经退款了)不需要进行积分、成长值结算
-        if(Objects.equals(order.getStatus() , OrderStatus.CLOSE.value()) && Objects.equals(order.getCloseType(), OrderCloseType.REFUND.value())){
+        if(Objects.equals(order.getHbOrderStatus() , OrderStatus.CLOSE.value()) && Objects.equals(order.getCloseType(), OrderCloseType.REFUND.value())){
             return;
         }
         //如果是积分订单不能获取成长值和积分

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

@@ -203,7 +203,7 @@ public class ScoreOrderServiceImpl extends ServiceImpl<OrderMapper, Order> imple
         // 实际总额
         order.setActualTotal(mergerOrder.getActualTotal());
         order.setPlatformAmount(0.0);
-        order.setStatus(OrderStatus.UNPAY.value());
+        order.setHbOrderStatus(OrderStatus.UNPAY.value());
         order.setUpdateTime(now);
         order.setCreateTime(now);
         order.setIsPayed(0);