AppController.java 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. package com.uas.service.donate.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.uas.service.donate.core.model.Status;
  4. import com.uas.service.donate.model.*;
  5. import com.uas.service.donate.service.*;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Controller;
  8. import org.springframework.ui.ModelMap;
  9. import org.springframework.web.bind.annotation.*;
  10. import java.math.BigDecimal;
  11. import java.math.RoundingMode;
  12. import java.util.Date;
  13. import java.util.List;
  14. /**
  15. * 提供给移动端的控制器
  16. */
  17. @Controller
  18. @RequestMapping("/app")
  19. public class AppController {
  20. @Autowired
  21. private ProjectRecodeService projectRecodeService;
  22. @Autowired
  23. private CarouselService carouselService;
  24. @Autowired
  25. private ProjectService projectService;
  26. @Autowired
  27. private ActivityController activityController;
  28. @Autowired
  29. private ActivityService activityService;
  30. @Autowired
  31. private ActivityRecodeService activityRecodeService;
  32. @Autowired
  33. private UserService userService;
  34. /**
  35. * 默认排行行数
  36. */
  37. private static final Integer DEFAULT_RANK_NUMBER = 10;
  38. /**
  39. * 返回移动端首页轮播图
  40. */
  41. @ResponseBody
  42. @RequestMapping(value = "/appIndex",method = RequestMethod.GET)
  43. public ModelMap returnapp(@RequestParam(value = "useFor",defaultValue ="donate-app")String useFor){
  44. ModelMap modelMap=new ModelMap();
  45. Double totality = projectRecodeService.totality();
  46. totality = new BigDecimal(totality).setScale(2, RoundingMode.UP).doubleValue();
  47. //存入捐款总数
  48. modelMap.put("totality",totality);
  49. Integer times = projectRecodeService.sumAllPersonTimes();
  50. //存入捐款总人数
  51. modelMap.put("totality",totality);
  52. List<JSONObject> carouselList = carouselService.getCarousels(useFor);
  53. //存入首页轮播图
  54. modelMap.put("carouselList",carouselList);
  55. //查询项目中所有领域分类
  56. List<String> allArea = projectService.allArea();
  57. modelMap.put("allArea",allArea);
  58. return modelMap;
  59. }
  60. /**
  61. * 返回首页项目列表
  62. */
  63. @ResponseBody
  64. @RequestMapping(value = "/projects",method = RequestMethod.GET)
  65. public ModelMap returnProjects(@RequestParam(value="area",defaultValue = "全部")String area,
  66. @RequestParam(value = "search",required = false)String search){
  67. ModelMap modelMap=new ModelMap();
  68. if (Status.ALL.getPhrase().equals(area)) {
  69. List<Project> projectList=projectService.findProjects();
  70. modelMap.put("projectList",projectList);
  71. }else{
  72. List<Project> projectList=projectService.findArea(area);
  73. modelMap.put("projectList",projectList);
  74. }
  75. if(search!=null){
  76. List<Project> projectList=projectService.search(search);
  77. modelMap.put("projectList",projectList);
  78. }
  79. return modelMap;
  80. }
  81. /**
  82. * 获取活动列表
  83. */
  84. @ResponseBody
  85. @RequestMapping(value = "/activities",method = RequestMethod.GET)
  86. public ModelMap returnActivities(@RequestParam(value="status",defaultValue = "全部")String status,
  87. @RequestParam(value = "keyWork",defaultValue = "")String keyWork){
  88. ModelMap modelMap=new ModelMap();
  89. Date before = new Date();
  90. if("全部".equals(status)){
  91. List<Activity> activityList=activityService.findAll();
  92. modelMap.put("activityList",activityList);
  93. }else{
  94. List<Activity> activityList=activityController.getActivities(status);
  95. modelMap.put("activityList",activityList);
  96. }
  97. if(!"".equals(keyWork)){
  98. List<Activity> activityList=activityService.search(keyWork);
  99. modelMap.put("activityList",activityList);
  100. }
  101. Date after = new Date();
  102. System.out.println("before " + before.getTime());
  103. System.out.println("after " + after.getTime());
  104. System.out.println("after-before: " + (after.getTime() - before.getTime()));
  105. return modelMap;
  106. }
  107. /**
  108. * 获取当前用户的捐款信息
  109. * 传入用户UUID
  110. */
  111. @ResponseBody
  112. @RequestMapping(value = "/donateDetail/{imid}",method = RequestMethod.GET)
  113. public ModelMap projectRecodeList(@PathVariable("imid") String imid)throws Exception{
  114. User user= userService.getUserByImId(Long.valueOf(imid));
  115. ModelMap modelMap=new ModelMap();
  116. List<ProjectRecode> projectRecodeList=projectRecodeService.findByuuid(user.getUserUU());
  117. modelMap.put("projectRecodeList",projectRecodeList);
  118. //计算参与的项目总数
  119. Long sumJoin=projectRecodeService.sumJoin(user.getUserUU());
  120. modelMap.put("sumJoin",sumJoin);
  121. //捐赠的善款总数
  122. Double sumMoney=projectRecodeService.sumMoney(user.getUserUU());
  123. modelMap.put("sumMoney",sumMoney);
  124. return modelMap;
  125. }
  126. /**
  127. * 查询某一用户参与的活动
  128. */
  129. @ResponseBody
  130. @RequestMapping(value = "/joinActivity/{imid}",method = RequestMethod.GET)
  131. public ModelMap queryOne(@PathVariable("imid")String imid)throws Exception{
  132. User user= userService.getUserByImId(Long.valueOf(imid));
  133. ModelMap modelMap=new ModelMap();
  134. List<ActivityRecode> activityRecodeList=activityRecodeService.queryOne(user.getUserUU());
  135. modelMap.put("activityRecodeList",activityRecodeList);
  136. //计算某人参与的活动总数
  137. Long sumJoin=activityRecodeService.sumJoin(user.getUserUU());
  138. modelMap.put("sumJoin",sumJoin);
  139. return modelMap;
  140. }
  141. /**
  142. * 个人中心列表
  143. */
  144. @ResponseBody
  145. @RequestMapping(value = "/center",method = RequestMethod.GET)
  146. public ModelMap center(String imid) throws Exception {
  147. User user= userService.getUserByImId(Long.valueOf(imid));
  148. ModelMap modelMap=new ModelMap();
  149. modelMap.put("user",user);
  150. //捐赠的善款总数
  151. Double sumMoney=projectRecodeService.sumMoney(user.getUserUU());
  152. modelMap.put("sumMoney",sumMoney);
  153. //计算某人参与的活动总数
  154. Long sumActJoin=activityRecodeService.sumJoin(user.getUserUU());
  155. modelMap.put("sumActJoin",sumActJoin);
  156. //计算参与的项目总数
  157. Long sumProJoin=projectRecodeService.sumJoin(user.getUserUU());
  158. modelMap.put("sumProJoin",sumProJoin);
  159. return modelMap;
  160. }
  161. /**
  162. * 项目捐款排行
  163. * @param id 项目id
  164. * @param number 行数 不传默认10
  165. * @return 项目捐款排行
  166. */
  167. @ResponseBody
  168. @RequestMapping(value = "/rank",method = RequestMethod.GET)
  169. public List<DonateRank> donateRank(Long id, Integer number) {
  170. if (null == number) {
  171. number = DEFAULT_RANK_NUMBER;
  172. }
  173. return projectRecodeService.donateRank(id, number);
  174. }
  175. /**
  176. * 点击查看项目详情
  177. * @param id 项目id
  178. * @return 项目
  179. */
  180. @ResponseBody
  181. @RequestMapping(value = "/project/detail",method = RequestMethod.GET)
  182. public ModelMap showDetail(Long id) {
  183. ModelMap map = new ModelMap();
  184. Project project = projectService.findOne(id);
  185. map.put("project", project);
  186. return map;
  187. }
  188. }