Commit 67b49ceb authored by 鲁鸿波's avatar 鲁鸿波

Merge branch 'dev_2.6.0' of http://120.46.174.3:8099/zlmy/zlmy-cloud into dev_2.6.0

parents 46eafd72 cdcc2439
...@@ -36,7 +36,7 @@ public class AuthInterceptor implements HandlerInterceptor { ...@@ -36,7 +36,7 @@ public class AuthInterceptor implements HandlerInterceptor {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) {
HttpServletResponse httpResponse = response; HttpServletResponse httpResponse = response;
String token = RequestUtil.getToken(request); String token = RequestUtil.getToken(request);
log.info("接口路径:" + request.getRequestURI() + ";token=" + token); //log.info("接口路径:" + request.getRequestURI() + ";token=" + token);
if (StringHelper.isNotBlank(token)) { if (StringHelper.isNotBlank(token)) {
try { try {
JwtInfos jwtInfos = JwtHelper.parseJwtAuth0(token, "Token Issuer"); JwtInfos jwtInfos = JwtHelper.parseJwtAuth0(token, "Token Issuer");
......
package com.testor.module.aptitude.job;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.testor.module.aptitude.model.domain.TPersonAptitude;
import com.testor.module.aptitude.service.TPersonAptitudeService;
import com.testor.module.messageNotice.model.vo.MsgTemplateVO;
import com.testor.module.messageNotice.service.TMsgNoticeService;
import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
@Service
@ConditionalOnProperty(prefix = "service", name = "taskEnabled", havingValue = "true")
public class Remind {
@Autowired
private TPersonAptitudeService tPersonAptitudeService;
@Autowired
private TMsgNoticeService tMsgNoticeService;
@XxlJob("checkAndSendReminders")
public void checkAndSendReminders() {
LocalDate today = LocalDate.now();
// 提前两个月提醒(60天后到期)
checkAndSendReminder(today.plusDays(60), "资质将在2个月后到期, 及时更新证件信息,以免影响正常使用,谢谢");
// 提前一个月提醒(30天后到期)
checkAndSendReminder(today.plusDays(30), "资质将在1个月后到期,及时更新证件信息,以免影响正常使用,谢谢");
// 提前一周提醒(7天后到期)
checkAndSendReminder(today.plusDays(7), "资质将在1周后到期,及时更新证件信息,以免影响正常使用,谢谢");
// 过期提醒
checkExpired(today);
}
private void checkAndSendReminder(LocalDate expiryDate, String message) {
String format = expiryDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
// 使用MyBatis-Plus的LambdaQueryWrapper构建查询
List<TPersonAptitude> aptitudes = tPersonAptitudeService.list(
new LambdaQueryWrapper<TPersonAptitude>()
.eq(TPersonAptitude::getAptitudeValid,format)
);
aptitudes.forEach(aptitude -> {
sendNotification(aptitude, message);
});
}
private void checkExpired(LocalDate today) {
List<TPersonAptitude> aptitudes = tPersonAptitudeService.list(
new LambdaQueryWrapper<TPersonAptitude>()
.eq(TPersonAptitude::getAptitudeValid, today.atStartOfDay())
);
aptitudes.forEach(aptitude -> {
sendNotification(aptitude, "已过期,及时更新证件信息,以免影响正常使用,谢谢");
});
}
private void sendNotification(TPersonAptitude aptitude, String message) {
String fullMessage = String.format("%s的%s资质: %s",
aptitude.getPersonName(),
aptitude.getAptitudeName(),
message);
MsgTemplateVO msgTemplateVO = new MsgTemplateVO();
msgTemplateVO.setTemplateContent(fullMessage);
msgTemplateVO.setTemplateType("notice");
msgTemplateVO.setTemplateTypeName("通知");
tMsgNoticeService.generateMsgNotice("aptitude",aptitude.getId(),getUserId(aptitude.getOrgId()),msgTemplateVO);
}
private List<String> getUserId(String orgId) {
return new ArrayList<>();
}
}
...@@ -1008,17 +1008,20 @@ public class THazardWorkPlanServiceImpl extends SuperServiceImpl<THazardWorkPlan ...@@ -1008,17 +1008,20 @@ public class THazardWorkPlanServiceImpl extends SuperServiceImpl<THazardWorkPlan
String licenseCheckUsers = tHazardWorkPlan.getLicenseCheckUser(); String licenseCheckUsers = tHazardWorkPlan.getLicenseCheckUser();
if (StringUtils.isBlank(licenseCheckUsers)) { if (StringUtils.isBlank(licenseCheckUsers)) {
map.remove("checkUser");
map.put("workSiteResponsible", tHazardWorkPlan.getWorkSiteResponsible()); map.put("workSiteResponsible", tHazardWorkPlan.getWorkSiteResponsible());
return; return;
} }
String[] licenseCheckUserArray = licenseCheckUsers.split(","); String[] licenseCheckUserArray = licenseCheckUsers.split(",");
int length = licenseCheckUserArray.length; int length = licenseCheckUserArray.length;
if (length == 0) { if (length == 0) {
map.remove("checkUser");
map.put("workSiteResponsible", tHazardWorkPlan.getWorkSiteResponsible()); map.put("workSiteResponsible", tHazardWorkPlan.getWorkSiteResponsible());
} else { } else {
//获取最后一用户 //获取最后一用户
String userId = licenseCheckUserArray[length - 1]; String userId = licenseCheckUserArray[length - 1];
map.put("checkUser", userId); map.put("checkUser", userId);
map.remove("workSiteResponsible");
} }
} }
......
...@@ -322,9 +322,10 @@ public class DepositoryManageBaseServiceImpl extends ServiceImpl<DepositoryManag ...@@ -322,9 +322,10 @@ public class DepositoryManageBaseServiceImpl extends ServiceImpl<DepositoryManag
return newSysOrg; return newSysOrg;
} }
String lessorOrgName = baseInfo.getLessorOrgName(); String lessorOrgName = convertLessorOrgName(baseInfo.getLessorOrgName());
NewSysOrg fatherOrg = newSysOrgService.lambdaQuery() NewSysOrg fatherOrg = newSysOrgService.lambdaQuery()
.eq(NewSysOrg::getOrgName, lessorOrgName) .and(wrapper -> wrapper.eq(NewSysOrg::getOrgName, lessorOrgName)
.or().eq(NewSysOrg::getOrgName, lessorOrgName.replace("公司", "经营部")))
.le(SysOrg::getTreeLevel, 3) .le(SysOrg::getTreeLevel, 3)
.eq(SysOrg::getIsDept, "0") .eq(SysOrg::getIsDept, "0")
.eq(NewSysOrg::getStatus, "0") .eq(NewSysOrg::getStatus, "0")
...@@ -380,6 +381,25 @@ public class DepositoryManageBaseServiceImpl extends ServiceImpl<DepositoryManag ...@@ -380,6 +381,25 @@ public class DepositoryManageBaseServiceImpl extends ServiceImpl<DepositoryManag
return fatherOrg; return fatherOrg;
} }
private String convertLessorOrgName(String orgName) {
if (orgName.contains("-")) {
// 找到"-"的位置
int dashIndex = orgName.indexOf("-");
// 截取"-"之后的内容
orgName = orgName.substring(dashIndex + 1);
}
if ("黑龙江公司".equals(orgName)) {
orgName = "哈尔滨经营部";
}
if ("深圳公司".equals(orgName)) {
orgName = "广西经营部";
}
if ("辽宁公司".equals(orgName)) {
orgName = "沈阳经营部";
}
return orgName;
}
/** /**
* 附件内容转换 * 附件内容转换
......
...@@ -181,6 +181,13 @@ public class RuTaskServiceImpl implements RuTaskService { ...@@ -181,6 +181,13 @@ public class RuTaskServiceImpl implements RuTaskService {
return processDefListResponse; return processDefListResponse;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
if ("2".equals(param.getTabType())){
ProcessDefListResponse defListResponse = new ProcessDefListResponse();
defListResponse.setKey("aptitude");
defListResponse.setName("证件过期提醒");
resultList.add(defListResponse);
}
// 构建返回的响应对象 // 构建返回的响应对象
BaseResponseList<ProcessDefListResponse> responseList = new BaseResponseList<>(); BaseResponseList<ProcessDefListResponse> responseList = new BaseResponseList<>();
responseList.setData(resultList); responseList.setData(resultList);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment