|
@@ -39,7 +39,7 @@ import java.util.List;
|
|
*/
|
|
*/
|
|
@Slf4j
|
|
@Slf4j
|
|
@Component
|
|
@Component
|
|
-public class ControlDayServiceImpl implements ControlDayService, InitializingBean {
|
|
|
|
|
|
+public class ControlDayServiceImpl implements ControlDayService {
|
|
@Resource
|
|
@Resource
|
|
private AmountWaterUsedAmountMapper amountWaterUsedAmountMapper;
|
|
private AmountWaterUsedAmountMapper amountWaterUsedAmountMapper;
|
|
@Resource
|
|
@Resource
|
|
@@ -52,109 +52,12 @@ public class ControlDayServiceImpl implements ControlDayService, InitializingBea
|
|
CustomerMapper customerMapper;
|
|
CustomerMapper customerMapper;
|
|
@Autowired
|
|
@Autowired
|
|
PayControlRecordService payControlRecordService;
|
|
PayControlRecordService payControlRecordService;
|
|
- @Resource
|
|
|
|
- private PayMessagetemplateMapper payMessagetemplateMapper;
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
PayControlRuleService payControlRuleService;
|
|
PayControlRuleService payControlRuleService;
|
|
|
|
|
|
@Value("${Sync.Data.Url}")
|
|
@Value("${Sync.Data.Url}")
|
|
String SyncUrl;
|
|
String SyncUrl;
|
|
-
|
|
|
|
- @Override
|
|
|
|
- public void afterPropertiesSet(){
|
|
|
|
-// List<PayBaseCustomerandmeterrela> payBaseCustomerandmeterrelas = amountWaterUsedAmountMapper.getCustIdAndSiteId();
|
|
|
|
-// for (PayBaseCustomerandmeterrela payBaseCustomerandmeterrela: payBaseCustomerandmeterrelas){
|
|
|
|
-// saveQrtzTask(payBaseCustomerandmeterrela.getSiteId(),payBaseCustomerandmeterrela.getCustomerId());
|
|
|
|
-// }
|
|
|
|
- }
|
|
|
|
- public void saveQrtzTask(BigInteger siteId,BigInteger customerId){
|
|
|
|
- try {
|
|
|
|
- // 1,查询需要批量推送的配置项目并构建定时任务
|
|
|
|
- // 2,若对应定时任务不存在则创建
|
|
|
|
- String cron = getCron(siteId,customerId);
|
|
|
|
- if (StringUtils.isNotBlank(cron)){
|
|
|
|
- QuartzEntity entity = new QuartzEntity();
|
|
|
|
- entity.setJobGroup("根据阀控规则定时处理开关阀");
|
|
|
|
- entity.setJobName("ControlByDayJob" +customerId);
|
|
|
|
- entity.setDescription("ControlByDayJob" +customerId);
|
|
|
|
- boolean exists = jobAndTriggerService.isExists(entity);
|
|
|
|
-
|
|
|
|
- if(exists)
|
|
|
|
- jobAndTriggerService.deleteJob(entity);
|
|
|
|
-
|
|
|
|
- if(1==1) {
|
|
|
|
- log.info(String.format("添加阀控处理任务:%s,客户ID%s",cron,customerId));
|
|
|
|
- entity.setCronExpression(cron);
|
|
|
|
- entity.setJobClassName(ControlByDayJob.class.getName());
|
|
|
|
-
|
|
|
|
- HashMap<String, Object> jobData = new HashMap<String, Object>();
|
|
|
|
- jobData.put("siteId", siteId.intValue());
|
|
|
|
- jobData.put("customerId", customerId.intValue());
|
|
|
|
- entity.setJobData(jobData);
|
|
|
|
- jobAndTriggerService.save(entity);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- catch (Exception ex){
|
|
|
|
- log.error(ex.getMessage());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public String getCron(BigInteger siteId,BigInteger customerId){
|
|
|
|
- //查询催缴设置
|
|
|
|
- //(1)手动催缴:实时执行;
|
|
|
|
- //(2)自动催缴:半小时后执行。
|
|
|
|
- //3. 若设定欠费关阀规则,但未进行催缴设置则不执行“欠费关阀”指令。
|
|
|
|
- PayMessageTemplateDto payMessageTemplateDto = payMessagetemplateMapper.get(siteId,customerId,null,null);
|
|
|
|
-
|
|
|
|
- if(payMessageTemplateDto != null){
|
|
|
|
- String sendTime = payMessageTemplateDto.getSendTime();
|
|
|
|
- if(StringUtils.isNotBlank(sendTime)){
|
|
|
|
- if(sendTime.length() == 5)
|
|
|
|
- sendTime += ":00";
|
|
|
|
- //催缴方式 0手动 1自动
|
|
|
|
- if(payMessageTemplateDto.getOperationType() == 0){
|
|
|
|
- String[] sp = sendTime.split(":");
|
|
|
|
- if(sp != null && sp.length == 3){
|
|
|
|
- String cron = String.format("%s %s %s * * ?",Integer.parseInt(sp[2]),Integer.parseInt(sp[1]),Integer.parseInt(sp[0]));
|
|
|
|
- return cron;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- else if (payMessageTemplateDto.getOperationType() == 1){
|
|
|
|
- DateTimeFormatter dfYmd = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
|
- String currTime = LocalDateTime.now().format(dfYmd) + " " + sendTime;;
|
|
|
|
- DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
|
- LocalDateTime localDateTime = LocalDateTime.parse(currTime,df);
|
|
|
|
- localDateTime = localDateTime.plusMinutes(60);
|
|
|
|
- String cron = String.format("%s %s %s * * ?",localDateTime.getSecond(),localDateTime.getMinute(),localDateTime.getHour());
|
|
|
|
- return cron;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- return "";
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public void start(int flag,BigInteger siteId,BigInteger customerId){
|
|
|
|
- PayBaseCustomerandmeterrela customer = new PayBaseCustomerandmeterrela();
|
|
|
|
- customer.setCustomerId(customerId);
|
|
|
|
- customer.setSiteId(siteId);
|
|
|
|
- List<PayBaseCustomerandmeterrela> payBaseCustomerandmeterrelaList = payBaseCustomerandmeterrelaMapper.findList(customer);
|
|
|
|
- if(payBaseCustomerandmeterrelaList.size() > 0){
|
|
|
|
- Customer customerNo = customerMapper.findById(customer.getCustomerId().intValue());
|
|
|
|
- List<Integer> filterId = new ArrayList<>();
|
|
|
|
- filterId.add(1); //欠费天数
|
|
|
|
- filterId.add(2); //欠费金额
|
|
|
|
- filterId.add(3); //预存金额
|
|
|
|
- //filterId.add(4); //用水余额
|
|
|
|
- //filterId.add(5); //开户状态
|
|
|
|
- filterId.add(7); //预存与欠费差额
|
|
|
|
- for (PayBaseCustomerandmeterrela one: payBaseCustomerandmeterrelaList){
|
|
|
|
- sendValve(customerNo.getCustomerNo(),flag,filterId,one);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
*
|
|
*
|
|
* @param customerNo 客户编号
|
|
* @param customerNo 客户编号
|