From 63bf3eac0b63606348e40d994a54de1cd4b6d3b9 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 28 三月 2020 16:44:50 +0800
Subject: [PATCH] 数据统计 + 会员

---
 fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java |   73 ++++++++++++++++++++++++++++++++++++
 1 files changed, 73 insertions(+), 0 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java
index b0bc74e..eb21b3c 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java
@@ -1,6 +1,7 @@
 package com.yeshi.fanli.controller.admin;
 
 import java.io.PrintWriter;
+import java.lang.reflect.Type;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;
@@ -18,6 +19,10 @@
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonPrimitive;
+import com.google.gson.JsonSerializationContext;
+import com.google.gson.JsonSerializer;
 import com.google.gson.reflect.TypeToken;
 import com.yeshi.fanli.controller.admin.utils.AdminUtils;
 import com.yeshi.fanli.dto.ChartTDO;
@@ -34,6 +39,7 @@
 import com.yeshi.fanli.entity.common.AdminUser;
 import com.yeshi.fanli.entity.integral.IntegralDetail;
 import com.yeshi.fanli.entity.money.UserMoneyDetail;
+import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum;
 import com.yeshi.fanli.exception.user.ForbiddenUserIdentifyCodeException;
 import com.yeshi.fanli.exception.user.vip.UserVIPInfoException;
 import com.yeshi.fanli.log.LogHelper;
@@ -1392,4 +1398,71 @@
 		}
 	}
 
+	
+	
+	/**
+	 * 鐢ㄦ埛璐︽埛鏄庣粏
+	 * 
+	 * @param callback
+	 * @param pageIndex
+	 * @param pageSize
+	 * @param id
+	 * @param out
+	 */
+	@RequestMapping(value = "getMoneyDetails")
+	public void getMoneyDetails(String callback, Integer pageIndex, String key, Integer keyType, PrintWriter out) {
+		if (pageIndex == null) {
+			pageIndex = 1;
+		}
+		int pageSize = Constant.PAGE_SIZE;
+		try {
+			List<UserMoneyDetail> list = userMoneyDetailService.listQuery(pageIndex, pageSize, key, keyType);
+			if (list == null || list.size() == 0) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
+				return;
+			}
+			
+			for (UserMoneyDetail detail: list) {
+				UserInfo userInfo = detail.getUserInfo();
+				if (userInfo == null) {
+					detail.setUserInfo(new UserInfo());
+					continue;
+				}
+				
+				
+				UserInfo user = userInfoService.selectByPKey(userInfo.getId());
+				if (user != null) {
+					detail.setUserInfo(user);
+				}
+			}
+
+			long count = userMoneyDetailService.countQuery(key, keyType);
+
+			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
+			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
+
+			
+			GsonBuilder gsonBuilder = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss");
+			gsonBuilder.registerTypeAdapter(UserMoneyDetailTypeEnum.class, new JsonSerializer<UserMoneyDetailTypeEnum>() {
+				@Override
+				public JsonElement serialize(UserMoneyDetailTypeEnum value, Type theType, JsonSerializationContext context) {
+					if (value == null) {
+						return new JsonPrimitive("");
+					} else {
+						return new JsonPrimitive(value.getDesc());
+					}
+				}
+			});
+			Gson gson = gsonBuilder.create();
+			 
+			
+			JSONObject data = new JSONObject();
+			data.put("pe", pe);
+			data.put("result_list", gson.toJson(list));
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			e.printStackTrace();
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触"));
+		}
+	}
 }

--
Gitblit v1.8.0