Przeglądaj źródła

feat:自提订单联调

caoliqin 1 tydzień temu
rodzic
commit
73be114865

+ 18 - 1
fs-company/src/main/java/com/fs/hisStore/controller/FsStorePaymentScrmController.java

@@ -32,9 +32,12 @@ import com.fs.his.mapper.FsHfpayConfigMapper;
 import com.fs.his.service.IMerchantAppConfigService;
 import com.fs.hisStore.domain.FsStorePaymentScrm;
 import com.fs.hisStore.domain.FsStoreOrderItemScrm;
+import com.fs.hisStore.domain.FsStoreOrderScrm;
 import com.fs.hisStore.domain.FsStoreProductScrm;
+import com.fs.hisStore.enums.OrderInfoEnum;
 import com.fs.hisStore.param.FsStorePaymentParam;
 import com.fs.hisStore.service.IFsStoreOrderItemScrmService;
+import com.fs.hisStore.service.IFsStoreOrderScrmService;
 import com.fs.hisStore.service.IFsStoreProductScrmService;
 import com.fs.hisStore.service.IFsStorePaymentScrmService;
 import com.fs.hisStore.vo.FsStorePaymentVO;
@@ -99,6 +102,8 @@ public class FsStorePaymentScrmController extends BaseController
     private IFsStoreOrderItemScrmService fsStoreOrderItemService;
     @Autowired
     private IFsStoreProductScrmService fsStoreProductService;
+    @Autowired
+    private IFsStoreOrderScrmService fsStoreOrderScrmService;
     /**
      * 查询支付明细列表
      */
@@ -210,7 +215,7 @@ public class FsStorePaymentScrmController extends BaseController
     public R refundStorePayment(@RequestBody FsStorePaymentScrm fsStorePayment)
     {
         FsStorePaymentScrm payment=fsStorePaymentService.selectFsStorePaymentById(fsStorePayment.getPaymentId());
-        String businessOrderId = fsStorePayment.getBusinessOrderId();
+        String businessOrderId = payment.getBusinessOrderId();
         if (StringUtils.isEmpty(businessOrderId)) {
             return R.error("没有关联的订单");
         }
@@ -273,6 +278,18 @@ public class FsStorePaymentScrmController extends BaseController
                     payment.setStatus(-1);
                     payment.setRefundTime(new Date());
                     fsStorePaymentService.updateFsStorePayment(payment);
+                    if (StringUtils.isNotEmpty(payment.getBusinessOrderId())) {
+                        Long orderId = Long.valueOf(payment.getBusinessOrderId());
+                        FsStoreOrderScrm order = fsStoreOrderScrmService.selectFsStoreOrderById(orderId);
+                        if (order != null) {
+                            order.setStatus(OrderInfoEnum.STATUS_NE2.getValue());
+                            order.setRefundPrice(payment.getRefundMoney());
+                            order.setRefundStatus(OrderInfoEnum.REFUND_STATUS_2.getValue());
+                            order.setRefundReason("销售主动退款");
+                            order.setRefundReasonTime(new Date());
+                            fsStoreOrderScrmService.updateFsStoreOrder(order);
+                        }
+                    }
                     //收款 减去所有
                     if(payment.getCompanyId()!=null&&payment.getCompanyId()>0){
                         companyService.subCompanyPaymentMoney(payment);

+ 2 - 0
fs-service/src/main/java/com/fs/his/service/IFsStorePaymentService.java

@@ -150,4 +150,6 @@ public interface IFsStorePaymentService
 
     R sendAppRedPacket(WxSendRedPacketParam packetParam,CourseConfig config);
     R sendAppLiveRedPacket(WxSendRedPacketParam packetParam);
+
+    List<FsStorePayment> selectByBusinessTypeAndBusinessCode(int businessType, String businessCode);
 }

+ 3 - 1
fs-service/src/main/java/com/fs/hisStore/param/FsStoreOrderPickAddParam.java

@@ -26,12 +26,14 @@ public class FsStoreOrderPickAddParam {
     private Integer productNum;
 
     /** 所属公司 */
+    @NotNull
     private Long companyId;
 
     /** 所属销售 */
+    @NotNull
     private Long companyUserId;
 
-    /** 部id */
+    /** 部id */
     private Long deptId;
 
 //    private String itemJson;

+ 20 - 0
fs-service/src/main/java/com/fs/hisStore/param/FsStoreOrderPickListParam.java

@@ -8,6 +8,15 @@ import lombok.Data;
 @Data
 public class FsStoreOrderPickListParam {
 
+    /**
+     * 页码
+     */
+    private Integer pageNum;
+    /**
+     * 每页数量
+     */
+    private Integer pageSize;
+
     /**
      * 订单号
      */
@@ -17,5 +26,16 @@ public class FsStoreOrderPickListParam {
      * 核销状态,1-待核销,2-已核销,3-已取消
      */
     private Integer redeemedStatus;
+
+    /**
+     * 订单状态(0 待支付 1 待发货 2 待收货 3 交易完成 -1退款中 -2已退款 -3已取消)
+     */
+    private Integer status;
+
+    /**
+     * 配送方式 1=快递 ,2=门店自提
+     */
+    private Integer shippingType;
+
 }
 

+ 6 - 0
fs-service/src/main/java/com/fs/hisStore/param/FsStoreOrderPickRedeemParam.java

@@ -12,6 +12,12 @@ public class FsStoreOrderPickRedeemParam {
     @NotNull(message = "核销人员id不能为空")
     private Long redeemedUserId;
 
+    @NotNull(message = "销售id")
+    private Long companyUserId;
+
+    @NotNull(message = "公司id")
+    private Long companyId;
+
     /**
      * 取消订单说明
      */

+ 9 - 4
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreOrderPickServiceImpl.java

@@ -374,9 +374,14 @@ public class FsStoreOrderPickServiceImpl extends ServiceImpl<FsStoreOrderPickMap
             return R.error("收货地址不存在");
         }
         updateOrder.setRealName(address.getRealName());
-        updateOrder.setUserPhone(address.getPhone());
-        updateOrder.setUserAddress(address.getProvince() + " " + address.getCity() + " " + address.getDistrict() + " " + address.getDetail());
 
+        // 电话解密
+        if(address.getPhone() != null && address.getPhone().length() > 11) {
+            updateOrder.setUserPhone(PhoneUtil.decryptPhone(address.getPhone()));
+        } else {
+            updateOrder.setUserPhone(address.getPhone());
+        }
+        updateOrder.setUserAddress(address.getProvince() + " " + address.getCity() + " " + address.getDistrict() + " " + address.getDetail());
         updateOrder.setUpdateTime(DateUtils.getNowDate());
         fsStoreOrderScrmMapper.updateFsStoreOrder(updateOrder);
         return R.ok();
@@ -662,8 +667,8 @@ public class FsStoreOrderPickServiceImpl extends ServiceImpl<FsStoreOrderPickMap
         record.setOrderId(order.getId());
         record.setOrderCode(order.getOrderCode());
         record.setRedeemedTime(now);
-        record.setCompanyUserId(order.getCompanyUserId());
-        record.setCompanyId(order.getCompanyId());
+        record.setCompanyUserId(param.getCompanyUserId());
+        record.setCompanyId(param.getCompanyId());
         record.setRedeemedUserId(param.getRedeemedUserId().toString());
         record.setStatus(1);
         int insertRows = fsStoreRedeemedRecordService.insertFsStoreRedeemedRecord(record);

+ 3 - 0
fs-service/src/main/resources/mapper/hisStore/FsStoreOrderScrmMapper.xml

@@ -177,6 +177,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="courseId != null and courseId != ''"> and course_id = #{courseId}</if>
             <if test="periodId != null"> and period_id = #{periodId}</if>
         </where>
+        <if test="isPickup != null ">
+            order by create_time desc
+        </if>
     </select>
 
     <select id="selectShoppingPointsPendingOrders" resultMap="FsStoreOrderResult">

+ 2 - 2
fs-service/src/main/resources/mapper/hisStore/FsStoreProductScrmMapper.xml

@@ -394,8 +394,8 @@
             <if test="isPickup != null">#{isPickup},</if>
             <if test="shippingType != null">#{shippingType},</if>
             <if test="isAllowSalesRefund != null">#{isAllowSalesRefund},</if>
-            <if test="userTempId != null">#{user_temp_id},</if>
-            <if test="userRecordId != null">#{user_record_id},</if>
+            <if test="userTempId != null">#{userTempId},</if>
+            <if test="userRecordId != null">#{userRecordId},</if>
             <if test="shareRate != null">#{shareRate},</if>
         </trim>
     </insert>

+ 4 - 1
fs-user-app/src/main/java/com/fs/app/controller/store/FsStoreOrderPickController.java

@@ -9,6 +9,7 @@ import com.fs.hisStore.domain.FsStoreOrderScrm;
 import com.fs.hisStore.param.*;
 import com.fs.hisStore.service.IFsStoreOrderPickService;
 import com.fs.hisStore.service.IFsStoreOrderScrmService;
+import com.github.pagehelper.PageHelper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -44,7 +45,9 @@ public class FsStoreOrderPickController extends AppBaseController
         fsStoreOrder.setOrderCode(param.getOrderCode());
         fsStoreOrder.setRedeemedStatus(param.getRedeemedStatus());
         fsStoreOrder.setIsPickup(1);
-        startPage();
+        fsStoreOrder.setStatus(param.getStatus());
+        fsStoreOrder.setShippingType(param.getShippingType());
+        PageHelper.startPage(param.getPageNum(), param.getPageSize());
         List<FsStoreOrderScrm> list = fsStoreOrderScrmService.selectFsStoreOrderList(fsStoreOrder);
         return R.okData(list);
     }