From 3579201658f94480a8421507c24d2ece83dbf0c7 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期一, 15 六月 2020 14:55:00 +0800
Subject: [PATCH] 云发单相关

---
 fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java |  341 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 333 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..f8a877c 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;
@@ -31,10 +32,13 @@
 import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode;
 import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode.ForbiddenUserIdentifyCodeTypeEnum;
 import com.yeshi.fanli.entity.bus.user.ThreeSale;
+import com.yeshi.fanli.entity.bus.user.UserActiveLog;
 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.TearcherInfo;
 import com.yeshi.fanli.entity.bus.user.vip.UserVIPInfo;
 import com.yeshi.fanli.entity.common.AdminUser;
 import com.yeshi.fanli.entity.integral.IntegralDetail;
@@ -43,9 +47,12 @@
 import com.yeshi.fanli.exception.user.ForbiddenUserIdentifyCodeException;
 import com.yeshi.fanli.exception.user.vip.UserVIPInfoException;
 import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
 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;
@@ -54,9 +61,11 @@
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 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.ThreeSaleDetailService;
 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.TearcherService;
 import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
 import com.yeshi.fanli.tag.PageEntity;
 import com.yeshi.fanli.util.Constant;
@@ -114,7 +123,27 @@
 	@Resource
 	private IntegralDetailService integralDetailService;
 	
-
+	@Resource
+	private UserInviteValidNumService userInviteValidNumService;
+	
+	@Resource
+	private ThreeSaleSerivce threeSaleSerivce;
+	
+	@Resource
+	private ExtractService extractService;
+	
+	@Resource
+	private HongBaoV2Service hongBaoV2Service;
+	
+	@Resource
+	private TearcherService tearcherService;
+	
+	@Resource
+	private ThreeSaleDetailService threeSaleDetailService;
+	
+	@Resource
+	private HongBaoV2CountService hongBaoV2CountService;
+	
 	
 	/**
 	 * 鏌ヨ鐢ㄦ埛淇℃伅鍒楄〃 姝e父鐢ㄦ埛/寮傚父鐢ㄦ埛
@@ -212,6 +241,302 @@
 		}
 	}
 
+	/**
+	 * 鐢ㄦ埛鍩虹淇℃伅鏌ヨ
+	 * @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();
+		}
+	}
+	
+	
+	/**
+	 *  鐢ㄦ埛绮変笣缁熻
+	 * 
+	 * @param callback
+	 * @param pageIndex
+	 * @param pageSize
+	 * @param id
+	 * @param out
+	 */
+	@RequestMapping(value = "countTeamFans")
+	public void countTeamFans(String callback, Long uid, PrintWriter out) {
+		JSONObject data = new JSONObject();
+		
+		// 瀵煎笀
+		String tearcherName = "";
+		TearcherInfo tearcherInfo = tearcherService.selectByUid(uid);
+		if (tearcherInfo != null) {
+			tearcherName = tearcherInfo.getNickName();
+		}
+		data.put("tearcherName", tearcherName); 
+		
+		// 閭�璇蜂汉
+		String bossName = "";
+		UserInfo boss = threeSaleSerivce.getBoss(uid);
+		if (boss != null) {
+			bossName =  boss.getNickName();
+		}
+		data.put("bossName", bossName); 
+		
+		// 閭�璇风矇涓�
+		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();
+		}
+		data.put("doneFirst", doneFirst); 
+		data.put("doneSecond", doneSecond); 
+		
+		// 涔濅唬绮変笣鏁伴噺
+		data.put("nineFans", threeSaleDetailService.countByBossUidAndMaxLevel(uid, 9)); 
+		
+		// 鏈夋晥绮変笣
+		data.put("first", threeSaleSerivce.countFirstTeam(uid)); 
+		data.put("second", threeSaleSerivce.countSecondTeam(uid)); 
+		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+	}
+	
+	
+	
+	/**
+	 * 鐢ㄦ埛璇︾粏淇℃伅
+	 * @param callback
+	 * @param uid
+	 * @param out
+	 */
+	@RequestMapping(value = "getInfoDetail")
+	public void getInfoDetail(String callback, Long uid, PrintWriter out) {
+		JSONObject data = new JSONObject();
+		UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
+		data.put("phone", user.getPhone()); 
+		data.put("state", user.getState()); 
+		data.put("createtime", user.getCreatetime()); 
+		
+		
+		String mark = "";
+		String activation = "鏈縺娲�";
+		UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
+		if (userInfoExtra != null) {
+			if (!StringUtil.isNullOrEmpty(userInfoExtra.getMark())) {
+				mark = userInfoExtra.getMark();
+			}
+			
+			String inviteCode = userInfoExtra.getInviteCode();
+			if (!StringUtil.isNullOrEmpty(inviteCode)) {
+				activation = "宸叉縺娲�";
+			} else {
+				activation = "鏈縺娲�";
+			}
+		}
+		data.put("mark", mark); 
+		data.put("activation", activation); 
+		
+		// 鏈�杩戜竴娆′笅鍗曟椂闂�
+		String orderTime = "";
+		Date lastOrderTime = hongBaoV2CountService.getLastHongBaoTime(uid);
+		if (lastOrderTime != null) {
+			orderTime = TimeUtil.formatDate(lastOrderTime);
+		}
+		data.put("orderTime", orderTime); 
+		
+		
+		// 鏈�杩戠櫥褰曟椂闂�
+		String activeTime = "";
+		UserActiveLog userActiveLog = userActiveLogService.getUserLatestActiveInfo(uid);
+		if (userActiveLog != null) {
+			activeTime = TimeUtil.formatDate(userActiveLog.getCreateTime());
+		}
+		data.put("activeTime", activeTime); 
+//		
+//		// 鏄剧ず鐢ㄦ埛寰俊 娣樺疂 鑰佺増鏈瓨鍦�
+//		String wxUnionId = userInfoVO.getWxUnionId();
+//		if (wxUnionId == null || wxUnionId.trim().length() == 0) {
+//			userInfoVO.setWxName(null);
+//		}
+//
+//		// 鏄惁缁戝畾鏀粯瀹濓紙璐拱 + 鍒嗕韩鏉冮檺锛�
+//		String taoBaoUid = userInfoVO.getTaoBaoUid();
+//		String tbSpecialId = userInfoVO.getTbSpecialId();
+//		String tbRelationId = userInfoVO.getTbRelationId();
+//		if (StringUtil.isNullOrEmpty(taoBaoUid) || StringUtil.isNullOrEmpty(tbSpecialId)
+//				|| StringUtil.isNullOrEmpty(tbRelationId)) {
+//			userInfoVO.setTbName(null);
+//			userInfoVO.setTaoBaoUid(null);
+//		}
+//
+//		Long uid = userInfoVO.getId();
+//		/* 缁戝畾鏀舵璐﹀彿淇℃伅 */
+//		List<BindingAccount> account = bindingAccountMapper.selectByUid(uid);
+//		if (account != null && account.size() > 0) {
+//			BindingAccount bindingAccount = account.get(0);
+//			Integer type = bindingAccount.getType();
+//			if (type != null && type == 1) {
+//				// 鏀粯瀹�
+//				userInfoVO.setAccountAlipay(bindingAccount.getAccount());
+//				userInfoVO.setAccountName(bindingAccount.getName());
+//				userInfoVO.setAccountBindId(bindingAccount.getId());
+//
+//			} else if (type != null && type == 2) {
+//				// 寰俊
+//				userInfoVO.setAccountWX(bindingAccount.getAccount());
+//				userInfoVO.setAccountNameWX(bindingAccount.getName());
+//				userInfoVO.setAccountBindIdWX(bindingAccount.getId());
+//			}
+//		}
+ 
+		JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+	}
+	
+	
 	/**
 	 * 缁熻浠婃棩鐢ㄦ埛鎬绘儏鍐�
 	 * 
@@ -652,8 +977,6 @@
 					}
 				}
 			}
-			
-			
 			
 
 			long count = 0;
@@ -1277,7 +1600,6 @@
 					continue;
 				}
 				
-				
 				UserInfo user = userInfoService.selectByPKey(userInfo.getId());
 				if (user != null) {
 					detail.setUserInfo(user);
@@ -1285,10 +1607,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 +1622,6 @@
 				}
 			});
 			Gson gson = gsonBuilder.create();
-			 
 			
 			JSONObject data = new JSONObject();
 			data.put("pe", pe);
@@ -1313,4 +1632,10 @@
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触"));
 		}
 	}
+	
+	
+	
+	
+
+			
 }

--
Gitblit v1.8.0