Просмотр исходного кода

[cUser查重][新增]:每天早晨查重

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
6b23bce8ef
3 измененных файлов: 53 добавлений и 3 удалений
  1. +46
    -0
      mallinkSchedule/src/main/java/com/iformall/schedule/WxCUserCheckSchedule.java
  2. +3
    -3
      mallinkService/src/main/java/com/iformall/mapper/WxCUserMapper.java
  3. +4
    -0
      mallinkService/src/main/resources/mapper/WxCUserMapper.xml

+ 46
- 0
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<Map<String, Object>> 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);
}
}
}
}

+ 3
- 3
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<WxCUser, Long> {
List<WxCUser> listByChannel(WxCUser wxCUser);

long countByChannel(WxCUser wxCUser);

List<Map<String, Object>> checkCountByTenantOpenId();
}

+ 4
- 0
mallinkService/src/main/resources/mapper/WxCUserMapper.xml Просмотреть файл

@@ -293,4 +293,8 @@
</if>
</select>

<select id="checkCountByTenantOpenId" resultType="hashmap" >
select * from (select tenant_id, open_id, count(tenant_id+open_id) as u_count from wx_c_user group by tenant_id, open_id) t where t.u_count >= 2
</select>

</mapper>

Загрузка…
Отмена
Сохранить