From d8359ddb48dab5cc797a9d552e11fde571f4920c Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期二, 27 八月 2019 12:32:46 +0800
Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/IntegralControllerV2.java |  162 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 113 insertions(+), 49 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/IntegralControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/IntegralControllerV2.java
index d5b294f..80e4ce2 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/IntegralControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/IntegralControllerV2.java
@@ -30,21 +30,29 @@
 import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinDetail.TaoLiJinDetailTypeEnum;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
 import com.yeshi.fanli.entity.bus.user.UserRank;
+import com.yeshi.fanli.entity.common.JumpDetailV2;
 import com.yeshi.fanli.entity.integral.CodePublishRecord;
 import com.yeshi.fanli.entity.integral.IntegralExchange;
+import com.yeshi.fanli.entity.integral.IntegralTask;
 import com.yeshi.fanli.entity.integral.IntegralTaskClass.UniqueKeyEnum;
 import com.yeshi.fanli.entity.integral.IntegralTaskRecord;
 import com.yeshi.fanli.exception.integral.IntegralExchangeException;
+import com.yeshi.fanli.exception.integral.IntegralGetException;
 import com.yeshi.fanli.exception.integral.IntegralTaskRecordException;
 import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
 import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.integral.CodePublishRecordService;
 import com.yeshi.fanli.service.inter.integral.IntegralDetailService;
 import com.yeshi.fanli.service.inter.integral.IntegralExchangeRecordService;
 import com.yeshi.fanli.service.inter.integral.IntegralExchangeService;
+import com.yeshi.fanli.service.inter.integral.IntegralGetService;
 import com.yeshi.fanli.service.inter.integral.IntegralTaskClassService;
+import com.yeshi.fanli.service.inter.integral.IntegralTaskRankService;
 import com.yeshi.fanli.service.inter.integral.IntegralTaskRecordService;
+import com.yeshi.fanli.service.inter.integral.IntegralTaskService;
 import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.util.Constant;
@@ -82,12 +90,24 @@
 
 	@Resource
 	private IntegralExchangeRecordService integralExchangeRecordService;
-	
+
 	@Resource
 	private IntegralDetailService integralDetailService;
 
 	@Resource
+	private IntegralTaskRankService integralTaskRankService;
+
+	@Resource
 	private CodePublishRecordService codePublishRecordService;
+
+	@Resource
+	private IntegralTaskService integralTaskService;
+
+	@Resource
+	private IntegralGetService integralGetService;
+
+	@Resource
+	private JumpDetailV2Service jumpDetailV2Service;
 
 	/**
 	 * 鑾峰彇浠诲姟鍒楄〃
@@ -97,6 +117,7 @@
 	 * @param page
 	 * @param out
 	 */
+	// @RequestSerializableByKey(key="#acceptData.device")
 	@RequestMapping(value = "getTaskList", method = RequestMethod.POST)
 	public void getTaskList(AcceptData acceptData, Long uid, Integer page, PrintWriter out) {
 		if (uid == null || uid <= 0) {
@@ -119,18 +140,18 @@
 				list = new ArrayList<IntegralTaskClassVO>();
 			}
 			long count = integralTaskClassService.countTaskClass();
-			
+
 			// 鐢ㄦ埛绛惧埌
 			Integer signState = 0;
 			if (page == 1) {
-				
+
 				// 绛惧埌
-				try { 
+				try {
 					signState = integralTaskClassService.finishedDailySign(uid);
 				} catch (Exception e) {
 					e.printStackTrace();
 				}
-				
+
 				UserInfoExtraVO extraVO = userInfoExtraService.getInfoExtraVOByUid(uid);
 				if (extraVO == null) {
 					out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鐩稿叧淇℃伅涓嶅瓨鍦�"));
@@ -148,12 +169,12 @@
 					out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛绛夌骇涓嶅瓨鍦�"));
 					return;
 				}
-				
+
 				// 绛惧埌鏃ユ湡淇℃伅
 				DailySignVO dailySignVO = integralTaskClassService.getDailySignList(uid, userRank.getId());
 
 				boolean ejectSign = false;
-				if (signState == 1) 
+				if (signState == 1)
 					ejectSign = true;
 
 				data.put("signState", ejectSign);
@@ -163,17 +184,26 @@
 				data.put("dailySign", dailySignVO);
 			}
 
-			
 			for (IntegralTaskClassVO taskClassVO : list) {
+				UniqueKeyEnum uniqueKey = taskClassVO.getUniqueKey();
+
+				UserInfoExtraVO extraVO = userInfoExtraService.getInfoExtraVOByUid(uid);
+				if (extraVO == null || StringUtil.isNullOrEmpty(extraVO.getInviteCode())) {
+					JumpDetailV2 jumpDetailV2 = jumpDetailV2Service.getByTypeCache("invite_activate",
+							Constant.getPlatformCode(acceptData.getPlatform()),
+							Integer.parseInt(acceptData.getVersion()));
+
+					taskClassVO.setJumpDetail(jumpDetailV2);
+				}
+
 				String progress = taskClassVO.getProgress();
 				if (StringUtil.isNullOrEmpty(progress))
 					continue;
-				
+
 				Integer taskNum = taskClassVO.getTaskNum();
 				if (taskNum == null)
 					continue;
 
-				UniqueKeyEnum uniqueKey = taskClassVO.getUniqueKey();
 				if (uniqueKey == UniqueKeyEnum.dailySign) {
 					if (signState == 0) {
 						taskClassVO.setLightUp(true); // 绛惧埌澶辫触
@@ -182,10 +212,25 @@
 					} else if (signState == 2) {
 						taskClassVO.setLightUp(false);
 					}
+
+					// 鏍规嵁澶╂暟鍙樺寲鏇存敼绛惧埌閲戦
+					Integer num = integralTaskRecordService.getNowdaySignNum(uid, taskClassVO.getId());
+
+					String uniqueKeyTask = UniqueKeyEnum.dailySign.name() + num;
+					IntegralTask integralTask = integralTaskService.getByCidAndUniqueKey(taskClassVO.getId(),
+							uniqueKeyTask);
+					Integer goldCoin = 0;
+					if (integralTask != null) {
+						goldCoin = integralTask.getGoldCoin();
+						Integer baseDoubleNum = integralTask.getDoubleNum();
+						if (baseDoubleNum != null && baseDoubleNum > 0)
+							goldCoin = goldCoin * baseDoubleNum;
+					}
+					taskClassVO.setTotalCoin(goldCoin);
 				} else {
 					taskClassVO.setLightUp(true);
 				}
-				
+
 				Integer dateType = 1; // 鏌ヨ褰撴棩
 				if (uniqueKey == UniqueKeyEnum.orderReward)
 					dateType = null; // 鏌ヨ鍘嗗彶
@@ -199,14 +244,14 @@
 						countFinished = integralTaskRecordService.countFinished(uid, id, dateType);
 				}
 				progress = progress.replace("{宸插畬鎴恾", countFinished + "").replace("{鎬讳换鍔", taskNum + "");
-				
+
 				if (signState == 0 && uniqueKey == UniqueKeyEnum.dailySign) {
 					progress = "鏈鍒�";
 					taskClassVO.setBtnName("绛惧埌");
-				} 
+				}
 				taskClassVO.setProgress(progress);
 			}
-			
+
 			data.put("count", count);
 			data.put("list", gson.toJson(list));
 			out.print(JsonUtil.loadTrueResult(data));
@@ -233,7 +278,7 @@
 		if ("android".equalsIgnoreCase(acceptData.getPlatform())) {
 			count = Integer.MAX_VALUE;
 		}
-		
+
 		List<IntegralTaskRecord> list = integralTaskRecordService.listNotReceived(count, uid);
 		if (list == null) {
 			list = new ArrayList<IntegralTaskRecord>();
@@ -252,17 +297,20 @@
 	 * 
 	 * @param acceptData
 	 * @param uid
-	 * @param ids  // 棰嗗彇id
-	 * @param gids // 鏈鍙杋d
+	 * @param ids
+	 *            // 棰嗗彇id
+	 * @param gids
+	 *            // 鏈鍙杋d
 	 * @param out
 	 */
 	@RequestMapping(value = "receiveGoldCoin", method = RequestMethod.POST)
-	public void receiveGoldCoin(AcceptData acceptData, Long uid, Integer type, String ids, String gids, PrintWriter out) {
+	public void receiveGoldCoin(AcceptData acceptData, Long uid, Integer type, String ids, String gids,
+			PrintWriter out) {
 		if (uid == null || uid <= 0) {
 			out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
 			return;
 		}
-		
+
 		try {
 			// 鍏ㄩ儴棰嗗彇
 			if (type != null && type == 1) {
@@ -271,8 +319,8 @@
 				data.put("goldCoin", goldCoin);
 				out.print(JsonUtil.loadTrueResult(data));
 				return;
-			} 
-			
+			}
+
 			// 閮ㄥ垎棰嗗彇
 			Gson gson = new Gson();
 			Set<Long> idList = gson.fromJson(ids, new TypeToken<HashSet<Long>>() {
@@ -282,20 +330,21 @@
 				return;
 			}
 			Integer goldCoin = integralTaskRecordService.receiveGoldCoin(uid, idList);
-			Set<Long> gidList = gson.fromJson(gids, new TypeToken<HashSet<Long>>() {}.getType());
+			Set<Long> gidList = gson.fromJson(gids, new TypeToken<HashSet<Long>>() {
+			}.getType());
 			List<IntegralTaskRecord> list = null;
 			if (gidList != null && gidList.size() > 0) {
 				list = integralTaskRecordService.listNotReceivedExcludeId(5 - gidList.size(), uid, gidList);
 			} else {
 				list = integralTaskRecordService.listNotReceivedExcludeId(5, uid, null);
 			}
-			
+
 			if (list == null) {
 				list = new ArrayList<IntegralTaskRecord>();
 			}
 			GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
 			Gson gson2 = gsonBuilder.create();
-	
+
 			JSONObject data = new JSONObject();
 			data.put("goldCoin", goldCoin);
 			data.put("list", gson2.toJson(list));
@@ -336,7 +385,7 @@
 		if (list == null)
 			list = new ArrayList<IntegralExchange>();
 
-		//Long count = integralExchangeService.countValid();
+		// Long count = integralExchangeService.countValid();
 
 		GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
 		Gson gson = gsonBuilder.create();
@@ -363,7 +412,6 @@
 
 			GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
 			Gson gson = gsonBuilder.create();
-
 			JSONObject data = new JSONObject();
 			data.put("result", gson.toJson(exchange));
 			out.print(JsonUtil.loadTrueResult(data));
@@ -385,11 +433,14 @@
 		try {
 			IntegralExchange exchange = integralExchangeService.exchange(uid, id);
 
+			UserInfoExtra extraVO = userInfoExtraService.getUserInfoExtra(uid);
+
 			GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
 			Gson gson = gsonBuilder.create();
 
 			JSONObject data = new JSONObject();
 			data.put("result", gson.toJson(exchange));
+			data.put("goldCoin", extraVO.getGoldCoin() + "鏋�");
 			out.print(JsonUtil.loadTrueResult(data));
 		} catch (IntegralExchangeException e) {
 			out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
@@ -431,8 +482,11 @@
 	@RequestMapping(value = "exchangeInviteCode", method = RequestMethod.POST)
 	public void exchangeInviteCode(AcceptData acceptData, Long uid, Long id, PrintWriter out) {
 		try {
-			integralExchangeService.exchangeInviteCode(uid, id);
-			out.print(JsonUtil.loadTrueResult("閭�璇风爜婵�娲绘垚鍔�"));
+			String inviteCode = integralExchangeService.exchangeInviteCode(uid, id);
+			JSONObject data = new JSONObject();
+			data.put("msg", "鍏戞崲鎴愬姛锛岄噾甯佸凡娑堣�� ");
+			data.put("inviteCode", inviteCode);
+			out.print(JsonUtil.loadTrueResult(data));
 		} catch (IntegralExchangeException e) {
 			out.print(JsonUtil.loadFalseResult(1, e.getMsg()));
 		}
@@ -452,19 +506,24 @@
 			return;
 		}
 
-		List<CodePublishRecord> list = codePublishRecordService.listValid((page - 1) * Constant.PAGE_SIZE,
-				Constant.PAGE_SIZE);
-		if (list == null) {
-			list = new ArrayList<CodePublishRecord>();
+		try {
+			List<CodePublishRecord> list = codePublishRecordService.listValid((page - 1) * Constant.PAGE_SIZE,
+					Constant.PAGE_SIZE);
+			if (list == null) {
+				list = new ArrayList<CodePublishRecord>();
+			}
+
+			long count = codePublishRecordService.countValid();
+
+			JSONObject data = new JSONObject();
+			data.put("count", count);
+			data.put("list", getGson().toJson(list));
+			data.put("helpLink", configService.get("publish_list_help_link"));
+			out.print(JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult(1, "鑾峰彇澶辫触"));
+			return;
 		}
-
-		long count = codePublishRecordService.countValid();
-
-		JSONObject data = new JSONObject();
-		data.put("count", count);
-		data.put("list", getGson().toJson(list));
-		data.put("helpLink", configService.get("publish_list_help_link"));
-		out.print(JsonUtil.loadTrueResult(data));
 	}
 
 	/**
@@ -481,9 +540,18 @@
 			out.print(JsonUtil.loadFalseResult("鐢ㄦ埛灏氭湭鐧诲綍"));
 			return;
 		}
-		
+
 		if (StringUtil.isNullOrEmpty(event)) {
 			out.print(JsonUtil.loadFalseResult("浜嬩欢涓虹┖"));
+			return;
+		}
+		IntegralTaskRecord record = null;
+		try {
+			record = integralGetService.addEventStatistic(uid, event);
+		} catch (IntegralGetException e) {
+		}
+		if (record == null) {
+			out.print(JsonUtil.loadFalseResult("娣诲姞澶辫触"));
 			return;
 		}
 
@@ -492,21 +560,17 @@
 				|| "scanTBCart".equalsIgnoreCase(event)) {
 			JSONObject notify = new JSONObject();
 			switch (event) {
-			
 			case "recommendSearch":
 				notify.put("name", "瀹屾垚涓�娆℃櫤鑳芥悳绱�");
-				notify.put("score", "+20閲戝竵");
 				break;
 			case "scanGoods":
 				notify.put("name", "瀹屾垚涓�娆″晢鍝佹祻瑙�");
-				notify.put("score", "+100閲戝竵");
 				break;
 			case "scanTBCart":
 				notify.put("name", "瀹屾垚涓�娆¤喘鐗╄溅娴忚");
-				notify.put("score", "+300閲戝竵");
 				break;
 			}
-
+			notify.put("score", String.format("+%s閲戝竵", record.getGoldCoin()));
 			data.put("notify", notify);
 		}
 		out.print(JsonUtil.loadTrueResult(data));
@@ -578,7 +642,6 @@
 		return gson;
 	}
 
-	
 	/**
 	 * 鏄庣粏璇︽儏
 	 * 
@@ -590,7 +653,8 @@
 	 *            骞翠唤
 	 * @param month
 	 *            鏈堜唤
-	 *  @param type  缁熻绫诲瀷  0鍏ㄩ儴  1
+	 * @param type
+	 *            缁熻绫诲瀷 0鍏ㄩ儴 1
 	 * @param out
 	 */
 	@RequestMapping(value = "getDetails")
@@ -605,7 +669,7 @@
 			out.print(JsonUtil.loadFalseResult(1, "鏃ユ湡涓嶅畬鏁�"));
 			return;
 		}
-		
+
 		Date date = null;
 
 		if (year != null && month != null) {

--
Gitblit v1.8.0