From 88b54772dbcf5ecab1e2316e4e4626ac901b8908 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期二, 22 一月 2019 15:58:24 +0800
Subject: [PATCH] 邀请码添加返回状态

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/ShareController.java |  235 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 215 insertions(+), 20 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..29b75e3 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,38 @@
 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.BigDecimalUtil;
 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.UserInfo;
+import com.yeshi.fanli.entity.taobao.TaoBaoLink;
+import com.yeshi.fanli.exception.ShareGoodsException;
+import com.yeshi.fanli.exception.share.UserShareGoodsRecordException;
+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.hongbao.HongBaoManageService;
+import com.yeshi.fanli.service.inter.monitor.MonitorService;
+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.StringUtil;
+import com.yeshi.fanli.util.factory.MonitorFactory;
+import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+
+import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
 
 @Controller(value = "ShareController1")
@@ -43,6 +53,18 @@
 
 	@Resource
 	private HongBaoManageService hongBaoManageService;
+
+	@Resource
+	private MonitorService monitorService;
+
+	@Resource
+	private UserShareGoodsRecordService userShareGoodsRecordService;
+
+	@Resource
+	private UserShareGoodsGroupService userShareGoodsGroupService;
+	
+	@Resource
+	private CommonGoodsService commonGoodsService;
 
 	// 鑾峰彇鍟嗗搧鍒嗕韩閾炬帴
 	@RequestMapping(value = "getGoodsShareUrl")
@@ -61,7 +83,8 @@
 	 * @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;
@@ -76,7 +99,7 @@
 			TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(uid, auctionId);
 
 			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 +110,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 = "";
@@ -103,14 +127,26 @@
 				String text = configService.get("goods_share_text_coupon");
 				shareText = text.replace("[鏍囬]", taoBaoLink.getGoods().getTitle())
 						.replace("[鍦ㄥ敭浠穄", "楼" + taoBaoLink.getGoods().getZkPrice())
+						.replace("[浼樻儬鍒搁噾棰漖",
+								"楼" + BigDecimalUtil.getWithNoZera(taoBaoLink.getGoods().getCouponAmount()).toString())
 						.replace("[鍒稿悗浠穄", "楼" + TaoBaoUtil.getAfterUseCouplePrice(taoBaoLink.getGoods()));
 			}
 			shareText = shareText.replace("[浠锋牸绫诲瀷]", shopType);
 			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 +164,8 @@
 			history.setUser(new UserInfo(uid));
 			history.setPostPicture(taoBaoLink.getGoods().getPictUrl());
 
+			data.put("shareMoney", "楼" + history.getHongbao().toString());
+
 			out.print(JsonUtil.loadTrueResult(data));
 
 			// 寮傛鎿嶄綔
@@ -140,9 +178,166 @@
 			});
 			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();
+		}
+	}
+
 }

--
Gitblit v1.8.0