From d15279d5af0bfb386f225c42e6b9bd9c90e99d82 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期四, 22 八月 2024 09:42:21 +0800
Subject: [PATCH] 8.22
---
/dev/null | 18 ----
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/OrderCodeUtil.java | 26 ++++++
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java | 46 ++++++-----
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TGoods.java | 3
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/PointDetailUtil.java | 3
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java | 12 ++
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java | 43 ++++++++++
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java | 7 -
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java | 8 -
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/ExchangeDto.java | 7 +
ruoyi-api/ruoyi-api-chargingPile/src/main/resources/template/充电桩申请记录.xlsx | 0
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java | 63 +++++++++++----
12 files changed, 161 insertions(+), 75 deletions(-)
diff --git "a/ruoyi-api/ruoyi-api-chargingPile/src/main/resources/template/\345\205\205\347\224\265\346\241\251\347\224\263\350\257\267\350\256\260\345\275\225.xlsx" "b/ruoyi-api/ruoyi-api-chargingPile/src/main/resources/template/\345\205\205\347\224\265\346\241\251\347\224\263\350\257\267\350\256\260\345\275\225.xlsx"
new file mode 100644
index 0000000..70d48b0
--- /dev/null
+++ "b/ruoyi-api/ruoyi-api-chargingPile/src/main/resources/template/\345\205\205\347\224\265\346\241\251\347\224\263\350\257\267\350\256\260\345\275\225.xlsx"
Binary files differ
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
index 04ea275..8f689c3 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
@@ -1,13 +1,10 @@
package com.ruoyi.order.api.factory;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.order.api.feignClient.ChargingOrderClient;
+import com.ruoyi.common.core.dto.ExchangeDto;
import com.ruoyi.order.api.feignClient.OrderClient;
-import com.ruoyi.order.api.model.TChargingOrder;
-import com.ruoyi.order.api.model.TExchangeOrder;
import com.ruoyi.order.api.query.TActivityStatisticsQuery;
import com.ruoyi.order.api.vo.TActivityVO;
-import com.ruoyi.order.api.vo.ExchangeDto;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -43,7 +40,7 @@
}
@Override
- public R<Long> getExchangeById(Integer goodsIds, Long userId) {
+ public R<Long> getExchangeById(Integer goodsIds, Long userId,Integer goodType) {
return R.fail("根据订单数" + cause.getMessage());
}
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
index ff507cd..0d8fb3e 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
@@ -2,14 +2,11 @@
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.order.api.factory.ChargingOrderFallbackFactory;
+import com.ruoyi.common.core.dto.ExchangeDto;
import com.ruoyi.order.api.factory.OrderFallbackFactory;
-import com.ruoyi.order.api.model.TExchangeOrder;
-import com.ruoyi.order.api.vo.ExchangeDto;
import com.ruoyi.order.api.query.TActivityStatisticsQuery;
import com.ruoyi.order.api.vo.TActivityVO;
import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
@@ -35,7 +32,8 @@
public R<List<String>> getCodeByOrderId(String goodsIds);
//查询已兑换的订单数
@PostMapping("/t-exchange-order/getById")
- public R<Long> getExchangeById(@RequestParam("goodId") Integer goodId,@RequestParam("userId") Long userId);
+ public R<Long> getExchangeById(@RequestParam("goodId") Integer goodId,@RequestParam("userId") Long userId,@RequestParam("goodType") Integer goodType);
+
@PostMapping("/t-exchange-order/create")
public R<Long> exchangeCreate(@RequestBody ExchangeDto exchangeDto);
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ExchangeDto.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ExchangeDto.java
deleted file mode 100644
index e0bdeb2..0000000
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ExchangeDto.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.ruoyi.order.api.vo;
-
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-public class ExchangeDto {
- @ApiModelProperty("商品id")
- Integer goodId;
- @ApiModelProperty("地址id")
- Integer addressId;
- @ApiModelProperty("备注")
- String remark;
- @ApiModelProperty(hidden = true)
- Long userId;
-
-
-}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TGoods.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TGoods.java
index 2e32a95..43fa2a1 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TGoods.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TGoods.java
@@ -103,5 +103,8 @@
@ApiModelProperty(value = "销量")
@TableField(exist = false)
private Integer salesCount;
+ @ApiModelProperty(value = "1商品2优惠卷")
+ @TableField(exist = false)
+ private Integer goodType;
}
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/ExchangeDto.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/ExchangeDto.java
index 9c3969d..d0d3c50 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/ExchangeDto.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/ExchangeDto.java
@@ -1,4 +1,4 @@
-package com.ruoyi.other.api.dto;
+package com.ruoyi.common.core.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -14,5 +14,10 @@
@ApiModelProperty(hidden = true)
Long userId;
+ @ApiModelProperty("1商品2优惠卷")
+ Integer goodType;
+ @ApiModelProperty(hidden = true)
+ Integer point;
+
}
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/OrderCodeUtil.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/OrderCodeUtil.java
new file mode 100644
index 0000000..145a2a6
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/OrderCodeUtil.java
@@ -0,0 +1,26 @@
+package com.ruoyi.common.core.utils;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Random;
+
+public class OrderCodeUtil {
+
+ public static String getOrderCode(String code){
+ LocalDateTime now = LocalDateTime.now();
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
+ String formattedDate = now.format(formatter);
+
+ // 四位随机数
+ Random random = new Random();
+ int randomNumber = random.nextInt(9999); // 生成0-9998之间的随机数
+ String formattedRandomNumber = String.format("%04d", randomNumber); // 补齐到4位
+
+ // 拼接日期和随机数
+ return code+formattedDate + formattedRandomNumber;
+ }
+ public static void main(String[] args) {
+ // 测试方法
+ System.out.println(getOrderCode("DH"));
+ }
+}
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
index 794abd9..7e65be4 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
@@ -1,6 +1,7 @@
package com.ruoyi.account.controller;
+import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.account.api.dto.CouponListDto;
import com.ruoyi.account.api.dto.GrantCouponDto;
@@ -31,6 +32,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
@@ -49,6 +51,8 @@
public class TAppCouponController {
@Autowired
private TAppCouponService tAppCouponService;
+ @Resource
+ private OtherClient otherClient;
@Autowired
private TAppUserCarService appUserCarService;
@@ -58,11 +62,11 @@
private ChargingPileClient chargingPileClient;
@Autowired
private ChargingOrderClient chargingOrderClient;
-
+
@Resource
private ChargingGunClient chargingGunClient;
-
-
+
+
/**
* 小程序扫一扫 添加车辆
* @param dto
@@ -193,6 +197,8 @@
tAppCoupon.setEndTime(dto.getEndTime());
tAppCoupon.setWaysToObtain(dto.getWaysToObtain());
tAppCoupon.setStatus(1);
+ R<TCoupon> couponById = otherClient.getCouponById(Integer.valueOf(s));
+ tAppCoupon.setCouponJson(JSON.toJSONString(couponById.getData()));
res.add(tAppCoupon);
}
tAppCouponService.saveBatch(res);
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/PointDetailUtil.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/PointDetailUtil.java
index 3070952..bb183a1 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/PointDetailUtil.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/PointDetailUtil.java
@@ -3,6 +3,7 @@
import com.ruoyi.account.api.model.TAppUserIntegralChange;
import com.ruoyi.account.service.TAppUserIntegralChangeService;
+import com.ruoyi.common.core.utils.OrderCodeUtil;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -14,7 +15,7 @@
public void addDetail(Integer old,Integer now,Integer type,Long userId,String extension,String code){
TAppUserIntegralChange tAppUserIntegralChange= new TAppUserIntegralChange();
- tAppUserIntegralChange.setCode(code);
+ tAppUserIntegralChange.setCode(OrderCodeUtil.getOrderCode("DH"));
tAppUserIntegralChange.setAppUserId(userId);
tAppUserIntegralChange.setChangeType(type);
tAppUserIntegralChange.setHistoricalIntegral(old);
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java
index f9e97dc..f60dca5 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java
@@ -1,11 +1,16 @@
package com.ruoyi.chargingPile.controller;
+import com.alibaba.excel.EasyExcelFactory;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.builder.ExcelWriterBuilder;
+import com.alibaba.excel.write.metadata.WriteSheet;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.chargingPile.api.dto.ApplyChargingQuery;
import com.ruoyi.chargingPile.api.dto.ApplyChargingRemarkDto;
import com.ruoyi.chargingPile.api.model.TApplyChargingPile;
import com.ruoyi.chargingPile.service.TApplyChargingPileService;
+import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.log.annotation.Log;
@@ -13,8 +18,16 @@
import com.ruoyi.common.log.enums.OperatorType;
import com.ruoyi.common.security.service.TokenService;
import io.swagger.annotations.ApiOperation;
+import org.apache.commons.codec.CharEncoding;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.List;
/**
* <p>
@@ -70,8 +83,34 @@
@ApiOperation(tags = {"后台-申请表单-申请建桩"},value = "导出")
@PutMapping(value = "/export")
- public R export() {
- return R.ok();
+ public R export(HttpServletResponse response) {
+ try {
+ response.setCharacterEncoding(Constants.UTF8);
+ response.setContentType("application/vnd.ms-excel");
+ response.setHeader("Access-Control-Expose-Headers", "Content-disposition");
+ response.setHeader("Content-Disposition", "attachment;filename=" +
+ URLEncoder.encode("申请建桩数据", CharEncoding.UTF_8) + ".xlsx");
+ } catch (UnsupportedEncodingException e) {
+ return R.fail("excel导出失败!");
+ }
+ try {
+ List<TApplyChargingPile> list = applyChargingPileService.lambdaQuery().list();
+
+ // excel模板封装
+ ExcelWriterBuilder excelWriterBuilder = EasyExcelFactory.write(response.getOutputStream());
+ InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream("template/" +"充电桩申请记录" + ".xlsx");
+ // 自动释放资源
+ try (ExcelWriter excelWriter = excelWriterBuilder.withTemplate(stream).build()) {
+ WriteSheet writeSheet = EasyExcelFactory.writerSheet().build();
+ excelWriter.fill(list, writeSheet);
+ excelWriter.finish();
+ } catch (Exception e) {
+ return R.fail("excel导出失败!");
+ }
+ } catch (IOException e) {
+ return R.fail("excel导出失败!");
+ }
+ return R.ok();
}
@ApiOperation(tags = {"后台-申请表单-申请建桩"},value = "详情")
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
index 690d828..de60d7f 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
@@ -16,11 +16,10 @@
import com.ruoyi.order.dto.ExchangeOrderGoodsInfo;
import com.ruoyi.order.dto.GetMyExchangeOrder;
import com.ruoyi.order.dto.MyExchangeOrderList;
-import com.ruoyi.order.service.TChargingOrderService;
import com.ruoyi.order.service.TExchangeOrderService;
import com.ruoyi.order.service.TShoppingOrderService;
-import com.ruoyi.order.service.TVipOrderService;
-import com.ruoyi.other.api.dto.ExchangeDto;
+import com.ruoyi.common.core.dto.ExchangeDto;
+import com.ruoyi.common.core.utils.OrderCodeUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.util.StringUtils;
@@ -153,34 +152,37 @@
@PostMapping("/getById")
- public R<Long> getById(@RequestParam("goodId") Integer goodId,@RequestParam("userId") Long userId){
- return R.ok(exchangeOrderService.lambdaQuery().eq(TExchangeOrder::getGoodsId,goodId).eq(TExchangeOrder::getAppUserId,userId).ne(TExchangeOrder::getStatus,4).count());
+ public R<Long> getById(@RequestParam("goodId") Integer goodId,@RequestParam("userId") Long userId,@RequestParam("goodType") Integer goodType){
+ if (goodType==1){
+ return R.ok(exchangeOrderService.lambdaQuery().eq(TExchangeOrder::getGoodsId,goodId).eq(TExchangeOrder::getAppUserId,userId).ne(TExchangeOrder::getStatus,4).count());
+ }else {
+ return R.ok(exchangeOrderService.lambdaQuery().eq(TExchangeOrder::getCouponId,goodId).eq(TExchangeOrder::getAppUserId,userId).ne(TExchangeOrder::getStatus,4).count());
+ }
}
@PostMapping("/create")
public R<Long> exchangeCreate(@RequestBody ExchangeDto exchangeDto){
TExchangeOrder tExchangeOrder = new TExchangeOrder();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
- String code = "DH" + Math.random() * 1000 + sdf.format(new Date());
- tExchangeOrder.setCode(code);
+ tExchangeOrder.setCode(OrderCodeUtil.getOrderCode("DH"));
tExchangeOrder.setAppUserId(exchangeDto.getUserId());
- tExchangeOrder.setOrderType(0);
- tExchangeOrder.setGoodsId(0);
- tExchangeOrder.setCouponId(0);
- tExchangeOrder.setPurchaseQuantity(0);
- tExchangeOrder.setAppUserAddressId(0L);
- tExchangeOrder.setPoints(0);
+ tExchangeOrder.setOrderType(exchangeDto.getGoodType());
+ if (exchangeDto.getGoodType()==1) {
+ tExchangeOrder.setGoodsId(exchangeDto.getGoodId());
+ }else {
+ tExchangeOrder.setCouponId(exchangeDto.getGoodId());
+ }
+ tExchangeOrder.setPurchaseQuantity(1);
+ tExchangeOrder.setAppUserAddressId(Long.valueOf(exchangeDto.getAddressId()));
+ tExchangeOrder.setPoints(exchangeDto.getPoint());
tExchangeOrder.setRemark("");
- tExchangeOrder.setStatus(0);
- tExchangeOrder.setExpressCompany("");
- tExchangeOrder.setExpressNumber("");
- tExchangeOrder.setConsignerId(0);
- tExchangeOrder.setConsignerTime(LocalDateTime.now());
- tExchangeOrder.setReceivingTime(LocalDateTime.now());
- tExchangeOrder.setCancellationTime(LocalDateTime.now());
- tExchangeOrder.setCancellationId(0);
+ if (exchangeDto.getGoodType()==1){
+ tExchangeOrder.setStatus(0);
+ }else {
+ tExchangeOrder.setStatus(3);
+ }
tExchangeOrder.setCreateTime(LocalDateTime.now());
tExchangeOrder.setDelFlag(false);
+ exchangeOrderService.save(tExchangeOrder);
return R.ok();
}
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 a834bb4..dd71e57 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
@@ -1,6 +1,9 @@
package com.ruoyi.other.controller;
+import java.time.LocalDateTime;
+import com.ruoyi.account.api.dto.GrantCouponDto;
+import com.ruoyi.account.api.feignClient.AppCouponClient;
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.account.api.model.TAppUser;
import com.ruoyi.common.core.domain.R;
@@ -9,13 +12,14 @@
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.order.api.feignClient.OrderClient;
-import com.ruoyi.other.api.domain.TActivity;
+import com.ruoyi.other.api.domain.TCoupon;
import com.ruoyi.other.api.domain.TGoods;
+import com.ruoyi.common.core.dto.ExchangeDto;
import com.ruoyi.other.api.dto.AdvertisingDTO;
import com.ruoyi.order.api.vo.ExchangeDto;
import com.ruoyi.other.api.dto.GoodsDTO;
import com.ruoyi.other.service.TActivityService;
-import com.ruoyi.other.service.TAdvertisingService;
+import com.ruoyi.other.service.TCouponService;
import com.ruoyi.other.service.TGoodsService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -45,6 +49,10 @@
private AppUserClient appUserClient;
@Resource
private OrderClient orderClient;
+ @Resource
+ private AppCouponClient appCouponClient;
+ @Resource
+ private TCouponService couponService;
@@ -100,29 +108,48 @@
@ApiOperation(tags = {"小程序-兑换商城"},value = "兑换商品")
@PostMapping(value = "/app/shop")
public AjaxResult<PageInfo<TGoods>> shop(@RequestBody ExchangeDto exchangeDto) {
- //查询当前商品信息
- TGoods good = goodsService.getById(exchangeDto.getGoodId());
-
//检查当前用户积分是否够
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 AjaxResult.error("当前用户已到达兑换上限");
+ }
TAppUser user = appUserClient.getUserById(userId).getData();
if (user.getPoints()<good.getRedeemPoints()){
return AjaxResult.error("当前用户积分不足");
+ }
+ }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 AjaxResult.error("当前用户已到达兑换上限");
+ }
}
- //检查当前用户是否到达兑换上限
- Long count = orderClient.getExchangeById(exchangeDto.getGoodId(), userId).getData();
- if (good.getLimitExchangeTimes()!=-1&&count>=good.getLimitExchangeTimes()){
- return AjaxResult.error("当前用户已到达兑换上限");
- }
+ exchangeDto.setPoint(point);
//生成积分兑换成功的订单
-// orderClient.exchangeCreate(exchangeDto);
-
- //如果是优惠卷,赠送优惠卷给用户
-
-
-
-
+ orderClient.exchangeCreate(exchangeDto);
+ if (exchangeDto.getGoodType()==2) {
+ //如果是优惠卷,赠送优惠卷给用户
+ GrantCouponDto grantCouponDto = new GrantCouponDto();
+ grantCouponDto.setUserIds(userId.toString());
+ grantCouponDto.setCouponId(exchangeDto.getGoodId());
+ grantCouponDto.setWaysToObtain(1);
+ grantCouponDto.setEndTime(LocalDateTime.now());
+ appCouponClient.grantCoupon(grantCouponDto);
+ }
//生成消耗积分的记录
+
+
+
return AjaxResult.success();
@@ -132,7 +159,7 @@
/**
* 根据id获取商品信息
* @param id
- * @return1
+ * @return
*/
@PostMapping("/getGoodsById/{id}")
public R<TGoods> getGoodsById(@PathVariable Integer id){
--
Gitblit v1.7.1