From 5e7b0ed4a154ad067cbcf4aa1a1c7cce32f9864c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 26 四月 2024 18:02:17 +0800 Subject: [PATCH] 唯品会链接解析升级 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/config/HongBaoManageServiceImpl.java | 648 ++++++++++++++++++++++++++-------------------------------- 1 files changed, 287 insertions(+), 361 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/config/HongBaoManageServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/config/HongBaoManageServiceImpl.java index f3c5d7e..883c949 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/config/HongBaoManageServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/config/HongBaoManageServiceImpl.java @@ -1,361 +1,287 @@ -package com.yeshi.fanli.service.impl.order.config; - -import java.math.BigDecimal; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.cache.annotation.Cacheable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import com.yeshi.fanli.dao.mybatis.HongBaoManageMapper; -import com.yeshi.fanli.dto.ConfigParamsDTO; -import com.yeshi.fanli.dto.order.OrderHongBaoRateParams; -import com.yeshi.fanli.entity.bus.user.HongBaoManage; -import com.yeshi.fanli.entity.order.CommonOrder; -import com.yeshi.fanli.exception.order.HongBaoException; -import com.yeshi.fanli.log.LogHelper; -import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; -import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.VersionUtil; - -@Service -public class HongBaoManageServiceImpl implements HongBaoManageService { - - @Resource - private HongBaoManageMapper hongBaoManageMapper; - - @Transactional - public void update(List<HongBaoManage> hongBaoManageList) { - for (HongBaoManage hongBaoManage : hongBaoManageList) { - hongBaoManageMapper.updateByPrimaryKeySelective(hongBaoManage); - } - } - - @Cacheable(value = "homeBaoManage", key = "#p0") - public String get(final String key) { - HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKey(key); - if (hongBaoManage != null) - hongBaoManage.getValue(); - return null; - } - - /** - * 鏍规嵁閿�间笌鏃堕棿鏌ヨ姣斾緥 - * - * @param key - * @param time - * @return - */ - public BigDecimal getByKeyAndMaxTime(String key, Long time) { - if (time == null) - time = System.currentTimeMillis(); - HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time); - if (hongBaoManage == null) - hongBaoManage = hongBaoManageMapper.selectByKey(key); - if (hongBaoManage != null) - return new BigDecimal(hongBaoManage.getValue()); - return null; - } - - @Cacheable(value = "homeBaoManage", key = "'convertMap'") - public Map<String, String> convertMap() { - List<HongBaoManage> list = hongBaoManageMapper.listAll(); - Map<String, String> map = new HashMap<String, String>(); - for (HongBaoManage hongBaoManage : list) { - map.put(hongBaoManage.getKey(), hongBaoManage.getValue()); - } - return map; - } - - @Override - public BigDecimal getFanLiRate(long time) { - String key = "hongbao_goods_proportion"; - - HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time); - if (hongBaoManage == null) - hongBaoManage = hongBaoManageMapper.selectByKey(key); - if (hongBaoManage != null) - return new BigDecimal(hongBaoManage.getValue()); - LogHelper.error("鑾峰彇杩斿埄鍒嗘垚姣斾緥鍑洪敊"); - return null; - } - - @Override - public BigDecimal getShareRate(long time) { - String key = "share_proportion"; - HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time); - if (hongBaoManage == null) - hongBaoManage = hongBaoManageMapper.selectByKey(key); - if (hongBaoManage != null) - return new BigDecimal(hongBaoManage.getValue()); - LogHelper.error("鑾峰彇鍒嗕韩璧氬垎鎴愭瘮渚嬪嚭閿�"); - return null; - } - - @Override - public BigDecimal getFanLiRate() { - return getFanLiRate(System.currentTimeMillis()); - } - - @Override - public BigDecimal getShareRate() { - return getShareRate(System.currentTimeMillis()); - } - - @Override - public BigDecimal getFirstInviteRate(int urank) { - return getFirstInviteRate(urank, System.currentTimeMillis()); - } - - @Override - public BigDecimal getFirstInviteRate(int urank, long time) { - String key = "sale_6_" + urank; - - HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time); - if (hongBaoManage == null) - hongBaoManage = hongBaoManageMapper.selectByKey(key); - if (hongBaoManage != null) - return new BigDecimal(hongBaoManage.getValue()); - return new BigDecimal(0); - } - - @Override - public BigDecimal getSecondInviteRate(int urank) { - return getSecondInviteRate(urank, System.currentTimeMillis()); - } - - @Override - public BigDecimal getSecondInviteRate(int urank, long time) { - String key = "sale_7_" + urank; - - HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time); - if (hongBaoManage == null) - hongBaoManage = hongBaoManageMapper.selectByKey(key); - if (hongBaoManage != null) - return new BigDecimal(hongBaoManage.getValue()); - LogHelper.error("鑾峰彇杩斿埄鍒嗘垚姣斾緥鍑洪敊"); - return new BigDecimal(0); - } - - @Override - public BigDecimal getFirstShareRate(int urank) { - String key = "share_21_" + urank; - HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, System.currentTimeMillis()); - if (hongBaoManage == null) - hongBaoManage = hongBaoManageMapper.selectByKey(key); - if (hongBaoManage != null) - return new BigDecimal(hongBaoManage.getValue()); - LogHelper.error("鑾峰彇杩斿埄鍒嗘垚姣斾緥鍑洪敊"); - return new BigDecimal(0); - } - - @Override - public BigDecimal getFirstShareRate(int urank, long time) { - String key = "share_21_" + urank; - HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time); - if (hongBaoManage == null) - hongBaoManage = hongBaoManageMapper.selectByKey(key); - if (hongBaoManage != null) - return new BigDecimal(hongBaoManage.getValue()); - LogHelper.error("鑾峰彇杩斿埄鍒嗘垚姣斾緥鍑洪敊"); - return new BigDecimal(0); - } - - @Override - public BigDecimal getSecondShareRate(int urank) { - String key = "share_22_" + urank; - HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, System.currentTimeMillis()); - if (hongBaoManage == null) - hongBaoManage = hongBaoManageMapper.selectByKey(key); - if (hongBaoManage != null) - return new BigDecimal(hongBaoManage.getValue()); - LogHelper.error("鑾峰彇杩斿埄鍒嗘垚姣斾緥鍑洪敊"); - return new BigDecimal(0); - } - - @Override - public BigDecimal getSecondShareRate(int urank, long time) { - String key = "share_22_" + urank; - HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time); - if (hongBaoManage == null) - hongBaoManage = hongBaoManageMapper.selectByKey(key); - if (hongBaoManage != null) - return new BigDecimal(hongBaoManage.getValue()); - LogHelper.error("鑾峰彇杩斿埄鍒嗘垚姣斾緥鍑洪敊"); - return new BigDecimal(0); - } - - @Override - public BigDecimal getTLJFanLiRate() { - String key = "tlj_fanli_proportion"; - HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, System.currentTimeMillis()); - if (hongBaoManage == null) - hongBaoManage = hongBaoManageMapper.selectByKey(key); - if (hongBaoManage != null) - return new BigDecimal(hongBaoManage.getValue()); - LogHelper.error("鑾峰彇娣樼ぜ閲戣繑鍒╁垎鎴愭瘮渚嬪嚭閿�"); - return null; - } - - @Override - public BigDecimal getTLJShareRate(long time) { - String key = "tlj_share_proportion"; - HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time); - if (hongBaoManage == null) - hongBaoManage = hongBaoManageMapper.selectByKey(key); - if (hongBaoManage != null) - return new BigDecimal(hongBaoManage.getValue()); - LogHelper.error("鑾峰彇娣樼ぜ閲戝垎浜禋鍒嗘垚姣斾緥鍑洪敊"); - return null; - } - - @Override - public BigDecimal getInviteFirstLevelSubsidyRate(Long time) { - String key = "invite_subsidy_6"; - HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time); - if (hongBaoManage == null) - hongBaoManage = hongBaoManageMapper.selectByKey(key); - if (hongBaoManage != null) - return new BigDecimal(hongBaoManage.getValue()); - return new BigDecimal(0); - } - - @Override - public BigDecimal getInviteSecondLevelSubsidyRate(Long time) { - String key = "invite_subsidy_7"; - HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time); - if (hongBaoManage == null) - hongBaoManage = hongBaoManageMapper.selectByKey(key); - if (hongBaoManage != null) - return new BigDecimal(hongBaoManage.getValue()); - return new BigDecimal(0); - } - - @Override - public BigDecimal getVIPFanLiRate(long time) { - String key = "hongbao_goods_proportion_vip"; - HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time); - if (hongBaoManage == null) - hongBaoManage = hongBaoManageMapper.selectByKey(key); - if (hongBaoManage != null) - return new BigDecimal(hongBaoManage.getValue()); - LogHelper.error("鑾峰彇杩斿埄鍒嗘垚姣斾緥鍑洪敊"); - return null; - } - - @Override - public BigDecimal getVIPShareRate(long time) { - String key = "share_proportion_vip"; - HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time); - if (hongBaoManage == null) - hongBaoManage = hongBaoManageMapper.selectByKey(key); - if (hongBaoManage != null) - return new BigDecimal(hongBaoManage.getValue()); - LogHelper.error("鑾峰彇杩斿埄鍒嗘垚姣斾緥鍑洪敊"); - return null; - } - - @Override - public BigDecimal getVIPFanLiRate() { - return getVIPFanLiRate(System.currentTimeMillis()); - } - - @Override - public BigDecimal getVIPShareRate() { - return getVIPShareRate(System.currentTimeMillis()); - } - - /** - * 鑾峰彇姣斾緥 - * - * @param level - * 0-鏈骇 1-涓嬬骇 2-涓嬩笅绾� - * @param orderType - * @param isVip鏈骇鏄惁涓篤IP - * @param isWorkerVip涓嬬骇鏄惁涓篤IP - * @return - */ - public BigDecimal getRate(OrderHongBaoRateParams params) throws HongBaoException { - if (params == null) - throw new HongBaoException(1, "姣斾緥鍙傛暟閿欒"); - - long time = params.getOrderCreateTime().getTime(); - - if (params.getLevel() == 0) {// 鏈骇 - - if (params.getOrderType() == CommonOrder.ORDER_TYPE_ZIGOU) { - if (params.isVip()) - return getVIPFanLiRate(time); - else - return getFanLiRate(time); - } else { - if (params.isVip()) - return getVIPShareRate(time); - else - return getShareRate(time); - } - - } else if (params.getLevel() == 1) {// 涓婄骇 - if (params.getOrderType() == CommonOrder.ORDER_TYPE_ZIGOU) {// 鑷喘 - if (params.isSubsidy()) {// 琛ヨ创姣斾緥 - if (params.isVip()) {// 涓嬬骇涓轰細鍛樹笉琛ヨ创 - return new BigDecimal("0"); - } else { - return getInviteFirstLevelSubsidyRate(time); - } - } else {// 濂栭噾姣斾緥 - if (params.isVip()) { - return getByKeyAndMaxTime("new_invite_vip_6", time); - } else { - return getByKeyAndMaxTime("new_invite_6", time); - } - } - } else {// 鍒嗕韩 - if (params.isVip()) { - return getByKeyAndMaxTime("new_share_vip_21", time); - } else { - return getByKeyAndMaxTime("new_share_21", time); - } - } - } else if (params.getLevel() == 2) {// 涓婁笂绾� - if (params.getOrderType() == CommonOrder.ORDER_TYPE_ZIGOU) {// 鑷喘 - if (params.isSubsidy()) {// 琛ヨ创姣斾緥 - if (params.isVip()) {// 涓嬩笅绾т负浼氬憳涓嶈ˉ璐� - return new BigDecimal("0"); - } else { - return getInviteSecondLevelSubsidyRate(time); - } - } else {// 濂栭噾姣斾緥 - if (params.isVip()) - return new BigDecimal("0"); - else - return getByKeyAndMaxTime("new_invite_7", time); - } - } else {// 鍒嗕韩 - if (params.isVip()) - return new BigDecimal("0"); - else - return getByKeyAndMaxTime("new_share_22", time); - } - } - throw new HongBaoException(2, "鏈尮閰嶅埌姣斾緥鍙傛暟"); - } - - @Override - public ConfigParamsDTO getShowComputeRate(String platform, String version) { - - BigDecimal fanLiRate = getFanLiRate(); - BigDecimal shareRate = getShareRate(); - ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE, - getVIPFanLiRate()); - if (VersionUtil.greaterThan_2_0_5(platform, version)) { - paramsDTO.setMaxRewardRate(null); - } - return paramsDTO; - } - -} +package com.yeshi.fanli.service.impl.order.config; + +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import com.yeshi.fanli.entity.SystemEnum; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.yeshi.fanli.dao.mybatis.HongBaoManageMapper; +import com.yeshi.fanli.dto.GoodsMoneyConfigParamsDTO; +import com.yeshi.fanli.entity.bus.user.HongBaoManage; +import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum; +import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; +import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.VersionUtil; + +@Service +public class HongBaoManageServiceImpl implements HongBaoManageService { + + @Resource + private HongBaoManageMapper hongBaoManageMapper; + + @Transactional + public void update(List<HongBaoManage> hongBaoManageList) { + for (HongBaoManage hongBaoManage : hongBaoManageList) { + hongBaoManageMapper.updateByPrimaryKeySelective(hongBaoManage); + } + } + + @Cacheable(value = "homeBaoManage", key = "'get-'+#key+'-'+#system") + public String get(final String key, SystemEnum system) { + HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKey(key, system); + if (hongBaoManage != null) + return hongBaoManage.getValue(); + return null; + } + + /** + * 鏍规嵁閿�间笌鏃堕棿鏌ヨ姣斾緥 + * + * @param key + * @param time + * @return + */ + public BigDecimal getByKeyAndMaxTime(String key, Long time, SystemEnum system) { + if (time == null) + time = System.currentTimeMillis(); + HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time, system); + if (hongBaoManage == null) + hongBaoManage = hongBaoManageMapper.selectByKey(key, system); + if (hongBaoManage != null) + return new BigDecimal(hongBaoManage.getValue()); + return null; + } + + @Cacheable(value = "homeBaoManage", key = "'getByKeyAndMaxTime-'+#key+'-'+#time+'-'+#system") + public BigDecimal getByKeyAndMaxTimeCache(String key, Long time, SystemEnum system) { + return getByKeyAndMaxTime(key, time, system); + } + + @Cacheable(value = "homeBaoManage", key = "'convertMap-'+#system") + public Map<String, String> convertMap(SystemEnum system) { + List<HongBaoManage> list = hongBaoManageMapper.listAll(system); + Map<String, String> map = new HashMap<String, String>(); + for (HongBaoManage hongBaoManage : list) { + map.put(hongBaoManage.getKey(), hongBaoManage.getValue()); + } + return map; + } + + @Override + public BigDecimal getFanLiRate(UserLevelEnum level, long time, SystemEnum system) { + + return getBaseFanliRate(time,system).add(new BigDecimal(get("official_subsidy_zigou_" + level.getLevel(),system))); + } + + @Override + public BigDecimal getShareRate(UserLevelEnum level, long time, SystemEnum system) { + return getBaseFanliRate(time,system).add(new BigDecimal(get("official_subsidy_share_" + level.getLevel(),system))); + } + + @Override + public BigDecimal getFanLiRate(UserLevelEnum level, SystemEnum system) { + return getFanLiRate(level, System.currentTimeMillis(),system); + } + + @Override + public BigDecimal getFanLiRate(SystemEnum system) { + return getFanLiRate(UserLevelEnum.daRen,system); + } + + @Override + public BigDecimal getShareRate(UserLevelEnum level, SystemEnum system) { + return getShareRate(level, System.currentTimeMillis(),system); + } + + @Override + public BigDecimal getShareRate( SystemEnum system) { + return getShareRate(UserLevelEnum.daRen,system); + } + + @Override + public BigDecimal getFirstInviteRate(int urank, SystemEnum system) { + return getFirstInviteRate(urank, System.currentTimeMillis(),system); + } + + @Override + public BigDecimal getFirstInviteRate(int urank, long time, SystemEnum system) { + String key = "sale_6_" + urank; + + HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time,system); + if (hongBaoManage == null) + hongBaoManage = hongBaoManageMapper.selectByKey(key,system); + if (hongBaoManage != null) + return new BigDecimal(hongBaoManage.getValue()); + return new BigDecimal(0); + } + + @Override + public BigDecimal getSecondInviteRate(int urank, SystemEnum system) { + return getSecondInviteRate(urank, System.currentTimeMillis(),system); + } + + @Override + public BigDecimal getSecondInviteRate(int urank, long time, SystemEnum system) { + String key = "sale_7_" + urank; + + HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time,system); + if (hongBaoManage == null) + hongBaoManage = hongBaoManageMapper.selectByKey(key,system); + if (hongBaoManage != null) + return new BigDecimal(hongBaoManage.getValue()); + LogHelper.error("鑾峰彇杩斿埄鍒嗘垚姣斾緥鍑洪敊"); + return new BigDecimal(0); + } + + @Override + public BigDecimal getFirstShareRate(int urank, SystemEnum system) { + String key = "share_21_" + urank; + HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, System.currentTimeMillis(),system); + if (hongBaoManage == null) + hongBaoManage = hongBaoManageMapper.selectByKey(key,system); + if (hongBaoManage != null) + return new BigDecimal(hongBaoManage.getValue()); + LogHelper.error("鑾峰彇杩斿埄鍒嗘垚姣斾緥鍑洪敊"); + return new BigDecimal(0); + } + + @Override + public BigDecimal getFirstShareRate(int urank, long time, SystemEnum system) { + String key = "share_21_" + urank; + HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time,system); + if (hongBaoManage == null) + hongBaoManage = hongBaoManageMapper.selectByKey(key,system); + if (hongBaoManage != null) + return new BigDecimal(hongBaoManage.getValue()); + LogHelper.error("鑾峰彇杩斿埄鍒嗘垚姣斾緥鍑洪敊"); + return new BigDecimal(0); + } + + @Override + public BigDecimal getSecondShareRate(int urank, SystemEnum system) { + String key = "share_22_" + urank; + HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, System.currentTimeMillis(),system); + if (hongBaoManage == null) + hongBaoManage = hongBaoManageMapper.selectByKey(key,system); + if (hongBaoManage != null) + return new BigDecimal(hongBaoManage.getValue()); + LogHelper.error("鑾峰彇杩斿埄鍒嗘垚姣斾緥鍑洪敊"); + return new BigDecimal(0); + } + + @Override + public BigDecimal getSecondShareRate(int urank, long time, SystemEnum system) { + String key = "share_22_" + urank; + HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time,system); + if (hongBaoManage == null) + hongBaoManage = hongBaoManageMapper.selectByKey(key,system); + if (hongBaoManage != null) + return new BigDecimal(hongBaoManage.getValue()); + LogHelper.error("鑾峰彇杩斿埄鍒嗘垚姣斾緥鍑洪敊"); + return new BigDecimal(0); + } + + @Override + public BigDecimal getTLJFanLiRate( SystemEnum system) { + String key = "tlj_fanli_proportion"; + HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, System.currentTimeMillis(),system); + if (hongBaoManage == null) + hongBaoManage = hongBaoManageMapper.selectByKey(key,system); + if (hongBaoManage != null) + return new BigDecimal(hongBaoManage.getValue()); + LogHelper.error("鑾峰彇娣樼ぜ閲戣繑鍒╁垎鎴愭瘮渚嬪嚭閿�"); + return null; + } + + @Override + public BigDecimal getTLJShareRate(long time, SystemEnum system) { + String key = "tlj_share_proportion"; + HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time,system); + if (hongBaoManage == null) + hongBaoManage = hongBaoManageMapper.selectByKey(key,system); + if (hongBaoManage != null) + return new BigDecimal(hongBaoManage.getValue()); + LogHelper.error("鑾峰彇娣樼ぜ閲戝垎浜禋鍒嗘垚姣斾緥鍑洪敊"); + return null; + } + + @Override + public BigDecimal getInviteFirstLevelSubsidyRate(Long time, SystemEnum system) { + String key = "invite_subsidy_6"; + HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time,system); + if (hongBaoManage == null) + hongBaoManage = hongBaoManageMapper.selectByKey(key,system); + if (hongBaoManage != null) + return new BigDecimal(hongBaoManage.getValue()); + return new BigDecimal(0); + } + + @Override + public BigDecimal getInviteSecondLevelSubsidyRate(Long time, SystemEnum system) { + String key = "invite_subsidy_7"; + HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time,system); + if (hongBaoManage == null) + hongBaoManage = hongBaoManageMapper.selectByKey(key,system); + if (hongBaoManage != null) + return new BigDecimal(hongBaoManage.getValue()); + return new BigDecimal(0); + } + + @Override + public GoodsMoneyConfigParamsDTO getShowComputeRate(String platform, String version, UserLevelEnum userLevel, SystemEnum system) { + + BigDecimal fanLiRate = getFanLiRate(userLevel,system); + BigDecimal shareRate = getShareRate(userLevel,system); + GoodsMoneyConfigParamsDTO paramsDTO = new GoodsMoneyConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE, + getFanLiRate(UserLevelEnum.superVIP,system)); + if (VersionUtil.greaterThan_2_0_5(platform, version)) { + paramsDTO.setMaxRewardRate(null); + } + return paramsDTO; + } + + @Override + public GoodsMoneyConfigParamsDTO getShowComputeRate(String platform, String version, SystemEnum system) { + + BigDecimal fanLiRate = getFanLiRate(UserLevelEnum.daRen,system); + BigDecimal shareRate = getShareRate(UserLevelEnum.daRen,system); + GoodsMoneyConfigParamsDTO paramsDTO = new GoodsMoneyConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE, + getFanLiRate(UserLevelEnum.superVIP,system)); + if (VersionUtil.greaterThan_2_0_5(platform, version)) { + paramsDTO.setMaxRewardRate(null); + } + return paramsDTO; + } + + @Override + public BigDecimal getBaseFanliRate(long time, SystemEnum system) { + String key = "base_fanli_rate"; + HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKeyAndMaxValidTime(key, time,system); + if (hongBaoManage == null) + hongBaoManage = hongBaoManageMapper.selectByKey(key,system); + if (hongBaoManage != null) + return new BigDecimal(hongBaoManage.getValue()); + LogHelper.error("鑾峰彇鍩虹杩斿埄姣斾緥鍑洪敊"); + return null; + } + + @Override + public BigDecimal getBaseFanliRate(SystemEnum system) { + return getBaseFanliRate(System.currentTimeMillis(),system); + } + + @Cacheable(value = "homeBaoManage", key = "'getBaseFanliRate'+#time+'-'+#system") + @Override + public BigDecimal getBaseFanliRateCache(long time, SystemEnum system) { + return getBaseFanliRate(System.currentTimeMillis(),system); + } + +} -- Gitblit v1.8.0