修改桩订单结束回调接口
This commit is contained in:
parent
bf12d65d9a
commit
6a5d11d960
@ -43,11 +43,11 @@ public interface PileOrderService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 桩订单结束回调接口
|
* 桩订单结束回调接口
|
||||||
* @param pileEndOrder 订单结束回调实体类
|
* @param orderNo 订单号
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("/chargeOrder/pileEndOrder")
|
@PostMapping("/chargeOrder/pileEndOrder")
|
||||||
R pileEndOrder(@Validated @RequestBody PileEndOrder pileEndOrder);
|
R pileEndOrder(@RequestParam(value = "orderNo") String orderNo);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -234,186 +234,186 @@ public class HxpcPileOrderController extends BaseController {
|
|||||||
*/
|
*/
|
||||||
@Transactional
|
@Transactional
|
||||||
@PostMapping("/chargeOrder/pileEndOrder")
|
@PostMapping("/chargeOrder/pileEndOrder")
|
||||||
public R pileEndOrder(@Validated @RequestBody PileEndOrder pileEndOrder) {
|
public R pileEndOrder(@RequestParam(value = "orderNo") String orderNo) {
|
||||||
|
|
||||||
try{
|
try{
|
||||||
//解析订单编号
|
//解析订单编号
|
||||||
String s = pileEndOrder.getOrderNo().split("\\.")[0];
|
// String s = pileEndOrder.getOrderNo().split("\\.")[0];
|
||||||
String s1 = s.split(":")[1];
|
// String s1 = s.split(":")[1];
|
||||||
Date date = new Date();
|
// Date date = new Date();
|
||||||
//总金额
|
// //总金额
|
||||||
BigDecimal money = new BigDecimal((pileEndOrder.getAmountCharged()/100));
|
// BigDecimal money = new BigDecimal((pileEndOrder.getAmountCharged()/100));
|
||||||
//总电费
|
// //总电费
|
||||||
BigDecimal powerPrice = new BigDecimal((pileEndOrder.getPowerPrice()/100));
|
// BigDecimal powerPrice = new BigDecimal((pileEndOrder.getPowerPrice()/100));
|
||||||
//总服务费
|
// //总服务费
|
||||||
BigDecimal servicePrice = new BigDecimal((pileEndOrder.getServicePrice()/100));
|
// BigDecimal servicePrice = new BigDecimal((pileEndOrder.getServicePrice()/100));
|
||||||
//剩余的电费
|
// //剩余的电费
|
||||||
BigDecimal surplusPowerPrice = powerPrice;
|
// BigDecimal surplusPowerPrice = powerPrice;
|
||||||
//剩余的服务费
|
// //剩余的服务费
|
||||||
BigDecimal surplusServicePrice = servicePrice;
|
// BigDecimal surplusServicePrice = servicePrice;
|
||||||
|
//
|
||||||
//获取充电订单
|
// //获取充电订单
|
||||||
HxpcChargeOrder hxpcChargeOrder = hxpcChargeOrderService.getSerialNumberMessage(s1);
|
// HxpcChargeOrder hxpcChargeOrder = hxpcChargeOrderService.getSerialNumberMessage(s1);
|
||||||
hxpcChargeOrder.setStartSoc(pileEndOrder.getStartSoc());
|
// hxpcChargeOrder.setStartSoc(pileEndOrder.getStartSoc());
|
||||||
hxpcChargeOrder.setEndSoc(pileEndOrder.getEndSoc());
|
// hxpcChargeOrder.setEndSoc(pileEndOrder.getEndSoc());
|
||||||
hxpcChargeOrder.setStatus(pileEndOrder.getStatus());
|
// hxpcChargeOrder.setStatus(pileEndOrder.getStatus());
|
||||||
hxpcChargeOrder.setEndTime(pileEndOrder.getCreateTime());
|
// hxpcChargeOrder.setEndTime(pileEndOrder.getCreateTime());
|
||||||
hxpcChargeOrder.setChargingTime(pileEndOrder.getChargingTime().toString());
|
// hxpcChargeOrder.setChargingTime(pileEndOrder.getChargingTime().toString());
|
||||||
hxpcChargeOrder.setChargingDegree(pileEndOrder.getChargingDegree().toString());
|
// hxpcChargeOrder.setChargingDegree(pileEndOrder.getChargingDegree().toString());
|
||||||
hxpcChargeOrder.setAmountCharged(money.toString());
|
// hxpcChargeOrder.setAmountCharged(money.toString());
|
||||||
hxpcChargeOrder.setErroRemark(pileEndOrder.getErroRemark());
|
// hxpcChargeOrder.setErroRemark(pileEndOrder.getErroRemark());
|
||||||
|
//
|
||||||
//历史订单
|
// //历史订单
|
||||||
Long userId =hxpcChargeOrder.getUserId();
|
// Long userId =hxpcChargeOrder.getUserId();
|
||||||
//生成一条历史订单
|
// //生成一条历史订单
|
||||||
XhpcHistoryOrder xhpcHistoryOrder =new XhpcHistoryOrder();
|
// XhpcHistoryOrder xhpcHistoryOrder =new XhpcHistoryOrder();
|
||||||
|
//
|
||||||
Map<String, Object> userMessage = hxpcChargeOrderService.getUserMessage(userId);
|
// Map<String, Object> userMessage = hxpcChargeOrderService.getUserMessage(userId);
|
||||||
if(userMessage ==null || userMessage.get("balance") ==null){
|
// if(userMessage ==null || userMessage.get("balance") ==null){
|
||||||
//订单异常
|
// //订单异常
|
||||||
hxpcChargeOrder.setStatus(2);
|
// hxpcChargeOrder.setStatus(2);
|
||||||
//异常原因
|
// //异常原因
|
||||||
hxpcChargeOrder.setErroRemark("桩异常:"+pileEndOrder.getErroRemark()+">>>>用户id:"+userId+"为空");
|
// hxpcChargeOrder.setErroRemark("桩异常:"+pileEndOrder.getErroRemark()+">>>>用户id:"+userId+"为空");
|
||||||
}
|
// }
|
||||||
BigDecimal balance = new BigDecimal(userMessage.get("balance").toString()).divide(new BigDecimal(100));
|
// BigDecimal balance = new BigDecimal(userMessage.get("balance").toString()).divide(new BigDecimal(100));
|
||||||
|
//
|
||||||
//电站活动抵扣--抵扣的总金额
|
// //电站活动抵扣--抵扣的总金额
|
||||||
BigDecimal promotionDiscount = new BigDecimal(0);
|
// BigDecimal promotionDiscount = new BigDecimal(0);
|
||||||
//实际价格-用户支付的钱
|
// //实际价格-用户支付的钱
|
||||||
BigDecimal actPrice =new BigDecimal(0);
|
// BigDecimal actPrice =new BigDecimal(0);
|
||||||
//实收电费-运营商电费
|
// //实收电费-运营商电费
|
||||||
BigDecimal actPowerPrice =new BigDecimal(0);
|
// BigDecimal actPowerPrice =new BigDecimal(0);
|
||||||
//实收服务费-运营商服务费
|
// //实收服务费-运营商服务费
|
||||||
BigDecimal actServicePrice =new BigDecimal(0);
|
// BigDecimal actServicePrice =new BigDecimal(0);
|
||||||
//流量方总金额抽成
|
// //流量方总金额抽成
|
||||||
BigDecimal internetCommission =new BigDecimal(0);
|
// BigDecimal internetCommission =new BigDecimal(0);
|
||||||
//流量方服务费抽成
|
// //流量方服务费抽成
|
||||||
BigDecimal internetSvcCommission =new BigDecimal(0);
|
// BigDecimal internetSvcCommission =new BigDecimal(0);
|
||||||
//平台总金额抽成
|
// //平台总金额抽成
|
||||||
BigDecimal platformCommission =new BigDecimal(0);
|
// BigDecimal platformCommission =new BigDecimal(0);
|
||||||
//平台服务费抽成
|
// //平台服务费抽成
|
||||||
BigDecimal platformSvcCommission =new BigDecimal(0);
|
// BigDecimal platformSvcCommission =new BigDecimal(0);
|
||||||
//运维总抽成
|
// //运维总抽成
|
||||||
BigDecimal operationCommission =new BigDecimal(0);
|
// BigDecimal operationCommission =new BigDecimal(0);
|
||||||
//运维服务费抽成
|
// //运维服务费抽成
|
||||||
BigDecimal operationSvcCommission =new BigDecimal(0);
|
// BigDecimal operationSvcCommission =new BigDecimal(0);
|
||||||
|
//
|
||||||
//判断是C端用户还是流量端用户
|
// //判断是C端用户还是流量端用户
|
||||||
if(hxpcChargeOrder.getSource() ==0){
|
// if(hxpcChargeOrder.getSource() ==0){
|
||||||
String state ="";
|
// String state ="";
|
||||||
BigDecimal discount =new BigDecimal(0);
|
// BigDecimal discount =new BigDecimal(0);
|
||||||
//用户第几次充电
|
// //用户第几次充电
|
||||||
int count = hxpcChargeOrderService.getCount(userId);
|
// int count = hxpcChargeOrderService.getCount(userId);
|
||||||
if(count==0){
|
// if(count==0){
|
||||||
//活动折扣
|
// //活动折扣
|
||||||
Map<String, Object> promotion = hxpcChargeOrderService.getPromotion();
|
// Map<String, Object> promotion = hxpcChargeOrderService.getPromotion();
|
||||||
if(promotion !=null && promotion.get("state") !=null && promotion.get("discount") !=null){
|
// if(promotion !=null && promotion.get("state") !=null && promotion.get("discount") !=null){
|
||||||
//state 1.总金额 2.电费 3.服务费 discount 折扣率
|
// //state 1.总金额 2.电费 3.服务费 discount 折扣率
|
||||||
state = promotion.get("state").toString();
|
// state = promotion.get("state").toString();
|
||||||
discount = (BigDecimal)promotion.get("discount");
|
// discount = (BigDecimal)promotion.get("discount");
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
if(!"".equals(state)){
|
// if(!"".equals(state)){
|
||||||
|
//
|
||||||
if("1".equals(state)){
|
// if("1".equals(state)){
|
||||||
//总金额
|
// //总金额
|
||||||
promotionDiscount=money.multiply(balance);
|
// promotionDiscount=money.multiply(balance);
|
||||||
actPrice = money.subtract(promotionDiscount);
|
// actPrice = money.subtract(promotionDiscount);
|
||||||
surplusPowerPrice = surplusPowerPrice.subtract(promotionDiscount.divide(new BigDecimal(2)));
|
// surplusPowerPrice = surplusPowerPrice.subtract(promotionDiscount.divide(new BigDecimal(2)));
|
||||||
surplusServicePrice= surplusServicePrice.subtract(promotionDiscount.divide(new BigDecimal(2)));
|
// surplusServicePrice= surplusServicePrice.subtract(promotionDiscount.divide(new BigDecimal(2)));
|
||||||
}else if("2".equals(state)){
|
// }else if("2".equals(state)){
|
||||||
//电费
|
// //电费
|
||||||
promotionDiscount =powerPrice.multiply(balance);
|
// promotionDiscount =powerPrice.multiply(balance);
|
||||||
actPrice = money.subtract(promotionDiscount);
|
// actPrice = money.subtract(promotionDiscount);
|
||||||
surplusPowerPrice=surplusPowerPrice.subtract(promotionDiscount);
|
// surplusPowerPrice=surplusPowerPrice.subtract(promotionDiscount);
|
||||||
}else if("3".equals(state)){
|
// }else if("3".equals(state)){
|
||||||
//服务费
|
// //服务费
|
||||||
promotionDiscount = servicePrice.multiply(balance);
|
// promotionDiscount = servicePrice.multiply(balance);
|
||||||
actPrice = money.subtract(promotionDiscount);
|
// actPrice = money.subtract(promotionDiscount);
|
||||||
surplusServicePrice =surplusServicePrice.subtract(promotionDiscount);
|
// surplusServicePrice =surplusServicePrice.subtract(promotionDiscount);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
xhpcHistoryOrder.setInternetCommission(internetCommission);
|
// xhpcHistoryOrder.setInternetCommission(internetCommission);
|
||||||
xhpcHistoryOrder.setInternetSvcCommission(internetSvcCommission);
|
// xhpcHistoryOrder.setInternetSvcCommission(internetSvcCommission);
|
||||||
}else{
|
// }else{
|
||||||
//流量方,未实现
|
// //流量方,未实现
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
//获取运营商
|
// //获取运营商
|
||||||
Map<String, Object> operatorMessage = hxpcChargeOrderService.getOperatorMessage(hxpcChargeOrder.getChargingStationId());
|
// Map<String, Object> operatorMessage = hxpcChargeOrderService.getOperatorMessage(hxpcChargeOrder.getChargingStationId());
|
||||||
if(operatorMessage !=null){
|
// if(operatorMessage !=null){
|
||||||
if(operatorMessage.get("maintenanceCommissionRate") !=null && operatorMessage.get("commissionType") !=null && operatorMessage.get("platformCommissionRate") !=null){
|
// if(operatorMessage.get("maintenanceCommissionRate") !=null && operatorMessage.get("commissionType") !=null && operatorMessage.get("platformCommissionRate") !=null){
|
||||||
Integer commissionType = (Integer) operatorMessage.get("commissionType");
|
// Integer commissionType = (Integer) operatorMessage.get("commissionType");
|
||||||
//运维提成
|
// //运维提成
|
||||||
BigDecimal maintenanceCommissionRate = new BigDecimal(userMessage.get("maintenanceCommissionRate").toString()).divide(new BigDecimal(100));
|
// BigDecimal maintenanceCommissionRate = new BigDecimal(userMessage.get("maintenanceCommissionRate").toString()).divide(new BigDecimal(100));
|
||||||
//平台提成
|
// //平台提成
|
||||||
BigDecimal platformCommissionRate = new BigDecimal(userMessage.get("platformCommissionRate").toString()).divide(new BigDecimal(100));
|
// BigDecimal platformCommissionRate = new BigDecimal(userMessage.get("platformCommissionRate").toString()).divide(new BigDecimal(100));
|
||||||
//提成类型(0总金额提成 1服务费提成)
|
// //提成类型(0总金额提成 1服务费提成)
|
||||||
if(commissionType==0){
|
// if(commissionType==0){
|
||||||
BigDecimal multiply1 = surplusPowerPrice.multiply(platformCommissionRate);
|
// BigDecimal multiply1 = surplusPowerPrice.multiply(platformCommissionRate);
|
||||||
BigDecimal multiply2 = surplusServicePrice.multiply(platformCommissionRate);
|
// BigDecimal multiply2 = surplusServicePrice.multiply(platformCommissionRate);
|
||||||
platformCommission = multiply1.add(multiply2);
|
// platformCommission = multiply1.add(multiply2);
|
||||||
//剩下的钱
|
// //剩下的钱
|
||||||
surplusPowerPrice = surplusPowerPrice.subtract(multiply1);
|
// surplusPowerPrice = surplusPowerPrice.subtract(multiply1);
|
||||||
surplusServicePrice = surplusServicePrice.subtract(multiply2);
|
// surplusServicePrice = surplusServicePrice.subtract(multiply2);
|
||||||
BigDecimal multiply3 = surplusPowerPrice.multiply(maintenanceCommissionRate);
|
// BigDecimal multiply3 = surplusPowerPrice.multiply(maintenanceCommissionRate);
|
||||||
BigDecimal multiply4 = surplusServicePrice.multiply(maintenanceCommissionRate);
|
// BigDecimal multiply4 = surplusServicePrice.multiply(maintenanceCommissionRate);
|
||||||
operationCommission = multiply1.add(multiply2);
|
// operationCommission = multiply1.add(multiply2);
|
||||||
//剩下的钱
|
// //剩下的钱
|
||||||
surplusPowerPrice = surplusPowerPrice.subtract(multiply3);
|
// surplusPowerPrice = surplusPowerPrice.subtract(multiply3);
|
||||||
surplusServicePrice = surplusServicePrice.subtract(multiply4);
|
// surplusServicePrice = surplusServicePrice.subtract(multiply4);
|
||||||
|
//
|
||||||
}else if(commissionType==1){
|
// }else if(commissionType==1){
|
||||||
BigDecimal multiply2 = surplusServicePrice.multiply(platformCommissionRate);
|
// BigDecimal multiply2 = surplusServicePrice.multiply(platformCommissionRate);
|
||||||
platformSvcCommission=multiply2;
|
// platformSvcCommission=multiply2;
|
||||||
//剩下的钱
|
// //剩下的钱
|
||||||
surplusServicePrice = surplusServicePrice.subtract(multiply2);
|
// surplusServicePrice = surplusServicePrice.subtract(multiply2);
|
||||||
|
//
|
||||||
BigDecimal multiply4 = surplusServicePrice.multiply(maintenanceCommissionRate);
|
// BigDecimal multiply4 = surplusServicePrice.multiply(maintenanceCommissionRate);
|
||||||
operationCommission = multiply4;
|
// operationCommission = multiply4;
|
||||||
//剩下的钱
|
// //剩下的钱
|
||||||
surplusServicePrice = surplusServicePrice.subtract(multiply4);
|
// surplusServicePrice = surplusServicePrice.subtract(multiply4);
|
||||||
}
|
// }
|
||||||
}else{
|
// }else{
|
||||||
//订单异常
|
// //订单异常
|
||||||
hxpcChargeOrder.setStatus(2);
|
// hxpcChargeOrder.setStatus(2);
|
||||||
//异常原因
|
// //异常原因
|
||||||
hxpcChargeOrder.setErroRemark("桩异常:"+pileEndOrder.getErroRemark()+">>>>用户id:"+userId+"为空"+">>>>运营商提出为空");
|
// hxpcChargeOrder.setErroRemark("桩异常:"+pileEndOrder.getErroRemark()+">>>>用户id:"+userId+"为空"+">>>>运营商提出为空");
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
|
//
|
||||||
xhpcHistoryOrder.setChargeOrderId(hxpcChargeOrder.getChargeOrderId());
|
// xhpcHistoryOrder.setChargeOrderId(hxpcChargeOrder.getChargeOrderId());
|
||||||
xhpcHistoryOrder.setChargingStationId(hxpcChargeOrder.getChargingStationId());
|
// xhpcHistoryOrder.setChargingStationId(hxpcChargeOrder.getChargingStationId());
|
||||||
xhpcHistoryOrder.setUserId(userId);
|
// xhpcHistoryOrder.setUserId(userId);
|
||||||
xhpcHistoryOrder.setTerminalId(hxpcChargeOrder.getTerminalId());
|
// xhpcHistoryOrder.setTerminalId(hxpcChargeOrder.getTerminalId());
|
||||||
xhpcHistoryOrder.setSerialNumber(hxpcChargeOrder.getSerialNumber());
|
// xhpcHistoryOrder.setSerialNumber(hxpcChargeOrder.getSerialNumber());
|
||||||
xhpcHistoryOrder.setStartSoc(hxpcChargeOrder.getStartSoc());
|
// xhpcHistoryOrder.setStartSoc(hxpcChargeOrder.getStartSoc());
|
||||||
xhpcHistoryOrder.setReconciliationStatus(0);
|
// xhpcHistoryOrder.setReconciliationStatus(0);
|
||||||
xhpcHistoryOrder.setSortingStatus(0);
|
// xhpcHistoryOrder.setSortingStatus(0);
|
||||||
xhpcHistoryOrder.setType(1);
|
// xhpcHistoryOrder.setType(1);
|
||||||
xhpcHistoryOrder.setStatus(0);
|
// xhpcHistoryOrder.setStatus(0);
|
||||||
xhpcHistoryOrder.setDelFlag(0);
|
// xhpcHistoryOrder.setDelFlag(0);
|
||||||
//订单总价---运维服务费抽成
|
// //订单总价---运维服务费抽成
|
||||||
xhpcHistoryOrder.setTotalPrice(money);
|
// xhpcHistoryOrder.setTotalPrice(money);
|
||||||
xhpcHistoryOrder.setPromotionDiscount(promotionDiscount);
|
// xhpcHistoryOrder.setPromotionDiscount(promotionDiscount);
|
||||||
xhpcHistoryOrder.setActPowerPrice(actPowerPrice);
|
// xhpcHistoryOrder.setActPowerPrice(actPowerPrice);
|
||||||
xhpcHistoryOrder.setActPowerPrice(surplusPowerPrice);
|
// xhpcHistoryOrder.setActPowerPrice(surplusPowerPrice);
|
||||||
xhpcHistoryOrder.setActServicePrice(surplusServicePrice);
|
// xhpcHistoryOrder.setActServicePrice(surplusServicePrice);
|
||||||
xhpcHistoryOrder.setInternetCommission(internetCommission);
|
// xhpcHistoryOrder.setInternetCommission(internetCommission);
|
||||||
xhpcHistoryOrder.setInternetSvcCommission(internetSvcCommission);
|
// xhpcHistoryOrder.setInternetSvcCommission(internetSvcCommission);
|
||||||
xhpcHistoryOrder.setPlatformCommission(platformCommission);
|
// xhpcHistoryOrder.setPlatformCommission(platformCommission);
|
||||||
xhpcHistoryOrder.setPlatformSvcCommisssion(platformSvcCommission);
|
// xhpcHistoryOrder.setPlatformSvcCommisssion(platformSvcCommission);
|
||||||
xhpcHistoryOrder.setOperationCommission(operationCommission);
|
// xhpcHistoryOrder.setOperationCommission(operationCommission);
|
||||||
xhpcHistoryOrder.setOperationSvcCommission(operationSvcCommission);
|
// xhpcHistoryOrder.setOperationSvcCommission(operationSvcCommission);
|
||||||
xhpcHistoryOrder.setStartSoc(pileEndOrder.getStartSoc());
|
// xhpcHistoryOrder.setStartSoc(pileEndOrder.getStartSoc());
|
||||||
xhpcHistoryOrder.setEndSoc(pileEndOrder.getEndSoc());
|
// xhpcHistoryOrder.setEndSoc(pileEndOrder.getEndSoc());
|
||||||
xhpcHistoryOrder.setReconciliationStatus(0);
|
// xhpcHistoryOrder.setReconciliationStatus(0);
|
||||||
xhpcHistoryOrder.setCreateTime(date);
|
// xhpcHistoryOrder.setCreateTime(date);
|
||||||
|
//
|
||||||
xhpcHistoryOrderService.insert(xhpcHistoryOrder);
|
// xhpcHistoryOrderService.insert(xhpcHistoryOrder);
|
||||||
hxpcChargeOrderService.updateXhpcChargeOrder(hxpcChargeOrder);
|
// hxpcChargeOrderService.updateXhpcChargeOrder(hxpcChargeOrder);
|
||||||
//删除实时数据,获取最新的实时数据
|
//删除实时数据,获取最新的实时数据
|
||||||
//hxpcChargeOrderService.deleteRealTimeOrder(hxpcChargeOrder.getChargeOrderId());
|
//hxpcChargeOrderService.deleteRealTimeOrder(hxpcChargeOrder.getChargeOrderId());
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user