admin
2019-11-23 51a4ff5d777028d52a19c314a99f796334cb7b51
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsTextTemplateServiceImpl.java
@@ -10,6 +10,7 @@
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;
@@ -20,6 +21,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;
@@ -39,12 +41,10 @@
   @Resource
   private ConfigService configService;
   @Resource
   private ConfigTaoLiJinService configTaoLiJinService;
   @Override
   public void saveCommonTemplate(Long uid, String template) throws ShareGoodsTextTemplateException {
      isCommonTemplateRight(template);
@@ -63,7 +63,7 @@
         shareGoodsTextTemplateMapper.insertSelective(textTemplate);
      }
   }
   @Override
   public void saveCommonTemplateJD(Long uid, String template) throws ShareGoodsTextTemplateException {
      isCommonTemplateRight(template);
@@ -82,7 +82,7 @@
         shareGoodsTextTemplateMapper.insertSelective(textTemplate);
      }
   }
   @Override
   public void saveCommonTemplatePDD(Long uid, String template) throws ShareGoodsTextTemplateException {
      isCommonTemplateRight(template);
@@ -115,7 +115,7 @@
   public void saveCouponTemplate(Long uid, String template) throws ShareGoodsTextTemplateException {
      // 格式验证
      isTaoLiJinTemplateRight(template);
      ShareGoodsTextTemplate old = shareGoodsTextTemplateMapper.selectByUid(uid);
      if (old != null) {
         ShareGoodsTextTemplate update = new ShareGoodsTextTemplate();
@@ -131,13 +131,13 @@
         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();
@@ -153,14 +153,13 @@
         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();
@@ -177,13 +176,12 @@
      }
   }
   @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();
@@ -200,7 +198,7 @@
      }
   }
   @Override
   public String geteCouponTemplate(Long uid) {
      ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid);
@@ -209,7 +207,6 @@
      return null;
   }
   @Override
   public String getTaoLiJinTemplate(Long uid) {
      ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid);
@@ -217,12 +214,12 @@
         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[] { "{标题}", "{店铺类型}", "{商品原价}", "{月销量}", "{短链}", "{淘口令}" };
@@ -236,7 +233,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))
@@ -244,10 +241,10 @@
      if (keysCount == 0)
         throw new ShareGoodsTextTemplateException(1, "模板格式有误");
   }
   @Override
   public void isCommonTemplateRightPDD(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))
@@ -255,7 +252,7 @@
      if (keysCount == 0)
         throw new ShareGoodsTextTemplateException(1, "模板格式有误");
   }
   @Override
   public void isCouponTemplateRight(String template) throws ShareGoodsTextTemplateException {
      String[] keys = new String[] { "{标题}", "{店铺类型}", "{商品原价}", "{优惠券面额}", "{优惠券价}", "{月销量}", "{领券短链}", "{淘口令}" };
@@ -266,11 +263,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))
@@ -279,10 +275,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))
@@ -291,10 +286,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))
@@ -302,75 +297,103 @@
      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");
         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) {
         return template.replace("{标题}", goods.getSkuName()).replace("{商品原价}",  BigDecimalUtil.getWithNoZera(goods.getPrice()).toString())
         template = template.replace("{标题}", goods.getSkuName())
               .replace("{商品原价}", BigDecimalUtil.getWithNoZera(price).toString())
               .replace("{月销量}", JDUtil.getSaleCount(goods.getInOrderCount30Days())).replace("{短链接}", shortLink);
      } else {
         return template.replace("{标题}", goods.getSkuName()).replace("{商品原价}", BigDecimalUtil.getWithNoZera( goods.getPrice()).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());
      }
   }
   @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 (pinGouInfo != null) {
         template = template.replace("{京东价}", "拼购价");
      } else {
         BigDecimal amount =  MoneyBigDecimalUtil.div(new BigDecimal(goods.getCouponDiscount()), hundred);
         template = template.replace("{标题}", goods.getGoodsName()).replace("{商品原价}", BigDecimalUtil.getWithNoZera(price).toString())
         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("复制本条信息,{多多口令}打开拼多多,立即购买", "点击链接,打开拼多多,立即购买");
         } else {
            template = template.replace("{多多口令}", 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("复制本条信息,{多多口令}打开拼多多,免费领券", "点击链接,打开拼多多,免费领券");
         } else {
            template = template.replace("{多多口令}", token);
         }
      }
      if (StringUtil.isNullOrEmpty(token)) {
         template = template.replace("{多多口令}打开拼多多,", "");
      } else {
         template = template.replace("{多多口令}", token);
      }
      return template;
   }
@@ -398,8 +421,7 @@
         shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update);
      }
   }
   @Override
   public void resetCommonTemplateJD(Long uid) {
      ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid);
@@ -424,8 +446,7 @@
         shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update);
      }
   }
   @Override
   public void resetCommonTemplatePDD(Long uid) {
      ShareGoodsTextTemplate template = shareGoodsTextTemplateMapper.selectByUid(uid);
@@ -462,5 +483,5 @@
         shareGoodsTextTemplateMapper.updateByPrimaryKeySelective(update);
      }
   }
}