| | |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import com.panzhihua.service_community.dao.ComBpActivityDAO; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | |
| | | private ComActDiscussOptionService comActDiscussOptionService; |
| | | @Resource |
| | | private ComActActivityService comActActivityService; |
| | | @Resource |
| | | private ComBpActivityDAO comBpActivityDAO; |
| | | |
| | | /** |
| | | * 查询用户某个时间段交易数量 |
| | |
| | | @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); |
| | |
| | | break; |
| | | case 8: |
| | | remark.append("成功参加活动奖励积分"); |
| | | ComActActivityDO actActivityDO1 = comActActivityService.getById(serviceId); |
| | | if(actActivityDO1!=null){ |
| | | amount=actActivityDO1.getRewardIntegral(); |
| | | if(integralUserDTO.getActivityType()==1){ |
| | | ComActActivityDO actActivityDO1 = comActActivityService.getById(serviceId); |
| | | if(actActivityDO1!=null){ |
| | | amount=actActivityDO1.getRewardIntegral(); |
| | | if(actActivityDO1.getVolunteerMax()!=0){ |
| | | identityType=3; |
| | | }else { |
| | | identityType=1; |
| | | } |
| | | } |
| | | } |
| | | // else { |
| | | // ComPbActivityDO comPbActivityDO = comBpActivityDAO.selectById(serviceId); |
| | | // if(comPbActivityDO!=null){ |
| | | // amount=comPbActivityDO.getRewardIntegral(); |
| | | // identityType=2; |
| | | // } |
| | | // } |
| | | break; |
| | | case 9: |
| | | remark.append("取消活动扣除积分"); |
| | | if (integralUserDTO.getActivityType() == 1) { |
| | | ComActActivityDO actActivityDO1 = comActActivityService.getById(serviceId); |
| | | if (actActivityDO1 != null) { |
| | | amount = -actActivityDO1.getCancelDeduct(); |
| | | if (actActivityDO1.getVolunteerMax() != 0) { |
| | | identityType = 3; |
| | | } else { |
| | | identityType = 1; |
| | | } |
| | | } |
| | | } |
| | | default: |
| | | break; |
| | |
| | | Integer integralAvailableResident = integralUserDO.getIntegralAvailableResident(); |
| | | Integer integralFrozenResident = integralUserDO.getIntegralFrozenResident(); |
| | | |
| | | integralUserDO.setIntegralSum(integralUserDO.getIntegralSum() + amount); |
| | | integralUserDO.setIntegralAvailableSum(integralUserDO.getIntegralAvailableSum() + amount); |
| | | integralUserDO.setIntegralSum(addIntegral(integralUserDO.getIntegralSum() + amount)); |
| | | integralUserDO.setIntegralAvailableSum(addIntegral(integralUserDO.getIntegralAvailableSum() + amount)); |
| | | integralUserDO.setUpdateAt(nowDate); |
| | | // 根据不同身份,计算钱包金额 |
| | | if (identityType.equals(ComActIntegralUserTradeDO.identityType.jm)) { |
| | | integralUserDO.setIntegralResident(integralUserDO.getIntegralResident() + amount); |
| | | integralUserDO.setIntegralAvailableResident(integralUserDO.getIntegralAvailableResident() + amount); |
| | | integralUserDO.setIntegralResident(addIntegral(integralUserDO.getIntegralResident() + amount)); |
| | | integralUserDO.setIntegralAvailableResident(addIntegral(integralUserDO.getIntegralAvailableResident() + amount)); |
| | | } else if (identityType.equals(ComActIntegralUserTradeDO.identityType.dy)) { |
| | | integralUserDO.setIntegralParty(integralUserDO.getIntegralParty() + amount); |
| | | integralUserDO.setIntegralAvailableParty(integralUserDO.getIntegralAvailableParty() + amount); |
| | | integralUserDO.setIntegralParty(addIntegral(integralUserDO.getIntegralParty() + amount)); |
| | | integralUserDO.setIntegralAvailableParty(addIntegral(integralUserDO.getIntegralAvailableParty() + amount)); |
| | | } else if (identityType.equals(ComActIntegralUserTradeDO.identityType.zyz)) { |
| | | integralUserDO.setIntegralVolunteer(integralUserDO.getIntegralVolunteer() + amount); |
| | | integralUserDO.setIntegralAvailableVolunteer(integralUserDO.getIntegralAvailableVolunteer() + amount); |
| | | integralUserDO.setIntegralVolunteer(addIntegral(integralUserDO.getIntegralVolunteer() + amount)); |
| | | integralUserDO.setIntegralAvailableVolunteer(addIntegral(integralUserDO.getIntegralAvailableVolunteer() + amount)); |
| | | } |
| | | // 更新钱包 |
| | | comActIntegralUserService.updateById(integralUserDO); |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | private int addIntegral(int integral) { |
| | | return integral > 0 ? integral : 0; |
| | | } |
| | | |
| | | /** |
| | | * 根据类型、用户id、社区id构建查询请求参数 |
| | | * |