From d0bfdeda7f4f3b9f1685664d42c7592b533d8957 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期三, 22 五月 2019 17:04:32 +0800
Subject: [PATCH] 新版、老版动态分享 + 选品库分享+商品详情分享 优化

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ShareController.java |  173 ++++++++++++++++++++++++---------------------------------
 1 files changed, 73 insertions(+), 100 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ShareController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ShareController.java
index 30ab9d2..860f027 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ShareController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ShareController.java
@@ -17,12 +17,11 @@
 import org.yeshi.utils.JsonUtil;
 import org.yeshi.utils.taobao.TbImgUtil;
 
-import com.yeshi.fanli.dto.share.ShareInfoDTO;
+import com.yeshi.fanli.dto.share.ShareGoodsRecordDTO;
 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;
@@ -31,7 +30,6 @@
 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;
@@ -227,7 +225,16 @@
 			BigDecimal shareMoney = TaoBaoUtil.getShareGoodsHongBaoInfo(taoBaoLink.getGoods(), rate);
 			
 			data.put("shareMoney", "楼" + shareMoney.toString());
-//			data.put("shareId", userShareGoodsRecordService.saveSingleShareRecord(uid, auctionId));
+			try {
+				ShareGoodsRecordDTO shareRecord= userShareGoodsRecordService.addRecordGoodsDetail(uid, auctionId);
+				data.put("shareId", shareRecord.getRedisKey());
+			} catch (Exception e) {
+				try {
+					LogHelper.errorDetailInfo(e);
+				} catch (Exception e1) {
+					e1.printStackTrace();
+				}
+			}
 			out.print(JsonUtil.loadTrueResult(data));
 
 			// 寮傛鎿嶄綔
@@ -256,11 +263,6 @@
 			});
 			return;
 		}
-//		catch (UserShareGoodsRecordException e) {
-//			out.print(JsonUtil.loadFalseResult(e.getMsg()));
-//			e.printStackTrace();
-//		} 
-		
 		catch (ShareGoodsException e) {
 			try {
 				monitorService.addClientAPIMonitor(MonitorFactory.createClientAPI(request, e.getCode(), 0, "鍒嗕韩鍑洪敊"));
@@ -388,7 +390,7 @@
 	@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);
+			userShareGoodsRecordService.saveSingleShareRecord(uid, auctionId);
 			out.print(JsonUtil.loadTrueResult("鍒嗕韩鎴愬姛"));
 		} catch (UserShareGoodsRecordException e) {
 			out.print(JsonUtil.loadFalseResult(e.getMsg()));
@@ -407,21 +409,33 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "updaterecord", method = RequestMethod.POST)
-	public void updateRecord(AcceptData acceptData, Long shareId, PrintWriter out) {
-		if (shareId == null) {
+	public void updateRecord(AcceptData acceptData, String shareId, PrintWriter out) {
+		if (StringUtil.isNullOrEmpty(shareId)) {
 			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();
-		}
+		// 鏇存柊鍒嗕韩鐢熸晥
+		executor.execute(new Runnable() {
+			@Override
+			public void run() {
+				try {
+					userShareGoodsRecordService.takeEffectShareRecord(shareId);
+				} catch (UserShareGoodsRecordException eu) {
+					try {
+						LogHelper.errorDetailInfo(eu);
+					} catch (Exception e) {
+						e.printStackTrace();
+					}
+				} catch (Exception e) {
+					try {
+						LogHelper.errorDetailInfo(e);
+					} catch (Exception e1) {
+						e1.printStackTrace();
+					}
+				}
+			}
+		});
+		out.print(JsonUtil.loadTrueResult("鍒嗕韩鎴愬姛"));			
 	}
 
 	/**
@@ -659,16 +673,16 @@
 			}
 			
 			
-			
 			JSONObject data = new JSONObject();
 			// 鍒嗙被id
 			long cid = dynamicInfo.getClassId();
 			
-			if (cid == 1) { 	// 鐑攢鍗曞搧
-				// 鏂囧瓧鍐呭
-				String title ="";
+			if (cid == 1 || cid == 2) { 	// 1 鐑攢鍗曞搧    2 鎺ㄨ崘濂借揣
+				// 鍒嗕韩鏂囧瓧
+				String title = null;
 				List<ClientTextStyleVO> listTitle = dynamicInfo.getTitle();
 				if (listTitle != null && listTitle.size() > 0) {
+					title = "";
 					for (ClientTextStyleVO textStyleVO : listTitle) {
 						title += textStyleVO.getContent();
 					}
@@ -682,21 +696,10 @@
 				int index = content.indexOf("楼");
 				data.put("shareMoney", new BigDecimal(content.substring(index + 1, content.length())));
 			
-				// 鍟嗗搧鍒嗕韩閾炬帴
-				List<GoodsPicture> imgs2 = dynamicInfo.getImgs();
-				GoodsPicture goodsPicture = imgs2.get(0);
-				Long auctionId = goodsPicture.getGoods().getAuctionId();
-				String url = String.format("http://%s%s?uid=%s&id=%s&appType=flq", configService.getH5Host(),
-						Constant.systemCommonConfig.getShareGoodsPagePath(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY),
-						auctionId + "");
+				// 鍒嗕韩鎻愰啋
+				data.put("notifyDesc", configService.get("goods_share_notify"));
 				
-				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());
@@ -704,72 +707,41 @@
 					data.put("notifyPicture", array.optString(p));
 				}
 				
+				// 鍒嗕韩鍑哄幓鐨勫浘鐗�
+				String pictUrl = dynamicInfo.getImgs().get(0).getUrl();
+				data.put("pictUrl", TbImgUtil.getTBSizeImg(pictUrl, 500));
 				
-				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, auctionId, relationId);
-				
-				data.put("pictUrl", TbImgUtil.getTBSizeImg(goodsPicture.getUrl(), 500));
-				// 娣樺疂鍙d护
-				data.put("token", taoBaoLink.getTaoToken());
 				// 甯姪閾炬帴
 				data.put("helpLink","http://apph5.yeshitv.com/apppage/all_help_content.html?id=148&from=singlemessage&isappinstalled=0");
-				// 鍒嗕韩鎻愰啋
-				data.put("notifyDesc", configService.get("goods_share_notify"));
-				// 鍒嗕韩璁板綍id
-				data.put("shareId", userShareGoodsRecordService.saveSingleShareRecord(uid, auctionId));
 				
-			} else if (cid == 2) { 	// 鎺ㄨ崘濂借揣
-				
-				String picUrl = null;
-				List<TaoBaoGoodsBrief> listGoods = new ArrayList<TaoBaoGoodsBrief>();
-				List<GoodsPicture> listImgs = dynamicInfo.getImgs();
-				for (GoodsPicture goodsPicture: listImgs) {
-					TaoBaoGoodsBriefExtra goods = goodsPicture.getGoods();
-					listGoods.add(goods);
+				if (cid == 2) {   // 2 鎺ㄨ崘濂借揣
+					ShareGoodsRecordDTO shareRecord = userShareGoodsRecordService.addRecordDynamic(uid, dynamicInfo.getListGoodsBrief());
+					data.put("shareId", shareRecord.getRedisKey());
+					data.put("clickUrl", shareRecord.getShareUrl());
+				} else {
+					// 鍒嗕韩id
+					ShareGoodsRecordDTO shareRecord =  userShareGoodsRecordService.addRecordDynamic(uid, dynamicInfo.getListGoodsBrief());
+					data.put("shareId", shareRecord.getRedisKey());
 					
-					if (picUrl == null) {
-						picUrl = goodsPicture.getUrl();
+					Long auctionId = dynamicInfo.getImgs().get(0).getGoods().getAuctionId();
+					// 鍟嗗搧鍒嗕韩閾炬帴
+					String url = String.format("http://%s%s?uid=%s&id=%s&appType=flq", configService.getH5Host(),
+							Constant.systemCommonConfig.getShareGoodsPagePath(), AESUtil.encrypt(uid + "", Constant.UIDAESKEY), auctionId + "");
+					String shortLink = HttpUtil.getShortLink(url);
+					if (!StringUtil.isNullOrEmpty(shortLink)) {
+						url = shortLink;
 					}
-				}
-				
-				// 鏂囧瓧鍐呭
-				String title ="";
-				List<ClientTextStyleVO> listTitle = dynamicInfo.getTitle();
-				if (listTitle != null && listTitle.size() > 0) {
-					for (ClientTextStyleVO textStyleVO : listTitle) {
-						title += textStyleVO.getContent();
+					data.put("clickUrl", url);
+					
+					// 娣樺疂鍙d护
+					UserExtraTaoBaoInfo extraInfo = userExtraTaoBaoInfoService.getByUid(uid);
+					String relationId = null;
+					if (extraInfo != null && extraInfo.getRelationId() != null && extraInfo.getRelationValid() != null
+							&& extraInfo.getRelationValid() == true) {
+						relationId = extraInfo.getRelationId();
 					}
-				}
-				data.put("title", title);
-				data.put("content", "鎴戝湪杩斿埄鍒稿彂鐜颁簡涓�涓緢濂界殑鍟嗗搧锛屽揩鏉ョ湅鐪媬");
-				
-				// 鍒嗕韩濂栭噾
-				ClientTextStyleVO desc = dynamicInfo.getDesc();
-				String content = desc.getContent();
-				int index = content.indexOf("楼");
-				data.put("shareMoney", new BigDecimal(content.substring(index + 1 , content.length())));
-				
-				// 鍒嗕韩閾炬帴
-				ShareInfoDTO shareInfo = userShareGoodsRecordService.saveShareRecord(uid, 
-						ShareSourceTypeEnum.activity, title, listGoods);
-				data.put("shareId", shareInfo.getShareId());
-				data.put("clickUrl", shareInfo.getShareUrl());
-				data.put("pictUrl", TbImgUtil.getTBSizeImg(picUrl, 500));
-				// 甯姪閾炬帴
-				data.put("helpLink","http://apph5.yeshitv.com/apppage/all_help_content.html?id=148&from=singlemessage&isappinstalled=0");
-				// 鍒嗕韩鎻愰啋
-				data.put("notifyDesc", configService.get("goods_share_notify"));
-				// 鍒嗕韩鎻愰啋璇�
-				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));
+					TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(uid, auctionId, relationId);
+					data.put("token", taoBaoLink.getTaoToken());
 				}
 				
 			} else if (cid == 4) { // 閭�璇峰垎浜�
@@ -785,9 +757,10 @@
 				
 				Integer showType = dynamicInfo.getShowType();
 				if (showType == 0) {  // 鏃犲浘鍒嗕韩
-					String title ="";
+					String title = null;
 					List<ClientTextStyleVO> listTitle = dynamicInfo.getTitle();
 					if (listTitle != null && listTitle.size() > 0) {
+						title ="";
 						for (ClientTextStyleVO textStyleVO : listTitle) {
 							title += textStyleVO.getContent();
 						}

--
Gitblit v1.8.0