From 4fb3f5e033c38afda6e7db013c53389732591efd Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 20 八月 2019 17:19:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/IntegralControllerV2.java |  133 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 115 insertions(+), 18 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 516d376..a6ad85a 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
@@ -1,5 +1,6 @@
 package com.yeshi.fanli.controller.client.v2;
 
+import java.io.IOException;
 import java.io.PrintWriter;
 import java.lang.reflect.Type;
 import java.util.ArrayList;
@@ -22,8 +23,12 @@
 import com.google.gson.JsonPrimitive;
 import com.google.gson.JsonSerializationContext;
 import com.google.gson.JsonSerializer;
+import com.google.gson.TypeAdapter;
 import com.google.gson.reflect.TypeToken;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
 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.UserRank;
 import com.yeshi.fanli.entity.integral.CodePublishRecord;
@@ -36,6 +41,7 @@
 import com.yeshi.fanli.log.LogHelper;
 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.IntegralTaskClassService;
@@ -44,8 +50,10 @@
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.TimeUtil;
 import com.yeshi.fanli.vo.integral.DailySignVO;
 import com.yeshi.fanli.vo.integral.ExchangeTipVO;
+import com.yeshi.fanli.vo.integral.IntegralDetailVO;
 import com.yeshi.fanli.vo.integral.IntegralTaskClassVO;
 import com.yeshi.fanli.vo.user.UserInfoExtraVO;
 
@@ -75,6 +83,9 @@
 
 	@Resource
 	private IntegralExchangeRecordService integralExchangeRecordService;
+	
+	@Resource
+	private IntegralDetailService integralDetailService;
 
 	@Resource
 	private CodePublishRecordService codePublishRecordService;
@@ -165,7 +176,12 @@
 			return;
 		}
 
-		List<IntegralTaskRecord> list = integralTaskRecordService.listNotReceived(5, uid);
+		int count = 5;
+		if ("android".equalsIgnoreCase(acceptData.getPlatform())) {
+			count = Integer.MAX_VALUE;
+		}
+		
+		List<IntegralTaskRecord> list = integralTaskRecordService.listNotReceived(count, uid);
 		if (list == null) {
 			list = new ArrayList<IntegralTaskRecord>();
 		}
@@ -188,30 +204,37 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "receiveGoldCoin", method = RequestMethod.POST)
-	public void receiveGoldCoin(AcceptData acceptData, Long uid, 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;
 		}
-
-		Gson gson = new Gson();
-		Set<Long> idList = gson.fromJson(ids, new TypeToken<HashSet<Long>>() {
-		}.getType());
-		if (idList == null || idList.size() == 0) {
-			out.print(JsonUtil.loadFalseResult("棰嗗彇id涓嶈兘涓虹┖"));
-			return;
-		}
 		
-		Set<Long> gidList = gson.fromJson(gids, new TypeToken<HashSet<Long>>() {}.getType());
-
 		try {
-			Integer goldCoin = integralTaskRecordService.receiveGoldCoin(uid, idList);
+			// 鍏ㄩ儴棰嗗彇
+			if (type != null && type == 1) {
+				Integer goldCoin = integralTaskRecordService.receiveGoldCoinALL(uid);
+				JSONObject data = new JSONObject();
+				data.put("goldCoin", goldCoin);
+				out.print(JsonUtil.loadTrueResult(data));
+				return;
+			} 
 			
+			// 閮ㄥ垎棰嗗彇
+			Gson gson = new Gson();
+			Set<Long> idList = gson.fromJson(ids, new TypeToken<HashSet<Long>>() {
+			}.getType());
+			if (idList == null || idList.size() == 0) {
+				out.print(JsonUtil.loadFalseResult("棰嗗彇id涓嶈兘涓虹┖"));
+				return;
+			}
+			Integer goldCoin = integralTaskRecordService.receiveGoldCoin(uid, idList);
+			Set<Long> gidList = gson.fromJson(gids, new TypeToken<HashSet<Long>>() {}.getType());
 			List<IntegralTaskRecord> list = null;
 			if (gidList != null && gidList.size() > 0) {
-				list = integralTaskRecordService.listNotReceived(5 - gidList.size(), uid);
+				list = integralTaskRecordService.listNotReceivedExcludeId(5 - gidList.size(), uid, gidList);
 			} else {
-				list = integralTaskRecordService.listNotReceived(5, uid);
+				list = integralTaskRecordService.listNotReceivedExcludeId(5, uid, null);
 			}
 			
 			if (list == null) {
@@ -219,7 +242,7 @@
 			}
 			GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
 			Gson gson2 = gsonBuilder.create();
-
+	
 			JSONObject data = new JSONObject();
 			data.put("goldCoin", goldCoin);
 			data.put("list", gson2.toJson(list));
@@ -260,14 +283,14 @@
 		if (list == null)
 			list = new ArrayList<IntegralExchange>();
 
-		Long count = integralExchangeService.countValid();
+		//Long count = integralExchangeService.countValid();
 
 		GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
 		Gson gson = gsonBuilder.create();
 
 		JSONObject data = new JSONObject();
 		data.put("goldCoin", extraVO.getGoldCoin() + "鏋�");
-		data.put("count", count);
+		data.put("count", list.size());
 		data.put("list", gson.toJson(list));
 		out.print(JsonUtil.loadTrueResult(data));
 	}
@@ -502,4 +525,78 @@
 		return gson;
 	}
 
+	
+	/**
+	 * 鏄庣粏璇︽儏
+	 * 
+	 * @param acceptData
+	 * @param uid
+	 * @param index
+	 *            List鏈�鏈殑涓婚敭ID
+	 * @param year
+	 *            骞翠唤
+	 * @param month
+	 *            鏈堜唤
+	 *  @param type  缁熻绫诲瀷  0鍏ㄩ儴  1
+	 * @param out
+	 */
+	@RequestMapping(value = "getDetails")
+	public void getDetails(AcceptData acceptData, Long uid, Long index, Integer year, Integer month, Integer type,
+			PrintWriter out) {
+		if (uid == null || uid == 0) {
+			out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+
+		if ((year == null && month != null) || (year != null && month == null)) {
+			out.print(JsonUtil.loadFalseResult(1, "鏃ユ湡涓嶅畬鏁�"));
+			return;
+		}
+		
+		Date date = null;
+
+		if (year != null && month != null) {
+			date = new Date(TimeUtil.convertToTimeTemp(year + "-" + month, "yyyy-M"));
+			Calendar ca = Calendar.getInstance();
+			ca.setTime(date);
+			ca.add(Calendar.MONTH, 1);
+			date = new Date(ca.getTimeInMillis() - 1);
+		}
+
+		// 鏌ヨ鍒楄〃
+		List<IntegralDetailVO> list = integralDetailService.listDetailForClient(uid, index, date);
+		// 缁熻鎬绘潯鏁�
+		long count = integralDetailService.countDetailForClient(uid, index, date);
+
+		GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
+		gsonBuilder.registerTypeAdapter(TaoLiJinDetailTypeEnum.class, new TypeAdapter<TaoLiJinDetailTypeEnum>() {
+			@Override
+			public TaoLiJinDetailTypeEnum read(JsonReader arg0) throws IOException {
+				return null;
+			}
+
+			@Override
+			public void write(JsonWriter out, TaoLiJinDetailTypeEnum arg1) throws IOException {
+				out.beginObject();
+				out.name("portrait").value(arg1.getPicture());
+				out.endObject();
+			}
+		}).registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
+			@Override
+			public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) {
+				if (value == null) {
+					return new JsonPrimitive("");
+				} else {
+					return new JsonPrimitive(TimeUtil.getGernalTime(value.getTime(), "yyyy.MM.dd HH:mm"));
+				}
+			}
+		});
+
+		Gson gson = gsonBuilder.create();
+
+		JSONObject data = new JSONObject();
+		data.put("count", count);
+		data.put("data", gson.toJson(list));
+		out.print(JsonUtil.loadTrueResult(data));
+	}
 }

--
Gitblit v1.8.0