From 73be7ff2317fea8194b7a6dc0452b64a511c7836 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 06 十一月 2024 18:42:38 +0800
Subject: [PATCH] 合并代码

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java |   57 ++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 42 insertions(+), 15 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 9cb9185..fdb537f 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,20 +128,29 @@
 
     @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.ok(byId);}
+//            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,"该商品已不存在");
             }
+            Integer data = orderClient.getSalesCountByGoodsIdgetCount(byId.getId(),2, type).getData();
+            byId.setSalesCount(data);
             return R.ok(byId);
-    }
+            }
     }
 
 
@@ -209,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("当前用户积分不足");
@@ -226,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);
+                }
             }
 
 
@@ -269,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;
@@ -341,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("购买商品");
+            req.setNotifyUrl("/payment/ali/callBack");
+            AliPaymentResp data = aliPaymentClient.payment(req).getData();
+            if(null != data){
+                data.setOrderId(shopOrder.getId().toString());
+                return AjaxResult.success(data);
+            }
         }
-
-
-
-
+        return AjaxResult.success();
     }
 
     

--
Gitblit v1.7.1