diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/WxCUserCheckSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/WxCUserCheckSchedule.java new file mode 100644 index 000000000..509c1d6a9 --- /dev/null +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/WxCUserCheckSchedule.java @@ -0,0 +1,46 @@ +package com.iformall.schedule; + +import com.iformall.mapper.WxCUserMapper; +import com.iformall.service.MailService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + + +@Component +public class WxCUserCheckSchedule { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private boolean isFmException; + + @Autowired + private String fmExceptionEmails; + + @Autowired + private MailService mailService; + + @Autowired + private WxCUserMapper cUserMapper; + + @Scheduled(cron = "0 0 8 * * ?") // 每天凌晨08:00对c_user扫描查重 + // @Scheduled(cron = "0 */1 * * * ?") // 测试1分钟一次 + public void cuserCheckDuplicate() { + + List> mapList = cUserMapper.checkCountByTenantOpenId(); + if(mapList.size()> 0) { + String message = "wx_c_user异常,有重复数据"; + logger.error(message); + if(isFmException) { + String[] receivers = fmExceptionEmails.split(","); + //发送邮件 + mailService.sendSimpleMail(receivers, message, message); + } + } + } +} \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCUserMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCUserMapper.java index ff4f07394..6d81d824f 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCUserMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCUserMapper.java @@ -1,9 +1,7 @@ package com.iformall.mapper; -import java.util.HashMap; import java.util.List; - -import org.apache.ibatis.annotations.Param; +import java.util.Map; import com.iformall.common.CommonMapper; import com.iformall.domain.dto.WxCUserBasicInfoDto; @@ -24,4 +22,6 @@ public interface WxCUserMapper extends CommonMapper { List listByChannel(WxCUser wxCUser); long countByChannel(WxCUser wxCUser); + + List> checkCountByTenantOpenId(); } diff --git a/mallinkService/src/main/resources/mapper/WxCUserMapper.xml b/mallinkService/src/main/resources/mapper/WxCUserMapper.xml index 75c45f9c4..db945f466 100644 --- a/mallinkService/src/main/resources/mapper/WxCUserMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCUserMapper.xml @@ -293,4 +293,8 @@ + +