ltt il y a 1 an
Parent
commit
f43d26d6ce

+ 1 - 0
.idea/compiler.xml

@@ -2,6 +2,7 @@
 <project version="4">
   <component name="CompilerConfiguration">
     <annotationProcessing>
+      <profile default="true" name="Default" enabled="true" />
       <profile name="Maven default annotation processors profile" enabled="true">
         <sourceOutputDir name="target/generated-sources/annotations" />
         <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />

+ 17 - 0
business-modules/business-mine/src/main/java/com/sckw/mine/controller/MineController.java

@@ -1,6 +1,7 @@
 package com.sckw.mine.controller;
 
 import com.sckw.core.web.response.HttpResult;
+import com.sckw.mine.entity.req.CompleteOrderParam;
 import com.sckw.mine.entity.req.MineOrderPageListParam;
 import com.sckw.mine.entity.req.MineAddParam;
 import com.sckw.mine.service.MineService;
@@ -65,10 +66,26 @@ public class MineController {
         return HttpResult.ok(mineService.getStatusCountListInSingleQuery());
     }
 
+    /**
+    * @Description: 流程
+    * @Author: Lt
+    * @Date: 2024/5/28 0028 11:06  
+    */
     @GetMapping("/order/getActionTrackByMineOrderId")
     public HttpResult getActionTrackByMineOrderId(@RequestParam("orderId") String orderId)
     {
         return HttpResult.ok(mineService.getActionTrackByMineOrderId(orderId));
     }
 
+    /**
+     * @Description: 完结订单
+     * @Author: Lt
+     * @Date: 2024/5/28 11:06
+     */
+    @PostMapping ("/order/completeOrder")
+    public HttpResult completeOrder(@RequestBody @Valid CompleteOrderParam completeOrderParam)
+    {
+        return HttpResult.ok(mineService.completeOrder(completeOrderParam));
+    }
+
 }

+ 18 - 0
business-modules/business-mine/src/main/java/com/sckw/mine/entity/req/CompleteOrderParam.java

@@ -0,0 +1,18 @@
+package com.sckw.mine.entity.req;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Getter;
+
+/**
+ * @desc:
+ * @author: Lt
+ * @date: 2024-05-28
+ */
+@Getter
+public class CompleteOrderParam {
+
+    @NotBlank(message = "缺少参数:orderId")
+    private String orderId;
+
+    private String remark;
+}

+ 35 - 4
business-modules/business-mine/src/main/java/com/sckw/mine/service/MineService.java

@@ -12,6 +12,7 @@ import com.sckw.mine.entity.KwBusinessActionTrack;
 import com.sckw.mine.entity.KwBusinessMine;
 import com.sckw.mine.entity.KwBusinessMineOrder;
 import com.sckw.mine.entity.KwBusinessTransportOrderNo;
+import com.sckw.mine.entity.req.CompleteOrderParam;
 import com.sckw.mine.entity.req.MineOrderPageListParam;
 import com.sckw.mine.entity.req.MineAddParam;
 import com.sckw.mine.entity.res.MineOrderDetailRes;
@@ -151,11 +152,11 @@ public class MineService {
      * @Author: Lt
      * @Date: 2024/5/27 15:37
      */
-    public void saveActionTrack(Long mainId, Integer status, String remark) {
+    public void saveActionTrack(Long mineOrderId, Integer status, String remark) {
         KwBusinessActionTrack kwBusinessActionTrack = new KwBusinessActionTrack();
         kwBusinessActionTrack.setId(new IdWorker(1L).nextId());
-        kwBusinessActionTrack.setMineOrderId(mainId);
-        kwBusinessActionTrack.setContent("订单" + MineStatusEnum.getNameByCode(status));
+        kwBusinessActionTrack.setMineOrderId(mineOrderId);
+        kwBusinessActionTrack.setContent(MineStatusEnum.getNameByCode(status));
         kwBusinessActionTrack.setStatus(status);
         kwBusinessActionTrack.setRemark(remark);
         kwBusinessActionTrackMapper.insert(kwBusinessActionTrack);
@@ -186,6 +187,9 @@ public class MineService {
     }
 
     public List<OrderFlowStepRes> getActionTrackByMineOrderId(String orderId) {
+        //TODO 根据订单的work_flow字段决定是哪一个订单流
+
+
         // 定义订单的标准流程
         List<MineStatusEnum> orderFlowEnums = MineStatusEnum.getSortList();
         List<OrderFlowStepRes> orderFlowSteps = orderFlowEnums.stream()
@@ -215,7 +219,7 @@ public class MineService {
         // 设置提前完结步骤
         if (orderCompleted && completedStepIndex != -1) {
             OrderFlowStepRes completedStep = orderFlowSteps.get(completedStepIndex);
-            completedStep.setName(completedStep.getName() + "(完结订单)");
+            completedStep.setName(completedStep.getName() + "(提前完结)");
             completedStep.setColor("orange");
 
             for (int i = 0; i < completedStepIndex; i++) {
@@ -230,5 +234,32 @@ public class MineService {
         return orderFlowSteps;
     }
 
+    /**
+    * @Description: 完结订单
+    * @Author: Lt
+    * @Date: 2024/5/28 11:26
+    */
+    public String completeOrder(CompleteOrderParam completeOrderParam)
+    {
+        KwBusinessMineOrder kwBusinessMineorder = mineOrderMapper.selectById(completeOrderParam.getOrderId());
+        if (ObjectUtils.isNull(kwBusinessMineorder))
+        {
+            throw new RuntimeException("未找到当前订单");
+        }
+        if(kwBusinessMineorder.getIsTransport() != 2){
+            throw new RuntimeException("当前订单不是非自有订单");
+        }
+        if (kwBusinessMineorder.getStatus().equals(MineStatusEnum.EIGHT.getCode())) {
+            throw new RuntimeException("当前订单已完结,请勿重复操作");
+        }
+        kwBusinessMineorder.setStatus(MineStatusEnum.EIGHT.getCode());
+        mineOrderMapper.updateById(kwBusinessMineorder);
+        saveActionTrack(Long.valueOf(completeOrderParam.getOrderId()), MineStatusEnum.EIGHT.getCode(), completeOrderParam.getRemark());
+
+        return "完结成功";
+
+
+    }
+
 
 }