|
@@ -12,6 +12,7 @@ import org.springblade.common.utils.BeanPropertyUtil;
|
|
|
import org.springblade.common.utils.IPUtils;
|
|
import org.springblade.common.utils.IPUtils;
|
|
|
import org.springblade.core.log.logger.BladeLogger;
|
|
import org.springblade.core.log.logger.BladeLogger;
|
|
|
import org.springblade.core.tool.utils.DateUtil;
|
|
import org.springblade.core.tool.utils.DateUtil;
|
|
|
|
|
+import org.springblade.core.tool.utils.StringUtil;
|
|
|
import org.springblade.gateway.goods_gateway.exception.HelpGoodsException;
|
|
import org.springblade.gateway.goods_gateway.exception.HelpGoodsException;
|
|
|
import org.springblade.gateway.point_gateway.enums.PointTypeEnum;
|
|
import org.springblade.gateway.point_gateway.enums.PointTypeEnum;
|
|
|
import org.springblade.gateway.point_gateway.exception.PointExchangeException;
|
|
import org.springblade.gateway.point_gateway.exception.PointExchangeException;
|
|
@@ -260,7 +261,6 @@ public class PointExchangeServiceImpl implements PointExchangeService {
|
|
|
goodsOrder.setCash(yeepayOrder.getAmount());
|
|
goodsOrder.setCash(yeepayOrder.getAmount());
|
|
|
}
|
|
}
|
|
|
goodsOrder.setUsePoint(yeepayOrder.getUsePoint());
|
|
goodsOrder.setUsePoint(yeepayOrder.getUsePoint());
|
|
|
-
|
|
|
|
|
Assert.isTrue(goodsOrderService.save(goodsOrder), "兑换失败");
|
|
Assert.isTrue(goodsOrderService.save(goodsOrder), "兑换失败");
|
|
|
|
|
|
|
|
//更新商品库存
|
|
//更新商品库存
|
|
@@ -431,8 +431,8 @@ public class PointExchangeServiceImpl implements PointExchangeService {
|
|
|
Assert.notNull(address, "请添加收货地址");
|
|
Assert.notNull(address, "请添加收货地址");
|
|
|
Assert.notNull(yeepayOrder.getActiveId(), "兑换失败");
|
|
Assert.notNull(yeepayOrder.getActiveId(), "兑换失败");
|
|
|
|
|
|
|
|
- Boolean isLimit = Optional.ofNullable(goods.getIsLimit()).orElse(false);
|
|
|
|
|
- if (isLimit) {
|
|
|
|
|
|
|
+ int isLimit = Optional.ofNullable(goods.getIsLimit()).orElse(0);
|
|
|
|
|
+ if (isLimit == 1) {
|
|
|
int size = goodsOrderService.list(new LambdaQueryWrapper<GoodsOrder>()
|
|
int size = goodsOrderService.list(new LambdaQueryWrapper<GoodsOrder>()
|
|
|
.eq(GoodsOrder::getPhone, yeepayOrder.getPhone()).eq(GoodsOrder::getPointGoodsId, yeepayOrder.getPointGoodsId())).size();
|
|
.eq(GoodsOrder::getPhone, yeepayOrder.getPhone()).eq(GoodsOrder::getPointGoodsId, yeepayOrder.getPointGoodsId())).size();
|
|
|
System.out.println(size);
|
|
System.out.println(size);
|
|
@@ -491,6 +491,15 @@ public class PointExchangeServiceImpl implements PointExchangeService {
|
|
|
//需要的现金
|
|
//需要的现金
|
|
|
BigDecimal usePoint = exchangePoint.subtract(yeepayOrder.getUsePoint());
|
|
BigDecimal usePoint = exchangePoint.subtract(yeepayOrder.getUsePoint());
|
|
|
amount = usePoint.divide(BigDecimal.valueOf(100));
|
|
amount = usePoint.divide(BigDecimal.valueOf(100));
|
|
|
|
|
+
|
|
|
|
|
+ PointRecord pointRecord = new PointRecord();
|
|
|
|
|
+ pointRecord.setPoint(yeepayOrder.getUsePoint());
|
|
|
|
|
+ pointRecord.setUserId(user.getUserId());
|
|
|
|
|
+ pointRecord.setPointGoodsId(yeepayOrder.getPointGoodsId());
|
|
|
|
|
+ pointRecord.setPointType(PointTypeEnum.PUFA_POINT_EXCHANGE);
|
|
|
|
|
+ pointRecord.setPhone(yeepayOrder.getPhone());
|
|
|
|
|
+ pointRecord.setActiveId(yeepayOrder.getActiveId());
|
|
|
|
|
+ Assert.isTrue(pointRecordService.save(pointRecord), "兑换失败");
|
|
|
}else {
|
|
}else {
|
|
|
amount = exchangePoint.divide(BigDecimal.valueOf(100));
|
|
amount = exchangePoint.divide(BigDecimal.valueOf(100));
|
|
|
}
|
|
}
|
|
@@ -508,6 +517,11 @@ public class PointExchangeServiceImpl implements PointExchangeService {
|
|
|
yeepayOrder.setCallbackUrl(callbackUrl);
|
|
yeepayOrder.setCallbackUrl(callbackUrl);
|
|
|
yeepayOrder.setCreateTime(new Date());
|
|
yeepayOrder.setCreateTime(new Date());
|
|
|
yeepayOrder.setUserId(user.getUserId());
|
|
yeepayOrder.setUserId(user.getUserId());
|
|
|
|
|
+ if (StringUtil.isEmpty(yeepayOrder.getUsePoint())){
|
|
|
|
|
+ yeepayOrder.setUsePoint(BigDecimal.ZERO);
|
|
|
|
|
+ }else {
|
|
|
|
|
+ yeepayOrder.setUsePoint(yeepayOrder.getUsePoint());
|
|
|
|
|
+ }
|
|
|
yeepayOrder.setUsePoint(BigDecimal.ZERO);
|
|
yeepayOrder.setUsePoint(BigDecimal.ZERO);
|
|
|
yeepayOrder.setPointGoodsName(goods.getName());
|
|
yeepayOrder.setPointGoodsName(goods.getName());
|
|
|
yeepayOrder.setIp(IPUtils.getRealIp(request));
|
|
yeepayOrder.setIp(IPUtils.getRealIp(request));
|