From 62a447d89331aee1feae7724c7616aa1bb2cfe79 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 16 十月 2024 14:28:37 +0800 Subject: [PATCH] 将CMQ替换为rabbitmq --- fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsTextTemplateServiceImpl.java | 1519 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 1,034 insertions(+), 485 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsTextTemplateServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsTextTemplateServiceImpl.java index 07e4758..a7be32e 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsTextTemplateServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsTextTemplateServiceImpl.java @@ -1,485 +1,1034 @@ -package com.yeshi.fanli.service.impl.goods; - -import java.math.BigDecimal; -import java.util.Date; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.yeshi.utils.BigDecimalUtil; - -import com.yeshi.fanli.dao.mybatis.goods.ShareGoodsTextTemplateMapper; -import com.yeshi.fanli.dto.jd.JDPingouInfo; -import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; -import com.yeshi.fanli.entity.goods.ShareGoodsTextTemplate; -import com.yeshi.fanli.entity.jd.JDGoods; -import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; -import com.yeshi.fanli.exception.goods.ShareGoodsTextTemplateException; -import com.yeshi.fanli.service.inter.config.ConfigService; -import com.yeshi.fanli.service.inter.goods.ShareGoodsTextTemplateService; -import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService; -import com.yeshi.fanli.util.MoneyBigDecimalUtil; -import com.yeshi.fanli.util.StringUtil; -import com.yeshi.fanli.util.jd.JDUtil; -import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil; -import com.yeshi.fanli.util.taobao.TaoBaoUtil; -import com.yeshi.fanli.util.taobao.TaoLiJinUtil; - -/** - * 鍒嗕韩鍟嗗搧妯℃澘 - * - * @author Administrator - * - */ -@Service -public class ShareGoodsTextTemplateServiceImpl implements ShareGoodsTextTemplateService { - - @Resource - private ShareGoodsTextTemplateMapper shareGoodsTextTemplateMapper; - - @Resource - private ConfigService configService; - - @Resource - private ConfigTaoLiJinService configTaoLiJinService; - - - - @Override - public void saveCommonTemplate(Long uid, String template) throws ShareGoodsTextTemplateException { - isCommonTemplateRight(template); - ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); - if (old != null) { - ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); - update.setId(old.getId()); - update.setShareTextTemplate(template); - update.setUpdateTime(new Date()); - shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); - } else { - ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); - textTemplate.setCreateTime(new Date()); - textTemplate.setShareTextTemplate(template); - textTemplate.setUid(uid); - shareGoodsTextTemplateMapper.insertSelective(textTemplate); - } - } - - @Override - public void saveCommonTemplateJD(Long uid, String template) throws ShareGoodsTextTemplateException { - isCommonTemplateRight(template); - ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); - if (old != null) { - ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); - update.setId(old.getId()); - update.setShareJDTextTemplate(template); - update.setUpdateTime(new Date()); - shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); - } else { - ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); - textTemplate.setCreateTime(new Date()); - textTemplate.setShareJDTextTemplate(template); - textTemplate.setUid(uid); - shareGoodsTextTemplateMapper.insertSelective(textTemplate); - } - } - - @Override - public void saveCommonTemplatePDD(Long uid, String template) throws ShareGoodsTextTemplateException { - isCommonTemplateRight(template); - ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); - if (old != null) { - ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); - update.setId(old.getId()); - update.setSharePDDTextTemplate(template); - update.setUpdateTime(new Date()); - shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); - } else { - ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); - textTemplate.setCreateTime(new Date()); - textTemplate.setSharePDDTextTemplate(template); - textTemplate.setUid(uid); - shareGoodsTextTemplateMapper.insertSelective(textTemplate); - } - } - - @Override - public String getCommonTemplate(Long uid) { - ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); - if (template != null) - return template.getShareTextTemplate(); - return null; - } - - @Transactional - @Override - public void saveCouponTemplate(Long uid, String template) throws ShareGoodsTextTemplateException { - // 鏍煎紡楠岃瘉 - isTaoLiJinTemplateRight(template); - - ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); - if (old != null) { - ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); - update.setId(old.getId()); - update.setShareCouponTextTemplate(template); - update.setUpdateTime(new Date()); - shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); - } else { - ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); - textTemplate.setCreateTime(new Date()); - textTemplate.setShareCouponTextTemplate(template); - textTemplate.setUid(uid); - shareGoodsTextTemplateMapper.insertSelective(textTemplate); - } - } - - @Transactional - @Override - public void saveCouponTemplateJD(Long uid, String template) throws ShareGoodsTextTemplateException { - // 鏍煎紡楠岃瘉 - isTaoLiJinTemplateRight(template); - - ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); - if (old != null) { - ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); - update.setId(old.getId()); - update.setShareJDTextTemplateCoupon(template); - update.setUpdateTime(new Date()); - shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); - } else { - ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); - textTemplate.setCreateTime(new Date()); - textTemplate.setShareJDTextTemplateCoupon(template); - textTemplate.setUid(uid); - shareGoodsTextTemplateMapper.insertSelective(textTemplate); - } - } - - - @Transactional - @Override - public void saveCouponTemplatePDD(Long uid, String template) throws ShareGoodsTextTemplateException { - // 鏍煎紡楠岃瘉 - isTaoLiJinTemplateRight(template); - - ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); - if (old != null) { - ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); - update.setId(old.getId()); - update.setSharePDDTextTemplateCoupon(template); - update.setUpdateTime(new Date()); - shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); - } else { - ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); - textTemplate.setCreateTime(new Date()); - textTemplate.setSharePDDTextTemplateCoupon(template); - textTemplate.setUid(uid); - shareGoodsTextTemplateMapper.insertSelective(textTemplate); - } - } - - - @Transactional - @Override - public void saveTaoLiJinTemplate(Long uid, String template) throws ShareGoodsTextTemplateException { - - isCouponTemplateRight(template); - - ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); - if (old != null) { - ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); - update.setId(old.getId()); - update.setShareTaoLiJinTextTemplate(template); - update.setUpdateTime(new Date()); - shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); - } else { - ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); - textTemplate.setCreateTime(new Date()); - textTemplate.setShareTaoLiJinTextTemplate(template); - textTemplate.setUid(uid); - shareGoodsTextTemplateMapper.insertSelective(textTemplate); - } - - } - - @Override - public String geteCouponTemplate(Long uid) { - ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); - if (template != null) - return template.getShareCouponTextTemplate(); - return null; - } - - - @Override - public String getTaoLiJinTemplate(Long uid) { - ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); - if (template != null) - return template.getShareTaoLiJinTextTemplate(); - return null; - } - - @Override - public ShareGoodsTextTemplate getShareGoodsTextTemplate(Long uid) { - return shareGoodsTextTemplateMapper.selectByUid(uid); - } - - @Override - public void isCommonTemplateRight(String template) throws ShareGoodsTextTemplateException { - String[] keys = new String[] { "{鏍囬}", "{搴楅摵绫诲瀷}", "{鍟嗗搧鍘熶环}", "{鏈堥攢閲弣", "{鐭摼}", "{娣樺彛浠" }; - int keysCount = 0; - for (String key : keys) - if (template != null && template.contains(key)) - keysCount++; - if (keysCount == 0) - throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); - } - - @Override - public void isCommonTemplateRightJD(String template) throws ShareGoodsTextTemplateException { - String[] keys = new String[] { "{鏍囬}","{浜笢浠穧", "{鍟嗗搧鍘熶环}", "{鏈堥攢閲弣", "{鐭摼鎺" }; - int keysCount = 0; - for (String key : keys) - if (template != null && template.contains(key)) - keysCount++; - if (keysCount == 0) - throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); - } - - @Override - public void isCommonTemplateRightPDD(String template) throws ShareGoodsTextTemplateException { - String[] keys = new String[] { "{鏍囬}", "{鍟嗗搧鍘熶环}", "{鏈堥攢閲弣", "{鐭摼鎺"}; - int keysCount = 0; - for (String key : keys) - if (template != null && template.contains(key)) - keysCount++; - if (keysCount == 0) - throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); - } - - @Override - public void isCouponTemplateRight(String template) throws ShareGoodsTextTemplateException { - String[] keys = new String[] { "{鏍囬}", "{搴楅摵绫诲瀷}", "{鍟嗗搧鍘熶环}", "{浼樻儬鍒搁潰棰潁", "{浼樻儬鍒镐环}", "{鏈堥攢閲弣", "{棰嗗埜鐭摼}", "{娣樺彛浠" }; - int keysCount = 0; - for (String key : keys) - if (template != null && template.contains(key)) - keysCount++; - if (keysCount == 0) - throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); - } - - - @Override - public void isCouponTemplateRightJD(String template) throws ShareGoodsTextTemplateException { - String[] keys = new String[] { "{鏍囬}","{浜笢浠穧", "{鍟嗗搧鍘熶环}", "{浼樻儬鍒搁潰棰潁", "{浼樻儬鍒镐环}", "{鏈堥攢閲弣", "{鐭摼鎺" }; - int keysCount = 0; - for (String key : keys) - if (template != null && template.contains(key)) - keysCount++; - if (keysCount == 0) - throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); - } - - - @Override - public void isCouponTemplateRightPDD(String template) throws ShareGoodsTextTemplateException { - String[] keys = new String[] { "{鏍囬}", "{鍟嗗搧鍘熶环}", "{浼樻儬鍒搁潰棰潁", "{浼樻儬鍒镐环}", "{鎬婚攢閲弣", "{鐭摼鎺"}; - int keysCount = 0; - for (String key : keys) - if (template != null && template.contains(key)) - keysCount++; - if (keysCount == 0) - throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); - } - - - @Override - public void isTaoLiJinTemplateRight(String template) throws ShareGoodsTextTemplateException { - String[] keys = new String[] { "{鏍囬}", "{搴楅摵绫诲瀷}", "{鍟嗗搧鍘熶环}", "{浼樻儬鍒搁潰棰潁", "{娣樼ぜ閲戦潰棰潁", "{浼樻儬鍒镐环}", "{鏈堥攢閲弣", "{棰嗗埜鐭摼}", "{娣樺彛浠" }; - int keysCount = 0; - for (String key : keys) - if (template != null && template.contains(key)) - keysCount++; - if (keysCount == 0) - throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); - } - - - @Override - public String createContentByTemplate(String template, Long uid, TaoBaoGoodsBrief goods, String token, - String shortLink, boolean hasCoupon, Long tljId) { - - if (tljId != null) { - // 璁$畻鎺ㄥ箍绾㈠寘 - String warningRate = configTaoLiJinService.getValueByKey("warning_value"); - BigDecimal spreadMoney = TaoLiJinUtil.getSpreadMoney(warningRate, goods); - - return template.replace("{鏍囬}", goods.getTitle()).replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera( goods.getZkPrice()).toString()) - .replace("{鏈堥攢閲弣", TaoBaoUtil.getSaleCount(goods.getBiz30day())).replace("{棰嗗埜鐭摼}", shortLink) - .replace("{娣樺彛浠", token).replace("{浼樻儬鍒搁潰棰潁", BigDecimalUtil.getWithNoZera(goods.getCouponAmount()).toString()) - .replace("{娣樼ぜ閲戦潰棰潁", BigDecimalUtil.getWithNoZera(spreadMoney).toString()).replace("{浼樻儬鍒镐环}", BigDecimalUtil.getWithNoZera( TaoBaoUtil.getAfterUseCouplePrice(goods)).toString()) - .replace("{搴楅摵绫诲瀷}", goods.getUserType() == 1 ? "澶╃尗浠�" : "娣樺疂浠�"); - } - - if (!hasCoupon) { - return template.replace("{鏍囬}", goods.getTitle()).replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera(goods.getZkPrice()).toString()) - .replace("{鏈堥攢閲弣", TaoBaoUtil.getSaleCount(goods.getBiz30day())).replace("{棰嗗埜鐭摼}", shortLink) - .replace("{娣樺彛浠", token).replace("{搴楅摵绫诲瀷}", goods.getUserType() == 1 ? "澶╃尗浠�" - : "娣樺疂浠�"); - } else { - return template.replace("{鏍囬}", goods.getTitle()).replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera( goods.getZkPrice()).toString()) - .replace("{鏈堥攢閲弣", TaoBaoUtil.getSaleCount(goods.getBiz30day())).replace("{棰嗗埜鐭摼}", shortLink) - .replace("{娣樺彛浠", token).replace("{浼樻儬鍒搁潰棰潁", BigDecimalUtil.getWithNoZera(goods.getCouponAmount()).toString()) - .replace("{浼樻儬鍒镐环}", BigDecimalUtil.getWithNoZera( TaoBaoUtil.getAfterUseCouplePrice(goods)).toString()) - .replace("{搴楅摵绫诲瀷}", goods.getUserType() == 1 ? "澶╃尗浠�" : "娣樺疂浠�"); - } - } - - - @Override - public String createContentByTemplateJD(String template, Long uid, JDGoods goods, String shortLink, boolean hasCoupon) { - BigDecimal price = goods.getPrice(); - JDPingouInfo pinGouInfo = goods.getPinGouInfo(); - if (pinGouInfo != null) { - price = pinGouInfo.getPingouPrice(); - } - - if (!hasCoupon) { - template = template.replace("{鏍囬}", goods.getSkuName()).replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera(price).toString()) - .replace("{鏈堥攢閲弣", JDUtil.getSaleCount(goods.getInOrderCount30Days())).replace("{鐭摼鎺", shortLink); - } else { - template = template.replace("{鏍囬}", goods.getSkuName()).replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera(price).toString()) - .replace("{鏈堥攢閲弣", JDUtil.getSaleCount(goods.getInOrderCount30Days())).replace("{鐭摼鎺", shortLink) - .replace("{浼樻儬鍒搁潰棰潁", BigDecimalUtil.getWithNoZera(goods.getCouponInfo().getDiscount()).toString()) - .replace("{浼樻儬鍒镐环}", BigDecimalUtil.getWithNoZera(JDUtil.getQuanPrice(goods)).toString()); - } - - if (pinGouInfo != null) { - template = template.replace("{浜笢浠穧", "鎷艰喘浠�"); - } else { - template = template.replace("{浜笢浠穧", "浜笢浠�"); - } - return template; - } - - - @Override - public String createContentByTemplatePDD(String template, Long uid, PDDGoodsDetail goods, - String shortLink, boolean hasCoupon, String token) { - BigDecimal hundred = new BigDecimal(100); - BigDecimal price = MoneyBigDecimalUtil.div(new BigDecimal(goods.getMinGroupPrice()), hundred); - if (!hasCoupon) { - template = template.replace("{鏍囬}", goods.getGoodsName()).replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera(price).toString()) - .replace("{鎬婚攢閲弣", goods.getSalesTip()).replace("{鐭摼鎺", shortLink); - if (StringUtil.isNullOrEmpty(token)) { - template = template.replace("澶嶅埗鏈潯淇℃伅锛寋澶氬鍙d护}鎵撳紑鎷煎澶氾紝绔嬪嵆璐拱", "鐐瑰嚮閾炬帴锛屾墦寮�鎷煎澶氾紝绔嬪嵆璐拱"); - } else { - template = template.replace("{澶氬鍙d护}", token); - } - } else { - BigDecimal amount = MoneyBigDecimalUtil.div(new BigDecimal(goods.getCouponDiscount()), hundred); - template = template.replace("{鏍囬}", goods.getGoodsName()).replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera(price).toString()) - .replace("{鎬婚攢閲弣", goods.getSalesTip()).replace("{鐭摼鎺", shortLink) - .replace("{浼樻儬鍒搁潰棰潁", BigDecimalUtil.getWithNoZera(amount).toString()) - .replace("{浼樻儬鍒镐环}", BigDecimalUtil.getWithNoZera(PinDuoDuoUtil.getQuanPrice(goods)).toString()); - - if (StringUtil.isNullOrEmpty(token)) { - template = template.replace("澶嶅埗鏈潯淇℃伅锛寋澶氬鍙d护}鎵撳紑鎷煎澶氾紝鍏嶈垂棰嗗埜", "鐐瑰嚮閾炬帴锛屾墦寮�鎷煎澶氾紝鍏嶈垂棰嗗埜"); - } else { - template = template.replace("{澶氬鍙d护}", token); - } - } - - return template; - } - - @Override - public void resetCommonTemplate(Long uid) { - ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); - if (template != null) { - ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); - update.setId(template.getId()); - update.setShareTextTemplate(""); - update.setUpdateTime(new Date()); - shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); - } - - } - - @Override - public void resetCouponTemplate(Long uid) { - ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); - if (template != null) { - ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); - update.setId(template.getId()); - update.setShareCouponTextTemplate(""); - update.setUpdateTime(new Date()); - shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); - } - } - - - @Override - public void resetCommonTemplateJD(Long uid) { - ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); - if (template != null) { - ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); - update.setId(template.getId()); - update.setShareJDTextTemplate(""); - update.setUpdateTime(new Date()); - shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); - } - - } - - @Override - public void resetCouponTemplateJD(Long uid) { - ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); - if (template != null) { - ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); - update.setId(template.getId()); - update.setShareJDTextTemplateCoupon(""); - update.setUpdateTime(new Date()); - shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); - } - } - - - @Override - public void resetCommonTemplatePDD(Long uid) { - ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); - if (template != null) { - ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); - update.setId(template.getId()); - update.setSharePDDTextTemplate(""); - update.setUpdateTime(new Date()); - shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); - } - - } - - @Override - public void resetCouponTemplatePDD(Long uid) { - ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); - if (template != null) { - ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); - update.setId(template.getId()); - update.setSharePDDTextTemplateCoupon(""); - update.setUpdateTime(new Date()); - shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); - } - } - - @Override - public void resetTaoLijinTemplate(Long uid) { - ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); - if (template != null) { - ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); - update.setId(template.getId()); - update.setShareTaoLiJinTextTemplate(""); - update.setUpdateTime(new Date()); - shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); - } - } - -} +package com.yeshi.fanli.service.impl.goods; + +import java.math.BigDecimal; +import java.util.Date; + +import javax.annotation.Resource; + +import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.service.inter.user.UserInfoService; +import com.yeshi.fanli.util.goods.douyin.DYUtil; +import com.yeshi.fanli.util.goods.douyin.vo.DYGoodsDetail; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.yeshi.utils.BigDecimalUtil; + +import com.yeshi.fanli.dao.mybatis.goods.ShareGoodsTextTemplateMapper; +import com.yeshi.fanli.dto.jd.JDPingouInfo; +import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; +import com.yeshi.fanli.dto.suning.SuningGoodsInfo; +import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo; +import com.yeshi.fanli.entity.goods.ShareGoodsTextTemplate; +import com.yeshi.fanli.entity.jd.JDGoods; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; +import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief; +import com.yeshi.fanli.exception.goods.ShareGoodsTextTemplateException; +import com.yeshi.fanli.service.inter.config.ConfigService; +import com.yeshi.fanli.service.inter.goods.ShareGoodsTextTemplateService; +import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService; +import org.yeshi.utils.MoneyBigDecimalUtil; +import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.TaoBaoConstant; +import com.yeshi.fanli.util.jd.JDUtil; +import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil; +import com.yeshi.fanli.util.taobao.TaoBaoUtil; +import com.yeshi.fanli.util.taobao.TaoLiJinUtil; + +/** + * 鍒嗕韩鍟嗗搧妯℃澘 + * + * @author Administrator + */ +@Service +public class ShareGoodsTextTemplateServiceImpl implements ShareGoodsTextTemplateService { + + @Resource + private ShareGoodsTextTemplateMapper shareGoodsTextTemplateMapper; + + @Resource + private ConfigService configService; + + @Resource + private ConfigTaoLiJinService configTaoLiJinService; + + @Resource + private UserInfoService userInfoService; + + @Override + public void saveCommonTemplate(Long uid, String template) throws ShareGoodsTextTemplateException { + isCommonTemplateRight(template); + ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); + if (old != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(old.getId()); + update.setShareTextTemplate(template); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } else { + ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); + textTemplate.setCreateTime(new Date()); + textTemplate.setShareTextTemplate(template); + textTemplate.setUid(uid); + shareGoodsTextTemplateMapper.insertSelective(textTemplate); + } + } + + @Override + public void saveCommonTemplateJD(Long uid, String template) throws ShareGoodsTextTemplateException { + isCommonTemplateRight(template); + ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); + if (old != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(old.getId()); + update.setShareJDTextTemplate(template); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } else { + ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); + textTemplate.setCreateTime(new Date()); + textTemplate.setShareJDTextTemplate(template); + textTemplate.setUid(uid); + shareGoodsTextTemplateMapper.insertSelective(textTemplate); + } + } + + @Override + public void saveCommonTemplatePDD(Long uid, String template) throws ShareGoodsTextTemplateException { + isCommonTemplateRight(template); + ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); + if (old != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(old.getId()); + update.setSharePDDTextTemplate(template); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } else { + ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); + textTemplate.setCreateTime(new Date()); + textTemplate.setSharePDDTextTemplate(template); + textTemplate.setUid(uid); + shareGoodsTextTemplateMapper.insertSelective(textTemplate); + } + } + + @Override + public String getCommonTemplate(Long uid) { + ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); + if (template != null) + return template.getShareTextTemplate(); + return null; + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void saveCouponTemplate(Long uid, String template) throws ShareGoodsTextTemplateException { + // 鏍煎紡楠岃瘉 + isTaoLiJinTemplateRight(template); + + ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); + if (old != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(old.getId()); + update.setShareCouponTextTemplate(template); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } else { + ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); + textTemplate.setCreateTime(new Date()); + textTemplate.setShareCouponTextTemplate(template); + textTemplate.setUid(uid); + shareGoodsTextTemplateMapper.insertSelective(textTemplate); + } + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void saveCouponTemplateJD(Long uid, String template) throws ShareGoodsTextTemplateException { + // 鏍煎紡楠岃瘉 + isTaoLiJinTemplateRight(template); + + ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); + if (old != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(old.getId()); + update.setShareJDTextTemplateCoupon(template); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } else { + ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); + textTemplate.setCreateTime(new Date()); + textTemplate.setShareJDTextTemplateCoupon(template); + textTemplate.setUid(uid); + shareGoodsTextTemplateMapper.insertSelective(textTemplate); + } + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void saveCouponTemplatePDD(Long uid, String template) throws ShareGoodsTextTemplateException { + // 鏍煎紡楠岃瘉 + isTaoLiJinTemplateRight(template); + + ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); + if (old != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(old.getId()); + update.setSharePDDTextTemplateCoupon(template); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } else { + ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); + textTemplate.setCreateTime(new Date()); + textTemplate.setSharePDDTextTemplateCoupon(template); + textTemplate.setUid(uid); + shareGoodsTextTemplateMapper.insertSelective(textTemplate); + } + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void saveTaoLiJinTemplate(Long uid, String template) throws ShareGoodsTextTemplateException { + + isCouponTemplateRight(template); + + ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); + if (old != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(old.getId()); + update.setShareTaoLiJinTextTemplate(template); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } else { + ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); + textTemplate.setCreateTime(new Date()); + textTemplate.setShareTaoLiJinTextTemplate(template); + textTemplate.setUid(uid); + shareGoodsTextTemplateMapper.insertSelective(textTemplate); + } + + } + + @Override + public String geteCouponTemplate(Long uid) { + ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); + if (template != null) + return template.getShareCouponTextTemplate(); + return null; + } + + @Override + public String getTaoLiJinTemplate(Long uid) { + ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); + if (template != null) + return template.getShareTaoLiJinTextTemplate(); + return null; + } + + @Override + public ShareGoodsTextTemplate getShareGoodsTextTemplate(Long uid) { + return shareGoodsTextTemplateMapper.selectByUid(uid); + } + + @Override + public String getTextTemplateByTB(Long uid) { + String template = ""; + ShareGoodsTextTemplate objct = shareGoodsTextTemplateMapper.selectByUid(uid); + if (objct != null && !StringUtil.isNullOrEmpty(objct.getShareTextTemplate())) { + template = objct.getShareTextTemplate(); + if (template.contains("{鍟嗗搧鍘熶环}") || template.contains("{浼樻儬鍒搁潰棰潁") || template.contains("{浼樻儬鍒镐环}") + || template.contains("{鏈堥攢閲弣")) { + template = ""; // 鑰佹澘鍒嗕韩 + } + } + SystemEnum system = userInfoService.getUserSystem(uid); + if (StringUtil.isNullOrEmpty(template)) { + template = configService.getValue(ConfigKeyEnum.shareCommentTextTB.getKey(), system); + } + + return template; + } + + @Override + public String getTextTemplateByJD(Long uid) { + String template = ""; + ShareGoodsTextTemplate objct = shareGoodsTextTemplateMapper.selectByUid(uid); + if (objct != null && !StringUtil.isNullOrEmpty(objct.getShareJDTextTemplate())) { + template = objct.getShareJDTextTemplate(); + if (template.contains("{鍟嗗搧鍘熶环}") || template.contains("{鏈堥攢閲弣") || template.contains("{鐭摼鎺")) { + template = ""; // 鑰佹澘鍒嗕韩 + } + } + if (StringUtil.isNullOrEmpty(template)) { + SystemEnum system = userInfoService.getUserSystem(uid); + template = configService.getValue(ConfigKeyEnum.shareCommentTextJD.getKey(), system); + } + return template; + } + + @Override + public String getTextTemplateByPDD(Long uid) { + String template = ""; + ShareGoodsTextTemplate objct = shareGoodsTextTemplateMapper.selectByUid(uid); + if (objct != null && !StringUtil.isNullOrEmpty(objct.getSharePDDTextTemplate())) { + template = objct.getSharePDDTextTemplate(); + if (template.contains("{鍟嗗搧鍘熶环}") || template.contains("{鎬婚攢閲弣") || template.contains("{鐭摼鎺")) { + template = ""; // 鑰佹澘鍒嗕韩 + } + } + if (StringUtil.isNullOrEmpty(template)) { + SystemEnum system = userInfoService.getUserSystem(uid); + template = configService.getValue(ConfigKeyEnum.shareCommentTextPDD.getKey(), system); + } + + return template; + } + + @Override + public String getTextTemplateByVIP(Long uid) { + String template = ""; + ShareGoodsTextTemplate objct = shareGoodsTextTemplateMapper.selectByUid(uid); + if (objct != null && !StringUtil.isNullOrEmpty(objct.getShareVIPTextTemplate())) { + template = objct.getShareVIPTextTemplate(); + } + if (StringUtil.isNullOrEmpty(template)) { + SystemEnum system = userInfoService.getUserSystem(uid); + template = configService.getValue(ConfigKeyEnum.shareCommentTextVIP.getKey(), system); + } + + return template; + } + + @Override + public String getTextTemplateBySuNing(Long uid) { + String template = ""; + ShareGoodsTextTemplate objct = shareGoodsTextTemplateMapper.selectByUid(uid); + if (objct != null && !StringUtil.isNullOrEmpty(objct.getShareSuNingTextTemplate())) { + template = objct.getShareSuNingTextTemplate(); + } + if (StringUtil.isNullOrEmpty(template)) { + SystemEnum system = userInfoService.getUserSystem(uid); + template = configService.getValue(ConfigKeyEnum.shareCommentTextSuNing.getKey(), system); + } + + return template; + } + + @Override + public void resetCommonTemplateDY(Long uid) { + ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); + if (template != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(template.getId()); + update.setShareDYTextTemplate(""); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } + } + + @Override + public void resetCouponTemplateDY(Long uid) { + ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); + if (template != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(template.getId()); + update.setShareDYTextTemplate(""); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } + } + + @Override + public String getTextTemplateByDY(Long uid) { + String template = ""; + ShareGoodsTextTemplate objct = shareGoodsTextTemplateMapper.selectByUid(uid); + if (objct != null && !StringUtil.isNullOrEmpty(objct.getShareDYTextTemplate())) { + template = objct.getShareDYTextTemplate(); + } + if (StringUtil.isNullOrEmpty(template)) { + SystemEnum system = userInfoService.getUserSystem(uid); + template = configService.getValue(ConfigKeyEnum.shareCommentTextDY.getKey(), system); + } + + return template; + } + + + @Override + public void saveTemplateTB(Long uid, String template) throws ShareGoodsTextTemplateException { + verifyRightTB(template); + ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); + if (old != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(old.getId()); + update.setShareTextTemplate(template); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } else { + ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); + textTemplate.setCreateTime(new Date()); + textTemplate.setShareTextTemplate(template); + textTemplate.setUid(uid); + shareGoodsTextTemplateMapper.insertSelective(textTemplate); + } + } + + @Override + public void saveTemplateJD(Long uid, String template) throws ShareGoodsTextTemplateException { + verifyRightJD(template); + ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); + if (old != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(old.getId()); + update.setShareJDTextTemplate(template); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } else { + ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); + textTemplate.setCreateTime(new Date()); + textTemplate.setShareJDTextTemplate(template); + textTemplate.setUid(uid); + shareGoodsTextTemplateMapper.insertSelective(textTemplate); + } + } + + @Override + public void saveTemplatePDD(Long uid, String template) throws ShareGoodsTextTemplateException { + verifyRightPDD(template); + ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); + if (old != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(old.getId()); + update.setSharePDDTextTemplate(template); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } else { + ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); + textTemplate.setCreateTime(new Date()); + textTemplate.setSharePDDTextTemplate(template); + textTemplate.setUid(uid); + shareGoodsTextTemplateMapper.insertSelective(textTemplate); + } + } + + + @Override + public void saveTemplateVIP(Long uid, String template) throws ShareGoodsTextTemplateException { + verifyRightVIP(template); + ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); + if (old != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(old.getId()); + update.setShareVIPTextTemplate(template); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } else { + ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); + textTemplate.setCreateTime(new Date()); + textTemplate.setShareVIPTextTemplate(template); + textTemplate.setUid(uid); + shareGoodsTextTemplateMapper.insertSelective(textTemplate); + } + } + + + @Override + public void saveTemplateSuNing(Long uid, String template) throws ShareGoodsTextTemplateException { + verifyRightSuNing(template); + ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); + if (old != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(old.getId()); + update.setShareSuNingTextTemplate(template); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } else { + ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); + textTemplate.setCreateTime(new Date()); + textTemplate.setShareSuNingTextTemplate(template); + textTemplate.setUid(uid); + shareGoodsTextTemplateMapper.insertSelective(textTemplate); + } + } + + @Override + public void saveTemplateDY(Long uid, String template) throws ShareGoodsTextTemplateException { + verifyRightDY(template); + ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); + if (old != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(old.getId()); + update.setShareDYTextTemplate(template); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } else { + ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate(); + textTemplate.setCreateTime(new Date()); + textTemplate.setShareDYTextTemplate(template); + textTemplate.setUid(uid); + shareGoodsTextTemplateMapper.insertSelective(textTemplate); + } + } + + + @Override + public void verifyRightTB(String template) throws ShareGoodsTextTemplateException { + String[] keys = new String[]{"{鍘熶环}", "{鍒稿悗浠穧", "{娣樺彛浠"}; + int keysCount = 0; + for (String key : keys) + if (template != null && template.contains(key)) + keysCount++; + if (keysCount == 0) + throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); + } + + @Override + public void verifyRightJD(String template) throws ShareGoodsTextTemplateException { + String[] keys = new String[]{"{鍘熶环}", "{鍒稿悗浠穧", "{閾炬帴}"}; + int keysCount = 0; + for (String key : keys) + if (template != null && template.contains(key)) + keysCount++; + if (keysCount == 0) + throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); + } + + @Override + public void verifyRightPDD(String template) throws ShareGoodsTextTemplateException { + String[] keys = new String[]{"{鍘熶环}", "{鍒稿悗浠穧", "{閾炬帴}"}; + int keysCount = 0; + for (String key : keys) + if (template != null && template.contains(key)) + keysCount++; + if (keysCount == 0) + throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); + } + + + @Override + public void verifyRightVIP(String template) throws ShareGoodsTextTemplateException { + String[] keys = new String[]{"{鍦ㄥ敭浠穧", "{鎶樻墸浠穧", "{閾炬帴}"}; + int keysCount = 0; + for (String key : keys) + if (template != null && template.contains(key)) + keysCount++; + if (keysCount == 0) + throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); + } + + @Override + public void verifyRightSuNing(String template) throws ShareGoodsTextTemplateException { + String[] keys = new String[]{"{鍘熶环}", "{鍒稿悗浠穧", "{閾炬帴}"}; + int keysCount = 0; + for (String key : keys) + if (template != null && template.contains(key)) + keysCount++; + if (keysCount == 0) + throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); + } + + @Override + public void verifyRightDY(String template) throws ShareGoodsTextTemplateException { + String[] keys = new String[]{"{鍘熶环}", "{鍒稿悗浠穧", "{閾炬帴}"}; + int keysCount = 0; + for (String key : keys) + if (template != null && template.contains(key)) + keysCount++; + if (keysCount == 0) + throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); + } + + @Override + public String createContentTB(String template, TaoBaoGoodsBrief goods, String token, boolean coupon) { + String commentText = template.replace("{鍘熶环}", goods.getZkPrice().toString()); + commentText = commentText.replace("{娣樺彛浠", TaoBaoUtil.filterTaoToken(token)); + if (!coupon) { + commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); + commentText = commentText.replace("銆愬埜鍚庝环銆憑鍒稿悗浠穧鍏�", ""); + } else { + commentText = commentText.replace("{鍒稿悗浠穧", TaoBaoUtil.getCouponPrice(goods) + ""); + } + return deleteBlankLine(commentText); + } + + @Override + public String createContentJD(String template, JDGoods goods, String jumpLink, boolean coupon) { + String commentText = template.replace("{鍘熶环}", goods.getPrice().toString()); + commentText = commentText.replace("{閾炬帴}", jumpLink); + if (!coupon) { + commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); + commentText = commentText.replace("銆愬埜鍚庝环銆憑鍒稿悗浠穧鍏�", ""); + } else { + commentText = commentText.replace("{鍒稿悗浠穧", + BigDecimalUtil.getWithNoZera(JDUtil.getCouponPrice(goods)).toString()); + } + return deleteBlankLine(commentText); + } + + @Override + public String createContentPDD(String template, PDDGoodsDetail goods, String jumpLink, boolean coupon) { + String commentText = template.replace("{鍘熶环}", MoneyBigDecimalUtil + .div(new BigDecimal(goods.getMinGroupPrice()), new BigDecimal(100)).setScale(2).toString()); + commentText = commentText.replace("{閾炬帴}", jumpLink); + if (!coupon) { + commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); + commentText = commentText.replace("銆愬埜鍚庝环銆憑鍒稿悗浠穧鍏�", ""); + } else { + commentText = commentText.replace("{鍒稿悗浠穧", + BigDecimalUtil.getWithNoZera(PinDuoDuoUtil.getCouponPrice(goods)).toString()); + } + return deleteBlankLine(commentText); + } + + @Override + public String createContentVIP(String template, VIPGoodsInfo goods, String jumpLink) { + String commentText = template.replace("{鍦ㄥ敭浠穧", "" + BigDecimalUtil.getWithNoZera(new BigDecimal(goods.getMarketPrice()))); + commentText = commentText.replace("{閾炬帴}", jumpLink); + commentText = commentText.replace("{鎶樻墸浠穧", "" + MoneyBigDecimalUtil.getWithNoZera(new BigDecimal(goods.getVipPrice()))); + return deleteBlankLine(commentText); + } + + + @Override + public void isCommonTemplateRight(String template) throws ShareGoodsTextTemplateException { + String[] keys = new String[]{"{鏍囬}", "{搴楅摵绫诲瀷}", "{鍟嗗搧鍘熶环}", "{鏈堥攢閲弣", "{鐭摼}", "{娣樺彛浠"}; + int keysCount = 0; + for (String key : keys) + if (template != null && template.contains(key)) + keysCount++; + if (keysCount == 0) + throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); + } + + @Override + public void isCommonTemplateRightJD(String template) throws ShareGoodsTextTemplateException { + String[] keys = new String[]{"{鏍囬}", "{浜笢浠穧", "{鍟嗗搧鍘熶环}", "{鏈堥攢閲弣", "{鐭摼鎺"}; + int keysCount = 0; + for (String key : keys) + if (template != null && template.contains(key)) + keysCount++; + if (keysCount == 0) + throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); + } + + @Override + public void isCommonTemplateRightPDD(String template) throws ShareGoodsTextTemplateException { + String[] keys = new String[]{"{鏍囬}", "{鍟嗗搧鍘熶环}", "{鏈堥攢閲弣", "{鐭摼鎺"}; + int keysCount = 0; + for (String key : keys) + if (template != null && template.contains(key)) + keysCount++; + if (keysCount == 0) + throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); + } + + @Override + public void isCouponTemplateRight(String template) throws ShareGoodsTextTemplateException { + String[] keys = new String[]{"{鏍囬}", "{搴楅摵绫诲瀷}", "{鍟嗗搧鍘熶环}", "{浼樻儬鍒搁潰棰潁", "{浼樻儬鍒镐环}", "{鏈堥攢閲弣", "{棰嗗埜鐭摼}", "{娣樺彛浠"}; + int keysCount = 0; + for (String key : keys) + if (template != null && template.contains(key)) + keysCount++; + if (keysCount == 0) + throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); + } + + @Override + public void isCouponTemplateRightJD(String template) throws ShareGoodsTextTemplateException { + String[] keys = new String[]{"{鏍囬}", "{浜笢浠穧", "{鍟嗗搧鍘熶环}", "{浼樻儬鍒搁潰棰潁", "{浼樻儬鍒镐环}", "{鏈堥攢閲弣", "{鐭摼鎺"}; + int keysCount = 0; + for (String key : keys) + if (template != null && template.contains(key)) + keysCount++; + if (keysCount == 0) + throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); + } + + @Override + public void isCouponTemplateRightPDD(String template) throws ShareGoodsTextTemplateException { + String[] keys = new String[]{"{鏍囬}", "{鍟嗗搧鍘熶环}", "{浼樻儬鍒搁潰棰潁", "{浼樻儬鍒镐环}", "{鎬婚攢閲弣", "{鐭摼鎺"}; + int keysCount = 0; + for (String key : keys) + if (template != null && template.contains(key)) + keysCount++; + if (keysCount == 0) + throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); + } + + @Override + public void isTaoLiJinTemplateRight(String template) throws ShareGoodsTextTemplateException { + String[] keys = new String[]{"{鏍囬}", "{搴楅摵绫诲瀷}", "{鍟嗗搧鍘熶环}", "{浼樻儬鍒搁潰棰潁", "{娣樼ぜ閲戦潰棰潁", "{浼樻儬鍒镐环}", "{鏈堥攢閲弣", "{棰嗗埜鐭摼}", + "{娣樺彛浠"}; + int keysCount = 0; + for (String key : keys) + if (template != null && template.contains(key)) + keysCount++; + if (keysCount == 0) + throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); + } + + private String deleteBlankLine(String st) { + return st.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n"); + } + + @Override + public String createContentByTemplate(String template, Long uid, TaoBaoGoodsBrief goods, String token, + String shortLink, boolean hasCoupon, Long tljId) { + + if (tljId != null) { + // 璁$畻鎺ㄥ箍绾㈠寘 + String warningRate = configTaoLiJinService.getValueByKey("warning_value", new Date()); + BigDecimal spreadMoney = TaoLiJinUtil.getSpreadMoney(warningRate, goods); + + return template.replace("{鏍囬}", goods.getTitle()) + .replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera(goods.getZkPrice()).toString()) + .replace("{鏈堥攢閲弣", TaoBaoUtil.getSaleCount(goods.getBiz30day())).replace("{棰嗗埜鐭摼}", shortLink) + .replace("{娣樺彛浠", token) + .replace("{浼樻儬鍒搁潰棰潁", BigDecimalUtil.getWithNoZera(goods.getCouponAmount()).toString()) + .replace("{娣樼ぜ閲戦潰棰潁", BigDecimalUtil.getWithNoZera(spreadMoney).toString()) + .replace("{浼樻儬鍒镐环}", + BigDecimalUtil.getWithNoZera(TaoBaoUtil.getCouponPrice(goods)).toString()) + .replace("{搴楅摵绫诲瀷}", goods.getUserType() == 1 ? TaoBaoConstant.SHARE_PRICE_TM + : TaoBaoConstant.SHARE_PRICE_TAOBAO); + } + + if (!hasCoupon) { + return template.replace("{鏍囬}", goods.getTitle()) + .replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera(goods.getZkPrice()).toString()) + .replace("{鏈堥攢閲弣", TaoBaoUtil.getSaleCount(goods.getBiz30day())).replace("{棰嗗埜鐭摼}", shortLink) + .replace("{娣樺彛浠", token).replace("{搴楅摵绫诲瀷}", goods.getUserType() == 1 ? TaoBaoConstant.SHARE_PRICE_TM + : TaoBaoConstant.SHARE_PRICE_TAOBAO); + } else { + return template.replace("{鏍囬}", goods.getTitle()) + .replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera(goods.getZkPrice()).toString()) + .replace("{鏈堥攢閲弣", TaoBaoUtil.getSaleCount(goods.getBiz30day())).replace("{棰嗗埜鐭摼}", shortLink) + .replace("{娣樺彛浠", token) + .replace("{浼樻儬鍒搁潰棰潁", BigDecimalUtil.getWithNoZera(goods.getCouponAmount()).toString()) + .replace("{浼樻儬鍒镐环}", + BigDecimalUtil.getWithNoZera(TaoBaoUtil.getCouponPrice(goods)).toString()) + .replace("{搴楅摵绫诲瀷}", goods.getUserType() == 1 ? TaoBaoConstant.SHARE_PRICE_TM + : TaoBaoConstant.SHARE_PRICE_TAOBAO); + } + } + + @Override + public String createContentByTemplateJD(String template, Long uid, JDGoods goods, String shortLink, + boolean hasCoupon) { + BigDecimal price = goods.getPrice(); + JDPingouInfo pinGouInfo = goods.getPinGouInfo(); + if (pinGouInfo != null) { + price = pinGouInfo.getPingouPrice(); + } + + if (!hasCoupon) { + template = template.replace("{鏍囬}", goods.getSkuName()) + .replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera(price).toString()) + .replace("{鏈堥攢閲弣", JDUtil.getSaleCount(goods.getInOrderCount30Days())).replace("{鐭摼鎺", shortLink); + } else { + template = template.replace("{鏍囬}", goods.getSkuName()) + .replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera(price).toString()) + .replace("{鏈堥攢閲弣", JDUtil.getSaleCount(goods.getInOrderCount30Days())).replace("{鐭摼鎺", shortLink) + .replace("{浼樻儬鍒搁潰棰潁", + BigDecimalUtil.getWithNoZera(JDUtil.getShowCouponInfo(goods).getDiscount()).toString()) + .replace("{浼樻儬鍒镐环}", BigDecimalUtil.getWithNoZera(JDUtil.getCouponPrice(goods)).toString()); + } + + if (pinGouInfo != null) { + template = template.replace("{浜笢浠穧", "鎷艰喘浠�"); + } else { + template = template.replace("{浜笢浠穧", "浜笢浠�"); + } + return template; + } + + @Override + public String createContentByTemplatePDD(String template, Long uid, PDDGoodsDetail goods, String shortLink, + boolean hasCoupon, String token) { + BigDecimal hundred = new BigDecimal(100); + BigDecimal price = MoneyBigDecimalUtil.div(new BigDecimal(goods.getMinGroupPrice()), hundred); + if (!hasCoupon) { + template = template.replace("{鏍囬}", goods.getGoodsName()) + .replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera(price).toString()) + .replace("{鎬婚攢閲弣", goods.getSalesTip()).replace("{鐭摼鎺", shortLink); + if (StringUtil.isNullOrEmpty(token)) { + template = template.replace("澶嶅埗鏈潯淇℃伅锛寋澶氬鍙d护}鎵撳紑鎷煎澶氾紝绔嬪嵆璐拱", "鐐瑰嚮閾炬帴锛屾墦寮�鎷煎澶氾紝绔嬪嵆璐拱"); + } else { + template = template.replace("{澶氬鍙d护}", token); + } + } else { + BigDecimal amount = MoneyBigDecimalUtil.div(new BigDecimal(goods.getCouponDiscount()), hundred); + template = template.replace("{鏍囬}", goods.getGoodsName()) + .replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera(price).toString()) + .replace("{鎬婚攢閲弣", goods.getSalesTip()).replace("{鐭摼鎺", shortLink) + .replace("{浼樻儬鍒搁潰棰潁", BigDecimalUtil.getWithNoZera(amount).toString()) + .replace("{浼樻儬鍒镐环}", BigDecimalUtil.getWithNoZera(PinDuoDuoUtil.getCouponPrice(goods)).toString()); + + if (StringUtil.isNullOrEmpty(token)) { + template = template.replace("澶嶅埗鏈潯淇℃伅锛寋澶氬鍙d护}鎵撳紑鎷煎澶氾紝鍏嶈垂棰嗗埜", "鐐瑰嚮閾炬帴锛屾墦寮�鎷煎澶氾紝鍏嶈垂棰嗗埜"); + } else { + template = template.replace("{澶氬鍙d护}", token); + } + } + + return template; + } + + @Override + public void resetCommonTemplate(Long uid) { + ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); + if (template != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(template.getId()); + update.setShareTextTemplate(""); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } + + } + + @Override + public void resetCouponTemplate(Long uid) { + ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); + if (template != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(template.getId()); + update.setShareCouponTextTemplate(""); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } + } + + @Override + public void resetCommonTemplateJD(Long uid) { + ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); + if (template != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(template.getId()); + update.setShareJDTextTemplate(""); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } + + } + + @Override + public void resetCouponTemplateJD(Long uid) { + ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); + if (template != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(template.getId()); + update.setShareJDTextTemplateCoupon(""); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } + } + + @Override + public void resetCommonTemplatePDD(Long uid) { + ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); + if (template != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(template.getId()); + update.setSharePDDTextTemplate(""); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } + + } + + @Override + public void resetCouponTemplatePDD(Long uid) { + ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); + if (template != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(template.getId()); + update.setSharePDDTextTemplateCoupon(""); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } + } + + + @Override + public void resetCommonTemplateVIP(Long uid) { + ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); + if (template != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(template.getId()); + update.setShareVIPTextTemplate(""); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } + + } + + @Override + public void resetCouponTemplateVIP(Long uid) { + ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); + if (template != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(template.getId()); + update.setShareVIPTextTemplateCoupon(""); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } + } + + + @Override + public void resetCommonTemplateSuNing(Long uid) { + ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); + if (template != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(template.getId()); + update.setShareSuNingTextTemplate(""); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } + + } + + @Override + public void resetCouponTemplateSuNing(Long uid) { + ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); + if (template != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(template.getId()); + update.setShareSuNingTextTemplateCoupon(""); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } + } + + + @Override + public void resetTaoLijinTemplate(Long uid) { + ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); + if (template != null) { + ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); + update.setId(template.getId()); + update.setShareTaoLiJinTextTemplate(""); + update.setUpdateTime(new Date()); + shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); + } + } + + @Override + public String getRecommendText(boolean coupon, String title, String sales, String couponAmount, String description, SystemEnum system) { + String template = configService.getValue(ConfigKeyEnum.quickShareGoodsText.getKey(), system); + String recommendText = template.replace("[鍟嗗搧鏍囬]", title); + if (!coupon) { + recommendText = recommendText.replace("鎺ㄨ崘鐞嗙敱:[鎺ㄨ崘璇璢", ""); + recommendText = recommendText.replace("浼樻儬鍒�:[鍒搁潰棰漖鍏�", ""); + } else { + recommendText = recommendText.replace("[鍒搁潰棰漖", couponAmount); + if (!StringUtil.isNullOrEmpty(description)) { + recommendText = recommendText.replace("[鎺ㄨ崘璇璢", description); + } else { + recommendText = recommendText.replace("鎺ㄨ崘鐞嗙敱:[鎺ㄨ崘璇璢", ""); + } + } + + if (StringUtil.isNullOrEmpty(sales) || sales.equals("0")) { + recommendText = recommendText.replace("閿�閲�:[閿�閲廬", ""); + } else { + recommendText = recommendText.replace("[閿�閲廬", sales.replace("涓�", "w")); + } + return recommendText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n"); + } + + + @Override + public String getCommentTextByTaoToken(boolean coupon, String taoToken, String zkPrice, String quanPrice, SystemEnum system) { + String quickCommentText = configService.getValue(ConfigKeyEnum.quickShareTBCommentText.getKey(), system); + String commentText = quickCommentText.replace("[鍘熶环]", zkPrice); + commentText = commentText.replace("[娣樺彛浠", TaoBaoUtil.filterTaoToken(taoToken)); + if (!coupon) { + commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); + commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", ""); + } else { + commentText = commentText.replace("[鍒稿悗浠穄", quanPrice); + } + return commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n"); + } + + @Override + public String getCommentTextByLink(boolean coupon, String link, String zkPrice, String quanPrice, ConfigKeyEnum keyEnum, SystemEnum system) { + String quickCommentText = configService.getValue(keyEnum.getKey(), system); + String commentText = quickCommentText.replace("[鍘熶环]", zkPrice); + commentText = commentText.replace("[閾炬帴]", link); + if (!coupon) { + commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); + commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", ""); + } else { + commentText = commentText.replace("[鍒稿悗浠穄", quanPrice); + } + + return commentText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n"); + } + + + @Override + public String createQuickShareTextSuNing(String template, SuningGoodsInfo goods, String jumpLink) { + String commodityPrice = goods.getCommodityInfo().getCommodityPrice(); + if (StringUtil.isNullOrEmpty(commodityPrice)) { + commodityPrice = goods.getCommodityInfo().getSnPrice(); + } + + String commentText = template.replace("[鍘熶环]", BigDecimalUtil.getWithNoZera(new BigDecimal(commodityPrice)).toString()); + commentText = commentText.replace("[閾炬帴]", jumpLink); + if (goods.getCouponInfo() != null && !StringUtil.isNullOrEmpty(goods.getCouponInfo().getCouponUrl())) {// 鏈夊埜 + BigDecimal amount = new BigDecimal(goods.getCouponInfo().getCouponValue()); + BigDecimal startFee = new BigDecimal(goods.getCouponInfo().getBounsLimit()); + BigDecimal zkPrice = new BigDecimal(commodityPrice); + if (zkPrice.compareTo(startFee) >= 0) { + BigDecimal couponPrice = zkPrice.subtract(amount); + commentText = commentText.replace("[鍒稿悗浠穄", BigDecimalUtil.getWithNoZera(couponPrice).toString()); + } else { + commentText = commentText.replace("[鍒稿悗浠穄", BigDecimalUtil.getWithNoZera(new BigDecimal(commodityPrice)).toString()); + + } + } else { + commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); + commentText = commentText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", ""); + } + return deleteBlankLine(commentText); + } + + + @Override + public String createCommonShareTextSuNing(String template, SuningGoodsInfo goods, String jumpLink) { + String commodityPrice = goods.getCommodityInfo().getCommodityPrice(); + if (StringUtil.isNullOrEmpty(commodityPrice)) { + commodityPrice = goods.getCommodityInfo().getSnPrice(); + } + String commentText = template.replace("{鍘熶环}", BigDecimalUtil.getWithNoZera(new BigDecimal(commodityPrice)).toString()); + commentText = commentText.replace("{閾炬帴}", jumpLink); + if (goods.getCouponInfo() != null && !StringUtil.isNullOrEmpty(goods.getCouponInfo().getCouponUrl())) {// 鏈夊埜 + BigDecimal amount = new BigDecimal(goods.getCouponInfo().getCouponValue()); + BigDecimal startFee = new BigDecimal(goods.getCouponInfo().getBounsLimit()); + BigDecimal zkPrice = new BigDecimal(commodityPrice); + BigDecimal couponPrice = zkPrice; + if (zkPrice.compareTo(startFee) >= 0) { + couponPrice = zkPrice.subtract(amount); + commentText = commentText.replace("{鍒稿悗浠穧", BigDecimalUtil.getWithNoZera(couponPrice).toString()); + } else { + commentText = commentText.replace("{鍒稿悗浠穧", BigDecimalUtil.getWithNoZera(new BigDecimal(commodityPrice)).toString()); + } + } else { + commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); + commentText = commentText.replace("銆愬埜鍚庝环銆憑鍒稿悗浠穧鍏�", ""); + } + return deleteBlankLine(commentText); + } + + @Override + public String createCommonShareTextDY(String template, DYGoodsDetail goods, String jumpLink) { + String commentText = template.replace("{鍘熶环}", BigDecimalUtil.getWithNoZera(DYUtil.getPrice(goods.getPrice())).toString()); + commentText = commentText.replace("{閾炬帴}", jumpLink); + commentText = commentText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); + commentText = commentText.replace("銆愬埜鍚庝环銆憑鍒稿悗浠穧鍏�", ""); + return deleteBlankLine(commentText); + } + + +} -- Gitblit v1.8.0