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