From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 18 一月 2020 12:06:27 +0800
Subject: [PATCH] 用户注册信息

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareStorageControllerV2.java |  127 +++++++++++++++++++++++++++++++++++++++---
 1 files changed, 117 insertions(+), 10 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareStorageControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareStorageControllerV2.java
index cf84f9d..9ede25a 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareStorageControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ShareStorageControllerV2.java
@@ -1,7 +1,6 @@
 package com.yeshi.fanli.controller.client.v2;
 
 import java.io.PrintWriter;
-import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -17,17 +16,22 @@
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import com.google.gson.reflect.TypeToken;
+import com.yeshi.fanli.dto.ConfigParamsDTO;
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.user.UserGoodsStorage;
 import com.yeshi.fanli.entity.goods.CommonGoods;
+import com.yeshi.fanli.entity.system.ConfigKeyEnum;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.fanli.exception.share.UserShareGoodsRecordException;
 import com.yeshi.fanli.exception.taobao.TaoKeApiException;
 import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
 import com.yeshi.fanli.exception.user.UserGoodsStorageException;
 import com.yeshi.fanli.service.inter.config.ConfigService;
-import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
+import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
 import com.yeshi.fanli.service.inter.user.UserGoodsStorageService;
 import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.VersionUtil;
 import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 import com.yeshi.fanli.vo.goods.GoodsDetailVO;
@@ -55,11 +59,56 @@
 	private UserGoodsStorageService userGoodsStorageService;
 
 	/**
+	 * 鍗曚釜鍟嗗搧鍔犲叆閫夊搧搴�
+	 * 
+	 * @param callback
+	 * @param storageIds
+	 *            id鏁扮粍
+	 * @param out
+	 */
+	@RequestMapping(value = "accordtorage", method = RequestMethod.POST)
+	public void accordtorage(AcceptData acceptData, Long uid, long id, Integer goodsType, PrintWriter out) {
+
+		if (uid == null) {
+			out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+
+		if (goodsType == null) {
+			goodsType = Constant.SOURCE_TYPE_TAOBAO;
+		}
+
+		try {
+			UserGoodsStorage userGoodsStorage = userGoodsStorageService.getByUidAndAuctionId(uid, id, goodsType);
+			boolean storageState = false;
+			if (userGoodsStorage != null) {
+				// 鍙栨秷鍔犲叆閫夊搧搴�
+				userGoodsStorageService.deleteByPrimaryKey(userGoodsStorage.getId());
+			} else {
+				// 鍔犲叆閫夊搧搴�
+				Set<Long> set = new HashSet<Long>();
+				set.add(id);
+				userGoodsStorageService.save(uid, set, goodsType);
+				storageState = true;
+			}
+
+			JSONObject data = new JSONObject();
+			data.put("storageState", storageState);
+			out.print(JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("鎿嶄綔澶辫触"));
+			e.printStackTrace();
+		}
+	}
+
+	/**
 	 * 鎵归噺娣诲姞閫夊搧搴�
 	 * 
 	 * @param acceptData
-	 * @param uid        鐢ㄦ埛id
-	 * @param ids        绠�鐗堝晢鍝乮d
+	 * @param uid
+	 *            鐢ㄦ埛id
+	 * @param ids
+	 *            绠�鐗堝晢鍝乮d
 	 * @param out
 	 */
 	@RequestMapping(value = "addStorage", method = RequestMethod.POST)
@@ -84,8 +133,10 @@
 	 * 鏌ヨ鐢ㄦ埛閫夊搧搴撴暟鎹�
 	 * 
 	 * @param acceptData
-	 * @param page       椤电爜 鍒濆鍊� 1
-	 * @param uid        鐢ㄦ埛id
+	 * @param page
+	 *            椤电爜 鍒濆鍊� 1
+	 * @param uid
+	 *            鐢ㄦ埛id
 	 * @param out
 	 */
 	@RequestMapping(value = "getlist", method = RequestMethod.POST)
@@ -110,7 +161,7 @@
 		JSONObject data = new JSONObject();
 
 		if (goodsType == Constant.SOURCE_TYPE_JD) {
-			String open = configService.get("share_jd_open");
+			String open = configService.get(ConfigKeyEnum.shareOpenJD.getKey());
 			if (!"1".equals(open.trim())) {
 				data.put("count", 0);
 				data.put("result_list", array);
@@ -154,8 +205,8 @@
 		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
 				.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
 
-		BigDecimal fanLiRate = hongBaoManageService.getFanLiRate();
-		BigDecimal shareRate = hongBaoManageService.getShareRate();
+		ConfigParamsDTO paramsDTO =  hongBaoManageService.getShowComputeRate(acceptData.getPlatform(),
+				acceptData.getVersion());
 
 		for (UserGoodsStorage userGoodsStorage : listStorage) {
 			CommonGoods commonGoods = userGoodsStorage.getCommonGoods();
@@ -188,7 +239,7 @@
 				}
 			}
 
-			GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, null, fanLiRate, shareRate);
+			GoodsDetailVO detailVO = GoodsDetailVOFactory.convertCommonGoods(commonGoods, paramsDTO);
 			detailVO.setId(commonGoods.getId());
 
 			JSONObject dataObject = new JSONObject();
@@ -203,4 +254,60 @@
 		out.print(JsonUtil.loadTrueResult(data));
 	}
 
+	/**
+	 * 鍒嗕韩鍟嗗搧杩斿洖浜岀淮鐮佸浘鐗�
+	 * 
+	 * @param callback
+	 * @param storageIds
+	 *            id鏁扮粍
+	 * @param out
+	 */
+	@RequestMapping(value = "createShare", method = RequestMethod.POST)
+	public void createShare(AcceptData acceptData, Long uid, String storageIds, PrintWriter out) {
+
+		if (StringUtil.isNullOrEmpty(storageIds)) {
+			out.print(JsonUtil.loadFalseResult("鍒嗕韩鍟嗗搧涓嶈兘涓虹┖"));
+			return;
+		}
+
+		if (uid == null) {
+			out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+
+		try {
+			Gson gson = new Gson();
+			List<Long> listStorageID = gson.fromJson(storageIds, new TypeToken<ArrayList<Long>>() {
+			}.getType());
+
+			if (!VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) {
+
+				if (listStorageID == null || listStorageID.size() < 9) {
+					out.print(JsonUtil.loadFalseResult("鍒嗕韩鍟嗗搧鏁伴噺涓嶈冻"));
+					return;
+				}
+
+				if (listStorageID.size() != 9) {
+					out.print(JsonUtil.loadFalseResult("鍒嗕韩鍟嗗搧鏁伴噺鍙兘鏄�9涓�"));
+					return;
+				}
+
+				JSONObject data = userGoodsStorageService.createShareV2(uid, listStorageID, true);
+				out.print(JsonUtil.loadTrueResult(data));
+			} else {
+				JSONObject data = userGoodsStorageService.createShareV2(uid, listStorageID, false);
+				out.print(JsonUtil.loadTrueResult(data));
+			}
+
+		} catch (UserGoodsStorageException e) {
+			out.print(JsonUtil.loadFalseResult("鍒嗕韩澶辫触"));
+			e.printStackTrace();
+		} catch (UserShareGoodsRecordException e) {
+			out.print(JsonUtil.loadFalseResult("鍒嗕韩澶辫触"));
+			e.printStackTrace();
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("鍒嗕韩澶辫触"));
+			e.printStackTrace();
+		}
+	}
 }

--
Gitblit v1.8.0