package com.nq.utils.task.user; import com.github.pagehelper.PageInfo; import com.nq.common.ServerResponse; import com.nq.dao.UserMapper; import com.nq.pojo.User; import com.nq.service.IUserService; 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; /** * 用户资产清算模块,每天非节假日晚上8点固定的清算可用和可取资金 */ @Component public class UserAssetAuditTask { @Autowired private IUserService iUserService; @Autowired private UserMapper userMapper; private static final Logger log = LoggerFactory.getLogger(UserAssetAuditTask.class); /** * 每天晚上8点执行清算 */ @Scheduled(cron = "0 0 20 * * MON-FRI") public void doAuditTask(){ int pageNo=1; boolean hasNextPage=true; while (hasNextPage&&pageNo<=300){ ServerResponse serverResponse = iUserService.listByAdmin(null, null, null, null, pageNo, 30,null); PageInfo pageInfo = (PageInfo) serverResponse.getData(); hasNextPage=pageInfo.isHasNextPage(); pageNo++; List list = pageInfo.getList(); for(User u:list){ //可用资金复制到可取资金操作 u.setEnaleWithdrawAmt(u.getEnableAmt()); userMapper.updateByPrimaryKeySelective(u); log.info("[清算]id:{},withdraw:{}",u.getId(),u.getEnaleWithdrawAmt()); } } } }