From e9d451862a9f9458c82f18d7bd2c2cfdac44ac0b Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期四, 22 八月 2024 14:01:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java |   78 +++++++++++++++++++++++++++++++++------
 1 files changed, 66 insertions(+), 12 deletions(-)

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 794abd9..0443f6c 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
@@ -1,12 +1,17 @@
 package com.ruoyi.account.controller;
 
 
+import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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;
@@ -27,14 +32,17 @@
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -49,6 +57,8 @@
 public class TAppCouponController {
     @Autowired
     private TAppCouponService tAppCouponService;
+    @Resource
+    private OtherClient otherClient;
 
     @Autowired
     private TAppUserCarService appUserCarService;
@@ -58,11 +68,11 @@
     private ChargingPileClient chargingPileClient;
     @Autowired
     private ChargingOrderClient chargingOrderClient;
-    
+
     @Resource
     private ChargingGunClient chargingGunClient;
-    
-    
+
+
     /**
      * 小程序扫一扫 添加车辆
      * @param dto
@@ -180,22 +190,66 @@
         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);
-            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();
     }
 }

--
Gitblit v1.7.1