puhanshu
2021-12-21 89044714eef77f834078e878533e93060a0c5e17
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActIntegralUserTradeServiceImpl.java
@@ -99,6 +99,10 @@
    @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);
@@ -312,11 +316,26 @@
                            identityType=1;
                        }
                    }
                }else {
                    ComPbActivityDO comPbActivityDO = comBpActivityDAO.selectById(serviceId);
                    if(comPbActivityDO!=null){
                        amount=comPbActivityDO.getRewardIntegral();
                        identityType=2;
                }
//                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:
@@ -366,19 +385,19 @@
        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);
@@ -398,6 +417,10 @@
        return R.ok();
    }
    private int addIntegral(int integral) {
        return integral > 0 ? integral : 0;
    }
    /**
     * 根据类型、用户id、社区id构建查询请求参数
     *