From 8512bf1b2a8346c549621530b307429d5a9fcf53 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期四, 28 二月 2019 14:04:17 +0800
Subject: [PATCH] 商品详情-免单不返回分享信息
---
fanli/src/main/java/com/yeshi/fanli/controller/client/ShareController.java | 257 +++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 236 insertions(+), 21 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..3346708 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,41 @@
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.UserExtraTaoBaoInfo;
+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.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.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 +56,24 @@
@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;
// 鑾峰彇鍟嗗搧鍒嗕韩閾炬帴
@RequestMapping(value = "getGoodsShareUrl")
@@ -61,9 +92,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 +110,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 +130,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 +147,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 +184,8 @@
history.setUser(new UserInfo(uid));
history.setPostPicture(taoBaoLink.getGoods().getPictUrl());
+ data.put("shareMoney", "楼" + history.getHongbao().toString());
+
out.print(JsonUtil.loadTrueResult(data));
// 寮傛鎿嶄綔
@@ -140,9 +198,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