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