Browse Source

Merge remote-tracking branch 'origin/main' into main

luofeiyun 1 week atrás
parent
commit
63285f4570
15 changed files with 67 additions and 16 deletions
  1. 3 1
      ship-module-trade/ship-module-trade-api/src/main/java/com/yc/ship/module/trade/enums/TradeOrderStatusEnum.java
  2. 3 2
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/OtcTradeOrderController.java
  3. 1 1
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/OrderTotalRespVO.java
  4. 3 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderOtcCreateVO.java
  5. 1 1
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderPdaRespVO.java
  6. 1 1
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderRespNewVO.java
  7. 1 1
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderRespVO.java
  8. 1 1
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeDetailDO.java
  9. 1 1
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeOrderDO.java
  10. 1 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/TradeOrderRepositoryService.java
  11. 3 2
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/AdminTradeOrderServiceImpl.java
  12. 5 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderRepositoryServiceImpl.java
  13. 2 1
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/OtcTradeOrderService.java
  14. 38 3
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/OtcTradeOrderServiceImpl.java
  15. 3 1
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/refund/impl/TradeRefundServiceImpl.java

+ 3 - 1
ship-module-trade/ship-module-trade-api/src/main/java/com/yc/ship/module/trade/enums/TradeOrderStatusEnum.java

@@ -64,5 +64,7 @@ public enum TradeOrderStatusEnum implements IntArrayValuable {
         return ARRAYS;
     }
 
-
+    public static TradeOrderStatusEnum valueOf(Integer status){
+        return Arrays.stream(TradeOrderStatusEnum.values()).filter(item->item.status.equals(status)).findFirst().get();
+    }
 }

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

@@ -62,6 +62,7 @@ import javax.validation.Valid;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.math.BigDecimal;
 import java.nio.file.Files;
 import java.util.Date;
 import java.util.List;
@@ -235,8 +236,8 @@ public class OtcTradeOrderController {
     @Operation(summary = "win-订单取消审核")
     @OperateLog(type = API)
     @PlatTenantEnv
-    public CommonResult<?> cancelAudit(@RequestParam Long orderId, @RequestParam Integer auditStatus) {
-        return otcTradeOrderService.cancelAudit(orderId, auditStatus);
+    public CommonResult<?> cancelAudit(@RequestParam Long orderId, @RequestParam Integer auditStatus, @RequestParam BigDecimal damaged) {
+        return otcTradeOrderService.cancelAudit(orderId, auditStatus,damaged);
     }
 
     @GetMapping("/payOrderQuery")

+ 1 - 1
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/OrderTotalRespVO.java

@@ -110,7 +110,7 @@ public class OrderTotalRespVO {
     @Schema(description = "补缴费金额")
     private BigDecimal  supplementAmount;
 
-    @Schema(description = "取消状态 0:初始  1:待支付(审核通过)2:已支付")
+    @Schema(description = "取消状态 0:初始 1:已提交取消 2:取消成功")
     private Integer damagedStatus;
 
     @Schema(description = "取消提交时间")

+ 3 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderOtcCreateVO.java

@@ -92,4 +92,7 @@ public class TradeOrderOtcCreateVO {
     @Schema(description = "政策信息")
     private List<TradeOrderPolicyReqVO> policyList;
 
+    @Schema(description = "政策信息")
+    private List<Long> policyIds;
+
 }

+ 1 - 1
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderPdaRespVO.java

@@ -447,7 +447,7 @@ public class TradeOrderPdaRespVO {
     @Schema(description = "补缴费金额")
     private BigDecimal  supplementAmount;
 
-    @Schema(description = "取消状态 0:初始  1:待支付(审核通过)2:已支付")
+    @Schema(description = "取消状态 0:初始 1:已提交取消 2:取消成功")
     private Integer damagedStatus;
 
     @Schema(description = "取消提交时间")

+ 1 - 1
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderRespNewVO.java

@@ -221,7 +221,7 @@ public class TradeOrderRespNewVO {
     @Schema(description = "补缴费金额")
     private BigDecimal  supplementAmount;
 
-    @Schema(description = "取消状态 0:初始  1:待支付(审核通过)2:已支付")
+    @Schema(description = "取消状态 0:初始 1:已提交取消 2:取消成功")
     private Integer damagedStatus;
 
     @Schema(description = "取消提交时间")

+ 1 - 1
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderRespVO.java

@@ -532,7 +532,7 @@ public class TradeOrderRespVO {
     @Schema(description = "补缴费金额")
     private BigDecimal  supplementAmount;
 
-    @Schema(description = "取消状态 0:初始  1:待支付(审核通过)2:已支付")
+    @Schema(description = "取消状态 0:初始 1:已提交取消 2:取消成功")
     private Integer damagedStatus;
 
     @Schema(description = "取消提交时间")

+ 1 - 1
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeDetailDO.java

@@ -112,7 +112,7 @@ public class TradeDetailDO extends TenantBaseDO {
     private String productName;
 
     /**
-     * 产品类型 0 自建产品 1平台产品
+     * 产品类型 0 游船产品 1 附加产品 2:赠票
      */
     private Integer productType;
     /**

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

@@ -342,7 +342,7 @@ public class TradeOrderDO extends TenantBaseDO {
     @ForUpdate(fieldName = "补缴费金额")
     private BigDecimal  supplementAmount;
     /**
-     * 取消状态0:初始  1:待支付(审核通过)2:已支付
+     * 取消状态 0:初始 1:已提交取消 2:取消成功 3取消审核不通过
      */
     @ForUpdate(fieldName = "取消状态")
     private Integer damagedStatus;

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

@@ -87,6 +87,7 @@ public interface TradeOrderRepositoryService {
     void updatePayOrderPayParams(TradeOrderPayDO tradeOrderPayDO);
 
     List<TradeDetailDO> queryDetailByOrderId(Long orderId);
+    List<TradeDetailDO> queryYcDetailByOrderId(Long orderId);
 
     /**
      * 查找分销商订单

+ 3 - 2
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/AdminTradeOrderServiceImpl.java

@@ -326,10 +326,11 @@ public class AdminTradeOrderServiceImpl implements AdminTradeOrderService {
         tradeOrderBindDO.setCreator(getLoginUserId() + "");
         tradeOrderBindMapper.insert(tradeOrderBindDO);
 
-        long between = DateUtil.between(tradeOrderDO.getTravelDate(), new Date(), DateUnit.DAY);
+        List<TradeDetailDO> tradeDetailList = tradeOrderRepositoryService.queryYcDetailByOrderId(orderId);
+        long between = DateUtil.between(new Date(),tradeOrderDO.getTravelDate(),  DateUnit.DAY,false);
         BigDecimal damaged;
         if (between > 21) {
-            damaged = new BigDecimal(500);
+            damaged = new BigDecimal(500).multiply(new BigDecimal(tradeDetailList.size()));
         } else if (between > 15) {
             damaged = tradeOrderDO.getPayAmount().multiply(new BigDecimal("0.2"));
         } else {

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

@@ -304,6 +304,11 @@ public class TradeOrderRepositoryServiceImpl implements TradeOrderRepositoryServ
         return tradeDetailMapper.selectList(TradeDetailDO::getOrderId, orderId);
     }
 
+    @Override
+    public List<TradeDetailDO> queryYcDetailByOrderId(Long orderId) {
+        return tradeDetailMapper.selectList(new LambdaQueryWrapper<TradeDetailDO>().eq(TradeDetailDO::getOrderId, orderId).eq(TradeDetailDO::getProductType, 0));
+    }
+
 
     @Override
     public TradeOrderDO getOrderByOtaAndExternalOrderNo(String otaOrderNo, String sourceId) {

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

@@ -18,6 +18,7 @@ import com.yc.ship.module.trade.dal.dataobject.insurance.InsuranceDO;
 import com.yc.ship.module.trade.dal.dataobject.order.TradeDetailBaseDO;
 
 import java.io.File;
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -141,7 +142,7 @@ public interface OtcTradeOrderService {
 
     CommonResult<?> orderRead(Long orderId);
 
-    CommonResult<?> cancelAudit(Long orderId, Integer auditStatus);
+    CommonResult<?> cancelAudit(Long orderId, Integer auditStatus, BigDecimal damaged);
 
     CommonResult<?> updateStatus(Long orderId, Integer  status);
 

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

@@ -535,11 +535,12 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
     @Override
     @TradeOrderLog(operateType = TradeOrderOperateTypeEnum.CANCEL_AUDIT)
     @TenantIgnore
-    public CommonResult<?> cancelAudit(Long orderId, Integer auditStatus) {
+    public CommonResult<?> cancelAudit(Long orderId, Integer auditStatus,BigDecimal damaged) {
         TradeOrderDO tradeOrderDO = tradeOrderMapper.selectById(orderId);
         if (tradeOrderDO == null) {
             return CommonResult.error(ORDER_NOT_EXIST);
         }
+        damaged = damaged==null?BigDecimal.ZERO:damaged;
 
         if (auditStatus != null && auditStatus == 1) {
             TradeOrderAuditDO tradeOrderAuditDO = new TradeOrderAuditDO();
@@ -563,6 +564,8 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                 tradeOrderMapper.update(Wrappers.<TradeOrderDO>lambdaUpdate()
                         .set(TradeOrderDO::getAuditStatus, tradeOrderDO.getAuditStatus() + 1)
                         .set(TradeOrderDO::getUpdateTime, LocalDateTime.now())
+                        .set(TradeOrderDO::getDamagedStatus, 2)
+                        .set(TradeOrderDO::getDamaged, damaged)
                         .eq(TradeOrderDO::getId, orderId)
                 );
                 tradeOrderPayService.cancelOrder(orderId);
@@ -575,7 +578,6 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                     ShipRespDTO shipRespDTO = shipApi.queryShip(tradeOrderDO.getShipId());
                     map.put("routeName", routeRespDTO.getName());
                     map.put("boatName", shipRespDTO.getName());
-                    BigDecimal damaged = tradeOrderDO.getDamaged();
                     BigDecimal deposi = tradeOrderDO.getDeposi();
                     Integer deposiStatus = tradeOrderDO.getDeposiStatus();
                     BigDecimal realPay = BigDecimal.ZERO;
@@ -615,6 +617,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                         .set(TradeOrderDO::getAuditStatus, tradeOrderDO.getAuditStatus() + 1)
                         .set(TradeOrderDO::getUpdateTime, LocalDateTime.now())
                         .set(TradeOrderDO::getDeposiStatus, 0)
+                        .set(TradeOrderDO::getDamaged, damaged)
                         .set(TradeOrderDO::getAuditUser, auditUserDO.getAuditUser())
                         .eq(TradeOrderDO::getId, orderId)
                 );
@@ -640,7 +643,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             tradeOrderAuditDO.setOrderId(tradeOrderDO.getId());
             tradeOrderAuditMapper.insert(tradeOrderAuditDO);
             //审核 不通过还原到修改前订单
-            tradeOrderMapper.update(new UpdateWrapper<TradeOrderDO>().set("order_status", TradeOrderStatusEnum.UNPAID.getStatus()).set("audit_status", 5).eq("id", orderId));
+            tradeOrderMapper.update(new UpdateWrapper<TradeOrderDO>().set("order_status", TradeOrderStatusEnum.UNPAID.getStatus()).set("audit_status", 5).set("damaged_status",3).eq("id", orderId));
 
 
             Map<String, Object> extMap = new HashMap<>();
@@ -2142,6 +2145,38 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                 log.error(orderNo+">>>>>>>>>>>>>>>>>>>>>> motifyOtcOrder 进入审核流程2 <<<<<<<<<<<<<<<<<<<<<<"+3+";"+(auditUserDO == null ? "" : auditUserDO.getAuditUser()));
             }
 
+
+            try {
+                if(!Objects.equals(tradeOrderDO.getOrderStatus(), neworderStatus)) {
+                    Map map = new HashMap();
+                    Long userId = getLoginUserId();
+                    map.put("orderNo", tradeOrderDO.getOrderNo());
+                    map.put("oldOrderStatus", TradeOrderStatusEnum.valueOf(tradeOrderDO.getOrderStatus()));
+                    map.put("newOrderStatus", TradeOrderStatusEnum.TRANSFER.getName());
+                    AdminUserRespDTO user = adminUserApi.getUser(userId);
+                    map.put("modifyUser", user.getNickname());
+                    NotifySendSingleToUserReqDTO reqDTO = new NotifySendSingleToUserReqDTO();
+                    reqDTO.setTemplateParams(map);
+                    //订单({orderNo})已修改, 状态由{oldOrderStatus} 改为{newOrderStatus},  修改人为: {modifyUser} ,请注意核对!
+                    //订单详情页面展示具体变更内容
+                    reqDTO.setTemplateCode("sendmsg_cd_12");
+
+                    List<Long> userIds = adminUserApi.getUserListByRoleCode("jdtx");
+                    if(userIds != null) {
+                        userIds.forEach(senduser -> {
+                            reqDTO.setUserId(senduser);
+                            notifyMessageSendApi.sendSingleMessageToAdmin(reqDTO);
+                        });
+                    }else{
+                        log.error("获取角色jdtx用户为空");
+                    }
+                }
+
+            } catch (Exception e) {
+                log.error("发送站内信异常", e);
+            }
+
+
             tradeOrderRoomModelMapper.deleteByOrderId(orderId);
             if (!list.isEmpty()) {
                 tradeOrderRoomModelMapper.insertBatch(list);

+ 3 - 1
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/refund/impl/TradeRefundServiceImpl.java

@@ -593,10 +593,12 @@ public class TradeRefundServiceImpl implements TradeRefundService {
     @Override
     public CommonResult<TradeRefundCalculateRespDTO> calculateRefundAmount(TradeRefundCreateReqDTO refundCreateReqDTO) {
         TradeOrderDO tradeOrderDO = tradeOrderRepositoryService.getById(refundCreateReqDTO.getOrderId());
+        List<TradeDetailDO> tradeDetailList2 = tradeOrderRepositoryService.queryYcDetailByOrderId(refundCreateReqDTO.getOrderId());
+        int num = tradeDetailList2.size();
         long between = DateUtil.between(new Date(),tradeOrderDO.getTravelDate(),  DateUnit.DAY,false);
         BigDecimal damaged;
         if(between>21){
-            damaged = new BigDecimal(500);
+            damaged = new BigDecimal(500).multiply(new BigDecimal( num));
             if(tradeOrderDO.getSellMethod()==3){
                 damaged =  BigDecimal.ZERO;
             }