新增参数清单截止时间定时任务,认证参数任务模块消息处理完毕
This commit is contained in:
+3
-1
@@ -26,4 +26,6 @@ public interface ParamsCollectManifestEOMapper extends BaseMapper<ParamsCollectM
|
|||||||
List<ParamsCollectManifestEO> listInfoOfTitle(@Param("paramsManifestId") String paramsManifestId);
|
List<ParamsCollectManifestEO> listInfoOfTitle(@Param("paramsManifestId") String paramsManifestId);
|
||||||
|
|
||||||
IPage pageInfo(@Param("page") IPage page, @Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO);
|
IPage pageInfo(@Param("page") IPage page, @Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO);
|
||||||
}
|
|
||||||
|
List<ParamsCollectManifestEO> queryByParamManifestId(@Param("paramsManifestId") String paramsManifestIdString);
|
||||||
|
}
|
||||||
|
|||||||
+5
-1
@@ -108,4 +108,8 @@
|
|||||||
order by del_flag desc, add_flag desc, change_flag desc, nio_number asc
|
order by del_flag desc, add_flag desc, change_flag desc, nio_number asc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
<select id="queryByParamManifestId" resultMap="ParamsCollectManifestEOResultMap">
|
||||||
|
select * from params_collect_manifest where params_manifest_id = #{paramsManifestId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
|
|||||||
+4
@@ -164,4 +164,8 @@ public interface IParamsCollectManifestEOService extends IService<ParamsCollectM
|
|||||||
|
|
||||||
// 调整责任领域
|
// 调整责任领域
|
||||||
List<String> updateBatchDutyTerritory(ParamsCollectManifestVO paramsCollectManifestVO);
|
List<String> updateBatchDutyTerritory(ParamsCollectManifestVO paramsCollectManifestVO);
|
||||||
|
|
||||||
|
//监控参数收集任务的截止时间,并根据时间段发送飞书
|
||||||
|
void checkDeadline();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+149
@@ -2871,4 +2871,153 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
|||||||
// return map;
|
// return map;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监控参数收集任务的截止时间,并根据时间段发送飞书
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void checkDeadline() {
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
String now = sdf.format(new Date());// 当前时间
|
||||||
|
QueryWrapper<ParamsManifestEO> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("state", ManifestStateEnum.COLLECTING.getValue());
|
||||||
|
List<ParamsManifestEO> manifestEOS = paramsManifestEOService.list(queryWrapper);
|
||||||
|
for (ParamsManifestEO manifestEO : manifestEOS) {
|
||||||
|
//项目名称
|
||||||
|
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(manifestEO.getProjectId());
|
||||||
|
if (ObjectUtils.isNotEmpty(projectInfo)) {
|
||||||
|
//url
|
||||||
|
String urlParamsStr = parseUrlParams(manifestEO);
|
||||||
|
String hrefFeishu = backUrl + "/ParameterItemCollection" + urlParamsStr;
|
||||||
|
//查出对应清单
|
||||||
|
List<ParamsCollectManifestEO> collectManifestEOS = paramsCollectManifestEOMapper.queryByParamManifestId(manifestEO.getId());
|
||||||
|
Map<String, List<String>> seven = new HashMap<>();
|
||||||
|
Map<String, List<String>> three = new HashMap<>();
|
||||||
|
Map<String, List<String>> today = new HashMap<>();
|
||||||
|
for (ParamsCollectManifestEO collectManifestEO : collectManifestEOS) {
|
||||||
|
String thirdId = null;
|
||||||
|
if (CollectManifestStateEnum.WAIT_SDT.getValue().equals(collectManifestEO.getState())
|
||||||
|
||CollectManifestStateEnum.DRE_BACK.getValue().equals(collectManifestEO.getState())) {
|
||||||
|
//工程接口人
|
||||||
|
if (ObjectUtils.isNotEmpty(collectManifestEO.getSdt())) {
|
||||||
|
SysUser sdt = sysUserService.getUserByName(collectManifestEO.getSdt());
|
||||||
|
if (ObjectUtils.isNotEmpty(sdt)) {
|
||||||
|
thirdId = sdt.getThirdId();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if (CollectManifestStateEnum.WAIT_FILL.getValue().equals(collectManifestEO.getState())
|
||||||
|
||CollectManifestStateEnum.CERT_BACK.getValue().equals(collectManifestEO.getState())) {
|
||||||
|
//填写人
|
||||||
|
if (ObjectUtils.isNotEmpty(collectManifestEO.getDre())) {
|
||||||
|
SysUser dre = sysUserService.getUserByName(collectManifestEO.getDre());
|
||||||
|
if (ObjectUtils.isNotEmpty(dre)) {
|
||||||
|
thirdId = dre.getThirdId();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//截止时间
|
||||||
|
if (ObjectUtils.isNotEmpty(thirdId) && ObjectUtils.isNotEmpty(collectManifestEO.getDeadline())) {
|
||||||
|
String deadline =sdf.format(collectManifestEO.getDeadline());
|
||||||
|
//判断日期
|
||||||
|
int days = 0;
|
||||||
|
try {
|
||||||
|
days = (int) (sdf.parse(deadline).getTime() - sdf.parse(now).getTime()) / (24 * 60 * 60 * 1000);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
throw new JeroBootException("时间获取失败");
|
||||||
|
}
|
||||||
|
if (days == 7) {
|
||||||
|
deadlineDateMap(seven, collectManifestEO, thirdId);
|
||||||
|
} else if (days == 3) {
|
||||||
|
deadlineDateMap(three, collectManifestEO, thirdId);
|
||||||
|
} else if (now.equals(deadline)) {
|
||||||
|
deadlineDateMap(today, collectManifestEO, thirdId);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String title = MessageType2Enum.HOMO_PARAMETER_COLLECTION.getCn() + "/" + MessageType2Enum.HOMO_PARAMETER_COLLECTION.getEn();
|
||||||
|
String cnContentLower = "项目: " + projectInfo.getProjectName() +
|
||||||
|
"\n发起人: 系统";
|
||||||
|
String enContentLower = "Project: " + projectInfo.getProjectName() +
|
||||||
|
"\nInitiator: system";
|
||||||
|
if (!seven.isEmpty()) {
|
||||||
|
for (String key : seven.keySet()) {
|
||||||
|
String[] thirds = new String[1];
|
||||||
|
thirds[0] = key;
|
||||||
|
List<String> stringList = seven.get(key);
|
||||||
|
String join = StringUtils.join(stringList, ",");
|
||||||
|
try {
|
||||||
|
FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo();
|
||||||
|
feishuMsgVo.setTitle(title);
|
||||||
|
feishuMsgVo.setCnContentUpper("您参与填写的参数"+ join +",还有7天到期,请及时查看处理");
|
||||||
|
feishuMsgVo.setCnContentLower(cnContentLower);
|
||||||
|
feishuMsgVo.setEnContentUpper("The parameter "+ join +" you filled in will expire in 7 days. Please check and address it in a timely manner");
|
||||||
|
feishuMsgVo.setEnContentLower(enContentLower);
|
||||||
|
feishuMsgVo.setUrl(hrefFeishu);
|
||||||
|
feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色
|
||||||
|
feishuService.sendCard(thirds, feishuMsgVo);
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.error("飞书消息推送失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!three.isEmpty()) {
|
||||||
|
for (String key : three.keySet()) {
|
||||||
|
String[] thirds = new String[1];
|
||||||
|
thirds[0] = key;
|
||||||
|
List<String> stringList = three.get(key);
|
||||||
|
String join = StringUtils.join(stringList, ",");
|
||||||
|
try {
|
||||||
|
FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo();
|
||||||
|
feishuMsgVo.setTitle(title);
|
||||||
|
feishuMsgVo.setCnContentUpper("您参与填写的参数"+ join +",还有3天到期,请及时查看处理");
|
||||||
|
feishuMsgVo.setCnContentLower(cnContentLower);
|
||||||
|
feishuMsgVo.setEnContentUpper("The parameter "+ join +" you filled in will expire in 3 days. Please check and address it in a timely manner");
|
||||||
|
feishuMsgVo.setEnContentLower(enContentLower);
|
||||||
|
feishuMsgVo.setUrl(hrefFeishu);
|
||||||
|
feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色
|
||||||
|
feishuService.sendCard(thirds, feishuMsgVo);
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.error("飞书消息推送失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!today.isEmpty()) {
|
||||||
|
for (String key : today.keySet()) {
|
||||||
|
String[] thirds = new String[1];
|
||||||
|
thirds[0] = key;
|
||||||
|
List<String> stringList = today.get(key);
|
||||||
|
String join = StringUtils.join(stringList, ",");
|
||||||
|
try {
|
||||||
|
FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo();
|
||||||
|
feishuMsgVo.setTitle(title);
|
||||||
|
feishuMsgVo.setCnContentUpper("您参与填写的参数"+ join +",将于今天到期,请及时查看处理");
|
||||||
|
feishuMsgVo.setCnContentLower(cnContentLower);
|
||||||
|
feishuMsgVo.setEnContentUpper("The parameter "+ join +" you filled in will expire today. Please check and address it in a timely manner");
|
||||||
|
feishuMsgVo.setEnContentLower(enContentLower);
|
||||||
|
feishuMsgVo.setUrl(hrefFeishu);
|
||||||
|
feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色
|
||||||
|
feishuService.sendCard(thirds, feishuMsgVo);
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.error("飞书消息推送失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void deadlineDateMap(Map<String, List<String>> today, ParamsCollectManifestEO collectManifestEO, String thirdId) {
|
||||||
|
List<String> stringList = today.get(thirdId);
|
||||||
|
if (ObjectUtils.isEmpty(stringList)) {
|
||||||
|
stringList = new ArrayList<>();
|
||||||
|
stringList.add("NIO-" + collectManifestEO.getNioNumber());
|
||||||
|
today.put(thirdId, stringList);
|
||||||
|
} else {
|
||||||
|
stringList.add("NIO-" + collectManifestEO.getNioNumber());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+30
@@ -0,0 +1,30 @@
|
|||||||
|
package com.jero.modules.cert.collect.task;
|
||||||
|
|
||||||
|
import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class ScheduledTask {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IParamsCollectManifestEOService paramsCollectManifestEOServicea;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 监控参数收集任务的截止时间,并根据时间段发送飞书
|
||||||
|
*/
|
||||||
|
//@Scheduled(cron = "0 30 14 * * ?")
|
||||||
|
@Scheduled(cron = "0 0 0 */1 * ?")
|
||||||
|
public void checkTime() {
|
||||||
|
log.info("-----checkDeadline-----begin-----------");
|
||||||
|
|
||||||
|
paramsCollectManifestEOServicea.checkDeadline();
|
||||||
|
|
||||||
|
log.info("-----checkDeadline------end-----------");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -11,6 +11,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
|
|||||||
import org.springframework.context.ConfigurableApplicationContext;
|
import org.springframework.context.ConfigurableApplicationContext;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.core.env.Environment;
|
import org.springframework.core.env.Environment;
|
||||||
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
import org.springframework.web.socket.server.standard.ServerEndpointExporter;
|
import org.springframework.web.socket.server.standard.ServerEndpointExporter;
|
||||||
|
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
@@ -25,6 +26,7 @@ import java.net.UnknownHostException;
|
|||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@EnableEurekaClient
|
@EnableEurekaClient
|
||||||
@EnableFeignClients
|
@EnableFeignClients
|
||||||
|
@EnableScheduling
|
||||||
public class LawNioApplication extends SpringBootServletInitializer {
|
public class LawNioApplication extends SpringBootServletInitializer {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user