From de10879ac00f9c94dc02cada9a8a6117a8d81caf Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期五, 19 七月 2019 15:40:01 +0800
Subject: [PATCH] 拼多多 京东分享模板兼容

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ShareGoodsTextTemplateServiceImpl.java |  229 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 228 insertions(+), 1 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 3a76084..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
@@ -10,12 +10,17 @@
 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.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.TaoLiJinUtil;
 
@@ -56,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
@@ -84,6 +126,51 @@
 			ShareGoodsTextTemplate textTemplate = new ShareGoodsTextTemplate();
 			textTemplate.setCreateTime(new Date());
 			textTemplate.setShareCouponTextTemplate(template);
+			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);
 		}
@@ -131,6 +218,11 @@
 	}
 	
 	@Override
+	public ShareGoodsTextTemplate getShareGoodsTextTemplate(Long uid) {
+		return shareGoodsTextTemplateMapper.selectByUid(uid);
+	}
+	
+	@Override
 	public void isCommonTemplateRight(String template) throws ShareGoodsTextTemplateException {
 		String[] keys = new String[] { "{鏍囬}", "{搴楅摵绫诲瀷}", "{鍟嗗搧鍘熶环}", "{鏈堥攢閲弣", "{鐭摼}", "{娣樺彛浠" };
 		int keysCount = 0;
@@ -142,8 +234,54 @@
 	}
 
 	@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;
+		for (String key : keys)
+			if (template != null && template.contains(key))
+				keysCount++;
+		if (keysCount == 0)
+			throw new ShareGoodsTextTemplateException(1, "妯℃澘鏍煎紡鏈夎");
+	}
+	
+	
+	@Override
+	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, "妯℃澘鏍煎紡鏈夎");
+	}
+
+	
+	@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))
@@ -194,6 +332,43 @@
 					.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
 	public void resetCommonTemplate(Long uid) {
@@ -219,6 +394,58 @@
 			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) {

--
Gitblit v1.8.0