From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 20 五月 2020 17:25:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2 --- fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java | 2055 ++++++++++++++++++++++++++++------------------------------ 1 files changed, 986 insertions(+), 1,069 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 aee302a..9280dad 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java @@ -1,68 +1,72 @@ package com.yeshi.fanli.controller.admin; -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStream; import java.io.PrintWriter; +import java.lang.reflect.Type; 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.HttpServletResponse; +import javax.servlet.http.HttpServletRequest; -import net.sf.json.JSONArray; -import net.sf.json.JSONObject; - -import org.apache.poi.hssf.usermodel.HSSFWorkbook; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.Workbook; -import org.apache.poi.ss.util.CellRangeAddress; 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.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.entity.admin.UserInfoAdmin; -import com.yeshi.fanli.entity.bus.user.AccountDetails; -import com.yeshi.fanli.entity.bus.user.Extract; -import com.yeshi.fanli.entity.bus.user.HongBao; -import com.yeshi.fanli.entity.bus.user.MoneyRecord; -import com.yeshi.fanli.entity.bus.user.Order; +import com.yeshi.fanli.controller.admin.utils.AdminUtils; +import com.yeshi.fanli.dto.ChartTDO; +import com.yeshi.fanli.entity.admin.count.CountUserInfo; +import com.yeshi.fanli.entity.bus.user.BindingAccount; +import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode; +import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode.ForbiddenUserIdentifyCodeTypeEnum; import com.yeshi.fanli.entity.bus.user.ThreeSale; +import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo; import com.yeshi.fanli.entity.bus.user.UserInfo; -import com.yeshi.fanli.entity.taobao.PidOrder; -import com.yeshi.fanli.entity.taobao.ScanHistory; -import com.yeshi.fanli.service.inter.config.ConfigService; +import com.yeshi.fanli.entity.bus.user.UserInfoExtra; +import com.yeshi.fanli.entity.bus.user.UserRank; +import com.yeshi.fanli.entity.bus.user.vip.UserVIPInfo; +import com.yeshi.fanli.entity.common.AdminUser; +import com.yeshi.fanli.entity.integral.IntegralDetail; +import com.yeshi.fanli.entity.money.UserMoneyDetail; +import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum; +import com.yeshi.fanli.exception.user.ForbiddenUserIdentifyCodeException; +import com.yeshi.fanli.exception.user.vip.UserVIPInfoException; +import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.count.UserInfoCountService; -import com.yeshi.fanli.service.inter.goods.ShareService; -import com.yeshi.fanli.service.inter.hongbao.HongBaoService; -import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce; -import com.yeshi.fanli.service.inter.order.OrderItemServcie; -import com.yeshi.fanli.service.inter.order.OrderService; -import com.yeshi.fanli.service.inter.order.PidOrderService; -import com.yeshi.fanli.service.inter.user.AccountDetailsService; -import com.yeshi.fanli.service.inter.user.BindingAccountService; -import com.yeshi.fanli.service.inter.user.ExtractService; -import com.yeshi.fanli.service.inter.user.MoneyRecordService; -import com.yeshi.fanli.service.inter.user.ScanHistoryService; +import com.yeshi.fanli.service.inter.money.UserMoneyDetailService; +import com.yeshi.fanli.service.inter.money.extract.BindingAccountService; +import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService; +import com.yeshi.fanli.service.inter.user.UserAccountService; import com.yeshi.fanli.service.inter.user.UserActiveLogService; +import com.yeshi.fanli.service.inter.user.UserInfoDeleteRecordService; +import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.service.inter.user.UserInfoService; +import com.yeshi.fanli.service.inter.user.UserRankService; +import com.yeshi.fanli.service.inter.user.integral.IntegralDetailService; +import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; +import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; +import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService; import com.yeshi.fanli.tag.PageEntity; import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.GsonUtil; -import com.yeshi.fanli.util.HongBaoUtil; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TimeUtil; +import com.yeshi.fanli.util.annotation.RequestSerializableByKey; +import com.yeshi.fanli.vo.user.UserGoldCoinVO; +import com.yeshi.fanli.vo.user.UserInfoVO; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; @Controller @RequestMapping("admin/new/api/v1/user") @@ -71,561 +75,73 @@ private UserInfoService userInfoService; @Resource - private MoneyRecordService moneyRecordService; - - @Resource - private OrderService orderService; - - @Resource - private ScanHistoryService scanHistoryService; - - @Resource - private ConfigService configService; - - @Resource - private HongBaoService hongBaoService; - - @Resource - private ExtractService extractService; - - @Resource private ThreeSaleSerivce threeSaleService; @Resource - private OrderItemServcie orderItemService; - - @Resource - private ShareService shareService; - - @Resource - private PidOrderService pidOrderService; - - @Resource - private AccountDetailsService accountDetailsService; - - @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; - - @RequestMapping(value = "getUserList", method = RequestMethod.POST) - public void getUserList(int pageIndex, String key, PrintWriter out) { - - 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)); - } - - /** - * - * 鏂规硶璇存槑: 涓夌骇鍒嗛攢 - * - * @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)); - } - - /** - * - * 鏂规硶璇存槑: 鏌ヨ鎵�鏈夌敤鎴峰垎浜禋鍒楄〃 - * - * @author mawurui createTime 2018骞�4鏈�24鏃� 涓嬪崍3:37:13 - * @param pageIndex - * @param uid - * @param out - */ - @RequestMapping(value = "getShareMoneyList", method = RequestMethod.POST) - public void getShareList(int pageIndex, PrintWriter out, String key) { - - // int totalCount = shareService.getShareMoneyCount(); - // PageEntity pageEntity = new PageEntity(); - // pageEntity.setPageIndex(pageIndex); - // pageEntity.setPageSize(Constant.PAGE_SIZE); - // pageEntity.setTotalCount(totalCount); - - int count = shareService.getCountByKey(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); - - List<PidOrder> shareMoneyList = shareService.getShareMoneyList(pageIndex, key); - JSONObject data = new JSONObject(); - data.put("pageEntity", pe); - data.put("shareMoneyList", JsonUtil.getSimpleGsonWithDate().toJson(shareMoneyList)); - 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)); - } - - @RequestMapping(value = "getMoneyRecordList", method = RequestMethod.POST) - public void getMoneyRecordList(int pageIndex, long uid, PrintWriter out) { - List<MoneyRecord> moneyRecordList = moneyRecordService.getMoneyRecord(uid, pageIndex - 1); - if (moneyRecordList != null) - for (MoneyRecord mr : moneyRecordList) { - mr.setExtract(null); - mr.setUserInfo(null); - mr.setHongBao(null); - } - - int count = moneyRecordService.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("moneyRecordList", GsonUtil.toJsonExpose(moneyRecordList)); - out.print(JsonUtil.loadTrueResult(data)); - } - - /** - * - * 鏂规硶璇存槑: 鏌ヨ鐢ㄦ埛-绾㈠寘璇︽儏鍒楄〃 - * - * @author mawurui createTime 2018骞�5鏈�10鏃� 涓婂崍11:48:58 - * @param pageIndex - * @param uid - * @param out - */ - @RequestMapping(value = "getHongBaoList", method = RequestMethod.POST) - public void getHongBaoList(int pageIndex, long uid, PrintWriter out) { - JSONObject data = new JSONObject(); - List<HongBao> list = hongBaoService.getHongBaoList(pageIndex, uid); - if (list.size() != 0 || list != null) { - for (HongBao hb : list) { - int hbType = hb.getType(); - if (hbType == HongBao.TYPE_SHARE_GOODS) { // type == 20 - Long hongbaoId = hb.getId(); - PidOrder pidOrder = pidOrderService.getPidOrderByHongBaoId(hongbaoId); - Order order = new Order(); - order.setThirdCreateTime(pidOrder.getOrderCreateTime()); - order.setOrderId(pidOrder.getOrderId()); - order.setThirdState(pidOrder.getState()); - order.setMoney(pidOrder.getPayMoney()); - hb.setOrder(order); - } else if (hbType == HongBao.TYPE_SHARE_YIJI || hbType == HongBao.TYPE_SHARE_ERJI) { - Long hongbaoId = hb.getParent().getId(); - PidOrder pidOrder = pidOrderService.getPidOrderByHongBaoId(hongbaoId); - Order order = new Order(); - order.setThirdCreateTime(pidOrder.getOrderCreateTime()); - order.setOrderId(pidOrder.getOrderId()); - order.setThirdState(pidOrder.getState()); - order.setMoney(pidOrder.getPayMoney()); - hb.setOrder(order); - } else if (hbType == HongBao.TYPE_XINREN) { - Order order = new Order(); - Long createtime = hb.getCreatetime(); - if (createtime != null) { - Date ThirdCreateTime = new Date(createtime); - order.setThirdCreateTime(ThirdCreateTime); - } - - hb.setOrder(order); - - } else if (hb.getParent() != null) { - hb.setOrder(hb.getParent().getOrder()); - } - } - } - int count = hongBaoService.getCount(uid); - PageEntity pe = new PageEntity(); - pe.setPageIndex(pageIndex); - pe.setPageSize(Constant.PAGE_SIZE); - pe.setTotalCount(count); - - data.put("pe", pe); - data.put("list", JsonUtil.getSimpleGsonWithDateAndSerialization().toJson(list)); - out.print(JsonUtil.loadTrueResult(data)); - } - - /** - * - * 鏂规硶璇存槑: 鏌ヨ 鍒嗕韩璧氶〉闈㈠垪琛� - * - * @author mawurui createTime 2018骞�4鏈�16鏃� 涓婂崍9:54:39 - * @param pageIndex - * @param uid - * @param out - */ - @RequestMapping(value = "getShareList", method = RequestMethod.POST) - public void getShareList(int pageIndex, long uid, PrintWriter out) { - int totalCount = shareService.getCount(uid); - PageEntity pageEntity = new PageEntity(); - pageEntity.setPageIndex(pageIndex); - pageEntity.setPageSize(Constant.PAGE_SIZE); - pageEntity.setTotalCount(totalCount); - - List<HongBao> shareList = shareService.getShareList(pageIndex, uid); - if (shareList.size() != 0 || shareList != null) { - for (HongBao hb : shareList) { - int hbType = hb.getType(); - if (hbType == HongBao.TYPE_SHARE_GOODS) { // type == 20 - Long hongbaoId = hb.getId(); - PidOrder pidOrder = pidOrderService.getPidOrderByHongBaoId(hongbaoId); - Order order = new Order(); - order.setThirdCreateTime(pidOrder.getCreateTime()); - order.setThirdState(pidOrder.getState()); - hb.setOrder(order); - } else if (hb.getParent() != null) { - hb.setOrder(hb.getParent().getOrder()); - } - } - } - JSONObject data = new JSONObject(); - data.put("pageEntity", pageEntity); - data.put("shareList", GsonUtil.toJsonExpose(shareList)); - out.print(JsonUtil.loadTrueResult(data)); - } - - /** - * - * 鏂规硶璇存槑: 鏌ヨ 閭�璇疯禋椤甸潰鍒楄〃 - * - * @author mawurui createTime 2018骞�4鏈�16鏃� 涓婂崍9:54:39 - * @param pageIndex - * @param uid - * @param out - */ - @RequestMapping(value = "getInviteList", method = RequestMethod.POST) - public void getInviteList(int pageIndex, long uid, PrintWriter out) { - int totalCount = shareService.getInviteCount(uid); - PageEntity pageEntity = new PageEntity(); - pageEntity.setPageIndex(pageIndex); - pageEntity.setPageSize(Constant.PAGE_SIZE); - pageEntity.setTotalCount(totalCount); - - List<HongBao> inviteList = shareService.getInviteList(pageIndex, uid); - if (inviteList.size() != 0 || inviteList != null) { - for (HongBao hb : inviteList) { - int hbType = hb.getType(); - if (hbType == HongBao.TYPE_SHARE_GOODS) { // type == 20 - Long hongbaoId = hb.getId(); - PidOrder pidOrder = pidOrderService.getPidOrderByHongBaoId(hongbaoId); - Order order = new Order(); - order.setThirdCreateTime(pidOrder.getCreateTime()); - order.setThirdState(pidOrder.getState()); - hb.setOrder(order); - } else if (hb.getParent() != null) { - hb.setOrder(hb.getParent().getOrder()); - } - } - } - - JSONObject data = new JSONObject(); - data.put("pageEntity", pageEntity); - data.put("inviteList", JsonUtil.getSimpleGsonWithDateAndSerialization().toJson(inviteList)); - 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)); - } - - /** - * - * 鏂规硶璇存槑: Excel琛ㄦ牸涓嬭浇 - * - * @author mawurui createTime 2018骞�5鏈�21鏃� 涓嬪崍2:14:44 - * @param uid - * @param response - */ - @SuppressWarnings("unused") - @RequestMapping(value = "downDetailedExcel", produces = { "application/vnd.ms-excel;charset=UTF-8" }) - public void downDetailedExcel(long uid, HttpServletResponse response) { - try { - List<HongBao> list = hongBaoService.getHongBaoListAll(uid); - if (list.size() != 0 || list != null) { - for (HongBao hb : list) { - int hbType = hb.getType(); - if (hbType == HongBao.TYPE_SHARE_GOODS) { // type == 20 - Long hongbaoId = hb.getId(); - PidOrder pidOrder = pidOrderService.getPidOrderByHongBaoId(hongbaoId); - Order order = new Order(); - order.setOrderId(pidOrder.getOrderId()); - order.setMoney(pidOrder.getPayMoney()); - order.setThirdCreateTime(pidOrder.getCreateTime()); - order.setThirdState(pidOrder.getState()); - hb.setOrder(order); - } else if (hbType == HongBao.TYPE_SHARE_ERJI || hbType == HongBao.TYPE_SHARE_YIJI) { // type - // == - Long hongbaoId = hb.getParent().getId(); - PidOrder pidOrder = pidOrderService.getPidOrderByHongBaoId(hongbaoId); - Order order = new Order(); - order.setOrderId(pidOrder.getOrderId()); - order.setMoney(pidOrder.getPayMoney()); - order.setThirdCreateTime(pidOrder.getCreateTime()); - order.setThirdState(pidOrder.getState()); - hb.setOrder(order); - } else if (hb.getParent() != null) { - hb.setOrder(hb.getParent().getOrder()); - } - } - } - - File desc = new File(this.getClass().getResource("/muban.xls").toURI()); - InputStream inStream = new FileInputStream(desc); - Workbook wb = new HSSFWorkbook(inStream); - Sheet sheet = wb.getSheetAt(0); - int i = 1; - for (; i <= list.size(); i++) { - Row row = sheet.createRow(i); - for (int c = 1; c < 10; c++) { - row.createCell(c); - } - Cell cell = row.createCell(1); - HongBao hongBao = list.get(i - 1); - long createtime = hongBao.getCreatetime(); - String create = TimeUtil.getWholeTime(createtime); - cell.setCellValue(create); - - Cell cell2 = row.getCell(2); - String title = HongBaoUtil.getHongBaoTitle(hongBao.getType()); - cell2.setCellValue(title); - - Order order = hongBao.getOrder(); - if (order != null) { - Cell cell3 = row.getCell(3); - Integer orderType = order.getOrderType(); - if (orderType == null) { - orderType = 1; - } - cell3.setCellValue(orderType == 1 ? "娣樺疂" : "鍏朵粬"); - - String orderId = order.getOrderId(); - if (orderId == null) { - orderId = ""; - } - Cell cell4 = row.getCell(4); - cell4.setCellValue(orderId); - - Cell cell5 = row.getCell(5); - // List<Order> - // orderItemService.findByOrderId(order.getId()); - cell5.setCellValue(order.getMoney().doubleValue()); - - Cell cell6 = row.getCell(6); - String stateStr = order.getThirdState(); - cell6.setCellValue(stateStr); - /* - * Cell cell11 = row.getCell(11); //涓嬪崟鏃堕棿 long orderTime = - * order.getCreatetime(); String oTime = - * TimeUtil.getWholeTime(orderTime); - * cell11.setCellValue(oTime); - */ - } else if (order == null) { - Cell cell3 = row.getCell(3); - cell3.setCellValue("娣樺疂"); - - Cell cell4 = row.getCell(4); - cell4.setCellValue(""); - - Cell cell5 = row.getCell(5); - cell5.setCellValue(""); - - Cell cell6 = row.getCell(6); - cell6.setCellValue(""); - } else if (hongBao.getParent() != null) {// 灞炰簬鍒嗛攢绾㈠寘 - String orderId = ""; - if (hongBao.getParent().getParent() != null) { - orderId = hongBao.getParent().getParent().getOrder().getOrderId(); - } else { - orderId = hongBao.getParent().getOrder().getOrderId(); - } - Cell cell4 = row.getCell(4); - cell4.setCellValue(orderId); - } - Cell cell7 = row.getCell(7); - cell7.setCellValue(hongBao.getMoney().doubleValue()); - - Cell cell8 = row.getCell(8); - cell8.setCellValue(HongBaoUtil.convertState(hongBao.getState())); - - Cell cell9 = row.getCell(9); - if (hongBao.getGetTime() != 0) { - cell9.setCellValue(TimeUtil.getWholeTime(hongBao.getGetTime())); - } - } - List<Extract> extractList = extractService.getExtractInfoByUid(uid); - int ii = i; - for (int m = 0; m < extractList.size(); m++, ii++) { - Row row = sheet.createRow(ii); - for (int c = 1; c < 10; c++) { - row.createCell(c); - } - Cell cell = row.getCell(1); - Extract extract = extractList.get(m); - cell.setCellValue(TimeUtil.getWholeTime(extract.getExtractTime())); - Cell cell2 = row.getCell(2); - cell2.setCellValue("鎻愮幇"); - Cell cell7 = row.getCell(7); - cell7.setCellValue(-extract.getMoney().doubleValue()); - } - CellRangeAddress cellRangeAddress = new CellRangeAddress(0, sheet.getLastRowNum(), 1, 9); - sheet.setAutoFilter(cellRangeAddress); - wb.write(response.getOutputStream()); - } catch (Exception e) { - e.printStackTrace(); - } - } + @Resource + private UserVIPInfoService userVIPInfoService; + + @Resource + private IntegralDetailService integralDetailService; + /** - * 鏌ヨ鐢ㄦ埛淇℃伅鍒楄〃--鐩稿叧鏁版嵁缁熻 + * 鏌ヨ鐢ㄦ埛淇℃伅鍒楄〃 姝e父鐢ㄦ埛/寮傚父鐢ㄦ埛 + * * @param callback * @param pageIndex - * @param key 鏌ヨ鏉′欢 - * @param userType 鐢ㄦ埛绫诲瀷锛氶噾鍐犮�侀摱鍐犮�侀摐鍐� - * @param days 鏌ヨ澶╂暟 - * @param startTime 娉ㄥ唽鏃堕棿 - * @param endTime 娉ㄥ唽鏃堕棿 - * @param orderMode 鎺掑簭鏂瑰紡 璁㈠崟鏁伴噺 浠婃棩璁㈠崟 绱闃熷憳 + * @param key + * 鏌ヨ鏉′欢 + * @param userType + * 鐢ㄦ埛绫诲瀷锛氶噾鍐犮�侀摱鍐犮�侀摐鍐� + * @param days + * 鏌ヨ澶╂暟 + * @param startTime + * 娉ㄥ唽鏃堕棿 + * @param endTime + * 娉ㄥ唽鏃堕棿 + * @param orderMode + * 鎺掑簭鏂瑰紡 璁㈠崟鏁伴噺 浠婃棩璁㈠崟 绱闃熷憳 * @param out */ @RequestMapping(value = "query") - public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer userType, - Integer days, String startTime, String endTime, Integer orderMode, PrintWriter out) { - + public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer keyType, Integer rank,Integer userType, + Integer days, String startTime, String endTime, Integer orderMode, Integer type,String level, + Integer activeCode, PrintWriter out) { try { - - // 缁撴潫鏃堕棿 2018-06-06 00:00:00 鍔犱笂涓�澶� - if (!StringUtil.isNullOrEmpty(endTime)) { - - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - Date enddate = sdf.parse(endTime); - Calendar c = Calendar.getInstance(); - c.setTime(enddate); - c.add(Calendar.DAY_OF_MONTH, 1);// 浠婂ぉ+1澶� - endTime = sdf.format(c.getTime()); + if (type == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛绫诲瀷type涓嶈兘涓虹┖")); + return; } if (pageIndex == null) @@ -633,33 +149,50 @@ if (pageSize == null) pageSize = Constant.PAGE_SIZE; - + Integer orderField = null; if (orderMode != null) { - if (orderMode == 1 || orderMode == 2){ + if (orderMode == 1 || orderMode == 2) { orderField = orderMode; orderMode = 1; - } else if (orderMode == 3 || orderMode == 4){ + } else if (orderMode == 3 || orderMode == 4) { orderField = orderMode; orderMode = 2; - } else if (orderMode == 5 || orderMode == 6){ + } else if (orderMode == 5 || orderMode == 6) { orderField = orderMode; orderMode = 3; } } - - List<UserInfoAdmin> userList = userInfoService.query((pageIndex - 1) * pageSize, pageSize, - key, userType, days, startTime, endTime,orderField, orderMode); + String userRank = null; + if (rank != null) { + switch (rank) { + case 1: + userRank = "闈掗摐"; + break; + case 2: + userRank = "鐧介摱"; + break; + case 3: + userRank = "榛勯噾"; + break; + case 4: + userRank = "閾傞噾"; + break; + default: + break; + } + } + + List<UserInfoVO> userList = userInfoService.query((pageIndex - 1) * pageSize, pageSize, type, key, keyType, + userRank, days, startTime, endTime, orderField, orderMode,userType, level, activeCode); if (userList == null || userList.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鐩稿叧鏁版嵁")); return; } - - //double sumMoney = userInfoService.querySumMoney(key, userType, days, startTime, endTime); - - long count = userInfoService.queryCount(key, userType, days, startTime, endTime); + + long count = userInfoService.queryCount(type, key, keyType, userRank, days, startTime, endTime,userType, level, activeCode); int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); @@ -670,153 +203,98 @@ JSONObject data = new JSONObject(); data.put("pe", pe); - //data.put("sumMoney", sumMoney); data.put("resultList", gson.toJson(userList)); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (Exception e) { e.printStackTrace(); JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); } } - + /** * 缁熻浠婃棩鐢ㄦ埛鎬绘儏鍐� + * * @param callback * @param out */ @RequestMapping(value = "countInfo") public void countInfo(String callback, PrintWriter out) { try { - // 鎬荤敤鎴� - long countTotal = userInfoCountService.countNewUser(null, null); - // 浠婃棩鏂板 - long countToday = userInfoCountService.countNewUser(1, null); - // 鏈湀鏂板 - long countMonth = userInfoCountService.countNewUser(null, 1); - + + // 绱鐢ㄦ埛鏁伴噺 + long totalUser = userInfoCountService.countNewUser(null, null); + // 娴佸け鐢ㄦ埛鏁伴噺锛�180澶╂湭浣跨敤鐧诲綍骞朵笖鏃犱换浣曡祫閲戞祦鍔ㄧ殑璐﹀彿鏁伴噺锛� + long loseUser = userInfoCountService.countLoseUser(180); + // 绱鏈夎喘涔扮敤鎴锋暟 + long orderUser = userInfoCountService.countHasOrderUser(); + // 鎬绘暟-鏅�氱敤鎴� - long countNormal = userInfoCountService.countRank(0); + long countNormal = 0; // 鎬绘暟-閾滅敤鎴� - long countCuprum = userInfoCountService.countRank(1); + long countCuprum = 0; // 鎬绘暟-閾剁敤鎴� - long countSilver = userInfoCountService.countRank(2); + long countSilver = 0; // 鎬绘暟-閲戠敤鎴� - long countGold = userInfoCountService.countRank(3); - - // 缁熻鎵�鏈夋�婚噾棰� - double countTotalMoney = userInfoCountService.countAllMoney(null); - - // 缁熻鎵�鏈夊彲鎻愮幇閲戦 - String minMoney = configService.get(Constant.EXTRACT_MIN_MONEY); - if (minMoney == null) - minMoney = "20"; - - double min = Double.parseDouble(minMoney); - double countCanAssets = userInfoCountService.countAllMoney(min); - + 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("countTotal", countTotal); - data.put("countToday", countToday); - data.put("countMonth", countMonth); + 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); - data.put("countTotalMoney", countTotalMoney); - data.put("countCanAssets", countCanAssets); - + + /* + * // 缁熻鎵�鏈夋�婚噾棰� 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 callback - * @param userInfo - * @param out - */ - @RequestMapping(value = "setInfo") - public void setInfo(String callback, UserInfo userInfo, PrintWriter out) { - try { - - Long id = userInfo.getId(); - - if (id == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); - return; - } - - UserInfo currentInfo = userInfoService.selectByPKey(id); - if (currentInfo == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ョ敤鎴峰凡涓嶅瓨鍦�")); - return; - } - - boolean hasChange = false; - - // 绛夌骇淇敼 - Integer rank = userInfo.getRank(); - if (rank != null) { - hasChange = true; - currentInfo.setRank(rank); - } - - // 鐘舵�佷慨鏀� - Integer state = userInfo.getState(); - if (state != null) { - hasChange = true; - currentInfo.setState(state); - } - - if (hasChange) { - userInfoService.updateByPrimaryKeySelective(currentInfo); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("淇敼鎴愬姛")); - } else { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏃犲彲淇敼鍐呭")); - } - - } catch (Exception e) { - e.printStackTrace(); - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇敼澶辫触")); - } - } - - /** - * 鍒犻櫎缁戝畾鐨勮处鎴蜂俊鎭細 鏀粯瀹� 寰俊 - * @param callback - * @param bindId - * @param out - */ - @RequestMapping(value = "deleteBindingAccount") - public void deleteBindingAccount(String callback, Long bindId, PrintWriter out) { - try { - if (bindId == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); - return; - } - - int count = bindingAccountService.deleteByPrimaryKey(bindId); - - 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("鎿嶄綔寮傚父")); - } - } - /** * * @param data @@ -826,55 +304,74 @@ * 闇�瑕佽В缁戠殑璐︽埛绫诲瀷 */ @RequestMapping("unBindUserInfo") - public void unBindUserInfo(String callback, Long id, Integer type, PrintWriter out) { + public void unBindUserInfo(String callback, Long uid, String typeArray, PrintWriter out) { try { - - if (id == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鐢ㄦ埛锛�")); + if (typeArray == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("娌℃湁鍙洿鏀圭殑鍐呭")); return; } - - if (type == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璐︽埛绫诲瀷涓嶅彲涓虹┖锛�")); + 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; } - - UserInfo find = userInfoService.getUserById(id); + 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("涓嶅瓨鍦ㄨ鐢ㄦ埛锛�")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛琚皝绂佹垨涓嶅瓨鍦�")); return; } - 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("褰撳墠鐢ㄦ埛鏈粦瀹氭敮浠樺疂锛�")); + 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; } - } else if (2 == type) { - if (StringUtil.isNullOrEmpty(wxUnionId)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳墠鐢ㄦ埛鏈粦瀹氬井淇★紒")); - return; - } - } else if (3 == type) { - if (StringUtil.isNullOrEmpty(phone)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳墠鐢ㄦ埛鏈粦瀹氭墜鏈哄彿锛�")); - return; - } - } else { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璐︽埛绫诲瀷鏈夎锛�")); - return; } - - userInfoService.deleteBindInfo(find, type); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("瑙g粦鎴愬姛")); - } catch (Exception e) { e.printStackTrace(); JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); @@ -883,159 +380,204 @@ - @RequestMapping(value = "queryMyFirstTeams") - public void queryMyFirstTeams(String callback, Integer pageIndex, Integer pageSize, String key, - Long bossId, PrintWriter out) { + /** + * 淇敼鐢ㄦ埛澶囨敞 + * @param callback + * @param uid + * @param mark + * @param out + */ + @RequestMapping("addUserMark") + public void addUserMark(String callback, Long uid, String mark, PrintWriter out) { try { - - if (bossId == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); + if (uid == null || uid <= 0 || StringUtil.isNullOrEmpty(mark)) return; - } - - if (pageIndex == null) - pageIndex = 1; - - if (pageSize == null) - pageSize = Constant.PAGE_SIZE; - - - List<ThreeSale> firstTeamList = - threeSaleService.queryMyFirstTeamList((pageIndex - 1) * pageSize, pageSize, key, bossId); - if (firstTeamList == null || firstTeamList.size() == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤涓�搴﹂槦鍛�")); + UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); + if (userInfoExtra == null) return; - } - - /* 鑾峰彇閭�璇风敤鎴峰ご鍍� 銆佹樀绉� */ - for (ThreeSale threeSale: firstTeamList) { - UserInfo worker = threeSale.getWorker(); - if (worker == null) { - worker = new UserInfo(); - threeSale.setWorker(worker); - } else{ - Long id = worker.getId(); - - UserInfo currentInfo = userInfoService.selectByPKey(id); - if (currentInfo != null) { - worker.setNickName(currentInfo.getNickName()); - worker.setPortrait(currentInfo.getPortrait()); - } - } - } - - long count = threeSaleService.queryCountMyFirstTeamList(key, bossId); - - int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); - PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); - - GsonBuilder gsonBuilder = new GsonBuilder(); - gsonBuilder.serializeNulls(); - Gson gson = gsonBuilder.create(); - - JSONObject data = new JSONObject(); - data.put("pe", pe); - data.put("list", gson.toJson(firstTeamList)); - - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - + UserInfoExtra updateExtra = new UserInfoExtra(); + updateExtra.setId(userInfoExtra.getId()); + updateExtra.setMark(mark); + userInfoExtraService.saveUserInfoExtra(updateExtra); } catch (Exception e) { e.printStackTrace(); - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); } } - - - @RequestMapping(value = "queryMySecondTeams") - public void queryMySecondTeams(String callback, Integer pageIndex, Integer pageSize, String key, - Long bossId, PrintWriter out) { + + /** + * 鍒犻櫎鐢ㄦ埛-鏀瑰彉鍏剁姸鎬� + * @param callback + * @param idArray + * @param out + */ + @RequestMapping(value = "deleteUser") + public void delete(String callback, String idArray, HttpServletRequest request, PrintWriter out) { try { - - if (bossId == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); + AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); + if (admin == null) { + out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("褰撳墠璐︽埛澶辨晥,璇烽噸鏂扮櫥闄嗐��"))); return; } - if (pageIndex == null) - pageIndex = 1; + if (StringUtil.isNullOrEmpty(idArray)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨鎿嶄綔鐨勬暟鎹�")); + return; + } - if (pageSize == null) - pageSize = Constant.PAGE_SIZE; - - - List<ThreeSale> firstTeamList = - threeSaleService.queryMySecondTeamList((pageIndex - 1) * pageSize, pageSize, key, bossId); - if (firstTeamList == null || firstTeamList.size() == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤浜屽害闃熷憳")); + 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 (ThreeSale threeSale: firstTeamList) { - UserInfo worker = threeSale.getWorker(); - if (worker == null) { - worker = new UserInfo(); - threeSale.setWorker(worker); - } else{ - Long id = worker.getId(); - - UserInfo currentInfo = userInfoService.selectByPKey(id); - if (currentInfo != null) { - worker.setNickName(currentInfo.getNickName()); - worker.setPortrait(currentInfo.getPortrait()); - } - } + for (Long id: list) { + UserInfo user = new UserInfo(id); + user.setState(UserInfo.STATE_DELETE); + user.setStateDesc(admin.getId()+" " + admin.getName()+ "鍚庡彴鎵嬪姩鍒犻櫎"); + userInfoService.updateByPrimaryKeySelective(user); } - - long count = threeSaleService.queryCountMySecondTeamList(key, bossId); - - int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); - PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); - - GsonBuilder gsonBuilder = new GsonBuilder(); - gsonBuilder.serializeNulls(); - Gson gson = gsonBuilder.create(); - - JSONObject data = new JSONObject(); - data.put("pe", pe); - data.put("list", gson.toJson(firstTeamList)); - - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎴愬姛鍒犻櫎")); } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒犻櫎澶辫触")); e.printStackTrace(); - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - } - } - - - @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("鎿嶄綔寮傚父")); } } /** + * 灏佺鐢ㄦ埛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 pageIndex * @param key * @param state @@ -1045,8 +587,8 @@ */ @RequestMapping(value = "getRelationList") public void getRelationList(String callback, Integer pageIndex, Integer pageSize, Long uid, Integer type, - Integer state, String startTime, String endTime, PrintWriter out) { - + Integer state, String startTime, String endTime, Integer validState, PrintWriter out) { + if (pageIndex == null || pageIndex < 1) { pageIndex = 1; } @@ -1054,9 +596,9 @@ 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); @@ -1065,7 +607,7 @@ c.add(Calendar.DAY_OF_MONTH, 1);// 浠婂ぉ+1澶� endTime = sdf.format(c.getTime()); } - + List<ThreeSale> listQuery = null; if (type == 0) { // 涓婄骇鐢ㄦ埛 @@ -1076,20 +618,28 @@ listQuery = threeSaleService.listSuperiorQuery((pageIndex - 1) * pageSize, pageSize, state, uid); } else if (type == 1) { // 涓�绾х敤鎴� - listQuery = threeSaleService.listFirstTeamQuery((pageIndex - 1) * pageSize, pageSize, uid, - state, startTime, endTime); + 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); + 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) { + + 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); // 閭�璇锋垚鍔� @@ -1102,36 +652,37 @@ } } + long count = 0; if (type == 0) { // 涓婄骇鐢ㄦ埛 count = threeSaleService.countSuperiorQuery(state, uid); } else if (type == 1) { // 涓�绾х敤鎴� - count = threeSaleService.countFirstTeamQuery(uid, state, startTime, endTime); + count = threeSaleService.countFirstTeamQuery(uid, state, startTime, endTime, validState); } else if (type == 2) { // 浜岀骇鐢ㄦ埛 - count = threeSaleService.countSecondTeamQuery(uid, state, startTime, endTime); + count = threeSaleService.countSecondTeamQuery(uid, state, startTime, endTime, validState); } - + int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); 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 @@ -1139,7 +690,7 @@ * @param out */ @RequestMapping(value = "getAccountDetails") - public void getAccountDetails(String callback, Integer pageIndex,Integer pageSize, Long uid, PrintWriter out) { + public void getAccountDetails(String callback, Integer pageIndex, Integer pageSize, Long uid, PrintWriter out) { if (pageIndex == null || pageIndex < 1) { pageIndex = 1; } @@ -1147,216 +698,348 @@ if (pageSize == null || pageSize < 1) { pageSize = Constant.PAGE_SIZE; } - + if (uid == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇蜂紶閫掓纭暟鎹�")); return; } - + try { - - List<AccountDetails> detailsList = accountDetailsService.findAccountDetailsList(uid, pageIndex); - if (detailsList == null || detailsList.size() == 0) { + List<UserMoneyDetail> userMoneyDetailsList = userMoneyDetailService.listByUidWithState(uid, pageIndex, + pageSize); + if (userMoneyDetailsList == null || userMoneyDetailsList.size() == 0) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); return; } - - int count = accountDetailsService.getCount(uid); - + + 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(detailsList)); - + 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 channelArray + * 鍚嶅瓧鏁扮粍 + * @param dateType + * 绫诲瀷 1鏃� 2鏈� 3骞� + * @param year + * 2018 + * @param startTime + * 2018-12-01 + * @param endTime + * 2018-12-01 * @param out */ - @RequestMapping(value = "getSameDayUserByChannel") - public void getSameDayUserByChannel(String callback, String channelArray, Integer dateType, - String year, String startTime, String endTime, PrintWriter out) { - - validateParams(callback, channelArray, dateType,year,startTime,endTime,out); - - if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) { - startTime = null; - endTime = null; - } - - try { - - Gson gson = new Gson(); - List<String> list = gson.fromJson(channelArray, new TypeToken<ArrayList<String>>() {}.getType()); - - if (list == null || list.size() == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟鏍煎紡涓嶆纭�")); - return; - } - - JSONArray array = new JSONArray(); - - for (String channel: list) { - JSONObject channelData = new JSONObject(); - List<Object> resultList = userActiveLogService.countSameDayByChannel(channel, dateType, year, startTime, endTime); - if (resultList == null) { - resultList = new ArrayList<Object>(); - } - channelData.put("name", channel); - channelData.put("infos", resultList); - array.add(channelData); - } - - JSONObject data = new JSONObject(); - data.put("result_list", array); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - e.printStackTrace(); - } - } - - - /** - * 鏍规嵁娓犻亾 缁熻褰撴棩鏂板鐢ㄦ埛鏁伴噺 - * @param channelArray 鍚嶅瓧鏁扮粍 - * @param dateType 绫诲瀷 1鏃� 2鏈� 3骞� - * @param year 2018 - * @param startTime 2018-12-01 - * @param endTime 2018-12-01 - * @param out - */ - @RequestMapping(value = "getBuyProportion") - public void getBuyProportion(String callback, String channelArray, Integer dateType, - String year, String startTime, String endTime, PrintWriter out) { - - validateParams(callback, channelArray, dateType,year,startTime,endTime,out); - - if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) { - startTime = null; - endTime = null; - } - - try { - - Gson gson = new Gson(); - List<String> list = gson.fromJson(channelArray, new TypeToken<ArrayList<String>>() {}.getType()); - - if (list == null || list.size() == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟鏍煎紡涓嶆纭�")); - return; - } - - JSONArray array = new JSONArray(); - - for (String channel: list) { - JSONObject channelData = new JSONObject(); - List<Object> resultList = userActiveLogService.getBuyProportion(channel, dateType, year, startTime, endTime); - if (resultList == null) { - resultList = new ArrayList<Object>(); - } - channelData.put("name", channel); - channelData.put("infos", resultList); - array.add(channelData); - } - - JSONObject data = new JSONObject(); - data.put("result_list", array); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); - e.printStackTrace(); - } - } - - @RequestMapping(value = "countUser") - public void countUser(String callback, PrintWriter out) { - try { - // 鎬荤敤鎴� - long totalUser = userInfoCountService.countNewUser(null, null); - // 娴佸け鐢ㄦ埛鏁伴噺锛�180澶╂湭浣跨敤鐧诲綍骞朵笖鏃犱换浣曡祫閲戞祦鍔ㄧ殑璐﹀彿鏁伴噺锛� - long loseUser = userInfoCountService.countLoseUser(180); - // 绱鏈夎喘涔扮敤鎴锋暟 - long orderUser = userInfoCountService.countHasOrderUser(); - - JSONObject data = new JSONObject(); - data.put("totalUser", totalUser); - data.put("loseUser", loseUser); - data.put("orderUser", orderUser); - - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (Exception e) { - e.printStackTrace(); - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("缁熻寮傚父")); - } - - } - - /** - * 缁熻鍘嗗彶鏂板鐢ㄦ埛 - * @param callback - * @param dateType 绫诲瀷 1鏃� 2鏈� 3骞� - * @param year 2018 - * @param startTime 2018-12-01 - * @param endTime 2018-12-01 - * @param out - */ - @RequestMapping(value = "getHistoryNewUser") - public void getHistoryNewUser(String callback, Integer dateType, String year, String startTime, + @RequestMapping(value = "getNewUserCharts") + public void getNewUserCharts(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(); - if (dateType == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨鏄剧ず鏂瑰紡")); - return; + 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 + ""); } - if (dateType == 1 && (StringUtil.isNullOrEmpty(startTime) && StringUtil.isNullOrEmpty(endTime))) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨鏃堕棿鍖洪棿")); + 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(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 (!StringUtil.isNullOrEmpty(startTime) && StringUtil.isNullOrEmpty(endTime)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夌粨鏉熸棩鏈�")); + + if (dateType == 2 && StringUtil.isNullOrEmpty(year)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇疯緭鍏ュ勾浠�")); return; } - - if (StringUtil.isNullOrEmpty(startTime) && !StringUtil.isNullOrEmpty(endTime)) { - 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 { - List<Object> resultList = userInfoCountService.countNewUserByDate(dateType, year, startTime, endTime); + Gson gson = new Gson(); + Object objectDate = null; + List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year); - if (resultList == null) { - resultList = new ArrayList<Object>(); + 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(); - data.put("result_list", resultList); + if (objectDate != null) { + data.put("xAxis_list", gson.toJson(objectDate)); + } else { + data.put("xAxis_list", gson.toJson(dateList)); + } + + data.put("line_list", line_list); + + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); + } + + } + + /** + * 褰撳懆浜х敓3鍗曠殑鏂板鐢ㄦ埛姒傜巼 + * + * @param callback + * @param channelArray + * 娓犻亾鍚嶇О + * @param startTime + * @param endTime + * @param orderNum + * 璁㈠崟鏁伴噺 + * @param out + */ + @RequestMapping(value = "getWeekBuyRate") + public void getWeekBuyRate(String callback, String channelArray, String startTime, String endTime, Integer orderNum, + PrintWriter out) { + + if (StringUtil.isNullOrEmpty(startTime) || StringUtil.isNullOrEmpty(endTime)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳懆璁㈠崟缁熻瀵瑰簲鏃堕棿鍖哄煙涓嶈兘涓虹┖")); + return; + } + + List<String> channelList = null; + if (channelArray != null && channelArray.trim().length() > 0) { + Gson gson = new Gson(); + channelList = gson.fromJson(channelArray, new TypeToken<ArrayList<String>>() { + }.getType()); + } + + if (channelList == null || channelList.size() == 0) { + channelList = new ArrayList<String>(); + channelList.add("all"); + } + + if (orderNum < 1) { + orderNum = 1; + } + + try { + + Gson gson = new Gson(); + List<String> dateList = AdminUtils.getDateList(1, startTime, endTime, null); + + JSONArray line_list = new JSONArray(); + for (String channel : channelList) { + + List<Object> list = userInfoCountService.getWeekBuyRate(channel, startTime, endTime, orderNum, + dateList); + + if ("all".equalsIgnoreCase(channel)) { + channel = "鎬昏"; + } + + JSONObject innerList = new JSONObject(); + innerList.put("name", channel); + innerList.put("data", gson.toJson(list)); + line_list.add(innerList); + } + + JSONObject data = new JSONObject(); + data.put("xAxis_list", gson.toJson(dateList)); + data.put("line_list", line_list); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } catch (Exception e) { @@ -1364,33 +1047,267 @@ e.printStackTrace(); } } - - public void validateParams(String callback, String channelArray, Integer dateType, - String year, String startTime, String endTime, PrintWriter out) { - if (StringUtil.isNullOrEmpty(channelArray)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨缁熻瀵瑰簲鍚嶇О")); + + /** + * 鑾峰彇閲戝竵鎺掕姒� + * @param callback + * @param pageIndex + * @param pageSize + * @param type + * @param 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 (dateType == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨鎺掑垪鏂瑰紡")); + 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 type + * @param out + */ + @RequestMapping(value = "getGoldCoinRecord") + public void getGoldCoinRecord(String callback, Integer pageIndex, Integer pageSize, String key, PrintWriter out) { + if (pageIndex == null) + pageIndex = 1; + + if (pageSize == null) + pageSize = 20; + + List<IntegralDetail> list = integralDetailService.listQuery((pageIndex-1)* pageSize, pageSize, key); + if (list == null || list.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鐩稿叧淇℃伅")); return; } - if (dateType == 1 && (StringUtil.isNullOrEmpty(startTime) && StringUtil.isNullOrEmpty(endTime))) { - 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()); + } } - if (!StringUtil.isNullOrEmpty(startTime) && StringUtil.isNullOrEmpty(endTime)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夌粨鏉熸棩鏈�")); + long count = integralDetailService.countQuery(key); + int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); + PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); + + GsonBuilder gsonBuilder = new GsonBuilder(); + gsonBuilder.serializeNulls(); + Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create(); + + + JSONObject data = new JSONObject(); + data.put("pe", pe); + data.put("list", gson.toJson(list)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } + + + + /** + * + * @param callback + * @param pageIndex + * @param pageSize + * @param key 鎼滅储锛氭殏鍙彁渚泆id + * @param state 鐘舵�侊細 + * @param out + */ + @RequestMapping(value = "queryVip") + public void queryVip(String callback, Integer pageIndex, Integer pageSize, String key, Integer state, PrintWriter out) { + try { + List<UserVIPInfo> list = userVIPInfoService.listQuery(pageIndex, pageSize, key, state); + if (list == null || list.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); + return; + } + + long count = userVIPInfoService.countQuery(key, state); + int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); + PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); + + GsonBuilder gsonBuilder = new GsonBuilder(); + gsonBuilder.serializeNulls(); + Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create(); + + JSONObject data = new JSONObject(); + data.put("pe", pe); + data.put("result_list", gson.toJson(list)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父")); + e.printStackTrace(); + } + } + + + + /** + * 瓒呯骇浼氬憳鍗囩骇閫氳繃 + * @param callback + * @param id + * @param out + * @param request + */ + @RequestSerializableByKey(key = "'passVIP-' +#id") + @RequestMapping(value = "passVIP") + public void passVIP(String callback, Long id, PrintWriter out, HttpServletRequest request) { + try { + /* 妫�楠屾槸鍚︾櫥闄� */ + AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); + if (admin == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳墠璐︽埛澶辨晥,璇烽噸鏂扮櫥闄嗐��")); + return; + } + userVIPInfoService.passVIPApply(id); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); + LogHelper.userInfo("[ip:" + IPUtil.getRemotIP(request) + "]" + admin.getName() + "閫氳繃浜哰id=" + id + "]鐨勫崌绾ц秴绾т細鍛樼敵璇�!"); + } catch (UserVIPInfoException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); + return; + } catch (Exception e) { + e.printStackTrace(); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); return; } - - if (StringUtil.isNullOrEmpty(startTime) && !StringUtil.isNullOrEmpty(endTime)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夎捣濮嬫棩鏈�")); + } + + + /** + * 瓒呯骇浼氬憳鍗囩骇鎷掔粷 + * @param callback + * @param id + * @param reason + * @param out + * @param request + */ + + @RequestMapping(value = "rejectVIP") + public void rejectVIP(String callback, Long id, String reason, PrintWriter out, HttpServletRequest request) { + try { + /* 妫�楠屾槸鍚︾櫥闄� */ + AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN); + if (admin == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳墠璐︽埛澶辨晥,璇烽噸鏂扮櫥闄�")); + return; + } + userVIPInfoService.rejectVIPApply(id, reason); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎷掔粷鎴愬姛")); + LogHelper.userInfo("[ip:" + IPUtil.getRemotIP(request) + "][绠$悊鍛�:" + admin.getName() + "] 鎷掔粷鎻愮幇id=" + id + "鐨勫崌绾ц秴绾т細鍛樼敵璇蜂笉瀛樺湪!"); + } catch (UserVIPInfoException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg())); return; + } catch (Exception e) { + e.printStackTrace(); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); + return; + } + } + + + + /** + * 鐢ㄦ埛璐︽埛鏄庣粏 + * + * @param callback + * @param pageIndex + * @param pageSize + * @param id + * @param out + */ + @RequestMapping(value = "getMoneyDetails") + public void getMoneyDetails(String callback, Integer pageIndex, String key, Integer keyType, PrintWriter out) { + if (pageIndex == null) { + pageIndex = 1; + } + int pageSize = Constant.PAGE_SIZE; + try { + List<UserMoneyDetail> list = userMoneyDetailService.listQuery(pageIndex, pageSize, key, keyType); + if (list == null || list.size() == 0) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鏁版嵁")); + return; + } + + for (UserMoneyDetail detail: list) { + UserInfo userInfo = detail.getUserInfo(); + if (userInfo == null) { + detail.setUserInfo(new UserInfo()); + continue; + } + + + UserInfo user = userInfoService.selectByPKey(userInfo.getId()); + if (user != null) { + detail.setUserInfo(user); + } + } + + long count = userMoneyDetailService.countQuery(key, keyType); + + int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); + PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage); + + + GsonBuilder gsonBuilder = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss"); + gsonBuilder.registerTypeAdapter(UserMoneyDetailTypeEnum.class, new JsonSerializer<UserMoneyDetailTypeEnum>() { + @Override + public JsonElement serialize(UserMoneyDetailTypeEnum value, Type theType, JsonSerializationContext context) { + if (value == null) { + return new JsonPrimitive(""); + } else { + return new JsonPrimitive(value.getDesc()); + } + } + }); + Gson gson = gsonBuilder.create(); + + + JSONObject data = new JSONObject(); + data.put("pe", pe); + data.put("result_list", gson.toJson(list)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + e.printStackTrace(); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ澶辫触")); } } } -- Gitblit v1.8.0