From 626d711cb15896055c13fe344eb7fcc824589715 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期四, 19 十二月 2019 15:38:42 +0800 Subject: [PATCH] 帮助中心 --- fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java | 869 +++++++++++++++++++++++++++++++++------------------------ 1 files changed, 496 insertions(+), 373 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 5faa03d..bc15140 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,57 +1,61 @@ package com.yeshi.fanli.controller.admin; import java.io.PrintWriter; +import java.net.URLDecoder; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; -import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; +import org.yeshi.utils.IPUtil; import org.yeshi.utils.JsonUtil; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; import com.yeshi.fanli.controller.admin.utils.AdminUtils; -import com.yeshi.fanli.dto.money.AccountDetails; +import com.yeshi.fanli.dto.ChartTDO; 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.Order; import com.yeshi.fanli.entity.bus.user.ThreeSale; +import com.yeshi.fanli.entity.bus.user.UserActiveNumHistory; import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo; import com.yeshi.fanli.entity.bus.user.UserInfo; +import com.yeshi.fanli.entity.bus.user.UserInfoExtra; import com.yeshi.fanli.entity.bus.user.UserRank; +import com.yeshi.fanli.entity.bus.user.vip.UserVIPInfo; +import com.yeshi.fanli.entity.common.AdminUser; import com.yeshi.fanli.entity.money.UserMoneyDetail; -import com.yeshi.fanli.entity.taobao.ScanHistory; import com.yeshi.fanli.exception.user.ForbiddenUserIdentifyCodeException; -import com.yeshi.fanli.service.inter.config.ConfigService; +import com.yeshi.fanli.exception.user.vip.UserVIPInfoException; +import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.count.UserInfoCountService; -import com.yeshi.fanli.service.inter.goods.ShareService; -import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce; -import com.yeshi.fanli.service.inter.order.OrderService; -import com.yeshi.fanli.service.inter.user.BindingAccountService; -import com.yeshi.fanli.service.inter.user.ExtractService; +import com.yeshi.fanli.service.inter.money.UserMoneyDetailService; +import com.yeshi.fanli.service.inter.money.extract.BindingAccountService; import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService; -import com.yeshi.fanli.service.inter.user.ScanHistoryService; +import com.yeshi.fanli.service.inter.user.UserAccountService; import com.yeshi.fanli.service.inter.user.UserActiveLogService; -import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService; +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.UserMoneyDetailService; import com.yeshi.fanli.service.inter.user.UserRankService; +import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; +import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; +import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService; import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.GsonUtil; import com.yeshi.fanli.util.StringUtil; -import com.yeshi.fanli.util.factory.AccountDetailsFactory; +import com.yeshi.fanli.util.TimeUtil; +import com.yeshi.fanli.util.annotation.RequestSerializableByKey; +import com.yeshi.fanli.vo.user.UserGoldCoinVO; import com.yeshi.fanli.vo.user.UserInfoVO; import net.sf.json.JSONArray; @@ -63,33 +67,14 @@ @Resource private UserInfoService userInfoService; - - @Resource - private OrderService orderService; - - @Resource - private ScanHistoryService scanHistoryService; - - @Resource - private ConfigService configService; - - @Resource - private ExtractService extractService; - @Resource private ThreeSaleSerivce threeSaleService; - - @Resource - private ShareService shareService; @Resource private BindingAccountService bindingAccountService; @Resource private UserInfoCountService userInfoCountService; - - @Resource - private UserActiveLogService userActiveLogService; @Resource private ForbiddenUserIdentifyCodeService forbiddenUserIdentifyCodeService; @@ -102,165 +87,25 @@ @Resource private UserRankService userRankService; - + @Resource private UserMoneyDetailService userMoneyDetailService; - @RequestMapping(value = "getUserList", method = RequestMethod.POST) - public void getUserList(int pageIndex, String key, PrintWriter out) { + @Resource + private UserInfoDeleteRecordService userInfoDeleteRecordService; - List<UserInfo> userList = userInfoService.getUserList(pageIndex - 1, key); - int count = userInfoService.getUserCount(key); - - int totalPage = count % Constant.PAGE_SIZE == 0 ? count / Constant.PAGE_SIZE : count / Constant.PAGE_SIZE + 1; - PageEntity pe = new PageEntity(pageIndex, Constant.PAGE_SIZE, count, totalPage); - Map<String, String> map = new HashMap<String, String>(); - map.put("key", key); - pe.setParams(map); - JSONObject data = new JSONObject(); - data.put("pe", pe); - data.put("userList", userList); - out.print(JsonUtil.loadTrueResult(data)); - } + @Resource + private UserAccountService userAccountService; + + @Resource + private UserActiveLogService userActiveLogService; + + @Resource + private UserVIPInfoService userVIPInfoService; + /** - * - * 鏂规硶璇存槑: 涓夌骇鍒嗛攢 - * - * @author mawurui createTime 2018骞�5鏈�21鏃� 涓嬪崍4:55:07 - * @param pageIndex - * @param key - * @param out - */ - @RequestMapping(value = "getThreeSaleList", method = RequestMethod.POST) - public void getThreeSaleList(int pageIndex, String key, PrintWriter out) { - List<ThreeSale> list = threeSaleService.getLastestThreeSaleList(pageIndex, key); - int count = threeSaleService.getLastestThreeSaleCount(key); - - int totalPage = (int) (count % Constant.PAGE_SIZE == 0 ? count / Constant.PAGE_SIZE - : count / Constant.PAGE_SIZE + 1); - PageEntity pe = new PageEntity(pageIndex, Constant.PAGE_SIZE, count, totalPage); - Map<String, String> map = new HashMap<String, String>(); - map.put("key", key); - pe.setParams(map); - JSONObject data = new JSONObject(); - data.put("pe", pe); - data.put("threeSaleList", list); - out.print(JsonUtil.loadTrueResult(data)); - } - - /** - * - * @param pageIndex - * @param type - * 1- 1绾у垎閿� 2-2绾у垎閿� - * @param uid - * @param key - * @param out - */ - @RequestMapping(value = "getThreeSaleDetailList", method = RequestMethod.POST) - public void getThreeSaleDetailList(int pageIndex, int type, long uid, String key, PrintWriter out) { - List<UserInfo> userList = null; - long count = 0; - if (type == 1) { - userList = threeSaleService.getFirstUsers(uid, pageIndex); - count = threeSaleService.getFirstUsersCount(uid); - } else if (type == 2) { - userList = threeSaleService.getSecondUsers(uid, pageIndex); - count = threeSaleService.getSecondUsersCount(uid); - } - - int totalPage = (int) (count % Constant.PAGE_SIZE == 0 ? count / Constant.PAGE_SIZE - : count / Constant.PAGE_SIZE + 1); - PageEntity pe = new PageEntity(pageIndex, Constant.PAGE_SIZE, count, totalPage); - Map<String, String> map = new HashMap<String, String>(); - map.put("key", key); - pe.setParams(map); - JSONObject data = new JSONObject(); - data.put("pe", pe); - data.put("userList", userList); - out.print(JsonUtil.loadTrueResult(data)); - } - - @RequestMapping(value = "getUserListByUid", method = RequestMethod.POST) - public void getUserListByUid(long uid, PrintWriter out) { - - List<UserInfo> userList = userInfoService.getUserListByUid(uid); - int count = userList.size(); - - int totalPage = count % Constant.PAGE_SIZE == 0 ? count / Constant.PAGE_SIZE : count / Constant.PAGE_SIZE + 1; - PageEntity pe = new PageEntity(1, Constant.PAGE_SIZE, count, totalPage); - Map<String, String> map = new HashMap<String, String>(); - pe.setParams(map); - JSONObject data = new JSONObject(); - data.put("pe", pe); - data.put("userList", userList); - out.print(JsonUtil.loadTrueResult(data)); - } - - /** - * - * 鏂规硶璇存槑: 鏌ヨ鐢ㄦ埛璁㈠崟鐘舵�� - * - * @author mawurui createTime 2018骞�5鏈�17鏃� 涓婂崍10:55:41 - * @param pageIndex - * @param uid - * @param out - */ - @RequestMapping(value = "getUserOrderList", method = RequestMethod.POST) - public void getUserOrderList(int pageIndex, long uid, PrintWriter out) { - List<Order> orderList = orderService.getOrderByUid(pageIndex - 1, uid); - int count = orderService.getCount(uid); - int totalPage = count % Constant.PAGE_SIZE == 0 ? count / Constant.PAGE_SIZE : count / Constant.PAGE_SIZE + 1; - PageEntity pe = new PageEntity(pageIndex, Constant.PAGE_SIZE, count, totalPage); - JSONObject data = new JSONObject(); - data.put("pe", pe); - data.put("orderList", JsonUtil.getSimpleGsonWithDateAndSerialization().toJson(orderList)); - out.print(JsonUtil.loadTrueResult(data)); - } - - - /** - * - * 鏂规硶璇存槑: 娓呴櫎鐢ㄦ埛鎵嬪娍瀵嗙爜 - * - * @author mawurui createTime 2018骞�5鏈�4鏃� 涓嬪崍4:47:29 - * @param uid - * @param out - */ - @RequestMapping(value = "cleanPassword", method = RequestMethod.POST) - public void cleanPassword(long id, PrintWriter out) { - userInfoService.cleanPassword(id); - out.print(JsonUtil.loadTrueResult("娓呴櫎鎴愬姛")); - } - - @RequestMapping(value = "getScanHistoryList", method = RequestMethod.POST) - public void getScanHistoryList(int pageIndex, long uid, PrintWriter out) { - List<ScanHistory> scanHistoryList = scanHistoryService.getScanHistoryByUid(pageIndex - 1, uid); - int count = scanHistoryService.getCountByUid(uid); - int totalPage = count % Constant.PAGE_SIZE == 0 ? count / Constant.PAGE_SIZE : count / Constant.PAGE_SIZE + 1; - PageEntity pe = new PageEntity(pageIndex, Constant.PAGE_SIZE, count, totalPage); - JSONObject data = new JSONObject(); - data.put("pe", pe); - data.put("scanHistoryList", GsonUtil.toDFJson(scanHistoryList)); - out.print(JsonUtil.loadTrueResult(data)); - } - - @RequestMapping(value = "getAssets", method = RequestMethod.POST) - public void getAssets(PrintWriter out) { - String minMoney = configService.get(Constant.EXTRACT_MIN_MONEY); - double min = Double.parseDouble(minMoney); - double freeze = userInfoService.getFreezeAssets(min); - double canAssets = userInfoService.getCanAssets(min); - JSONObject data = new JSONObject(); - data.put("freeze", freeze); - data.put("can", canAssets); - out.print(JsonUtil.loadTrueResult(data)); - } - - - /** - * 鏌ヨ鐢ㄦ埛淇℃伅鍒楄〃 姝e父鐢ㄦ埛/寮傚父鐢ㄦ埛 + * 鏌ヨ鐢ㄦ埛淇℃伅鍒楄〃 姝e父鐢ㄦ埛/寮傚父鐢ㄦ埛 * * @param callback * @param pageIndex @@ -287,7 +132,7 @@ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛绫诲瀷type涓嶈兘涓虹┖")); return; } - + if (pageIndex == null) pageIndex = 1; @@ -443,7 +288,6 @@ } } - /** * * @param data @@ -459,15 +303,15 @@ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("娌℃湁鍙洿鏀圭殑鍐呭")); return; } - + Gson gson = new Gson(); - List<Integer> list = gson.fromJson(typeArray, new TypeToken<ArrayList<Integer>>() {}.getType()); + 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; @@ -475,12 +319,11 @@ UserInfo find = userInfoService.getUserById(uid); if (find == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鐢ㄦ埛锛�")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛琚皝绂佹垨涓嶅瓨鍦�")); return; } - - - for (Integer type: list) { + + for (Integer type : list) { String openid = find.getOpenid(); String wxUnionId = find.getWxUnionId(); String phone = find.getPhone(); @@ -507,7 +350,8 @@ } } else if (4 == type) { // 鏌ヨ鏀粯瀹濈粦瀹� - BindingAccount account = bindingAccountService.getBindingAccountByUidAndType(uid, BindingAccount.TYPE_ALIPAY); + BindingAccount account = bindingAccountService.getBindingAccountByUidAndType(uid, + BindingAccount.TYPE_ALIPAY); if (account == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳墠鐢ㄦ埛鏈粦瀹氭敮浠樺疂锛�")); return; @@ -521,6 +365,239 @@ } JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("瑙g粦鎴愬姛")); + } catch (Exception e) { + e.printStackTrace(); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + } + } + + + + /** + * 淇敼鐢ㄦ埛澶囨敞 + * @param callback + * @param uid + * @param mark + * @param out + */ + @RequestMapping("addUserMark") + public void addUserMark(String callback, Long uid, String mark, PrintWriter out) { + try { + if (uid == null || uid <= 0 || StringUtil.isNullOrEmpty(mark)) + return; + UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); + if (userInfoExtra == null) + return; + UserInfoExtra updateExtra = new UserInfoExtra(); + updateExtra.setId(userInfoExtra.getId()); + updateExtra.setMark(mark); + userInfoExtraService.saveUserInfoExtra(updateExtra); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 鍒犻櫎鐢ㄦ埛-鏀瑰彉鍏剁姸鎬� + * @param callback + * @param idArray + * @param out + */ + @RequestMapping(value = "deleteUser") + public void delete(String callback, String idArray, HttpServletRequest request, PrintWriter out) { + try { + + AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); + if (admin == null) { + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("褰撳墠璐︽埛澶辨晥,璇烽噸鏂扮櫥闄嗐��"))); + return; + } + + if (StringUtil.isNullOrEmpty(idArray)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨鎿嶄綔鐨勬暟鎹�")); + return; + } + + Gson gson = new Gson(); + List<Long> list = gson.fromJson(idArray, new TypeToken<ArrayList<Long>>() {}.getType()); + if (list == null || list.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈娴嬪埌鍒犻櫎鐨勬暟鎹�")); + return; + } + + for (Long id: list) { + UserInfo user = new UserInfo(id); + user.setState(UserInfo.STATE_DELETE); + user.setStateDesc(admin.getId()+" " + admin.getName()+ "鍚庡彴鎵嬪姩鍒犻櫎"); + userInfoService.updateByPrimaryKeySelective(user); + } + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎴愬姛鍒犻櫎")); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒犻櫎澶辫触")); + e.printStackTrace(); + } + } + + + + /** + * 灏佺鐢ㄦ埛ID + * + * @param callback + * @param uid + * @param out + */ + @RequestMapping(value = "forbiddenUser") + public void forbiddenUser(String callback, Long uid, HttpServletRequest request, PrintWriter out) { + try { + + if (uid == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); + return; + } + + 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(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(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 callback + * @param id + * @param out + */ + @RequestMapping(value = "deleteThreeSale") + public void deleteThreeSale(String callback, Long id, PrintWriter out) { + try { + + if (id == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); + return; + } + + int count = threeSaleService.deleteByPrimaryKey(id); + + if (count > 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鍒犻櫎鎴愬姛")); + } else { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒犻櫎澶辫触")); + } } catch (Exception e) { e.printStackTrace(); @@ -650,29 +727,6 @@ } } - @RequestMapping(value = "deleteThreeSale") - public void deleteThreeSale(String callback, Long id, PrintWriter out) { - try { - - if (id == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); - return; - } - - int count = threeSaleService.deleteByPrimaryKey(id); - - if (count > 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鍒犻櫎鎴愬姛")); - } else { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒犻櫎澶辫触")); - } - - } catch (Exception e) { - e.printStackTrace(); - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - } - } - /** * 闃熷憳鍏崇郴 * @@ -794,7 +848,6 @@ } try { - List<UserMoneyDetail> userMoneyDetailsList = userMoneyDetailService.listByUidWithState(uid, pageIndex, pageSize); if (userMoneyDetailsList == null || userMoneyDetailsList.size() == 0) { @@ -802,18 +855,15 @@ return; } - List<AccountDetails> detailList = new ArrayList<>(); - for (UserMoneyDetail detail : userMoneyDetailsList) - detailList.add(AccountDetailsFactory.create(detail)); - long count = userMoneyDetailService.countByUidWithState(uid); int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); + Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create(); JSONObject data = new JSONObject(); data.put("pe", pe); - data.put("result_list", GsonUtil.toJsonExpose(detailList)); + data.put("result_list", gson.toJson(userMoneyDetailsList)); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); @@ -894,7 +944,7 @@ JSONArray line_list = new JSONArray(); for (String channel : channelList) { - List<Map<String, Object>> list = userInfoCountService.countNewUserByDate(channel, dateType, year, + List<ChartTDO> list = userInfoCountService.countNewUserByDate(channel, dateType, year, startTime, endTime); if ("all".equalsIgnoreCase(channel)) { @@ -1012,7 +1062,7 @@ JSONArray line_list = new JSONArray(); for (String channel : channelList) { - List<Map<String, Object>> list = userInfoCountService.getTodayBuyRate(channel, dateType, year, + List<ChartTDO> list = userInfoCountService.getTodayBuyRate(channel, dateType, year, startTime, endTime); if ("all".equalsIgnoreCase(channel)) { @@ -1126,184 +1176,257 @@ } - /** - * 灏佺鐢ㄦ埛ID + * 鑾峰彇閲戝竵鎺掕姒� * @param callback - * @param uid + * @param pageIndex + * @param pageSize + * @param type * @param out */ - @RequestMapping(value = "forbiddenUser") - public void forbiddenUser(String callback, Long uid, PrintWriter out) { + @RequestMapping(value = "getGoldTop") + public void getGoldTop(String callback, Integer pageIndex, Integer pageSize, Integer type, String key, + PrintWriter out) { + if (type == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("type涓嶈兘涓虹┖")); + 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)); + } + + + /** + * 璁″綋澶╂椿璺冪敤鎴蜂腑鏈夊灏戜釜鐢ㄦ埛鏄�90澶╁墠鎵嶆椿璺冭繃锛屾湡闂翠粠鏈椿璺冪殑鐢ㄦ埛鏁伴噺 + * @param callback + * @param dateType + * @param year + * @param startTime + * @param endTime + * @param out + */ + @RequestMapping(value = "getUserActiveCharts") + public void getUserActiveCharts(String callback, Integer dateType, String year, String startTime, + String endTime, PrintWriter out){ try { - - if (uid == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); + String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime); + if (validateMsg != null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg)); return; } - - UserInfo currentInfo = userInfoService.selectByPKey(uid); - if (currentInfo == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ョ敤鎴峰凡涓嶅瓨鍦�")); - return; - } - - currentInfo.setState(UserInfo.STATE_FORBIDDEN); - currentInfo.setStateDesc("绠$悊鍛樺皝绂�"); - userInfoService.updateByPrimaryKeySelective(currentInfo); - // 鍔犲叆灏佺鐨勮处鍙峰垪琛� - ForbiddenUserIdentifyCode forbiddenUserIdentifyCode = new ForbiddenUserIdentifyCode(); - forbiddenUserIdentifyCode.setType(ForbiddenUserIdentifyCodeTypeEnum.wxUnionId); - forbiddenUserIdentifyCode.setIdentifyCode(currentInfo.getWxUnionId()); - forbiddenUserIdentifyCode.setBeiZhu(currentInfo.getWxName()); - try { - forbiddenUserIdentifyCodeService.forbiddenIdentifyCode(forbiddenUserIdentifyCode); - } catch (ForbiddenUserIdentifyCodeException e) { - e.printStackTrace(); + if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) { + startTime = null; + endTime = null; } - // 鐢佃瘽鍙风爜 - forbiddenUserIdentifyCode = new ForbiddenUserIdentifyCode(); - forbiddenUserIdentifyCode.setType(ForbiddenUserIdentifyCodeTypeEnum.phone); - forbiddenUserIdentifyCode.setIdentifyCode(currentInfo.getPhone()); - try { - forbiddenUserIdentifyCodeService.forbiddenIdentifyCode(forbiddenUserIdentifyCode); - } catch (ForbiddenUserIdentifyCodeException e) { - e.printStackTrace(); - } - - // 娣樺疂 - UserExtraTaoBaoInfo taoBao = userExtraTaoBaoInfoService.getByUid(uid); - if (taoBao != null && !StringUtil.isNullOrEmpty(taoBao.getTaoBaoUid())) { - forbiddenUserIdentifyCode = new ForbiddenUserIdentifyCode(); - forbiddenUserIdentifyCode.setType(ForbiddenUserIdentifyCodeTypeEnum.taobaoUid); - forbiddenUserIdentifyCode.setIdentifyCode(taoBao.getTaoBaoUid()); - try { - forbiddenUserIdentifyCodeService.forbiddenIdentifyCode(forbiddenUserIdentifyCode); - } catch (ForbiddenUserIdentifyCodeException e) { - e.printStackTrace(); + + 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(); } - - // 鏌ヨ鏀粯瀹濈粦瀹� - - List<BindingAccount> list = bindingAccountService.getBindingAccountByUid(uid); - if (list != null) { - for (BindingAccount ba : list) { - forbiddenUserIdentifyCode = new ForbiddenUserIdentifyCode(); - forbiddenUserIdentifyCode.setType(ForbiddenUserIdentifyCodeTypeEnum.alipayAccount); - forbiddenUserIdentifyCode.setIdentifyCode(ba.getAccount()); - forbiddenUserIdentifyCode.setBeiZhu(ba.getName()); - try { - forbiddenUserIdentifyCodeService.forbiddenIdentifyCode(forbiddenUserIdentifyCode); - } catch (ForbiddenUserIdentifyCodeException e) { - e.printStackTrace(); + Gson gson = new Gson(); + List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year); + + List<Object> list = new ArrayList<>(); + List<UserActiveNumHistory> listHistory = userActiveLogService.query(beginDate, endDate); + for (String date: dateList) { + ChartTDO chartTDO = new ChartTDO(); + chartTDO.setShowDate(date); + int value = 0; + + if (listHistory != null) { + for (UserActiveNumHistory 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.equalsIgnoreCase(date)) { + value += history.getNum(); + continue; + } + } else if (dateType == 3) { + String gernalTime = TimeUtil.getYearOnlyYYYY(history.getDay()); + if (gernalTime.equalsIgnoreCase(date)) { + value += history.getNum(); + continue; + } + } } } + + chartTDO.setShowValue(value + ""); + list.add(value + ""); } - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鐢ㄦ埛灏佺鎴愬姛")); + JSONObject innerList = new JSONObject(); + innerList.put("name", "鏁伴噺"); + innerList.put("data", gson.toJson(list)); + + JSONArray line_list = new JSONArray(); + 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(); - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); } } /** - * 瑙i櫎灏佺鐢ㄦ埛ID + * * @param callback - * @param uid + * @param pageIndex + * @param pageSize + * @param key 鎼滅储锛氭殏鍙彁渚泆id + * @param state 鐘舵�侊細 * @param out */ - @RequestMapping(value = "relieveForbiddenUser") - public void relieveForbiddenUser(String callback, Long uid, PrintWriter out) { + @RequestMapping(value = "queryVip") + public void queryVip(String callback, Integer pageIndex, Integer pageSize, String key, Integer state, 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(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("鍙傛暟涓嶈兘涓虹┖")); + List<UserVIPInfo> list = userVIPInfoService.listQuery(pageIndex, pageSize, key, state); + if (list == null || list.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); return; } - forbiddenUserIdentifyCodeService.saveForbiddenInfo(code, type); - - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇敼鎴愬姛")); + 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); - } catch (ForbiddenUserIdentifyCodeException e) { - e.printStackTrace(); - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); + 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) { - e.printStackTrace(); JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); + } + } + + + + /** + * 瓒呯骇浼氬憳鍗囩骇閫氳繃 + * @param callback + * @param id + * @param out + * @param request + */ + @RequestSerializableByKey(key = "'passVIP-' +#id") + @RequestMapping(value = "passVIP") + public void passVIP(String callback, Long id, PrintWriter out, HttpServletRequest request) { + try { + /* 妫�楠屾槸鍚︾櫥闄� */ + AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); + if (admin == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳墠璐︽埛澶辨晥,璇烽噸鏂扮櫥闄嗐��")); + return; + } + userVIPInfoService.passVIPApply(id); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); + LogHelper.userInfo("[ip:" + IPUtil.getRemotIP(request) + "]" + admin.getName() + "閫氳繃浜哰id=" + id + "]鐨勫崌绾ц秴绾т細鍛樼敵璇�!"); + } catch (UserVIPInfoException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); + return; + } catch (Exception e) { + e.printStackTrace(); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); + return; } } + + /** + * 瓒呯骇浼氬憳鍗囩骇鎷掔粷 + * @param callback + * @param id + * @param reason + * @param out + * @param request + */ + + @RequestMapping(value = "rejectVIP") + public void rejectVIP(String callback, Long id, String reason, PrintWriter out, HttpServletRequest request) { + try { + /* 妫�楠屾槸鍚︾櫥闄� */ + AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); + if (admin == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳墠璐︽埛澶辨晥,璇烽噸鏂扮櫥闄�")); + return; + } + userVIPInfoService.rejectVIPApply(id, reason); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎷掔粷鎴愬姛")); + LogHelper.userInfo("[ip:" + IPUtil.getRemotIP(request) + "][绠$悊鍛�:" + admin.getName() + "] 鎷掔粷鎻愮幇id=" + id + "鐨勫崌绾ц秴绾т細鍛樼敵璇蜂笉瀛樺湪!"); + } catch (UserVIPInfoException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); + return; + } catch (Exception e) { + e.printStackTrace(); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); + return; + } + } + } -- Gitblit v1.8.0