puzhibing
2024-09-12 a738f7d328e037abe189c14c94d7ef835bf8296c
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java
@@ -16,6 +16,8 @@
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.BasePage;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.order.api.feignClient.OrderClient;
import com.ruoyi.order.api.model.TShoppingOrder;
@@ -84,6 +86,7 @@
    @PostMapping("/saveGoods")
    @ApiOperation(tags = {"管理后台-商品管理"},value = "商品添加")
    @Log(title = "【商品管理】添加商品", businessType = BusinessType.INSERT)
    public AjaxResult saveActivity(@RequestBody TGoods dto) {
        goodsService.save(dto);
        return AjaxResult.success();
@@ -93,6 +96,7 @@
    @GetMapping("/delete")
    @ApiOperation(tags = {"管理后台-商品管理"},value = "商品删除")
    @Log(title = "【商品管理】删除商品", businessType = BusinessType.DELETE)
    public AjaxResult delete(String ids) {
        goodsService.removeBatchByIds(Arrays.asList(ids.split(",")));
        return AjaxResult.success();
@@ -102,6 +106,7 @@
    @PostMapping("/updateVip")
    @ApiOperation(tags = {"管理后台-商品管理"},value = "商品修改")
    @Log(title = "【商品管理】修改商品", businessType = BusinessType.UPDATE)
    public AjaxResult updateActivity(@RequestBody TGoods dto) {
        goodsService.updateById(dto);
        return AjaxResult.success();
@@ -185,6 +190,7 @@
        //检查当前用户积分是否够
        Long userId = tokenService.getLoginUserApplet().getUserId();
        Integer point = 0;
        TAppUser user = appUserClient.getUserById(userId).getData();
        if (exchangeDto.getGoodType()==1) {
            //查询当前商品信息
@@ -195,7 +201,6 @@
            if (good.getLimitExchangeTimes() != -1 && count >= good.getLimitExchangeTimes()) {
                return AjaxResult.error("当前用户已兑换"+count+"张");
            }
        TAppUser user = appUserClient.getUserById(userId).getData();
        if (user.getPoints()<good.getRedeemPoints()){
            return AjaxResult.error("当前用户积分不足");
             }
@@ -206,6 +211,9 @@
            Long count = orderClient.getExchangeById(exchangeDto.getGoodId(), userId,exchangeDto.getGoodType()).getData();
            if (coupon.getInventoryQuantity() != -1 && count >= coupon.getInventoryQuantity()) {
                return AjaxResult.error("当前用户已到达兑换"+coupon+"次");
            }
            if (user.getPoints()<point){
                return AjaxResult.error("当前用户积分不足");
            }
        }
        exchangeDto.setPoint(point);
@@ -219,6 +227,7 @@
            grantCouponDto.setCouponId(exchangeDto.getGoodId());
            grantCouponDto.setWaysToObtain(1);
            grantCouponDto.setEndTime(LocalDateTime.now());
            grantCouponDto.setType(3);
            appCouponClient.grantCoupon(grantCouponDto);
        }
        //生成消耗积分的记录
@@ -283,7 +292,7 @@
            payPrice = orderPrice.subtract(coupon.getDiscountAmount());
            discountPrice = coupon.getDiscountAmount();
        }
        exchangeDto.setPayPrice(payPrice);
        exchangeDto.setPayPrice(orderPrice);
        exchangeDto.setDiscountPrice(discountPrice);
        exchangeDto.setVipDiscount(vipDiscount);
        exchangeDto.setUserId(userId);
@@ -293,10 +302,11 @@
            //调起支付
            PaymentOrder paymentOrder = new PaymentOrder();
            paymentOrder.setCode(shopOrder.getCode());
            paymentOrder.setAmount(shopOrder.getPaymentAmount());
            paymentOrder.setAmount(exchangeDto.getOrderPrice());
            paymentOrder.setOpenId(user.getWxOpenid());
            paymentOrder.setDescription("购买商品");
         return    wxPaymentClient.orderPay(paymentOrder);
            R<Map<String, Object>> mapR = wxPaymentClient.orderPay(paymentOrder);
            return    mapR;
        }else {
            //todo 罗 支付宝支付
            return R.ok();