Эх сурвалжийг харах

Merge remote-tracking branch 'origin/master'

wang 2 өдөр өмнө
parent
commit
6b51af9cce
17 өөрчлөгдсөн 131 нэмэгдсэн , 33 устгасан
  1. 18 8
      yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java
  2. 2 2
      yami-shop-api/src/main/resources/application-prod.yml
  3. 6 3
      yami-shop-bean/src/main/java/com/yami/shop/bean/app/dto/MyOrderDto.java
  4. 1 1
      yami-shop-bean/src/main/java/com/yami/shop/bean/enums/ReturnMoneyStsType.java
  5. 2 0
      yami-shop-bean/src/main/java/com/yami/shop/bean/model/Category.java
  6. 10 0
      yami-shop-platform/src/main/java/com/yami/shop/platform/controller/hb/StoreManagementController.java
  7. 2 2
      yami-shop-platform/src/main/resources/application-prod.yml
  8. 3 1
      yami-shop-service/src/main/java/com/yami/shop/dao/OrderMapper.java
  9. 8 0
      yami-shop-service/src/main/java/com/yami/shop/dao/ShopDetailMapper.java
  10. 1 1
      yami-shop-service/src/main/java/com/yami/shop/service/MyOrderService.java
  11. 5 0
      yami-shop-service/src/main/java/com/yami/shop/service/hb/IStoreManagementService.java
  12. 25 0
      yami-shop-service/src/main/java/com/yami/shop/service/hb/impl/StoreManagementService.java
  13. 2 2
      yami-shop-service/src/main/java/com/yami/shop/service/impl/MyOrderServiceImpl.java
  14. 18 11
      yami-shop-service/src/main/java/com/yami/shop/service/impl/OrderRefundServiceImpl.java
  15. 3 0
      yami-shop-service/src/main/java/com/yami/shop/service/impl/PayServiceImpl.java
  16. 17 2
      yami-shop-service/src/main/resources/mapper/OrderMapper.xml
  17. 8 0
      yami-shop-service/src/main/resources/mapper/ShopDetailMapper.xml

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

@@ -26,6 +26,7 @@ import com.yami.shop.config.ShopConfig;
 import com.yami.shop.dao.PointsRecordMapper;
 import com.yami.shop.security.api.util.SecurityUtils;
 import com.yami.shop.service.*;
+import com.yami.shop.utils.CullenUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -45,6 +46,7 @@ import java.util.Objects;
 
 @RestController
 @RequestMapping("/p/myOrder")
+//@RequestMapping("/myOrder")
 @Api(tags = "我的订单接口")
 @AllArgsConstructor
 public class MyOrderController {
@@ -203,9 +205,12 @@ public class MyOrderController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "status", value = "订单状态 1:待付款 2:待发货 3:待收货 4:待评价 5:成功 6:失败", required = false, dataType = "Integer"),
     })
-    public ResponseEntity<IPage<MyOrderDto>> myOrder(@ModelAttribute PageParam<MyOrderDto> page, @RequestParam(value = "status", required = false) Integer status) {
+    public ResponseEntity<IPage<MyOrderDto>> myOrder(@ModelAttribute PageParam<MyOrderDto> page,
+                                                     @RequestParam(value = "status", required = false) Integer status,
+                                                     @RequestParam(value = "dvyType", required = false) Integer dvyType
+    ) {
         String userId = SecurityUtils.getUser().getUserId();
-        IPage<MyOrderDto> myOrderDtoIpage = myOrderService.pageMyOrderByUserIdAndStatus(page, userId, status);
+        IPage<MyOrderDto> myOrderDtoIpage = myOrderService.pageMyOrderByUserIdAndStatus(page, userId, status,dvyType);
         return ResponseEntity.ok(myOrderDtoIpage);
     }
 
@@ -319,13 +324,18 @@ public class MyOrderController {
     public ResponseEntity<String> receipt(@PathVariable("orderNumber") String orderNumber) {
         String userId = SecurityUtils.getUser().getUserId();
         Order order = orderService.getOrderByOrderNumberAndUserId(orderNumber, userId, true);
-
-        if (!Objects.equals(order.getHbOrderStatus(), OrderStatus.CONSIGNMENT.value())) {
-            throw new GlobalException("订单未发货,无法确认收货");
-        }
-        if (Objects.equals(order.getRefundStatus(), RefundStatusEnum.APPLY.value())) {
-            throw new GlobalException("订单退款中,无法确认收货");
+        if (Objects.equals(order.getDvyType(), 1)){
+            CullenUtils.validateDataThrowException(Objects.equals(order.getHbOrderStatus(), 0),"订单未支付");
+            CullenUtils.validateDataThrowException(Objects.equals(order.getHbOrderStatus(), 1),"订单未发货,无法确认收货");
+        }else {
+            if (!Objects.equals(order.getHbOrderStatus(), OrderStatus.CONSIGNMENT.value())) {
+                throw new GlobalException("订单未发货,无法确认收货");
+            }
+            if (Objects.equals(order.getRefundStatus(), RefundStatusEnum.APPLY.value())) {
+                throw new GlobalException("订单退款中,无法确认收货");
+            }
         }
+
         List<OrderItem> orderItems = orderItemService.getOrderItemsByOrderNumber(orderNumber);
         order.setOrderItems(orderItems);
         // 确认收货

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

@@ -22,6 +22,6 @@ logging:
 
 hb:
   host: https://api-open.hiboos.com
-  appId: a4ab0376fde34b81a99335ff91adddf7
-  secret: ba167357df0a4e8dad4e3b62a2b54064
+  appId: 71ad2626c0124ca1a5c07cf5ca818c43
+  secret: f655f69f962f427db1f0436fd34cd998
 

+ 6 - 3
yami-shop-bean/src/main/java/com/yami/shop/bean/app/dto/MyOrderDto.java

@@ -10,13 +10,13 @@
 
 package com.yami.shop.bean.app.dto;
 
-import java.util.Date;
-import java.util.List;
-
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.Date;
+import java.util.List;
+
 @Data
 @ApiModel("我的订单")
 public class MyOrderDto {
@@ -79,4 +79,7 @@ public class MyOrderDto {
     @ApiModelProperty(value = "海博订单状态")
     private Integer hbOrderStatus;
 
+    @ApiModelProperty(value = "配送类型 1:快递 3:及时配送")
+    private Integer dvyType;
+
 }

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

@@ -13,7 +13,7 @@ public enum ReturnMoneyStsType {
     PROCESSING(20),
 
     /**
-     * 买家已发货
+     * 买家已发货 :待退货(一审同意)
      */
     CONSIGNMENT(60),
 

+ 2 - 0
yami-shop-bean/src/main/java/com/yami/shop/bean/model/Category.java

@@ -82,6 +82,7 @@ public class Category implements Serializable {
      */
     private Date updateTime;
 
+    @TableField(exist = false)
     private String resource;
 
     /**
@@ -126,5 +127,6 @@ public class Category implements Serializable {
     @TableField(exist=false)
     private String shopName;
 
+    @TableField(exist=false)
     private String label;
 }

+ 10 - 0
yami-shop-platform/src/main/java/com/yami/shop/platform/controller/hb/StoreManagementController.java

@@ -80,4 +80,14 @@ public class StoreManagementController {
         return R.SUCCESS(storeManagementService.detail(id));
     }
 
+
+    /**
+     * 更改门店经营状态
+     */
+    @PostMapping("/updateStatus")
+    public R status(@RequestBody JSONObject HBRequest) {
+        log.info("海博变更门店经营状态{}", HBRequest);
+        storeManagementService.updateStatus(HBRequest);
+        return R.SUCCESS();
+    }
 }

+ 2 - 2
yami-shop-platform/src/main/resources/application-prod.yml

@@ -21,6 +21,6 @@ logging:
 
 hb:
   host: https://api-open.hiboos.com
-  appId: a4ab0376fde34b81a99335ff91adddf7
-  secret: ba167357df0a4e8dad4e3b62a2b54064
+  appId: 71ad2626c0124ca1a5c07cf5ca818c43
+  secret: f655f69f962f427db1f0436fd34cd998
 

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

@@ -45,7 +45,7 @@ public interface OrderMapper extends BaseMapper<Order> {
 
     UserShoppingDataDto calculateUserInShopData(@Param("shopId") Long shopId, @Param("userId") String userId);
 
-    List<MyOrderDto> listMyOrderByUserIdAndStatus(@Param("adapter") PageAdapter adapter, @Param("userId") String userId, @Param("status") Integer status);
+    List<MyOrderDto> listMyOrderByUserIdAndStatus(@Param("adapter") PageAdapter adapter, @Param("userId") String userId, @Param("status") Integer status,@Param("dvyType") Integer dvyType);
 
     Long countMyOrderByUserIdAndStatus(@Param("userId") String userId, @Param("status") Integer status, @Param("isComm") Integer isComm);
 
@@ -116,4 +116,6 @@ public interface OrderMapper extends BaseMapper<Order> {
                                                            @Param("isComm") Integer isComm);
     long countOrderItemComment(@Param("userId") String userId, @Param("isComm") Integer isComm);
 
+    void updateByToPaySuccessDelivery(@Param("orderNumbers") List<String> orderNumbers, @Param("payType") Integer payType);
+
 }

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

@@ -55,6 +55,14 @@ public interface ShopDetailMapper extends BaseMapper<ShopDetail> {
      */
     void updateStatus(@Param("shopId") Long shopId, @Param("status") Integer status);
 
+
+    /**
+     * 修改营业状态和经营状态
+     * @return
+     */
+    void hbUpdateStatus(@Param("shopId") Long shopId, @Param("shopStatus") Integer shopStatus, @Param("runStatus") Integer runStatus);
+
+
     List<ShopHeadInfoDto> listHotShopsHead();
 
     Page<ShopHeadInfoDto> searchShops(@Param("page") PageParam<ShopHeadInfoDto> page, @Param("shopHeadInfoDto") ShopHeadInfoDto shopHeadInfoDto);

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

@@ -31,7 +31,7 @@ public interface MyOrderService extends IService<Order> {
 	 * @param status 订单状态
 	 * @return
 	 */
-	IPage<MyOrderDto> pageMyOrderByUserIdAndStatus(Page<MyOrderDto> page, String userId, Integer status);
+	IPage<MyOrderDto> pageMyOrderByUserIdAndStatus(Page<MyOrderDto> page, String userId, Integer status,Integer dvyType);
 
 	/**
 	 * 通过用户id和订单状态分页获取订单信息

+ 5 - 0
yami-shop-service/src/main/java/com/yami/shop/service/hb/IStoreManagementService.java

@@ -64,4 +64,9 @@ public interface IStoreManagementService {
      * @return 门店列表
      */
     IPage<ShopDetail> page(ShopDetail shopDetail, PageParam<ShopDetail> page);
+
+    /**
+     * 更改门店状态
+     */
+    void updateStatus(JSONObject HBRequest);
 }

+ 25 - 0
yami-shop-service/src/main/java/com/yami/shop/service/hb/impl/StoreManagementService.java

@@ -227,4 +227,29 @@ public class StoreManagementService implements IStoreManagementService {
                 .eq(shopDetail.getHbStationId() != null, ShopDetail::getHbStationId, shopDetail.getHbStationId())
         );
     }
+
+    @Override
+    public void updateStatus(JSONObject HBRequest) {
+        log.info("海博修改门店状态{}", HBRequest);
+        JSONObject body = HBRequest.getJSONObject("body");
+
+        String outStationNo = body.getString("outStationNo");
+        String stationId = body.getString("stationId");
+
+
+        String hb = doGetStation(outStationNo);
+        JSONObject goodsInfoJson = JSON.parseObject(hb);
+        // 2. 逐层解析获取result
+        JSONObject result = goodsInfoJson.getJSONObject("result");
+        JSONObject resultData = result.getJSONObject("result");
+        Integer businessStatus = resultData.getInteger("businessStatus");
+        Integer runStatus = resultData.getInteger("runStatus");
+        ShopDetail shopDetail = shopDetailMapper.selectByHbStationId(stationId);
+        if (shopDetail != null) {
+            shopDetailMapper.hbUpdateStatus(shopDetail.getShopId(), businessStatus, runStatus);
+        }else {
+            log.error("不存在门店{}", stationId);
+        }
+
+    }
 }

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

@@ -43,8 +43,8 @@ public class MyOrderServiceImpl extends ServiceImpl<OrderMapper, Order> implemen
     private final OrderMapper orderMapper;
 
     @Override
-    public IPage<MyOrderDto> pageMyOrderByUserIdAndStatus(Page<MyOrderDto> page, String userId, Integer status) {
-        List<MyOrderDto> myOrderDtos = orderMapper.listMyOrderByUserIdAndStatus(new PageAdapter(page), userId, status);
+    public IPage<MyOrderDto> pageMyOrderByUserIdAndStatus(Page<MyOrderDto> page, String userId, Integer status,Integer dvyType) {
+        List<MyOrderDto> myOrderDtos = orderMapper.listMyOrderByUserIdAndStatus(new PageAdapter(page), userId, status,dvyType);
         SimpleDateFormat sdf = new SimpleDateFormat("MM月dd日$HH:mm");
         for (MyOrderDto myOrderDto : myOrderDtos) {
             if (StrUtil.isBlank(myOrderDto.getShopName())) {

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

@@ -1073,6 +1073,8 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
             Integer auditType = bodyStr.getInteger("auditType");
             Integer applyDeal = bodyStr.getInteger("applyDeal");
 
+            log.info("退款单状态bodyStr.getInteger{}", bodyStr.getInteger("refundStatus"));
+
             if (ObjectUtil.isNotEmpty(applyDeal)) {
                 if (applyDeal == 40) {
                     applyDeal = 2;
@@ -1104,7 +1106,13 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
             } else {
                 //审核通过
                 orderRefund.setApplyType(applyDeal);
-                orderRefund.setReturnMoneySts(ReturnMoneyStsType.SUCCESS.value());
+
+                if (applyDeal != null && applyDeal.equals(10)){
+                    orderRefund.setReturnMoneySts(ReturnMoneyStsType.SUCCESS.value());
+                }else{
+
+                    orderRefund.setReturnMoneySts(ReturnMoneyStsType.SUCCESS.value());
+                }
                 orderRefundMapper.updateById(orderRefund);
 
                 //生成待商家审核记录
@@ -1117,6 +1125,7 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
                 orderRefundRecordMapper.insert(orderRefundRecord1);
             }
             //推送商家审核状态后 同步退款单状态
+
             changeStatus(orderRefund.getRefundSn(), orderRefund.getReturnMoneySts());
         } catch (Exception e) {
             log.error("海博退款订单查询异常:{}", e);
@@ -1136,21 +1145,19 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
             Integer auditType = bodyStr.getInteger("auditType");
 
             OrderRefund orderRefund = orderRefundMapper.selectOne(new LambdaQueryWrapper<OrderRefund>().eq(OrderRefund::getRefundSn, afterSaleOrder));
-            if (auditType == 2 || auditType == 4) {
-                orderRefund.setIsReceiver(true);
-                orderRefund.setReturnMoneySts(ReturnMoneyStsType.PROCESSING.value());
-            } else {
-                orderRefund.setReturnMoneySts(ReturnMoneyStsType.REJECT.value());
-                orderRefund.setRejectMessage(bodyStr.getString("reason"));
-            }
-            orderRefundMapper.updateById(orderRefund);
-
-            //3:驳回
             if (auditType == 3) {
+                //3:驳回
                 Order orderByOrderNumber = orderService.getOrderByOrderNumber(channelOrderId);
                 orderByOrderNumber.setRefundStatus(4);
                 orderService.updateById(orderByOrderNumber);
+
+                orderRefund.setReturnMoneySts(ReturnMoneyStsType.REJECT.value());
+                orderRefund.setRejectMessage(bodyStr.getString("reason"));
+            } else {
+                orderRefund.setIsReceiver(true);
+                orderRefund.setReturnMoneySts(ReturnMoneyStsType.PROCESSING.value());
             }
+            orderRefundMapper.updateById(orderRefund);
         } catch (Exception e) {
             log.error("海博退款订单查询异常:{}", e);
             HBR.error("未知异常");

+ 3 - 0
yami-shop-service/src/main/java/com/yami/shop/service/impl/PayServiceImpl.java

@@ -118,6 +118,9 @@ public class PayServiceImpl implements PayService {
         // 将订单改为已支付状态
         orderMapper.updateByToPaySuccess(orderNumbers, payType);
 
+        //快递订单
+        orderMapper.updateByToPaySuccessDelivery(orderNumbers, payType);
+
         List<OrderItem> allOrderItem = new ArrayList<>();
 
         List<Order> orders = orderNumbers.stream().map(orderNumber -> {

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

@@ -45,6 +45,7 @@
         <result column="hb_logistic_status" property="hbLogisticStatus"/>
         <result column="offset_points" property="offsetPoints"/>
         <result column="pay_time" property="payTime"/>
+        <result column="dvy_type" property="dvyType"/>
         <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"/>
@@ -230,13 +231,22 @@
     </update>
 
     <update id="updateByToPaySuccess">
-        update tz_order set `hb_order_status` = 20,is_payed =1,update_time=NOW(),pay_time=NOW(),pay_type =#{payType} where
+        update tz_order set `hb_order_status` = 20,is_payed =1,update_time=NOW(),pay_time=NOW(),pay_type =#{payType} where dvy_type=3 and
         order_number in
         <foreach collection="orderNumbers" item="orderNumber" separator="," open="(" close=")">
             #{orderNumber}
         </foreach>
     </update>
 
+    <update id="updateByToPaySuccessDelivery">
+        update tz_order set `hb_order_status` = 1,is_payed =1,update_time=NOW(),pay_time=NOW(),pay_type =#{payType} where dvy_type=1 and
+        order_number in
+        <foreach collection="orderNumbers" item="orderNumber" separator="," open="(" close=")">
+            #{orderNumber}
+        </foreach>
+    </update>
+
+
     <select id="listOrdersDetialByOrder" resultMap="orderAndOrderItemAndUserAddrMap">
         select o.*,oi.*,oi.prod_name as item_prod_name,o.prod_name as order_prod_name,uao.* ,oi.hb_order_status as oi_status
         from tz_order o
@@ -513,6 +523,7 @@
         o.hb_logistic_status,
         o.offset_points,
         o.pay_time,
+        o.dvy_type,
         (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,
@@ -523,19 +534,23 @@
             temp.hb_logistic_status,
             temp.offset_points,
             temp.pay_time,
+            temp.dvy_type,
             temp.order_id, temp.create_time, temp.freight_amount,temp.order_number,temp.actual_total,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
             <choose>
                 <when test="20 == status">
-                    temp.hb_order_status IN (20,30,40)
+                    temp.hb_order_status IN (1,20,30,40)
                 </when>
                 <otherwise>
                     temp.hb_order_status = #{status}
                 </otherwise>
             </choose>
+        </if>
 
+        <if test="dvyType != null">
+            AND temp.dvy_type = #{dvyType}
         </if>
         ORDER BY temp.create_time DESC
         LIMIT #{adapter.begin} , #{adapter.size}

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

@@ -60,6 +60,14 @@
             sd.`shop_status` = #{status}
         WHERE sd.`shop_id` = #{shopId}
     </update>
+
+    <update id="hbUpdateStatus">
+        UPDATE tz_shop_detail
+        SET update_time = NOW(),
+            shop_status = #{shopStatus},
+            run_status = #{runStatus}
+        WHERE shop_id = #{shopId}
+    </update>
     <select id="listHotShopsHead" resultType="com.yami.shop.bean.app.dto.ShopHeadInfoDto">
         SELECT sd.`shop_id`,
                sd.`out_station_no`,