From 8bce927ce49c6cf9c7dd625e96571e83262d9e71 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 23 十月 2024 14:04:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java             |   24 +++++++++++-
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java                         |    4 ++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java             |   72 ++++++++++++++++++++++++++++++++++++
 ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringData.java |    1 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserTagController.java               |    2 
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml                              |    7 +++
 6 files changed, 107 insertions(+), 3 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringData.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringData.java
index e00f706..58d5b85 100644
--- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringData.java
+++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringData.java
@@ -26,6 +26,7 @@
     private Integer insertion_status; // 是否插枪(0:否,1:是)
     private BigDecimal output_voltage; // 输出电压,精确到小数点后一位;待机置零
     private BigDecimal output_current; // 输出电流,精确到小数点后一位;待机置零
+    private BigDecimal power; // 功率
     private Integer gun_line_temperature; // 枪线温度,整形,偏移量-50;待机置零
     private String gun_line_code; // 枪线编码,没有置零
     private Integer soc; // SOC待机置零;交流桩置零
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java
index 59b6847..57bc9ba 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java
@@ -36,6 +36,10 @@
     private Long chargingSecond;
     @ApiModelProperty(value = "充电电流 度")
     private BigDecimal chargingCapacity;
+    @ApiModelProperty(value = "充电电流 度")
+    private BigDecimal electricity;
+    @ApiModelProperty(value = "充电到账金额")
+    private BigDecimal orderAmount;
     @ApiModelProperty(value = "车牌号")
     private String licensePlate;
     @ApiModelProperty(value = "客户手机号")
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserTagController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserTagController.java
index 6c8218b..dd40be3 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserTagController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserTagController.java
@@ -73,7 +73,7 @@
         //拿到单位列表
         String[] split = ids.split(",");
 
-         List<TAppUserTag> list = appUserTagService.lambdaQuery().in(TAppUserTag::getUserTagId).list();
+         List<TAppUserTag> list = appUserTagService.lambdaQuery().in(TAppUserTag::getUserTagId,split).list();
          if (!list.isEmpty()){
              return R.fail("当前标签已有用户获取,无法删除");
          }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index 3a4181c..6703e28 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1260,6 +1260,12 @@
 		PageInfo<ChargingOrderListVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
 		List<ChargingOrderListVO> list = this.baseMapper.chargingList(pageInfo,dto,startTime1,startTime2,endTime1,endTime2);
 		for (ChargingOrderListVO chargingOrderListVO : list) {
+			chargingOrderListVO.setChargingCapacity(chargingOrderListVO.getElectricity());
+			chargingOrderListVO.setPaymentAmount(chargingOrderListVO.getOrderAmount());
+			BigDecimal bigDecimal = new BigDecimal("0.006");
+			if (chargingOrderListVO.getServiceCharge()!=null){
+				chargingOrderListVO.setCommissionAmount(chargingOrderListVO.getServiceCharge().multiply(bigDecimal));
+			}
 			chargingOrderListVO.setPaymentAmount(chargingOrderListVO.getResidualAmount()==null?chargingOrderListVO.getPaymentAmount():chargingOrderListVO.getPaymentAmount().subtract(chargingOrderListVO.getResidualAmount()));
 			chargingOrderListVO.setUid(chargingOrderListVO.getId()+"");
 			List<Integer> integers = new ArrayList<>();
@@ -1317,6 +1323,9 @@
 			BigDecimal gu = new BigDecimal("0");
 			BigDecimal total = new BigDecimal("0");
 			for (TChargingOrderAccountingStrategy temp : list2) {
+				if (temp.getChargingCapacity() == null){
+					temp.setChargingCapacity(BigDecimal.ZERO);
+				}
 				switch (temp.getType()) {
 					case 1:
 						jian = jian.add(temp.getChargingCapacity());
@@ -1377,9 +1386,9 @@
 		BigDecimal ping = new BigDecimal("0");
 		BigDecimal gu = new BigDecimal("0");
 		for (ChargingOrderListVO chargingOrderListVO : list1) {
-			if (chargingOrderListVO.getChargingCapacity()!=null)electronic = electronic.add(chargingOrderListVO.getChargingCapacity());
+			if (chargingOrderListVO.getChargingCapacity()!=null)electronic = electronic.add(chargingOrderListVO.getElectricity());
 
-			if (chargingOrderListVO.getPaymentAmount()!=null)paymentAmount = paymentAmount.add(chargingOrderListVO.getPaymentAmount());
+			if (chargingOrderListVO.getPaymentAmount()!=null)paymentAmount = paymentAmount.add(chargingOrderListVO.getOrderAmount());
 			if (chargingOrderListVO.getElectrovalence()!=null)electrovalence = electrovalence.add(chargingOrderListVO.getElectrovalence());
 			if (chargingOrderListVO.getServiceCharge()!=null)serviceCharge = serviceCharge.add(chargingOrderListVO.getServiceCharge());
 			List<TChargingOrderAccountingStrategy> list2 = chargingOrderAccountingStrategyService.lambdaQuery()
@@ -1466,6 +1475,10 @@
 		TChargingOrder chargingOrder= this.getById(uid);
 
 		ChargingOrderListInfoVO chargingOrderListInfoVO = new ChargingOrderListInfoVO();
+		BigDecimal bigDecimal = new BigDecimal("0.006");
+		if (chargingOrder.getServiceCharge()!=null){
+			chargingOrderListInfoVO.setCommissionAmount(chargingOrder.getServiceCharge().multiply(bigDecimal));
+		}
 		chargingOrderListInfoVO.setElectrovalence(chargingOrder.getElectrovalence());
 		chargingOrderListInfoVO.setServiceCharge(chargingOrder.getServiceCharge());
 		if (chargingOrder.getElectrovalence()!=null && chargingOrder.getServiceCharge()!=null){
@@ -1505,6 +1518,13 @@
 		if (chargingOrder.getCode()!=null){
 			List<UploadRealTimeMonitoringData> data6 = uploadRealTimeMonitoringDataClient.getDataByOrderCode(chargingOrder.getCode()).getData();
 			if (data6!=null){
+				for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data6) {
+					if (uploadRealTimeMonitoringData.getOutput_current()!=null&&
+							uploadRealTimeMonitoringData.getOutput_voltage()!=null){
+						uploadRealTimeMonitoringData.setPower(uploadRealTimeMonitoringData.getOutput_voltage()
+								.multiply(uploadRealTimeMonitoringData.getOutput_current()));
+					}
+				}
 				if (!data6.isEmpty()){
 					// 第一条数据soc为开始 最后一条数据soc为结束soc
 					chargingOrderListInfoVO.setStartSoc(data6.get(0).getSoc().toString());
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
index 7f8b25f..05e1997 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
@@ -102,7 +102,10 @@
 
 
         PageInfo<TActivityStatisticslVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
+        PageInfo<TActivityStatisticslVO> pageInfo1 = new PageInfo<>(1,9999999);
         List<TActivityStatisticslVO> list = this.baseMapper.activityStatistics(pageInfo,dto);
+        List<TActivityStatisticslVO> list1 = this.baseMapper.activityStatistics(pageInfo1,dto);
+
         list.sort((o1, o2) -> o2.getCreateTime().compareTo(o1.getCreateTime()));
         // 优惠券金额
         BigDecimal coupon = new BigDecimal("0");
@@ -113,7 +116,76 @@
         // 赠送会员
         BigDecimal grantVip = new BigDecimal("0");
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        for (TActivityStatisticslVO tActivityStatisticslVO : list1) {
+            // 判断享有了哪些类型
+            switch (tActivityStatisticslVO.getOrderType()){
+                case 1:
+                    StringBuilder stringBuilder = new StringBuilder();
 
+                    // 充电订单 优惠券金额大于0
+                    if (tActivityStatisticslVO.getCouponDiscountAmount()!=null
+                            &&
+                            (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
+                        coupon = coupon.add(tActivityStatisticslVO.getCouponDiscountAmount());
+                        stringBuilder.append("优惠券抵扣").append("+");
+                    }
+                    if (tActivityStatisticslVO.getVipDiscountAmount()!=null &&(tActivityStatisticslVO.getVipDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
+                        discount = discount.add(tActivityStatisticslVO.getVipDiscountAmount());
+                        stringBuilder.append("会员抵扣").append("+");
+                    }
+                    if (stringBuilder.length()>0){
+                        stringBuilder.deleteCharAt(stringBuilder.length()-1);
+                        tActivityStatisticslVO.setType(stringBuilder.toString());
+                    }
+                    tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
+                    break;
+                case 2:
+                    StringBuilder stringBuilder1 = new StringBuilder();
+
+                    // 购物订单 优惠券金额大于0
+                    if (tActivityStatisticslVO.getCouponDiscountAmount()!=null
+                            &&
+                            (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
+                        coupon = coupon.add(tActivityStatisticslVO.getCouponDiscountAmount());
+                        stringBuilder1.append("优惠券抵扣").append("+");
+                    }
+                    if (tActivityStatisticslVO.getVipDiscountAmount()!=null
+                            &&
+                            (tActivityStatisticslVO.getVipDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
+                        discount = discount.add(tActivityStatisticslVO.getVipDiscountAmount());
+                        stringBuilder1.append("会员抵扣").append("+");
+                    }
+                    if (stringBuilder1.length()>0){
+                        stringBuilder1.deleteCharAt(stringBuilder1.length()-1);
+                    }
+                    tActivityStatisticslVO.setType(stringBuilder1.toString());
+                    tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
+                    break;
+                case 3:
+                    // 会员订单 优惠金额大于0
+                    if (tActivityStatisticslVO.getVipDiscountAmount()!=null
+                            &&
+                            (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
+                        vipActivity = vipActivity.add(tActivityStatisticslVO.getVipDiscountAmount());
+                    }
+                    tActivityStatisticslVO.setType("会员活动");
+                    tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
+                    break;
+                case 4:
+                    // 赠送会员订单 如果支付金额为0 那么就是后台赠送的会员
+                    if (tActivityStatisticslVO.getPaymentAmount().compareTo(BigDecimal.ZERO)==0){
+                        grantVip = grantVip.add(tActivityStatisticslVO.getOrderAmount());
+                        tActivityStatisticslVO.setType("赠送会员");
+                        tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
+                    }else{
+                        // 赠送
+                        grantVip = grantVip.add(tActivityStatisticslVO.getVipDiscountAmount());
+                        tActivityStatisticslVO.setType("赠送会员");
+                        tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
+                    }
+                    break;
+            }
+        }
         for (TActivityStatisticslVO tActivityStatisticslVO : list) {
             // 判断享有了哪些类型
             switch (tActivityStatisticslVO.getOrderType()){
diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
index 15ee690..b995f9a 100644
--- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
+++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
@@ -92,6 +92,9 @@
         <if test="req.status != null ">
             and t1.status = #{req.status}
         </if>
+        <if test="req.orderSource != null and req.orderSource != 1 ">
+            and t1.orderSource = #{req.orderSource}
+        </if>
         <if test="req.siteId != null ">
             and t1.site_id = #{req.siteId}
         </if>
@@ -108,6 +111,7 @@
             and (t1.end_time between #{endTime1} and #{endTime2})
         </if>
         and t1.del_flag = 0
+        order by t1.create_time desc
     </select>
     <select id="payOrderQuery" resultType="com.ruoyi.order.dto.PayOrderDto">
         SELECT o.*,i.phone FROM (SELECT
@@ -872,6 +876,9 @@
         <if test="endTime1 != null and endTime1!=''">
             and (t1.end_time between #{endTime1} and #{endTime2})
         </if>
+        AND t1.del_flag = 0
+        and t1.start_time IS NOT NULL
+        order by t1.create_time desc
     </select>
     <select id="chargingListNoPage" resultType="com.ruoyi.order.api.vo.ChargingOrderListVO">
         select t1.* from t_charging_order t1

--
Gitblit v1.7.1