彬彬 4 yıl önce
ebeveyn
işleme
536b21d645

+ 17 - 3
src/main/java/org/springblade/gateway/point_gateway/service/impl/PointExchangeServiceImpl.java

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

+ 1 - 1
src/main/java/org/springblade/sing/active/service/IActiveProductRecordService.java

@@ -44,7 +44,7 @@ public interface IActiveProductRecordService extends BaseService<ActiveProductRe
 	Long selectProductCountByActiveId(Long activeId);
 
 	/**
-	 * 更新个作品票数
+	 * 更新个作品票数
 	 * @param id
 	 * @return
 	 */

+ 1 - 1
src/main/java/org/springblade/sing/goods/entity/PointGoods.java

@@ -81,7 +81,7 @@ public class PointGoods extends BaseEntity {
 	 * 是否限购
 	 */
 	@ApiModelProperty(value = "是否限购")
-	private Boolean isLimit;
+	private int isLimit;
 	/**
 	 * 活动id
 	 */