Jelajahi Sumber

短信提醒功能代码提交

jingyuanchao 1 tahun lalu
induk
melakukan
789ea8b841

+ 1 - 1
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteReminderService.java

@@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.GetMapping;
 public interface RemoteReminderService {
 
 
-    @GetMapping("/reminder/findTask")
+    @GetMapping("/reminder/findNeedRemind")
     public AjaxResult findNeedRemind();
 
     @GetMapping("/reminder/findNeedSendMsg")

+ 4 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/TMonitoringRetrievalPlanServiceImpl.java

@@ -1865,13 +1865,17 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
                         schedule.setConfigId(configuration.getConfigId());
                         schedule.setReminderType(configuration.getReminderType());
                         schedule.setSendModule(configuration.getSendModule());
+                        schedule.setOrgId(orgId);
+                        schedule.setOrgGuid(first.get().getGuid());
                         schedule.setTaskId(task.getId().toString());
                         schedule.setTaskName(task.getTaskName());
                         schedule.setScheduledTime(DateUtils.toLocalDateTime(notificationTime));
                         schedule.setStatus(0);
+                        schedule.setRecipientId(sysUser.getId());
                         schedule.setRecipientName(sysUser.getName());
                         schedule.setRecipient(sysUser.getPhone());
                         schedule.setScheduleId(IdWorker.getId());
+                        schedule.setRetryCount(3);
                         scheduleArrayList.add(schedule);
                     }
                 }

+ 4 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/impl/CoreDrillPlanServiceImpl.java

@@ -1256,13 +1256,17 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
                         schedule.setConfigId(configuration.getConfigId());
                         schedule.setReminderType(configuration.getReminderType());
                         schedule.setSendModule(configuration.getSendModule());
+                        schedule.setOrgId(orgId);
+                        schedule.setOrgGuid(first.get().getGuid());
                         schedule.setTaskId(task.getId().toString());
                         schedule.setTaskName(task.getTitle());
                         schedule.setScheduledTime(DateUtils.toLocalDateTime(notificationTime));
                         schedule.setStatus(0);
+                        schedule.setRecipientId(sysUser.getId());
                         schedule.setRecipientName(sysUser.getName());
                         schedule.setRecipient(sysUser.getPhone());
                         schedule.setScheduleId(IdWorker.getId());
+                        schedule.setRetryCount(3);
                         scheduleArrayList.add(schedule);
                     }
                 }

+ 4 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingPlanServiceImpl.java

@@ -1227,13 +1227,17 @@ public class CoreEduTrainingPlanServiceImpl extends ServiceImpl<CoreEduTrainingP
                         schedule.setConfigId(configuration.getConfigId());
                         schedule.setReminderType(configuration.getReminderType());
                         schedule.setSendModule(configuration.getSendModule());
+                        schedule.setOrgId(orgId);
+                        schedule.setOrgGuid(first.get().getGuid());
                         schedule.setTaskId(task.getId().toString());
                         schedule.setTaskName(task.getTitle());
                         schedule.setScheduledTime(DateUtils.toLocalDateTime(notificationTime));
                         schedule.setStatus(0);
+                        schedule.setRecipientId(sysUser.getId());
                         schedule.setRecipientName(sysUser.getName());
                         schedule.setRecipient(sysUser.getPhone());
                         schedule.setScheduleId(IdWorker.getId());
+                        schedule.setRetryCount(3);
                         scheduleArrayList.add(schedule);
                     }
                 }

+ 1 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/reminder/controller/CoreReminderConfigurationController.java

@@ -85,7 +85,7 @@ public class CoreReminderConfigurationController {
     @ApiOperation(value = "根据配置查找对应的任务,从而生成短息提醒任务")
     @GetMapping("findNeedRemind")
     public AjaxResult findNeedRemind() {
-        configurationService.findTask();
+        configurationService.findTask(null);
         return AjaxResult.success();
     }
 

+ 1 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/reminder/mapper/CoreReminderConfigurationMapper.java

@@ -22,6 +22,6 @@ public interface CoreReminderConfigurationMapper extends BaseMapper<CoreReminder
 
     Page<ReminderConfigPageVo> selectPageData(Page<ReminderConfigPageVo> page, @Param("req") ReminderConfigPageDto req);
 
-    List<CoreReminderConfigurationFullVo> findAllFullData();
+    List<CoreReminderConfigurationFullVo> findAllFullData(@Param("configIdList") List<Long> configIdList);
 
 }

+ 1 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/reminder/service/ICoreReminderConfigurationService.java

@@ -35,7 +35,7 @@ public interface ICoreReminderConfigurationService extends IService<CoreReminder
 
     List<Map<String, String>> calculateTimeUnit(String sendModule, Long planId);
 
-    void findTask();
+    void findTask(List<Long> congfigIdList);
 
     List<SysUser> getNotificationUser(CoreReminderConfigurationFullVo configurationFullVo);
 

+ 9 - 2
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/reminder/service/impl/CoreReminderConfigurationServiceImpl.java

@@ -110,6 +110,8 @@ public class CoreReminderConfigurationServiceImpl extends ServiceImpl<CoreRemind
             save(config);
             saveConfigurationRoles(config.getConfigId(), editDto.getRoleIdList(), names);
             saveConfigurationOrgList(config.getConfigId(), sysOrgList);
+            reminderScheduleService.deleteByConfigId(config.getConfigId());
+            findTask(Collections.singletonList(config.getConfigId()));
             return;
         }
         populateBean(editDto, config);
@@ -118,6 +120,8 @@ public class CoreReminderConfigurationServiceImpl extends ServiceImpl<CoreRemind
         saveConfigurationRoles(config.getConfigId(), editDto.getRoleIdList(), names);
         coreReminderConfigurationOrgMapper.deleteByConfigId(config.getConfigId());
         saveConfigurationOrgList(config.getConfigId(), sysOrgList);
+        reminderScheduleService.deleteByConfigId(config.getConfigId());
+        findTask(Collections.singletonList(config.getConfigId()));
     }
 
     @Override
@@ -235,8 +239,11 @@ public class CoreReminderConfigurationServiceImpl extends ServiceImpl<CoreRemind
     }
 
     @Override
-    public void findTask() {
-        List<CoreReminderConfigurationFullVo> configList = baseMapper.findAllFullData();
+    public void findTask(List<Long> congfigIdList) {
+        List<CoreReminderConfigurationFullVo> configList = baseMapper.findAllFullData(congfigIdList);
+        if (configList.isEmpty()){
+            return;
+        }
         Map<String, List<CoreReminderConfigurationFullVo>> listMap = configList.stream().collect(Collectors.groupingBy(CoreReminderConfigurationFullVo::getSendModule));
         for (Map.Entry<String, List<CoreReminderConfigurationFullVo>> entry : listMap.entrySet()) {
             BusinessPlanType type = BusinessPlanType.getBusinessPlanType(entry.getKey());

+ 4 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/resumption/service/impl/AppPlanServiceImpl.java

@@ -1748,13 +1748,17 @@ public class AppPlanServiceImpl extends ServiceImpl<AppPlanMapper, AppPlan> impl
                         schedule.setConfigId(configuration.getConfigId());
                         schedule.setReminderType(configuration.getReminderType());
                         schedule.setSendModule(configuration.getSendModule());
+                        schedule.setOrgId(orgId);
+                        schedule.setOrgGuid(first.get().getGuid());
                         schedule.setTaskId(task.getId().toString());
                         schedule.setTaskName(task.getName());
                         schedule.setScheduledTime(DateUtils.toLocalDateTime(notificationTime));
                         schedule.setStatus(0);
+                        schedule.setRecipientId(sysUser.getId());
                         schedule.setRecipientName(sysUser.getName());
                         schedule.setRecipient(sysUser.getPhone());
                         schedule.setScheduleId(IdWorker.getId());
+                        schedule.setRetryCount(3);
                         scheduleArrayList.add(schedule);
                     }
                 }

+ 4 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/service/impl/CoreSafecheckPlanServiceImpl.java

@@ -1395,13 +1395,17 @@ public class CoreSafecheckPlanServiceImpl extends ServiceImpl<CoreSafecheckPlanM
                         schedule.setConfigId(configuration.getConfigId());
                         schedule.setReminderType(configuration.getReminderType());
                         schedule.setSendModule(configuration.getSendModule());
+                        schedule.setOrgId(orgId);
+                        schedule.setOrgGuid(first.get().getGuid());
                         schedule.setTaskId(task.getId().toString());
                         schedule.setTaskName(task.getTitle());
                         schedule.setScheduledTime(DateUtils.toLocalDateTime(notificationTime));
                         schedule.setStatus(0);
+                        schedule.setRecipientId(sysUser.getId());
                         schedule.setRecipientName(sysUser.getName());
                         schedule.setRecipient(sysUser.getPhone());
                         schedule.setScheduleId(IdWorker.getId());
+                        schedule.setRetryCount(3);
                         scheduleArrayList.add(schedule);
                     }
                 }

+ 6 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/reminder/CoreReminderConfigurationMapper.xml

@@ -94,5 +94,11 @@
         select *
         from core_reminder_configuration
         where enabled = true
+        <if test="configIdList != null and configIdList.size>0">
+            and config_id in
+            <foreach collection="configIdList" separator="," item="item" index="index" open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
     </select>
 </mapper>