|
|
@@ -80,73 +80,73 @@ public class AppActiveProductServiceImpl implements AppActiveProductService {
|
|
|
throw new AppActiveProductException("活动已结束哦~");
|
|
|
}
|
|
|
|
|
|
- //判断票数是否小于当前票数
|
|
|
- Long voteCount = loginUser.getVoteCount();
|
|
|
- Assert.notNull(voteCount,"用户没有票数");
|
|
|
- Assert.notNull(activeHelpRecord.getVoteCount(),"投票数为空");
|
|
|
- if(activeHelpRecord.getVoteCount()<1 || loginUser.getVoteCount()<activeHelpRecord.getVoteCount()){
|
|
|
- throw new AppActiveProductException("用户所拥有的票数少于所投的票数");
|
|
|
- }
|
|
|
- //获取平台参数配置
|
|
|
- ActiveSettingDto activeSetting = platformSettingUtil.getActiveSetting();
|
|
|
- Assert.notNull(activeSetting,"平台没有配置投票参数");
|
|
|
-
|
|
|
-
|
|
|
- //TODO 减去投票数
|
|
|
- loginUser.setVoteCount(loginUser.getVoteCount()-activeHelpRecord.getVoteCount());
|
|
|
-
|
|
|
- //判断是否普法积分
|
|
|
- if(ObjectUtils.isNotEmpty(activeSetting.getVoteAndPointRate()) && !activeSetting.getVoteAndPointRate().equals(BigDecimal.ZERO)){
|
|
|
- //修改普法积分(票数*积分比例+原有积分)
|
|
|
- BigDecimal puFaPoint = activeSetting.getVoteAndPointRate()
|
|
|
- .multiply(BigDecimal.valueOf(activeHelpRecord.getVoteCount()));
|
|
|
- //添加普法积分赠送记录=>赠送给投票的用户
|
|
|
- PointRecord pointRecord = new PointRecord();
|
|
|
- pointRecord.setPoint(BigDecimal.valueOf(puFaPoint.doubleValue())); //必须克隆对象,防止事务状态下,使用同一个对象地址
|
|
|
- pointRecord.setPointType(PointTypeEnum.PUFA_POINT_SEND);
|
|
|
- pointRecord.setActiveProductId(activeHelpRecord.getProductId());
|
|
|
- pointRecord.setUserId(activeHelpRecord.getUserId());
|
|
|
- Assert.notNull(pointRecordService.save(pointRecord),"投票失败");
|
|
|
- loginUser.setPufaPoint(puFaPoint.add(loginUser.getPufaPoint()));
|
|
|
- }
|
|
|
- //修改投票用户信息
|
|
|
- Assert.isTrue(loginUserService.updateById(loginUser),"投票失败");
|
|
|
-
|
|
|
-
|
|
|
- //TODO 修改活动热力值和票数
|
|
|
- activeProductRecord.setVoteCount(activeProductRecord.getVoteCount()+1);
|
|
|
- //判断是否赠送热力值
|
|
|
- if(ObjectUtils.isNotEmpty(activeSetting.getVoteAndHeatRate()) && !activeSetting.getVoteAndHeatRate().equals(BigDecimal.ZERO)){
|
|
|
- //查询参赛用户
|
|
|
- LoginUser productUser = loginUserService.getById(activeProductRecord.getUserId());
|
|
|
- Assert.notNull(productUser,"没有找到该参赛选手");
|
|
|
-
|
|
|
- //热力值=活动票数*热力值比例
|
|
|
- BigDecimal heatValue = activeSetting.getVoteAndHeatRate()
|
|
|
- .multiply(BigDecimal.valueOf(activeHelpRecord.getVoteCount()));
|
|
|
-
|
|
|
- //原热力值+投票热力值
|
|
|
- productUser.setHeatValue(BigDecimal.valueOf(heatValue.doubleValue()).add(productUser.getHeatValue())); //必须克隆对象,防止事务状态下,使用同一个对象地址
|
|
|
-
|
|
|
- //添加热力值赠送记录=>赠送给参赛用户
|
|
|
- HeatRecord heatRecord = new HeatRecord();
|
|
|
- heatRecord.setActiveProductId(activeHelpRecord.getProductId());
|
|
|
- heatRecord.setHeatValue(BigDecimal.valueOf(heatValue.doubleValue())); //必须克隆对象,防止事务状态下,使用同一个对象地址
|
|
|
- heatRecord.setHeatType(HeatTypeEnum.HEAT_VALUE_SEND);
|
|
|
- heatRecord.setUserId(activeProductRecord.getUserId());
|
|
|
- Assert.isTrue(heatRecordService.save(heatRecord),"投票失败");
|
|
|
- //修改活动热力值
|
|
|
- activeProductRecord.setHeatValue(heatValue.add(activeProductRecord.getHeatValue()));
|
|
|
- //放入ZSET缓存排名(缓存名:活动id,作品id,热力值)
|
|
|
- Assert.isTrue(ActiveProductUtil.addProductRank(activeProductRecord),"投票失败");
|
|
|
-
|
|
|
- //修改参赛用户选手信息
|
|
|
- Assert.isTrue(loginUserService.updateById(productUser),"投票失败");
|
|
|
- }
|
|
|
- //修改活动作品信息
|
|
|
- Assert.isTrue(activeProductRecordService.updateById(activeProductRecord));
|
|
|
-
|
|
|
- //TODO 添加活动记录
|
|
|
- Assert.isTrue(activeHelpRecordService.save(activeHelpRecord),"投票失败");
|
|
|
+// //判断票数是否小于当前票数
|
|
|
+// Long voteCount = loginUser.getVoteCount();
|
|
|
+// Assert.notNull(voteCount,"用户没有票数");
|
|
|
+// Assert.notNull(activeHelpRecord.getVoteCount(),"投票数为空");
|
|
|
+// if(activeHelpRecord.getVoteCount()<1 || loginUser.getVoteCount()<activeHelpRecord.getVoteCount()){
|
|
|
+// throw new AppActiveProductException("用户所拥有的票数少于所投的票数");
|
|
|
+// }
|
|
|
+// //获取平台参数配置
|
|
|
+// ActiveSettingDto activeSetting = platformSettingUtil.getActiveSetting();
|
|
|
+// Assert.notNull(activeSetting,"平台没有配置投票参数");
|
|
|
+//
|
|
|
+//
|
|
|
+// //TODO 减去投票数
|
|
|
+// loginUser.setVoteCount(loginUser.getVoteCount()-activeHelpRecord.getVoteCount());
|
|
|
+//
|
|
|
+// //判断是否普法积分
|
|
|
+// if(ObjectUtils.isNotEmpty(activeSetting.getVoteAndPointRate()) && !activeSetting.getVoteAndPointRate().equals(BigDecimal.ZERO)){
|
|
|
+// //修改普法积分(票数*积分比例+原有积分)
|
|
|
+// BigDecimal puFaPoint = activeSetting.getVoteAndPointRate()
|
|
|
+// .multiply(BigDecimal.valueOf(activeHelpRecord.getVoteCount()));
|
|
|
+// //添加普法积分赠送记录=>赠送给投票的用户
|
|
|
+// PointRecord pointRecord = new PointRecord();
|
|
|
+// pointRecord.setPoint(BigDecimal.valueOf(puFaPoint.doubleValue())); //必须克隆对象,防止事务状态下,使用同一个对象地址
|
|
|
+// pointRecord.setPointType(PointTypeEnum.PUFA_POINT_SEND);
|
|
|
+// pointRecord.setActiveProductId(activeHelpRecord.getProductId());
|
|
|
+// pointRecord.setUserId(activeHelpRecord.getUserId());
|
|
|
+// Assert.notNull(pointRecordService.save(pointRecord),"投票失败");
|
|
|
+// loginUser.setPufaPoint(puFaPoint.add(loginUser.getPufaPoint()));
|
|
|
+// }
|
|
|
+// //修改投票用户信息
|
|
|
+// Assert.isTrue(loginUserService.updateById(loginUser),"投票失败");
|
|
|
+//
|
|
|
+//
|
|
|
+// //TODO 修改活动热力值和票数
|
|
|
+// activeProductRecord.setVoteCount(activeProductRecord.getVoteCount()+1);
|
|
|
+// //判断是否赠送热力值
|
|
|
+// if(ObjectUtils.isNotEmpty(activeSetting.getVoteAndHeatRate()) && !activeSetting.getVoteAndHeatRate().equals(BigDecimal.ZERO)){
|
|
|
+// //查询参赛用户
|
|
|
+// LoginUser productUser = loginUserService.getById(activeProductRecord.getUserId());
|
|
|
+// Assert.notNull(productUser,"没有找到该参赛选手");
|
|
|
+//
|
|
|
+// //热力值=活动票数*热力值比例
|
|
|
+// BigDecimal heatValue = activeSetting.getVoteAndHeatRate()
|
|
|
+// .multiply(BigDecimal.valueOf(activeHelpRecord.getVoteCount()));
|
|
|
+//
|
|
|
+// //原热力值+投票热力值
|
|
|
+// productUser.setHeatValue(BigDecimal.valueOf(heatValue.doubleValue()).add(productUser.getHeatValue())); //必须克隆对象,防止事务状态下,使用同一个对象地址
|
|
|
+//
|
|
|
+// //添加热力值赠送记录=>赠送给参赛用户
|
|
|
+// HeatRecord heatRecord = new HeatRecord();
|
|
|
+// heatRecord.setActiveProductId(activeHelpRecord.getProductId());
|
|
|
+// heatRecord.setHeatValue(BigDecimal.valueOf(heatValue.doubleValue())); //必须克隆对象,防止事务状态下,使用同一个对象地址
|
|
|
+// heatRecord.setHeatType(HeatTypeEnum.HEAT_VALUE_SEND);
|
|
|
+// heatRecord.setUserId(activeProductRecord.getUserId());
|
|
|
+// Assert.isTrue(heatRecordService.save(heatRecord),"投票失败");
|
|
|
+// //修改活动热力值
|
|
|
+// activeProductRecord.setHeatValue(heatValue.add(activeProductRecord.getHeatValue()));
|
|
|
+// //放入ZSET缓存排名(缓存名:活动id,作品id,热力值)
|
|
|
+// Assert.isTrue(ActiveProductUtil.addProductRank(activeProductRecord),"投票失败");
|
|
|
+//
|
|
|
+// //修改参赛用户选手信息
|
|
|
+// Assert.isTrue(loginUserService.updateById(productUser),"投票失败");
|
|
|
+// }
|
|
|
+// //修改活动作品信息
|
|
|
+// Assert.isTrue(activeProductRecordService.updateById(activeProductRecord));
|
|
|
+//
|
|
|
+// //TODO 添加活动记录
|
|
|
+// Assert.isTrue(activeHelpRecordService.save(activeHelpRecord),"投票失败");
|
|
|
}
|
|
|
}
|