Ver código fonte

订单审核接口

lishiqiang 4 semanas atrás
pai
commit
7399822a9f

+ 16 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/OtcTradeOrderController.java

@@ -209,6 +209,22 @@ public class OtcTradeOrderController {
         return otcTradeOrderService.queryOrderStatus(orderId);
     }
 
+    @GetMapping("/travl/queryOrderAudit")
+    @Operation(summary = "win-查询订单审核信息")
+    @OperateLog(type = API)
+    @PlatTenantEnv
+    public CommonResult<?> queryOrderAudit(@RequestParam Long orderId) {
+        return otcTradeOrderService.queryOrderAudit(orderId);
+    }
+
+    @GetMapping("/travl/orderAudit")
+    @Operation(summary = "win-订单审核")
+    @OperateLog(type = API)
+    @PlatTenantEnv
+    public CommonResult<?> orderAudit(@RequestParam Long orderId,@RequestParam Integer auditStatus) {
+        return otcTradeOrderService.orderAudit(orderId,auditStatus);
+    }
+
     @GetMapping("/payOrderQuery")
     @Operation(summary = "支付反查,0待支付(轮询) 1已支付 2未支付 8888已支付等待结果(轮询) ")
     @OperateLog(type = TRADE)

+ 3 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeOrderDO.java

@@ -46,6 +46,9 @@ public class TradeOrderDO extends TenantBaseDO {
      */
     @TableField(exist = false)
     private String externalOriginOrderNo;
+
+    @TableField(exist = false)
+    private TradeOrderBindDO bindOrder;
     /**
      * 类型  1:游船 2:附加产品 3:赠票
      */

+ 1 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/TradeOrderRepositoryService.java

@@ -155,6 +155,7 @@ public interface TradeOrderRepositoryService {
     TradeOrderBindDO getBindOrder(Long orderId, Long bindId, Integer type);
 
     TradeOrderBindDO getBindOrder(Long bindId, Integer type);
+    TradeOrderBindDO getBindByOrder(Long orderId);
 
     void deleteOrderBind(Long id);
 

+ 11 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderRepositoryServiceImpl.java

@@ -591,6 +591,17 @@ public class TradeOrderRepositoryServiceImpl implements TradeOrderRepositoryServ
         );
     }
 
+    @Override
+    public TradeOrderBindDO getBindByOrder(Long orderId) {
+        List<TradeOrderBindDO> list = tradeOrderBindMapper.selectList(new LambdaQueryWrapperX<TradeOrderBindDO>()
+                .eq(TradeOrderBindDO::getOrderId, orderId).orderByDesc(TradeOrderBindDO::getCreateTime)
+        );
+        if(list!=null && !list.isEmpty()){
+            return list.get(0);
+        }
+        return null;
+    }
+
     @Override
     public void deleteOrderBind(Long id) {
         TradeOrderBindDO orderBindDO = tradeOrderBindMapper.selectById(id);

+ 2 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/OtcTradeOrderService.java

@@ -51,6 +51,8 @@ public interface OtcTradeOrderService {
      * 查询订单状态
      */
     CommonResult<?> queryOrderStatus(Long orderId);
+    CommonResult<?> queryOrderAudit(Long orderId);
+    CommonResult<?> orderAudit(Long orderId,Integer auditStatus);
 
     /**
      * 获取订单列表

+ 35 - 1
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/OtcTradeOrderServiceImpl.java

@@ -9,6 +9,7 @@ import com.alibaba.excel.util.DateUtils;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yc.ship.framework.common.enums.UserTypeEnum;
 import com.yc.ship.framework.common.lang.Asserts;
@@ -552,6 +553,39 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
         return CommonResult.success(TradeOrderStatusEnum.UNPAID.getStatus());
     }
 
+    @Override
+    public CommonResult<?> queryOrderAudit(Long orderId) {
+        TradeOrderDO tradeOrderDO = tradeOrderRepositoryService.getById(orderId);
+        if (tradeOrderDO != null) {
+            TradeOrderBindDO bindOrder = tradeOrderRepositoryService.getBindByOrder(tradeOrderDO.getId());
+            tradeOrderDO.setBindOrder(bindOrder);
+            return CommonResult.success(tradeOrderDO);
+        }
+        return CommonResult.error(ORDER_NOT_EXIST);
+    }
+
+    @Override
+    public CommonResult<?> orderAudit(Long orderId, Integer auditStatus) {
+        TradeOrderBindDO bindOrder = tradeOrderRepositoryService.getBindByOrder(orderId);
+        if(bindOrder==null){
+            return CommonResult.error(500,"未找到绑定订单");
+        }
+        if (auditStatus != null && auditStatus == 1) {
+            tradeOrderMapper.update(Wrappers.<TradeOrderDO>lambdaUpdate()
+                    .set(TradeOrderDO::getOrderStatus, TradeOrderStatusEnum.UNUSED.getStatus())
+                    .eq(TradeOrderDO::getId,orderId)
+            );
+            return CommonResult.success("审核成功");
+        }else{
+            tradeOrderMapper.update(Wrappers.<TradeOrderDO>lambdaUpdate()
+                    .set(TradeOrderDO::getOrderStatus, TradeOrderStatusEnum.YD.getStatus())
+                    .set(TradeOrderDO::getAmount, new BigDecimal(bindOrder.getCustom()))
+                    .eq(TradeOrderDO::getId,orderId)
+            );
+            return CommonResult.success("审核成功");
+        }
+    }
+
     private void saveSpecNumber(List<TradeOrderRespVO> orderList) {
         List<DictDataRespDTO> dictList = dictDataApi.getDictDataList("project_specification_type");
         orderList.forEach(spu -> {
@@ -2058,7 +2092,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             TradeOrderBindDO tradeOrderBindDO = new TradeOrderBindDO();
             tradeOrderBindDO.setId(IdWorker.getId());
             tradeOrderBindDO.setType(1);
-            tradeOrderBindDO.setCustom("");
+            tradeOrderBindDO.setCustom(createVO.getSummary().getOrderMoney().toString());
             tradeOrderBindDO.setRemark("create订单金额修改,订单金额:"+createVO.getSummary().getOrderMoney()+",订单修改后金额:"+createVO.getRealAmount());
             shipTradeOrderCreateReqVO.setTradeOrderBindDO(tradeOrderBindDO);
         }else {

+ 4 - 4
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/supplier/impl/TradeSupplierCallbackServiceImpl.java

@@ -54,10 +54,10 @@ public class TradeSupplierCallbackServiceImpl implements TradeSupplierCallbackSe
     @Override
     public void afterAllOrderCreate(TradeOrderDO tradeOrderDO) {
         //更新订单状态
-        if(!Objects.equals(tradeOrderDO.getOrderStatus(), TradeOrderStatusEnum.YD.getStatus())) {
-            tradeOrderDO.setOrderStatus(TradeOrderStatusEnum.UNPAID.getStatus());
-            tradeOrderRepositoryService.updateOrderStatus(tradeOrderDO);
-        }
+//        if(!Objects.equals(tradeOrderDO.getOrderStatus(), TradeOrderStatusEnum.YD.getStatus()) && !Objects.equals(tradeOrderDO.getOrderStatus(), TradeOrderStatusEnum.TRANSFER.getStatus())) {
+//            tradeOrderDO.setOrderStatus(TradeOrderStatusEnum.UNPAID.getStatus());
+//            tradeOrderRepositoryService.updateOrderStatus(tradeOrderDO);
+//        }
     }
 
     @Override