AdminStatisticsHandler.java 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  1. package com.iamberry.wechat.handles.statistics;
  2. import java.net.URLDecoder;
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import javax.servlet.http.HttpServletRequest;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Controller;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.RequestParam;
  10. import org.springframework.web.servlet.ModelAndView;
  11. import com.iamberry.wechat.core.entity.drp.PlaceRoleInfo;
  12. import com.iamberry.wechat.core.entity.statictics.ActivateInfo;
  13. import com.iamberry.wechat.core.entity.statictics.AttentionInfo;
  14. import com.iamberry.wechat.core.entity.statictics.EarningsInfo;
  15. import com.iamberry.wechat.core.entity.statictics.MarketInfo;
  16. import com.iamberry.wechat.core.entity.statictics.StatisticsInfo;
  17. import com.iamberry.wechat.core.entity.statictics.UerActivateInfo;
  18. import com.iamberry.wechat.face.statistics.AdminStatisticsService;
  19. @Deprecated
  20. @Controller
  21. @RequestMapping("/admin/statistics")
  22. public class AdminStatisticsHandler {
  23. @Autowired
  24. private AdminStatisticsService adminStatisticsService;
  25. /**
  26. * 查询门店关注人数等报表数据
  27. * @param request
  28. * @param pageSize
  29. * @param pageNO
  30. * @return
  31. * @throws Exception
  32. */
  33. @RequestMapping("/selectStoreAttentionList")
  34. public ModelAndView selectStoreAttentionList(HttpServletRequest request,
  35. @RequestParam(value= "pageSize",defaultValue= "6" ,required=false) Integer pageSize,
  36. @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO) throws Exception {
  37. ModelAndView mv = new ModelAndView("admin/statistics/attentionList");
  38. String text = request.getParameter("text");
  39. StringBuilder url = new StringBuilder("/admin/statistics/selectStoreAttentionList?pageSize=" + pageSize);
  40. AttentionInfo attentionInfo = new AttentionInfo();
  41. PlaceRoleInfo placeRoleInfo = new PlaceRoleInfo();
  42. placeRoleInfo.setRoleName("门店");
  43. List<PlaceRoleInfo> roleList = adminStatisticsService.selectRoleName(placeRoleInfo);
  44. List<Integer> roles = new ArrayList<Integer>();
  45. if (null != roleList && roleList.size() > 0) {
  46. for (PlaceRoleInfo placeRole : roleList) {
  47. roles.add(placeRole.getRoleId());
  48. }
  49. attentionInfo.setRoleList(roles);
  50. }
  51. if (text != null && !"".equals(text)) {
  52. attentionInfo.setStoreName(text);
  53. url.append("&text=" + text);
  54. mv.addObject("text", text);
  55. }
  56. url.append("&pageNO=");
  57. attentionInfo.getPage().setPageSize(pageSize);
  58. attentionInfo.getPage().setPageNumber(pageNO);
  59. attentionInfo.getPage().initRecordBegin();
  60. List<AttentionInfo> attentionList = adminStatisticsService.selectStoreAttentionList(attentionInfo);
  61. //查询所有商户层关系信息
  62. List<MarketInfo> placeList = adminStatisticsService.selectPlaceList();
  63. if (null != attentionList && attentionList.size() > 0 && null != placeList && placeList.size() > 0) {
  64. for (AttentionInfo attentionInfos : attentionList) {
  65. for (MarketInfo marketInfo : placeList) {
  66. if (null != attentionInfos.getPlaceId() && !"".equals(attentionInfos.getPlaceId())
  67. && null != marketInfo.getPlaceId() && !"".equals(marketInfo.getPlaceId())
  68. && attentionInfos.getPlaceId().equals(marketInfo.getPlaceId())) {
  69. attentionInfos.setProvinceName(marketInfo.getProvinceName());
  70. attentionInfos.setCityName(marketInfo.getCityName());
  71. attentionInfos.setStoreName(marketInfo.getStoreName());
  72. }
  73. }
  74. }
  75. }
  76. mv.addObject("attentionList", attentionList);
  77. mv.addObject("pageNO", pageNO);
  78. mv.addObject("pageSize", adminStatisticsService.selectStoreAttentionListCount(attentionInfo));
  79. mv.addObject("url", url.toString());
  80. return mv;
  81. }
  82. /**
  83. * 分页查询省代收益报表数据
  84. * @param request
  85. * @param pageSize
  86. * @param pageNO
  87. * @return
  88. * @throws Exception
  89. */
  90. @RequestMapping("/selectProvinceEarningsList")
  91. public ModelAndView selectProvinceEarningsList(HttpServletRequest request,
  92. @RequestParam(value= "pageSize",defaultValue= "6" ,required=false) Integer pageSize,
  93. @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO) throws Exception {
  94. ModelAndView mv = new ModelAndView("admin/statistics/earningsList");
  95. StringBuilder url = new StringBuilder("/admin/statistics/selectProvinceEarningsList?pageSize=" + pageSize);
  96. String text = request.getParameter("text");
  97. EarningsInfo earningsInfo = new EarningsInfo();
  98. if (text != null && !"".equals(text)) {
  99. earningsInfo.setProvinceName(text);
  100. url.append("&text=" + text);
  101. mv.addObject("text", text);
  102. }
  103. url.append("&pageNO=");
  104. earningsInfo.getPage().setPageSize(pageSize);
  105. earningsInfo.getPage().setPageNumber(pageNO);
  106. earningsInfo.getPage().initRecordBegin();
  107. List<EarningsInfo> earningsList = adminStatisticsService.selectProvinceEarningsList(earningsInfo);
  108. mv.addObject("earningsList", earningsList);
  109. mv.addObject("pageNO", pageNO);
  110. mv.addObject("pageSize", adminStatisticsService.selectProvinceEarningsListCount(earningsInfo));
  111. mv.addObject("url", url.toString());
  112. return mv;
  113. }
  114. /**
  115. * 商户激活信息列表
  116. * @param request
  117. * @param pageSize
  118. * @param pageNO
  119. * @return
  120. * @throws Exception
  121. */
  122. @RequestMapping("/selectActivateList")
  123. public ModelAndView selectActivateList(HttpServletRequest request,
  124. @RequestParam(value= "pageSize",defaultValue= "6" ,required=false) Integer pageSize,
  125. @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO) throws Exception {
  126. ModelAndView mv = new ModelAndView("admin/statistics/activateList");
  127. StringBuilder url = new StringBuilder("/admin/statistics/selectActivateList?pageSize=" + pageSize + "&pageNO=");
  128. ActivateInfo activateInfo = new ActivateInfo();
  129. activateInfo.getPage().setPageNumber(pageNO);
  130. activateInfo.getPage().setPageSize(pageSize);
  131. activateInfo.getPage().initRecordBegin();
  132. List<ActivateInfo> activateList = adminStatisticsService.selectActivateList(activateInfo);
  133. mv.addObject("activateList", activateList);
  134. mv.addObject("pageNO", pageNO);
  135. mv.addObject("pageSize", adminStatisticsService.selectActivateListCount(activateInfo));
  136. mv.addObject("url", url.toString());
  137. return mv;
  138. }
  139. /**
  140. * 查询商户详情
  141. * @param request
  142. * @param pageSize
  143. * @param pageNO
  144. * @return
  145. * @throws Exception
  146. */
  147. @RequestMapping("/selectUserActivateList")
  148. public ModelAndView selectUserActivateList(HttpServletRequest request,
  149. @RequestParam(value= "pageSize",defaultValue= "6" ,required=false) Integer pageSize,
  150. @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO) throws Exception {
  151. ModelAndView mv = new ModelAndView("admin/statistics/userActivateList");
  152. StringBuilder url = new StringBuilder("/admin/statistics/selectUserActivateList?pageSize=" + pageSize);
  153. UerActivateInfo uerActivateInfo = new UerActivateInfo();
  154. String roleId = request.getParameter("roleId");
  155. String isActivate = request.getParameter("isActivate");
  156. String text = request.getParameter("text");
  157. if (roleId != null && !"".equals(roleId)) {
  158. uerActivateInfo.setPlaceRoleId(roleId);
  159. url.append("&roleId=" + roleId);
  160. mv.addObject("roleId", roleId);
  161. }
  162. if (isActivate != null && !"".equals(isActivate)) {
  163. uerActivateInfo.setIsActivate(Integer.parseInt(isActivate));
  164. url.append("&isActivate=" + isActivate);
  165. mv.addObject("isActivate", isActivate);
  166. }
  167. if (text != null && !"".equals(text)) {
  168. uerActivateInfo.setPlaceName(text);
  169. url.append("&text=" + text);
  170. mv.addObject("text", text);
  171. }
  172. url.append("&pageNO=");
  173. uerActivateInfo.getPage().setPageNumber(pageNO);
  174. uerActivateInfo.getPage().setPageSize(pageSize);
  175. uerActivateInfo.getPage().initRecordBegin();
  176. List<UerActivateInfo> uersActivateList = adminStatisticsService.selectUserActivateList(uerActivateInfo);
  177. if (null != uersActivateList && uersActivateList.size() > 0) {
  178. for (UerActivateInfo userActivateInfo : uersActivateList) {
  179. if (userActivateInfo.getUserNickname() != null && !userActivateInfo.getUserNickname().isEmpty()) {
  180. userActivateInfo.setUserNickname(URLDecoder.decode(userActivateInfo.getUserNickname(), "UTF-8"));
  181. }
  182. }
  183. }
  184. mv.addObject("userActivateList", uersActivateList);
  185. mv.addObject("pageNO", pageNO);
  186. mv.addObject("pageSize", adminStatisticsService.selectUserActivateListCount(uerActivateInfo));
  187. mv.addObject("url", url.toString());
  188. return mv;
  189. }
  190. /**
  191. * 查询商户收益记录列表
  192. * @param request
  193. * @param pageSize
  194. * @param pageNO
  195. * @return
  196. * @throws Exception
  197. */
  198. @RequestMapping("/selectMarketList")
  199. public ModelAndView selectMarketList(HttpServletRequest request,
  200. @RequestParam(value= "pageSize",defaultValue= "6" ,required=false) Integer pageSize,
  201. @RequestParam(value = "pageNO", defaultValue = "1",required=false) Integer pageNO) throws Exception {
  202. ModelAndView mv = new ModelAndView("admin/statistics/marketList");
  203. StringBuilder url = new StringBuilder("/admin/statistics/selectMarketList?pageSize=" + pageSize);
  204. String name = request.getParameter("name");
  205. String roleType = request.getParameter("roleType");
  206. String beginDate = request.getParameter("beginDate");
  207. MarketInfo marketInfo = new MarketInfo();
  208. marketInfo.getPage().setPageNumber(pageNO);
  209. marketInfo.getPage().setPageSize(pageSize);
  210. marketInfo.getPage().initRecordBegin();
  211. if (name != null && !"".equals(name)) {
  212. marketInfo.setPlaceName(name);
  213. url.append("&name=" + name);
  214. mv.addObject("name", name);
  215. }
  216. if (roleType != null && !"".equals(roleType)) {
  217. marketInfo.setPlaceType(roleType);
  218. url.append("&roleType=" + roleType);
  219. mv.addObject("roleType", roleType);
  220. }
  221. if (beginDate != null && !"".equals(beginDate)) {
  222. marketInfo.setRebackMonth(beginDate);
  223. url.append("&beginDate=" + beginDate);
  224. mv.addObject("beginDate", beginDate);
  225. }
  226. url.append("&pageNO=");
  227. //按月查询余额,销售额等
  228. List<MarketInfo> marketList = adminStatisticsService.selectMarketList(marketInfo);
  229. //查询所有商户层关系信息
  230. List<MarketInfo> placeList = adminStatisticsService.selectPlaceList();
  231. if (null != marketList && marketList.size() > 0 && null != placeList && placeList.size() > 0) {
  232. for (MarketInfo moneyInfo : marketList) {
  233. for (MarketInfo placeInfo : placeList) {
  234. if (null != moneyInfo.getPlaceId() && !"".equals(moneyInfo.getPlaceId())
  235. && null != placeInfo.getPlaceId() && !"".equals(placeInfo.getPlaceId())
  236. && moneyInfo.getPlaceId().toString().equals(placeInfo.getPlaceId().toString())) {
  237. moneyInfo.setProvinceName(placeInfo.getProvinceName());
  238. moneyInfo.setCityName(placeInfo.getCityName());
  239. moneyInfo.setStoreName(placeInfo.getStoreName());
  240. }
  241. }
  242. }
  243. }
  244. mv.addObject("name", name);
  245. mv.addObject("roleType", roleType);
  246. mv.addObject("beginDate", beginDate);
  247. mv.addObject("marketList", marketList);
  248. mv.addObject("pageNO", pageNO);
  249. mv.addObject("pageSize", adminStatisticsService.selectMarketListCount(marketInfo));
  250. mv.addObject("url", url.toString());
  251. return mv;
  252. }
  253. /**
  254. * 查询统计信息(已关注总人数,总销售台数,总金额等)
  255. * @param request
  256. * @return
  257. * @throws Exception
  258. */
  259. @RequestMapping("/selectStatisticsInfo")
  260. public ModelAndView selectStatisticsInfo(HttpServletRequest request) throws Exception {
  261. ModelAndView mv = new ModelAndView("admin/statistics/statisticsInfo");
  262. StatisticsInfo statisticsInfo = new StatisticsInfo();
  263. //查询总关注人数
  264. int attentionSum = adminStatisticsService.selectAttentionSum();
  265. statisticsInfo.setAttentionSum(attentionSum);
  266. //查询总销售台数和总金额
  267. StatisticsInfo salesAmount = adminStatisticsService.selectSalesAmount();
  268. if (salesAmount != null) {
  269. statisticsInfo.setSalesMoney(salesAmount.getSalesMoney());
  270. statisticsInfo.setSalesSum(salesAmount.getSalesSum());
  271. }
  272. //查询今日新增关注人数,今日取消关注人数
  273. StatisticsInfo currentAttentionNum = adminStatisticsService.selectCurrentAttentionNum();
  274. if (currentAttentionNum != null) {
  275. statisticsInfo.setNewAttentionNum(currentAttentionNum.getNewAttentionNum());
  276. statisticsInfo.setCancelAttentionNum(currentAttentionNum.getCancelAttentionNum());
  277. }
  278. //查询当前已激活省代数量,市代数量、门店数量
  279. List<ActivateInfo> activateList = adminStatisticsService.selectPlaceActivate();
  280. int storeNum = 0;
  281. if (activateList != null && activateList.size() > 0) {
  282. for (ActivateInfo activateInfo : activateList) {
  283. /*switch (activateInfo.getRoleName()) {
  284. case "合伙人":
  285. statisticsInfo.setProvinceNum(activateInfo.getActivateNum());break;
  286. case "VIP会员":
  287. statisticsInfo.setVipNum(activateInfo.getActivateNum());break;
  288. case "门店":
  289. storeNum += activateInfo.getActivateNum().intValue();break;
  290. case "金牌会员":
  291. statisticsInfo.setGoldMedalNum(activateInfo.getActivateNum());break;
  292. }*/
  293. }
  294. }
  295. statisticsInfo.setStoreNum(storeNum);//门店和母婴店需整合在一起统计
  296. //查询当前vip会员二维码启用数量
  297. String name = "VIP会员";
  298. int qrCodeNum = adminStatisticsService.selectQrCodeNum(name);
  299. statisticsInfo.setQrCodeNum(qrCodeNum);
  300. //查询当前通过vip会员二维码销售台数,总金额
  301. StatisticsInfo storeSalesInfo = adminStatisticsService.selectStoreSalesInfo(name);
  302. if (storeSalesInfo != null) {
  303. statisticsInfo.setStoreSalesMoney(storeSalesInfo.getStoreSalesMoney());
  304. statisticsInfo.setStoreSalesNum(storeSalesInfo.getStoreSalesNum());
  305. }
  306. //查询当前金牌会员二维码启用数量
  307. name = "金牌会员";
  308. int qrGoldMedalNum = adminStatisticsService.selectQrCodeNum(name);
  309. statisticsInfo.setQrGoldMedalNum(qrGoldMedalNum);
  310. //查询当前通过金牌会员二维码销售台数,总金额
  311. storeSalesInfo = adminStatisticsService.selectStoreSalesInfo(name);
  312. if (storeSalesInfo != null) {
  313. statisticsInfo.setStoreGoldMedalMoney(storeSalesInfo.getStoreSalesMoney());
  314. statisticsInfo.setStoreRoldMedalNum(storeSalesInfo.getStoreSalesNum());
  315. }
  316. mv.addObject("statisticsInfo", statisticsInfo);
  317. return mv;
  318. }
  319. }