From e9f36d42efaa757c7f93b00ba3ff9fb0d0bf46c9 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期一, 14 十月 2024 17:11:26 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java |   91 +++++++++++++++++++++++++++++++++++----------
 1 files changed, 70 insertions(+), 21 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 8cfd00d..88236a3 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
@@ -38,10 +38,8 @@
 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.time.LocalDateTime;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -62,17 +60,32 @@
 
     @Autowired
     private TAppUserCarService appUserCarService;
-    @Autowired
+    @Resource
     private TokenService tokenService;
-    @Autowired
+    @Resource
     private ChargingPileClient chargingPileClient;
-    @Autowired
+    @Resource
     private ChargingOrderClient chargingOrderClient;
-
     @Resource
     private ChargingGunClient chargingGunClient;
+    
+    @Autowired
+    private TAppUserTagService appUserTagService;
+    @Autowired
+    private TAppUserService appUserService;
+    
 
-
+    /**
+     * 后台退款 回退优惠券使用状态
+     * @return
+     */
+    @PostMapping(value = "/refund/{id}")
+    public R refund(@PathVariable("id") String id) {
+        TAppCoupon byId = tAppCouponService.getById(id);
+        byId.setStatus(1);
+        tAppCouponService.updateById(byId);
+        return R.ok();
+    }
     /**
      * 小程序扫一扫 添加车辆
      * @param dto
@@ -90,18 +103,22 @@
      * @return
      */
     @ApiOperation(value = "通过充电枪id和预付金额获取电站详情", tags = {"小程序-扫一扫"})
-    @GetMapping(value = "/scan/siteInfo")
+    @PostMapping(value = "/scan/siteInfo")
     public AjaxResult<SiteInfoVO> siteInfo(Integer id, BigDecimal money) {
         TChargingGun chargingGun = chargingGunClient.getChargingGunById(id).getData();
         TChargingPile chargingPile = chargingPileClient.getChargingPileById(chargingGun.getChargingPileId()).getData();
-        SiteInfoVO data = chargingPileClient.getSiteInfoByNumber(chargingPile.getNumber().toString()).getData();
+        SiteInfoVO data = chargingPileClient.getSiteInfoByNumber1(chargingPile.getCode().toString()).getData();
         data.setChargingGunId(id);
+        data.setSiteId(chargingGun.getId());
+        data.setChargeMode(chargingGun.getChargeMode());
         List<TAppUserCar> cars = appUserCarService.list(new QueryWrapper<TAppUserCar>()
                 .eq("app_user_id",tokenService.getLoginUserApplet().getUserId())
                 .orderByDesc("create_time"));
-        Long data1 = chargingOrderClient.getCar().getData();
+        Long data1 = chargingOrderClient.getCar(tokenService.getLoginUserApplet().getUserId().toString()).getData();
+        Integer data2 = otherClient.getAddCarIntegral().getData();
+        data.setIntegral(data2);
         if (!cars.isEmpty()){
-            if (data1 == -1){
+            if (null == data1 || data1 == -1){
                 // 没有充电订单 展示最新添加的车辆
                 data.setLicensePlate(cars.get(0).getLicensePlate());
                 data.setVehicleBrand(cars.get(0).getVehicleBrand());
@@ -186,20 +203,29 @@
      * @return
      */
     @PostMapping("/getExchangeRecordByCouponId")
-    public R<PageInfo<ExchangeRecordVO>> getExchangeRecordByCouponId(@RequestBody ExchangeRecordGoodsQuery couponId){
+    public R<List<ExchangeRecordVO>> getExchangeRecordByCouponId(@RequestBody ExchangeRecordGoodsQuery couponId){
         return R.ok(tAppCouponService.pagelist(couponId));
     }
 
-    @Autowired
-    private TAppUserTagService appUserTagService;
-    @Autowired
-    private TAppUserService appUserService;
+    @ApiOperation(value = "优惠卷可用数量", tags = {"小程序-站点管理-站点详情"})
+    @GetMapping(value = "/couponCount")
+    public R<Long> couponCount() {
+        Long userId = tokenService.getLoginUserApplet().getUserId();
+        Long count = tAppCouponService.lambdaQuery().eq(TAppCoupon::getAppUserId, userId).ge(TAppCoupon::getEndTime, LocalDateTime.now()).eq(TAppCoupon::getStatus, 1).count();
+        if(Objects.isNull(count)){
+            count = 0L;
+        }
+        return R.ok(count);
+    }
+
+    
 
     /**
      * 后台远程调用 给用户发放优惠券
      */
     @PostMapping("/grantCoupon")
     public R  grantCoupon(@RequestBody GrantCouponDto dto){
+        dto.setWaysToObtain(3);
         List<TAppCoupon> res = new ArrayList<>();
         TCoupon coupon = otherClient.getCouponById(dto.getCouponId()).getData();
 
@@ -223,9 +249,20 @@
                 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());
+                List<Long> collect1 = new ArrayList<>();
+                // 根据市codes 查询用户ids
+                if (StringUtils.hasLength(dto.getProvinceCode())){
+                    List<Long> collect2 = appUserService.list(new QueryWrapper<TAppUser>()
+                            .in("province_code", Arrays.asList(dto.getProvinceCode().split(","))))
+                            .stream().map(TAppUser::getId).collect(Collectors.toList());
+                    collect1.addAll(collect2);
+                }
+                if (StringUtils.hasLength(dto.getCityCode())){
+                    List<Long> collect2 = appUserService.list(new QueryWrapper<TAppUser>()
+                            .in("city_code", Arrays.asList(dto.getCityCode().split(","))))
+                            .stream().map(TAppUser::getId).collect(Collectors.toList());
+                    collect1.addAll(collect2);
+                }
                 for (Long l : collect1) {
                     TAppCoupon tAppCoupon = new TAppCoupon();
                     tAppCoupon.setAppUserId(l);
@@ -257,5 +294,17 @@
 
         return R.ok();
     }
+    
+    
+    /**
+     * 根据id获取优惠券领取记录
+     * @param id
+     * @return
+     */
+    @PostMapping("/getAppCouponById")
+    public R<TAppCoupon> getAppCouponById(@RequestParam("id") Long id){
+        TAppCoupon appCoupon = tAppCouponService.getById(id);
+        return R.ok(appCoupon);
+    }
 }
 

--
Gitblit v1.7.1