package project.monitor.pledgegalaxy.job; import java.util.Date; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.CollectionUtils; import com.mysql.cj.util.StringUtils; import kernel.web.ApplicationUtil; import kernel.web.Page; import project.monitor.pledgegalaxy.PledgeGalaxyConfig; import project.monitor.pledgegalaxy.PledgeGalaxyConfigService; import project.monitor.pledgegalaxy.PledgeGalaxyOrder; import project.monitor.pledgegalaxy.PledgeGalaxyOrderService; import project.syspara.SysparaService; /** * 团队收益记录生成JOB * */ public class PledgeGalaxyTeamProfitCreateJob { private Logger logger = LoggerFactory.getLogger(PledgeGalaxyTeamProfitCreateJob.class); protected PledgeGalaxyOrderService pledgeGalaxyOrderService; protected SysparaService sysparaService; public void taskJob() { String pledgeGalaxyOpen = sysparaService.find("pledge_galaxy_open").getValue(); if (StringUtils.isNullOrEmpty(pledgeGalaxyOpen) || "false".equals(pledgeGalaxyOpen)) { return; } PledgeGalaxyConfigService pledgeGalaxyConfigService =ApplicationUtil.getBean(PledgeGalaxyConfigService.class); PledgeGalaxyConfig config = pledgeGalaxyConfigService.getConfig(null); if("0".equals(config.getTeamIncomeProfitRatio())) { return; } String projectType = this.sysparaService.find("project_type").getValue(); try { int pageNo = 1; int pageSize = 300; pledgeGalaxyOrderService.cacheRecomProfitClear(); Date date = new Date(); while (true) { Page page = pledgeGalaxyOrderService.pagedQueryComputeOrder(pageNo, pageSize, date); List galaxyOrders = page.getElements(); // 分页没数据时表示已经计算结束 if (CollectionUtils.isEmpty(galaxyOrders)) { break; } try { pledgeGalaxyOrderService.saveTeamProfit(galaxyOrders, projectType); } catch (Throwable e) { logger.error("error:", e); } logger.info("miner profit finished ,count:" + galaxyOrders.size()); pageNo++; } // 用户收益计算完,计算推荐人收益 pledgeGalaxyOrderService.insertTeamProfit(); } catch (Throwable e) { logger.error("PledgeGalaxyOrderProfit run fail", e); } } public PledgeGalaxyOrderService getPledgeGalaxyOrderService() { return pledgeGalaxyOrderService; } public void setPledgeGalaxyOrderService(PledgeGalaxyOrderService pledgeGalaxyOrderService) { this.pledgeGalaxyOrderService = pledgeGalaxyOrderService; } public SysparaService getSysparaService() { return sysparaService; } public void setSysparaService(SysparaService sysparaService) { this.sysparaService = sysparaService; } }