From 554de444b87aab5f93cb1593a8095612cf9479a7 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期二, 09 六月 2020 17:34:30 +0800 Subject: [PATCH] 订单 --- fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsTextTemplateServiceImpl.java | 836 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 808 insertions(+), 28 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 2acc6d6..bf369b4 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,24 +1,34 @@ 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.HttpUtil; +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.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.util.AESUtil; -import com.yeshi.fanli.util.Constant; +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.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.TaoKeApiUtil; +import com.yeshi.fanli.util.taobao.TaoLiJinUtil; /** * 鍒嗕韩鍟嗗搧妯℃澘 @@ -34,6 +44,9 @@ @Resource private ConfigService configService; + + @Resource + private ConfigTaoLiJinService configTaoLiJinService; @Override public void saveCommonTemplate(Long uid, String template) throws ShareGoodsTextTemplateException { @@ -52,7 +65,44 @@ 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 @@ -63,10 +113,12 @@ return null; } - @Transactional + @Transactional(rollbackFor = Exception.class) @Override public void saveCouponTemplate(Long uid, String template) throws ShareGoodsTextTemplateException { - isCouponTemplateRight(template); + // 鏍煎紡楠岃瘉 + isTaoLiJinTemplateRight(template); + ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid); if (old != null) { ShareGoodsTextTemplate update = new ShareGoodsTextTemplate(); @@ -81,7 +133,73 @@ 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 @@ -93,8 +211,332 @@ } @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 = ""; // 鑰佹澘鍒嗕韩 + } + } + if (StringUtil.isNullOrEmpty(template)) { + template = configService.get(ConfigKeyEnum.shareCommentTextTB.getKey()); + } + + 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)) { + template = configService.get(ConfigKeyEnum.shareCommentTextJD.getKey()); + } + 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)) { + template = configService.get(ConfigKeyEnum.shareCommentTextPDD.getKey()); + } + + 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)) { + template = configService.get(ConfigKeyEnum.shareCommentTextVIP.getKey()); + } + + 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)) { + template = configService.get(ConfigKeyEnum.shareCommentTextSuNing.getKey()); + } + + 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 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 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.getAfterUseCouplePrice(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.getQuanPrice(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.getQuanPrice(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)) @@ -115,31 +557,143 @@ } @Override - public String createContentByTemplate(String template, Long uid, TaoBaoGoodsBrief goods, boolean hasCoupon) { - String url = String.format("http://%s%s?uid=%s&id=%s&appType=flq", configService.getH5Host(), - Constant.systemCommonConfig.getShareGoodsPagePath(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY), - goods.getAuctionId() + ""); - String shortLink = HttpUtil.getShortLink(url); - if (!hasCoupon) { - String token = goods.getCouponLinkTaoToken(); - if (StringUtil.isNullOrEmpty(token)) - token = TaoKeApiUtil.getTKToken(goods.getPictUrl(), goods.getTitle(), goods.getAuctionUrl()); + 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, "妯℃澘鏍煎紡鏈夎"); + } - return template.replace("{鏍囬}", goods.getTitle()).replace("{鍟嗗搧鍘熶环}", goods.getZkPrice().toString()) - .replace("{鏈堥攢閲弣", TaoBaoUtil.getSaleCount(goods.getBiz30day())).replace("{鐭摼}", shortLink) - .replace("{娣樺彛浠", "").replace("{搴楅摵绫诲瀷}", goods.getUserType() == 1 ? "澶╃尗浠�" - : "娣樺疂浠�"); - } else { - String token = goods.getCouponLinkTaoToken(); - if (StringUtil.isNullOrEmpty(token)) - token = TaoKeApiUtil.getTKToken(goods.getPictUrl(), goods.getTitle(), goods.getCouponLink()); + @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, "妯℃澘鏍煎紡鏈夎"); + } - return template.replace("{鏍囬}", goods.getTitle()).replace("{鍟嗗搧鍘熶环}", goods.getZkPrice().toString()) + @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("{浼樻儬鍒搁潰棰潁", goods.getCouponAmount().toString()) - .replace("{浼樻儬鍒镐环}", TaoBaoUtil.getAfterUseCouplePrice(goods).toString()) - .replace("{搴楅摵绫诲瀷}", goods.getUserType() == 1 ? "澶╃尗浠�" : "娣樺疂浠�"); + .replace("{娣樺彛浠", token) + .replace("{浼樻儬鍒搁潰棰潁", BigDecimalUtil.getWithNoZera(goods.getCouponAmount()).toString()) + .replace("{娣樼ぜ閲戦潰棰潁", BigDecimalUtil.getWithNoZera(spreadMoney).toString()) + .replace("{浼樻儬鍒镐环}", + BigDecimalUtil.getWithNoZera(TaoBaoUtil.getAfterUseCouplePrice(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.getAfterUseCouplePrice(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.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 @@ -167,4 +721,230 @@ } } + @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) { + String template = configService.get(ConfigKeyEnum.quickShareGoodsText.getKey()); + 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) { + String quickCommentText = configService.get(ConfigKeyEnum.quickShareTBCommentText.getKey()); + 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) { + String quickCommentText = configService.get(keyEnum.getKey()); + 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); + } + + } -- Gitblit v1.8.0