From f4548a3ee46afe45da4ee2a42dc169c575deee9f Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期三, 31 七月 2019 11:57:36 +0800
Subject: [PATCH] 动态v2兼容

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java |  187 ++++++++++++++++++++++++++++++++--------------
 1 files changed, 130 insertions(+), 57 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
index 6ded699..47215bd 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
@@ -1,11 +1,6 @@
 package com.yeshi.fanli.controller.client.v1;
 
-import java.awt.image.BufferedImage;
-import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
 import java.io.PrintWriter;
 import java.io.UnsupportedEncodingException;
 import java.lang.reflect.InvocationTargetException;
@@ -21,7 +16,6 @@
 import java.util.UUID;
 
 import javax.annotation.Resource;
-import javax.imageio.ImageIO;
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.commons.beanutils.PropertyUtils;
@@ -46,6 +40,7 @@
 import com.yeshi.fanli.dto.HongBaoDTO;
 import com.yeshi.fanli.dto.money.AccountDetails;
 import com.yeshi.fanli.dto.order.OrderItem;
+import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
 import com.yeshi.fanli.entity.AppVersionInfo;
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.user.AccountMessage;
@@ -64,6 +59,7 @@
 import com.yeshi.fanli.entity.common.Config;
 import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
 import com.yeshi.fanli.entity.goods.CommonGoods;
+import com.yeshi.fanli.entity.jd.JDGoods;
 import com.yeshi.fanli.entity.money.UserMoneyDetail;
 import com.yeshi.fanli.entity.order.HongBaoOrder;
 import com.yeshi.fanli.entity.system.BusinessSystem;
@@ -90,6 +86,7 @@
 import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
 import com.yeshi.fanli.service.inter.order.LostOrderService;
 import com.yeshi.fanli.service.inter.order.OrderService;
+import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinDetailService;
 import com.yeshi.fanli.service.inter.user.AccountMessageService;
 import com.yeshi.fanli.service.inter.user.BindingAccountService;
 import com.yeshi.fanli.service.inter.user.ExtractRecordService;
@@ -106,7 +103,6 @@
 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.FileUtil;
 import com.yeshi.fanli.util.GsonUtil;
 import com.yeshi.fanli.util.HongBaoUtil;
 import com.yeshi.fanli.util.RedisManager;
@@ -115,18 +111,19 @@
 import com.yeshi.fanli.util.TimeUtil;
 import com.yeshi.fanli.util.Utils;
 import com.yeshi.fanli.util.account.UserUtil;
+import com.yeshi.fanli.util.annotation.RequestSerializableByKey;
 import com.yeshi.fanli.util.email.MailSenderUtil;
 import com.yeshi.fanli.util.factory.AccountDetailsFactory;
 import com.yeshi.fanli.util.factory.HongBaoFactory;
 import com.yeshi.fanli.util.factory.OrderItemFactory;
+import com.yeshi.fanli.util.jd.JDApiUtil;
+import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
 import com.yeshi.fanli.util.wx.WXLoginUtil;
 import com.yeshi.fanli.vo.user.UserInfoExtraVO;
 import com.yeshi.fanli.vo.user.UserSettingsVO;
 
-import net.coobird.thumbnailator.Thumbnails;
-import net.coobird.thumbnailator.Thumbnails.Builder;
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
 
@@ -214,10 +211,12 @@
 
 	@Resource
 	private AccountMessageService accountMessageService;
-	
+
 	@Resource
 	private MaskKeyService maskKeyService;
-	
+
+	@Resource
+	private UserTaoLiJinDetailService userTaoLiJinDetailService;
 
 	private static final String PASSWORD_MAX_ERROR = "password_max_error";
 	private static final String EXTRACT_MIN_MONEY = "extract_min_money";
@@ -586,7 +585,9 @@
 		if (mySettings.getNoInvitationBonus() == null) {
 			mySettings.setNoInvitationBonus(0);
 		}
-
+		if (mySettings.getOpenSpreadHongBao() == null) {
+			mySettings.setOpenSpreadHongBao(0);
+		}
 		data.put("moduleState", mySettings);
 
 		int welfareCenterNews = 0;
@@ -623,7 +624,7 @@
 				uuser.setLastLoginIp(remotIP);
 				uuser.setLastLoginTime(java.lang.System.currentTimeMillis());
 				userInfoService.updateLoginInfo(uuser);
-				// 鏇存柊鐢ㄦ埛闄勫姞淇℃伅锛岃�佺敤鎴蜂笉瀛樺湪鐨勯渶瑕佹坊鍔�
+				// 鐢ㄦ埛绛夌骇鏇存柊
 				try {
 					userInfoExtraService.updateUserRankByUid(uuser.getId());
 				} catch (UserInfoExtraException e) {
@@ -755,7 +756,8 @@
 		data.put("error", "0");
 		data.put("maxError", 1);
 		String minMoney = configService.get(EXTRACT_MIN_MONEY); // 鍗曠瑪鎻愮幇鐨勬渶灏忛噾棰�
-		String maxMoney = configService.get("extract_money_day"); // 姣忔棩鏈�澶ф彁鐜伴噾棰�
+		String maxMoney = configService.get(EXTRACT_MAX_MONEY); // 鍗曠瑪鎻愮幇鐨勬渶灏忛噾棰�
+		String maxDayMoney = configService.get("extract_money_day"); // 姣忔棩鏈�澶ф彁鐜伴噾棰�
 		int maxDayCount = Integer.parseInt(configService.get("extract_count_day"));
 		ExtractRecord extractRecord = extractRecordService.getExtractRecordByUid(uid);
 		boolean canExtract = true;
@@ -764,15 +766,15 @@
 			canExtract = false;
 			errorMsg = String.format("姣忔棩鏈�澶氭彁鐜�%s娆�", maxDayCount + "");
 		} else if (extractRecord != null
-				&& extractRecord.getMoney().add(new BigDecimal(minMoney)).compareTo(new BigDecimal(maxMoney)) > 0) {
+				&& extractRecord.getMoney().add(new BigDecimal(minMoney)).compareTo(new BigDecimal(maxDayMoney)) > 0) {
 			canExtract = false;
-			errorMsg = String.format("姣忔棩鏈�澶氭彁鐜�%s鍏�", maxMoney);
+			errorMsg = String.format("姣忔棩鏈�澶氭彁鐜�%s鍏�", maxDayMoney);
 		}
 		data.put("canExtract", canExtract);
 		data.put("extractErrorMsg", errorMsg);
 
-		data.put("minMoney", minMoney);
-		data.put("maxMoney", maxMoney);
+		data.put("minMoney", minMoney);// 鍗曠瑪鏈�浣�
+		data.put("maxMoney", maxMoney);// 鍗曠瑪鏈�楂�
 		data.put("maxDayCount", maxDayCount);
 		data.put("bindingAccountList", gson.toJson(filterBindingAccount(bindingAccountList)));
 
@@ -1079,6 +1081,7 @@
 	 * @param type
 	 * @param out
 	 */
+	@RequestSerializableByKey(key = "uid")
 	@RequestMapping(value = "extractmoneynew", method = RequestMethod.POST)
 	public void extractMoneyNew(AcceptData acceptData, long uid, BigDecimal money, String vcode,
 			HttpServletRequest request, int type, PrintWriter out) {
@@ -1195,7 +1198,7 @@
 		} else if (etype == 111) {
 			out.print(JsonUtil.loadFalseResult("鏇存崲浜嗘墜鏈哄彿鍚�7澶╁唴涓嶅厑璁告彁鐜�"));
 		} else if (etype == 110) {
-			out.print(JsonUtil.loadFalseResult(Constant.znxConfig.getExtractWrongMsg()));
+			out.print(JsonUtil.loadFalseResult("鏈夌淮鏉冭鍗曞皻鏈墸娆�"));
 		}
 
 	}
@@ -1343,24 +1346,72 @@
 		// count>0 鏈夋秷鎭�
 		int count = accountMessageService.getCanOpenCount(uid);
 		out.print(JsonUtil.loadTrueResult(count));
+
+		ThreadUtil.run(new Runnable() {
+			@Override
+			public void run() {
+				// 鐢ㄦ埛绛夌骇鏇存柊
+				try {
+					userInfoExtraService.updateUserRankByUid(uid);
+				} catch (Exception e) {
+					LogHelper.errorDetailInfo(e);
+				}
+			}
+		});
 	}
 
 	@RequestMapping("collectionGoods")
-	public void collectionGoods(AcceptData acceptData, long uid, long auctionId, int type, PrintWriter out) {
-		CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, auctionId);
+	public void collectionGoods(AcceptData acceptData, long uid, long auctionId, int type, Integer goodsType,
+			PrintWriter out) {
+		if (goodsType == null) {
+			goodsType = Constant.SOURCE_TYPE_TAOBAO;
+		}
+		CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, auctionId, goodsType);
 		if (type == 1) {
 			if (find != null) {
 				out.print(JsonUtil.loadFalseResult(""));
 				return;
 			}
-			try {
-				TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(auctionId);
-				collectionGoodsV2Service.addCollection(uid, taoBaoGoodsBrief);
-				out.print(JsonUtil.loadTrueResult("鏀惰棌鎴愬姛"));
-			} catch (TaobaoGoodsDownException e) {
-				out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
-			} catch (CollectionGoodsException e1) {
-				out.print(JsonUtil.loadFalseResult(e1.getCode(), e1.getMsg()));
+
+			if (goodsType == Constant.SOURCE_TYPE_JD) {
+				JDGoods jdGoods = JDApiUtil.queryGoodsDetail(auctionId);
+				if (jdGoods == null) {
+					jdGoods = JDApiUtil.getGoodsDetail(auctionId);
+				}
+
+				if (jdGoods == null) {
+					out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
+				} else {
+					try {
+						collectionGoodsV2Service.addJDCollection(uid, jdGoods);
+						out.print(JsonUtil.loadTrueResult("鏀惰棌鎴愬姛"));
+					} catch (CollectionGoodsException e) {
+						out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
+					}
+				}
+			} else if (goodsType == Constant.SOURCE_TYPE_PDD) {
+				PDDGoodsDetail pddGoods = PinDuoDuoApiUtil.getGoodsDetail(auctionId);
+				if (pddGoods == null) {
+					out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
+					return;
+				}
+				try {
+					collectionGoodsV2Service.addPDDCollection(uid, pddGoods);
+					out.print(JsonUtil.loadTrueResult("鏀惰棌鎴愬姛"));
+				} catch (CollectionGoodsException e) {
+					out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
+				}
+
+			} else {
+				try {
+					TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(auctionId);
+					collectionGoodsV2Service.addCollection(uid, taoBaoGoodsBrief);
+					out.print(JsonUtil.loadTrueResult("鏀惰棌鎴愬姛"));
+				} catch (TaobaoGoodsDownException e) {
+					out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"));
+				} catch (CollectionGoodsException e1) {
+					out.print(JsonUtil.loadFalseResult(e1.getCode(), e1.getMsg()));
+				}
 			}
 		} else {
 			if (find == null) {
@@ -1368,7 +1419,7 @@
 				return;
 			} else {
 				try {
-					collectionGoodsV2Service.cancelCollectionByAuctionId(uid, auctionId);
+					collectionGoodsV2Service.cancelCollectionByAuctionId(uid, auctionId, goodsType);
 					out.print(JsonUtil.loadTrueResult("鍙栨秷鏀惰棌鎴愬姛"));
 				} catch (CollectionGoodsException e) {
 					out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
@@ -1388,30 +1439,40 @@
 	 * @param out
 	 */
 	@RequestMapping("collectionGoodsJp")
-	public void collectionGoodsJp(String callback, AcceptData acceptData, Long uid, Long auctionId, PrintWriter out) {
+	public void collectionGoodsJp(String callback, AcceptData acceptData, Long uid, Long auctionId, Integer goodsType,
+			PrintWriter out) {
 
 		if (uid == null || auctionId == null) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(""));
 			return;
 		}
 
-		CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, auctionId);
+		if (goodsType == null) {
+			goodsType = Constant.SOURCE_TYPE_TAOBAO;
+		}
+
+		CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, auctionId, goodsType);
 
 		if (find == null) {
-			// 娣诲姞鏀惰棌
-			try {
-				TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(auctionId);
-				collectionGoodsV2Service.addCollection(uid, taoBaoGoodsBrief);
-				JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(1));
-			} catch (TaobaoGoodsDownException e) {
-				JsonUtil.printMode(out, callback, (JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�")));
-			} catch (CollectionGoodsException e1) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e1.getCode(), e1.getMsg()));
+			if (goodsType == Constant.SOURCE_TYPE_JD) {
+
+			} else if (goodsType == Constant.SOURCE_TYPE_PDD) {
+
+			} else {
+				try {
+					TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(auctionId);
+					collectionGoodsV2Service.addCollection(uid, taoBaoGoodsBrief);
+					JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(1));
+				} catch (TaobaoGoodsDownException e) {
+					JsonUtil.printMode(out, callback, (JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�")));
+				} catch (CollectionGoodsException e1) {
+					JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e1.getCode(), e1.getMsg()));
+				}
 			}
 		} else {
 			// 鍙栨秷鏀惰棌
 			try {
-				collectionGoodsV2Service.cancelCollectionByAuctionId(uid, auctionId);
+				collectionGoodsV2Service.cancelCollectionByAuctionId(uid, auctionId, goodsType);
 				JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鍙栨秷鏀惰棌鎴愬姛"));
 			} catch (CollectionGoodsException e) {
 				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
@@ -1424,11 +1485,11 @@
 	public void collectionGoodsList(AcceptData acceptData, long uid, int page, PrintWriter out) {
 
 		List<CollectionGoodsV2> collectionGoodsList = collectionGoodsV2Service.getCollectionGoodsList(uid, page + 1,
-				Constant.PAGE_SIZE);
+				Constant.PAGE_SIZE, Constant.SOURCE_TYPE_TAOBAO);
 
 		List<TaoBaoGoodsBriefExtra> list = new ArrayList<TaoBaoGoodsBriefExtra>();
 
-		long count = collectionGoodsV2Service.getCollectionGoodsCount(uid);
+		long count = collectionGoodsV2Service.getCollectionGoodsCount(uid, Constant.SOURCE_TYPE_TAOBAO);
 		JSONObject data = new JSONObject();
 
 		List<TaoBaoGoodsBrief> listTaoKeGoods = new ArrayList<TaoBaoGoodsBrief>();
@@ -1505,14 +1566,16 @@
 	}
 
 	@RequestMapping("deleteCollectionGoods")
-	public void deleteCollectionGoods(AcceptData acceptData, String ids, Integer type, long uid, PrintWriter out) {
+	public void deleteCollectionGoods(AcceptData acceptData, String ids, Integer type, long uid, Integer goodsType,
+			PrintWriter out) {
 		if (type != null && type == 1) {
 			clearConllectionGoods(acceptData, uid, out);
 		} else {
 			if (!StringUtil.isNullOrEmpty(ids)) {
 				Arrays.asList(ids.split(",")).parallelStream().forEach(auctionIdStr -> {
 					try {
-						collectionGoodsV2Service.cancelCollectionByAuctionId(uid, Long.parseLong(auctionIdStr));
+						collectionGoodsV2Service.cancelCollectionByAuctionId(uid, Long.parseLong(auctionIdStr),
+								goodsType);
 					} catch (Exception e) {
 						e.printStackTrace();
 					}
@@ -2082,6 +2145,14 @@
 			if (mySettings.getNoInvitationBonus() == null) {
 				mySettings.setNoInvitationBonus(0);
 			}
+
+			if (mySettings.getOpenSpreadHongBao() == null) {
+				if (userTaoLiJinDetailService.countDetail(uid) > 0) {
+					mySettings.setOpenSpreadHongBao(1);
+				} else {
+					mySettings.setOpenSpreadHongBao(0);
+				}
+			}
 			data.put("moduleState", mySettings);
 
 			int welfareCenterNews = 0;
@@ -2164,9 +2235,9 @@
 		}
 	}
 
-	
 	/**
 	 * 鐢ㄦ埛鏇存崲澶村儚
+	 * 
 	 * @param acceptData
 	 * @param fileList
 	 * @param uid
@@ -2174,22 +2245,23 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "uploadPortrait")
-	public void uploadPortrait(AcceptData acceptData, MultipartFile file, Long uid, HttpServletRequest request, PrintWriter out) {
+	public void uploadPortrait(AcceptData acceptData, MultipartFile file, Long uid, HttpServletRequest request,
+			PrintWriter out) {
 		try {
 			if (uid == null) {
 				out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�"));
 				return;
 			}
-			
+
 			if (file == null) {
 				out.print(JsonUtil.loadFalseResult("涓婁紶鏂囦欢涓嶈兘涓虹┖"));
 				return;
 			}
-			
+
 			userInfoService.uploadPortrait(file, uid);
-			
+
 			out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
-			
+
 		} catch (UserInfoException e) {
 			out.print(JsonUtil.loadFalseResult(e.getMsg()));
 			try {
@@ -2213,9 +2285,10 @@
 			}
 		}
 	}
-	
+
 	/**
 	 * 鏇存崲鏄电О
+	 * 
 	 * @param acceptData
 	 * @param nickName
 	 * @param uid
@@ -2236,14 +2309,14 @@
 				out.print(JsonUtil.loadFalseResult("鏄电О杩囬暱"));
 				return;
 			}
-			
-			if(maskKeyService.examineContent(nickName)) {
+
+			if (maskKeyService.examineContent(nickName)) {
 				out.print(JsonUtil.loadFalseResult("涓嶈兘鍖呭惈鏁忔劅璇嶆眹"));
 				return;
 			}
-			
+
 			userInfoService.saveUserInfo(nickName, uid);
-			
+
 			out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛"));
 		} catch (UserInfoException e) {
 			out.print(JsonUtil.loadFalseResult(e.getMsg()));

--
Gitblit v1.8.0