zoujiajian 3 tahun lalu
induk
melakukan
335ffbea83

+ 1 - 1
netflix-dao/src/main/java/com/cyksj/model/views/DistributeMoneyApplyView.java

@@ -35,7 +35,7 @@ public class DistributeMoneyApplyView {
 	private String reason;
 
 	@DbField("dma.points")
-	private Integer points;
+	private BigDecimal points;
 
 	@DbField("dma.real_name")
 	private String realName;

+ 3 - 2
netflix-web/src/main/java/com/cyksj/web/controller/manage/distribute/DistributeController.java

@@ -32,6 +32,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletRequest;
 import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.List;
 import java.util.Optional;
 
@@ -109,8 +110,8 @@ public class DistributeController {
 		SearchResult<UserDistributeViews> search = beanSearcher.search(UserDistributeViews.class, MapUtils.flatBuilder(request.getParameterMap()).build());
 		DistributePointsExchangeMoney pointsMoneyRate = distributePointsExchangeMoneyMapper.selectOne(null);
 		Optional.ofNullable(search.getDataList()).ifPresent(list -> list.forEach(view -> {
-			Integer num = view.getPoints() / pointsMoneyRate.getPoints();
-			view.setAvailableMoney(pointsMoneyRate.getMoney().multiply(new BigDecimal(num)));
+			BigDecimal num = view.getPoints().divide(BigDecimal.valueOf(pointsMoneyRate.getPoints()), RoundingMode.DOWN);
+			view.setAvailableMoney(pointsMoneyRate.getMoney().multiply(num));
 			List<DistributeMoneyApply> moneyApplies = distributeMoneyApplyMapper.selectList(Wrappers.lambdaQuery(DistributeMoneyApply.class).eq(DistributeMoneyApply::getVerifyStatus, DistributeMoneyApply.Status.success).eq(DistributeMoneyApply::getUserId, view.getUserId()).select(DistributeMoneyApply::getMoney));
 			Optional<BigDecimal> money = moneyApplies.stream().map(apply -> apply.getMoney()).reduce(BigDecimal::add);
 			view.setGotMoney(money.isPresent() ? money.get() : BigDecimal.ZERO);