From f0ca7d146e94c08dd1b79388e405813b1777c145 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期四, 22 八月 2024 10:19:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   28 ++++++++++++++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java          |    5 ++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java            |    6 +++
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java    |   68 ++++++++++++++++++++++++++++-----
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java             |    7 +++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java    |    6 ++-
 6 files changed, 107 insertions(+), 13 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java
index 7db26de..c81b666 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/GrantCouponDto.java
@@ -9,6 +9,8 @@
 @Data
 @ApiModel("管理后台发放优惠券DTO")
 public class GrantCouponDto {
+    @ApiModelProperty("类型 1按用户标签 2按用户所在地 3自定义发放")
+    private Integer type;
     @ApiModelProperty("用户ids 逗号分隔")
     private String userIds;
     @ApiModelProperty("优惠券id")
@@ -17,4 +19,9 @@
     private Integer waysToObtain;
     @ApiModelProperty("结束时间 前端忽略")
     private LocalDateTime endTime;
+    @ApiModelProperty("标签ids")
+    private String tags;
+
+    @ApiModelProperty("市code 多个逗号分割")
+    private String cityCode;
 }
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 7e65be4..db11e3f 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
@@ -6,8 +6,12 @@
 import com.ruoyi.account.api.dto.CouponListDto;
 import com.ruoyi.account.api.dto.GrantCouponDto;
 import com.ruoyi.account.api.model.TAppCoupon;
+import com.ruoyi.account.api.model.TAppUser;
 import com.ruoyi.account.api.model.TAppUserCar;
+import com.ruoyi.account.api.model.TAppUserTag;
 import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery;
+import com.ruoyi.account.service.TAppUserService;
+import com.ruoyi.account.service.TAppUserTagService;
 import com.ruoyi.chargingPile.api.feignClient.ChargingGunClient;
 import com.ruoyi.chargingPile.api.model.TChargingGun;
 import com.ruoyi.chargingPile.api.model.TChargingPile;
@@ -37,6 +41,7 @@
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -184,24 +189,65 @@
         return R.ok(tAppCouponService.pagelist(couponId));
     }
 
+    @Autowired
+    private TAppUserTagService appUserTagService;
+    @Autowired
+    private TAppUserService appUserService;
     /**
      * 后台远程调用 给用户发放优惠券
      */
     @PostMapping("/grantCoupon")
     public R  grantCoupon(@RequestBody GrantCouponDto dto){
         List<TAppCoupon> res = new ArrayList<>();
-        for (String s : dto.getUserIds().split(",")) {
-            TAppCoupon tAppCoupon = new TAppCoupon();
-            tAppCoupon.setAppUserId(Long.valueOf(s));
-            tAppCoupon.setCouponId(dto.getCouponId());
-            tAppCoupon.setEndTime(dto.getEndTime());
-            tAppCoupon.setWaysToObtain(dto.getWaysToObtain());
-            tAppCoupon.setStatus(1);
-            R<TCoupon> couponById = otherClient.getCouponById(Integer.valueOf(s));
-            tAppCoupon.setCouponJson(JSON.toJSONString(couponById.getData()));
-            res.add(tAppCoupon);
+        switch (dto.getType()){
+            case 1:
+                // 根据标签ids 查询用户ids
+                List<Long> collect = appUserTagService.list(new QueryWrapper<TAppUserTag>()
+                        .in("user_tag_id", Arrays.asList(dto.getTags().split(","))))
+                        .stream().map(TAppUserTag::getAppUserId).collect(Collectors.toList());
+                for (Long l : collect) {
+                    TAppCoupon tAppCoupon = new TAppCoupon();
+                    tAppCoupon.setAppUserId(l);
+                    tAppCoupon.setCouponId(dto.getCouponId());
+                    tAppCoupon.setEndTime(dto.getEndTime());
+                    tAppCoupon.setWaysToObtain(dto.getWaysToObtain());
+                    tAppCoupon.setStatus(1);
+                    res.add(tAppCoupon);
+                }
+                tAppCouponService.saveBatch(res);
+                break;
+            case 2:
+                // 根据市codes 查询用户ids
+                List<Long> collect1 = appUserService.list(new QueryWrapper<TAppUser>()
+                                .in("city_code", Arrays.asList(dto.getCityCode().split(","))))
+                        .stream().map(TAppUser::getId).collect(Collectors.toList());
+                for (Long l : collect1) {
+                    TAppCoupon tAppCoupon = new TAppCoupon();
+                    tAppCoupon.setAppUserId(l);
+                    tAppCoupon.setCouponId(dto.getCouponId());
+                    tAppCoupon.setEndTime(dto.getEndTime());
+                    tAppCoupon.setWaysToObtain(dto.getWaysToObtain());
+                    tAppCoupon.setStatus(1);
+                    res.add(tAppCoupon);
+                }
+                tAppCouponService.saveBatch(res);
+                break;
+            case 3:
+                for (String s : dto.getUserIds().split(",")) {
+                    TAppCoupon tAppCoupon = new TAppCoupon();
+                    tAppCoupon.setAppUserId(Long.valueOf(s));
+                    tAppCoupon.setCouponId(dto.getCouponId());
+                    tAppCoupon.setEndTime(dto.getEndTime());
+                    tAppCoupon.setWaysToObtain(dto.getWaysToObtain());
+                    tAppCoupon.setStatus(1);
+                    res.add(tAppCoupon);
+                }
+                tAppCouponService.saveBatch(res);
+                break;
         }
-        tAppCouponService.saveBatch(res);
+
+
+
         return R.ok();
     }
 }
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 d8c37ed..1b3e8bd 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
@@ -11,6 +11,7 @@
 import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.order.api.model.TChargingOrder;
 import com.ruoyi.order.api.model.TOrderEvaluate;
+import com.ruoyi.order.api.query.ChargingOrderQuery;
 import com.ruoyi.order.api.query.TChargingCountQuery;
 import com.ruoyi.order.api.vo.ChargingOrderVO;
 import com.ruoyi.order.dto.GetMyChargingOrderList;
@@ -71,8 +72,9 @@
     @ResponseBody
     @PostMapping(value = "/chargingOrder")
     @ApiOperation(value = "充电桩订单列表", tags = {"管理后台-订单管理"})
-    public AjaxResult<PageInfo<ChargingOrderVO>> chargingOrder(@RequestBody OrderEvaluateVo dto){
-        return AjaxResult.success();
+    public AjaxResult<PageInfo<ChargingOrderVO>> chargingOrder(@RequestBody ChargingOrderQuery dto){
+        PageInfo<ChargingOrderVO> res = chargingOrderService.chargingOrder(dto);
+        return AjaxResult.success(res);
     }
 
 
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
index 2cb8469..d36e263 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
@@ -1,7 +1,10 @@
 package com.ruoyi.order.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.order.api.model.TChargingOrder;
+import com.ruoyi.order.api.query.ChargingOrderQuery;
+import com.ruoyi.order.api.vo.ChargingOrderVO;
 import com.ruoyi.order.dto.GetNoInvoicedOrder;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -42,4 +45,7 @@
 	 */
 	List<TChargingOrder> getNoInvoicedOrder(@Param("appUserId") Long appUserId, @Param("month") String month,
 	                                        @Param("pageCurr") Integer pageCurr, @Param("pageSize") Integer pageSize);
+
+    List<ChargingOrderVO> chargingOrder(@Param("pageInfo") PageInfo<ChargingOrderVO> pageInfo, ChargingOrderQuery dto, String startTime1, String startTime2, String endTime1, String endTime11);
+
 }
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
index 25c5c91..06c75b4 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
@@ -3,7 +3,10 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.BasePage;
+import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.order.api.model.TChargingOrder;
+import com.ruoyi.order.api.query.ChargingOrderQuery;
+import com.ruoyi.order.api.vo.ChargingOrderVO;
 import com.ruoyi.order.dto.*;
 import org.springframework.web.bind.annotation.RequestBody;
 
@@ -78,4 +81,6 @@
 	 * @return
 	 */
 	AjaxResult stopCharging(String id);
+
+    PageInfo<ChargingOrderVO> chargingOrder(ChargingOrderQuery dto);
 }
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 d5521a8..f203995 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
@@ -17,20 +17,25 @@
 import com.ruoyi.chargingPile.api.model.TChargingPile;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.BasePage;
+import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.order.api.model.TChargingOrder;
 import com.ruoyi.order.api.model.TChargingOrderAccountingStrategy;
+import com.ruoyi.order.api.query.ChargingOrderQuery;
+import com.ruoyi.order.api.vo.ChargingOrderVO;
 import com.ruoyi.order.dto.*;
 import com.ruoyi.order.mapper.TChargingOrderMapper;
 import com.ruoyi.order.service.TChargingOrderAccountingStrategyService;
 import com.ruoyi.order.service.TChargingOrderService;
+import com.ruoyi.other.api.domain.TVip;
 import com.ruoyi.payment.api.feignClient.WxPaymentClient;
 import com.ruoyi.payment.api.vo.NotifyV3PayDecodeRespBody;
 import com.ruoyi.payment.api.vo.PaymentOrder;
 import io.seata.spring.annotation.GlobalTransactional;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
@@ -386,4 +391,27 @@
 		// todo 待完善
 		return AjaxResult.success();
 	}
+
+    @Override
+    public PageInfo<ChargingOrderVO> chargingOrder(ChargingOrderQuery dto) {
+		String startTime1 = null;
+		String startTime2 = null;
+		String endTime1 = null;
+		String endTime2 = null;
+
+		if (StringUtils.hasLength(dto.getStartTime())){
+			String[] split = dto.getStartTime().split(" - ");
+			startTime1 = split[0];
+			startTime2 = split[1];
+		}
+		if (StringUtils.hasLength(dto.getEndTime())){
+			String[] split = dto.getEndTime().split(" - ");
+			endTime1 = split[0];
+			endTime2 = split[1];
+		}
+		PageInfo<ChargingOrderVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
+		List<ChargingOrderVO> list = this.baseMapper.chargingOrder(pageInfo,dto,startTime1,startTime2,endTime1,endTime2);
+		pageInfo.setRecords(list);
+        return pageInfo;
+    }
 }

--
Gitblit v1.7.1