3 Achegas 8c7827c8d8 ... a206b222fc

Autor SHA1 Mensaxe Data
  lishiqiang a206b222fc 初定和确定单短信发送优化 hai 2 días
  lishiqiang 99bd88c962 Merge branch 'main' of http://47.98.207.247:3000/lsq/ship-ota-server hai 2 días
  lishiqiang 247a27daf0 初定和确定单短信发送优化,审核优化 hai 2 días

+ 3 - 1
ship-module-trade/ship-module-trade-biz/pom.xml

@@ -47,6 +47,8 @@
             <version>1.0.0</version>
         </dependency>
 
+
+
         <!-- 业务组件 -->
         <dependency>
             <groupId>com.yc.ship</groupId>
@@ -195,7 +197,7 @@
         <dependency>
             <groupId>com.aliyun</groupId>
             <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
-            <version>1.1.0</version>
+            <version>2.1.0</version>
         </dependency>
     </dependencies>
 

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

@@ -95,8 +95,9 @@ public class MoblieMessageAliyunUtil {
 
     public static void main(String[] args) throws Exception{
         //您预定的${useDate}“长江游轮”即将开启.请您于${startTime}起前往 ${startAddr}登船,身份证即为船票,出行时请携带所有出行人的身份证原件,${endTime}将停止检票.请勿携带宠物、管制刀具等违禁物品登船,祝您旅途愉快!
-        String ss = "{\"boatName\":\"长江游轮\",\"orderNo\":\"SP202691203132\",\"routeName\":\"宜昌-重庆\",\"startTime\":\"2026-4-20\",\"jzTime\":\"登船日期前7天\"}";
-        SendSmsResponse s = sendSms("LTAI5t9eyWeREnjqs3ozEP22","hdl5UOYVFGCXz9ZNwy8w1mEt8z8Lmz","长江行游轮","18628286025", ss, "SMS_501695562");
+        String ss = "{\"boatName\":\"长江游轮\",\"orderNo\":\"SP202691203132\",\"routeName\":\"宜昌-重庆\",\"startTime\":\"2026-4-20\",\"jzTime\":\"2026年3月19日\"}";
+//        SendSmsResponse s = sendSms("LTAI5t9eyWeREnjqs3ozEP22","hdl5UOYVFGCXz9ZNwy8w1mEt8z8Lmz","长江行游轮","18628286025", ss, "SMS_501695562");
+        SendSmsResponse s = sendSms("LTAI5t68WFsQmRcgLUcpydhb","EzZp3TQa7Ah96htShNqb7m44PEGk8v","长江行游轮","18628286025", ss, "SMS_501695562");
         System.out.println(s.getMessage());
 
 //        String input = "这是一个【date】示例【startTime】字符【content】串";

+ 10 - 2
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/handler/SmsHandler.java

@@ -1,10 +1,13 @@
 package com.yc.ship.module.trade.service.order.handler;
 
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
+import com.alibaba.excel.util.DateUtils;
 import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.yc.ship.module.infra.api.config.ConfigApi;
@@ -112,17 +115,19 @@ public class SmsHandler implements TradeOrderHandler {
             content = content.replaceAll("【1】", smsSendconfigQueryRespVO.getVoyageName());
             content = content.replaceAll("【2】", smsSendconfigQueryRespVO.getOrderNo());
             content = content.replaceAll("【3】", smsSendconfigQueryRespVO.getUseDate().substring(0, 10));
-            content = content.replaceAll("【3】", smsSendconfigQueryRespVO.getUseDate().substring(0, 10));
+            content = content.replaceAll("【12】", smsSendconfigQueryRespVO.getShipName());
             content = content.replaceAll("【13】", smsSendconfigQueryRespVO.getUseDate().substring(0, 10));
             content = content.replaceAll("【4】", smsSendconfigQueryRespVO.getContactName());
             content = content.replaceAll("【5】", smsSendconfigQueryRespVO.getNum() + "");
             content = content.replaceAll("【6】", smsSendconfigQueryRespVO.getGroupNo());
             content = content.replaceAll("【7】", smsSendconfigQueryRespVO.getContactName());
             content = content.replaceAll("【8】", smsSendconfigQueryRespVO.getMobile());
-            content = content.replaceAll("【9】", smsSendconfigQueryRespVO.getShipName());
+            content = content.replaceAll("【9】", smsSendconfigQueryRespVO.getRouteName());
             content = content.replaceAll("【10】", smsSendconfigQueryRespVO.getShortName());
             content = content.replaceAll("【14】", smsSendconfigQueryRespVO.getLeaveTime().substring(0, 10));
             content = content.replaceAll("【18】", smsSendconfigQueryRespVO.getLeaveTime().substring(0, 10));
+            DateTime dateTime = DateUtil.offsetDay(DateUtil.parse(smsSendconfigQueryRespVO.getLeaveTime()), -7);
+            content = content.replaceAll("【19】", DateUtil.format(dateTime, "yyyy-MM-dd"));
 
             Pattern pattern = Pattern.compile("\\【(.*?)\\】");
             Matcher matcher = pattern.matcher(smsContent);
@@ -389,5 +394,8 @@ public class SmsHandler implements TradeOrderHandler {
         return result;
     }
 
+    public static void main(String[] args) {
+        System.out.println(DateUtil.offsetDay(DateUtil.parse("2026-03-20"), -7));
+    }
 
 }

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

@@ -1678,7 +1678,8 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                 auditType = 4;
             }
             if (auditType > 0 && createVO.getIsYd() != 1) {
-                tradeOrderMapper.update(new UpdateWrapper<TradeOrderDO>().set("audit_type", auditType).set("order_status", TradeOrderStatusEnum.TRANSFER).set("audit_status", 1).eq("id", orderId));
+                AuditUserDO auditUserDO = auditUserMapper.selectOne(new LambdaQueryWrapperX<AuditUserDO>().eq(AuditUserDO::getType, auditType).eq(AuditUserDO::getAuditStatus, 1).eq(AuditUserDO::getDeleted, 0).orderByDesc(AuditUserDO::getCreateTime).last("limit 1"));
+                tradeOrderMapper.update(new UpdateWrapper<TradeOrderDO>().set("audit_type", auditType).set("order_status", TradeOrderStatusEnum.TRANSFER).set("audit_user",auditUserDO.getAuditUser()).set("audit_status", 1).eq("id", orderId));
             }
             if (!tradeOrderRoomDOList.isEmpty()) {
                 tradeOrderRoomModelMapper.deleteByOrderId(orderId);
@@ -1954,11 +1955,11 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             }
             String msg = "";
             if (auditType > 0 && createVO.getIsYd() != 1) {
-                AuditUserDO auditUserDO = auditUserMapper.selectOne(new LambdaQueryWrapperX<AuditUserDO>().eq(AuditUserDO::getType, auditType).eq(AuditUserDO::getDeleted, 0).orderByDesc(AuditUserDO::getCreateTime).last("limit 1"));
+                AuditUserDO auditUserDO = auditUserMapper.selectOne(new LambdaQueryWrapperX<AuditUserDO>().eq(AuditUserDO::getType, auditType).eq(AuditUserDO::getAuditStatus, 1).eq(AuditUserDO::getDeleted, 0).orderByDesc(AuditUserDO::getCreateTime).last("limit 1"));
                 tradeOrderMapper.update(new UpdateWrapper<TradeOrderDO>().set("audit_type", auditType).set("audit_user", auditUserDO == null ? "" : auditUserDO.getAuditUser()).set("order_status", TradeOrderStatusEnum.TRANSFER.getStatus()).set("audit_status", 1).eq("id", neworderId));
                 msg = "修改提交成功,等待管理员审核";
             } else if (shipTradeOrderCreateReqVO.getDeposi().compareTo(BigDecimal.ZERO) > 0 && createVO.getIsYd() != 1 && Objects.equals(tradeOrderDO.getOrderStatus(), TradeOrderStatusEnum.YD.getStatus())) {
-                AuditUserDO auditUserDO = auditUserMapper.selectOne(new LambdaQueryWrapperX<AuditUserDO>().eq(AuditUserDO::getType, 3).eq(AuditUserDO::getDeleted, 0).orderByDesc(AuditUserDO::getCreateTime).last("limit 1"));
+                AuditUserDO auditUserDO = auditUserMapper.selectOne(new LambdaQueryWrapperX<AuditUserDO>().eq(AuditUserDO::getType, 3).eq(AuditUserDO::getAuditStatus, 1).eq(AuditUserDO::getDeleted, 0).orderByDesc(AuditUserDO::getCreateTime).last("limit 1"));
                 tradeOrderMapper.update(new UpdateWrapper<TradeOrderDO>().set("audit_type", 3).set("audit_user", auditUserDO == null ? "" : auditUserDO.getAuditUser()).set("order_status", TradeOrderStatusEnum.TRANSFER.getStatus()).set("audit_status", 1).eq("id", neworderId));
                 msg = "修改提交成功,等待管理员审核";
             }