From be1ab2eb2032a747a409fb765ec90f76c3116c51 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期五, 01 十一月 2024 09:15:25 +0800
Subject: [PATCH] merge

---
 ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java            |    2 +
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java               |   40 ++++++++++++++++++++
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java           |   31 ++++++++-------
 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml                             |    4 +-
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java                  |    6 +++
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java                       |    2 +
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java               |    2 +
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java                    |   11 ++---
 ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TGoodsMapper.xml                                     |    4 +-
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TCoupon.java                                |    4 ++
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java |    4 ++
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java                       |    9 +++-
 12 files changed, 90 insertions(+), 29 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java
index 81b5024..39343ad 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java
@@ -123,5 +123,7 @@
     @TableField("serialnumber")
     private String serialnumber;
 
+    @TableField(exist = false)
+    private String parkName;
 
 }
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
index 20929f8..19ec997 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
@@ -46,6 +46,12 @@
             }
 
             @Override
+            public R<Integer> getSalesCountByGoodsIdgetCount(Integer goodId, Integer goodeType, Integer buyType) {
+                return null;
+            }
+
+
+            @Override
             public R<List<String>> getCodeByOrderId(String goodsIds) {
                 return R.fail("根据订单ids查询现金购买优惠券订单编号:" + cause.getMessage());
             }
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
index 210327e..02994b0 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
@@ -28,6 +28,8 @@
     public R managementGiveVip(@RequestBody TGrantVip grantVip);
     @GetMapping("/t-exchange-order/getSalesCountByGoodsIds/{goodsIds}")
     R<List<Integer>> getSalesCountByGoodsId(@PathVariable("goodsIds") String goodsIds);
+    @GetMapping("/t-exchange-order/getCount")
+    R<Integer> getSalesCountByGoodsIdgetCount(@RequestParam("goodId") Integer goodId,@RequestParam("goodeType")Integer goodeType,@RequestParam("buyType")Integer buyType);
 
     /**
      * 管理后台 根据t_app_coupon订单购买或者兑换优惠券的订单编号
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TCoupon.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TCoupon.java
index ebe7621..5a99b2a 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TCoupon.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TCoupon.java
@@ -122,6 +122,10 @@
     @TableField(exist = false)
     private Integer useCount;
 
+    @ApiModelProperty(value = "销量")
+    @TableField(exist = false)
+    private Integer salesCount;
+
 
 
 }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
index 171a350..06a4e3f 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
@@ -229,17 +229,22 @@
 		siteList.setPageSize(99999);
 		PageInfo<GetSiteListDTO> list = siteService.getSiteList(siteList);
 		for (GetSiteListDTO record : list.getRecords()) {
-			Long count = chargingGunService.lambdaQuery().eq(TChargingGun::getSiteId, record.getId()).eq(TChargingGun::getChargeMode, 1).eq(TChargingGun::getStatus, new int[]{3, 4, 5, 6}).count();
+			List<Integer> c1 = new ArrayList<>();
+			c1.add(3);
+			c1.add(4);
+			c1.add(5);
+			c1.add(6);
+			Long count = chargingGunService.lambdaQuery().eq(TChargingGun::getSiteId, record.getId()).eq(TChargingGun::getChargeMode, 1).eq(TChargingGun::getStatus, 2).count();
 			record.setC1(count);
-			Long count1 = chargingGunService.lambdaQuery().eq(TChargingGun::getSiteId, record.getId()).eq(TChargingGun::getChargeMode, 1).eq(TChargingGun::getStatus, 2).count();
+			Long count1 = chargingGunService.lambdaQuery().eq(TChargingGun::getSiteId, record.getId()).eq(TChargingGun::getChargeMode, 1).count();
 			record.setC2(count1);
-			Long count2 = chargingGunService.lambdaQuery().eq(TChargingGun::getSiteId, record.getId()).eq(TChargingGun::getChargeMode, 2).eq(TChargingGun::getStatus, new int[]{3, 4, 5, 6}).count();
+			Long count2 = chargingGunService.lambdaQuery().eq(TChargingGun::getSiteId, record.getId()).eq(TChargingGun::getChargeMode, 2).eq(TChargingGun::getStatus, 2).count();
 			record.setK1(count2);
-			Long count3 = chargingGunService.lambdaQuery().eq(TChargingGun::getSiteId, record.getId()).eq(TChargingGun::getChargeMode, 2).eq(TChargingGun::getStatus, 2).count();
+			Long count3 = chargingGunService.lambdaQuery().eq(TChargingGun::getSiteId, record.getId()).eq(TChargingGun::getChargeMode, 2).count();
 			record.setK2(count3);
-			Long count4 = chargingGunService.lambdaQuery().eq(TChargingGun::getSiteId, record.getId()).eq(TChargingGun::getChargeMode, 3).eq(TChargingGun::getStatus, new int[]{3, 4, 5, 6}).count();
+			Long count4 = chargingGunService.lambdaQuery().eq(TChargingGun::getSiteId, record.getId()).eq(TChargingGun::getChargeMode, 3).eq(TChargingGun::getStatus, 2).count();
 			record.setM1(count4);
-			Long count5 = chargingGunService.lambdaQuery().eq(TChargingGun::getSiteId, record.getId()).eq(TChargingGun::getChargeMode, 3).eq(TChargingGun::getStatus, 2).count();
+			Long count5 = chargingGunService.lambdaQuery().eq(TChargingGun::getSiteId, record.getId()).eq(TChargingGun::getChargeMode, 3).count();
 			record.setM2(count5);
 
 			//利用率
@@ -295,14 +300,7 @@
 	@ApiOperation(value = "获取该充电站的利用率", tags = {"管理后台-数据分析-电站分析"})
 	public R getPercentByCityCode(@RequestBody ChargingPercentProvinceDto chargingPercentProvinceDto){
 
-		if (chargingPercentProvinceDto.getDate1()==null){
-			LocalDate today = LocalDate.now();
-			LocalDate lastMonth = today.minusMonths(1);
-			LocalDate firstDayOfLastMonth = lastMonth.withDayOfMonth(1);
-			LocalDate lastDayOfLastMonth =lastMonth.withDayOfMonth(lastMonth.lengthOfMonth());
-			chargingPercentProvinceDto.setDate1(firstDayOfLastMonth);
-			chargingPercentProvinceDto.setDate2(lastDayOfLastMonth);
-		}
+
 
 
 
@@ -316,6 +314,9 @@
 		List<GetSiteListDTO> records = siteService.getSiteList(siteList).getRecords();
 		List<Integer> collect = records.stream().map(GetSiteListDTO::getId).collect(Collectors.toList());
 		// 通过时间段获取和充电桩id获取各个充电站的充电订单
+		if (chargingPercentProvinceDto.getDate1().equals(chargingPercentProvinceDto.getDate2())){
+			chargingPercentProvinceDto.setDate2(chargingPercentProvinceDto.getDate1().plusDays(1));
+		}
 			List<ChargingOrderGroup> data = chargingOrderClient.getBySiteIdAndTime(chargingPercentProvinceDto).getData();
 		// 计算利用率展示
 		for (ChargingOrderGroup datum : data) {
@@ -325,7 +326,7 @@
 				bigDecimal1 = bigDecimal1.add(chargingPile.getRatedPower());
 			}
 
-			long daysBetween = ChronoUnit.DAYS.between(chargingPercentProvinceDto.getDate1(), chargingPercentProvinceDto.getDate2()) + 1;
+			long daysBetween = ChronoUnit.DAYS.between(chargingPercentProvinceDto.getDate1(), chargingPercentProvinceDto.getDate2());
 			BigDecimal multiply = bigDecimal1.multiply(new BigDecimal("24")).multiply(BigDecimal.valueOf(daysBetween));
 			//得到利用率
 			BigDecimal divide = datum.getChargingCapacity().divide(multiply, 0, BigDecimal.ROUND_HALF_UP);
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
index 8c9284b..5d91a4c 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
@@ -70,7 +70,11 @@
                 .page(Page.of(query.getPageCurr(), query.getPageSize()));
 
         for (TParkingRecord record : page.getRecords()) {
+            TParkingLot byId = parkingLotService.getById(record.getParkingLotId());
             record.setUid(record.getId().toString());
+            if (byId!=null) {
+                record.setParkName(byId.getName());
+            }
         }
         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 efc6208..25718a7 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
@@ -1186,6 +1186,8 @@
         tCharingUserMapVO.setMap(charMap);
         tCharingUserMapVO.setMap1(charMap1);
         }else {
+
+
             List<Map<String,Object>> map =  chargingOrderService.usersByQuery(statisticsQueryDto);
 
 
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
index e179dab..7d688c5 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
@@ -237,6 +237,46 @@
         }
         return R.ok(res);
     }
+
+    @GetMapping("/getCount")
+    public R<Integer> getCount(@RequestParam("goodId") Integer goodId,@RequestParam("goodeType")Integer goodeType,@RequestParam("buyType")Integer buyType){
+        if (buyType==1){
+            //现金
+            if (goodeType==1){
+                //商品
+                Integer reduce = tShoppingOrderService.list(new QueryWrapper<TShoppingOrder>()
+                                .eq("order_type",1)
+                                .eq("goods_id", goodId)
+                                .isNull("refund_status"))
+                        .stream().map(TShoppingOrder::getPurchaseQuantity).reduce(0, Integer::sum);
+                return R.ok(reduce);
+            }else {
+                //优惠券
+                Integer reduce = tShoppingOrderService.list(new QueryWrapper<TShoppingOrder>()
+                                .eq("order_type",2)
+                                .eq("coupon_id", goodId)
+                                .isNull("refund_status"))
+                        .stream().map(TShoppingOrder::getPurchaseQuantity).reduce(0, Integer::sum);
+                return R.ok(reduce);
+            }
+
+        }else {
+            //兑换
+            if (goodeType==1){
+                Integer reduce = exchangeOrderService.list(new QueryWrapper<TExchangeOrder>().eq("order_type",1)
+                                .ne("status",4).eq("goods_id", goodId))
+                        .stream().map(TExchangeOrder::getPurchaseQuantity).reduce(0, Integer::sum);
+                return R.ok(reduce);
+            }else {
+                Integer reduce = exchangeOrderService.list(new QueryWrapper<TExchangeOrder>().eq("order_type",2)
+                        .ne("status",4).eq("coupon_id", goodId))
+                        .stream().map(TExchangeOrder::getPurchaseQuantity).reduce(0, Integer::sum);
+                return R.ok(reduce);
+            }
+        }
+
+
+    }
     /**
      * 管理后台 根据t_app_coupon订单ids查询优惠券的订单编号
      * @param goodsIds  订单号-商品类型
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 f126021..162f271 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
@@ -702,10 +702,10 @@
         </if>
         <if test="statisticsQueryDto.dayType ==5">
             <if test="statisticsQueryDto.startTime != null">
-                AND create_time >= #{statisticsQueryDto.startTime}
+                AND DATE(create_time) >= #{statisticsQueryDto.startTime}
             </if>
             <if test="statisticsQueryDto.endTime != null">
-                AND create_time &lt;= #{statisticsQueryDto.endTime}
+                AND DATE(create_time) &lt;= #{statisticsQueryDto.endTime}
             </if>
         </if>
         GROUP BY
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java
index 3ea9ee4..c003b2e 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java
@@ -125,7 +125,7 @@
 
     @GetMapping("/getInfoByType")
     @ApiOperation(tags = {"小程序-兑换商城"},value = "商品查看详情")
-    public R getInfoByType(Integer goodType,Integer id) {
+    public R getInfoByType(Integer goodType,Integer id,Integer type) {
         if (goodType==1){
         TGoods byId = goodsService.getById(id);
         if (byId==null||byId.getStatus()==2){
@@ -135,7 +135,8 @@
 //            for (int i = 0; i < list.size(); i++) {
 //                list.get(i).setSalesCount(data.get(i));
 //            }
-
+            Integer data = orderClient.getSalesCountByGoodsIdgetCount(byId.getId(), 1, type).getData();
+            byId.setSalesCount(data);
         return R.ok(byId);
         }
         else {
@@ -143,7 +144,9 @@
             if (byId==null||byId.getStatus()==2){
                 return R.fail(2,"该商品已不存在");
             }
-                return R.ok(byId);
+            Integer data = orderClient.getSalesCountByGoodsIdgetCount(byId.getId(),2, type).getData();
+            byId.setSalesCount(data);
+            return R.ok(byId);
             }
     }
 
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java
index 5f390ad..d5e2f68 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java
@@ -78,14 +78,11 @@
             pageInfo.setRecords(list);
             return pageInfo;
         }
-        String string = stringBuilder.toString();
-        // 订单号加上商品类型
-        String res = string+"-"+basePage.getType();
-
-        List<Integer> data = orderClient.getSalesCountByGoodsId(res).getData();
-        for (int i = 0; i < list.size(); i++) {
-            list.get(i).setSalesCount(data.get(i));
+        for (TGoods tGoods : list) {
+            Integer data = orderClient.getSalesCountByGoodsIdgetCount(tGoods.getId(), tGoods.getGoodType(), basePage.getType()).getData();
+            tGoods.setSalesCount(data);
         }
+
         pageInfo.setRecords(list);
         return pageInfo;
     }
diff --git a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TGoodsMapper.xml b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TGoodsMapper.xml
index c8879ee..4351904 100644
--- a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TGoodsMapper.xml
+++ b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TGoodsMapper.xml
@@ -55,13 +55,13 @@
 
     <select id="pageList1" resultType="com.ruoyi.other.api.domain.TGoods">
         SELECT
-            id,name,redeem_points as redeemPoints,inventory,original_price as originalPrice ,preferential_price as preferentialPrice,vip_price as vipPrice,1 as goodType,cover_picture as coverPicture
+            id,name,redeem_points as redeemPoints,inventory,original_price as originalPrice ,preferential_price as preferentialPrice,vip_price as vipPrice,1 as goodType,cover_picture as coverPicture,underlying_sales as underlyingSales
         FROM
             t_goods
         WHERE `status` = 1 and del_flag = 0 and type = #{appGoodQuery.type}
         UNION ALL
         SELECT
-            id,name,redeem_points  as redeemPoints,inventory_quantity as inventory,payment_amount as originalPrice,payment_amount as preferentiaPrice,vip_payment_amount as vipPrice,2 as goodType,cover_picture as coverPicture
+            id,name,redeem_points  as redeemPoints,inventory_quantity as inventory,payment_amount as originalPrice,payment_amount as preferentiaPrice,vip_payment_amount as vipPrice,2 as goodType,cover_picture as coverPicture,0 as underlyingSales
         FROM
             t_coupon
         WHERE `status`= 1 and del_flag = 0 and ways_to_obtain != #{appGoodQuery.type}

--
Gitblit v1.7.1