From 88c79187523db6da7cd7f53c1f8c72f762617985 Mon Sep 17 00:00:00 2001 From: yuyang Date: Fri, 25 Mar 2022 09:39:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9C=BA=E6=9E=84=E6=8A=98?= =?UTF-8?q?=E6=89=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xhpc/common/api/PileOrderService.java | 2 +- .../com/xhpc/common/api/UserTypeService.java | 2 +- .../api/factory/UserTypeFallbackFactory.java | 3 +- .../service/XhpcDataBigScreenService.java | 1 - .../order/api/XhpcPileOrderController.java | 7 +- .../impl/XhpcRealTimeOrderServiceImpl.java | 85 ++++++++++--------- .../resources/mapper/XhpcCommunityMapper.xml | 4 +- .../resources/mapper/XhpcCustomersMapper.xml | 4 +- .../main/resources/mapper/XhpcUserMapper.xml | 6 +- 9 files changed, 58 insertions(+), 56 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 56f9a2c6..b3a88a3b 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,7 +43,7 @@ public interface PileOrderService { * @param orderNo 订单号 * @return */ - @PostMapping("/chargeOrder/pileEndOrder") + @GetMapping("/chargeOrder/pileEndOrder") R pileEndOrder(@RequestParam(value = "orderNo") String orderNo); diff --git a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/UserTypeService.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/UserTypeService.java index 774c9895..5372b83f 100644 --- a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/UserTypeService.java +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/UserTypeService.java @@ -48,7 +48,7 @@ public interface UserTypeService { * 获取该机构的折扣比例 */ @GetMapping("/common/getMechanismDiscount") - R getMechanismDiscount(@RequestParam(value = "userId")Long userId, @RequestParam(value = "userType")Integer userType, @RequestParam(value = "tenantId")String tenantId, @Param("chargingStationId")Long chargingStationId); + R getMechanismDiscount(@RequestParam(value = "userId")Long userId, @RequestParam(value = "userType")Integer userType, @RequestParam(value = "tenantId")String tenantId,@RequestParam(value = "chargingStationId")Long chargingStationId); } diff --git a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/factory/UserTypeFallbackFactory.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/factory/UserTypeFallbackFactory.java index 825c6f98..633a1177 100644 --- a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/factory/UserTypeFallbackFactory.java +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/factory/UserTypeFallbackFactory.java @@ -2,7 +2,6 @@ package com.xhpc.common.api.factory; import com.xhpc.common.api.UserTypeService; import com.xhpc.common.core.domain.R; -import org.apache.ibatis.annotations.Param; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; @@ -33,7 +32,7 @@ public class UserTypeFallbackFactory implements FallbackFactory } @Override - public R getMechanismDiscount(Long userId, Integer userType, String tenantId, @Param("chargingStationId")Long chargingStationId) { + public R getMechanismDiscount(Long userId, Integer userType, String tenantId,Long chargingStationId) { return R.fail("机构信息获取失败:" + cause.getMessage()); } }; diff --git a/xhpc-modules/xhpc-data-big-screen/src/main/java/com/xhpc/databigscreen/service/XhpcDataBigScreenService.java b/xhpc-modules/xhpc-data-big-screen/src/main/java/com/xhpc/databigscreen/service/XhpcDataBigScreenService.java index abd0344d..544779e6 100644 --- a/xhpc-modules/xhpc-data-big-screen/src/main/java/com/xhpc/databigscreen/service/XhpcDataBigScreenService.java +++ b/xhpc-modules/xhpc-data-big-screen/src/main/java/com/xhpc/databigscreen/service/XhpcDataBigScreenService.java @@ -5,7 +5,6 @@ import com.xhpc.databigscreen.domain.CoreParam; import com.xhpc.databigscreen.domain.OrderRatio; import com.xhpc.databigscreen.domain.OrderTrend; import com.xhpc.databigscreen.domain.RealtimeOrders; -import org.graalvm.compiler.hotspot.replacements.ObjectCloneNode; import java.util.List; import java.util.Map; diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java index c041ca04..3b496b6e 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java @@ -21,10 +21,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.util.Date; @@ -247,7 +244,7 @@ public class XhpcPileOrderController extends BaseController { * 桩订单结束回调 */ @Transactional - @PostMapping("/chargeOrder/pileEndOrder") + @GetMapping(value = "/chargeOrder/pileEndOrder") public R pileEndOrder(@RequestParam(value = "orderNo") String orderNo) { logger.info("桩订单结束回调>>>>>orderNo:"+orderNo); try{ diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java index fa3da4dc..f2fbd442 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java @@ -447,49 +447,52 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe if ( !UserTypeUtil.INTERNET_TYPE.equals(source)) { if(UserTypeUtil.COMMUNIT_TYPE.equals(source) || UserTypeUtil.CUSTOMERS_TYPE.equals(source)){ //折扣(机构用户),没有活动时计算 - R mechanismDiscount = userTypeService.getMechanismDiscount(userId, source, xhpcChargeOrder.getTenantId(),xhpcChargeOrder.getChargingStationId()); - if(mechanismDiscount !=null && mechanismDiscount.getData() !=null) { - Map userDiscount = (Map) mechanismDiscount.getData(); - if (userDiscount != null && userDiscount.get("commissionType") != null && userDiscount.get("servicePreferential") != null) { - String commissionType = userDiscount.get("commissionType").toString(); - BigDecimal servicePreferential =new BigDecimal(userDiscount.get("servicePreferential").toString()).divide(new BigDecimal(100),2,BigDecimal.ROUND_HALF_UP); + if(xhpcChargeOrder.getChargingStationId()!=null){ + R mechanismDiscount = userTypeService.getMechanismDiscount(userId, source, xhpcChargeOrder.getTenantId(),xhpcChargeOrder.getChargingStationId()); - if(servicePreferential.compareTo(new BigDecimal(0))==1){ - if("0".equals(commissionType) || "1".equals(commissionType) || "2".equals(commissionType)){ - BigDecimal decimal1 = surplusPowerPrice.multiply(servicePreferential).setScale(2, BigDecimal.ROUND_HALF_UP); - BigDecimal decimal2 = surplusServicePrice.multiply(servicePreferential).setScale(2, BigDecimal.ROUND_HALF_UP); - if("0".equals(commissionType)){ - //总金额 - actPrice =actPrice.subtract(decimal1.add(decimal2)); - //折扣的钱 - promotionDiscount = decimal1.add(decimal2); - surplusPowerPrice = surplusPowerPrice.subtract(decimal1); - surplusServicePrice= surplusServicePrice.subtract(decimal2); - }else if("1".equals(commissionType)){ - //服务费 - if(surplusServicePrice.compareTo(decimal2) > -1){ - surplusServicePrice =surplusServicePrice.subtract(decimal2); - actPrice =actPrice.subtract(decimal2); + if(mechanismDiscount !=null && mechanismDiscount.getData() !=null) { + Map userDiscount = (Map) mechanismDiscount.getData(); + if (userDiscount != null && userDiscount.get("commissionType") != null && userDiscount.get("servicePreferential") != null) { + String commissionType = userDiscount.get("commissionType").toString(); + BigDecimal servicePreferential =new BigDecimal(userDiscount.get("servicePreferential").toString()).divide(new BigDecimal(100),2,BigDecimal.ROUND_HALF_UP); + + if(servicePreferential.compareTo(new BigDecimal(0))==1){ + if("0".equals(commissionType) || "1".equals(commissionType) || "2".equals(commissionType)){ + BigDecimal decimal1 = surplusPowerPrice.multiply(servicePreferential).setScale(2, BigDecimal.ROUND_HALF_UP); + BigDecimal decimal2 = surplusServicePrice.multiply(servicePreferential).setScale(2, BigDecimal.ROUND_HALF_UP); + if("0".equals(commissionType)){ + //总金额 + actPrice =actPrice.subtract(decimal1.add(decimal2)); + //折扣的钱 + promotionDiscount = decimal1.add(decimal2); + surplusPowerPrice = surplusPowerPrice.subtract(decimal1); + surplusServicePrice= surplusServicePrice.subtract(decimal2); + }else if("1".equals(commissionType)){ + //服务费 + if(surplusServicePrice.compareTo(decimal2) > -1){ + surplusServicePrice =surplusServicePrice.subtract(decimal2); + actPrice =actPrice.subtract(decimal2); + }else{ + promotionDiscount = surplusServicePrice; + actPrice =actPrice.subtract(surplusServicePrice); + surplusServicePrice =new BigDecimal(0); + } }else{ - promotionDiscount = surplusServicePrice; - actPrice =actPrice.subtract(surplusServicePrice); - surplusServicePrice =new BigDecimal(0); - } - }else{ - //电量抽成 - BigDecimal chargingDegree = xhpcChargeOrder.getChargingDegree(); - //电量的钱 - promotionDiscount = chargingDegree.multiply(new BigDecimal(userDiscount.get("servicePreferential").toString())).setScale(2, BigDecimal.ROUND_HALF_UP); - logger.info("=============电量优惠==="+promotionDiscount); - logger.info("=============服务费==="+surplusServicePrice); - //当电量的折扣大于服务费时,电量==服务费 - if(surplusServicePrice.compareTo(promotionDiscount)>-1){ - surplusServicePrice= surplusServicePrice.subtract(promotionDiscount); - actPrice =actPrice.subtract(promotionDiscount); - }else{ - promotionDiscount = surplusServicePrice; - actPrice =actPrice.subtract(surplusServicePrice); - surplusServicePrice =new BigDecimal(0); + //电量抽成 + BigDecimal chargingDegree = xhpcChargeOrder.getChargingDegree(); + //电量的钱 + promotionDiscount = chargingDegree.multiply(new BigDecimal(userDiscount.get("servicePreferential").toString())).setScale(2, BigDecimal.ROUND_HALF_UP); + logger.info("=============电量优惠==="+promotionDiscount); + logger.info("=============服务费==="+surplusServicePrice); + //当电量的折扣大于服务费时,电量==服务费 + if(surplusServicePrice.compareTo(promotionDiscount)>-1){ + surplusServicePrice= surplusServicePrice.subtract(promotionDiscount); + actPrice =actPrice.subtract(promotionDiscount); + }else{ + promotionDiscount = surplusServicePrice; + actPrice =actPrice.subtract(surplusServicePrice); + surplusServicePrice =new BigDecimal(0); + } } } } diff --git a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcCommunityMapper.xml b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcCommunityMapper.xml index 3cf1a3ba..7d597143 100644 --- a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcCommunityMapper.xml +++ b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcCommunityMapper.xml @@ -462,6 +462,8 @@ from xhpc_community co join xhpc_mechanism me on me.mechanism_id = co.community_id and me.source = 0 and me.del_flag =0 where co.community_id = (select community_id from xhpc_community_personnel where community_personnel_id=#{userId} and tenant_id=#{tenantId} and del_flag =0) - and me.charging_station_id=#{chargingStationId} + + and me.charging_station_id=#{chargingStationId} + diff --git a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcCustomersMapper.xml b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcCustomersMapper.xml index 5eb4d35f..bdbc525a 100644 --- a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcCustomersMapper.xml +++ b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcCustomersMapper.xml @@ -459,6 +459,8 @@ from xhpc_customers co join xhpc_mechanism me on me.mechanism_id = co.customers_id and me.source = 1 and me.del_flag =0 where co.customers_id = (select customers_id from xhpc_customers_personnel where customers_personnel_id=#{userId} and tenant_id=#{tenantId} and del_flag =0) - and me.charging_station_id=#{chargingStationId} + + and me.charging_station_id=#{chargingStationId} + diff --git a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcUserMapper.xml b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcUserMapper.xml index 1c6e96c8..88c5d8ef 100644 --- a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcUserMapper.xml +++ b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcUserMapper.xml @@ -355,13 +355,13 @@ order by totalPrice desc) us on xaus.app_user_id = us.appUserId where xaus.del_flag = 0 - and activity >= #{activity} + and us.activity >= #{activity} - and frequency >= #{frequency} + and us.number >= #{frequency} - and amount >= #{amount} + and us.amount >= #{amount} and xaus.tenant_id =#{tenantId}