|
@@ -1,43 +1,34 @@
|
|
|
package com.sckw.mine.service;
|
|
package com.sckw.mine.service;
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
+import cn.hutool.json.ObjectMapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
import com.github.pagehelper.PageInfo;
|
|
|
|
|
+import com.google.gson.Gson;
|
|
|
|
|
+import com.google.gson.reflect.TypeToken;
|
|
|
|
|
+import com.sckw.core.model.constant.Global;
|
|
|
import com.sckw.core.model.page.PageRes;
|
|
import com.sckw.core.model.page.PageRes;
|
|
|
import com.sckw.core.utils.IdWorker;
|
|
import com.sckw.core.utils.IdWorker;
|
|
|
import com.sckw.core.utils.TenantUtil;
|
|
import com.sckw.core.utils.TenantUtil;
|
|
|
import com.sckw.core.web.response.HttpResult;
|
|
import com.sckw.core.web.response.HttpResult;
|
|
|
import com.sckw.mine.common.OrderServerCommon;
|
|
import com.sckw.mine.common.OrderServerCommon;
|
|
|
-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.*;
|
|
|
|
|
+import com.sckw.mine.entity.dto.NodeStatusDTO;
|
|
|
import com.sckw.mine.entity.req.CompleteOrderParam;
|
|
import com.sckw.mine.entity.req.CompleteOrderParam;
|
|
|
import com.sckw.mine.entity.req.MineOrderPageListParam;
|
|
import com.sckw.mine.entity.req.MineOrderPageListParam;
|
|
|
import com.sckw.mine.entity.req.MineAddParam;
|
|
import com.sckw.mine.entity.req.MineAddParam;
|
|
|
import com.sckw.mine.entity.res.MineOrderDetailRes;
|
|
import com.sckw.mine.entity.res.MineOrderDetailRes;
|
|
|
import com.sckw.mine.entity.res.MineOrderPageListRes;
|
|
import com.sckw.mine.entity.res.MineOrderPageListRes;
|
|
|
-import com.sckw.mine.entity.res.OrderFlowStepRes;
|
|
|
|
|
import com.sckw.mine.enums.MineStatusEnum;
|
|
import com.sckw.mine.enums.MineStatusEnum;
|
|
|
import com.sckw.mine.enums.TransportUnderEnum;
|
|
import com.sckw.mine.enums.TransportUnderEnum;
|
|
|
-import com.sckw.mine.mapper.KwBusinessActionTrackMapper;
|
|
|
|
|
-import com.sckw.mine.mapper.MineMapper;
|
|
|
|
|
-import com.sckw.mine.mapper.MineOrderMapper;
|
|
|
|
|
-import com.sckw.mine.mapper.TransportOrderNoMapper;
|
|
|
|
|
-import com.sckw.redis.utils.GenOrderCode;
|
|
|
|
|
|
|
+import com.sckw.mine.mapper.*;
|
|
|
|
|
+import com.sckw.redis.utils.RedissonUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
-import java.time.LocalDate;
|
|
|
|
|
-import java.time.LocalDateTime;
|
|
|
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
|
-import java.util.ArrayList;
|
|
|
|
|
-import java.util.Arrays;
|
|
|
|
|
-import java.util.List;
|
|
|
|
|
-import java.util.Map;
|
|
|
|
|
-import java.util.concurrent.ThreadLocalRandom;
|
|
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @desc:
|
|
* @desc:
|
|
@@ -62,10 +53,13 @@ public class MineService {
|
|
|
KwBusinessActionTrackMapper kwBusinessActionTrackMapper;
|
|
KwBusinessActionTrackMapper kwBusinessActionTrackMapper;
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
- private GenOrderCode genOrderCode;
|
|
|
|
|
|
|
+ OrderServerCommon orderServerCommon;
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
- OrderServerCommon orderServerCommon;
|
|
|
|
|
|
|
+ NodeMapper nodeMapper;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ WorkFlowNodeMapper workFlowNodeMapper;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @Description: 矿山域订单添加
|
|
* @Description: 矿山域订单添加
|
|
@@ -106,7 +100,7 @@ public class MineService {
|
|
|
mineMapper.insert(kwBusinessMine);
|
|
mineMapper.insert(kwBusinessMine);
|
|
|
}
|
|
}
|
|
|
//添加操作记录
|
|
//添加操作记录
|
|
|
- orderServerCommon.saveActionTrack(orderId, mineAddParam.getStatus(), null, "T");
|
|
|
|
|
|
|
+ orderServerCommon.saveActionTrack(orderId, String.valueOf(mineAddParam.getStatus()), null, "T");
|
|
|
|
|
|
|
|
return "添加成功";
|
|
return "添加成功";
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
@@ -127,6 +121,9 @@ public class MineService {
|
|
|
if (ObjectUtils.isNotNull(e.getOrderSource())) {
|
|
if (ObjectUtils.isNotNull(e.getOrderSource())) {
|
|
|
e.setOrderSourceStr(e.getOrderSource() == 1 ? "生产自建" : "销售流转");
|
|
e.setOrderSourceStr(e.getOrderSource() == 1 ? "生产自建" : "销售流转");
|
|
|
}
|
|
}
|
|
|
|
|
+ if (ObjectUtils.isNotNull(e.getStatus())){
|
|
|
|
|
+ e.setStatusStr(getStatusStr(e.getStatus()));
|
|
|
|
|
+ }
|
|
|
});
|
|
});
|
|
|
return HttpResult.ok(new PageRes<>(new PageInfo<>(businessTruckPageListRes)));
|
|
return HttpResult.ok(new PageRes<>(new PageInfo<>(businessTruckPageListRes)));
|
|
|
}
|
|
}
|
|
@@ -134,7 +131,7 @@ public class MineService {
|
|
|
/**
|
|
/**
|
|
|
* @Description: 订单详情
|
|
* @Description: 订单详情
|
|
|
* @Author: Lt
|
|
* @Author: Lt
|
|
|
- * @Date: 2024/5/27 0027 15:54
|
|
|
|
|
|
|
+ * @Date: 2024/5/27 15:54
|
|
|
*/
|
|
*/
|
|
|
public MineOrderDetailRes detail(String orderId) {
|
|
public MineOrderDetailRes detail(String orderId) {
|
|
|
MineOrderDetailRes kwBusinessMineOrder = mineOrderMapper.selectOrderById(orderId);
|
|
MineOrderDetailRes kwBusinessMineOrder = mineOrderMapper.selectOrderById(orderId);
|
|
@@ -142,7 +139,8 @@ public class MineService {
|
|
|
throw new RuntimeException("当前数据不存在");
|
|
throw new RuntimeException("当前数据不存在");
|
|
|
}
|
|
}
|
|
|
if (ObjectUtils.isNotNull(kwBusinessMineOrder.getStatus())) {
|
|
if (ObjectUtils.isNotNull(kwBusinessMineOrder.getStatus())) {
|
|
|
- kwBusinessMineOrder.setStatusStr(MineStatusEnum.getNameByCode(kwBusinessMineOrder.getStatus()));
|
|
|
|
|
|
|
+
|
|
|
|
|
+ kwBusinessMineOrder.setStatusStr(getStatusStr(kwBusinessMineOrder.getStatus()));
|
|
|
}
|
|
}
|
|
|
if (ObjectUtils.isNotNull(kwBusinessMineOrder.getOrderSource())) {
|
|
if (ObjectUtils.isNotNull(kwBusinessMineOrder.getOrderSource())) {
|
|
|
kwBusinessMineOrder.setOrderSourceStr(kwBusinessMineOrder.getOrderSource() == 1 ? "生产自建" : "销售流转");
|
|
kwBusinessMineOrder.setOrderSourceStr(kwBusinessMineOrder.getOrderSource() == 1 ? "生产自建" : "销售流转");
|
|
@@ -152,15 +150,96 @@ public class MineService {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @Description: 获取状态中文
|
|
|
|
|
+ * @Author: Lt
|
|
|
|
|
+ * @Date: 2024/6/5 15:49
|
|
|
|
|
+ */
|
|
|
|
|
+ private String getStatusStr(String status)
|
|
|
|
|
+ {
|
|
|
|
|
+ String tenantId = TenantUtil.getTenant();
|
|
|
|
|
+ Object node = RedissonUtils.get(tenantId + "node");
|
|
|
|
|
+ if (Objects.isNull(node)) {
|
|
|
|
|
+ List<NodeStatusDTO> sortedEnums = nodeMapper.selectListNode(tenantId);
|
|
|
|
|
+
|
|
|
|
|
+ // 创建要追加在最前面的元素
|
|
|
|
|
+ NodeStatusDTO firstElement = new NodeStatusDTO();
|
|
|
|
|
+ firstElement.setMsg(MineStatusEnum.getNameByCode(MineStatusEnum.ZERO.getCode()));
|
|
|
|
|
+ firstElement.setCode(String.valueOf(MineStatusEnum.ZERO.getCode()));
|
|
|
|
|
+
|
|
|
|
|
+ // 创建要追加在最后的元素
|
|
|
|
|
+ NodeStatusDTO lastElement = new NodeStatusDTO();
|
|
|
|
|
+ lastElement.setMsg(MineStatusEnum.getNameByCode(MineStatusEnum.TWENTY.getCode()));
|
|
|
|
|
+ lastElement.setCode(String.valueOf(MineStatusEnum.TWENTY.getCode()));
|
|
|
|
|
+
|
|
|
|
|
+ NodeStatusDTO twoElement = new NodeStatusDTO();
|
|
|
|
|
+ twoElement.setMsg(MineStatusEnum.getNameByCode(MineStatusEnum.FIFTEEN.getCode()));
|
|
|
|
|
+ twoElement.setCode(String.valueOf(MineStatusEnum.FIFTEEN.getCode()));
|
|
|
|
|
+
|
|
|
|
|
+ // 将元素追加到列表的最前面
|
|
|
|
|
+ sortedEnums.add(0, firstElement);
|
|
|
|
|
+ sortedEnums.add(1, twoElement);
|
|
|
|
|
+
|
|
|
|
|
+ // 将元素追加到列表的最后面
|
|
|
|
|
+ sortedEnums.add(lastElement);
|
|
|
|
|
+ Gson gson = new Gson();
|
|
|
|
|
+ RedissonUtils.add(tenantId + "node", gson.toJson(sortedEnums));
|
|
|
|
|
+
|
|
|
|
|
+ if (Objects.equals(status, "0") || Objects.equals(status, "15") || Objects.equals(status, "20")){
|
|
|
|
|
+ return MineStatusEnum.getNameByCode(Integer.valueOf(status));
|
|
|
|
|
+ }else{
|
|
|
|
|
+ for (NodeStatusDTO sortedEnum : sortedEnums) {
|
|
|
|
|
+ if (sortedEnum.getCode().equals(status)) {
|
|
|
|
|
+ return sortedEnum.getName();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }else {
|
|
|
|
|
+ Gson gson = new Gson();
|
|
|
|
|
+ Object o = gson.fromJson((String) node, new TypeToken<List<NodeStatusDTO>>() {}.getType());
|
|
|
|
|
+ List<NodeStatusDTO> sortedEnums = (List<NodeStatusDTO>) o;
|
|
|
|
|
+ for (NodeStatusDTO sortedEnum : sortedEnums) {
|
|
|
|
|
+ if (sortedEnum.getCode().equals(status)) {
|
|
|
|
|
+ return sortedEnum.getMsg();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return "";
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
public List<Map<String, Object>> getStatusCountListInSingleQuery() {
|
|
public List<Map<String, Object>> getStatusCountListInSingleQuery() {
|
|
|
|
|
+ String tenantId = TenantUtil.getTenant();
|
|
|
// 查询每个状态的计数
|
|
// 查询每个状态的计数
|
|
|
- List<Map<String, Object>> statusCounts = mineOrderMapper.countByStatus();
|
|
|
|
|
|
|
+ List<Map<String, Object>> statusCounts = mineOrderMapper.countByStatus(tenantId);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ List<NodeStatusDTO> sortedEnums = nodeMapper.selectListNode(tenantId);
|
|
|
|
|
|
|
|
|
|
+ // 创建要追加在最前面的元素
|
|
|
|
|
+ NodeStatusDTO firstElement = new NodeStatusDTO();
|
|
|
|
|
+ firstElement.setMsg(MineStatusEnum.getNameByCode(MineStatusEnum.ZERO.getCode()));
|
|
|
|
|
+ firstElement.setCode(String.valueOf(MineStatusEnum.ZERO.getCode()));
|
|
|
|
|
+
|
|
|
|
|
+ // 创建要追加在最后的元素
|
|
|
|
|
+ NodeStatusDTO lastElement = new NodeStatusDTO();
|
|
|
|
|
+ lastElement.setMsg(MineStatusEnum.getNameByCode(MineStatusEnum.TWENTY.getCode()));
|
|
|
|
|
+ lastElement.setCode(String.valueOf(MineStatusEnum.TWENTY.getCode()));
|
|
|
|
|
+
|
|
|
|
|
+ NodeStatusDTO twoElement = new NodeStatusDTO();
|
|
|
|
|
+ twoElement.setMsg(MineStatusEnum.getNameByCode(MineStatusEnum.FIFTEEN.getCode()));
|
|
|
|
|
+ twoElement.setCode(String.valueOf(MineStatusEnum.FIFTEEN.getCode()));
|
|
|
|
|
+
|
|
|
|
|
+ // 将元素追加到列表的最前面
|
|
|
|
|
+ sortedEnums.add(0, firstElement);
|
|
|
|
|
+ sortedEnums.add(1, twoElement);
|
|
|
|
|
+
|
|
|
|
|
+ // 将元素追加到列表的最后面
|
|
|
|
|
+ sortedEnums.add(lastElement);
|
|
|
// 将查询结果转换为所需的格式
|
|
// 将查询结果转换为所需的格式
|
|
|
- List<MineStatusEnum> sortedEnums = MineStatusEnum.getSortList();
|
|
|
|
|
|
|
+ //List<MineStatusEnum> sortedEnums = MineStatusEnum.getSortList();
|
|
|
List<Map<String, Object>> result = new ArrayList<>();
|
|
List<Map<String, Object>> result = new ArrayList<>();
|
|
|
- for (MineStatusEnum enumItem : sortedEnums) {
|
|
|
|
|
|
|
+ for (NodeStatusDTO enumItem : sortedEnums) {
|
|
|
Map<String, Object> statusCount = statusCounts.stream()
|
|
Map<String, Object> statusCount = statusCounts.stream()
|
|
|
.filter(c -> enumItem.getCode().equals(c.get("status")))
|
|
.filter(c -> enumItem.getCode().equals(c.get("status")))
|
|
|
.findFirst()
|
|
.findFirst()
|
|
@@ -176,60 +255,74 @@ public class MineService {
|
|
|
return result;
|
|
return result;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public List<OrderFlowStepRes> getActionTrackByMineOrderId(String orderId) {
|
|
|
|
|
- //TODO 根据订单的work_flow字段决定是哪一个订单流
|
|
|
|
|
-
|
|
|
|
|
|
|
|
|
|
- // 定义订单的标准流程
|
|
|
|
|
- List<MineStatusEnum> orderFlowEnums = MineStatusEnum.getSortList();
|
|
|
|
|
- List<OrderFlowStepRes> orderFlowSteps = orderFlowEnums.stream()
|
|
|
|
|
- .map(e -> new OrderFlowStepRes(e.getMsg(), "gray"))
|
|
|
|
|
- .collect(Collectors.toList());
|
|
|
|
|
|
|
+ public List<NodeStatusDTO> getActionTrackByMineOrderId(String orderId) {
|
|
|
|
|
+ // TODO 根据订单的work_flow字段决定是哪一个订单流
|
|
|
|
|
+ KwBusinessMineOrder kwBusinessMineOrder = mineOrderMapper.selectById(orderId);
|
|
|
|
|
+ String flowId = kwBusinessMineOrder.getWorkFlow();
|
|
|
|
|
|
|
|
|
|
+ List<NodeStatusDTO> orderFlowEnums = workFlowNodeMapper.selectListNode(flowId);
|
|
|
// 获取订单的操作记录
|
|
// 获取订单的操作记录
|
|
|
List<KwBusinessActionTrack> actionTracks = kwBusinessActionTrackMapper.findByMainOrderIdOrderByCreateTime(orderId);
|
|
List<KwBusinessActionTrack> actionTracks = kwBusinessActionTrackMapper.findByMainOrderIdOrderByCreateTime(orderId);
|
|
|
|
|
|
|
|
- boolean orderCompleted = false;
|
|
|
|
|
- int completedStepIndex = -1;
|
|
|
|
|
|
|
+ boolean cancelFound = false; // 添加一个标志,表示是否已遇到取消订单状态
|
|
|
|
|
+ boolean rejectFound = false; // 添加一个标志,表示是否已遇到取消订单状态
|
|
|
|
|
+ int cancelIndex = -1; // 用来记录取消订单前的最后一个执行节点索引
|
|
|
|
|
+ String cancelNameAppend = "(" + MineStatusEnum.getNameByCode(MineStatusEnum.TWENTY.getCode()) + ")";
|
|
|
|
|
+ String rejectNameAppend = "(" + MineStatusEnum.getNameByCode(MineStatusEnum.FIFTEEN.getCode()) + ")";
|
|
|
|
|
|
|
|
- for (KwBusinessActionTrack actionTrack : actionTracks) {
|
|
|
|
|
- if (actionTrack.getStatus().equals(MineStatusEnum.EIGHT.getCode())) {
|
|
|
|
|
- orderCompleted = true;
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
- for (int i = 0; i < orderFlowSteps.size(); i++) {
|
|
|
|
|
- OrderFlowStepRes step = orderFlowSteps.get(i);
|
|
|
|
|
- if (step.getName().equals(MineStatusEnum.getNameByCode(actionTrack.getStatus()))) {
|
|
|
|
|
- step.setColor("green");
|
|
|
|
|
- completedStepIndex = i;
|
|
|
|
|
|
|
+ for (int i = 0; i < orderFlowEnums.size(); i++) {
|
|
|
|
|
+ orderFlowEnums.get(i).setColor("gray");
|
|
|
|
|
+
|
|
|
|
|
+ for (KwBusinessActionTrack track : actionTracks) {
|
|
|
|
|
+ if (orderFlowEnums.get(i).getCode().equals(track.getStatus())) {
|
|
|
|
|
+ orderFlowEnums.get(i).setColor("green");
|
|
|
|
|
+ cancelIndex = i; // 更新取消前最后一个执行节点的索引
|
|
|
|
|
+ break;
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
- // 设置提前完结步骤
|
|
|
|
|
- if (orderCompleted && completedStepIndex != -1) {
|
|
|
|
|
- OrderFlowStepRes completedStep = orderFlowSteps.get(completedStepIndex);
|
|
|
|
|
- completedStep.setName(completedStep.getName() + "(提前完结)");
|
|
|
|
|
- completedStep.setColor("orange");
|
|
|
|
|
|
|
+ if (track.getStatus().equals("20") && !cancelFound) {
|
|
|
|
|
+ cancelFound = true;
|
|
|
|
|
+ if (cancelIndex != -1) { // 确保有一个被执行的节点在前
|
|
|
|
|
+ orderFlowEnums.get(cancelIndex).setColor("orange");
|
|
|
|
|
+ orderFlowEnums.get(cancelIndex).setName(orderFlowEnums.get(cancelIndex).getName() + cancelNameAppend); // 添加取消字样
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- for (int i = 0; i < completedStepIndex; i++) {
|
|
|
|
|
- orderFlowSteps.get(i).setColor("green");
|
|
|
|
|
|
|
+ if (track.getStatus().equals("15") && !rejectFound) {
|
|
|
|
|
+ rejectFound = true;
|
|
|
|
|
+ if (cancelIndex != -1) { // 确保有一个被执行的节点在前
|
|
|
|
|
+ orderFlowEnums.get(cancelIndex).setColor("orange");
|
|
|
|
|
+ orderFlowEnums.get(cancelIndex).setName(orderFlowEnums.get(cancelIndex).getName() + rejectNameAppend); // 添加驳回字样
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- for (int i = completedStepIndex + 1; i < orderFlowSteps.size(); i++) {
|
|
|
|
|
- orderFlowSteps.get(i).setColor("gray");
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // 如果没有执行任何节点就直接取消了,且只有一个取消记录,需要特殊处理
|
|
|
|
|
+ if (cancelFound && cancelIndex == Global.MINUS_ONE && actionTracks.size() == Global.ADDRESS_LOAD) {
|
|
|
|
|
+ orderFlowEnums.get(0).setColor("orange");
|
|
|
|
|
+ orderFlowEnums.get(0).setName(orderFlowEnums.get(0).getName() + cancelNameAppend);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- return orderFlowSteps;
|
|
|
|
|
|
|
+ // 类似的,如果直接驳回且无其他执行记录,也需要处理
|
|
|
|
|
+ if (rejectFound && cancelIndex == Global.MINUS_ONE && actionTracks.size() == Global.ADDRESS_LOAD) {
|
|
|
|
|
+ orderFlowEnums.get(0).setColor("orange");
|
|
|
|
|
+ orderFlowEnums.get(0).setName(orderFlowEnums.get(0).getName() + rejectNameAppend);
|
|
|
|
|
+ }
|
|
|
|
|
+ return orderFlowEnums;
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
- * @Description: 提前完结
|
|
|
|
|
|
|
+ * @Description: 取消
|
|
|
* @Author: Lt
|
|
* @Author: Lt
|
|
|
* @Date: 2024/5/28 11:26
|
|
* @Date: 2024/5/28 11:26
|
|
|
*/
|
|
*/
|
|
|
- public String completeOrder(CompleteOrderParam completeOrderParam)
|
|
|
|
|
|
|
+ public String cancelOrder(CompleteOrderParam completeOrderParam)
|
|
|
{
|
|
{
|
|
|
KwBusinessMineOrder kwBusinessMineorder = mineOrderMapper.selectById(completeOrderParam.getOrderId());
|
|
KwBusinessMineOrder kwBusinessMineorder = mineOrderMapper.selectById(completeOrderParam.getOrderId());
|
|
|
if (ObjectUtils.isNull(kwBusinessMineorder))
|
|
if (ObjectUtils.isNull(kwBusinessMineorder))
|
|
@@ -239,14 +332,16 @@ public class MineService {
|
|
|
if(kwBusinessMineorder.getIsTransport() != 2){
|
|
if(kwBusinessMineorder.getIsTransport() != 2){
|
|
|
throw new RuntimeException("当前订单不是非自有订单");
|
|
throw new RuntimeException("当前订单不是非自有订单");
|
|
|
}
|
|
}
|
|
|
- if (kwBusinessMineorder.getStatus().equals(MineStatusEnum.EIGHT.getCode())) {
|
|
|
|
|
- throw new RuntimeException("当前订单已完结,请勿重复操作");
|
|
|
|
|
|
|
+ if (kwBusinessMineorder.getStatus().equals(String.valueOf(MineStatusEnum.TWENTY.getCode()))) {
|
|
|
|
|
+ throw new RuntimeException("当前订单已取消,请勿重复操作");
|
|
|
}
|
|
}
|
|
|
- kwBusinessMineorder.setStatus(MineStatusEnum.EIGHT.getCode());
|
|
|
|
|
|
|
+ kwBusinessMineorder.setStatus(String.valueOf(MineStatusEnum.TWENTY.getCode()));
|
|
|
mineOrderMapper.updateById(kwBusinessMineorder);
|
|
mineOrderMapper.updateById(kwBusinessMineorder);
|
|
|
- orderServerCommon.saveActionTrack(Long.valueOf(completeOrderParam.getOrderId()), MineStatusEnum.NINE.getCode(), completeOrderParam.getRemark(),"T");
|
|
|
|
|
|
|
|
|
|
- return "完结成功";
|
|
|
|
|
|
|
+ String nameByCode = MineStatusEnum.getNameByCode(MineStatusEnum.TWENTY.getCode());
|
|
|
|
|
+ orderServerCommon.saveActionTrack(Long.valueOf(completeOrderParam.getOrderId()), String.valueOf(MineStatusEnum.TWENTY.getCode()), nameByCode,nameByCode);
|
|
|
|
|
+
|
|
|
|
|
+ return "取消成功";
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|