瀏覽代碼

fix 分销返佣金额

zoujiajian 3 年之前
父節點
當前提交
c187befae8

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/views/DistributePopularizeOrdersView.java

@@ -47,6 +47,9 @@ public class DistributePopularizeOrdersView {
 	@DbField("dw.points")
 	private BigDecimal points;
 
+	@DbIgnore
+	private BigDecimal waitGetMoney;
+
 	@DbField("dw.send_status")
 	private String sendStatus;
 

+ 4 - 0
netflix-dao/src/main/java/com/cyksj/model/views/DistributePopularizeView.java

@@ -29,11 +29,15 @@ public class DistributePopularizeView {
 	 */
 	private BigDecimal gotPoints;
 
+	private BigDecimal gotMoney;
+
 	/**
 	 * 带入账积分
 	 */
 	private BigDecimal waitingSendPoints;
 
+	private BigDecimal waitingMoney;
+
 	/**
 	 * 分销单数
 	 */

+ 20 - 0
netflix-web/src/main/java/com/cyksj/web/controller/user/DistributePopularizeController.java

@@ -78,11 +78,16 @@ public class DistributePopularizeController {
 				MapUtils.flatBuilder(request.getParameterMap())
 						.field(DistributePopularizeOrdersView::getSharedId, userId)
 						.build());
+		DistributePointsExchangeMoney distributePointsExchangeMoney = distributePointsExchangeMoneyMapper.selectOne(Wrappers.lambdaQuery(DistributePointsExchangeMoney.class).orderByDesc(DistributePointsExchangeMoney::getPoints).last("limit 1"));
+		BigDecimal points = BigDecimal.valueOf(distributePointsExchangeMoney.getPoints());
+		BigDecimal money = distributePointsExchangeMoney.getMoney();
+		BigDecimal oneHundred = BigDecimal.valueOf(100);
 		search.getDataList().forEach(data -> {
 			GoodsDon goodsDon = goodsDonMapper.selectById(data.getGoodsId());
 			GoodsDonSku goodsDonSku = goodsDonSkuMapper.selectById(data.getSkuId());
 			data.setGoodsTitle(goodsDon.getTitle());
 			data.setSpecVal(goodsDonSku.getSpecVal());
+			data.setWaitGetMoney(data.getPoints().divide(points).multiply(money).divide(oneHundred));
 		});
 		return GatewayResponse.SUCCESS.newBuilder().toResult(search);
 	}
@@ -138,6 +143,21 @@ public class DistributePopularizeController {
 			}
 		}
 		distributePopularizeView.setWaitingSendPoints(waitingPoints);
+		if (user.getPoints().compareTo(BigDecimal.ZERO) <= 0 && waitingPoints.compareTo(BigDecimal.ZERO) <= 0) {
+			distributePopularizeView.setGotMoney(BigDecimal.ZERO);
+			distributePopularizeView.setWaitingMoney(BigDecimal.ZERO);
+		}else {
+			DistributePointsExchangeMoney distributePointsExchangeMoney = distributePointsExchangeMoneyMapper.selectOne(Wrappers.lambdaQuery(DistributePointsExchangeMoney.class).orderByDesc(DistributePointsExchangeMoney::getPoints).last("limit 1"));
+			BigDecimal points = BigDecimal.valueOf(distributePointsExchangeMoney.getPoints());
+			BigDecimal money = distributePointsExchangeMoney.getMoney();
+			BigDecimal oneHundred = BigDecimal.valueOf(100);
+			if (user.getPoints().compareTo(BigDecimal.ZERO) > 0) {
+				distributePopularizeView.setGotMoney(user.getPoints().divide(points).multiply(money).divide(oneHundred));
+			}
+			if (user.getPoints().compareTo(BigDecimal.ZERO) > 0) {
+				distributePopularizeView.setWaitingMoney(waitingPoints.divide(points).multiply(money).divide(oneHundred));
+			}
+		}
 		return GatewayResponse.SUCCESS.newBuilder().toResult(distributePopularizeView);
 	}