2 Комити c37f91df38 ... 9c29280ec5

Аутор SHA1 Порука Датум
  lishiqiang 9c29280ec5 bug修改 пре 1 дан
  lishiqiang 19483e07ed 站内信推送 пре 1 дан

+ 9 - 2
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/mysql/smsSendconfig/MessageSendMapper.java

@@ -5,6 +5,7 @@ import com.yc.ship.framework.mybatis.core.mapper.BaseMapperX;
 import com.yc.ship.module.trade.controller.admin.smsSendconfig.vo.SmsSendconfigQueryRespVO;
 import com.yc.ship.module.trade.dal.dataobject.smsSendconfig.SmsSendconfigDO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -16,9 +17,15 @@ import java.util.List;
 @Mapper
 public interface MessageSendMapper extends BaseMapperX<SmsSendconfigDO> {
 
+    /***
+     * 初定状态确定提示
+     */
+    List<SmsSendconfigQueryRespVO> querySendList1(@Param("day") int day);
 
-    List<SmsSendconfigQueryRespVO> querySendList1();
-    List<SmsSendconfigQueryRespVO> querySendList2();
+    /***
+     * 确定状态支付提示
+     */
+    List<SmsSendconfigQueryRespVO> querySendList2(@Param("day") int day);
 
 
 }

+ 41 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/job/OrderMessageForthJob.java

@@ -0,0 +1,41 @@
+package com.yc.ship.module.trade.job;
+
+import com.yc.ship.framework.quartz.core.handler.JobHandler;
+import com.yc.ship.framework.tenant.core.job.TenantJob;
+import com.yc.ship.module.trade.service.smsSendconfig.MessageSendService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+
+/**
+ * 订单站内信消息任务
+ *
+ * @author qsl
+ * @date 2023/03/06
+ */
+@Component
+@Slf4j
+public class OrderMessageForthJob implements JobHandler {
+    @Resource
+    private MessageSendService messageSendService;
+
+
+
+
+    @Override
+    @TenantJob
+    public String execute(String param) {
+        log.info(">>>>>>>>>>>>>>>>>>>>>> 开航前2天00:00仍未付款 <<<<<<<<<<<<<<<<<<<<<<");
+        try {
+            messageSendService.sendMsg4();
+        } catch (Exception e) {
+            log.error(">>>>>>>>>>>>>>>>>>>>>> 开航前2天00:00仍未付款 Error <<<<<<<<<<<<<<<<<<<<<<");
+            log.error(e.getMessage(), e);
+        }
+        log.info(">>>>>>>>>>>>>>>>>>>>>> 开航前2天00:00仍未付款 End  <<<<<<<<<<<<<<<<<<<<<<");
+        return "成功";
+    }
+
+}

+ 41 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/job/OrderMessageThreeJob.java

@@ -0,0 +1,41 @@
+package com.yc.ship.module.trade.job;
+
+import com.yc.ship.framework.quartz.core.handler.JobHandler;
+import com.yc.ship.framework.tenant.core.job.TenantJob;
+import com.yc.ship.module.trade.service.smsSendconfig.MessageSendService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+
+/**
+ * 订单站内信消息任务
+ *
+ * @author qsl
+ * @date 2023/03/06
+ */
+@Component
+@Slf4j
+public class OrderMessageThreeJob implements JobHandler {
+    @Resource
+    private MessageSendService messageSendService;
+
+
+
+
+    @Override
+    @TenantJob
+    public String execute(String param) {
+        log.info(">>>>>>>>>>>>>>>>>>>>>> 开航前7天提醒 中午12:00 <<<<<<<<<<<<<<<<<<<<<<");
+        try {
+            messageSendService.sendMsg3();
+        } catch (Exception e) {
+            log.error(">>>>>>>>>>>>>>>>>>>>>> 开航前7天提醒 中午12:00 Error <<<<<<<<<<<<<<<<<<<<<<");
+            log.error(e.getMessage(), e);
+        }
+        log.info(">>>>>>>>>>>>>>>>>>>>>> 开航前7天提醒 中午12:00 End  <<<<<<<<<<<<<<<<<<<<<<");
+        return "成功";
+    }
+
+}

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

@@ -7,13 +7,11 @@ 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;
 import com.yc.ship.module.system.api.user.AdminUserApi;
 import com.yc.ship.module.system.api.user.dto.AdminUserRespDTO;
-import com.yc.ship.module.trade.api.dto.sms.SmsBatchSendRespDTO;
 import com.yc.ship.module.trade.api.sms.dto.SmsSendLogDTO;
 import com.yc.ship.module.trade.controller.admin.smsSendconfig.vo.SmsSendconfigQueryRespVO;
 import com.yc.ship.module.trade.dal.dataobject.order.TradeOrderDO;

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

@@ -193,7 +193,8 @@ public class TradeOrderServiceImpl implements TradeOrderService {
             if(payStatus!=null && payStatus==1){
                 tradeOrderRespVO.setLoadPayAmount(BigDecimal.ZERO);
             }else {
-                tradeOrderRespVO.setLoadPayAmount(tradeOrderRespVO.getPayAmount().subtract(tradeOrderRespVO.getDeposi()));
+                BigDecimal deposi = tradeOrderRespVO.getDeposi()==null?BigDecimal.ZERO:tradeOrderRespVO.getDeposi();
+                tradeOrderRespVO.setLoadPayAmount(tradeOrderRespVO.getPayAmount().subtract(deposi));
             }
 
         });

+ 12 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/smsSendconfig/MessageSendService.java

@@ -13,6 +13,18 @@ public interface MessageSendService {
      * 初定即将过期前 1 天(开航前 22 天 中午12:00)
      */
     void sendMsg1();
+    /**
+     * 初定即将过期前 1 天(开航前 21 天 10:00)
+     */
     void sendMsg2();
 
+    /**
+     * 开航前7天提醒 中午12:00
+     */
+    void sendMsg3();
+
+    /**
+     * 开航前2天00:00仍未付款
+     */
+    void sendMsg4();
 }

+ 49 - 2
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/smsSendconfig/MessageSendServiceImpl.java

@@ -1,5 +1,6 @@
 package com.yc.ship.module.trade.service.smsSendconfig;
 
+import cn.hutool.core.date.DateUtil;
 import com.yc.ship.module.system.api.notify.NotifyMessageSendApi;
 import com.yc.ship.module.system.api.notify.dto.NotifySendSingleToUserReqDTO;
 import com.yc.ship.module.trade.controller.admin.smsSendconfig.vo.SmsSendconfigQueryRespVO;
@@ -9,6 +10,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -34,7 +36,7 @@ public class MessageSendServiceImpl implements MessageSendService {
 
     @Override
     public void sendMsg1() {
-        List<SmsSendconfigQueryRespVO> smsSendconfigQueryRespVOS = messageSendMapper.querySendList1();
+        List<SmsSendconfigQueryRespVO> smsSendconfigQueryRespVOS = messageSendMapper.querySendList1(22);
         smsSendconfigQueryRespVOS.forEach(smsSendconfigQueryRespVO -> {
             try {
                 Map map = new HashMap();
@@ -56,7 +58,7 @@ public class MessageSendServiceImpl implements MessageSendService {
 
     @Override
     public void sendMsg2() {
-        List<SmsSendconfigQueryRespVO> smsSendconfigQueryRespVOS = messageSendMapper.querySendList2();
+        List<SmsSendconfigQueryRespVO> smsSendconfigQueryRespVOS = messageSendMapper.querySendList1(21);
         smsSendconfigQueryRespVOS.forEach(smsSendconfigQueryRespVO -> {
             try {
                 Map map = new HashMap();
@@ -75,4 +77,49 @@ public class MessageSendServiceImpl implements MessageSendService {
         });
 
     }
+    @Override
+    public void sendMsg3() {
+        List<SmsSendconfigQueryRespVO> smsSendconfigQueryRespVOS = messageSendMapper.querySendList2(7);
+        smsSendconfigQueryRespVOS.forEach(smsSendconfigQueryRespVO -> {
+            try {
+                Map map = new HashMap();
+                map.put("orderNo", smsSendconfigQueryRespVO.getOrderNo());
+                map.put("routeName", smsSendconfigQueryRespVO.getRouteName());
+                map.put("boatName", smsSendconfigQueryRespVO.getShipName());
+                map.put("startTime", smsSendconfigQueryRespVO.getStartTime());
+                Date lastDate = DateUtil.offsetDay(DateUtil.parse(smsSendconfigQueryRespVO.getStartTime()), -7);
+                map.put("lastTime", DateUtil.format(lastDate, "yyyy-MM-dd"));
+                NotifySendSingleToUserReqDTO reqDTO = new NotifySendSingleToUserReqDTO();
+                reqDTO.setTemplateParams(map);
+                reqDTO.setTemplateCode("sendmsg_cd_4");
+                reqDTO.setUserId(Long.parseLong(smsSendconfigQueryRespVO.getSellerId()));
+                notifyMessageSendApi.sendSingleMessageToAdmin(reqDTO);
+            } catch (Exception e) {
+                log.error("发送短信异常", e);
+            }
+        });
+
+    }
+
+    @Override
+    public void sendMsg4() {
+        List<SmsSendconfigQueryRespVO> smsSendconfigQueryRespVOS = messageSendMapper.querySendList2(2);
+        smsSendconfigQueryRespVOS.forEach(smsSendconfigQueryRespVO -> {
+            try {
+                Map map = new HashMap();
+                map.put("orderNo", smsSendconfigQueryRespVO.getOrderNo());
+                map.put("routeName", smsSendconfigQueryRespVO.getRouteName());
+                map.put("boatName", smsSendconfigQueryRespVO.getShipName());
+                map.put("startTime", smsSendconfigQueryRespVO.getStartTime());
+                NotifySendSingleToUserReqDTO reqDTO = new NotifySendSingleToUserReqDTO();
+                reqDTO.setTemplateParams(map);
+                reqDTO.setTemplateCode("sendmsg_cd_5");
+                reqDTO.setUserId(Long.parseLong(smsSendconfigQueryRespVO.getSellerId()));
+                notifyMessageSendApi.sendSingleMessageToAdmin(reqDTO);
+            } catch (Exception e) {
+                log.error("发送短信异常", e);
+            }
+        });
+
+    }
 }

+ 3 - 3
ship-module-trade/ship-module-trade-biz/src/main/resources/mapper/smsSendconfig/MessageSendMapper.xml

@@ -34,7 +34,7 @@
         left JOIN resource_route t67 ON t66.route_id = t67.id
         left JOIN resource_ship t77 ON t77.id = t1.ship_id
         WHERE 1=1
-        and t2.use_date = DATE_SUB(CURDATE(), INTERVAL( -22 ) DAY )
+        and t2.use_date = DATE_SUB(CURDATE(), INTERVAL( -#{day} ) DAY )
         AND t1.order_status =14
         AND t1.deleted = 0
         AND t2.deleted = 0
@@ -68,8 +68,8 @@
         left JOIN resource_route t67 ON t66.route_id = t67.id
         left JOIN resource_ship t77 ON t77.id = t1.ship_id
         WHERE 1=1
-        and t2.use_date = DATE_SUB(CURDATE(), INTERVAL( -21 ) DAY )
-        AND t1.order_status =14
+        and t2.use_date = DATE_SUB(CURDATE(), INTERVAL( -#{day} ) DAY )
+        AND t1.order_status =1
         AND t1.deleted = 0
         AND t2.deleted = 0
         and t2.use_date>now()