Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/master'

xiaoqiang 4 anni fa
parent
commit
38e80b0504

+ 5 - 4
src/main/java/org/springblade/sing/goods/wrapper/HelpGoodsWrapper.java

@@ -33,6 +33,7 @@ import org.springblade.sing.goods.vo.HelpGoodsVO;
 import org.springblade.sing.point.entity.PointRecord;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.Map;
 import java.util.Objects;
 
@@ -66,7 +67,7 @@ public class HelpGoodsWrapper extends BaseEntityWrapper<HelpGoods, HelpGoodsVO>
 			//判断该活动商品兑换剩余次数
 			long total = helpGoodsVO.getTotal() - appHelpGoodsService.userHelpGoodsExchangeCount(userId, helpGoodsVO.getId());
 			//判断该用户对该活动投票剩余次数
-			if (Long.valueOf(-1).equals(helpGoodsVO.getTotal()) && Long.valueOf(-1).equals(helpGoodsVO.getActiveVote())) {
+			if (Long.valueOf(-1L).equals(helpGoodsVO.getTotal()) && Long.valueOf(-1L).equals(helpGoodsVO.getActiveVote())) {
 				helpGoodsVO.setRemainCount(-1L);
 			} else if (0L < total || Long.valueOf(-1).equals(helpGoodsVO.getTotal())) {
 				Map<String, Object> map = activeHelpRecordService.getMap(Wrappers.<ActiveHelpRecord>query().select(new StringBuilder("ifnull(sum(")
@@ -85,16 +86,16 @@ public class HelpGoodsWrapper extends BaseEntityWrapper<HelpGoods, HelpGoodsVO>
 				long count = BigDecimal.valueOf(helpGoodsVO.getActiveVote())
 					.divide(helpGoodsVO.getVotePointRate())
 					.subtract(BigDecimal.valueOf(MapUtil.getLong(map, "count"))
-						.divide(helpGoodsVO.getVotePointRate())).longValue();
+						.divide(helpGoodsVO.getVotePointRate())).setScale(0, RoundingMode.FLOOR).longValue();
 				//判断道具兑换剩余次数和活动投票剩余次数
 				if (Long.valueOf(-1).equals(helpGoodsVO.getTotal())) {
 					helpGoodsVO.setRemainCount(count < 0L ? 0L : count);
 				} else {
 					//剩余活动次数 > 道具剩余次数 = 道具剩余次数 || 道具剩余次数 > 剩余活动投票次数 = 剩余活动投票次数
 					if (count > total) {
-						helpGoodsVO.setRemainCount(total < 0 ? 0L : total);
+						helpGoodsVO.setRemainCount(total < 0L ? 0L : total);
 					} else {
-						helpGoodsVO.setRemainCount(count < 0 ? 0L : count);
+						helpGoodsVO.setRemainCount(count < 0L ? 0L : count);
 					}
 				}
 			} else {