From efdac57e87ef0ca1a525d13bb5b742c560607ae2 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期一, 13 五月 2019 09:14:36 +0800
Subject: [PATCH] 限时秒杀添加返回倒计时、详情加销量字段

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/ShareController.java |  200 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 200 insertions(+), 0 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 def96c7..8e1e161 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
@@ -16,13 +16,21 @@
 import org.yeshi.utils.JsonUtil;
 import org.yeshi.utils.taobao.TbImgUtil;
 
+import com.yeshi.fanli.dto.share.ShareInfoDTO;
 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.share.UserShareGoodsRecord.ShareSourceTypeEnum;
 import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
+import com.yeshi.fanli.entity.dynamic.DynamicInfo;
+import com.yeshi.fanli.entity.dynamic.GoodsPicture;
+import com.yeshi.fanli.entity.system.BusinessSystem;
+import com.yeshi.fanli.entity.system.SystemClientParams;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
 import com.yeshi.fanli.entity.taobao.TaoBaoLink;
 import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
 import com.yeshi.fanli.exception.ShareGoodsException;
@@ -30,12 +38,16 @@
 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.config.SystemClientParamsService;
+import com.yeshi.fanli.service.inter.dynamic.DynamicInfoService;
 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.SpreadUserImgService;
 import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
+import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.UserShareGoodsGroupService;
 import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
@@ -45,10 +57,12 @@
 import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.TaoBaoConstant;
+import com.yeshi.fanli.util.account.UserUtil;
 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 com.yeshi.fanli.vo.msg.ClientTextStyleVO;
 
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -92,6 +106,19 @@
 
 	@Resource
 	private ShareGoodsTextTemplateService shareGoodsTextTemplateService;
+	
+	@Resource
+	private SystemClientParamsService systemClientParamsService;
+	
+	@Resource
+	private DynamicInfoService dynamicInfoService;
+
+	@Resource
+	private UserInfoExtraService userInfoExtraService;
+	
+	@Resource
+	private SpreadUserImgService spreadUserImgService;
+	
 
 	// 鑾峰彇鍟嗗搧鍒嗕韩閾炬帴
 	@RequestMapping(value = "getGoodsShareUrl")
@@ -590,4 +617,177 @@
 		out.print(JsonUtil.loadTrueResult(configService.get("share_goods_template_rules")));
 	}
 
+	
+
+	
+	/**
+	 * 鏌ヨ椤堕儴鍒嗙被
+	 * @param acceptData
+	 * @param page
+	 * @param cid
+	 * @param out
+	 */
+	@RequestMapping(value = "shareDynamic", method = RequestMethod.POST)
+	public void shareDynamic(AcceptData acceptData, String id, Long uid, PrintWriter out) {
+		try {
+			
+			if (uid == null || uid <= 0) {
+				out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
+				return;
+			}
+			
+			if (StringUtil.isNullOrEmpty(id)) {
+				out.print(JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖"));
+				return;
+			}
+			
+			DynamicInfo dynamicInfo = dynamicInfoService.getById(id);
+			if (dynamicInfo == null) {
+				out.print(JsonUtil.loadFalseResult("璇ュ姩鎬佷俊鎭凡涓嶅瓨鍦�"));
+				return;
+			}
+			
+			JSONObject data = new JSONObject();
+			
+			// 鍒嗙被id
+			long cid = dynamicInfo.getClassId();
+			
+			if (cid == 1) { 	// 鐑攢鍗曞搧
+				// 鏂囧瓧鍐呭
+				data.put("title", JsonUtil.getApiCommonGson().toJson(dynamicInfo.getTitle()));
+				// 鍒嗕韩濂栭噾
+				ClientTextStyleVO desc = dynamicInfo.getDesc();
+				String content = desc.getContent();
+				int index = content.indexOf("楼");
+				data.put("shareMoney", new BigDecimal(content.substring(index + 1, content.length())));
+				
+				// 鍒嗕韩閾炬帴
+				String url = String.format("http://%s/share_mushGoods.html?uid=%s&shareId=%s&source=%s",
+						configService.getH5Host(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY), id, "dynamic");
+				String shortLink = HttpUtil.getShortLink(url);
+				if (!StringUtil.isNullOrEmpty(shortLink)) {
+					url = shortLink;
+				}
+				data.put("clickUrl", url);
+				// 鍒嗕韩鏂囧瓧鍥炬爣
+				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));
+				}
+				
+				UserExtraTaoBaoInfo extraInfo = userExtraTaoBaoInfoService.getByUid(uid);
+				String relationId = null;
+				if (extraInfo != null && extraInfo.getRelationId() != null && extraInfo.getRelationValid() != null
+						&& extraInfo.getRelationValid() == true) {
+					relationId = extraInfo.getRelationId();
+				}
+				TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(uid, 42472466270L, relationId);
+				
+				// 娣樺疂鍙d护
+				data.put("token", taoBaoLink.getTaoToken());
+				// 鍟嗗搧鍥剧墖閾炬帴
+				data.put("shareLink", TbImgUtil.getTBSizeImg(taoBaoLink.getGoods().getPictUrl(), 500));
+				// 甯姪閾炬帴
+				data.put("helpLink","https://img.alicdn.com/imgextra/i1/2200656425615/O1CN01dst9HQ1rLiPN7xmhD_!!0-item_pic.jpg");
+				// 鍒嗕韩鎻愰啋
+				data.put("notifyDesc", configService.get("goods_share_notify"));
+				
+			} else if (cid == 2) { 	// 鎺ㄨ崘濂借揣
+				
+				List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>();
+				List<GoodsPicture> listImgs = dynamicInfo.getImgs();
+				for (GoodsPicture goodsPicture: listImgs) {
+					TaoBaoGoodsBriefExtra goods = goodsPicture.getGoods();
+					listGoods.add(goods);
+				}
+				
+				String title = "";
+				List<ClientTextStyleVO> listTitle = dynamicInfo.getTitle();
+				for (ClientTextStyleVO textStyleVO: listTitle) {
+					title = title + textStyleVO.getContent();
+				}
+				
+				if (title.length() > 250) {
+					title = title.substring(0, 250);
+				}
+				
+				// 鏂囧瓧鍐呭
+				data.put("title", JsonUtil.getApiCommonGson().toJson(dynamicInfo.getTitle()));
+				// 鍒嗕韩濂栭噾
+				ClientTextStyleVO desc = dynamicInfo.getDesc();
+				String content = desc.getContent();
+				int index = content.indexOf("楼");
+				data.put("shareMoney", new BigDecimal(content.substring(index + 1, content.length())));
+				// 鍒嗕韩鏂囧瓧鍥炬爣
+				String notifyImgs = configService.get("goods_share_notify_imgs");
+				JSONArray array = JSONArray.fromObject(notifyImgs);
+				int p = (int) (array.size() * Math.random());
+				if (p < array.size()) {
+					data.put("notifyPicture", array.optString(p));
+				}
+				
+				ShareInfoDTO shareInfo = userShareGoodsRecordService.saveShareRecord(uid, ShareSourceTypeEnum.activity, title, listGoods);
+				data.put("shareId", shareInfo.getShareId());
+				data.put("clickUrl", shareInfo.getCodeUrl());
+				// 鍟嗗搧鍥剧墖閾炬帴
+				data.put("shareLink", shareInfo.getShareUrl());
+				// 甯姪閾炬帴
+				data.put("helpLink","https://img.alicdn.com/imgextra/i1/2200656425615/O1CN01dst9HQ1rLiPN7xmhD_!!0-item_pic.jpg");
+				// 鍒嗕韩鎻愰啋
+				data.put("notifyDesc", configService.get("goods_share_notify"));
+				
+			} else if (cid == 4) { // 閭�璇峰垎浜�
+				
+				String inviteCode = null;
+				UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
+				if (userInfoExtra != null && !StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
+					inviteCode = userInfoExtra.getInviteCode();
+				} else {
+					out.print(JsonUtil.loadFalseResult(9001, "閭�璇风爜鏈縺娲�"));
+					return;
+				}
+				
+				Integer showType = dynamicInfo.getShowType();
+				if (showType == 0) {  // 鏃犲浘鍒嗕韩
+					String shortLink = UserUtil.getInviteShortLink(uid);
+					List<ClientTextStyleVO> listTitle = dynamicInfo.getTitle();
+					for (ClientTextStyleVO textStyleVO: listTitle) {
+						String content = textStyleVO.getContent();
+						content = content.replace("閭�璇风爜", inviteCode);
+						content = content.replace("閭�璇烽摼鎺�", shortLink);
+						textStyleVO .setContent(content);
+					}
+					data.put("title", listTitle);
+					
+				} else { // 鏈夊浘鍒嗕韩
+					// 1銆侀個璇疯鍒�
+					BusinessSystem system = new BusinessSystem();
+					system.setCreatetime(java.lang.System.currentTimeMillis());
+					system.setPlatform(1);
+					system.setId(4L);
+					String key = "inviteRules"; // key鍊�
+					SystemClientParams values = systemClientParamsService.getSystemClientParamsBySystemAndKey(system, key);
+					String valueN = values.getValue();
+					String valueBr = valueN.replace("\n", "<br><br>");
+					data.put("inviteRules", valueBr);
+					
+					// 閭�璇烽摼鎺�
+					String shortLink = HttpUtil.getShortLink("http://" + Constant.wxGZConfig.getLoginHost() + "/" 
+							+ Constant.systemCommonConfig.getProjectName() + "/client/threeShareNew?uid=" + uid);
+					data.put("inviteLink", shortLink);
+					
+					// 閭�璇峰浘鐗�
+					List<GoodsPicture> imgs = dynamicInfo.getImgs();
+					String imgLink = spreadUserImgService.getUserSpreadImg(uid, imgs.get(0).getUrl());
+					data.put("imgLink", imgLink);
+				}
+			}
+			out.print(JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("鍒嗕韩璁板綍澶辫触"));
+			e.printStackTrace();
+		}
+	}
 }

--
Gitblit v1.8.0