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 | 630 ++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 550 insertions(+), 80 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 d13741f..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 @@ -12,8 +12,11 @@ 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; @@ -21,6 +24,7 @@ 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; @@ -40,12 +44,10 @@ @Resource private ConfigService configService; - + @Resource private ConfigTaoLiJinService configTaoLiJinService; - - - + @Override public void saveCommonTemplate(Long uid, String template) throws ShareGoodsTextTemplateException { isCommonTemplateRight(template); @@ -64,7 +66,7 @@ shareGoodsTextTemplateMapper.insertSelective(textTemplate); } } - + @Override public void saveCommonTemplateJD(Long uid, String template) throws ShareGoodsTextTemplateException { isCommonTemplateRight(template); @@ -83,7 +85,7 @@ shareGoodsTextTemplateMapper.insertSelective(textTemplate); } } - + @Override public void saveCommonTemplatePDD(Long uid, String template) throws ShareGoodsTextTemplateException { isCommonTemplateRight(template); @@ -111,12 +113,12 @@ return null; } - @Transactional + @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(); @@ -132,13 +134,13 @@ shareGoodsTextTemplateMapper.insertSelective(textTemplate); } } - - @Transactional + + @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(); @@ -154,14 +156,13 @@ shareGoodsTextTemplateMapper.insertSelective(textTemplate); } } - - - @Transactional + + @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(); @@ -178,13 +179,12 @@ } } - - @Transactional + @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(); @@ -201,7 +201,7 @@ } } - + @Override public String geteCouponTemplate(Long uid) { ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); @@ -210,7 +210,6 @@ return null; } - @Override public String getTaoLiJinTemplate(Long uid) { ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); @@ -218,11 +217,300 @@ 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 { @@ -237,7 +525,7 @@ @Override public void isCommonTemplateRightJD(String template) throws ShareGoodsTextTemplateException { - String[] keys = new String[] { "{鏍囬}","{浜笢浠穧", "{鍟嗗搧鍘熶环}", "{鏈堥攢閲弣", "{鐭摼鎺" }; + String[] keys = new String[] { "{鏍囬}", "{浜笢浠穧", "{鍟嗗搧鍘熶环}", "{鏈堥攢閲弣", "{鐭摼鎺" }; int keysCount = 0; for (String key : keys) if (template != null && template.contains(key)) @@ -245,10 +533,10 @@ if (keysCount == 0) throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); } - + @Override public void isCommonTemplateRightPDD(String template) throws ShareGoodsTextTemplateException { - String[] keys = new String[] { "{鏍囬}", "{鍟嗗搧鍘熶环}", "{鏈堥攢閲弣", "{鐭摼鎺", "{澶氬鍙d护}" }; + String[] keys = new String[] { "{鏍囬}", "{鍟嗗搧鍘熶环}", "{鏈堥攢閲弣", "{鐭摼鎺" }; int keysCount = 0; for (String key : keys) if (template != null && template.contains(key)) @@ -256,7 +544,7 @@ if (keysCount == 0) throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); } - + @Override public void isCouponTemplateRight(String template) throws ShareGoodsTextTemplateException { String[] keys = new String[] { "{鏍囬}", "{搴楅摵绫诲瀷}", "{鍟嗗搧鍘熶环}", "{浼樻儬鍒搁潰棰潁", "{浼樻儬鍒镐环}", "{鏈堥攢閲弣", "{棰嗗埜鐭摼}", "{娣樺彛浠" }; @@ -267,11 +555,10 @@ if (keysCount == 0) throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); } - - + @Override public void isCouponTemplateRightJD(String template) throws ShareGoodsTextTemplateException { - String[] keys = new String[] { "{鏍囬}","{浜笢浠穧", "{鍟嗗搧鍘熶环}", "{浼樻儬鍒搁潰棰潁", "{浼樻儬鍒镐环}", "{鏈堥攢閲弣", "{鐭摼鎺" }; + String[] keys = new String[] { "{鏍囬}", "{浜笢浠穧", "{鍟嗗搧鍘熶环}", "{浼樻儬鍒搁潰棰潁", "{浼樻儬鍒镐环}", "{鏈堥攢閲弣", "{鐭摼鎺" }; int keysCount = 0; for (String key : keys) if (template != null && template.contains(key)) @@ -280,10 +567,9 @@ throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); } - @Override public void isCouponTemplateRightPDD(String template) throws ShareGoodsTextTemplateException { - String[] keys = new String[] { "{鏍囬}", "{鍟嗗搧鍘熶环}", "{浼樻儬鍒搁潰棰潁", "{浼樻儬鍒镐环}", "{鎬婚攢閲弣", "{鐭摼鎺"}; + String[] keys = new String[] { "{鏍囬}", "{鍟嗗搧鍘熶环}", "{浼樻儬鍒搁潰棰潁", "{浼樻儬鍒镐环}", "{鎬婚攢閲弣", "{鐭摼鎺" }; int keysCount = 0; for (String key : keys) if (template != null && template.contains(key)) @@ -292,10 +578,10 @@ throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); } - @Override public void isTaoLiJinTemplateRight(String template) throws ShareGoodsTextTemplateException { - String[] keys = new String[] { "{鏍囬}", "{搴楅摵绫诲瀷}", "{鍟嗗搧鍘熶环}", "{浼樻儬鍒搁潰棰潁", "{娣樼ぜ閲戦潰棰潁", "{浼樻儬鍒镐环}", "{鏈堥攢閲弣", "{棰嗗埜鐭摼}", "{娣樺彛浠" }; + String[] keys = new String[] { "{鏍囬}", "{搴楅摵绫诲瀷}", "{鍟嗗搧鍘熶环}", "{浼樻儬鍒搁潰棰潁", "{娣樼ぜ閲戦潰棰潁", "{浼樻儬鍒镐环}", "{鏈堥攢閲弣", "{棰嗗埜鐭摼}", + "{娣樺彛浠" }; int keysCount = 0; for (String key : keys) if (template != null && template.contains(key)) @@ -303,57 +589,73 @@ 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"); + 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()) + + 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 ? "澶╃尗浠�" : "娣樺疂浠�"); - } - + .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("{娣樺彛浠", "").replace("{搴楅摵绫诲瀷}", goods.getUserType() == 1 ? "澶╃尗浠�" - : "娣樺疂浠�"); - } else { - return template.replace("{鏍囬}", goods.getTitle()).replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera( goods.getZkPrice()).toString()) + 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 ? "澶╃尗浠�" : "娣樺疂浠�"); + .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) { + 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()) + 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()) + 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.getShowCouponInfo(goods).getDiscount()).toString()) .replace("{浼樻儬鍒镐环}", BigDecimalUtil.getWithNoZera(JDUtil.getQuanPrice(goods)).toString()); } - + if (pinGouInfo != null) { template = template.replace("{浜笢浠穧", "鎷艰喘浠�"); } else { @@ -361,30 +663,36 @@ } return template; } - - + @Override - public String createContentByTemplatePDD(String template, Long uid, PDDGoodsDetail goods, - String shortLink, boolean hasCoupon, String token) { + 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); + BigDecimal price = MoneyBigDecimalUtil.div(new BigDecimal(goods.getMinGroupPrice()), hundred); if (!hasCoupon) { - template = template.replace("{鏍囬}", goods.getGoodsName()).replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera(price).toString()) + 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()) + 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); + } } - - if (StringUtil.isNullOrEmpty(token)) { - template = template.replace("{澶氬鍙d护}鎵撳紑鎷煎澶氾紝", ""); - } else { - template = template.replace("{澶氬鍙d护}", token); - } - + return template; } @@ -412,8 +720,7 @@ shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); } } - - + @Override public void resetCommonTemplateJD(Long uid) { ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); @@ -438,8 +745,7 @@ shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update); } } - - + @Override public void resetCommonTemplatePDD(Long uid) { ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid); @@ -464,7 +770,60 @@ 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); @@ -476,5 +835,116 @@ 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