From 8a54915d3c39d9d8d7e90c0971d1e19d0eb76622 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期五, 12 六月 2020 14:37:04 +0800
Subject: [PATCH] 券统计

---
 fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java |  209 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 201 insertions(+), 8 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 31a69d5..18f2b73 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
@@ -2,6 +2,7 @@
 
 import java.io.PrintWriter;
 import java.lang.reflect.Type;
+import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;
@@ -34,6 +35,7 @@
 import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
+import com.yeshi.fanli.entity.bus.user.UserInviteValidNum;
 import com.yeshi.fanli.entity.bus.user.UserRank;
 import com.yeshi.fanli.entity.bus.user.vip.UserVIPInfo;
 import com.yeshi.fanli.entity.common.AdminUser;
@@ -46,6 +48,8 @@
 import com.yeshi.fanli.service.inter.count.UserInfoCountService;
 import com.yeshi.fanli.service.inter.money.UserMoneyDetailService;
 import com.yeshi.fanli.service.inter.money.extract.BindingAccountService;
+import com.yeshi.fanli.service.inter.money.extract.ExtractService;
+import com.yeshi.fanli.service.inter.order.HongBaoV2Service;
 import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService;
 import com.yeshi.fanli.service.inter.user.UserAccountService;
 import com.yeshi.fanli.service.inter.user.UserActiveLogService;
@@ -55,7 +59,7 @@
 import com.yeshi.fanli.service.inter.user.UserRankService;
 import com.yeshi.fanli.service.inter.user.integral.IntegralDetailService;
 import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
-import com.yeshi.fanli.service.inter.user.invite.UserInviteValidRecordService;
+import com.yeshi.fanli.service.inter.user.invite.UserInviteValidNumService;
 import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
 import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
 import com.yeshi.fanli.tag.PageEntity;
@@ -114,7 +118,18 @@
 	@Resource
 	private IntegralDetailService integralDetailService;
 	
-
+	@Resource
+	private UserInviteValidNumService userInviteValidNumService;
+	
+	@Resource
+	private ThreeSaleSerivce threeSaleSerivce;
+	
+	@Resource
+	private ExtractService extractService;
+	
+	@Resource
+	private HongBaoV2Service hongBaoV2Service;
+	
 	
 	/**
 	 * 鏌ヨ鐢ㄦ埛淇℃伅鍒楄〃 姝e父鐢ㄦ埛/寮傚父鐢ㄦ埛
@@ -212,6 +227,160 @@
 		}
 	}
 
+	/**
+	 * 鐢ㄦ埛鍩虹淇℃伅鏌ヨ
+	 * @param callback
+	 * @param pageIndex
+	 * @param pageSize
+	 * @param key
+	 * @param keyType
+	 * @param rank
+	 * @param userType
+	 * @param days
+	 * @param startTime
+	 * @param endTime
+	 * @param type
+	 * @param level
+	 * @param activeCode
+	 * @param out
+	 */
+	@RequestMapping(value = "queryInfo")
+	public void queryInfo(String callback, Integer pageIndex, Integer pageSize, String key, Integer keyType, Integer rank,Integer userType,
+			Integer days, String startTime, String endTime, Integer state,String level,
+			Integer activeCode, PrintWriter out) {
+		try {
+			if (pageIndex == null)
+				pageIndex = 1;
+
+			if (pageSize == null)
+				pageSize = Constant.PAGE_SIZE;
+
+			String userRank = null;
+			if (rank != null) {
+				switch (rank) {
+				case 1:
+					userRank = "闈掗摐";
+					break;
+				case 2:
+					userRank = "鐧介摱";
+					break;
+				case 3:
+					userRank = "榛勯噾";
+					break;
+				case 4:
+					userRank = "閾傞噾";
+					break;
+				default:
+					break;
+				}
+			}
+
+			List<UserInfoVO> userList = userInfoService.queryInfo((pageIndex - 1) * pageSize, pageSize, state, key, keyType,
+					userRank, days, startTime, endTime, userType, level, activeCode);
+
+			if (userList == null || userList.size() == 0) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鐩稿叧鏁版嵁"));
+				return;
+			}
+
+			long count = userInfoService.countInfo(state, key, keyType, userRank, days, startTime, endTime,userType, level, activeCode);
+
+			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
+			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
+
+			GsonBuilder gsonBuilder = new GsonBuilder();
+			gsonBuilder.serializeNulls();
+			Gson gson = gsonBuilder.create();
+
+			JSONObject data = new JSONObject();
+			data.put("pe", pe);
+			data.put("resultList", gson.toJson(userList));
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			e.printStackTrace();
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
+		}
+	}
+	
+	
+	/**
+	 * 璧勯噾缁熻
+	 * @param callback
+	 * @param uid
+	 * @param out
+	 */
+	@RequestMapping(value = "statisticsMoney")
+	public void statisticsMoney(String callback, Long uid, PrintWriter out) {
+		try {
+			UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
+			if (user == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ョ敤鎴稩D涓嶅瓨鍦�"));
+				return;
+			}
+			
+			Date minDate = null;
+			Date maxDate = null;
+			long timeStamp = System.currentTimeMillis();
+			Calendar calendar = Calendar.getInstance();
+			calendar.setTimeInMillis(timeStamp);
+			List<UserMoneyDetailTypeEnum> typeList = new ArrayList<>();
+			typeList.add(UserMoneyDetailTypeEnum.extract);
+			typeList.add(UserMoneyDetailTypeEnum.extractNew);
+			typeList.add(UserMoneyDetailTypeEnum.extractVerify);
+			typeList.add(UserMoneyDetailTypeEnum.extractVerifyNew);
+			typeList.add(UserMoneyDetailTypeEnum.extractReject);
+			typeList.add(UserMoneyDetailTypeEnum.extractAutoWX);
+			minDate = new Date(0L);
+			maxDate = new Date(timeStamp);
+			// 绱鎴愬姛鎻愮幇
+			BigDecimal totalExtractMoney = userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate,
+					maxDate, 1).abs();
+			// 鎻愮幇涓噾棰�
+			BigDecimal extractingMoney = extractService.sumVerifyingMoney(uid);
+			
+			// 鍏ㄩ儴鏈埌璐�
+			minDate = new Date(0);
+			maxDate = new Date(timeStamp);
+			BigDecimal unRecievedMoney = hongBaoV2Service.getUnRecievedMoneyWithCreateTime(uid, minDate, maxDate);
+			
+			JSONObject data = new JSONObject();
+			data.put("totalExtractMoney", totalExtractMoney);
+			data.put("extractingMoney", extractingMoney);
+			data.put("balanceMoney", user.getMyHongBao());
+			data.put("unRecievedMoney", unRecievedMoney);
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
+			e.printStackTrace();
+		}
+	}
+	
+	
+	/**
+	 * 鏉冪泭缁熻
+	 * @param callback
+	 * @param uid
+	 * @param out
+	 */
+	@RequestMapping(value = "statisticsGoldCoin")
+	public void statisticsEquity(String callback, Long uid, PrintWriter out) {
+		try {
+			int goldCoin = 0;
+			UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
+			if (userInfoExtra != null) {
+				goldCoin = userInfoExtra.getGoldCoin();
+			}
+			
+			JSONObject data = new JSONObject();
+			data.put("goldCoin", goldCoin);
+			data.put("exchangeGoldCoin",new BigDecimal(integralDetailService.sumUseGoldCoin(uid)).abs());
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
+			e.printStackTrace();
+		}
+	}
+	
 	/**
 	 * 缁熻浠婃棩鐢ㄦ埛鎬绘儏鍐�
 	 * 
@@ -652,8 +821,6 @@
 					}
 				}
 			}
-			
-			
 			
 
 			long count = 0;
@@ -1277,7 +1444,6 @@
 					continue;
 				}
 				
-				
 				UserInfo user = userInfoService.selectByPKey(userInfo.getId());
 				if (user != null) {
 					detail.setUserInfo(user);
@@ -1285,10 +1451,8 @@
 			}
 
 			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>() {
@@ -1302,7 +1466,6 @@
 				}
 			});
 			Gson gson = gsonBuilder.create();
-			 
 			
 			JSONObject data = new JSONObject();
 			data.put("pe", pe);
@@ -1313,4 +1476,34 @@
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触"));
 		}
 	}
+	
+	
+	
+	/**
+	 *  鐢ㄦ埛绮変笣缁熻
+	 * 
+	 * @param callback
+	 * @param pageIndex
+	 * @param pageSize
+	 * @param id
+	 * @param out
+	 */
+	@RequestMapping(value = "countTeamFans")
+	public void countTeamFans(String callback, Long uid, PrintWriter out) {
+		int doneFirst = 0;
+		int doneSecond = 0;
+		UserInviteValidNum userInviteValidNum = userInviteValidNumService.selectByPrimaryKey(uid);
+		if (userInviteValidNum != null) {
+			doneFirst = userInviteValidNum.getNumFirst() == null ? 0 : userInviteValidNum.getNumFirst();
+			doneSecond = userInviteValidNum.getNumSecond() == null ? 0 : userInviteValidNum.getNumSecond();
+		}
+		JSONObject data = new JSONObject();
+		data.put("doneFirst", doneFirst); 
+		data.put("doneSecond", doneSecond); 
+		data.put("first", threeSaleSerivce.countFirstTeam(uid)); 
+		data.put("second", threeSaleSerivce.countSecondTeam(uid)); 
+		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+	}
+
+			
 }

--
Gitblit v1.8.0