package project.monitor.pledgegalaxy.job;
|
|
import java.util.List;
|
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
|
import kernel.util.StringUtils;
|
import kernel.util.ThreadUtils;
|
import project.monitor.pledgegalaxy.PledgeGalaxyProfit;
|
import project.monitor.pledgegalaxy.PledgeGalaxyProfitService;
|
import project.monitor.pledgegalaxy.PledgeGalaxyStatusConstants;
|
import project.syspara.Syspara;
|
import project.syspara.SysparaService;
|
import util.LockFilter;
|
|
/**
|
* 质押收益状态修改
|
*
|
*/
|
public class PledgeGalaxyProfitStatusUpdateJob implements Runnable {
|
|
private Logger logger = LoggerFactory.getLogger(PledgeGalaxyProfitStatusUpdateJob.class);
|
|
PledgeGalaxyProfitService pledgeGalaxyProfitService;
|
SysparaService sysparaService;
|
|
public void start() {
|
|
// 是否开启质押2.0功能:true/开启;false/关闭;
|
Syspara syspara = this.sysparaService.find("pledge_galaxy_open");
|
if (null == syspara) {
|
return;
|
}
|
|
String pledge_galaxy_open = syspara.getValue();
|
if(StringUtils.isEmptyString(pledge_galaxy_open)) {
|
return;
|
}
|
|
if ("true".equals(pledge_galaxy_open)) {
|
new Thread(this, "PledgeGalaxyProfitStatusUpdateJob").start();
|
if (logger.isInfoEnabled()) {
|
logger.info("启动 更新质押收益状态(PledgeGalaxyProfitStatusUpdateJob)服务!");
|
}
|
}
|
}
|
|
public void run() {
|
while (true) {
|
try {
|
List<PledgeGalaxyProfit> all = pledgeGalaxyProfitService.findByStatus(PledgeGalaxyStatusConstants.PROFIT_PENDING);
|
if (null != all && all.size() > 0) {
|
for (PledgeGalaxyProfit item : all) {
|
handleRunner(item);
|
ThreadUtils.sleep(10);
|
}
|
}
|
} catch (Throwable e) {
|
logger.error("PledgeGalaxyOrderStatusUpdateJob taskExecutor.execute() fail", e);
|
}finally {
|
ThreadUtils.sleep(1000 * 10);
|
}
|
}
|
}
|
|
public void handleRunner(PledgeGalaxyProfit item) {
|
boolean lock = false;
|
try {
|
if (!LockFilter.add(item.getId().toString())) {
|
return;
|
}
|
lock = true;
|
item.setStatus(PledgeGalaxyStatusConstants.PROFIT_EXPIRED);
|
pledgeGalaxyProfitService.update(item);
|
} catch (Throwable t) {
|
logger.error("PledgeGalaxyOrderStatusUpdateJob taskExecutor.execute() fail", t);
|
} finally {
|
if (lock) {
|
ThreadUtils.sleep(200);
|
LockFilter.remove(item.getId().toString());
|
}
|
}
|
}
|
|
public PledgeGalaxyProfitService getPledgeGalaxyProfitService() {
|
return pledgeGalaxyProfitService;
|
}
|
|
public void setPledgeGalaxyProfitService(PledgeGalaxyProfitService pledgeGalaxyProfitService) {
|
this.pledgeGalaxyProfitService = pledgeGalaxyProfitService;
|
}
|
|
public void setSysparaService(SysparaService sysparaService) {
|
this.sysparaService = sysparaService;
|
}
|
|
}
|