From bbe1a381f99d957d003f48b68dfd5bf0e401f5f0 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期二, 14 五月 2019 11:27:25 +0800
Subject: [PATCH] 合并

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/ShareController.java |  503 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 474 insertions(+), 29 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/ShareController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/ShareController.java
index 5bce526..def96c7 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/ShareController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/ShareController.java
@@ -7,28 +7,50 @@
 import java.util.List;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
-
-import com.mongodb.util.ThreadUtil;
-import com.yeshi.fanli.entity.accept.AcceptData;
-import com.yeshi.fanli.entity.bus.share.UserShareGoodsHistory;
-import com.yeshi.fanli.entity.bus.user.UserInfo;
-import com.yeshi.fanli.entity.taobao.TaoBaoLink;
-import com.yeshi.fanli.exception.ShareGoodsException;
-import com.yeshi.fanli.service.impl.goods.ShareGoodsServiceImpl;
-import com.yeshi.fanli.service.inter.config.ConfigService;
-import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
-import com.yeshi.fanli.util.AESUtil;
-import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import org.springframework.web.bind.annotation.RequestMethod;
 import org.yeshi.utils.HttpUtil;
 import org.yeshi.utils.JsonUtil;
 import org.yeshi.utils.taobao.TbImgUtil;
 
+import com.yeshi.fanli.entity.accept.AcceptData;
+import com.yeshi.fanli.entity.bus.share.UserShareGoodsGroup;
+import com.yeshi.fanli.entity.bus.share.UserShareGoodsHistory;
+import com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord;
+import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.fanli.entity.taobao.TaoBaoLink;
+import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
+import com.yeshi.fanli.exception.ShareGoodsException;
+import com.yeshi.fanli.exception.goods.ShareGoodsTextTemplateException;
+import com.yeshi.fanli.exception.share.UserShareGoodsRecordException;
+import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
+import com.yeshi.fanli.service.inter.config.ConfigService;
+import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
+import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
+import com.yeshi.fanli.service.inter.goods.ShareGoodsTextTemplateService;
+import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
+import com.yeshi.fanli.service.inter.monitor.MonitorService;
+import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.service.inter.user.UserShareGoodsGroupService;
+import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
+import com.yeshi.fanli.util.AESUtil;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.MoneyBigDecimalUtil;
+import com.yeshi.fanli.util.RedisManager;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.TaoBaoConstant;
+import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
+import com.yeshi.fanli.util.factory.MonitorFactory;
+import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+
+import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
 
 @Controller(value = "ShareController1")
@@ -43,6 +65,33 @@
 
 	@Resource
 	private HongBaoManageService hongBaoManageService;
+
+	@Resource
+	private MonitorService monitorService;
+
+	@Resource
+	private UserShareGoodsRecordService userShareGoodsRecordService;
+
+	@Resource
+	private UserShareGoodsGroupService userShareGoodsGroupService;
+
+	@Resource
+	private CommonGoodsService commonGoodsService;
+
+	@Resource
+	private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
+
+	@Resource
+	private UserInfoService userInfoService;
+
+	@Resource
+	private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil;
+
+	@Resource
+	private RedisManager redisManager;
+
+	@Resource
+	private ShareGoodsTextTemplateService shareGoodsTextTemplateService;
 
 	// 鑾峰彇鍟嗗搧鍒嗕韩閾炬帴
 	@RequestMapping(value = "getGoodsShareUrl")
@@ -61,9 +110,16 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "gettaobaosharelink")
-	public void getTaobaoShareLink(AcceptData acceptData, Long uid, Long auctionId, PrintWriter out) {
+	public void getTaobaoShareLink(AcceptData acceptData, Long uid, Long auctionId, HttpServletRequest request,
+			PrintWriter out) {
 		if (uid == null || uid <= 0) {
 			out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛ID涓嶈兘涓虹┖"));
+			return;
+		}
+
+		UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
+		if (user != null && user.getState() != UserInfo.STATE_NORMAL) {
+			out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC));
 			return;
 		}
 
@@ -72,11 +128,16 @@
 			return;
 		}
 
+		UserExtraTaoBaoInfo extraInfo = userExtraTaoBaoInfoService.getByUid(uid);
 		try {
-			TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(uid, auctionId);
+			String relationId = null;
+			if (extraInfo != null && extraInfo.getRelationId() != null && extraInfo.getRelationValid() != null
+					&& extraInfo.getRelationValid() == true)
+				relationId = extraInfo.getRelationId();
+			TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(uid, auctionId, relationId);
 
 			JSONObject data = new JSONObject();
-			String url = String.format("http://%s%s?uid=%s&id=%s", configService.getH5Host(),
+			String url = String.format("http://%s%s?uid=%s&id=%s&appType=flq", configService.getH5Host(),
 					Constant.systemCommonConfig.getShareGoodsPagePath(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY),
 					auctionId + "");
 
@@ -87,7 +148,8 @@
 
 			data.put("clickUrl", url);
 			data.put("token", taoBaoLink.getTaoToken());
-			data.put("rule", "http://flq.yeshitv.com/fanli/client/html/help_item.html?id=8");
+			data.put("rule",
+					"http://apph5.yeshitv.com/apppage/all_help_content.html?id=148&from=singlemessage&isappinstalled=0");
 			data.put("pictUrl", TbImgUtil.getTBSizeImg(taoBaoLink.getGoods().getPictUrl(), 500));
 
 			String shareText = "";
@@ -95,22 +157,41 @@
 			String shopType = taoBaoLink.getGoods().getUserType() == 0 ? "娣樺疂浠�" : "澶╃尗浠�";
 
 			if (StringUtil.isNullOrEmpty(taoBaoLink.getGoods().getCouponInfo())) {
-				String text = configService.get("goods_share_text_nocoupon");
-				shareText = text.replace("[鏍囬]", taoBaoLink.getGoods().getTitle()).replace("[鍦ㄥ敭浠穄",
-						"楼" + taoBaoLink.getGoods().getZkPrice());
+				String text = shareGoodsTextTemplateService.getCommonTemplate(uid);
+				if (StringUtil.isNullOrEmpty(text))
+					text = configService.get("goods_share_text_nocoupon");
+				shareText = text.replace("{鏍囬}", taoBaoLink.getGoods().getTitle()).replace("{鍟嗗搧鍘熶环}",
+						MoneyBigDecimalUtil.getWithNoZera(taoBaoLink.getGoods().getZkPrice()) + "");
 			} else// 鏈夊埜
 			{
-				String text = configService.get("goods_share_text_coupon");
-				shareText = text.replace("[鏍囬]", taoBaoLink.getGoods().getTitle())
-						.replace("[鍦ㄥ敭浠穄", "楼" + taoBaoLink.getGoods().getZkPrice())
-						.replace("[鍒稿悗浠穄", "楼" + TaoBaoUtil.getAfterUseCouplePrice(taoBaoLink.getGoods()));
+				String text = shareGoodsTextTemplateService.geteCouponTemplate(uid);
+				if (StringUtil.isNullOrEmpty(text))
+					text = configService.get("goods_share_text_coupon");
+
+				shareText = text.replace("{鏍囬}", taoBaoLink.getGoods().getTitle())
+						.replace("{鍟嗗搧鍘熶环}", MoneyBigDecimalUtil.getWithNoZera(taoBaoLink.getGoods().getZkPrice()) + "")
+						.replace("{浼樻儬鍒搁潰棰潁",
+								MoneyBigDecimalUtil.getWithNoZera(taoBaoLink.getGoods().getCouponAmount()).toString())
+						.replace("{浼樻儬鍒镐环}", TaoBaoUtil.getAfterUseCouplePrice(taoBaoLink.getGoods()) + "");
 			}
-			shareText = shareText.replace("[浠锋牸绫诲瀷]", shopType);
+			shareText = shareText.replace("{搴楅摵绫诲瀷}", shopType)
+					.replace("{鏈堥攢閲弣", TaoBaoUtil.getSaleCount(taoBaoLink.getGoods().getBiz30day()))
+					.replace("{棰嗗埜鐭摼}", shortLink).replace("{娣樺彛浠", taoBaoLink.getTaoToken());
 			data.put("shareText", shareText);
-			data.put("descText", shareText.replace(taoBaoLink.getGoods().getTitle(), ""));
+			String descText = shareText.replace(taoBaoLink.getGoods().getTitle(), "").trim();
+			if (descText.startsWith("\\r\\n"))
+				descText = descText.substring(0);
+			data.put("descText", descText);
+			//
+			String imgs = configService.get("goods_share_notify_imgs");
+			JSONArray array = JSONArray.fromObject(imgs);
+			int p = (int) (array.size() * Math.random());
+			if (p < array.size())
+				data.put("notifyPicture", array.optString(p));
+			data.put("notifyDesc", configService.get("goods_share_notify"));
 
 			// 娣诲姞鍒嗕韩璁板綍
-			BigDecimal rate = new BigDecimal(hongBaoManageService.get("hongbao_goods_proportion"));
+			BigDecimal rate = hongBaoManageService.getShareRate();
 			UserShareGoodsHistory history = new UserShareGoodsHistory();
 			history.setTkCode(taoBaoLink.getTaoToken());
 			history.setLink(taoBaoLink.getClickUrl());
@@ -128,6 +209,8 @@
 			history.setUser(new UserInfo(uid));
 			history.setPostPicture(taoBaoLink.getGoods().getPictUrl());
 
+			data.put("shareMoney", "楼" + history.getHongbao().toString());
+
 			out.print(JsonUtil.loadTrueResult(data));
 
 			// 寮傛鎿嶄綔
@@ -140,9 +223,371 @@
 			});
 			return;
 		} catch (ShareGoodsException e) {
+			try {
+				monitorService.addClientAPIMonitor(MonitorFactory.createClientAPI(request, e.getCode(), 0, "鍒嗕韩鍑洪敊"));
+			} catch (Exception e1) {
+			}
 			out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMessage()));
 		}
 
 	}
 
+	/**
+	 * 鍒嗕韩璁板綍缁熻鍒楄〃
+	 * 
+	 * @param acceptData
+	 * @param page
+	 *            鍒濆1
+	 * @param uid
+	 * @param source
+	 * @param out
+	 */
+	@RequestMapping(value = "getlistrecord", method = RequestMethod.POST)
+	public void getListRecord(AcceptData acceptData, Integer page, Long uid, String source, PrintWriter out) {
+
+		if (page == null || page < 1) {
+			out.print(JsonUtil.loadFalseResult("椤电爜涓嶆纭�"));
+		}
+
+		if (uid == null) {
+			out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
+		}
+
+		if ("all".equals(source)) {
+			source = null;// 鏌ヨ鍏ㄩ儴
+		}
+
+		try {
+			int pageSize = Constant.PAGE_SIZE;
+
+			JSONObject data = new JSONObject();
+			List<UserShareGoodsRecord> list = new ArrayList<UserShareGoodsRecord>();
+
+			long count = userShareGoodsRecordService.countQueryByUid(uid, source);
+
+			if (count > 0) {
+				list = userShareGoodsRecordService.getMyShareGoodsRecords((page - 1) * pageSize, pageSize, uid, source);
+			}
+
+			data.put("count", count);
+			data.put("result_list", list);
+			out.print(JsonUtil.loadTrueResult(data));
+
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("鍔犺浇澶辫触"));
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * 鑾峰彇鍒嗕韩鍟嗗搧
+	 * 
+	 * @param acceptData
+	 * @param recordId
+	 * @param out
+	 */
+	@RequestMapping(value = "getrecordgoods", method = RequestMethod.POST)
+	public void getRecordGoods(AcceptData acceptData, Long recordId, PrintWriter out) {
+
+		if (recordId == null) {
+			out.print(JsonUtil.loadFalseResult("鍙傛暟涓嶆纭�"));
+		}
+
+		try {
+			JSONObject data = userShareGoodsRecordService.getGoodsGroup(recordId);
+			out.print(JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("鍔犺浇澶辫触"));
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * 鑾峰彇鍒嗕韩鍟嗗搧鍗曚釜缁熻淇℃伅
+	 * 
+	 * @param acceptData
+	 * @param groupId
+	 * @param out
+	 */
+	@RequestMapping(value = "getgoodsdata", method = RequestMethod.POST)
+	public void getGoodsData(AcceptData acceptData, Long groupId, PrintWriter out) {
+
+		if (groupId == null) {
+			out.print(JsonUtil.loadFalseResult("鍙傛暟涓嶆纭�"));
+		}
+
+		try {
+			UserShareGoodsGroup userShareGoodsGroup = userShareGoodsGroupService.selectByPrimaryKey(groupId);
+			if (userShareGoodsGroup != null) {
+				userShareGoodsGroup.setBrowseTime(null);
+				userShareGoodsGroup.setCreateTime(null);
+				userShareGoodsGroup.setUpdateTime(null);
+				userShareGoodsGroup.setRecordId(null);
+			}
+
+			JSONObject data = new JSONObject();
+			data.put("goodsData", userShareGoodsGroup);
+			out.print(JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("鍔犺浇澶辫触"));
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * 鍟嗗搧璇︽儏鍒嗕韩
+	 * 
+	 * @param acceptData
+	 * @param uid
+	 *            鐢ㄦ埛id
+	 * @param auctionId
+	 *            鍟嗗搧id
+	 * @param type
+	 *            鍥剧墖鍒嗕韩绫诲瀷 鍗曞浘single 澶氬浘many
+	 * @param out
+	 */
+	@RequestMapping(value = "sharedetail", method = RequestMethod.POST)
+	public void shareDetail(AcceptData acceptData, Long uid, Long auctionId, String type, PrintWriter out) {
+		try {
+			userShareGoodsRecordService.saveDetail(uid, auctionId, type);
+			out.print(JsonUtil.loadTrueResult("鍒嗕韩鎴愬姛"));
+		} catch (UserShareGoodsRecordException e) {
+			out.print(JsonUtil.loadFalseResult(e.getMsg()));
+			e.printStackTrace();
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("鍔犺浇澶辫触"));
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * 鏇存柊鍒嗕韩璁板綍
+	 * 
+	 * @param acceptData
+	 * @param shareId
+	 * @param out
+	 */
+	@RequestMapping(value = "updaterecord", method = RequestMethod.POST)
+	public void updateRecord(AcceptData acceptData, Long shareId, PrintWriter out) {
+		if (shareId == null) {
+			out.print(JsonUtil.loadFalseResult("鍙傛暟涓嶆纭�"));
+		}
+
+		try {
+			userShareGoodsRecordService.updateShareRecord(shareId);
+			out.print(JsonUtil.loadTrueResult(""));
+		} catch (UserShareGoodsRecordException e) {
+			out.print(JsonUtil.loadFalseResult(e.getMsg()));
+			e.printStackTrace();
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("鍔犺浇澶辫触"));
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * 棰勮鍒嗕韩妯℃澘
+	 * 
+	 * @param acceptData
+	 * @param uid
+	 * @param template
+	 * @param goodsId
+	 * @param hasCoupon
+	 * @param out
+	 */
+	@RequestMapping(value = "viewShareTextTemplate", method = RequestMethod.POST)
+	public void preViewShareTextTemplate(AcceptData acceptData, Long uid, String template, Long goodsId,
+			Boolean hasCoupon, PrintWriter out) {
+		if (uid == null) {
+			out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+
+		if (goodsId == null) {
+			out.print(JsonUtil.loadFalseResult(3, "鍟嗗搧ID涓嶈兘涓虹┖"));
+			return;
+		}
+
+		TaoBaoGoodsBrief goods = taoBaoGoodsCacheUtil.getCommonTaoBaoGoodsInfo(goodsId);
+		if (goods == null)
+			try {
+				goods = redisManager.getTaoBaoGoodsBrief(goodsId);
+			} catch (TaobaoGoodsDownException e) {
+				goods = null;
+			}
+
+		if (goods == null) {
+			out.print(JsonUtil.loadFalseResult(4, "鍟嗗搧宸蹭笅鏋�"));
+			return;
+		}
+
+		if (StringUtil.isNullOrEmpty(template))
+			template = getShareTemplate(uid, hasCoupon);
+
+		// 鏍¢獙鍒告ā鏉挎槸鍚︽纭�
+		if (hasCoupon) {
+			// 鏈夊埜鍟嗗搧
+			try {
+				shareGoodsTextTemplateService.isCouponTemplateRight(template);
+			} catch (ShareGoodsTextTemplateException e) {
+				out.print(JsonUtil.loadFalseResult(5, e.getMsg()));
+				return;
+			}
+
+		} else {
+			// 鏅�氬晢鍝�
+			try {
+				shareGoodsTextTemplateService.isCommonTemplateRight(template);
+			} catch (ShareGoodsTextTemplateException e) {
+				out.print(JsonUtil.loadFalseResult(5, e.getMsg()));
+				return;
+			}
+		}
+
+		// 鏌ヨ鏄惁鏈夊垎浜�
+		UserShareGoodsHistory userShareHistory = shareGoodsService.getShareGoodsHistory(uid, goods.getAuctionId());
+		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);
+		String token = "";
+		if (userShareHistory != null) {
+			token = userShareHistory.getTkCode();
+		}
+
+		if (StringUtil.isNullOrEmpty(token)) {
+			TaoKeAppInfo app = new TaoKeAppInfo();
+			app.setAdzoneId(TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT.split("_")[3]);
+			app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
+			app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
+			app.setPid(TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT);
+			TaoBaoGoodsBrief goodsLink = TaoKeApiUtil.specialConvertCoupon(goods.getAuctionId(), app);
+			if (goodsLink != null)
+				token = TaoKeApiUtil.getTKToken(goods.getPictUrl(), goods.getTitle(),
+						StringUtil.isNullOrEmpty(goodsLink.getCouponLink()) ? goodsLink.getAuctionUrl()
+								: goodsLink.getCouponLink());
+		}
+		String content = shareGoodsTextTemplateService.createContentByTemplate(template, uid, goods, token, shortLink,
+				hasCoupon);
+		JSONObject data = new JSONObject();
+		data.put("content", content);
+		out.print(JsonUtil.loadTrueResult(data));
+	}
+
+	/**
+	 * 淇濆瓨妯℃澘
+	 * 
+	 * @param acceptData
+	 * @param uid
+	 * @param hasCoupon
+	 * @param template
+	 * @param out
+	 */
+	@RequestMapping(value = "saveShareTextTemplate", method = RequestMethod.POST)
+	public void saveShareTextTemplate(AcceptData acceptData, Long uid, Boolean hasCoupon, String template,
+			PrintWriter out) {
+		if (StringUtil.isNullOrEmpty(template)) {
+			out.print(JsonUtil.loadFalseResult(1, "鍒嗕韩妯℃澘涓虹┖"));
+			return;
+		}
+		// 鏍¢獙鍒告ā鏉挎槸鍚︽纭�
+		if (hasCoupon) {
+			// 鏈夊埜鍟嗗搧
+			try {
+				shareGoodsTextTemplateService.isCouponTemplateRight(template);
+				shareGoodsTextTemplateService.saveCouponTemplate(uid, template);
+				out.print(JsonUtil.loadTrueResult(""));
+			} catch (ShareGoodsTextTemplateException e) {
+				out.print(JsonUtil.loadFalseResult(5, e.getMsg()));
+				return;
+			}
+
+		} else {
+			// 鏅�氬晢鍝�
+			try {
+				shareGoodsTextTemplateService.isCommonTemplateRight(template);
+				shareGoodsTextTemplateService.saveCommonTemplate(uid, template);
+				out.print(JsonUtil.loadTrueResult(""));
+			} catch (ShareGoodsTextTemplateException e) {
+				out.print(JsonUtil.loadFalseResult(5, e.getMsg()));
+				return;
+			}
+		}
+
+	}
+
+	/**
+	 * 杩樺師妯℃澘
+	 * 
+	 * @param acceptData
+	 * @param uid
+	 * @param hasCoupon
+	 *            -鏄惁鏈夊埜
+	 * @param out
+	 */
+	@RequestMapping(value = "resetShareTextTemplate", method = RequestMethod.POST)
+	public void resetShareTextTemplate(AcceptData acceptData, Long uid, Long goodsId, Boolean hasCoupon,
+			PrintWriter out) {
+		if (uid == null) {
+			out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+		if (hasCoupon) {
+			shareGoodsTextTemplateService.resetCouponTemplate(uid);
+		} else {
+			shareGoodsTextTemplateService.resetCommonTemplate(uid);
+		}
+
+		if (goodsId != null) {
+			preViewShareTextTemplate(acceptData, uid, null, goodsId, hasCoupon, out);
+			return;
+		}
+
+		out.print(JsonUtil.loadTrueResult(""));
+	}
+
+	private String getShareTemplate(Long uid, boolean hasCoupon) {
+		if (hasCoupon) {
+			String template = shareGoodsTextTemplateService.geteCouponTemplate(uid);
+			if (StringUtil.isNullOrEmpty(template))
+				template = configService.get("goods_share_text_coupon");
+			return template;
+		} else {
+			String template = shareGoodsTextTemplateService.getCommonTemplate(uid);
+			if (StringUtil.isNullOrEmpty(template))
+				template = configService.get("goods_share_text_nocoupon");
+			return template;
+		}
+	}
+
+	/**
+	 * 鑾峰彇鍒嗕韩妯℃澘
+	 * 
+	 * @param acceptData
+	 * @param uid
+	 * @param hasCoupon
+	 * @param out
+	 */
+	@RequestMapping(value = "getShareTextTemplate", method = RequestMethod.POST)
+	public void getShareTextTemplate(AcceptData acceptData, Long uid, Boolean hasCoupon, PrintWriter out) {
+		if (uid == null) {
+			out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+		JSONObject data = new JSONObject();
+		data.put("template", getShareTemplate(uid, hasCoupon));
+		out.print(JsonUtil.loadTrueResult(data));
+	}
+
+	/**
+	 * 鑾峰彇鍒嗕韩妯℃澘缂栬緫瑙勫垯
+	 * 
+	 * @param acceptData
+	 * @param out
+	 */
+	@RequestMapping(value = "getShareTextTemplateRules", method = RequestMethod.POST)
+	public void getShareTextTemplateRules(AcceptData acceptData, PrintWriter out) {
+		out.print(JsonUtil.loadTrueResult(configService.get("share_goods_template_rules")));
+	}
+
 }

--
Gitblit v1.8.0