From db10c806301733947f1ac86a248fa2146600be69 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期三, 23 十月 2024 20:03:55 +0800
Subject: [PATCH] marge

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java                        |    1 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   16 ++++-
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java    |    2 
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java      |    7 ++
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml                  |   61 ++++++++++----------
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserVipDetail.java        |    2 
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java    |   62 +++++++++++++++++++-
 7 files changed, 113 insertions(+), 38 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserVipDetail.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserVipDetail.java
index 1ab909b..6dc0a57 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserVipDetail.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/TAppUserVipDetail.java
@@ -69,7 +69,7 @@
 
     @ApiModelProperty(value = "会员结束时间")
     @TableField("end_time")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private LocalDateTime endTime;
 
     @TableField("create_time")
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
index 88236a3..4b138c6 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
@@ -225,7 +225,9 @@
      */
     @PostMapping("/grantCoupon")
     public R  grantCoupon(@RequestBody GrantCouponDto dto){
+        if (dto.getWaysToObtain()==null){
         dto.setWaysToObtain(3);
+        }
         List<TAppCoupon> res = new ArrayList<>();
         TCoupon coupon = otherClient.getCouponById(dto.getCouponId()).getData();
 
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
index f035710..a483474 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
@@ -332,6 +332,13 @@
             appUser.setLastDays( Duration.between(LocalDateTime.now(), appUser.getVipEndTime()).toDays());
             appUser.setUid(appUser.getId().toString());
 
+
+            TAppUserCar one1 = appUserCarService.lambdaQuery().eq(TAppUserCar::getAppUserId, appUser.getId()).orderByDesc(BasePojo::getCreateTime).last("limit 1").one();
+            if (one1!=null){
+                CarNumDto carNumDto = CarUtil.carNum(one1.getLicensePlate());
+                appUser.setPlace(carNumDto.getProvince()+carNumDto.getCity());
+
+            }
         }
         return R.ok(page);
     }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
index 3715b1f..429e443 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -618,10 +618,36 @@
         }
         LocalDate sixBefore = PreviousSixMonths.get();
         //通过siteIds进行sql查询统计
+        List<SixChargingDto> sixChargingDtos = generateLastSixMonths();
         List<SixChargingDto> chargingDtos = chargingOrderService.charge(sixBefore, siteIds);
+        for (SixChargingDto sixChargingDto : sixChargingDtos) {
+            for (SixChargingDto chargingDto : chargingDtos) {
+                if (sixChargingDto.getMonth().equals(chargingDto.getMonth())){
+                    BeanUtils.copyProperties(chargingDto,sixChargingDto);
+                }
+            }
 
-        return R.ok(chargingDtos);
+        }
 
+        return R.ok(sixChargingDtos);
+
+    }
+
+
+    public static List<SixChargingDto> generateLastSixMonths() {
+        LocalDate today = LocalDate.now();
+        List<SixChargingDto> months = new ArrayList<>();
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM");
+
+        for (int i = 5; i >= 0; i--) {
+            LocalDate date = today.minusMonths(i);
+            String month = date.format(formatter);
+            SixChargingDto sixChargingDto = new SixChargingDto();
+            sixChargingDto.setMonth(month);
+            months.add(sixChargingDto);
+        }
+
+        return months;
     }
 
     @ResponseBody
@@ -655,7 +681,33 @@
         //count近6个月的数据
         LocalDate sixBefore = PreviousSixMonths.get();
         List<SixShopDto> sixShopDtos =  shoppingOrderService.sixBefore(sixBefore,status);
-        return R.ok(sixShopDtos);
+        List<SixShopDto> sixChargingDtos = generateLastSixMonths1();
+        for (SixShopDto sixChargingDto : sixChargingDtos) {
+            for (SixShopDto chargingDto : sixShopDtos) {
+                if (sixChargingDto.getMonth().equals(chargingDto.getMonth())){
+                    BeanUtils.copyProperties(chargingDto,sixChargingDto);
+                }
+            }
+
+        }
+
+        return R.ok(sixChargingDtos);
+    }
+
+    public static List<SixShopDto> generateLastSixMonths1() {
+        LocalDate today = LocalDate.now();
+        List<SixShopDto> months = new ArrayList<>();
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM");
+
+        for (int i = 5; i >= 0; i--) {
+            LocalDate date = today.minusMonths(i);
+            String month = date.format(formatter);
+            SixShopDto sixChargingDto = new SixShopDto();
+            sixChargingDto.setMonth(month);
+            months.add(sixChargingDto);
+        }
+
+        return months;
     }
 
     @ResponseBody
@@ -792,13 +844,15 @@
 
             // 获取本周一的日期
             LocalDate mondayThisWeek = today.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
-
+            start = statisticsQueryDto.getStartTime();
+            end = statisticsQueryDto.getEndTime();
             System.out.println("本周一是: " + mondayThisWeek);
         }
         else if (statisticsQueryDto.getDayType()==3){
             // 获取当前日期
             LocalDate today = LocalDate.now();
-
+            start = statisticsQueryDto.getStartTime();
+            end = statisticsQueryDto.getEndTime();
             // 获取本月1号的日期
             YearMonth yearMonth = YearMonth.from(today);
 //            start = yearMonth.atDay(1);
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java
index 4b5a40a..ad43d21 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java
@@ -26,6 +26,7 @@
     private Integer status;
     @ApiModelProperty("订单金额")
     private Double orderAmount;
+    private Double rechargeAmount;
     @ApiModelProperty("支付金额")
     private Double paymentAmount;
     @ApiModelProperty("下单时间")
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 84b911b..caa7495 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
@@ -1154,6 +1154,16 @@
 	public R<PageInfo<PayOrderDto>> payOrderQuery(PayOrderQueryDto payOrderQueryDto) {
 		PageInfo<PayOrderDto> pageInfo = new PageInfo<>(payOrderQueryDto.getPageCurr(),payOrderQueryDto.getPageSize());
 		List<PayOrderDto> list = this.baseMapper.payOrderQuery(pageInfo,payOrderQueryDto);
+		for (PayOrderDto payOrderDto : list) {
+			if (payOrderDto.getType()==2||payOrderDto.getType()==3){
+				payOrderDto.setFinalAmount(payOrderDto.getOrderAmount());
+			}
+			if (payOrderDto.getType()==1&&payOrderDto.getStatus()==3){
+				payOrderDto.setFinalAmount(payOrderDto.getRechargeAmount());
+				payOrderDto.setOrderAmount(payOrderDto.getRechargeAmount());
+				payOrderDto.setPaymentAmount(payOrderDto.getRechargeAmount());
+			}
+		}
 		pageInfo.setRecords(list);
 		return R.ok(pageInfo);
 	}
@@ -1937,7 +1947,7 @@
 	}
 	@Override
 	public List<Map<String, Object>> usersByQuery1(ChargingStatisticsQueryDto statisticsQueryDto) {
-		return this.baseMapper.usersByQuery(statisticsQueryDto);
+		return this.baseMapper.usersByQuery1(statisticsQueryDto);
 	}
 
 	@Override
@@ -2001,7 +2011,7 @@
 				chargingOrderRefund.setRefundTitle("后台退款");
 				chargingOrderRefund.setRefundContent("后台退款");
 				chargingOrderRefund.setRefundReason("后台退款");
-				chargingOrderRefund.setRefundRemark("后台退款");
+				chargingOrderRefund.setRefundRemark(payOrderQueryDto.getRemark());
 				chargingOrderRefund.setRefundTotalAmount(tChargingOrder.getRefundAmount().add(payOrderQueryDto.getRefundAmount()));
 				chargingOrderRefund.setPayAmount(tChargingOrder.getPaymentAmount());
 
@@ -2062,7 +2072,7 @@
 				chargingOrderRefund.setRefundTitle("后台退款");
 				chargingOrderRefund.setRefundContent("后台退款");
 				chargingOrderRefund.setRefundReason("后台退款");
-				chargingOrderRefund.setRefundRemark("后台退款");
+				chargingOrderRefund.setRefundRemark(payOrderQueryDto.getRemark());
 				chargingOrderRefund.setRefundTotalAmount(tChargingOrder.getRefundAmount().add(payOrderQueryDto.getRefundAmount()));
 				chargingOrderRefund.setPayAmount(tChargingOrder.getPaymentAmount());
 
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..8a0d431 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
@@ -117,6 +117,7 @@
         title,
         `status`,
         order_amount,
+        recharge_amount,
         payment_amount ,
         create_time,
         end_time,
@@ -377,7 +378,7 @@
             type,
             SUM( charging_capacity ) as charging_capacity ,
             SUM( period_service_price ) as period_electric_price,
-            SUM(period_electric_price+period_service_price) as total_amount
+            SUM(period_electric_price) as total_amount
         FROM
             t_charging_order_accounting_strategy
         <where>
@@ -394,9 +395,9 @@
     <select id="getDateData" resultType="java.util.Map">
         SELECT
             DATE_FORMAT( create_time, '%Y-%m-%d %H' ) as time,
-	SUM(service_charge) as servicecharge,
-	SUM(electrovalence) as electrovalence,
-    SUM(payment_amount) AS paymentAmount,
+        CAST(SUM(service_charge-coupon_discount_amount) AS DECIMAL(20, 6)) as  servicecharge,
+        CAST(SUM(charging_capacity) AS DECIMAL(20, 6)) as electrovalence,
+        CAST(SUM(electrovalence) AS DECIMAL(20, 4)) AS paymentAmount,
     count(1) as orderCount
         FROM
             t_charging_order
@@ -418,9 +419,9 @@
     <select id="getWeekData" resultType="java.util.Map">
         SELECT
         DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
-        SUM(service_charge) as servicecharge,
-        SUM(electrovalence) as electrovalence,
-        SUM(payment_amount) AS paymentAmount,
+        SUM(service_charge-coupon_discount_amount) as servicecharge,
+        SUM(charging_capacity) as electrovalence,
+        SUM(electrovalence) AS paymentAmount,
         count(1) as orderCount
         FROM
         t_charging_order
@@ -442,9 +443,9 @@
     <select id="getMonthData" resultType="java.util.Map">
         SELECT
         DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
-        SUM(service_charge) as servicecharge,
-        SUM(electrovalence) as electrovalence,
-        SUM(payment_amount) AS paymentAmount,
+        SUM(service_charge-coupon_discount_amount) as servicecharge,
+        SUM(charging_capacity) as electrovalence,
+        SUM(electrovalence) AS paymentAmount,
         count(1) as orderCount
         FROM
         t_charging_order
@@ -466,9 +467,9 @@
     <select id="getYearData" resultType="java.util.Map">
         SELECT
         DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
-        SUM(service_charge) as servicecharge,
-        SUM(electrovalence) as electrovalence,
-        SUM(payment_amount) AS paymentAmount,
+        SUM(service_charge-coupon_discount_amount) as servicecharge,
+        SUM(charging_capacity) as electrovalence,
+        SUM(electrovalence) AS paymentAmount,
 
         count(1) as orderCount
         FROM
@@ -492,8 +493,8 @@
     <select id="getByDate" resultType="java.util.Map">
         SELECT
         DATE_FORMAT( create_time, '%Y-%m-%d' ) as time,
-        SUM(service_charge) as servicecharge,
-        SUM(electrovalence) as electrovalence,
+        SUM(service_charge-coupon_discount_amount) as servicecharge,
+        SUM(charging_capacity) as electrovalence,
         count(1) as orderCount
         FROM
         t_charging_order
@@ -560,11 +561,11 @@
     </select>
     <select id="queryPowerLevel" resultType="java.util.Map">
         SELECT
-            count(CASE WHEN power BETWEEN 0 AND 30 THEN 1 ELSE 0 END) AS count_0_30,
-            count(CASE WHEN power BETWEEN 31 AND 60 THEN 1 ELSE 0 END) AS count_31_60,
-            count(CASE WHEN power BETWEEN 61 AND 120 THEN 1 ELSE 0 END) AS count_61_120,
-            count(CASE WHEN power BETWEEN 121 AND 300 THEN 1 ELSE 0 END) AS count_121_300,
-            count(CASE WHEN power > 300 THEN 1 ELSE 0 END) AS count_above_300
+        SUM(CASE WHEN power BETWEEN 0 AND 30 THEN 1 ELSE 0 END) AS count_0_30,
+        SUM(CASE WHEN power BETWEEN 31 AND 60 THEN 1 ELSE 0 END) AS count_31_60,
+        SUM(CASE WHEN power BETWEEN 61 AND 120 THEN 1 ELSE 0 END) AS count_61_120,
+        SUM(CASE WHEN power BETWEEN 121 AND 300 THEN 1 ELSE 0 END) AS count_121_300,
+        SUM(CASE WHEN power > 300 THEN 1 ELSE 0 END) AS count_above_300
         FROM
             t_charging_order
         WHERE
@@ -576,25 +577,25 @@
                 #{siteId}
             </foreach>
         </if>
-        <if test="statisticsQueryDto.dayType =1">
+        <if test="statisticsQueryDto.dayType ==1">
             AND DATE(create_time) = CURDATE()
         </if>
-        <if test="statisticsQueryDto.dayType =2">
+        <if test="statisticsQueryDto.dayType ==2">
             AND WEEKOFYEAR(create_time) = WEEKOFYEAR(CURDATE())
         </if>
-        <if test="statisticsQueryDto.dayType =3">
+        <if test="statisticsQueryDto.dayType ==3">
             AND MONTH(create_time) = MONTH(CURDATE())
         </if>
-        <if test="statisticsQueryDto.dayType =4">
+        <if test="statisticsQueryDto.dayType ==4">
            AND YEAR(create_time) = YEAR(CURDATE())
         </if>
-        <if test="statisticsQueryDto.dayType =5">
-        <if test="statisticsQueryDto.startTime != null">
+        <if test="statisticsQueryDto.dayType ==5">
+
             AND create_time >= #{statisticsQueryDto.startTime}
-        </if>
-        <if test="statisticsQueryDto.endTime != null">
+
+
             AND create_time &lt;= #{statisticsQueryDto.endTime}
-        </if>
+
         </if>
 
     </select>
@@ -602,7 +603,7 @@
 
         SELECT
 
-            DATE_FORMAT( create_time, '%Y-%m-%d %H' ) AS time,
+            DATE_FORMAT( create_time, '%H:00' ) AS time,
 	count(1) AS counts
         FROM
             charging_pile_account.t_app_user

--
Gitblit v1.7.1