|
@@ -1219,22 +1219,56 @@ public class PayController {
|
|
|
stationInfo.setStationId(Integer.valueOf(infoMap.get("stationId").toString()));
|
|
|
StationInfo stationInfos = stationService.selectStationInfo(stationInfo);
|
|
|
if(stationInfos.getIsLngFlagGroup() !=null && stationInfos.getIsLngFlagGroup().equals("1")){
|
|
|
- //等于1表示次要业务:LNG集团平台加气(可能会出现); 插入油站余额记录
|
|
|
- StationBalanceChange stationBalanceChange = new StationBalanceChange();
|
|
|
- stationBalanceChange.setStationId(stationInfos.getStationId());
|
|
|
- stationBalanceChange.setAmt(Double.valueOf(infoMap.get("sellAmt").toString()));
|
|
|
- stationBalanceChange.setCreateTime(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(infoMap.get("payDate").toString()));
|
|
|
- stationBalanceChange.setType("-");
|
|
|
- stationBalanceChange.setOrderNo(ordNo);
|
|
|
- //生成记录
|
|
|
- payOrderService.insertStationBalanceExchange(stationBalanceChange);
|
|
|
- StationInfo s = new StationInfo();
|
|
|
- BigDecimal subtract = new BigDecimal(String.valueOf(stationInfos.getBalance())).subtract(new BigDecimal(infoMap.get("sellAmt").toString()));
|
|
|
- s.setBalance(subtract.doubleValue());
|
|
|
- s.setStationId(stationInfos.getStationId());
|
|
|
- //更新油站余额
|
|
|
- stationService.updateStationBalance(s);
|
|
|
- logger.info("LNG加气平台支付更新余额完成!");
|
|
|
+
|
|
|
+ //余额减少加锁
|
|
|
+ synchronized (this){
|
|
|
+ //Thread.currentThread().getName();
|
|
|
+ logger.info("当前线程Id:" + Thread.currentThread().getId());
|
|
|
+ logger.info("当前线程名称:" + Thread.currentThread().getName());
|
|
|
+ logger.info("随行付返回的订单号:" + ordNo);
|
|
|
+ logger.info("当前要扣减余额的订单号:" + infoMap.get("orderNo").toString());
|
|
|
+ //等于1表示次要业务:LNG集团平台加气(可能会出现); 插入油站余额记录
|
|
|
+ StationInfo sta= new StationInfo();
|
|
|
+ sta.setStationId(Integer.valueOf(infoMap.get("stationId").toString()));
|
|
|
+ StationInfo staInfoResult = stationService.selectStationBalance(stationInfo);
|
|
|
+
|
|
|
+ //扣余额
|
|
|
+ StationBalanceChange stationBalanceChange = new StationBalanceChange();
|
|
|
+ stationBalanceChange.setStationId(staInfoResult.getStationId());
|
|
|
+ stationBalanceChange.setAmt(Double.valueOf(infoMap.get("sellAmt").toString()));
|
|
|
+ stationBalanceChange.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(infoMap.get("payDate").toString()));
|
|
|
+ stationBalanceChange.setType("-");
|
|
|
+ stationBalanceChange.setOrderNo(ordNo);
|
|
|
+ stationBalanceChange.setNowAmt(staInfoResult.getBalance());
|
|
|
+ //生成记录
|
|
|
+ payOrderService.insertStationBalanceExchange(stationBalanceChange);
|
|
|
+ StationInfo s = new StationInfo();
|
|
|
+ logger.info("当前油站余额:" + staInfoResult.getBalance().toString());
|
|
|
+ BigDecimal subtract = new BigDecimal(String.valueOf(staInfoResult.getBalance())).subtract(new BigDecimal(infoMap.get("sellAmt").toString()));
|
|
|
+ s.setBalance(subtract.doubleValue());
|
|
|
+ s.setStationId(staInfoResult.getStationId());
|
|
|
+ //更新油站余额
|
|
|
+ logger.info("本次订单: "+ infoMap.get("orderNo").toString() +"后油站余额:" + subtract.toString());
|
|
|
+ stationService.updateStationBalance(s);
|
|
|
+ logger.info("LNG加气平台支付更新余额完成!");
|
|
|
+ }
|
|
|
+
|
|
|
+// //等于1表示次要业务:LNG集团平台加气(可能会出现); 插入油站余额记录
|
|
|
+// StationBalanceChange stationBalanceChange = new StationBalanceChange();
|
|
|
+// stationBalanceChange.setStationId(stationInfos.getStationId());
|
|
|
+// stationBalanceChange.setAmt(Double.valueOf(infoMap.get("sellAmt").toString()));
|
|
|
+// stationBalanceChange.setCreateTime(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(infoMap.get("payDate").toString()));
|
|
|
+// stationBalanceChange.setType("-");
|
|
|
+// stationBalanceChange.setOrderNo(ordNo);
|
|
|
+// //生成记录
|
|
|
+// payOrderService.insertStationBalanceExchange(stationBalanceChange);
|
|
|
+// StationInfo s = new StationInfo();
|
|
|
+// BigDecimal subtract = new BigDecimal(String.valueOf(stationInfos.getBalance())).subtract(new BigDecimal(infoMap.get("sellAmt").toString()));
|
|
|
+// s.setBalance(subtract.doubleValue());
|
|
|
+// s.setStationId(stationInfos.getStationId());
|
|
|
+// //更新油站余额
|
|
|
+// stationService.updateStationBalance(s);
|
|
|
+// logger.info("LNG加气平台支付更新余额完成!");
|
|
|
}else {
|
|
|
|
|
|
if(stationInfos.getCouponEnabledFlag() !=null && stationInfos.getCouponEnabledFlag().equals("1")){
|