| | |
| | | @Override |
| | | public Long addIntegralTradeRecord(Long userId, Long integralId, Long communityId, Long serviceId, |
| | | Integer serviceType, Integer amount, Integer changeType, String remark, Integer identityType, Long createBy) { |
| | | if (amount < 0) { |
| | | changeType = ComActIntegralUserTradeDO.changeType.reduce; |
| | | amount = Math.abs(amount); |
| | | } |
| | | ComActIntegralUserTradeDO integralUserTradeDO = new ComActIntegralUserTradeDO(); |
| | | integralUserTradeDO.setId(Snowflake.getId()); |
| | | integralUserTradeDO.setUserId(userId); |
| | |
| | | StringBuilder remark = new StringBuilder(); |
| | | // 当前时间 |
| | | Date nowDate = new Date(); |
| | | |
| | | Integer changeType = ComActIntegralUserTradeDO.changeType.add; |
| | | |
| | | Integer isVolunteer = integralUserDTO.getIsVolunteer(); |
| | | |
| | |
| | | remark.append("】"); |
| | | break; |
| | | case 8: |
| | | changeType = ComActIntegralUserTradeDO.changeType.reduce; |
| | | if (integralUserDTO.getActivityType() == 1) { |
| | | ComActActivityDO actActivityDO2 = comActActivityService.getById(serviceId); |
| | | if (actActivityDO2 != null) { |
| | |
| | | integralUserDO.setIntegralAvailableVolunteer(addIntegral(integralUserDO.getIntegralAvailableVolunteer() + amount)); |
| | | } |
| | | if (reduceAmount > 0) { |
| | | amount = reduceAmount; |
| | | integralUserDO.setIntegralSum(addIntegral(integralSum + reduceAmount)); |
| | | integralUserDO.setIntegralAvailableSum(addIntegral(integralAvailableSum + reduceAmount)); |
| | | } else { |
| | |
| | | comActIntegralUserService.updateById(integralUserDO); |
| | | // 增加积分账户交易记录 |
| | | Long tradeId = this.addIntegralTradeRecord(userId, integralId, communityId, serviceId, type, amount, |
| | | ComActIntegralUserTradeDO.changeType.add, remark.toString(), identityType, 2L); |
| | | changeType, remark.toString(), identityType, 2L); |
| | | // 增加积分账户变更记录 |
| | | comActIntegralUserChangeService.addIntegralUserChangeRecord(userId, integralId, communityId, integralSum, |
| | | integralUserDO.getIntegralSum(), integralAvailableSum, integralUserDO.getIntegralAvailableSum(), |