From 8b1376a256d8750f718276cbe475cb6f1f7ebddc Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期二, 13 八月 2024 11:14:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java |   46 +++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 43 insertions(+), 3 deletions(-)

diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java
index 61ac718..cbcd8b3 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java
@@ -4,7 +4,9 @@
 import com.ruoyi.account.api.dto.GrantCouponDto;
 import com.ruoyi.account.api.feignClient.AppCouponClient;
 import com.ruoyi.account.api.query.ExchangeRecordGoodsQuery;
+import com.ruoyi.account.api.vo.CouponListVOVO;
 import com.ruoyi.account.api.vo.ExchangeRecordVO;
+import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.other.api.domain.TCoupon;
@@ -18,6 +20,7 @@
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -89,8 +92,8 @@
         return AjaxResult.ok(data);
     }
     @ApiOperation(tags = {"管理后台-优惠券管理"},value = "发放优惠券")
-    @GetMapping(value = "/pageList")
-    public AjaxResult pageList(@RequestBody GrantCouponDto dto) {
+    @GetMapping(value = "/grantCoupon")
+    public AjaxResult grantCoupon(@RequestBody GrantCouponDto dto) {
         TCoupon byId = tCouponService.getById(dto.getCouponId());
         Integer waysToObtain = byId.getWaysToObtain();
         dto.setWaysToObtain(waysToObtain);
@@ -102,13 +105,50 @@
                 dto.setEndTime(LocalDateTime.now().plusDays(byId.getDays()));
                 break;
         }
-        // 远程送优惠券
+        appCouponClient.grantCoupon(dto);
         return AjaxResult.success();
     }
+
     @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券列表分页查询")
     @PostMapping(value = "/pageList")
     public AjaxResult<PageInfo<TCoupon>> pageList(@RequestBody CouponQuery dto) {
         return AjaxResult.ok(tCouponService.pageList(dto));
     }
+
+    /**
+     * 小程序远程调用 获取优惠券信息
+     */
+    @PostMapping(value = "/getCouponInfoByCouponIds")
+    public R<List<CouponListVOVO>> getCouponInfoByCouponIds(@RequestBody List<CouponListVOVO> list) {
+        for (CouponListVOVO couponListVOVO : list) {
+            TCoupon byId = tCouponService.getById(couponListVOVO.getCouponId());
+            BeanUtils.copyProperties(byId,couponListVOVO);
+            couponListVOVO.setCouponName(byId.getName());
+            // 根据预付金额 判断是否满足
+            if (byId.getMeetTheConditions().compareTo(BigDecimal.ZERO) == 0){
+                // 无门槛
+                couponListVOVO.setIsUse(1);
+            }else if (couponListVOVO.getPayMoney().compareTo(byId.getMeetTheConditions()) < 0){
+                couponListVOVO.setIsUse(0);
+            }else{
+                couponListVOVO.setIsUse(1);
+            }
+            // 根据优惠券类型和预付金额 判断哪一个优惠券减免的金额最大 将其排在第一位
+            if (couponListVOVO.getIsUse() == 1){
+                switch (byId.getPreferentialMode()){
+                    case 1:
+                            couponListVOVO.setMoney(byId.getDiscountAmount());
+                        break;
+                    case 2:
+                        
+                        break;
+                }
+            }else{
+                couponListVOVO.setMoney(BigDecimal.ZERO);
+            }
+
+        }
+        return R.ok(list);
+    }
 }
 

--
Gitblit v1.7.1