From 85a21fdb54fa06f2fa6e25e763ec5337e85295e7 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 16 八月 2024 16:55:34 +0800
Subject: [PATCH] 小程序登录 token失效全局异常

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java |  117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 117 insertions(+), 0 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 8197d08..2bf8d35 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,8 +1,35 @@
 package com.ruoyi.account.controller;
 
 
+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.TAppUserCar;
+import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery;
+import com.ruoyi.account.api.vo.CarListVO;
+import com.ruoyi.account.api.vo.CouponListVOVO;
+import com.ruoyi.account.api.vo.ExchangeRecordVO;
+import com.ruoyi.account.service.TAppCouponService;
+import com.ruoyi.account.service.TAppUserCarService;
+import com.ruoyi.common.core.domain.R;
+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.security.service.TokenService;
+import com.ruoyi.other.api.domain.TCoupon;
+import com.ruoyi.other.api.feignClient.OtherClient;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 
 /**
  * <p>
@@ -15,6 +42,96 @@
 @RestController
 @RequestMapping("/t-app-coupon")
 public class TAppCouponController {
+    @Autowired
+    private TAppCouponService tAppCouponService;
+    @Autowired
+    private OtherClient otherClient;
 
+    @Autowired
+    private TAppUserCarService appUserCarService;
+    @Autowired
+    private TokenService tokenService;
+    /**
+     * 查询用户可用优惠券数量
+     * @param dto
+     * @return
+     */
+    @ApiOperation(value = "选择优惠券分页查询", tags = {"小程序-扫一扫"})
+    @PostMapping(value = "/scan/couponList")
+    public AjaxResult<PageInfo<CouponListVOVO>> couponList(@RequestBody CouponListDto dto) {
+        PageInfo<CouponListVOVO> res = tAppCouponService.couponList(dto);
+        return AjaxResult.ok(res);
+    }
+    /**
+     * 选择车辆列表
+     * @return
+     */
+    @ApiOperation(value = "选择车辆列表", tags = {"小程序-扫一扫"})
+    @PostMapping(value = "/scan/carList")
+    public AjaxResult<List<TAppUserCar>> carList() {
+        // todo 用户id
+        List<TAppUserCar> appUserId = appUserCarService.list(new QueryWrapper<TAppUserCar>()
+                .eq("app_user_id",tokenService.getLoginUserApplet().getUserid() ));
+        return AjaxResult.ok(appUserId);
+    }
+
+    /**
+     * 管理后台远程调用 根据优惠券ids 查询对应的发放数量
+     * @return 优惠券ids 查询每个优惠券的发放数量
+     */
+    @PostMapping("/getCountByCouponIds")
+    public R<List<Integer>> getCountByCouponIds(String couponIds) {
+        // 最终结果 和优惠券id一一对应
+        List<Integer> res = new ArrayList<>();
+        String[] split = couponIds.split(",");
+        // 查询每个优惠券的发放数量
+        for (String s : split) {
+            res.add(tAppCouponService.list(new QueryWrapper<TAppCoupon>()
+                    .eq("coupon_id", s)
+                    .eq("del_flag",0)
+            ).size());
+        }
+        return R.ok(res);
+    }
+
+    /**
+     * 后台远程调用 根据优惠券id 查询使用数量
+     * @param couponId
+     * @return
+     */
+    @PostMapping("/getUseCountByCouponId")
+    public R<Integer> getUseCountByCouponId(Integer couponId){
+        return R.ok(tAppCouponService.list(new QueryWrapper<TAppCoupon>()
+                .eq("coupon_id", couponId)
+                .eq("status",2)).size());
+    }
+    /**
+     * 后台远程调用 根据优惠券id 查询领取记录
+     * @param couponId
+     * @return
+     */
+    @PostMapping("/getExchangeRecordByCouponId")
+    public R<PageInfo<ExchangeRecordVO>> getExchangeRecordByCouponId(@RequestBody ExchangeRecordGoodsQuery couponId){
+        return R.ok(tAppCouponService.pagelist(couponId));
+    }
+
+    /**
+     * 后台远程调用 给用户发放优惠券
+     */
+    @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);
+        }
+        tAppCouponService.saveBatch(res);
+        return R.ok();
+    }
 }
 

--
Gitblit v1.7.1