From 6a5d11d960ccc7bef1c280ab8a7daaa9eea5c84f Mon Sep 17 00:00:00 2001 From: yuyang <2265829957@qq.com> Date: Wed, 18 Aug 2021 16:00:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A1=A9=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E7=BB=93=E6=9D=9F=E5=9B=9E=E8=B0=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xhpc/common/api/PileOrderService.java | 4 +- .../order/api/HxpcPileOrderController.java | 354 +++++++++--------- 2 files changed, 179 insertions(+), 179 deletions(-) diff --git a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/PileOrderService.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/PileOrderService.java index a20f8d38..c7c1402f 100644 --- a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/PileOrderService.java +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/PileOrderService.java @@ -43,11 +43,11 @@ public interface PileOrderService { /** * 桩订单结束回调接口 - * @param pileEndOrder 订单结束回调实体类 + * @param orderNo 订单号 * @return */ @PostMapping("/chargeOrder/pileEndOrder") - R pileEndOrder(@Validated @RequestBody PileEndOrder pileEndOrder); + R pileEndOrder(@RequestParam(value = "orderNo") String orderNo); /** diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/HxpcPileOrderController.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/HxpcPileOrderController.java index b0aabb3e..0dbc31a5 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/HxpcPileOrderController.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/HxpcPileOrderController.java @@ -234,186 +234,186 @@ public class HxpcPileOrderController extends BaseController { */ @Transactional @PostMapping("/chargeOrder/pileEndOrder") - public R pileEndOrder(@Validated @RequestBody PileEndOrder pileEndOrder) { + public R pileEndOrder(@RequestParam(value = "orderNo") String orderNo) { try{ //解析订单编号 - String s = pileEndOrder.getOrderNo().split("\\.")[0]; - String s1 = s.split(":")[1]; - Date date = new Date(); - //总金额 - BigDecimal money = new BigDecimal((pileEndOrder.getAmountCharged()/100)); - //总电费 - BigDecimal powerPrice = new BigDecimal((pileEndOrder.getPowerPrice()/100)); - //总服务费 - BigDecimal servicePrice = new BigDecimal((pileEndOrder.getServicePrice()/100)); - //剩余的电费 - BigDecimal surplusPowerPrice = powerPrice; - //剩余的服务费 - BigDecimal surplusServicePrice = servicePrice; - - //获取充电订单 - HxpcChargeOrder hxpcChargeOrder = hxpcChargeOrderService.getSerialNumberMessage(s1); - hxpcChargeOrder.setStartSoc(pileEndOrder.getStartSoc()); - hxpcChargeOrder.setEndSoc(pileEndOrder.getEndSoc()); - hxpcChargeOrder.setStatus(pileEndOrder.getStatus()); - hxpcChargeOrder.setEndTime(pileEndOrder.getCreateTime()); - hxpcChargeOrder.setChargingTime(pileEndOrder.getChargingTime().toString()); - hxpcChargeOrder.setChargingDegree(pileEndOrder.getChargingDegree().toString()); - hxpcChargeOrder.setAmountCharged(money.toString()); - hxpcChargeOrder.setErroRemark(pileEndOrder.getErroRemark()); - - //历史订单 - Long userId =hxpcChargeOrder.getUserId(); - //生成一条历史订单 - XhpcHistoryOrder xhpcHistoryOrder =new XhpcHistoryOrder(); - - Map userMessage = hxpcChargeOrderService.getUserMessage(userId); - if(userMessage ==null || userMessage.get("balance") ==null){ - //订单异常 - hxpcChargeOrder.setStatus(2); - //异常原因 - hxpcChargeOrder.setErroRemark("桩异常:"+pileEndOrder.getErroRemark()+">>>>用户id:"+userId+"为空"); - } - BigDecimal balance = new BigDecimal(userMessage.get("balance").toString()).divide(new BigDecimal(100)); - - //电站活动抵扣--抵扣的总金额 - BigDecimal promotionDiscount = new BigDecimal(0); - //实际价格-用户支付的钱 - BigDecimal actPrice =new BigDecimal(0); - //实收电费-运营商电费 - BigDecimal actPowerPrice =new BigDecimal(0); - //实收服务费-运营商服务费 - BigDecimal actServicePrice =new BigDecimal(0); - //流量方总金额抽成 - BigDecimal internetCommission =new BigDecimal(0); - //流量方服务费抽成 - BigDecimal internetSvcCommission =new BigDecimal(0); - //平台总金额抽成 - BigDecimal platformCommission =new BigDecimal(0); - //平台服务费抽成 - BigDecimal platformSvcCommission =new BigDecimal(0); - //运维总抽成 - BigDecimal operationCommission =new BigDecimal(0); - //运维服务费抽成 - BigDecimal operationSvcCommission =new BigDecimal(0); - - //判断是C端用户还是流量端用户 - if(hxpcChargeOrder.getSource() ==0){ - String state =""; - BigDecimal discount =new BigDecimal(0); - //用户第几次充电 - int count = hxpcChargeOrderService.getCount(userId); - if(count==0){ - //活动折扣 - Map promotion = hxpcChargeOrderService.getPromotion(); - if(promotion !=null && promotion.get("state") !=null && promotion.get("discount") !=null){ - //state 1.总金额 2.电费 3.服务费 discount 折扣率 - state = promotion.get("state").toString(); - discount = (BigDecimal)promotion.get("discount"); - } - } - if(!"".equals(state)){ - - if("1".equals(state)){ - //总金额 - promotionDiscount=money.multiply(balance); - actPrice = money.subtract(promotionDiscount); - surplusPowerPrice = surplusPowerPrice.subtract(promotionDiscount.divide(new BigDecimal(2))); - surplusServicePrice= surplusServicePrice.subtract(promotionDiscount.divide(new BigDecimal(2))); - }else if("2".equals(state)){ - //电费 - promotionDiscount =powerPrice.multiply(balance); - actPrice = money.subtract(promotionDiscount); - surplusPowerPrice=surplusPowerPrice.subtract(promotionDiscount); - }else if("3".equals(state)){ - //服务费 - promotionDiscount = servicePrice.multiply(balance); - actPrice = money.subtract(promotionDiscount); - surplusServicePrice =surplusServicePrice.subtract(promotionDiscount); - } - } - xhpcHistoryOrder.setInternetCommission(internetCommission); - xhpcHistoryOrder.setInternetSvcCommission(internetSvcCommission); - }else{ - //流量方,未实现 - } - - //获取运营商 - Map operatorMessage = hxpcChargeOrderService.getOperatorMessage(hxpcChargeOrder.getChargingStationId()); - if(operatorMessage !=null){ - if(operatorMessage.get("maintenanceCommissionRate") !=null && operatorMessage.get("commissionType") !=null && operatorMessage.get("platformCommissionRate") !=null){ - Integer commissionType = (Integer) operatorMessage.get("commissionType"); - //运维提成 - BigDecimal maintenanceCommissionRate = new BigDecimal(userMessage.get("maintenanceCommissionRate").toString()).divide(new BigDecimal(100)); - //平台提成 - BigDecimal platformCommissionRate = new BigDecimal(userMessage.get("platformCommissionRate").toString()).divide(new BigDecimal(100)); - //提成类型(0总金额提成 1服务费提成) - if(commissionType==0){ - BigDecimal multiply1 = surplusPowerPrice.multiply(platformCommissionRate); - BigDecimal multiply2 = surplusServicePrice.multiply(platformCommissionRate); - platformCommission = multiply1.add(multiply2); - //剩下的钱 - surplusPowerPrice = surplusPowerPrice.subtract(multiply1); - surplusServicePrice = surplusServicePrice.subtract(multiply2); - BigDecimal multiply3 = surplusPowerPrice.multiply(maintenanceCommissionRate); - BigDecimal multiply4 = surplusServicePrice.multiply(maintenanceCommissionRate); - operationCommission = multiply1.add(multiply2); - //剩下的钱 - surplusPowerPrice = surplusPowerPrice.subtract(multiply3); - surplusServicePrice = surplusServicePrice.subtract(multiply4); - - }else if(commissionType==1){ - BigDecimal multiply2 = surplusServicePrice.multiply(platformCommissionRate); - platformSvcCommission=multiply2; - //剩下的钱 - surplusServicePrice = surplusServicePrice.subtract(multiply2); - - BigDecimal multiply4 = surplusServicePrice.multiply(maintenanceCommissionRate); - operationCommission = multiply4; - //剩下的钱 - surplusServicePrice = surplusServicePrice.subtract(multiply4); - } - }else{ - //订单异常 - hxpcChargeOrder.setStatus(2); - //异常原因 - hxpcChargeOrder.setErroRemark("桩异常:"+pileEndOrder.getErroRemark()+">>>>用户id:"+userId+"为空"+">>>>运营商提出为空"); - - } - } - - - xhpcHistoryOrder.setChargeOrderId(hxpcChargeOrder.getChargeOrderId()); - xhpcHistoryOrder.setChargingStationId(hxpcChargeOrder.getChargingStationId()); - xhpcHistoryOrder.setUserId(userId); - xhpcHistoryOrder.setTerminalId(hxpcChargeOrder.getTerminalId()); - xhpcHistoryOrder.setSerialNumber(hxpcChargeOrder.getSerialNumber()); - xhpcHistoryOrder.setStartSoc(hxpcChargeOrder.getStartSoc()); - xhpcHistoryOrder.setReconciliationStatus(0); - xhpcHistoryOrder.setSortingStatus(0); - xhpcHistoryOrder.setType(1); - xhpcHistoryOrder.setStatus(0); - xhpcHistoryOrder.setDelFlag(0); - //订单总价---运维服务费抽成 - xhpcHistoryOrder.setTotalPrice(money); - xhpcHistoryOrder.setPromotionDiscount(promotionDiscount); - xhpcHistoryOrder.setActPowerPrice(actPowerPrice); - xhpcHistoryOrder.setActPowerPrice(surplusPowerPrice); - xhpcHistoryOrder.setActServicePrice(surplusServicePrice); - xhpcHistoryOrder.setInternetCommission(internetCommission); - xhpcHistoryOrder.setInternetSvcCommission(internetSvcCommission); - xhpcHistoryOrder.setPlatformCommission(platformCommission); - xhpcHistoryOrder.setPlatformSvcCommisssion(platformSvcCommission); - xhpcHistoryOrder.setOperationCommission(operationCommission); - xhpcHistoryOrder.setOperationSvcCommission(operationSvcCommission); - xhpcHistoryOrder.setStartSoc(pileEndOrder.getStartSoc()); - xhpcHistoryOrder.setEndSoc(pileEndOrder.getEndSoc()); - xhpcHistoryOrder.setReconciliationStatus(0); - xhpcHistoryOrder.setCreateTime(date); - - xhpcHistoryOrderService.insert(xhpcHistoryOrder); - hxpcChargeOrderService.updateXhpcChargeOrder(hxpcChargeOrder); +// String s = pileEndOrder.getOrderNo().split("\\.")[0]; +// String s1 = s.split(":")[1]; +// Date date = new Date(); +// //总金额 +// BigDecimal money = new BigDecimal((pileEndOrder.getAmountCharged()/100)); +// //总电费 +// BigDecimal powerPrice = new BigDecimal((pileEndOrder.getPowerPrice()/100)); +// //总服务费 +// BigDecimal servicePrice = new BigDecimal((pileEndOrder.getServicePrice()/100)); +// //剩余的电费 +// BigDecimal surplusPowerPrice = powerPrice; +// //剩余的服务费 +// BigDecimal surplusServicePrice = servicePrice; +// +// //获取充电订单 +// HxpcChargeOrder hxpcChargeOrder = hxpcChargeOrderService.getSerialNumberMessage(s1); +// hxpcChargeOrder.setStartSoc(pileEndOrder.getStartSoc()); +// hxpcChargeOrder.setEndSoc(pileEndOrder.getEndSoc()); +// hxpcChargeOrder.setStatus(pileEndOrder.getStatus()); +// hxpcChargeOrder.setEndTime(pileEndOrder.getCreateTime()); +// hxpcChargeOrder.setChargingTime(pileEndOrder.getChargingTime().toString()); +// hxpcChargeOrder.setChargingDegree(pileEndOrder.getChargingDegree().toString()); +// hxpcChargeOrder.setAmountCharged(money.toString()); +// hxpcChargeOrder.setErroRemark(pileEndOrder.getErroRemark()); +// +// //历史订单 +// Long userId =hxpcChargeOrder.getUserId(); +// //生成一条历史订单 +// XhpcHistoryOrder xhpcHistoryOrder =new XhpcHistoryOrder(); +// +// Map userMessage = hxpcChargeOrderService.getUserMessage(userId); +// if(userMessage ==null || userMessage.get("balance") ==null){ +// //订单异常 +// hxpcChargeOrder.setStatus(2); +// //异常原因 +// hxpcChargeOrder.setErroRemark("桩异常:"+pileEndOrder.getErroRemark()+">>>>用户id:"+userId+"为空"); +// } +// BigDecimal balance = new BigDecimal(userMessage.get("balance").toString()).divide(new BigDecimal(100)); +// +// //电站活动抵扣--抵扣的总金额 +// BigDecimal promotionDiscount = new BigDecimal(0); +// //实际价格-用户支付的钱 +// BigDecimal actPrice =new BigDecimal(0); +// //实收电费-运营商电费 +// BigDecimal actPowerPrice =new BigDecimal(0); +// //实收服务费-运营商服务费 +// BigDecimal actServicePrice =new BigDecimal(0); +// //流量方总金额抽成 +// BigDecimal internetCommission =new BigDecimal(0); +// //流量方服务费抽成 +// BigDecimal internetSvcCommission =new BigDecimal(0); +// //平台总金额抽成 +// BigDecimal platformCommission =new BigDecimal(0); +// //平台服务费抽成 +// BigDecimal platformSvcCommission =new BigDecimal(0); +// //运维总抽成 +// BigDecimal operationCommission =new BigDecimal(0); +// //运维服务费抽成 +// BigDecimal operationSvcCommission =new BigDecimal(0); +// +// //判断是C端用户还是流量端用户 +// if(hxpcChargeOrder.getSource() ==0){ +// String state =""; +// BigDecimal discount =new BigDecimal(0); +// //用户第几次充电 +// int count = hxpcChargeOrderService.getCount(userId); +// if(count==0){ +// //活动折扣 +// Map promotion = hxpcChargeOrderService.getPromotion(); +// if(promotion !=null && promotion.get("state") !=null && promotion.get("discount") !=null){ +// //state 1.总金额 2.电费 3.服务费 discount 折扣率 +// state = promotion.get("state").toString(); +// discount = (BigDecimal)promotion.get("discount"); +// } +// } +// if(!"".equals(state)){ +// +// if("1".equals(state)){ +// //总金额 +// promotionDiscount=money.multiply(balance); +// actPrice = money.subtract(promotionDiscount); +// surplusPowerPrice = surplusPowerPrice.subtract(promotionDiscount.divide(new BigDecimal(2))); +// surplusServicePrice= surplusServicePrice.subtract(promotionDiscount.divide(new BigDecimal(2))); +// }else if("2".equals(state)){ +// //电费 +// promotionDiscount =powerPrice.multiply(balance); +// actPrice = money.subtract(promotionDiscount); +// surplusPowerPrice=surplusPowerPrice.subtract(promotionDiscount); +// }else if("3".equals(state)){ +// //服务费 +// promotionDiscount = servicePrice.multiply(balance); +// actPrice = money.subtract(promotionDiscount); +// surplusServicePrice =surplusServicePrice.subtract(promotionDiscount); +// } +// } +// xhpcHistoryOrder.setInternetCommission(internetCommission); +// xhpcHistoryOrder.setInternetSvcCommission(internetSvcCommission); +// }else{ +// //流量方,未实现 +// } +// +// //获取运营商 +// Map operatorMessage = hxpcChargeOrderService.getOperatorMessage(hxpcChargeOrder.getChargingStationId()); +// if(operatorMessage !=null){ +// if(operatorMessage.get("maintenanceCommissionRate") !=null && operatorMessage.get("commissionType") !=null && operatorMessage.get("platformCommissionRate") !=null){ +// Integer commissionType = (Integer) operatorMessage.get("commissionType"); +// //运维提成 +// BigDecimal maintenanceCommissionRate = new BigDecimal(userMessage.get("maintenanceCommissionRate").toString()).divide(new BigDecimal(100)); +// //平台提成 +// BigDecimal platformCommissionRate = new BigDecimal(userMessage.get("platformCommissionRate").toString()).divide(new BigDecimal(100)); +// //提成类型(0总金额提成 1服务费提成) +// if(commissionType==0){ +// BigDecimal multiply1 = surplusPowerPrice.multiply(platformCommissionRate); +// BigDecimal multiply2 = surplusServicePrice.multiply(platformCommissionRate); +// platformCommission = multiply1.add(multiply2); +// //剩下的钱 +// surplusPowerPrice = surplusPowerPrice.subtract(multiply1); +// surplusServicePrice = surplusServicePrice.subtract(multiply2); +// BigDecimal multiply3 = surplusPowerPrice.multiply(maintenanceCommissionRate); +// BigDecimal multiply4 = surplusServicePrice.multiply(maintenanceCommissionRate); +// operationCommission = multiply1.add(multiply2); +// //剩下的钱 +// surplusPowerPrice = surplusPowerPrice.subtract(multiply3); +// surplusServicePrice = surplusServicePrice.subtract(multiply4); +// +// }else if(commissionType==1){ +// BigDecimal multiply2 = surplusServicePrice.multiply(platformCommissionRate); +// platformSvcCommission=multiply2; +// //剩下的钱 +// surplusServicePrice = surplusServicePrice.subtract(multiply2); +// +// BigDecimal multiply4 = surplusServicePrice.multiply(maintenanceCommissionRate); +// operationCommission = multiply4; +// //剩下的钱 +// surplusServicePrice = surplusServicePrice.subtract(multiply4); +// } +// }else{ +// //订单异常 +// hxpcChargeOrder.setStatus(2); +// //异常原因 +// hxpcChargeOrder.setErroRemark("桩异常:"+pileEndOrder.getErroRemark()+">>>>用户id:"+userId+"为空"+">>>>运营商提出为空"); +// +// } +// } +// +// +// xhpcHistoryOrder.setChargeOrderId(hxpcChargeOrder.getChargeOrderId()); +// xhpcHistoryOrder.setChargingStationId(hxpcChargeOrder.getChargingStationId()); +// xhpcHistoryOrder.setUserId(userId); +// xhpcHistoryOrder.setTerminalId(hxpcChargeOrder.getTerminalId()); +// xhpcHistoryOrder.setSerialNumber(hxpcChargeOrder.getSerialNumber()); +// xhpcHistoryOrder.setStartSoc(hxpcChargeOrder.getStartSoc()); +// xhpcHistoryOrder.setReconciliationStatus(0); +// xhpcHistoryOrder.setSortingStatus(0); +// xhpcHistoryOrder.setType(1); +// xhpcHistoryOrder.setStatus(0); +// xhpcHistoryOrder.setDelFlag(0); +// //订单总价---运维服务费抽成 +// xhpcHistoryOrder.setTotalPrice(money); +// xhpcHistoryOrder.setPromotionDiscount(promotionDiscount); +// xhpcHistoryOrder.setActPowerPrice(actPowerPrice); +// xhpcHistoryOrder.setActPowerPrice(surplusPowerPrice); +// xhpcHistoryOrder.setActServicePrice(surplusServicePrice); +// xhpcHistoryOrder.setInternetCommission(internetCommission); +// xhpcHistoryOrder.setInternetSvcCommission(internetSvcCommission); +// xhpcHistoryOrder.setPlatformCommission(platformCommission); +// xhpcHistoryOrder.setPlatformSvcCommisssion(platformSvcCommission); +// xhpcHistoryOrder.setOperationCommission(operationCommission); +// xhpcHistoryOrder.setOperationSvcCommission(operationSvcCommission); +// xhpcHistoryOrder.setStartSoc(pileEndOrder.getStartSoc()); +// xhpcHistoryOrder.setEndSoc(pileEndOrder.getEndSoc()); +// xhpcHistoryOrder.setReconciliationStatus(0); +// xhpcHistoryOrder.setCreateTime(date); +// +// xhpcHistoryOrderService.insert(xhpcHistoryOrder); +// hxpcChargeOrderService.updateXhpcChargeOrder(hxpcChargeOrder); //删除实时数据,获取最新的实时数据 //hxpcChargeOrderService.deleteRealTimeOrder(hxpcChargeOrder.getChargeOrderId());