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 | 562 ++++++++++++++++++++++++++++--------------------------- 1 files changed, 287 insertions(+), 275 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 5c8ff4a..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,275 +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.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 = "#p0") - public String get(final String key) { - HongBaoManage hongBaoManage = hongBaoManageMapper.selectByKey(key); - if (hongBaoManage != null) - return 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(UserLevelEnum level, long time) { - - return getBaseFanliRate(time).add(new BigDecimal(get("official_subsidy_zigou_" + level.getLevel()))); - } - - @Override - public BigDecimal getShareRate(UserLevelEnum level, long time) { - return getBaseFanliRate(time).add(new BigDecimal(get("official_subsidy_share_" + level.getLevel()))); - } - - @Override - public BigDecimal getFanLiRate(UserLevelEnum level) { - return getFanLiRate(level, System.currentTimeMillis()); - } - - @Override - public BigDecimal getFanLiRate() { - return getFanLiRate(UserLevelEnum.daRen); - } - - @Override - public BigDecimal getShareRate(UserLevelEnum level) { - return getShareRate(level, System.currentTimeMillis()); - } - - @Override - public BigDecimal getShareRate() { - return getShareRate(UserLevelEnum.daRen); - } - - @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 ConfigParamsDTO getShowComputeRate(String platform, String version, UserLevelEnum userLevel) { - - BigDecimal fanLiRate = getFanLiRate(userLevel); - BigDecimal shareRate = getShareRate(userLevel); - ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE, - getFanLiRate(UserLevelEnum.superVIP)); - if (VersionUtil.greaterThan_2_0_5(platform, version)) { - paramsDTO.setMaxRewardRate(null); - } - return paramsDTO; - } - - @Override - public ConfigParamsDTO getShowComputeRate(String platform, String version) { - - BigDecimal fanLiRate = getFanLiRate(UserLevelEnum.daRen); - BigDecimal shareRate = getShareRate(UserLevelEnum.daRen); - ConfigParamsDTO paramsDTO = new ConfigParamsDTO(fanLiRate, shareRate, Constant.MAX_REWARD_RATE, - getFanLiRate(UserLevelEnum.superVIP)); - if (VersionUtil.greaterThan_2_0_5(platform, version)) { - paramsDTO.setMaxRewardRate(null); - } - return paramsDTO; - } - - @Override - public BigDecimal getBaseFanliRate(long time) { - String key = "base_fanli_rate"; - 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 getBaseFanliRate() { - return getBaseFanliRate(System.currentTimeMillis()); - } - -} +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