package com.sinata.rest.modular.mall.job;
|
|
import cn.hutool.core.util.StrUtil;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.sinata.rest.modular.member.model.MemUser;
|
import com.sinata.rest.modular.member.service.IMemUserService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.stereotype.Component;
|
|
import java.util.List;
|
|
/**
|
* 定时任务-处理注册城市
|
*/
|
@Slf4j
|
@Component
|
@EnableScheduling
|
public class CityCodeWork {
|
|
@Autowired
|
IMemUserService memUserService;
|
|
@Scheduled(cron = "0 */3 * * * *")
|
public void run() {
|
List<MemUser> list = memUserService.list(
|
Wrappers.<MemUser>query().lambda()
|
.isNull(MemUser::getAgentProvinceCode)
|
);
|
for (MemUser u : list) {
|
if (StrUtil.isBlank(u.getCityCode())) {
|
u.setCityCode("510100");
|
}
|
|
String province = StrUtil.sub(u.getCityCode(), 0, 2) + "0000";
|
String city = StrUtil.sub(u.getCityCode(), 0, 4) + "00";
|
String county = u.getCityCode();
|
|
memUserService.update(new MemUser(),
|
Wrappers.<MemUser>update().lambda()
|
.set(MemUser::getCityCode, u.getCityCode())
|
.set(MemUser::getAgentProvinceCode, province)
|
.set(MemUser::getAgentCityCode, city)
|
.set(MemUser::getAgentCountyCode, county)
|
.eq(MemUser::getId, u.getId())
|
);
|
}
|
}
|
|
}
|