From 88b54772dbcf5ecab1e2316e4e4626ac901b8908 Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期二, 22 一月 2019 15:58:24 +0800 Subject: [PATCH] 邀请码添加返回状态 --- fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java | 508 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 481 insertions(+), 27 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 832e806..8b2c409 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 @@ -5,6 +5,7 @@ import java.io.InputStream; import java.io.PrintWriter; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.HashMap; @@ -14,6 +15,7 @@ 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; @@ -25,10 +27,14 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import org.yeshi.utils.JsonUtil; import com.google.gson.Gson; 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.entity.bus.user.Extract; import com.yeshi.fanli.entity.bus.user.HongBao; import com.yeshi.fanli.entity.bus.user.MoneyRecord; @@ -50,6 +56,7 @@ import com.yeshi.fanli.service.inter.user.ExtractService; import com.yeshi.fanli.service.inter.user.MoneyRecordService; import com.yeshi.fanli.service.inter.user.ScanHistoryService; +import com.yeshi.fanli.service.inter.user.UserActiveLogService; import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; @@ -57,7 +64,6 @@ import com.yeshi.fanli.util.HongBaoUtil; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TimeUtil; -import org.yeshi.utils.JsonUtil; @Controller @RequestMapping("admin/new/api/v1/user") @@ -103,6 +109,9 @@ @Resource private UserInfoCountService userInfoCountService; + + @Resource + private UserActiveLogService userActiveLogService; @RequestMapping(value = "getUserList", method = RequestMethod.POST) @@ -649,8 +658,6 @@ return; } - //double sumMoney = userInfoService.querySumMoney(key, userType, days, startTime, endTime); - long count = userInfoService.queryCount(key, userType, days, startTime, endTime); int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); @@ -681,12 +688,8 @@ @RequestMapping(value = "countInfo") public void countInfo(String callback, PrintWriter out) { try { - // 鎬荤敤鎴� - long countTotal = userInfoCountService.countNewUser(null, null); - // 浠婃棩鏂板 - long countToday = userInfoCountService.countNewUser(1, null); - // 鏈湀鏂板 - long countMonth = userInfoCountService.countNewUser(null, 1); + + JSONObject data = new JSONObject(); // 鎬绘暟-鏅�氱敤鎴� long countNormal = userInfoCountService.countRank(0); @@ -697,27 +700,43 @@ // 鎬绘暟-閲戠敤鎴� long countGold = userInfoCountService.countRank(3); - // 缁熻鎵�鏈夋�婚噾棰� - double countTotalMoney = userInfoCountService.countAllMoney(null); - - // 缁熻鎵�鏈夊彲鎻愮幇閲戦 - String minMoney = configService.get(Constant.EXTRACT_MIN_MONEY); - if (minMoney == null) - minMoney = "20"; - - double min = Double.parseDouble(minMoney); - double countCanAssets = userInfoCountService.countAllMoney(min); - - JSONObject data = new JSONObject(); - data.put("countTotal", countTotal); - data.put("countToday", countToday); - data.put("countMonth", countMonth); data.put("countNormal", countNormal); data.put("countCuprum", countCuprum); data.put("countSilver", countSilver); data.put("countGold", countGold); + + /* + // 缁熻鎵�鏈夋�婚噾棰� + BigDecimal countTotalMoney = userInfoCountService.countAllMoney(null); + + // 缁熻鎵�鏈夊彲鎻愮幇閲戦 + String minMoney = configService.get(Constant.EXTRACT_MIN_MONEY); + if (minMoney == null) { + minMoney = "20"; + } + double min = Double.parseDouble(minMoney); + BigDecimal countCanAssets = userInfoCountService.countAllMoney(min); 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); + // 鏈湀鏂板鐢ㄦ埛鏁伴噺 + long monthUser = userInfoCountService.countNewUser(null, 1); + data.put("todayUser", todayUser); + data.put("monthUser", monthUser); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); @@ -1024,10 +1043,445 @@ } } - public static void main(String[] args) { + + + /** + * 闃熷憳鍏崇郴 + * @param pageIndex + * @param key + * @param state + * @param startTime + * @param endTime + * @param out + */ + @RequestMapping(value = "getRelationList") + public void getRelationList(String callback, Integer pageIndex, Integer pageSize, Long uid, Integer type, + Integer state, String startTime, String endTime, PrintWriter out) { - java.lang.System.out.println(java.lang.System.currentTimeMillis()); + if (pageIndex == null || pageIndex < 1) { + pageIndex = 1; + } + + if (pageSize == null || pageSize < 1) { + pageSize = Constant.PAGE_SIZE; + } + + try { + + 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()); + } + + List<ThreeSale> listQuery = null; + if (type == 0) { + // 涓婄骇鐢ㄦ埛 + if (uid == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ涓婄骇闇�杈撳叆鐢ㄦ埛id")); + return; + } + listQuery = threeSaleService.listSuperiorQuery((pageIndex - 1) * pageSize, pageSize, state, uid); + } else if (type == 1) { + // 涓�绾х敤鎴� + listQuery = threeSaleService.listFirstTeamQuery((pageIndex - 1) * pageSize, pageSize, uid, + state, startTime, endTime); + } else if (type == 2) { + // 浜岀骇鐢ㄦ埛 + listQuery = threeSaleService.listSecondTeamQuery((pageIndex - 1) * pageSize, pageSize, uid, + state, startTime, endTime); + } + + if (listQuery == null || listQuery.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); + return; + } + + for (ThreeSale threeSale: listQuery) { + Integer expire = threeSale.getExpire(); + if (threeSale.getState()) { + threeSale.setExpire(1); // 閭�璇锋垚鍔� + } else { + if (expire != null && expire == 1) { + threeSale.setExpire(2); // 閭�璇峰け鏁� + } else { + threeSale.setExpire(0);// 宸查個璇� + } + } + } + + long count = 0; + if (type == 0) { + // 涓婄骇鐢ㄦ埛 + count = threeSaleService.countSuperiorQuery(state, uid); + } else if (type == 1) { + // 涓�绾х敤鎴� + count = threeSaleService.countFirstTeamQuery(uid, state, startTime, endTime); + } else if (type == 2) { + // 浜岀骇鐢ㄦ埛 + count = threeSaleService.countSecondTeamQuery(uid, state, startTime, endTime); + } + + 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", listQuery); + + 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 = "getAccountDetails") + public void getAccountDetails(String callback, Integer pageIndex,Integer pageSize, Long uid, PrintWriter out) { + if (pageIndex == null || pageIndex < 1) { + pageIndex = 1; + } + + if (pageSize == null || pageSize < 1) { + pageSize = Constant.PAGE_SIZE; + } + + if (uid == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); + return; + } + + try { + + List<AccountDetails> detailsList = accountDetailsService.findAccountDetailsList(uid, pageIndex); + if (detailsList == null || detailsList.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); + return; + } + + int count = accountDetailsService.getCount(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)); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + + } catch (Exception e) { + e.printStackTrace(); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触")); + } + } + + /** + * 鏍规嵁娓犻亾 缁熻褰撴棩鏂板鐢ㄦ埛鏁伴噺 + * @param channelArray 鍚嶅瓧鏁扮粍 + * @param dateType 绫诲瀷 1鏃� 2鏈� 3骞� + * @param year 2018 + * @param startTime 2018-12-01 + * @param endTime 2018-12-01 + * @param out + */ + @RequestMapping(value = "getNewUserCharts") + public void getNewUserCharts(String callback, String channelArray, Integer dateType, + String year, String startTime, String endTime, PrintWriter out) { + + + String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime); + if (validateMsg != null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg)); + return; + } + + if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) { + startTime = null; + endTime = null; + } + + List<String> channelList = null; + if (channelArray != null && channelArray.trim().length() > 0) { + Gson gson = new Gson(); + channelList = gson.fromJson(channelArray, new TypeToken<ArrayList<String>>() {}.getType()); + } + + if (channelList == null || channelList.size() == 0) { + channelList = new ArrayList<String>(); + channelList.add("all"); + } + + + if (dateType == 1 && year != null) { + year = null; // 璁剧疆涓虹┖ + } else if (dateType == 2) { + if (startTime != null) + startTime = null; + + if (endTime != null) + endTime = null; + + } else if (dateType == 3) { + if (year != null) + year = null; + + if (startTime != null) + startTime = null; + + if (endTime != null) + endTime = null; + } + + + try { + + Gson gson = new Gson(); + Object objectDate = null; + List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year); + + JSONArray line_list = new JSONArray(); + for (String channel : channelList) { + + List<Map<String, Object>> list = userInfoCountService.countNewUserByDate(channel, + dateType, year, startTime, endTime); + + if ("all".equalsIgnoreCase(channel)) { + channel = "鎬昏"; + } + + JSONObject innerList = new JSONObject(); + innerList.put("name", channel); + + if (dateType != 3) { + innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list))); + } else { + // 骞磋鍥� + Map<String, Object> map = AdminUtils.yearsDataFactory(list); + + if (objectDate == null) { + objectDate = map.get("date"); + } + innerList.put("data", gson.toJson(map.get("value"))); + } + + line_list.add(innerList); + } + + + JSONObject data = new JSONObject(); + if (objectDate != null) { + data.put("xAxis_list", gson.toJson(objectDate)); + } else { + data.put("xAxis_list", gson.toJson(dateList)); + } + + data.put("line_list", line_list); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); + } + } + + + /** + * 鏍规嵁娓犻亾 缁熻褰撴棩鏂板鐢ㄦ埛鏁伴噺 + * @param channelArray 鍚嶅瓧鏁扮粍 + * @param dateType 绫诲瀷 1鏃� 2鏈� 3骞� + * @param year 2018 + * @param startTime 2018-12-01 + * @param endTime 2018-12-01 + * @param out + */ + @RequestMapping(value = "getTodayBuyRate") + public void getTodayBuyRate(String callback, String channelArray, Integer dateType, + String year, String startTime, String endTime, Integer orderNum, PrintWriter out) { + + String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime); + if (validateMsg != null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg)); + return; + } + + if (dateType == 2 && StringUtil.isNullOrEmpty(year)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇疯緭鍏ュ勾浠�")); + return; + } + + if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) { + startTime = null; + endTime = null; + } + + List<String> channelList = null; + if (channelArray != null && channelArray.trim().length() > 0) { + Gson gson = new Gson(); + channelList = gson.fromJson(channelArray, new TypeToken<ArrayList<String>>() {}.getType()); + } + + if (channelList == null || channelList.size() == 0) { + channelList = new ArrayList<String>(); + channelList.add("all"); + } + + + if (dateType == 1 && year != null) { + year = null; // 璁剧疆涓虹┖ + } else if (dateType == 2) { + if (startTime != null) + startTime = null; + + if (endTime != null) + endTime = null; + + } else if (dateType == 3) { + if (year != null) + year = null; + + if (startTime != null) + startTime = null; + + if (endTime != null) + endTime = null; + } + + + try { + + Gson gson = new Gson(); + Object objectDate = null; + List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year); + + JSONArray line_list = new JSONArray(); + for (String channel : channelList) { + + List<Map<String, Object>> list = userInfoCountService.getTodayBuyRate(channel, dateType, + year, startTime, endTime); + + if ("all".equalsIgnoreCase(channel)) { + channel = "鎬昏"; + } + + JSONObject innerList = new JSONObject(); + innerList.put("name", channel); + + if (dateType != 3) { + innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list))); + } else { + // 骞磋鍥� + Map<String, Object> map = AdminUtils.yearsDataFactory(list); + + if (objectDate == null) { + objectDate = map.get("date"); + } + innerList.put("data", gson.toJson(map.get("value"))); + } + + line_list.add(innerList); + } + + + JSONObject data = new JSONObject(); + if (objectDate != null) { + data.put("xAxis_list", gson.toJson(objectDate)); + } else { + data.put("xAxis_list", gson.toJson(dateList)); + } + + data.put("line_list", line_list); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); + } + + } + + + /** + * 褰撳懆浜х敓3鍗曠殑鏂板鐢ㄦ埛姒傜巼 + * @param callback + * @param channelArray 娓犻亾鍚嶇О + * @param startTime + * @param endTime + * @param orderNum 璁㈠崟鏁伴噺 + * @param out + */ + @RequestMapping(value = "getWeekBuyRate") + public void getWeekBuyRate(String callback, String channelArray, String startTime, String endTime, + Integer orderNum, PrintWriter out) { + + if (StringUtil.isNullOrEmpty(startTime) || StringUtil.isNullOrEmpty(endTime)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳懆璁㈠崟缁熻瀵瑰簲鏃堕棿鍖哄煙涓嶈兘涓虹┖")); + return; + } + + List<String> channelList = null; + if (channelArray != null && channelArray.trim().length() > 0) { + Gson gson = new Gson(); + channelList = gson.fromJson(channelArray, new TypeToken<ArrayList<String>>() {}.getType()); + } + + if (channelList == null || channelList.size() == 0) { + channelList = new ArrayList<String>(); + channelList.add("all"); + } + + if (orderNum < 1) { + orderNum = 1; + } + + try { + + Gson gson = new Gson(); + List<String> dateList = AdminUtils.getDateList(1, startTime, endTime, null); + + JSONArray line_list = new JSONArray(); + for (String channel : channelList) { + + List<Object> list = userInfoCountService.getWeekBuyRate(channel, startTime, endTime, + orderNum, dateList); + + if ("all".equalsIgnoreCase(channel)) { + channel = "鎬昏"; + } + + JSONObject innerList = new JSONObject(); + innerList.put("name", channel); + innerList.put("data", gson.toJson(list)); + line_list.add(innerList); + } + + + JSONObject data = new JSONObject(); + data.put("xAxis_list", gson.toJson(dateList)); + data.put("line_list", line_list); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); + } + } + +} -- Gitblit v1.8.0