Explorar o código

贸易订单号生成提前到第一行代码

yzc %!s(int64=2) %!d(string=hai) anos
pai
achega
fc2034fadb

+ 40 - 10
sckw-modules/sckw-order/src/main/java/com/sckw/order/controller/KwoTradeOrderController.java

@@ -1,10 +1,15 @@
 package com.sckw.order.controller;
 
+import com.sckw.core.exception.BusinessException;
+import com.sckw.core.model.enums.OrderRuleEnum;
+import com.sckw.core.model.enums.RedisOrderGenerateEnum;
+import com.sckw.core.utils.OrderGenerateSeqNoUtils;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.order.model.vo.req.*;
 import com.sckw.order.serivce.KwoTradeOrderService;
 import io.seata.spring.annotation.GlobalTransactional;
 import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.http.MediaType;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -17,6 +22,7 @@ import org.springframework.web.bind.annotation.*;
 @RestController
 @RequestMapping(value = "/kwoTradeOrder")
 @RequiredArgsConstructor
+@Slf4j
 public class KwoTradeOrderController {
 
     private final KwoTradeOrderService kwoTradeOrderService;
@@ -31,8 +37,14 @@ public class KwoTradeOrderController {
     @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/addPurchaseOrderDraft", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult addPurchaseOrderDraft(@RequestBody @Validated PurchaseOrderDraftParam param) {
-        kwoTradeOrderService.addPurchaseOrderDraft(param);
-        return HttpResult.ok("采购下单草稿保存成功");
+        try {
+            kwoTradeOrderService.addPurchaseOrderDraft(param);
+            return HttpResult.ok("采购下单草稿保存成功");
+        } catch (Exception e) {
+            OrderGenerateSeqNoUtils.getSeqNoMinusOne(RedisOrderGenerateEnum.TRADE_ORDER, OrderRuleEnum.TRADE_ORDER);
+            log.error("采购下单草稿 error:{}", e.getMessage(), e);
+            throw new BusinessException("采购下单草稿提交失败!");
+        }
     }
 
     /**
@@ -45,8 +57,14 @@ public class KwoTradeOrderController {
     @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/addPurchaseOrderSubmit", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult addPurchaseOrderSubmit(@RequestBody @Validated PurchaseOrderParam purchaseOrderParam) {
-        kwoTradeOrderService.addPurchaseOrderSubmit(purchaseOrderParam);
-        return HttpResult.ok("采购下单提交成功");
+        try {
+            kwoTradeOrderService.addPurchaseOrderSubmit(purchaseOrderParam);
+            return HttpResult.ok("采购下单提交成功");
+        } catch (Exception e) {
+            OrderGenerateSeqNoUtils.getSeqNoMinusOne(RedisOrderGenerateEnum.TRADE_ORDER, OrderRuleEnum.TRADE_ORDER);
+            log.error("采购下单提交 error:{}", e.getMessage(), e);
+            throw new BusinessException("采购下单提交失败!");
+        }
     }
 
     /**
@@ -59,8 +77,14 @@ public class KwoTradeOrderController {
     @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/addValetOrderDraft", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult addValetOrderDraft(@RequestBody @Validated ValetOrderDraftParam param) {
-        kwoTradeOrderService.addValetOrderDraft(param);
-        return HttpResult.ok("代客下单草稿保存成功");
+        try {
+            kwoTradeOrderService.addValetOrderDraft(param);
+            return HttpResult.ok("代客下单草稿保存成功");
+        } catch (Exception e) {
+            OrderGenerateSeqNoUtils.getSeqNoMinusOne(RedisOrderGenerateEnum.TRADE_ORDER, OrderRuleEnum.TRADE_ORDER);
+            log.error("代客下单草稿 error:{}", e.getMessage(), e);
+            throw new BusinessException("代客下单草稿提交失败!");
+        }
     }
 
 
@@ -74,8 +98,14 @@ public class KwoTradeOrderController {
     @GlobalTransactional(name = "default_tx_group")
     @PostMapping(value = "/addValetOrderSubmit", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult addValetOrderSubmit(@RequestBody @Validated ValetOrderParam valetOrderParam) {
-        kwoTradeOrderService.addValetOrderSubmit(valetOrderParam);
-        return HttpResult.ok("代客下单提交成功");
+        try {
+            kwoTradeOrderService.addValetOrderSubmit(valetOrderParam);
+            return HttpResult.ok("代客下单提交成功");
+        } catch (Exception e) {
+            OrderGenerateSeqNoUtils.getSeqNoMinusOne(RedisOrderGenerateEnum.TRADE_ORDER, OrderRuleEnum.TRADE_ORDER);
+            log.error("代客下单提交 error:{}", e.getMessage(), e);
+            throw new BusinessException("代客下单提交失败!");
+        }
     }
 
     /**
@@ -87,7 +117,7 @@ public class KwoTradeOrderController {
      */
     @GetMapping("/detail")
     public HttpResult detail(@RequestParam Long id) {
-        return HttpResult.ok("贸易订单详情查询成功",kwoTradeOrderService.getDetail(id));
+        return HttpResult.ok("贸易订单详情查询成功", kwoTradeOrderService.getDetail(id));
     }
 
     /**
@@ -182,7 +212,7 @@ public class KwoTradeOrderController {
      */
     @GetMapping("/getAddressDropList")
     public HttpResult getAddressDropList() {
-        return HttpResult.ok("获取贸易订单地址下拉列表成功",kwoTradeOrderService.getAddressDropList());
+        return HttpResult.ok("获取贸易订单地址下拉列表成功", kwoTradeOrderService.getAddressDropList());
     }
 
 }

+ 8 - 4
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java

@@ -96,8 +96,9 @@ public class KwoTradeOrderService {
      * @return: void
      */
     public void addPurchaseOrderDraft(PurchaseOrderDraftParam param) {
+        String orderNo = getOrderNo();
         KwoTradeOrder order = BeanUtils.copyProperties(param, KwoTradeOrder.class);
-        order.setEntId(LoginUserHolder.getEntId()).setTOrderNo(getOrderNo())
+        order.setEntId(LoginUserHolder.getEntId()).setTOrderNo(orderNo)
                 .setUnit(Objects.nonNull(param.getGoodsInfo()) ? param.getGoodsInfo().getUnit() : null)
                 .setSource(DictEnum.TORDER_SOURCE_1.getValue()).setStatus(Integer.valueOf(DictEnum.TORDER_STATUS_0.getValue()));
         kwoTradeOrderMapper.insert(order);
@@ -231,8 +232,9 @@ public class KwoTradeOrderService {
      * @return: void
      */
     public void addValetOrderDraft(ValetOrderDraftParam param) {
+        String orderNo = getOrderNo();
         KwoTradeOrder order = BeanUtils.copyProperties(param, KwoTradeOrder.class);
-        order.setEntId(LoginUserHolder.getEntId()).setTOrderNo(getOrderNo())
+        order.setEntId(LoginUserHolder.getEntId()).setTOrderNo(orderNo)
                 .setUnit(Objects.nonNull(param.getGoodsInfo()) ? param.getGoodsInfo().getUnit() : null)
                 .setSource(DictEnum.TORDER_SOURCE_2.getValue()).setStatus(Integer.valueOf(DictEnum.TORDER_STATUS_0.getValue()));
         kwoTradeOrderMapper.insert(order);
@@ -247,6 +249,7 @@ public class KwoTradeOrderService {
      * @return: void
      */
     public void addPurchaseOrderSubmit(PurchaseOrderParam param) {
+        String orderNo = getOrderNo();
         GoodsInfo goodsInfo = param.getGoodsInfo();
         if (Objects.isNull(goodsInfo.getPriceRangeId())) {
             throw new BusinessException("采购下单价格梯度信息不能为空!");
@@ -257,7 +260,7 @@ public class KwoTradeOrderService {
                 .setOrderSource(DictEnum.TORDER_SOURCE_1.getValue());
         orderCheck(orderCheckDTO, false);
         KwoTradeOrder order = BeanUtils.copyProperties(param, KwoTradeOrder.class);
-        order.setEntId(LoginUserHolder.getEntId()).setTOrderNo(getOrderNo())
+        order.setEntId(LoginUserHolder.getEntId()).setTOrderNo(orderNo)
                 .setUnit(param.getGoodsInfo().getUnit()).setSource(DictEnum.TORDER_SOURCE_1.getValue())
                 .setStatus(Integer.valueOf(DictEnum.TORDER_STATUS_1.getValue()));
         kwoTradeOrderMapper.insert(order);
@@ -362,6 +365,7 @@ public class KwoTradeOrderService {
      * @return: void
      */
     public void addValetOrderSubmit(ValetOrderParam param) {
+        String orderNo = getOrderNo();
         OrderCheckDTO orderCheck = BeanUtils.copyProperties(param, OrderCheckDTO.class);
         getTopEnt(orderCheck, param.getUnitInfo());
         orderCheck.setGoodsId(param.getGoodsInfo().getGoodsId()).setUnitPrice(param.getGoodsInfo().getUnitPrice())
@@ -371,7 +375,7 @@ public class KwoTradeOrderService {
         contractCheck(contract);
         param.setContractInfo(contract);
         KwoTradeOrder order = BeanUtils.copyProperties(param, KwoTradeOrder.class);
-        order.setEntId(LoginUserHolder.getEntId()).setTOrderNo(getOrderNo())
+        order.setEntId(LoginUserHolder.getEntId()).setTOrderNo(orderNo)
                 .setUnit(param.getGoodsInfo().getUnit()).setSource(DictEnum.TORDER_SOURCE_2.getValue());
         String contractStatus = contract.getContractStatus();
         if (Objects.equals(contractStatus, DictEnum.CONTRACT_STATUS_0.getValue())) {