@BufferedIncrement(incrementClass = SocialEquityIncrement.class) public void incrementSocialEquityAssetEntry_IQ( long assetEntryId, SocialEquityValue socialEquityValue) throws SystemException { AssetEntry assetEntry = assetEntryPersistence.fetchByPrimaryKey(assetEntryId); assetEntry.updateSocialInformationEquity(socialEquityValue.getValue()); int count = socialEquityAssetEntryPersistence.countByAssetEntryId(assetEntryId); if (count == 0) { addSocialEquityAssetEntry(assetEntry); } String sql = CustomSQLUtil.get(_UPDATE_SOCIAL_EQUITY_ASSET_ENTRY_IQ); sql = StringUtil.replace( sql, new String[] {"[$ASSET_ENTRY_ID$]", "[$INFORMATION_B$]", "[$INFORMATION_K$]"}, new String[] { String.valueOf(assetEntryId), String.valueOf(socialEquityValue.getB()), String.valueOf(socialEquityValue.getK()) }); runSQL(sql); }
@BufferedIncrement(incrementClass = SocialEquityIncrement.class) public void incrementSocialEquityUser_PQ( long groupId, long userId, SocialEquityValue socialEquityValue) throws PortalException, SystemException { User user = userLocalService.getUser(userId); int count = socialEquityUserPersistence.countByG_U(groupId, userId); if (count == 0) { addSocialEquityUser(groupId, user); } user.updateSocialParticipationEquity(socialEquityValue.getValue()); String sql = CustomSQLUtil.get(_UPDATE_SOCIAL_EQUITY_USER_PQ); sql = StringUtil.replace( sql, new String[] { "[$GROUP_ID$]", "[$PARTICIPATION_B$]", "[$PARTICIPATION_K$]", "[$USER_ID$]" }, new String[] { String.valueOf(groupId), String.valueOf(socialEquityValue.getB()), String.valueOf(socialEquityValue.getK()), String.valueOf(userId) }); runSQL(sql); }
public void deactivateEquityLogs(long userId, long assetEntryId, String actionId) throws PortalException, SystemException { if (!PropsValues.SOCIAL_EQUITY_EQUITY_LOG_ENABLED) { return; } User user = userPersistence.findByPrimaryKey(userId); AssetEntry assetEntry = assetEntryPersistence.findByPrimaryKey(assetEntryId); // Information Equity if (isSocialEquityEnabled( assetEntry.getGroupId(), assetEntry.getClassName(), SocialEquitySettingConstants.TYPE_INFORMATION)) { List<SocialEquityLog> equityLogs = socialEquityLogPersistence.findByAEI_AID_A_T( assetEntryId, actionId, true, SocialEquitySettingConstants.TYPE_INFORMATION); SocialEquityValue socialEquityValue = new SocialEquityValue(0, 0); for (SocialEquityLog equityLog : equityLogs) { double k = calculateK(equityLog.getValue(), equityLog.getLifespan()); double b = calculateB(equityLog.getActionDate(), equityLog.getValue(), equityLog.getLifespan()); socialEquityValue.subtract(new SocialEquityValue(k, b)); socialEquityLogPersistence.remove(equityLog); } socialEquityLogLocalService.incrementSocialEquityAssetEntry_IQ( assetEntryId, socialEquityValue); socialEquityLogLocalService.incrementSocialEquityUser_CQ( assetEntry.getGroupId(), assetEntry.getUserId(), socialEquityValue); } // Participation Equity if (isSocialEquityEnabled( assetEntry.getGroupId(), assetEntry.getClassName(), SocialEquitySettingConstants.TYPE_PARTICIPATION)) { List<SocialEquityLog> equityLogs = socialEquityLogPersistence.findByU_AID_A_T( userId, actionId, true, SocialEquitySettingConstants.TYPE_PARTICIPATION); SocialEquityValue socialEquityValue = new SocialEquityValue(0, 0); for (SocialEquityLog equityLog : equityLogs) { double k = calculateK(equityLog.getValue(), equityLog.getLifespan()); double b = calculateB(equityLog.getActionDate(), equityLog.getValue(), equityLog.getLifespan()); socialEquityValue.subtract(new SocialEquityValue(k, b)); socialEquityLogPersistence.remove(equityLog); } socialEquityLogLocalService.incrementSocialEquityUser_PQ( user.getGroup().getGroupId(), userId, socialEquityValue); } }