From 85696b23af4055e2e7f53b309e0cc071fe8573b4 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期三, 13 三月 2019 12:14:05 +0800
Subject: [PATCH] 奖金榜调整

---
 fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java |  173 ++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 126 insertions(+), 47 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 2ef76b8..2b95ac7 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
@@ -15,9 +15,6 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Row;
@@ -33,18 +30,19 @@
 import com.google.gson.GsonBuilder;
 import com.google.gson.reflect.TypeToken;
 import com.yeshi.fanli.controller.admin.utils.AdminUtils;
-import com.yeshi.fanli.entity.admin.UserInfoAdmin;
-import com.yeshi.fanli.entity.bus.user.AccountDetails;
+import com.yeshi.fanli.dto.money.AccountDetails;
 import com.yeshi.fanli.entity.bus.user.BindingAccount;
 import com.yeshi.fanli.entity.bus.user.Extract;
 import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode;
+import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode.ForbiddenUserIdentifyCodeTypeEnum;
 import com.yeshi.fanli.entity.bus.user.HongBao;
 import com.yeshi.fanli.entity.bus.user.MoneyRecord;
 import com.yeshi.fanli.entity.bus.user.Order;
 import com.yeshi.fanli.entity.bus.user.ThreeSale;
 import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
-import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode.ForbiddenUserIdentifyCodeTypeEnum;
+import com.yeshi.fanli.entity.bus.user.UserRank;
+import com.yeshi.fanli.entity.money.UserMoneyDetail;
 import com.yeshi.fanli.entity.taobao.PidOrder;
 import com.yeshi.fanli.entity.taobao.ScanHistory;
 import com.yeshi.fanli.exception.user.ForbiddenUserIdentifyCodeException;
@@ -56,7 +54,6 @@
 import com.yeshi.fanli.service.inter.order.OrderItemServcie;
 import com.yeshi.fanli.service.inter.order.OrderService;
 import com.yeshi.fanli.service.inter.order.PidOrderService;
-import com.yeshi.fanli.service.inter.user.AccountDetailsService;
 import com.yeshi.fanli.service.inter.user.BindingAccountService;
 import com.yeshi.fanli.service.inter.user.ExtractService;
 import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService;
@@ -64,13 +61,21 @@
 import com.yeshi.fanli.service.inter.user.ScanHistoryService;
 import com.yeshi.fanli.service.inter.user.UserActiveLogService;
 import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
+import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.service.inter.user.UserMoneyDetailService;
+import com.yeshi.fanli.service.inter.user.UserRankService;
 import com.yeshi.fanli.tag.PageEntity;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.GsonUtil;
 import com.yeshi.fanli.util.HongBaoUtil;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.TimeUtil;
+import com.yeshi.fanli.util.factory.AccountDetailsFactory;
+import com.yeshi.fanli.vo.user.UserInfoVO;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
 
 @Controller
 @RequestMapping("admin/new/api/v1/user")
@@ -109,9 +114,6 @@
 	private PidOrderService pidOrderService;
 
 	@Resource
-	private AccountDetailsService accountDetailsService;
-
-	@Resource
 	private BindingAccountService bindingAccountService;
 
 	@Resource
@@ -125,6 +127,15 @@
 
 	@Resource
 	private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
+
+	@Resource
+	private UserInfoExtraService userInfoExtraService;
+
+	@Resource
+	private UserRankService userRankService;
+	
+	@Resource
+	private UserMoneyDetailService userMoneyDetailService;
 
 	@RequestMapping(value = "getUserList", method = RequestMethod.POST)
 	public void getUserList(int pageIndex, String key, PrintWriter out) {
@@ -631,22 +642,15 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "query")
-	public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer userType, Integer days,
-			String startTime, String endTime, Integer orderMode, PrintWriter out) {
+	public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer keyType, Integer rank,
+			Integer days, String startTime, String endTime, Integer orderMode, Integer type, PrintWriter out) {
 
 		try {
-
-			// 缁撴潫鏃堕棿 2018-06-06 00:00:00 鍔犱笂涓�澶�
-			if (!StringUtil.isNullOrEmpty(endTime)) {
-
-				SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-				Date enddate = sdf.parse(endTime);
-				Calendar c = Calendar.getInstance();
-				c.setTime(enddate);
-				c.add(Calendar.DAY_OF_MONTH, 1);// 浠婂ぉ+1澶�
-				endTime = sdf.format(c.getTime());
+			if (type == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛绫诲瀷type涓嶈兘涓虹┖"));
+				return;
 			}
-
+			
 			if (pageIndex == null)
 				pageIndex = 1;
 
@@ -667,15 +671,35 @@
 				}
 			}
 
-			List<UserInfoAdmin> userList = userInfoService.query((pageIndex - 1) * pageSize, pageSize, key, userType,
-					days, startTime, endTime, orderField, orderMode);
+			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.query((pageIndex - 1) * pageSize, pageSize, type, key, keyType,
+					userRank, days, startTime, endTime, orderField, orderMode);
 
 			if (userList == null || userList.size() == 0) {
 				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鐩稿叧鏁版嵁"));
 				return;
 			}
 
-			long count = userInfoService.queryCount(key, userType, days, startTime, endTime);
+			long count = userInfoService.queryCount(type, key, keyType, userRank, days, startTime, endTime);
 
 			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
 			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
@@ -686,7 +710,6 @@
 
 			JSONObject data = new JSONObject();
 			data.put("pe", pe);
-			// data.put("sumMoney", sumMoney);
 			data.put("resultList", gson.toJson(userList));
 
 			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
@@ -707,17 +730,49 @@
 	public void countInfo(String callback, PrintWriter out) {
 		try {
 
-			JSONObject data = new JSONObject();
+			// 绱鐢ㄦ埛鏁伴噺
+			long totalUser = userInfoCountService.countNewUser(null, null);
+			// 娴佸け鐢ㄦ埛鏁伴噺锛�180澶╂湭浣跨敤鐧诲綍骞朵笖鏃犱换浣曡祫閲戞祦鍔ㄧ殑璐﹀彿鏁伴噺锛�
+			long loseUser = userInfoCountService.countLoseUser(180);
+			// 绱鏈夎喘涔扮敤鎴锋暟
+			long orderUser = userInfoCountService.countHasOrderUser();
 
 			// 鎬绘暟-鏅�氱敤鎴�
-			long countNormal = userInfoCountService.countRank(0);
+			long countNormal = 0;
 			// 鎬绘暟-閾滅敤鎴�
-			long countCuprum = userInfoCountService.countRank(1);
+			long countCuprum = 0;
 			// 鎬绘暟-閾剁敤鎴�
-			long countSilver = userInfoCountService.countRank(2);
+			long countSilver = 0;
 			// 鎬绘暟-閲戠敤鎴�
-			long countGold = userInfoCountService.countRank(3);
+			long countGold = 0;
 
+			List<UserRank> listRank = userRankService.getAllRank();
+			if (listRank != null && listRank.size() > 0) {
+				for (UserRank userRank : listRank) {
+					Long id = userRank.getId();
+					String name = userRank.getName();
+					if ("闈掗摐".equals(name)) {
+						continue;
+					}
+
+					long count = userInfoExtraService.countByRankId(id);
+					if ("鐧介摱".equals(name)) {
+						countCuprum = count;
+					} else if ("榛勯噾".equals(name)) {
+						countSilver = count;
+					} else if ("閾傞噾".equals(name)) {
+						countGold = count;
+					}
+				}
+			}
+
+			// 鏅�氱敤鎴疯绠�
+			countNormal = totalUser - (countCuprum + countSilver + countGold);
+
+			JSONObject data = new JSONObject();
+			data.put("totalUser", totalUser);
+			data.put("loseUser", loseUser);
+			data.put("orderUser", orderUser);
 			data.put("countNormal", countNormal);
 			data.put("countCuprum", countCuprum);
 			data.put("countSilver", countSilver);
@@ -735,17 +790,6 @@
 			 * data.put("countTotalMoney", countTotalMoney);
 			 * data.put("countCanAssets", countCanAssets);
 			 */
-
-			// 绱鐢ㄦ埛鏁伴噺
-			long totalUser = userInfoCountService.countNewUser(null, null);
-			// 娴佸け鐢ㄦ埛鏁伴噺锛�180澶╂湭浣跨敤鐧诲綍骞朵笖鏃犱换浣曡祫閲戞祦鍔ㄧ殑璐﹀彿鏁伴噺锛�
-			long loseUser = userInfoCountService.countLoseUser(180);
-			// 绱鏈夎喘涔扮敤鎴锋暟
-			long orderUser = userInfoCountService.countHasOrderUser();
-
-			data.put("totalUser", totalUser);
-			data.put("loseUser", loseUser);
-			data.put("orderUser", orderUser);
 
 			// 浠婃棩鏂板鐢ㄦ埛鏁伴噺
 			long todayUser = userInfoCountService.countNewUser(1, null);
@@ -1262,20 +1306,25 @@
 
 		try {
 
-			List<AccountDetails> detailsList = accountDetailsService.findAccountDetailsList(uid, pageIndex);
-			if (detailsList == null || detailsList.size() == 0) {
+			List<UserMoneyDetail> userMoneyDetailsList = userMoneyDetailService.listByUidWithState(uid, pageIndex,
+					pageSize);
+			if (userMoneyDetailsList == null || userMoneyDetailsList.size() == 0) {
 				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁"));
 				return;
 			}
 
-			int count = accountDetailsService.getCount(uid);
+			List<AccountDetails> detailList = new ArrayList<>();
+			for (UserMoneyDetail detail : userMoneyDetailsList)
+				detailList.add(AccountDetailsFactory.create(detail));
+
+			long count = userMoneyDetailService.countByUidWithState(uid);
 
 			int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
 			PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
 
 			JSONObject data = new JSONObject();
 			data.put("pe", pe);
-			data.put("result_list", GsonUtil.toJsonExpose(detailsList));
+			data.put("result_list", GsonUtil.toJsonExpose(detailList));
 
 			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
 
@@ -1587,4 +1636,34 @@
 		}
 	}
 
+	
+	
+	/**
+	 * 鐢ㄦ埛璐﹀彿- 灏佺/瑙e皝 
+	 * @param callback
+	 * @param code
+	 * @param type 1("寰俊unionId"), 2("娣樺疂ID"), 3("鎵嬫満鍙�"), 4("鏀粯瀹濊处鍙�");
+	 * @param out
+	 */
+	@RequestMapping(value = "saveForbiddenInfo")
+	public void saveForbiddenInfo(String callback, String code, Integer type, PrintWriter out) {
+		try {
+			if (code == null || code.trim().length() == 0 || type == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖"));
+			}
+			
+			forbiddenUserIdentifyCodeService.saveForbiddenInfo(code, type);
+			
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇敼鎴愬姛"));
+
+		} catch (ForbiddenUserIdentifyCodeException e) {
+			e.printStackTrace();
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
+		} catch (Exception e) {
+			e.printStackTrace();
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
+		}
+		
+	}
+	
 }

--
Gitblit v1.8.0