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-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java | 68 ++++++++++++++++++++++++++++----- 1 files changed, 57 insertions(+), 11 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 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(); } } -- Gitblit v1.7.1