From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 25 二月 2025 16:41:22 +0800 Subject: [PATCH] 淘宝转链接口更新 --- fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java | 3350 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 1,675 insertions(+), 1,675 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 b2174a0..aa813b1 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,1675 +1,1675 @@ -package com.yeshi.fanli.controller.admin; - -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; -import java.util.Date; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import com.yeshi.fanli.entity.accept.AdminAcceptData; -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.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; -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.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; -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.ThreeSaleDetailService; -import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; -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.common.entity.PageEntity; -import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.StringUtil; -import org.yeshi.utils.TimeUtil; -import com.yeshi.fanli.util.annotation.RequestSerializableByKey; -import com.yeshi.fanli.vo.user.UserGoldCoinVO; -import com.yeshi.fanli.vo.user.UserInfoVO; - -import net.sf.json.JSONArray; -import net.sf.json.JSONObject; - -@Controller -@RequestMapping("admin/new/api/v1/user") -public class UserInfoAdminController { - @Resource - private UserInfoService userInfoService; - - @Resource - private ThreeSaleSerivce threeSaleService; - - @Resource - private BindingAccountService bindingAccountService; - - @Resource - private UserInfoCountService userInfoCountService; - - @Resource - private ForbiddenUserIdentifyCodeService forbiddenUserIdentifyCodeService; - - @Resource - private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService; - - @Resource - private UserInfoExtraService userInfoExtraService; - - @Resource - private UserRankService userRankService; - - @Resource - private UserMoneyDetailService userMoneyDetailService; - - @Resource - private UserInfoDeleteRecordService userInfoDeleteRecordService; - - @Resource - private UserAccountService userAccountService; - - @Resource - private UserActiveLogService userActiveLogService; - - @Resource - private UserVIPInfoService userVIPInfoService; - - @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父鐢ㄦ埛/寮傚父鐢ㄦ埛 - * - * @param callback - * @param pageIndex - * @param key 鏌ヨ鏉′欢 - * @param userType 鐢ㄦ埛绫诲瀷锛氶噾鍐犮�侀摱鍐犮�侀摐鍐� - * @param days 鏌ヨ澶╂暟 - * @param startTime 娉ㄥ唽鏃堕棿 - * @param endTime 娉ㄥ唽鏃堕棿 - * @param orderMode 鎺掑簭鏂瑰紡 璁㈠崟鏁伴噺 浠婃棩璁㈠崟 绱闃熷憳 - * @param out - */ - @RequestMapping(value = "query") - public void query(AdminAcceptData acceptData, 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涓嶈兘涓虹┖")); - return; - } - - if (pageIndex == null) - pageIndex = 1; - - if (pageSize == null) - pageSize = Constant.PAGE_SIZE; - - Integer orderField = null; - if (orderMode != null) { - if (orderMode == 1 || orderMode == 2) { - orderField = orderMode; - orderMode = 1; - } else if (orderMode == 3 || orderMode == 4) { - orderField = orderMode; - orderMode = 2; - } else if (orderMode == 5 || orderMode == 6) { - orderField = orderMode; - orderMode = 3; - } - } - - 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, userType, level, activeCode,acceptData.getSystem()); - - if (userList == null || userList.size() == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鐩稿叧鏁版嵁")); - return; - } - - long count = userInfoService.queryCount(type, key, keyType, userRank, days, startTime, endTime, userType, - level, activeCode,acceptData.getSystem()); - - 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 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(AdminAcceptData acceptData,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,acceptData.getSystem()); - - 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,acceptData.getSystem()); - - 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(AdminAcceptData acceptData,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(AdminAcceptData acceptData,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 acceptData - * @param callback - * @param uid - * @param out - */ - @RequestMapping(value = "countTeamFans") - public void countTeamFans(AdminAcceptData acceptData,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(AdminAcceptData acceptData,String callback, Long uid, PrintWriter out) { - - UserInfo user = userInfoService.selectByPKey(uid); - UserInfoVO userInfoVO = new UserInfoVO(); - userInfoVO.setId(uid); - userInfoVO.setPhone(user.getPhone()); - userInfoVO.setState(user.getState()); - userInfoVO.setCreatetime(user.getCreatetime()); - - UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); - if (userInfoExtra != null) { - if (!StringUtil.isNullOrEmpty(userInfoExtra.getMark())) { - userInfoVO.setMark(userInfoExtra.getMark()); - } - userInfoVO.setInviteCode(userInfoExtra.getInviteCode()); - userInfoVO.setInviteCodeVip(userInfoExtra.getInviteCodeVip()); - userInfoVO.setWxId(userInfoExtra.getWeiXin()); - } - - // 鏈�杩戜竴娆′笅鍗曟椂闂� - Date lastOrderTime = hongBaoV2CountService.getLastHongBaoTime(uid); - if (lastOrderTime != null) { - userInfoVO.setLastOrderTime(lastOrderTime.getTime()); - } - - // 鏈�杩戠櫥褰曟椂闂� - UserActiveLog userActiveLog = userActiveLogService.getUserLatestActiveInfo(uid); - if (userActiveLog != null) { - userInfoVO.setLastLoginTime(userActiveLog.getCreateTime().getTime()); - } - - // 鏄剧ず鐢ㄦ埛寰俊 娣樺疂 鑰佺増鏈瓨鍦� - String wxId = userInfoVO.getWxId(); - if (wxId == null) { - userInfoVO.setWxId(""); - } - - // 鏄惁缁戝畾鏀粯瀹濓紙璐拱 + 鍒嗕韩鏉冮檺锛� - UserExtraTaoBaoInfo extraTaoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); - if (extraTaoBaoInfo != null) { - String taoBaoUid = extraTaoBaoInfo.getTaoBaoUid(); - String specialId = extraTaoBaoInfo.getSpecialId(); - String relationId = extraTaoBaoInfo.getRelationId(); - if (StringUtil.isNullOrEmpty(taoBaoUid) || StringUtil.isNullOrEmpty(specialId) - || StringUtil.isNullOrEmpty(relationId)) { - userInfoVO.setTbName(null); - userInfoVO.setTaoBaoUid(null); - } else { - userInfoVO.setTbName(extraTaoBaoInfo.getTaoBaoNickName()); - userInfoVO.setTaoBaoUid(extraTaoBaoInfo.getTaoBaoUid()); - } - } - - /* 缁戝畾鏀舵璐﹀彿淇℃伅 */ - List<BindingAccount> account = bindingAccountService.getBindingAccountByUid(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(userInfoVO)); - } - - - /** - * 缁戝畾璇︽儏 - * - * @param callback - * @param uid - * @param out - */ - @RequestMapping(value = "getBindDetail") - public void getBindDetail(AdminAcceptData acceptData,String callback, Long uid, PrintWriter out) { - UserInfo user = userInfoService.selectByPKey(uid); - - JSONObject data = new JSONObject(); - - Integer state = user.getState(); - if (state == UserInfo.STATE_NORMAL) { - data.put("stateDesc", "姝e父"); - } else if (state == UserInfo.STATE_DELETE) { - data.put("stateDesc", "宸插垹闄�"); - } else if (state == UserInfo.STATE_FORBIDDEN) { - data.put("stateDesc", "宸插皝绂�"); - } else if (state == UserInfo.STATE_DELETE_OUT_OF_DATE) { - data.put("stateDesc", "闀挎湡鏈櫥褰曞垹闄�"); - } - data.put("state", state); - data.put("phone", user.getPhone()); - - // 寰俊鎺堟潈 - String wxUnionId = user.getWxUnionId(); - if(StringUtil.isNullOrEmpty(wxUnionId)) { - data.put("wxName", ""); - data.put("wxState", false); - } else { - data.put("wxName", user.getWxName()); - data.put("wxnState", true); - } - - String mark = ""; - UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); - if (userInfoExtra != null) { - if (!StringUtil.isNullOrEmpty(userInfoExtra.getMark())) { - mark = userInfoExtra.getMark(); - } - } - data.put("mark", mark); - - - // 娣樺疂鎺堟潈 - String tbName = ""; - boolean tbState = false; - UserExtraTaoBaoInfo extraTaoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); - if (extraTaoBaoInfo != null) { - String taoBaoUid = extraTaoBaoInfo.getTaoBaoUid(); - String specialId = extraTaoBaoInfo.getSpecialId(); - String relationId = extraTaoBaoInfo.getRelationId(); - if (!StringUtil.isNullOrEmpty(taoBaoUid) && StringUtil.isNullOrEmpty(specialId) && StringUtil.isNullOrEmpty(relationId)) { - tbState = true; - tbName = extraTaoBaoInfo.getTaoBaoNickName(); - } - } - data.put("tbName", tbName); - data.put("tbState", tbState); - - /* 缁戝畾鏀舵璐﹀彿淇℃伅 */ - String accountName = ""; - boolean accountState = false; - List<BindingAccount> account = bindingAccountService.getBindingAccountByUid(uid); - if (account != null && account.size() > 0) { - BindingAccount bindingAccount = account.get(0); - Integer type = bindingAccount.getType(); - // 鏀粯瀹� - if (type != null && type == 1) { - accountState = true; - accountName = bindingAccount.getAccount(); - } - } - data.put("account", accountName); - data.put("accountState", accountState); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } - - /** - * 缁熻浠婃棩鐢ㄦ埛鎬绘儏鍐� - * - * @param callback - * @param out - */ - @RequestMapping(value = "countInfo") - public void countInfo(AdminAcceptData acceptData,String callback, PrintWriter out) { - try { - - // 绱鐢ㄦ埛鏁伴噺 - long totalUser = userInfoCountService.countNewUser(null, null); - // 娴佸け鐢ㄦ埛鏁伴噺锛�180澶╂湭浣跨敤鐧诲綍骞朵笖鏃犱换浣曡祫閲戞祦鍔ㄧ殑璐﹀彿鏁伴噺锛� - long loseUser = userInfoCountService.countLoseUser(180); - // 绱鏈夎喘涔扮敤鎴锋暟 - long orderUser = userInfoCountService.countHasOrderUser(); - - // 鎬绘暟-鏅�氱敤鎴� - long countNormal = 0; - // 鎬绘暟-閾滅敤鎴� - long countCuprum = 0; - // 鎬绘暟-閾剁敤鎴� - long countSilver = 0; - // 鎬绘暟-閲戠敤鎴� - 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); - 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 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)); - } catch (Exception e) { - e.printStackTrace(); - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - } - } - - /** - * - * @param acceptData - * @param callback - * @param uid - * @param typeArray - * @param out - */ - @RequestMapping("unBindUserInfo") - public void unBindUserInfo(AdminAcceptData acceptData,String callback, Long uid, String typeArray, PrintWriter out) { - try { - if (typeArray == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("娌℃湁鍙洿鏀圭殑鍐呭")); - return; - } - - Gson gson = new Gson(); - List<Integer> list = gson.fromJson(typeArray, new TypeToken<ArrayList<Integer>>() { - }.getType()); - if (list == null || list.size() == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("娌℃湁鍙洿鏀圭殑鍐呭")); - return; - } - - if (uid == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛id涓嶈兘涓虹┖")); - return; - } - - UserInfo find = userInfoService.getUserById(uid); - if (find == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛琚皝绂佹垨涓嶅瓨鍦�")); - return; - } - - for (Integer type : list) { - String openid = find.getOpenid(); - String wxUnionId = find.getWxUnionId(); - String phone = find.getPhone(); - if (1 == type) { - if (StringUtil.isNullOrEmpty(openid)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳墠鐢ㄦ埛鏈粦瀹氭窐瀹濓紒")); - return; - } else { - userInfoService.deleteBindInfo(find, type); - } - } else if (2 == type) { - if (StringUtil.isNullOrEmpty(wxUnionId)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳墠鐢ㄦ埛鏈粦瀹氬井淇★紒")); - return; - } else { - userInfoService.deleteBindInfo(find, type); - } - } else if (3 == type) { - if (StringUtil.isNullOrEmpty(phone)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳墠鐢ㄦ埛鏈粦瀹氭墜鏈哄彿锛�")); - return; - } else { - userInfoService.deleteBindInfo(find, type); - } - } else if (4 == type) { - // 鏌ヨ鏀粯瀹濈粦瀹� - BindingAccount account = bindingAccountService.getBindingAccountByUidAndType(uid, - BindingAccount.TYPE_ALIPAY); - if (account == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳墠鐢ㄦ埛鏈粦瀹氭敮浠樺疂锛�")); - return; - } else { - bindingAccountService.deleteBindingAccount(account); - } - } else { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璐︽埛绫诲瀷涓嶅尮閰嶏紒")); - return; - } - } - - 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(AdminAcceptData acceptData,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(AdminAcceptData acceptData,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 - * - * @param callback - * @param uid - * @param out - */ - @RequestMapping(value = "forbiddenUser") - public void forbiddenUser(AdminAcceptData acceptData,String callback, Long uid, HttpServletRequest request, PrintWriter out) { - try { - if (uid == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); - return; - } - - UserInfo currentInfo = userInfoService.selectByPKey(uid); - if (currentInfo == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ョ敤鎴峰凡涓嶅瓨鍦�")); - return; - } - - AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); - if (admin == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐧诲綍澶辨晥,璇风櫥褰�")); - return; - } - - 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("鎿嶄綔澶辫触")); - } - } - - /** - * 瑙i櫎灏佺鐢ㄦ埛ID - * - * @param callback - * @param uid - * @param out - */ - @RequestMapping(value = "relieveForbiddenUser") - public void relieveForbiddenUser(AdminAcceptData acceptData,String callback, Long uid, PrintWriter out) { - try { - if (uid == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); - return; - } - - UserInfo currentInfo = userInfoService.selectByPKey(uid); - if (currentInfo == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ョ敤鎴峰凡涓嶅瓨鍦�")); - return; - } - - currentInfo.setState(UserInfo.STATE_NORMAL); - currentInfo.setStateDesc("绠$悊鍛樺凡瑙e皝"); - userInfoService.updateByPrimaryKeySelective(currentInfo); - - // 瑙e皝寰俊 - ForbiddenUserIdentifyCode forbiddenUserIdentifyCode = forbiddenUserIdentifyCodeService - .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.wxUnionId, currentInfo.getWxUnionId()); - if (forbiddenUserIdentifyCode != null) - forbiddenUserIdentifyCodeService.delete(forbiddenUserIdentifyCode); - - // 瑙e皝鎵嬫満 - forbiddenUserIdentifyCode = forbiddenUserIdentifyCodeService - .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.phone, currentInfo.getPhone()); - if (forbiddenUserIdentifyCode != null) - forbiddenUserIdentifyCodeService.delete(forbiddenUserIdentifyCode); - - // 瑙e皝娣樺疂 - UserExtraTaoBaoInfo taoBao = userExtraTaoBaoInfoService.getByUid(uid); - if (taoBao != null && !StringUtil.isNullOrEmpty(taoBao.getTaoBaoUid())) { - forbiddenUserIdentifyCode = forbiddenUserIdentifyCodeService - .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.taobaoUid, taoBao.getTaoBaoUid()); - if (forbiddenUserIdentifyCode != null) - forbiddenUserIdentifyCodeService.delete(forbiddenUserIdentifyCode); - } - - // 瑙e皝鏀粯瀹� - List<BindingAccount> list = bindingAccountService.getBindingAccountByUid(uid); - if (list != null) { - for (BindingAccount ba : list) { - forbiddenUserIdentifyCode = forbiddenUserIdentifyCodeService.listByTypeAndIdentifyCode( - ForbiddenUserIdentifyCodeTypeEnum.alipayAccount, ba.getAccount()); - if (forbiddenUserIdentifyCode != null) - forbiddenUserIdentifyCodeService.delete(forbiddenUserIdentifyCode); - } - } - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鐢ㄦ埛瑙e皝鎴愬姛")); - } catch (Exception e) { - e.printStackTrace(); - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); - } - } - - /** - * 鐢ㄦ埛璐﹀彿- 灏佺/瑙e皝 - * - * @param callback - * @param code - * @param type 1("寰俊unionId"), 2("娣樺疂ID"), 3("鎵嬫満鍙�"), 4("鏀粯瀹濊处鍙�"); - * @param out - */ - @RequestMapping(value = "saveForbiddenInfo") - public void saveForbiddenInfo(AdminAcceptData acceptData,String callback, String code, Integer type, PrintWriter out) { - try { - if (code == null || code.trim().length() == 0 || type == null || "NULL".equalsIgnoreCase(code)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖")); - return; - } - - 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("鎿嶄綔寮傚父")); - } - } - - /** - * 闃熷憳鍏崇郴 - * - * @param pageIndex - * @param state - * @param startTime - * @param endTime - * @param out - */ - @RequestMapping(value = "getRelationList") - public void getRelationList(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, Long uid, Integer type, - Integer state, String startTime, String endTime, Integer validState, PrintWriter out) { - - 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, validState); - } else if (type == 2) { - // 浜岀骇鐢ㄦ埛 - listQuery = threeSaleService.listSecondTeamQuery((pageIndex - 1) * pageSize, pageSize, uid, state, - startTime, endTime, validState); - } - - if (listQuery == null || listQuery.size() == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); - return; - } - - 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); // 閭�璇锋垚鍔� - } 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, validState); - } else if (type == 2) { - // 浜岀骇鐢ㄦ埛 - count = threeSaleService.countSecondTeamQuery(uid, state, startTime, endTime, validState); - } - - 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 out - */ - @RequestMapping(value = "getAccountDetails") - public void getAccountDetails(AdminAcceptData acceptData,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<UserMoneyDetail> userMoneyDetailsList = userMoneyDetailService.listByUidWithState(uid, pageIndex, - pageSize); - if (userMoneyDetailsList == null || userMoneyDetailsList.size() == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); - return; - } - - long count = userMoneyDetailService.countByUidWithState(uid); - - int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); - PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); - - Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create(); - 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("鏌ヨ澶辫触")); - } - } - - /** - * 鏍规嵁娓犻亾 缁熻褰撴棩鏂板鐢ㄦ埛鏁伴噺 - * - * @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(AdminAcceptData acceptData,String callback, String channelArray, Integer dateType, String year, String startTime, - String endTime, PrintWriter out) { - 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(); - 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(); - - 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", "鍏ㄩ儴"); - innerList.put("data", gson.toJson(list)); - line_list.add(innerList); - } - - JSONObject data = new JSONObject(); - 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("绯荤粺寮傚父")); - 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; - } - - /** - * 鏍规嵁娓犻亾 缁熻褰撴棩鏂板鐢ㄦ埛鏁伴噺 - * - * @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(AdminAcceptData acceptData,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<ChartTDO> 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(AdminAcceptData acceptData,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(); - } - } - - /** - * 鑾峰彇閲戝竵鎺掕姒� - * - * @param callback - * @param pageIndex - * @param pageSize - * @param type - * @param out - */ - @RequestMapping(value = "getGoldTop") - public void getGoldTop(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, Integer type, String key, - PrintWriter out) { - if (type == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("type涓嶈兘涓虹┖")); - return; - } - - if (pageIndex == null) - pageIndex = 1; - - if (pageSize == null) - pageSize = 50; - - long count = 0; - List<UserGoldCoinVO> list = null; - if (type == 0) { - count = userInfoCountService.countByHasGoldCoin(key); - list = userInfoCountService.listByHasGoldCoin((pageIndex - 1) * pageSize, pageSize, key); - } else if (type == 1 || type == 2) { - count = userInfoCountService.countByUserGoldCoin(type, key); - list = userInfoCountService.listByUserGoldCoin((pageIndex - 1) * pageSize, pageSize, type, key); - } - - if (list == null) - list = new ArrayList<>(); - - 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("list", list); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } - - /** - * 鑾峰彇閲戝竵鎺掕姒� - * - * @param callback - * @param pageIndex - * @param pageSize - * @param out - */ - @RequestMapping(value = "getGoldCoinRecord") - public void getGoldCoinRecord(AdminAcceptData acceptData,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(AdminAcceptData acceptData,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(AdminAcceptData acceptData,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(AdminAcceptData acceptData,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(AdminAcceptData acceptData,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("鏌ヨ澶辫触")); - } - } - -} +package com.yeshi.fanli.controller.admin; + +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; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +import com.yeshi.fanli.entity.accept.AdminAcceptData; +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.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; +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.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; +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.ThreeSaleDetailService; +import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; +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.common.entity.PageEntity; +import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.StringUtil; +import org.yeshi.utils.TimeUtil; +import com.yeshi.fanli.util.annotation.RequestSerializableByKey; +import com.yeshi.fanli.vo.user.UserGoldCoinVO; +import com.yeshi.fanli.vo.user.UserInfoVO; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + +@Controller +@RequestMapping("admin/new/api/v1/user") +public class UserInfoAdminController { + @Resource + private UserInfoService userInfoService; + + @Resource + private ThreeSaleSerivce threeSaleService; + + @Resource + private BindingAccountService bindingAccountService; + + @Resource + private UserInfoCountService userInfoCountService; + + @Resource + private ForbiddenUserIdentifyCodeService forbiddenUserIdentifyCodeService; + + @Resource + private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService; + + @Resource + private UserInfoExtraService userInfoExtraService; + + @Resource + private UserRankService userRankService; + + @Resource + private UserMoneyDetailService userMoneyDetailService; + + @Resource + private UserInfoDeleteRecordService userInfoDeleteRecordService; + + @Resource + private UserAccountService userAccountService; + + @Resource + private UserActiveLogService userActiveLogService; + + @Resource + private UserVIPInfoService userVIPInfoService; + + @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父鐢ㄦ埛/寮傚父鐢ㄦ埛 + * + * @param callback + * @param pageIndex + * @param key 鏌ヨ鏉′欢 + * @param userType 鐢ㄦ埛绫诲瀷锛氶噾鍐犮�侀摱鍐犮�侀摐鍐� + * @param days 鏌ヨ澶╂暟 + * @param startTime 娉ㄥ唽鏃堕棿 + * @param endTime 娉ㄥ唽鏃堕棿 + * @param orderMode 鎺掑簭鏂瑰紡 璁㈠崟鏁伴噺 浠婃棩璁㈠崟 绱闃熷憳 + * @param out + */ + @RequestMapping(value = "query") + public void query(AdminAcceptData acceptData, 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涓嶈兘涓虹┖")); + return; + } + + if (pageIndex == null) + pageIndex = 1; + + if (pageSize == null) + pageSize = Constant.PAGE_SIZE; + + Integer orderField = null; + if (orderMode != null) { + if (orderMode == 1 || orderMode == 2) { + orderField = orderMode; + orderMode = 1; + } else if (orderMode == 3 || orderMode == 4) { + orderField = orderMode; + orderMode = 2; + } else if (orderMode == 5 || orderMode == 6) { + orderField = orderMode; + orderMode = 3; + } + } + + 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, userType, level, activeCode,acceptData.getSystem()); + + if (userList == null || userList.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鐩稿叧鏁版嵁")); + return; + } + + long count = userInfoService.queryCount(type, key, keyType, userRank, days, startTime, endTime, userType, + level, activeCode,acceptData.getSystem()); + + 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 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(AdminAcceptData acceptData,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,acceptData.getSystem()); + + 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,acceptData.getSystem()); + + 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(AdminAcceptData acceptData,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(AdminAcceptData acceptData,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 acceptData + * @param callback + * @param uid + * @param out + */ + @RequestMapping(value = "countTeamFans") + public void countTeamFans(AdminAcceptData acceptData,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(AdminAcceptData acceptData,String callback, Long uid, PrintWriter out) { + + UserInfo user = userInfoService.selectByPKey(uid); + UserInfoVO userInfoVO = new UserInfoVO(); + userInfoVO.setId(uid); + userInfoVO.setPhone(user.getPhone()); + userInfoVO.setState(user.getState()); + userInfoVO.setCreatetime(user.getCreatetime()); + + UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); + if (userInfoExtra != null) { + if (!StringUtil.isNullOrEmpty(userInfoExtra.getMark())) { + userInfoVO.setMark(userInfoExtra.getMark()); + } + userInfoVO.setInviteCode(userInfoExtra.getInviteCode()); + userInfoVO.setInviteCodeVip(userInfoExtra.getInviteCodeVip()); + userInfoVO.setWxId(userInfoExtra.getWeiXin()); + } + + // 鏈�杩戜竴娆′笅鍗曟椂闂� + Date lastOrderTime = hongBaoV2CountService.getLastHongBaoTime(uid); + if (lastOrderTime != null) { + userInfoVO.setLastOrderTime(lastOrderTime.getTime()); + } + + // 鏈�杩戠櫥褰曟椂闂� + UserActiveLog userActiveLog = userActiveLogService.getUserLatestActiveInfo(uid); + if (userActiveLog != null) { + userInfoVO.setLastLoginTime(userActiveLog.getCreateTime().getTime()); + } + + // 鏄剧ず鐢ㄦ埛寰俊 娣樺疂 鑰佺増鏈瓨鍦� + String wxId = userInfoVO.getWxId(); + if (wxId == null) { + userInfoVO.setWxId(""); + } + + // 鏄惁缁戝畾鏀粯瀹濓紙璐拱 + 鍒嗕韩鏉冮檺锛� + UserExtraTaoBaoInfo extraTaoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); + if (extraTaoBaoInfo != null) { + String taoBaoUid = extraTaoBaoInfo.getTaoBaoUid(); + String specialId = extraTaoBaoInfo.getSpecialId(); + String relationId = extraTaoBaoInfo.getRelationId(); + if (StringUtil.isNullOrEmpty(taoBaoUid) || StringUtil.isNullOrEmpty(specialId) + || StringUtil.isNullOrEmpty(relationId)) { + userInfoVO.setTbName(null); + userInfoVO.setTaoBaoUid(null); + } else { + userInfoVO.setTbName(extraTaoBaoInfo.getTaoBaoNickName()); + userInfoVO.setTaoBaoUid(extraTaoBaoInfo.getTaoBaoUid()); + } + } + + /* 缁戝畾鏀舵璐﹀彿淇℃伅 */ + List<BindingAccount> account = bindingAccountService.getBindingAccountByUid(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(userInfoVO)); + } + + + /** + * 缁戝畾璇︽儏 + * + * @param callback + * @param uid + * @param out + */ + @RequestMapping(value = "getBindDetail") + public void getBindDetail(AdminAcceptData acceptData,String callback, Long uid, PrintWriter out) { + UserInfo user = userInfoService.selectByPKey(uid); + + JSONObject data = new JSONObject(); + + Integer state = user.getState(); + if (state == UserInfo.STATE_NORMAL) { + data.put("stateDesc", "姝e父"); + } else if (state == UserInfo.STATE_DELETE) { + data.put("stateDesc", "宸插垹闄�"); + } else if (state == UserInfo.STATE_FORBIDDEN) { + data.put("stateDesc", "宸插皝绂�"); + } else if (state == UserInfo.STATE_DELETE_OUT_OF_DATE) { + data.put("stateDesc", "闀挎湡鏈櫥褰曞垹闄�"); + } + data.put("state", state); + data.put("phone", user.getPhone()); + + // 寰俊鎺堟潈 + String wxUnionId = user.getWxUnionId(); + if(StringUtil.isNullOrEmpty(wxUnionId)) { + data.put("wxName", ""); + data.put("wxState", false); + } else { + data.put("wxName", user.getWxName()); + data.put("wxnState", true); + } + + String mark = ""; + UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); + if (userInfoExtra != null) { + if (!StringUtil.isNullOrEmpty(userInfoExtra.getMark())) { + mark = userInfoExtra.getMark(); + } + } + data.put("mark", mark); + + + // 娣樺疂鎺堟潈 + String tbName = ""; + boolean tbState = false; + UserExtraTaoBaoInfo extraTaoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); + if (extraTaoBaoInfo != null) { + String taoBaoUid = extraTaoBaoInfo.getTaoBaoUid(); + String specialId = extraTaoBaoInfo.getSpecialId(); + String relationId = extraTaoBaoInfo.getRelationId(); + if (!StringUtil.isNullOrEmpty(taoBaoUid) && StringUtil.isNullOrEmpty(specialId) && StringUtil.isNullOrEmpty(relationId)) { + tbState = true; + tbName = extraTaoBaoInfo.getTaoBaoNickName(); + } + } + data.put("tbName", tbName); + data.put("tbState", tbState); + + /* 缁戝畾鏀舵璐﹀彿淇℃伅 */ + String accountName = ""; + boolean accountState = false; + List<BindingAccount> account = bindingAccountService.getBindingAccountByUid(uid); + if (account != null && account.size() > 0) { + BindingAccount bindingAccount = account.get(0); + Integer type = bindingAccount.getType(); + // 鏀粯瀹� + if (type != null && type == 1) { + accountState = true; + accountName = bindingAccount.getAccount(); + } + } + data.put("account", accountName); + data.put("accountState", accountState); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } + + /** + * 缁熻浠婃棩鐢ㄦ埛鎬绘儏鍐� + * + * @param callback + * @param out + */ + @RequestMapping(value = "countInfo") + public void countInfo(AdminAcceptData acceptData,String callback, PrintWriter out) { + try { + + // 绱鐢ㄦ埛鏁伴噺 + long totalUser = userInfoCountService.countNewUser(null, null); + // 娴佸け鐢ㄦ埛鏁伴噺锛�180澶╂湭浣跨敤鐧诲綍骞朵笖鏃犱换浣曡祫閲戞祦鍔ㄧ殑璐﹀彿鏁伴噺锛� + long loseUser = userInfoCountService.countLoseUser(180); + // 绱鏈夎喘涔扮敤鎴锋暟 + long orderUser = userInfoCountService.countHasOrderUser(); + + // 鎬绘暟-鏅�氱敤鎴� + long countNormal = 0; + // 鎬绘暟-閾滅敤鎴� + long countCuprum = 0; + // 鎬绘暟-閾剁敤鎴� + long countSilver = 0; + // 鎬绘暟-閲戠敤鎴� + 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); + 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 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)); + } catch (Exception e) { + e.printStackTrace(); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + } + } + + /** + * + * @param acceptData + * @param callback + * @param uid + * @param typeArray + * @param out + */ + @RequestMapping("unBindUserInfo") + public void unBindUserInfo(AdminAcceptData acceptData,String callback, Long uid, String typeArray, PrintWriter out) { + try { + if (typeArray == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("娌℃湁鍙洿鏀圭殑鍐呭")); + return; + } + + Gson gson = new Gson(); + List<Integer> list = gson.fromJson(typeArray, new TypeToken<ArrayList<Integer>>() { + }.getType()); + if (list == null || list.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("娌℃湁鍙洿鏀圭殑鍐呭")); + return; + } + + if (uid == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛id涓嶈兘涓虹┖")); + return; + } + + UserInfo find = userInfoService.getUserById(uid); + if (find == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛琚皝绂佹垨涓嶅瓨鍦�")); + return; + } + + for (Integer type : list) { + String openid = find.getOpenid(); + String wxUnionId = find.getWxUnionId(); + String phone = find.getPhone(); + if (1 == type) { + if (StringUtil.isNullOrEmpty(openid)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳墠鐢ㄦ埛鏈粦瀹氭窐瀹濓紒")); + return; + } else { + userInfoService.deleteBindInfo(find, type); + } + } else if (2 == type) { + if (StringUtil.isNullOrEmpty(wxUnionId)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳墠鐢ㄦ埛鏈粦瀹氬井淇★紒")); + return; + } else { + userInfoService.deleteBindInfo(find, type); + } + } else if (3 == type) { + if (StringUtil.isNullOrEmpty(phone)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳墠鐢ㄦ埛鏈粦瀹氭墜鏈哄彿锛�")); + return; + } else { + userInfoService.deleteBindInfo(find, type); + } + } else if (4 == type) { + // 鏌ヨ鏀粯瀹濈粦瀹� + BindingAccount account = bindingAccountService.getBindingAccountByUidAndType(uid, + BindingAccount.TYPE_ALIPAY); + if (account == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳墠鐢ㄦ埛鏈粦瀹氭敮浠樺疂锛�")); + return; + } else { + bindingAccountService.deleteBindingAccount(account); + } + } else { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璐︽埛绫诲瀷涓嶅尮閰嶏紒")); + return; + } + } + + 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(AdminAcceptData acceptData,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(AdminAcceptData acceptData,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 + * + * @param callback + * @param uid + * @param out + */ + @RequestMapping(value = "forbiddenUser") + public void forbiddenUser(AdminAcceptData acceptData,String callback, Long uid, HttpServletRequest request, PrintWriter out) { + try { + if (uid == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); + return; + } + + UserInfo currentInfo = userInfoService.selectByPKey(uid); + if (currentInfo == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ョ敤鎴峰凡涓嶅瓨鍦�")); + return; + } + + AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); + if (admin == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐧诲綍澶辨晥,璇风櫥褰�")); + return; + } + + 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("鎿嶄綔澶辫触")); + } + } + + /** + * 瑙i櫎灏佺鐢ㄦ埛ID + * + * @param callback + * @param uid + * @param out + */ + @RequestMapping(value = "relieveForbiddenUser") + public void relieveForbiddenUser(AdminAcceptData acceptData,String callback, Long uid, PrintWriter out) { + try { + if (uid == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); + return; + } + + UserInfo currentInfo = userInfoService.selectByPKey(uid); + if (currentInfo == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ョ敤鎴峰凡涓嶅瓨鍦�")); + return; + } + + currentInfo.setState(UserInfo.STATE_NORMAL); + currentInfo.setStateDesc("绠$悊鍛樺凡瑙e皝"); + userInfoService.updateByPrimaryKeySelective(currentInfo); + + // 瑙e皝寰俊 + ForbiddenUserIdentifyCode forbiddenUserIdentifyCode = forbiddenUserIdentifyCodeService + .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.wxUnionId, currentInfo.getWxUnionId()); + if (forbiddenUserIdentifyCode != null) + forbiddenUserIdentifyCodeService.delete(forbiddenUserIdentifyCode); + + // 瑙e皝鎵嬫満 + forbiddenUserIdentifyCode = forbiddenUserIdentifyCodeService + .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.phone, currentInfo.getPhone()); + if (forbiddenUserIdentifyCode != null) + forbiddenUserIdentifyCodeService.delete(forbiddenUserIdentifyCode); + + // 瑙e皝娣樺疂 + UserExtraTaoBaoInfo taoBao = userExtraTaoBaoInfoService.getByUid(uid); + if (taoBao != null && !StringUtil.isNullOrEmpty(taoBao.getTaoBaoUid())) { + forbiddenUserIdentifyCode = forbiddenUserIdentifyCodeService + .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.taobaoUid, taoBao.getTaoBaoUid()); + if (forbiddenUserIdentifyCode != null) + forbiddenUserIdentifyCodeService.delete(forbiddenUserIdentifyCode); + } + + // 瑙e皝鏀粯瀹� + List<BindingAccount> list = bindingAccountService.getBindingAccountByUid(uid); + if (list != null) { + for (BindingAccount ba : list) { + forbiddenUserIdentifyCode = forbiddenUserIdentifyCodeService.listByTypeAndIdentifyCode( + ForbiddenUserIdentifyCodeTypeEnum.alipayAccount, ba.getAccount()); + if (forbiddenUserIdentifyCode != null) + forbiddenUserIdentifyCodeService.delete(forbiddenUserIdentifyCode); + } + } + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鐢ㄦ埛瑙e皝鎴愬姛")); + } catch (Exception e) { + e.printStackTrace(); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); + } + } + + /** + * 鐢ㄦ埛璐﹀彿- 灏佺/瑙e皝 + * + * @param callback + * @param code + * @param type 1("寰俊unionId"), 2("娣樺疂ID"), 3("鎵嬫満鍙�"), 4("鏀粯瀹濊处鍙�"); + * @param out + */ + @RequestMapping(value = "saveForbiddenInfo") + public void saveForbiddenInfo(AdminAcceptData acceptData,String callback, String code, Integer type, PrintWriter out) { + try { + if (code == null || code.trim().length() == 0 || type == null || "NULL".equalsIgnoreCase(code)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖")); + return; + } + + 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("鎿嶄綔寮傚父")); + } + } + + /** + * 闃熷憳鍏崇郴 + * + * @param pageIndex + * @param state + * @param startTime + * @param endTime + * @param out + */ + @RequestMapping(value = "getRelationList") + public void getRelationList(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, Long uid, Integer type, + Integer state, String startTime, String endTime, Integer validState, PrintWriter out) { + + 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, validState); + } else if (type == 2) { + // 浜岀骇鐢ㄦ埛 + listQuery = threeSaleService.listSecondTeamQuery((pageIndex - 1) * pageSize, pageSize, uid, state, + startTime, endTime, validState); + } + + if (listQuery == null || listQuery.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); + return; + } + + 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); // 閭�璇锋垚鍔� + } 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, validState); + } else if (type == 2) { + // 浜岀骇鐢ㄦ埛 + count = threeSaleService.countSecondTeamQuery(uid, state, startTime, endTime, validState); + } + + 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 out + */ + @RequestMapping(value = "getAccountDetails") + public void getAccountDetails(AdminAcceptData acceptData,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<UserMoneyDetail> userMoneyDetailsList = userMoneyDetailService.listByUidWithState(uid, pageIndex, + pageSize); + if (userMoneyDetailsList == null || userMoneyDetailsList.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); + return; + } + + long count = userMoneyDetailService.countByUidWithState(uid); + + int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); + PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); + + Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create(); + 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("鏌ヨ澶辫触")); + } + } + + /** + * 鏍规嵁娓犻亾 缁熻褰撴棩鏂板鐢ㄦ埛鏁伴噺 + * + * @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(AdminAcceptData acceptData,String callback, String channelArray, Integer dateType, String year, String startTime, + String endTime, PrintWriter out) { + 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(); + 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(); + + 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", "鍏ㄩ儴"); + innerList.put("data", gson.toJson(list)); + line_list.add(innerList); + } + + JSONObject data = new JSONObject(); + 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("绯荤粺寮傚父")); + 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; + } + + /** + * 鏍规嵁娓犻亾 缁熻褰撴棩鏂板鐢ㄦ埛鏁伴噺 + * + * @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(AdminAcceptData acceptData,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<ChartTDO> 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(AdminAcceptData acceptData,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(); + } + } + + /** + * 鑾峰彇閲戝竵鎺掕姒� + * + * @param callback + * @param pageIndex + * @param pageSize + * @param type + * @param out + */ + @RequestMapping(value = "getGoldTop") + public void getGoldTop(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, Integer type, String key, + PrintWriter out) { + if (type == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("type涓嶈兘涓虹┖")); + return; + } + + if (pageIndex == null) + pageIndex = 1; + + if (pageSize == null) + pageSize = 50; + + long count = 0; + List<UserGoldCoinVO> list = null; + if (type == 0) { + count = userInfoCountService.countByHasGoldCoin(key); + list = userInfoCountService.listByHasGoldCoin((pageIndex - 1) * pageSize, pageSize, key); + } else if (type == 1 || type == 2) { + count = userInfoCountService.countByUserGoldCoin(type, key); + list = userInfoCountService.listByUserGoldCoin((pageIndex - 1) * pageSize, pageSize, type, key); + } + + if (list == null) + list = new ArrayList<>(); + + 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("list", list); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } + + /** + * 鑾峰彇閲戝竵鎺掕姒� + * + * @param callback + * @param pageIndex + * @param pageSize + * @param out + */ + @RequestMapping(value = "getGoldCoinRecord") + public void getGoldCoinRecord(AdminAcceptData acceptData,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(AdminAcceptData acceptData,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(AdminAcceptData acceptData,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(AdminAcceptData acceptData,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(AdminAcceptData acceptData,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