From 8222e8b237c5dfb0affcdc03335bfadc06403bf8 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期五, 19 七月 2019 15:49:39 +0800 Subject: [PATCH] 奖励券使用优化类型 --- fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsTextTemplateServiceImpl.java | 342 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 317 insertions(+), 25 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..a208fcd 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,28 @@ 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.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.util.AESUtil; -import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService; 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.TaoKeApiUtil; +import com.yeshi.fanli.util.taobao.TaoLiJinUtil; /** * 鍒嗕韩鍟嗗搧妯℃澘 @@ -34,7 +38,12 @@ @Resource private ConfigService configService; - + + @Resource + private ConfigTaoLiJinService configTaoLiJinService; + + + @Override public void saveCommonTemplate(Long uid, String template) throws ShareGoodsTextTemplateException { isCommonTemplateRight(template); @@ -52,7 +61,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 @@ -66,7 +112,9 @@ @Transactional @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,9 +129,77 @@ 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); @@ -92,6 +208,20 @@ 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[] { "{鏍囬}", "{搴楅摵绫诲瀷}", "{鍟嗗搧鍘熶环}", "{鏈堥攢閲弣", "{鐭摼}", "{娣樺彛浠" }; @@ -104,6 +234,28 @@ } @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[] { "{鏍囬}", "{鍟嗗搧鍘熶环}", "{鏈堥攢閲弣", "{鐭摼鎺", "{澶氬鍙d护}" }; + 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; @@ -113,33 +265,109 @@ if (keysCount == 0) throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎"); } - + + @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()) + + @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("{娣樺彛浠", "").replace("{搴楅摵绫诲瀷}", goods.getUserType() == 1 ? "澶╃尗浠�" : "娣樺疂浠�"); } else { - String token = goods.getCouponLinkTaoToken(); - if (StringUtil.isNullOrEmpty(token)) - token = TaoKeApiUtil.getTKToken(goods.getPictUrl(), goods.getTitle(), goods.getCouponLink()); - - return template.replace("{鏍囬}", goods.getTitle()).replace("{鍟嗗搧鍘熶环}", goods.getZkPrice().toString()) + 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("{娣樺彛浠", 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) { + if (!hasCoupon) { + return template.replace("{鏍囬}", goods.getSkuName()).replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera(goods.getPrice()).toString()) + .replace("{鏈堥攢閲弣", JDUtil.getSaleCount(goods.getInOrderCount30Days())).replace("{鐭摼鎺", shortLink); + } else { + return template.replace("{鏍囬}", goods.getSkuName()).replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera( goods.getPrice()).toString()) + .replace("{鏈堥攢閲弣", JDUtil.getSaleCount(goods.getInOrderCount30Days())).replace("{鐭摼鎺", shortLink) + .replace("{浼樻儬鍒搁潰棰潁", BigDecimalUtil.getWithNoZera(goods.getCouponInfo().getDiscount()).toString()) + .replace("{浼樻儬鍒镐环}", BigDecimalUtil.getWithNoZera(JDUtil.getQuanPrice(goods)).toString()); + } + } + + + @Override + public String createContentByTemplatePDD(String template, Long uid, PDDGoodsDetail goods, + String shortLink, boolean hasCoupon, String token) { + if (!hasCoupon) { + template = template.replace("{鏍囬}", goods.getGoodsName()).replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera(new BigDecimal(goods.getMinNormalPrice())).toString()) + .replace("{鎬婚攢閲弣", PinDuoDuoUtil.getSaleCount(goods.getSoldQuantity())).replace("{鐭摼鎺", shortLink); + } else { + template = template.replace("{鏍囬}", goods.getGoodsName()).replace("{鍟嗗搧鍘熶环}", BigDecimalUtil.getWithNoZera(new BigDecimal(goods.getMinNormalPrice())).toString()) + .replace("{鎬婚攢閲弣", PinDuoDuoUtil.getSaleCount(goods.getSoldQuantity())).replace("{鐭摼鎺", shortLink) + .replace("{浼樻儬鍒搁潰棰潁", BigDecimalUtil.getWithNoZera(new BigDecimal(goods.getCouponDiscount())).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 @@ -166,5 +394,69 @@ 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); + } + } + } -- Gitblit v1.8.0