From 7473e0157c4f687c354ec351c3a22a40d1788ed5 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 28 八月 2024 10:41:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 55 insertions(+), 5 deletions(-)

diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java
index 004ff33..6021c3a 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java
@@ -110,10 +110,25 @@
 
 
     @GetMapping("/getInfo")
-    @ApiOperation(tags = {"管理后台-商品管理","小程序-兑换商城"},value = "商品查看详情")
+    @ApiOperation(tags = {"管理后台-商品管理"},value = "商品查看详情")
     public AjaxResult<TGoods> getInfo(Integer id) {
-        return AjaxResult.ok(goodsService.getById(id));
+        TGoods byId = goodsService.getById(id);
+        return AjaxResult.ok(byId);
     }
+
+
+    @GetMapping("/getInfoByType")
+    @ApiOperation(tags = {"小程序-兑换商城"},value = "商品查看详情")
+    public AjaxResult getInfoByType(Integer goodType,Integer id) {
+        if (goodType==1){
+        TGoods byId = goodsService.getById(id);
+        return AjaxResult.ok(byId);}
+        else {
+            TCoupon byId = couponService.getById(id);
+            return AjaxResult.ok(byId);
+    }
+    }
+
 
 
 
@@ -130,6 +145,40 @@
         return AjaxResult.ok(goodsService.pageList1(appGoodQuery));
     }
 
+
+
+    @ApiOperation(tags = {"小程序-兑换商城"},value = "积分兑换商品检查数量")
+    @PostMapping(value = "/app/shop/check")
+    public R check(@RequestBody ExchangeDto exchangeDto) {
+        //检查当前用户积分是否够
+        Long userId = tokenService.getLoginUserApplet().getUserId();
+        Integer point = 0;
+
+        if (exchangeDto.getGoodType()==1) {
+            //查询当前商品信息
+            TGoods good = goodsService.getById(exchangeDto.getGoodId());
+            point = good.getRedeemPoints();
+            //检查当前用户是否到达兑换上限
+            Long count = orderClient.getExchangeById(exchangeDto.getGoodId(), userId,exchangeDto.getGoodType()).getData();
+            if (good.getLimitExchangeTimes() != -1 && count >= good.getLimitExchangeTimes()) {
+                return R.fail("当前用户已兑换"+count+"张");
+            }
+            TAppUser user = appUserClient.getUserById(userId).getData();
+            if (user.getPoints()<good.getRedeemPoints()){
+                return R.fail("当前用户积分不足");
+            }
+        }else {
+            TCoupon coupon = couponService.getById(exchangeDto.getGoodId());
+            point = coupon.getRedeemPoints();
+
+            Long count = orderClient.getExchangeById(exchangeDto.getGoodId(), userId,exchangeDto.getGoodType()).getData();
+            if (coupon.getInventoryQuantity() != -1 && count >= coupon.getInventoryQuantity()) {
+                return R.fail("当前用户已到达兑换"+coupon+"次");
+            }
+    }
+        return R.ok();
+
+    }
     @ApiOperation(tags = {"小程序-兑换商城"},value = "积分兑换商品")
     @PostMapping(value = "/app/shop")
     public AjaxResult<PageInfo<TGoods>> shop(@RequestBody ExchangeDto exchangeDto) {
@@ -144,7 +193,7 @@
             //检查当前用户是否到达兑换上限
             Long count = orderClient.getExchangeById(exchangeDto.getGoodId(), userId,exchangeDto.getGoodType()).getData();
             if (good.getLimitExchangeTimes() != -1 && count >= good.getLimitExchangeTimes()) {
-                return AjaxResult.error("当前用户已到达兑换上限");
+                return AjaxResult.error("当前用户已兑换"+count+"张");
             }
         TAppUser user = appUserClient.getUserById(userId).getData();
         if (user.getPoints()<good.getRedeemPoints()){
@@ -156,10 +205,11 @@
 
             Long count = orderClient.getExchangeById(exchangeDto.getGoodId(), userId,exchangeDto.getGoodType()).getData();
             if (coupon.getInventoryQuantity() != -1 && count >= coupon.getInventoryQuantity()) {
-                return AjaxResult.error("当前用户已到达兑换上限");
+                return AjaxResult.error("当前用户已到达兑换"+coupon+"次");
             }
         }
         exchangeDto.setPoint(point);
+        exchangeDto.setUserId(userId);
         //生成积分兑换成功的订单
         R<Long> longR = orderClient.exchangeCreate(exchangeDto);
         if (exchangeDto.getGoodType()==2) {
@@ -177,7 +227,7 @@
         pointChangeDto.setPoints(point);
         pointChangeDto.setRemark(longR.getData().toString());
         pointChangeDto.setType(6);
-        appUserClient.change(pointChangeDto);
+        appUserClient.changeDown(pointChangeDto);
         return AjaxResult.success();
 
 

--
Gitblit v1.7.1