From 2e1753b61ab00e1df622ef9a706e0a8b8c85a15b Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 24 九月 2024 14:18:05 +0800
Subject: [PATCH] 修改bug
---
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java | 27 ++++++++++++++++++++++++---
1 files changed, 24 insertions(+), 3 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 027dfc6..97901b7 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
@@ -184,12 +184,14 @@
return R.ok();
}
- @ApiOperation(tags = {"小程序-兑换商城"},value = "积分兑换商品")
+ @ApiOperation(tags = {"小程序-" +
+ "兑换商城"},value = "积分兑换商品")
@PostMapping(value = "/app/shop")
public AjaxResult<PageInfo<TGoods>> shop(@RequestBody ExchangeDto exchangeDto) {
//检查当前用户积分是否够
Long userId = tokenService.getLoginUserApplet().getUserId();
Integer point = 0;
+ TAppUser user = appUserClient.getUserById(userId).getData();
if (exchangeDto.getGoodType()==1) {
//查询当前商品信息
@@ -200,7 +202,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("当前用户积分不足");
}
@@ -212,18 +213,32 @@
if (coupon.getInventoryQuantity() != -1 && count >= coupon.getInventoryQuantity()) {
return AjaxResult.error("当前用户已到达兑换"+coupon+"次");
}
+ if (user.getPoints()<point){
+ return AjaxResult.error("当前用户积分不足");
+ }
}
exchangeDto.setPoint(point);
exchangeDto.setUserId(userId);
//生成积分兑换成功的订单
R<Long> longR = orderClient.exchangeCreate(exchangeDto);
if (exchangeDto.getGoodType()==2) {
+ TCoupon coupon = couponService.getById(exchangeDto.getGoodId());
+
//如果是优惠卷,赠送优惠卷给用户
GrantCouponDto grantCouponDto = new GrantCouponDto();
grantCouponDto.setUserIds(userId.toString());
grantCouponDto.setCouponId(exchangeDto.getGoodId());
grantCouponDto.setWaysToObtain(1);
grantCouponDto.setEndTime(LocalDateTime.now());
+ grantCouponDto.setType(3);
+ switch (coupon.getValidityPeriodMode()){
+ case 1:
+ grantCouponDto.setEndTime(coupon.getEndTime());
+ break;
+ case 2:
+ grantCouponDto.setEndTime(LocalDateTime.now().plusDays(coupon.getDays()));
+ break;
+ }
appCouponClient.grantCoupon(grantCouponDto);
}
//生成消耗积分的记录
@@ -255,6 +270,7 @@
if (exchangeDto.getGoodType()==1){
TGoods good = goodsService.getById(exchangeDto.getGoodId());
BigDecimal originalPrice = good.getPreferentialPrice();
+ exchangeDto.setTitle("【商品购买】"+good.getName());
if (isVip){
if (good.getVipPrice()!=null){
vipDiscount = originalPrice.subtract(good.getVipPrice()).multiply(BigDecimal.valueOf(exchangeDto.getNum()));
@@ -263,7 +279,9 @@
}
orderPrice = orderPrice.add(originalPrice.multiply(BigDecimal.valueOf(exchangeDto.getNum())));
}else {
+
TCoupon coupon = couponService.getById(exchangeDto.getGoodId());
+ exchangeDto.setTitle("【优惠卷购买】"+coupon.getName());
BigDecimal originalPrice = coupon.getPaymentAmount();
if (isVip){
if (coupon.getVipPaymentAmount()!=null) {
@@ -287,11 +305,14 @@
}
payPrice = orderPrice.subtract(coupon.getDiscountAmount());
discountPrice = coupon.getDiscountAmount();
+ }else {
+ payPrice = orderPrice;
}
- exchangeDto.setPayPrice(orderPrice);
+ exchangeDto.setPayPrice(payPrice);
exchangeDto.setDiscountPrice(discountPrice);
exchangeDto.setVipDiscount(vipDiscount);
exchangeDto.setUserId(userId);
+ exchangeDto.setPhone(user.getPhone());
//创建订单
TShoppingOrder shopOrder = orderClient.shopCreate(exchangeDto).getData();
if (exchangeDto.getPayMethod()==1) {
--
Gitblit v1.7.1