|
@@ -311,21 +311,7 @@ public class PayFeeServiceImp implements PayFeeService {
|
|
|
if(transactiondetailsDtoList.size()>0){
|
|
|
payTransactiondetailsMapper.batchInsert(transactiondetailsDtoList);
|
|
|
}
|
|
|
- //查询阀门状态,判断是否需要开阀
|
|
|
- List<PayValveStateInfo> payValveStateInfos = payFeeMapper.getDeviceValveState(new BigInteger(id));
|
|
|
- for(PayValveStateInfo payValveStateInfo : payValveStateInfos){
|
|
|
- if(payValveStateInfo != null
|
|
|
- && payValveStateInfo.getDebt()!= null && payValveStateInfo.getDebt().compareTo(BigDecimal.ZERO) ==1
|
|
|
- && payValveStateInfo.getValveState()!= null && payValveStateInfo.getValveState().equals("0")){
|
|
|
- payValveStateInfo.setOperation(1);
|
|
|
- payValveStateInfo.setSiteId(BigInteger.valueOf(loginUser.getSiteId()));
|
|
|
- payValveStateInfo.setCustomerId(BigInteger.valueOf(loginUser.getCustomerId()));
|
|
|
- Boolean sendValveCommondResult = this.sendValveCommond(payValveStateInfo);
|
|
|
- if(!sendValveCommondResult){
|
|
|
-// result+="; 开阀异常:"+String.format("%.2f", transAmount)+"元";
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ openValveByPayFee(new BigInteger(id), loginUser.getSiteId(),loginUser.getCustomerId());
|
|
|
//返回批次号
|
|
|
PayfeeResult payfeeResult=new PayfeeResult();
|
|
|
payfeeResult.setMsg(result);
|
|
@@ -337,7 +323,52 @@ public class PayFeeServiceImp implements PayFeeService {
|
|
|
|
|
|
}
|
|
|
|
|
|
- /*
|
|
|
+ private void openValveByPayFee(BigInteger id, Integer siteId, Integer customerId) {
|
|
|
+ //查询阀门状态,判断是否需要开阀
|
|
|
+ List<PayValveStateInfo> payValveStateInfos = payFeeMapper.getDeviceValveState(id);
|
|
|
+
|
|
|
+ List<Integer> types =new ArrayList<>();
|
|
|
+ types.add(2); //欠费金额
|
|
|
+ types.add(3); //预存金额
|
|
|
+ types.add(7); //预存与欠费差额
|
|
|
+ List<PayControlRule> payControlRules = payFeeMapper.getValveRulesByType(1,types,siteId,customerId);
|
|
|
+
|
|
|
+ for(PayValveStateInfo payValveStateInfo : payValveStateInfos){
|
|
|
+ if(payValveStateInfo != null && payValveStateInfo.getDebt()!= null
|
|
|
+ && ((payValveStateInfo.getValveState()!= null && payValveStateInfo.getValveState().equals("0"))
|
|
|
+ || payValveStateInfo.getValveState() == null)){
|
|
|
+
|
|
|
+ for(PayControlRule payControlRule : payControlRules){
|
|
|
+ if(payControlRule.getConditionId() == 2 && payControlRule.checkCondition(payValveStateInfo.getDebt())){
|
|
|
+ payValveStateInfo.setControlRuleId(payControlRule.getId().intValue());
|
|
|
+ payValveStateInfo.setOperation(1);
|
|
|
+ payValveStateInfo.setSiteId(BigInteger.valueOf(siteId));
|
|
|
+ payValveStateInfo.setCustomerId(BigInteger.valueOf(customerId));
|
|
|
+ Boolean sendValveCommondResult = this.sendValveCommond(payValveStateInfo);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if(payControlRule.getConditionId() == 3 && payControlRule.checkCondition(payValveStateInfo.getRemaining())){
|
|
|
+ payValveStateInfo.setControlRuleId(payControlRule.getId().intValue());
|
|
|
+ payValveStateInfo.setOperation(1);
|
|
|
+ payValveStateInfo.setSiteId(BigInteger.valueOf(siteId));
|
|
|
+ payValveStateInfo.setCustomerId(BigInteger.valueOf(customerId));
|
|
|
+ Boolean sendValveCommondResult = this.sendValveCommond(payValveStateInfo);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if(payControlRule.getConditionId() == 7 && payControlRule.checkCondition(payValveStateInfo.getRemaining().subtract(payValveStateInfo.getDebt()))){
|
|
|
+ payValveStateInfo.setControlRuleId(payControlRule.getId().intValue());
|
|
|
+ payValveStateInfo.setOperation(1);
|
|
|
+ payValveStateInfo.setSiteId(BigInteger.valueOf(siteId));
|
|
|
+ payValveStateInfo.setCustomerId(BigInteger.valueOf(customerId));
|
|
|
+ Boolean sendValveCommondResult = this.sendValveCommond(payValveStateInfo);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /*
|
|
|
* @Description: 缴纳欠费
|
|
|
* @auther: wangli
|
|
|
* @date: 2020-04-22 16:35
|
|
@@ -577,21 +608,7 @@ public class PayFeeServiceImp implements PayFeeService {
|
|
|
payTransactiondetailsMapper.batchInsert(transactiondetailsDtoList);
|
|
|
}
|
|
|
|
|
|
- //查询阀门状态,判断是否需要开阀
|
|
|
- List<PayValveStateInfo> payValveStateInfos = payFeeMapper.getDeviceValveState(payCustomRechargeDto.getAccountId());
|
|
|
- for(PayValveStateInfo payValveStateInfo : payValveStateInfos){
|
|
|
- if(payValveStateInfo != null
|
|
|
- && payValveStateInfo.getDebt()!= null && payValveStateInfo.getDebt().compareTo(BigDecimal.ZERO) ==1
|
|
|
- && payValveStateInfo.getValveState()!= null && payValveStateInfo.getValveState().equals("0")){
|
|
|
- payValveStateInfo.setOperation(1);
|
|
|
- payValveStateInfo.setSiteId(BigInteger.valueOf(loginUser.getSiteId()));
|
|
|
- payValveStateInfo.setCustomerId(BigInteger.valueOf(loginUser.getCustomerId()));
|
|
|
- Boolean sendValveCommondResult = this.sendValveCommond(payValveStateInfo);
|
|
|
- if(!sendValveCommondResult){
|
|
|
-// result+="; 开阀异常:"+String.format("%.2f", transAmount)+"元";
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ openValveByPayFee(payCustomRechargeDto.getAccountId(), loginUser.getSiteId(),loginUser.getCustomerId());
|
|
|
|
|
|
//返回批次号
|
|
|
return payseriesno;
|
|
@@ -1248,21 +1265,7 @@ public class PayFeeServiceImp implements PayFeeService {
|
|
|
payAgenttransaction.setDelFlag("0");
|
|
|
payAgenttransactionMapper.insertAgenttransaction(payAgenttransaction);
|
|
|
|
|
|
- //查询阀门状态,判断是否需要开阀
|
|
|
- List<PayValveStateInfo> payValveStateInfos = payFeeMapper.getDeviceValveState(payCustomRechargeDto.getAccountId());
|
|
|
- for(PayValveStateInfo payValveStateInfo : payValveStateInfos){
|
|
|
- if(payValveStateInfo != null
|
|
|
- && payValveStateInfo.getDebt()!= null && payValveStateInfo.getDebt().compareTo(BigDecimal.ZERO) ==1
|
|
|
- && payValveStateInfo.getValveState()!= null && payValveStateInfo.getValveState().equals("0")){
|
|
|
- payValveStateInfo.setOperation(1);
|
|
|
- payValveStateInfo.setSiteId(BigInteger.valueOf(siteId));
|
|
|
- payValveStateInfo.setCustomerId(BigInteger.valueOf(customerId));
|
|
|
- Boolean sendValveCommondResult = this.sendValveCommond(payValveStateInfo);
|
|
|
- if(!sendValveCommondResult){ //关阀失败
|
|
|
-// result+="; 开阀异常:"+String.format("%.2f", transAmount)+"元";
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ openValveByPayFee(payCustomRechargeDto.getAccountId(), siteId,customerId);
|
|
|
return new BankPayfeeMsg("9999","交易成功");
|
|
|
}
|
|
|
|
|
@@ -1378,7 +1381,7 @@ public class PayFeeServiceImp implements PayFeeService {
|
|
|
log.info("开关阀请求结果"+result);
|
|
|
JSONObject jsonObject= JSON.parseObject(result);
|
|
|
Integer status= jsonObject.getInteger("status");
|
|
|
- if(status .equals("0")){ //返回正常
|
|
|
+ if(status == 0){ //返回正常
|
|
|
//添加阀控记录
|
|
|
PayControlRecord payControlRecord = new PayControlRecord();
|
|
|
payControlRecord.setAccountId(payValveStateInfo.getAccountId());
|
|
@@ -1388,6 +1391,8 @@ public class PayFeeServiceImp implements PayFeeService {
|
|
|
payControlRecord.setState(0);//状态为关阀
|
|
|
payControlRecord.setType(1);//开阀操作
|
|
|
|
|
|
+ payControlRecord.setControlRuleId(payValveStateInfo.getControlRuleId());
|
|
|
+
|
|
|
payControlRecord.setCreateBy(userId);
|
|
|
payControlRecord.setCreateDate(LocalDateTime.now());
|
|
|
payControlRecord.setUpdateBy(userId);
|