فهرست منبع

add 一键群发次日发送

ct 2 روز پیش
والد
کامیت
6ee05d6178

+ 2 - 0
fs-service/src/main/java/com/fs/sop/params/SendUserLogsInfoMsgParam.java

@@ -32,6 +32,8 @@ public class SendUserLogsInfoMsgParam {
 
     private String sendTime;
 
+    private String sendTimeType;//当天发送还是次日发送 1当天 2 次日
+
     private Integer isMine; //1:我的营期
 
     private List<String> qwUserIds; //当isMine为1 需要查询该主体下该员工的营期

+ 24 - 10
fs-service/src/main/java/com/fs/sop/service/impl/SopUserLogsInfoServiceImpl.java

@@ -554,7 +554,13 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
                     log.error("群聊创建看课记录失败!", e);
                 }
             }
-
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date dataTime;
+            if (!StringUtil.strIsNullOrEmpty(param.getSendTime())) {
+                dataTime = processDate(param.getSendTime(), param.getSendTimeType());
+            } else {
+                dataTime = new Date();
+            }
             if (param.getSendType() != null && param.getSendType() == 2) {
                 sopLogsList = groupUserList.stream().map(groupUser -> {
                     QwGroupChat qwGroupChat = groupMap.get(groupUser.getChatId());
@@ -579,7 +585,7 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
                     sopLogs.setLogType(2);
                     sopLogs.setContentJson(param.getSetting());
                     sopLogs.setSendStatus(3L);
-                    sopLogs.setSendTime(DateUtil.formatLocalDateTime(LocalDateTime.now()));
+                    sopLogs.setSendTime(sdf.format(dataTime));
                     sopLogs.setCompanyId(qwSop.getCompanyId());
                     sopLogs.setReceivingStatus(0L);
                     sopLogs.setSopId(param.getSopId());
@@ -835,7 +841,7 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
                     sopLogs.setLogType(2);
                     sopLogs.setContentJson(param.getSetting());
                     sopLogs.setSendStatus(3L);
-                    sopLogs.setSendTime(DateUtil.formatLocalDateTime(LocalDateTime.now()));
+                    sopLogs.setSendTime(sdf.format(dataTime));
                     sopLogs.setCompanyId(qwSop.getCompanyId());
                     sopLogs.setReceivingStatus(0L);
                     sopLogs.setSopId(param.getSopId());
@@ -1045,6 +1051,12 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
         }else{
             sopLogsList = new ArrayList<>();
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date dataTime;
+            if (!StringUtil.strIsNullOrEmpty(param.getSendTime())) {
+                dataTime = processDate(param.getSendTime(), param.getSendTimeType());
+            } else {
+                dataTime = new Date();
+            }
             List<SopUserLogsInfo> sopUserLogsInfos = sopUserLogsInfoMapper.selectSopUserLogsInfoByIds(param.getIds());
 
             String[] userKey = param.getUserIdParam().split("\\|");
@@ -1088,7 +1100,7 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
                 sopLogs.setLogType(2);
                 sopLogs.setContentJson(param.getSetting());
                 sopLogs.setSendStatus(3L);
-                sopLogs.setSendTime(sdf.format(new Date()));
+                sopLogs.setSendTime(sdf.format(dataTime));
                 sopLogs.setCompanyId(qwSop.getCompanyId());
                 sopLogs.setReceivingStatus(0L);
                 sopLogs.setSopId(param.getSopId());
@@ -1626,10 +1638,10 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
         String companyId = String.valueOf(qwUser.getCompanyId()).trim();
 
         Date dataTime;
-        if (!StringUtil.strIsNullOrEmpty(param.getSendTime())){
-            dataTime = processDate(param.getSendTime());
-        }else {
-            dataTime=new Date();
+        if (!StringUtil.strIsNullOrEmpty(param.getSendTime())) {
+            dataTime = processDate(param.getSendTime(), param.getSendTimeType());
+        } else {
+            dataTime = new Date();
         }
         List<QwSopLogs> sopLogsList=new ArrayList<>();
 
@@ -1718,10 +1730,12 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
 
     }
 
-    private Date processDate(String sendTimeParam){
+    private Date processDate(String sendTimeParam, String sendTimeType) {
         // 1. 获取当前日期(年月日)
         LocalDate currentDate = LocalDate.now();
-
+        if (null != sendTimeType && "2".equals(sendTimeType)) {
+            currentDate = LocalDate.now().plusDays(1);
+        }
         // 2. 解析传入的时分(支持 "HH:mm" 或 "H:mm")
         LocalTime sendTime = LocalTime.parse(sendTimeParam);