From dc75a139edc58a71bbbd8b94ed94287b7f3727fe Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 06 十一月 2024 14:51:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java |   55 ++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 38 insertions(+), 17 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 4e010fd..a6d2e71 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
@@ -30,7 +30,10 @@
 import com.ruoyi.other.service.TActivityService;
 import com.ruoyi.other.service.TCouponService;
 import com.ruoyi.other.service.TGoodsService;
+import com.ruoyi.payment.api.feignClient.AliPaymentClient;
 import com.ruoyi.payment.api.feignClient.WxPaymentClient;
+import com.ruoyi.payment.api.vo.AliPaymentReq;
+import com.ruoyi.payment.api.vo.AliPaymentResp;
 import com.ruoyi.payment.api.vo.PaymentOrder;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -125,25 +128,28 @@
 
     @GetMapping("/getInfoByType")
     @ApiOperation(tags = {"小程序-兑换商城"},value = "商品查看详情")
-    public R getInfoByType(Integer goodType,Integer id) {
+    public R getInfoByType(Integer goodType,Integer id,Integer type) {
         if (goodType==1){
         TGoods byId = goodsService.getById(id);
         if (byId==null||byId.getStatus()==2){
-            return R.fail(2,"内容不存在");
+            return R.fail(2,"该商品已不存在");
         }
 //            List<Integer> data = orderClient.getSalesCountByGoodsId(String.valueOf(id)).getData();
 //            for (int i = 0; i < list.size(); i++) {
 //                list.get(i).setSalesCount(data.get(i));
 //            }
-
+            Integer data = orderClient.getSalesCountByGoodsIdgetCount(byId.getId(), 1, type).getData();
+            byId.setSalesCount(data);
         return R.ok(byId);
         }
         else {
             TCoupon byId = couponService.getById(id);
             if (byId==null||byId.getStatus()==2){
-                return R.fail(2,"内容不存在");
+                return R.fail(2,"该商品已不存在");
             }
-                return R.ok(byId);
+            Integer data = orderClient.getSalesCountByGoodsIdgetCount(byId.getId(),2, type).getData();
+            byId.setSalesCount(data);
+            return R.ok(byId);
             }
     }
 
@@ -215,8 +221,10 @@
                 return AjaxResult.error("当前用户已兑换"+count+"张");
             }else {
                 //减少库存
-                good.setInventory(good.getInventory()-exchangeDto.getNum());
-                goodsService.updateById(good);
+                if (good.getInventory()!=-1) {
+                    good.setInventory(good.getInventory() - exchangeDto.getNum());
+                    goodsService.updateById(good);
+                }
             }
         if (user.getPoints()<good.getRedeemPoints()){
             return AjaxResult.error("当前用户积分不足");
@@ -232,8 +240,10 @@
             if (coupon.getInventoryQuantity() != -1 && count >= coupon.getInventoryQuantity()) {
                 return AjaxResult.error("当前用户已到达兑换"+coupon+"次");
             }else {
-                coupon.setInventoryQuantity(coupon.getInventoryQuantity()-1);
-                couponService.updateById(coupon);
+                if (coupon.getInventoryQuantity()!=-1) {
+                    coupon.setInventoryQuantity(coupon.getInventoryQuantity() - 1);
+                    couponService.updateById(coupon);
+                }
             }
 
 
@@ -275,9 +285,12 @@
 
     }
 
+    @Resource
+    private AliPaymentClient aliPaymentClient;
+
     @ApiOperation(tags = {"小程序-现金商城"},value = "支付商品")
     @PostMapping(value = "/app/pay")
-    public R<Map<String, Object>> pay(@RequestBody ExchangeDto exchangeDto) {
+    public Object pay(@RequestBody ExchangeDto exchangeDto) {
         Long userId = tokenService.getLoginUserApplet().getUserId();
         TAppUser user = appUserClient.getUserById(userId).getData();
         boolean isVip = false;
@@ -347,19 +360,27 @@
             //调起支付
             PaymentOrder paymentOrder = new PaymentOrder();
             paymentOrder.setCode(shopOrder.getCode());
-            paymentOrder.setAmount(exchangeDto.getOrderPrice());
+            paymentOrder.setAmount(exchangeDto.getPayPrice());
             paymentOrder.setOpenId(user.getWxOpenid());
             paymentOrder.setDescription("购买商品");
             R<Map<String, Object>> mapR = wxPaymentClient.orderPay(paymentOrder);
+            mapR.getData().put("orderId",shopOrder.getId().toString());
             return    mapR;
         }else {
-            //todo 罗 支付宝支付
-            return R.ok();
+            AliPaymentReq req = new AliPaymentReq();
+            req.setOutTradeNo(shopOrder.getCode());
+            req.setTotalAmount(shopOrder.getPaymentAmount().toString());
+            req.setSubject("购买商品");
+            req.setBuyerOpenId(user.getAliOpenid());
+            req.setBody("购买商品");
+            AliPaymentResp data = aliPaymentClient.payment(req).getData();
+            if(null != data){
+                data.setNotifyUrl(data.getNotifyUrl() + "/payment/callBack/ali/all");
+                data.setOrderId(shopOrder.getId().toString());
+                return AjaxResult.success(data);
+            }
         }
-
-
-
-
+        return AjaxResult.success();
     }
 
     

--
Gitblit v1.7.1