From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 20 五月 2020 17:25:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2 --- fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java | 700 ++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 438 insertions(+), 262 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 43c2c51..9280dad 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; @@ -13,36 +14,54 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import org.yeshi.utils.IPUtil; import org.yeshi.utils.JsonUtil; 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; +import com.yeshi.fanli.entity.admin.count.CountUserInfo; import com.yeshi.fanli.entity.bus.user.BindingAccount; 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.UserExtraTaoBaoInfo; import com.yeshi.fanli.entity.bus.user.UserInfo; +import com.yeshi.fanli.entity.bus.user.UserInfoExtra; import com.yeshi.fanli.entity.bus.user.UserRank; +import com.yeshi.fanli.entity.bus.user.vip.UserVIPInfo; 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; import com.yeshi.fanli.service.inter.count.UserInfoCountService; -import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce; import com.yeshi.fanli.service.inter.money.UserMoneyDetailService; import com.yeshi.fanli.service.inter.money.extract.BindingAccountService; import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService; import com.yeshi.fanli.service.inter.user.UserAccountService; -import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService; +import com.yeshi.fanli.service.inter.user.UserActiveLogService; import com.yeshi.fanli.service.inter.user.UserInfoDeleteRecordService; import com.yeshi.fanli.service.inter.user.UserInfoExtraService; 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.ThreeSaleSerivce; +import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; +import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService; import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.TimeUtil; +import com.yeshi.fanli.util.annotation.RequestSerializableByKey; import com.yeshi.fanli.vo.user.UserGoldCoinVO; import com.yeshi.fanli.vo.user.UserInfoVO; @@ -84,7 +103,18 @@ @Resource private UserAccountService userAccountService; + + @Resource + private UserActiveLogService userActiveLogService; + + @Resource + private UserVIPInfoService userVIPInfoService; + + @Resource + private IntegralDetailService integralDetailService; + + /** * 鏌ヨ鐢ㄦ埛淇℃伅鍒楄〃 姝e父鐢ㄦ埛/寮傚父鐢ㄦ埛 * @@ -105,9 +135,9 @@ * @param out */ @RequestMapping(value = "query") - 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) { - + public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer keyType, Integer rank,Integer userType, + Integer days, String startTime, String endTime, Integer orderMode, Integer type,String level, + Integer activeCode, PrintWriter out) { try { if (type == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛绫诲瀷type涓嶈兘涓虹┖")); @@ -155,14 +185,14 @@ } List<UserInfoVO> userList = userInfoService.query((pageIndex - 1) * pageSize, pageSize, type, key, keyType, - userRank, days, startTime, endTime, orderField, orderMode); + userRank, days, startTime, endTime, orderField, orderMode,userType, level, activeCode); if (userList == null || userList.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鐩稿叧鏁版嵁")); return; } - long count = userInfoService.queryCount(type, key, keyType, userRank, days, startTime, endTime); + long count = userInfoService.queryCount(type, 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); @@ -174,9 +204,7 @@ 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("鎿嶄綔寮傚父")); @@ -260,9 +288,7 @@ long monthUser = userInfoCountService.countNewUser(null, 1); data.put("todayUser", todayUser); data.put("monthUser", monthUser); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (Exception e) { e.printStackTrace(); JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); @@ -300,7 +326,7 @@ UserInfo find = userInfoService.getUserById(uid); if (find == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鐢ㄦ埛锛�")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛琚皝绂佹垨涓嶅瓨鍦�")); return; } @@ -346,13 +372,80 @@ } JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("瑙g粦鎴愬姛")); - } catch (Exception e) { e.printStackTrace(); JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); } } + + + /** + * 淇敼鐢ㄦ埛澶囨敞 + * @param callback + * @param uid + * @param mark + * @param out + */ + @RequestMapping("addUserMark") + public void addUserMark(String callback, Long uid, String mark, PrintWriter out) { + try { + if (uid == null || uid <= 0 || StringUtil.isNullOrEmpty(mark)) + return; + UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); + if (userInfoExtra == null) + return; + UserInfoExtra updateExtra = new UserInfoExtra(); + updateExtra.setId(userInfoExtra.getId()); + updateExtra.setMark(mark); + userInfoExtraService.saveUserInfoExtra(updateExtra); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 鍒犻櫎鐢ㄦ埛-鏀瑰彉鍏剁姸鎬� + * @param callback + * @param idArray + * @param out + */ + @RequestMapping(value = "deleteUser") + public void delete(String callback, String idArray, HttpServletRequest request, PrintWriter out) { + try { + AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); + if (admin == null) { + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("褰撳墠璐︽埛澶辨晥,璇烽噸鏂扮櫥闄嗐��"))); + return; + } + + if (StringUtil.isNullOrEmpty(idArray)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨鎿嶄綔鐨勬暟鎹�")); + return; + } + + Gson gson = new Gson(); + List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {}.getType()); + if (list == null || list.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈娴嬪埌鍒犻櫎鐨勬暟鎹�")); + return; + } + + for (Long id: list) { + UserInfo user = new UserInfo(id); + user.setState(UserInfo.STATE_DELETE); + user.setStateDesc(admin.getId()+" " + admin.getName()+ "鍚庡彴鎵嬪姩鍒犻櫎"); + userInfoService.updateByPrimaryKeySelective(user); + } + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎴愬姛鍒犻櫎")); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒犻櫎澶辫触")); + e.printStackTrace(); + } + } + + + /** * 灏佺鐢ㄦ埛ID * @@ -363,7 +456,6 @@ @RequestMapping(value = "forbiddenUser") public void forbiddenUser(String callback, Long uid, HttpServletRequest request, PrintWriter out) { try { - if (uid == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); return; @@ -383,9 +475,7 @@ String reason = "鍚庡彴灏佺锛屾搷浣滀汉锛�" + admin.getId() + "-" + admin.getName(); userAccountService.forbiddenUserAll(uid, reason); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鐢ㄦ埛灏佺鎴愬姛")); - } catch (Exception e) { e.printStackTrace(); JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); @@ -402,7 +492,6 @@ @RequestMapping(value = "relieveForbiddenUser") public void relieveForbiddenUser(String callback, Long uid, PrintWriter out) { try { - if (uid == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); return; @@ -449,9 +538,7 @@ forbiddenUserIdentifyCodeService.delete(forbiddenUserIdentifyCode); } } - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鐢ㄦ埛瑙e皝鎴愬姛")); - } catch (Exception e) { e.printStackTrace(); JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); @@ -476,9 +563,7 @@ } forbiddenUserIdentifyCodeService.saveForbiddenInfo(code, type); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇敼鎴愬姛")); - } catch (ForbiddenUserIdentifyCodeException e) { e.printStackTrace(); JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); @@ -488,157 +573,7 @@ } } - /** - * 鍒犻櫎闃熷憳鍏崇郴 - * - * @param callback - * @param id - * @param out - */ - @RequestMapping(value = "deleteThreeSale") - public void deleteThreeSale(String callback, Long id, PrintWriter out) { - try { - - if (id == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); - return; - } - - int count = threeSaleService.deleteByPrimaryKey(id); - - if (count > 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鍒犻櫎鎴愬姛")); - } else { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒犻櫎澶辫触")); - } - - } catch (Exception e) { - e.printStackTrace(); - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - } - } - - @RequestMapping(value = "queryMyFirstTeams") - public void queryMyFirstTeams(String callback, Integer pageIndex, Integer pageSize, String key, Long bossId, - PrintWriter out) { - try { - - if (bossId == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); - return; - } - - if (pageIndex == null) - pageIndex = 1; - - if (pageSize == null) - pageSize = Constant.PAGE_SIZE; - - List<ThreeSale> firstTeamList = threeSaleService.queryMyFirstTeamList((pageIndex - 1) * pageSize, pageSize, - key, bossId); - if (firstTeamList == null || firstTeamList.size() == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤涓�搴﹂槦鍛�")); - return; - } - - /* 鑾峰彇閭�璇风敤鎴峰ご鍍� 銆佹樀绉� */ - for (ThreeSale threeSale : firstTeamList) { - UserInfo worker = threeSale.getWorker(); - if (worker == null) { - worker = new UserInfo(); - threeSale.setWorker(worker); - } else { - Long id = worker.getId(); - - UserInfo currentInfo = userInfoService.selectByPKey(id); - if (currentInfo != null) { - worker.setNickName(currentInfo.getNickName()); - worker.setPortrait(currentInfo.getPortrait()); - } - } - } - - long count = threeSaleService.queryCountMyFirstTeamList(key, bossId); - - 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("list", gson.toJson(firstTeamList)); - - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - - } catch (Exception e) { - e.printStackTrace(); - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - } - } - - @RequestMapping(value = "queryMySecondTeams") - public void queryMySecondTeams(String callback, Integer pageIndex, Integer pageSize, String key, Long bossId, - PrintWriter out) { - try { - - if (bossId == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); - return; - } - - if (pageIndex == null) - pageIndex = 1; - - if (pageSize == null) - pageSize = Constant.PAGE_SIZE; - - List<ThreeSale> firstTeamList = threeSaleService.queryMySecondTeamList((pageIndex - 1) * pageSize, pageSize, - key, bossId); - if (firstTeamList == null || firstTeamList.size() == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤浜屽害闃熷憳")); - return; - } - - /* 鑾峰彇閭�璇风敤鎴峰ご鍍� 銆佹樀绉� */ - for (ThreeSale threeSale : firstTeamList) { - UserInfo worker = threeSale.getWorker(); - if (worker == null) { - worker = new UserInfo(); - threeSale.setWorker(worker); - } else { - Long id = worker.getId(); - - UserInfo currentInfo = userInfoService.selectByPKey(id); - if (currentInfo != null) { - worker.setNickName(currentInfo.getNickName()); - worker.setPortrait(currentInfo.getPortrait()); - } - } - } - - long count = threeSaleService.queryCountMySecondTeamList(key, bossId); - - 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("list", gson.toJson(firstTeamList)); - - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - - } catch (Exception e) { - e.printStackTrace(); - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - } - } + /** * 闃熷憳鍏崇郴 @@ -652,7 +587,7 @@ */ @RequestMapping(value = "getRelationList") public void getRelationList(String callback, Integer pageIndex, Integer pageSize, Long uid, Integer type, - Integer state, String startTime, String endTime, PrintWriter out) { + Integer state, String startTime, String endTime, Integer validState, PrintWriter out) { if (pageIndex == null || pageIndex < 1) { pageIndex = 1; @@ -684,11 +619,11 @@ } else if (type == 1) { // 涓�绾х敤鎴� listQuery = threeSaleService.listFirstTeamQuery((pageIndex - 1) * pageSize, pageSize, uid, state, - startTime, endTime); + startTime, endTime, validState); } else if (type == 2) { // 浜岀骇鐢ㄦ埛 listQuery = threeSaleService.listSecondTeamQuery((pageIndex - 1) * pageSize, pageSize, uid, state, - startTime, endTime); + startTime, endTime, validState); } if (listQuery == null || listQuery.size() == 0) { @@ -697,6 +632,14 @@ } for (ThreeSale threeSale : listQuery) { + // 鐢ㄦ埛淇℃伅 + UserInfo boss = threeSale.getBoss(); + threeSale.setBoss(userInfoService.selectByPKey(boss.getId())); + + UserInfo worker = threeSale.getWorker(); + threeSale.setWorker(userInfoService.selectByPKey(worker.getId())); + + Integer expire = threeSale.getExpire(); if (threeSale.getState()) { threeSale.setExpire(1); // 閭�璇锋垚鍔� @@ -708,6 +651,7 @@ } } } + long count = 0; if (type == 0) { @@ -715,10 +659,10 @@ count = threeSaleService.countSuperiorQuery(state, uid); } else if (type == 1) { // 涓�绾х敤鎴� - count = threeSaleService.countFirstTeamQuery(uid, state, startTime, endTime); + count = threeSaleService.countFirstTeamQuery(uid, state, startTime, endTime, validState); } else if (type == 2) { // 浜岀骇鐢ㄦ埛 - count = threeSaleService.countSecondTeamQuery(uid, state, startTime, endTime); + count = threeSaleService.countSecondTeamQuery(uid, state, startTime, endTime, validState); } int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); @@ -777,9 +721,7 @@ JSONObject data = new JSONObject(); data.put("pe", pe); data.put("result_list", gson.toJson(userMoneyDetailsList)); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (Exception e) { e.printStackTrace(); JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触")); @@ -804,99 +746,117 @@ @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 { + 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; + } + Date beginDate = null; + Date endDate = null; + + if (dateType == 1) { + beginDate = TimeUtil.parse(startTime); + endDate = TimeUtil.parse(endTime); + } else if (dateType == 2) { + Calendar calendar=Calendar.getInstance(); + int currentYear = calendar.get(Calendar.YEAR); + if (!StringUtil.isNullOrEmpty(year)) { + currentYear = Integer.parseInt(year); + } + calendar.clear(); + calendar.set(Calendar.YEAR, currentYear); + beginDate =calendar.getTime(); + + calendar.clear(); + calendar.set(Calendar.YEAR, currentYear); + calendar.roll(Calendar.DAY_OF_YEAR, -1); + endDate=calendar.getTime(); + } else if (dateType == 3) { + beginDate = TimeUtil.parse("2018-01-01"); + endDate = new Date(); + } Gson gson = new Gson(); - Object objectDate = null; List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year); - + + // 娓犻亾 + List<String> channelList = null; + if (channelArray != null && channelArray.trim().length() > 0) { + channelList = gson.fromJson(channelArray, new TypeToken<ArrayList<String>>() { + }.getType()); + } + 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 = "鎬昏"; + + if (channelList != null && channelList.size() > 0) { + for (String channel : channelList) { + List<Object> list = getNewUserData(dateList, dateType, beginDate, endDate, channel); + JSONObject innerList = new JSONObject(); + innerList.put("name", channel); + innerList.put("data", gson.toJson(list)); + line_list.add(innerList); } - + } else { + List<Object> list = getNewUserData(dateList, dateType, beginDate, endDate, null); 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"))); - } - + innerList.put("name", "鍏ㄩ儴"); + innerList.put("data", gson.toJson(list)); 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); - + data.put("xAxis_list", gson.toJson(dateList)); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("绯荤粺寮傚父")); e.printStackTrace(); } + } + + + private List<Object> getNewUserData(List<String> dateList, Integer dateType, Date beginDate, Date endDate, String channel) { + List<Object> list = new ArrayList<>(); + List<CountUserInfo> listHistory = userInfoCountService.getNewUserData(beginDate, endDate, channel); + for (String date: dateList) { + int value = 0; + if (listHistory != null) { + for (CountUserInfo history: listHistory) { + if (dateType == 1) { + String gernalTime = TimeUtil.getGernalTime(history.getDay().getTime()); + if (gernalTime.equalsIgnoreCase(date)) { + value += history.getNum(); + continue; + } + } else if (dateType == 2){ + String gernalTime = TimeUtil.getMonthOnlyMM(history.getDay()); + if(gernalTime.startsWith("0")) { + gernalTime = gernalTime.substring(1, 2); + } + + if (gernalTime.equalsIgnoreCase(date)) { + value += history.getNum(); + continue; + } + } else if (dateType == 3) { + String gernalTime = TimeUtil.getYearOnlyYYYY(history.getDay()); + if (gernalTime.equalsIgnoreCase(date)) { + value += history.getNum(); + continue; + } + } + } + } + list.add(value + ""); + } + + return list; } /** @@ -975,7 +935,7 @@ JSONArray line_list = new JSONArray(); for (String channel : channelList) { - List<Map<String, Object>> list = userInfoCountService.getTodayBuyRate(channel, dateType, year, + List<ChartTDO> list = userInfoCountService.getTodayBuyRate(channel, dateType, year, startTime, endTime); if ("all".equalsIgnoreCase(channel)) { @@ -1098,7 +1058,7 @@ * @param out */ @RequestMapping(value = "getGoldTop") - public void getGoldTop(String callback, Integer pageIndex, Integer pageSize, Integer type, + public void getGoldTop(String callback, Integer pageIndex, Integer pageSize, Integer type, String key, PrintWriter out) { if (type == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("type涓嶈兘涓虹┖")); @@ -1114,11 +1074,11 @@ long count = 0; List<UserGoldCoinVO> list = null; if (type == 0) { - count = userInfoCountService.countByHasGoldCoin(); - list = userInfoCountService.listByHasGoldCoin((pageIndex - 1) * pageSize, pageSize); + count = userInfoCountService.countByHasGoldCoin(key); + list = userInfoCountService.listByHasGoldCoin((pageIndex - 1) * pageSize, pageSize, key); } else if (type == 1 || type == 2) { - count = userInfoCountService.countByUserGoldCoin(type); - list = userInfoCountService.listByUserGoldCoin((pageIndex - 1) * pageSize, pageSize, type); + count = userInfoCountService.countByUserGoldCoin(type, key); + list = userInfoCountService.listByUserGoldCoin((pageIndex - 1) * pageSize, pageSize, type, key); } if(list == null) @@ -1134,4 +1094,220 @@ JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } + + /** + * 鑾峰彇閲戝竵鎺掕姒� + * @param callback + * @param pageIndex + * @param pageSize + * @param type + * @param out + */ + @RequestMapping(value = "getGoldCoinRecord") + public void getGoldCoinRecord(String callback, Integer pageIndex, Integer pageSize, String key, PrintWriter out) { + if (pageIndex == null) + pageIndex = 1; + + if (pageSize == null) + pageSize = 20; + + List<IntegralDetail> list = integralDetailService.listQuery((pageIndex-1)* pageSize, pageSize, key); + if (list == null || list.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鐩稿叧淇℃伅")); + return; + } + + for (IntegralDetail integralDetail: list) { + Long uid = integralDetail.getUid(); + UserInfo userInfo = userInfoService.getUserById(uid); + if (userInfo != null) { + integralDetail.setNickName(userInfo.getNickName()); + integralDetail.setPortrait(userInfo.getPortrait()); + } + } + + long count = integralDetailService.countQuery(key); + 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.setDateFormat("yyyy/MM/dd HH:mm:ss").create(); + + + JSONObject data = new JSONObject(); + data.put("pe", pe); + data.put("list", gson.toJson(list)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } + + + + /** + * + * @param callback + * @param pageIndex + * @param pageSize + * @param key 鎼滅储锛氭殏鍙彁渚泆id + * @param state 鐘舵�侊細 + * @param out + */ + @RequestMapping(value = "queryVip") + public void queryVip(String callback, Integer pageIndex, Integer pageSize, String key, Integer state, PrintWriter out) { + try { + List<UserVIPInfo> list = userVIPInfoService.listQuery(pageIndex, pageSize, key, state); + if (list == null || list.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); + return; + } + + long count = userVIPInfoService.countQuery(key, state); + 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.setDateFormat("yyyy/MM/dd HH:mm:ss").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) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); + } + } + + + + /** + * 瓒呯骇浼氬憳鍗囩骇閫氳繃 + * @param callback + * @param id + * @param out + * @param request + */ + @RequestSerializableByKey(key = "'passVIP-' +#id") + @RequestMapping(value = "passVIP") + public void passVIP(String callback, Long id, PrintWriter out, HttpServletRequest request) { + try { + /* 妫�楠屾槸鍚︾櫥闄� */ + AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); + if (admin == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳墠璐︽埛澶辨晥,璇烽噸鏂扮櫥闄嗐��")); + return; + } + userVIPInfoService.passVIPApply(id); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); + LogHelper.userInfo("[ip:" + IPUtil.getRemotIP(request) + "]" + admin.getName() + "閫氳繃浜哰id=" + id + "]鐨勫崌绾ц秴绾т細鍛樼敵璇�!"); + } catch (UserVIPInfoException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); + return; + } catch (Exception e) { + e.printStackTrace(); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); + return; + } + } + + + /** + * 瓒呯骇浼氬憳鍗囩骇鎷掔粷 + * @param callback + * @param id + * @param reason + * @param out + * @param request + */ + + @RequestMapping(value = "rejectVIP") + public void rejectVIP(String callback, Long id, String reason, PrintWriter out, HttpServletRequest request) { + try { + /* 妫�楠屾槸鍚︾櫥闄� */ + AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); + if (admin == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳墠璐︽埛澶辨晥,璇烽噸鏂扮櫥闄�")); + return; + } + userVIPInfoService.rejectVIPApply(id, reason); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎷掔粷鎴愬姛")); + LogHelper.userInfo("[ip:" + IPUtil.getRemotIP(request) + "][绠$悊鍛�:" + admin.getName() + "] 鎷掔粷鎻愮幇id=" + id + "鐨勫崌绾ц秴绾т細鍛樼敵璇蜂笉瀛樺湪!"); + } catch (UserVIPInfoException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); + return; + } catch (Exception e) { + e.printStackTrace(); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); + return; + } + } + + + + /** + * 鐢ㄦ埛璐︽埛鏄庣粏 + * + * @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