From 245bf498b0b145b21b73cc73c77637c895528322 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 14 四月 2020 09:18:07 +0800
Subject: [PATCH] 消息
---
fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java | 401 +++++++++++++++++++++++++++++++-------------------------
1 files changed, 221 insertions(+), 180 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 9a5efe1..eb21b3c 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,7 +1,7 @@
package com.yeshi.fanli.controller.admin;
import java.io.PrintWriter;
-import java.net.URLDecoder;
+import java.lang.reflect.Type;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
@@ -19,21 +19,27 @@
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonPrimitive;
+import com.google.gson.JsonSerializationContext;
+import com.google.gson.JsonSerializer;
import com.google.gson.reflect.TypeToken;
import com.yeshi.fanli.controller.admin.utils.AdminUtils;
import com.yeshi.fanli.dto.ChartTDO;
+import com.yeshi.fanli.entity.admin.count.CountUserInfo;
import com.yeshi.fanli.entity.bus.user.BindingAccount;
import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode;
import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode.ForbiddenUserIdentifyCodeTypeEnum;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
-import com.yeshi.fanli.entity.bus.user.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.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;
@@ -47,6 +53,7 @@
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;
@@ -54,6 +61,7 @@
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
+import com.yeshi.fanli.util.annotation.RequestSerializableByKey;
import com.yeshi.fanli.vo.user.UserGoldCoinVO;
import com.yeshi.fanli.vo.user.UserInfoVO;
@@ -102,6 +110,9 @@
@Resource
private UserVIPInfoService userVIPInfoService;
+ @Resource
+ private IntegralDetailService integralDetailService;
+
/**
* 鏌ヨ鐢ㄦ埛淇℃伅鍒楄〃 姝e父鐢ㄦ埛/寮傚父鐢ㄦ埛
@@ -123,7 +134,7 @@
* @param out
*/
@RequestMapping(value = "query")
- public void query(String callback, Integer pageIndex, Integer pageSize, String key, Integer keyType, Integer rank,
+ 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, PrintWriter out) {
try {
@@ -173,14 +184,14 @@
}
List<UserInfoVO> userList = userInfoService.query((pageIndex - 1) * pageSize, pageSize, type, key, keyType,
- userRank, days, startTime, endTime, orderField, orderMode);
+ userRank, days, startTime, endTime, orderField, orderMode,userType);
if (userList == null || userList.size() == 0) {
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鐩稿叧鏁版嵁"));
return;
}
- long count = userInfoService.queryCount(type, key, keyType, userRank, days, startTime, endTime);
+ long count = userInfoService.queryCount(type, key, keyType, userRank, days, startTime, endTime,userType);
int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
@@ -890,99 +901,117 @@
@RequestMapping(value = "getNewUserCharts")
public void getNewUserCharts(String callback, String channelArray, Integer dateType, String year, String startTime,
String endTime, PrintWriter out) {
-
- String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime);
- if (validateMsg != null) {
- JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg));
- return;
- }
-
- if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) {
- startTime = null;
- endTime = null;
- }
-
- List<String> channelList = null;
- if (channelArray != null && channelArray.trim().length() > 0) {
- Gson gson = new Gson();
- channelList = gson.fromJson(channelArray, new TypeToken<ArrayList<String>>() {
- }.getType());
- }
-
- if (channelList == null || channelList.size() == 0) {
- channelList = new ArrayList<String>();
- channelList.add("all");
- }
-
- if (dateType == 1 && year != null) {
- year = null; // 璁剧疆涓虹┖
- } else if (dateType == 2) {
- if (startTime != null)
- startTime = null;
-
- if (endTime != null)
- endTime = null;
-
- } else if (dateType == 3) {
- if (year != null)
- year = null;
-
- if (startTime != null)
- startTime = null;
-
- if (endTime != null)
- endTime = null;
- }
-
try {
+ String validateMsg = AdminUtils.validateParams(dateType, startTime, endTime);
+ if (validateMsg != null) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(validateMsg));
+ return;
+ }
+
+ if (dateType != 1 && (!StringUtil.isNullOrEmpty(startTime) || !StringUtil.isNullOrEmpty(endTime))) {
+ startTime = null;
+ endTime = null;
+ }
+ Date beginDate = null;
+ Date endDate = null;
+
+ if (dateType == 1) {
+ beginDate = TimeUtil.parse(startTime);
+ endDate = TimeUtil.parse(endTime);
+ } else if (dateType == 2) {
+ Calendar calendar=Calendar.getInstance();
+ int currentYear = calendar.get(Calendar.YEAR);
+ if (!StringUtil.isNullOrEmpty(year)) {
+ currentYear = Integer.parseInt(year);
+ }
+ calendar.clear();
+ calendar.set(Calendar.YEAR, currentYear);
+ beginDate =calendar.getTime();
+
+ calendar.clear();
+ calendar.set(Calendar.YEAR, currentYear);
+ calendar.roll(Calendar.DAY_OF_YEAR, -1);
+ endDate=calendar.getTime();
+ } else if (dateType == 3) {
+ beginDate = TimeUtil.parse("2018-01-01");
+ endDate = new Date();
+ }
Gson gson = new Gson();
- Object objectDate = null;
List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year);
-
+
+ // 娓犻亾
+ List<String> channelList = null;
+ if (channelArray != null && channelArray.trim().length() > 0) {
+ channelList = gson.fromJson(channelArray, new TypeToken<ArrayList<String>>() {
+ }.getType());
+ }
+
JSONArray line_list = new JSONArray();
- for (String channel : channelList) {
-
- List<ChartTDO> list = userInfoCountService.countNewUserByDate(channel, dateType, year,
- startTime, endTime);
-
- if ("all".equalsIgnoreCase(channel)) {
- channel = "鎬昏";
+
+ if (channelList != null && channelList.size() > 0) {
+ for (String channel : channelList) {
+ List<Object> list = getNewUserData(dateList, dateType, beginDate, endDate, channel);
+ JSONObject innerList = new JSONObject();
+ innerList.put("name", channel);
+ innerList.put("data", gson.toJson(list));
+ line_list.add(innerList);
}
-
+ } else {
+ List<Object> list = getNewUserData(dateList, dateType, beginDate, endDate, null);
JSONObject innerList = new JSONObject();
- innerList.put("name", channel);
-
- if (dateType != 3) {
- innerList.put("data", gson.toJson(AdminUtils.dayOrMonthDataFactory(dateType, dateList, list)));
- } else {
- // 骞磋鍥�
- Map<String, Object> map = AdminUtils.yearsDataFactory(list);
-
- if (objectDate == null) {
- objectDate = map.get("date");
- }
- innerList.put("data", gson.toJson(map.get("value")));
- }
-
+ innerList.put("name", "鍏ㄩ儴");
+ innerList.put("data", gson.toJson(list));
line_list.add(innerList);
}
JSONObject data = new JSONObject();
- if (objectDate != null) {
- data.put("xAxis_list", gson.toJson(objectDate));
- } else {
- data.put("xAxis_list", gson.toJson(dateList));
- }
-
data.put("line_list", line_list);
-
+ data.put("xAxis_list", gson.toJson(dateList));
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-
} catch (Exception e) {
- JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔寮傚父"));
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("绯荤粺寮傚父"));
e.printStackTrace();
}
+ }
+
+
+ private List<Object> getNewUserData(List<String> dateList, Integer dateType, Date beginDate, Date endDate, String channel) {
+ List<Object> list = new ArrayList<>();
+ List<CountUserInfo> listHistory = userInfoCountService.getNewUserData(beginDate, endDate, channel);
+ for (String date: dateList) {
+ int value = 0;
+ if (listHistory != null) {
+ for (CountUserInfo history: listHistory) {
+ if (dateType == 1) {
+ String gernalTime = TimeUtil.getGernalTime(history.getDay().getTime());
+ if (gernalTime.equalsIgnoreCase(date)) {
+ value += history.getNum();
+ continue;
+ }
+ } else if (dateType == 2){
+ String gernalTime = TimeUtil.getMonthOnlyMM(history.getDay());
+ if(gernalTime.startsWith("0")) {
+ gernalTime = gernalTime.substring(1, 2);
+ }
+
+ if (gernalTime.equalsIgnoreCase(date)) {
+ value += history.getNum();
+ continue;
+ }
+ } else if (dateType == 3) {
+ String gernalTime = TimeUtil.getYearOnlyYYYY(history.getDay());
+ if (gernalTime.equalsIgnoreCase(date)) {
+ value += history.getNum();
+ continue;
+ }
+ }
+ }
+ }
+ list.add(value + "");
+ }
+
+ return list;
}
/**
@@ -1222,107 +1251,51 @@
/**
- * 璁″綋澶╂椿璺冪敤鎴蜂腑鏈夊灏戜釜鐢ㄦ埛鏄�90澶╁墠鎵嶆椿璺冭繃锛屾湡闂翠粠鏈椿璺冪殑鐢ㄦ埛鏁伴噺
+ * 鑾峰彇閲戝竵鎺掕姒�
* @param callback
- * @param dateType
- * @param year
- * @param startTime
- * @param endTime
+ * @param pageIndex
+ * @param pageSize
+ * @param type
* @param out
*/
- @RequestMapping(value = "getUserActiveCharts")
- public void getUserActiveCharts(String callback, 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);
-
- calendar.clear();
- calendar.set(Calendar.YEAR, currentYear);
- beginDate =calendar.getTime();
-
- calendar.clear();
- calendar.set(Calendar.YEAR, currentYear);
- calendar.roll(Calendar.DAY_OF_YEAR, -1);
- endDate=calendar.getTime();
- } else if (dateType == 3) {
- beginDate = TimeUtil.parse("2018-01-01");
- endDate = new Date();
- }
- Gson gson = new Gson();
- List<String> dateList = AdminUtils.getDateList(dateType, startTime, endTime, year);
-
- List<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 + "");
- }
-
- 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();
+ @RequestMapping(value = "getGoldCoinRecord")
+ public void getGoldCoinRecord(String callback, Integer pageIndex, Integer pageSize, String key, PrintWriter out) {
+ if (pageIndex == null)
+ pageIndex = 1;
+
+ if (pageSize == null)
+ pageSize = 20;
+
+ List<IntegralDetail> list = integralDetailService.listQuery((pageIndex-1)* pageSize, pageSize, key);
+ if (list == null || list.size() == 0) {
+ JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鐩稿叧淇℃伅"));
+ return;
}
+
+ for (IntegralDetail integralDetail: list) {
+ Long uid = integralDetail.getUid();
+ UserInfo userInfo = userInfoService.getUserById(uid);
+ if (userInfo != null) {
+ integralDetail.setNickName(userInfo.getNickName());
+ integralDetail.setPortrait(userInfo.getPortrait());
+ }
+ }
+
+ long count = integralDetailService.countQuery(key);
+ int totalPage = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1);
+ PageEntity pe = new PageEntity(pageIndex, pageSize, count, totalPage);
+
+ GsonBuilder gsonBuilder = new GsonBuilder();
+ gsonBuilder.serializeNulls();
+ Gson gson = gsonBuilder.setDateFormat("yyyy/MM/dd HH:mm:ss").create();
+
+
+ JSONObject data = new JSONObject();
+ data.put("pe", pe);
+ data.put("list", gson.toJson(list));
+ JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
}
+
/**
@@ -1370,6 +1343,7 @@
* @param out
* @param request
*/
+ @RequestSerializableByKey(key = "'passVIP-' +#id")
@RequestMapping(value = "passVIP")
public void passVIP(String callback, Long id, PrintWriter out, HttpServletRequest request) {
try {
@@ -1386,6 +1360,7 @@
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getMsg()));
return;
} catch (Exception e) {
+ e.printStackTrace();
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触"));
return;
}
@@ -1410,8 +1385,6 @@
JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("褰撳墠璐︽埛澶辨晥,璇烽噸鏂扮櫥闄�"));
return;
}
- // 缂栫爜杞崲
- reason = URLDecoder.decode(reason, "UTF-8");
userVIPInfoService.rejectVIPApply(id, reason);
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鎷掔粷鎴愬姛"));
LogHelper.userInfo("[ip:" + IPUtil.getRemotIP(request) + "][绠$悊鍛�:" + admin.getName() + "] 鎷掔粷鎻愮幇id=" + id + "鐨勫崌绾ц秴绾т細鍛樼敵璇蜂笉瀛樺湪!");
@@ -1419,9 +1392,77 @@
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