zoujiajian преди 3 години
родител
ревизия
f5ea2724d2

+ 8 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/DistributePointsExchangeMoney.java

@@ -14,6 +14,14 @@ import java.math.BigDecimal;
 @Getter
 @Setter
 public class DistributePointsExchangeMoney extends BaseEntity{
+	/**
+	 * 积分门槛
+	 */
+	private Integer minPoints;
+
+	/**
+	 * 多少积分兑换金额
+	 */
 	private Integer points;
 
 	private BigDecimal money;

+ 8 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/distribute/DistributeController.java

@@ -183,4 +183,12 @@ public class DistributeController {
 		distributeMoneyApplyMapper.updateById(distributeMoneyApply);
 		return GatewayResponse.SUCCESS.newBuilder().toResult("审核操作成功");
 	}
+
+	/**
+	 * 获取积分兑换门槛
+	 */
+	@GetMapping("/applyMoney/threshold")
+	public Result<DistributePointsExchangeMoney> getThreshold() {
+		return GatewayResponse.SUCCESS.newBuilder().toResult(distributePointsExchangeMoneyMapper.selectOne(Wrappers.lambdaQuery(DistributePointsExchangeMoney.class).last("limit 1")));
+	}
 }

+ 10 - 2
netflix-web/src/main/java/com/cyksj/web/controller/user/DistributePopularizeController.java

@@ -1,5 +1,7 @@
 package com.cyksj.web.controller.user;
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.extra.qrcode.QrCodeUtil;
@@ -125,9 +127,15 @@ public class DistributePopularizeController {
 			throw BusinessRuntimeException.getInstance("请输入正确手机号");
 		}
 		DistributePointsExchangeMoney distributePointsExchangeMoney = distributePointsExchangeMoneyMapper.selectOne(Wrappers.lambdaQuery(DistributePointsExchangeMoney.class).orderByDesc(DistributePointsExchangeMoney::getPoints).last("limit 1"));
+		BigDecimal minPoints = BigDecimal.valueOf(distributePointsExchangeMoney.getMinPoints());
 		BigDecimal min = BigDecimal.valueOf(distributePointsExchangeMoney.getPoints());
-		if (user.getPoints().compareTo(min) < 0) {
-			throw BusinessRuntimeException.getInstance("您当前积分不够,无法提现");
+		if (user.getPoints().compareTo(minPoints) < 0) {
+			throw BusinessRuntimeException.getInstance("您当前积分未达到积分门槛,无法提现");
+		}
+		//今日是否已提现
+		DistributeMoneyApply apply = distributeMoneyApplyMapper.selectOne(Wrappers.lambdaQuery(DistributeMoneyApply.class).eq(DistributeMoneyApply::getUserId, userId).between(DistributeMoneyApply::getCreatedTime, DateUtil.beginOfDay(DateTime.now()), DateUtil.endOfDay(DateTime.now())).last("limit 1"));
+		if (apply != null) {
+			throw BusinessRuntimeException.getInstance("今日已提现,请明日再进行操作");
 		}
 		BigDecimal num = user.getPoints().divide(min, RoundingMode.DOWN);
 		int points = min.multiply(num).intValue();