AdminActivityApiController.java 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. package com.goafanti.admin.controller;
  2. import java.util.Arrays;
  3. import java.util.Calendar;
  4. import javax.annotation.Resource;
  5. import javax.servlet.http.HttpServletRequest;
  6. import javax.validation.Valid;
  7. import org.springframework.beans.BeanUtils;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.validation.BindingResult;
  10. import org.springframework.web.bind.annotation.RequestMapping;
  11. import org.springframework.web.bind.annotation.RequestMethod;
  12. import org.springframework.web.bind.annotation.RequestParam;
  13. import org.springframework.web.bind.annotation.RestController;
  14. import com.goafanti.activity.bo.InputActivity;
  15. import com.goafanti.activity.service.ActivityService;
  16. import com.goafanti.common.bo.Result;
  17. import com.goafanti.common.constant.ErrorConstants;
  18. import com.goafanti.common.controller.BaseApiController;
  19. import com.goafanti.common.enums.ActivityCacheKey;
  20. import com.goafanti.common.enums.ActivityFields;
  21. import com.goafanti.common.enums.AttachmentType;
  22. import com.goafanti.common.model.Activity;
  23. import com.goafanti.common.utils.StringUtils;
  24. import com.goafanti.core.mybatis.JDBCIdGenerator;
  25. /**
  26. * 活动圈
  27. */
  28. @RestController
  29. @RequestMapping(value = "/api/admin/activity")
  30. public class AdminActivityApiController extends BaseApiController {
  31. @Resource
  32. private ActivityService activityService;
  33. @Autowired
  34. JDBCIdGenerator idGenerator;
  35. /**
  36. * 活动报名列表
  37. */
  38. @RequestMapping(value = "/signUpList", method = RequestMethod.GET)
  39. public Result signUpList(){
  40. Result res = new Result();
  41. return res;
  42. }
  43. /**
  44. * 活动列表
  45. */
  46. @RequestMapping(value = "/list", method = RequestMethod.GET)
  47. public Result list(String sTime, String eTime, String name, String host, Integer type, Integer form,
  48. String pageSize, String pageNo) {
  49. Result res = new Result();
  50. Integer pNo = 1;
  51. Integer pSize = 10;
  52. if (StringUtils.isNumeric(pageSize)) {
  53. pSize = Integer.parseInt(pageSize);
  54. }
  55. if (StringUtils.isNumeric(pageNo)) {
  56. pNo = Integer.parseInt(pageNo);
  57. }
  58. res.setData(activityService.listActivity(sTime, eTime, name, host, type, form, pNo, pSize));
  59. return res;
  60. }
  61. /**
  62. * 新增
  63. */
  64. @RequestMapping(value = "/add", method = RequestMethod.POST)
  65. public Result add(@Valid InputActivity ia, BindingResult bindingResult, String startTimeFormattedDate,
  66. String endTimeFormattedDate, String enrollDeadlineFormattedDate) {
  67. Result res = new Result();
  68. if (bindingResult.hasErrors()) {
  69. res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
  70. ActivityFields.getFieldDesc(bindingResult.getFieldError().getField())));
  71. return res;
  72. }
  73. res = disposeInputActivity(res, ia, startTimeFormattedDate);
  74. if (!res.getError().isEmpty()) {
  75. return res;
  76. }
  77. activityService.save((Activity) res.getData(), startTimeFormattedDate, endTimeFormattedDate,
  78. enrollDeadlineFormattedDate);
  79. return res;
  80. }
  81. /**
  82. * 修改
  83. */
  84. @RequestMapping(value = "/update", method = RequestMethod.POST)
  85. public Result update(@Valid InputActivity ia, BindingResult bindingResult, String startTimeFormattedDate,
  86. String endTimeFormattedDate, String enrollDeadlineFormattedDate) {
  87. Result res = new Result();
  88. if (bindingResult.hasErrors()) {
  89. res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
  90. ActivityFields.getFieldDesc(bindingResult.getFieldError().getField())));
  91. return res;
  92. }
  93. if (StringUtils.isBlank(ia.getId())) {
  94. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "活动ID"));
  95. return res;
  96. }
  97. res = disposeInputActivity(res, ia, startTimeFormattedDate);
  98. if (!res.getError().isEmpty()) {
  99. return res;
  100. }
  101. activityService.update((Activity) res.getData(), startTimeFormattedDate, endTimeFormattedDate,
  102. enrollDeadlineFormattedDate, Long.parseLong(ia.getId()));
  103. return res;
  104. }
  105. /**
  106. * 详情
  107. */
  108. @RequestMapping(value = "/detail", method = RequestMethod.GET)
  109. public Result detail(Long id) {
  110. Result res = new Result();
  111. if (null == id) {
  112. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "活动Id"));
  113. return res;
  114. }
  115. res.setData(activityService.findActivityDetail(id));
  116. return res;
  117. }
  118. /**
  119. * 删除
  120. */
  121. @RequestMapping(value = "/delete", method = RequestMethod.POST)
  122. public Result delete(@RequestParam(name = "ids[]", required = false) String[] ids) {
  123. Result res = new Result();
  124. if (ids == null || ids.length < 1) {
  125. res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", ""));
  126. } else {
  127. res.setData(activityService.batchDeleteByPrimaryKey(Arrays.asList(ids)));
  128. }
  129. return res;
  130. }
  131. /**
  132. * 活动图片上传
  133. */
  134. @RequestMapping(value = "/upload", method = RequestMethod.POST)
  135. public Result upload(HttpServletRequest req, String sign) {
  136. Result res = new Result();
  137. AttachmentType attachmentType = AttachmentType.getField(sign);
  138. if (attachmentType == AttachmentType.ACTIVITY_TITLE_PICTURE
  139. || attachmentType == AttachmentType.ACTIVITY_CONTENT_PICTURE) {
  140. Calendar c = Calendar.getInstance();
  141. res.setData(handleFile(res, false, req, sign, String.valueOf(c.get(Calendar.YEAR)),
  142. String.valueOf(c.get(Calendar.MONTH) + 1), idGenerator.generateId().toString()));
  143. } else {
  144. res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "附件标示"));
  145. }
  146. return res;
  147. }
  148. /**
  149. * 清除缓存
  150. */
  151. @RequestMapping(value = "/cleanCache", method = RequestMethod.POST)
  152. public Result cleanCache(String cacheKey) {
  153. Result res = new Result();
  154. if (StringUtils.isBlank(cacheKey)) {
  155. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "缓存标记"));
  156. return res;
  157. }
  158. if (ActivityCacheKey.ACTIVITY_PORTAL_LIST_CACHE_KEY.getCode().equals(cacheKey)) {
  159. activityService.cleanActivityPortalList(); // 清除门户端科技活动列表缓存
  160. } else {
  161. res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "缓存标记"));
  162. }
  163. return res;
  164. }
  165. private Result disposeInputActivity(Result res, InputActivity ia, String startTimeFormattedDate) {
  166. if (StringUtils.isBlank(ia.getName())) {
  167. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "标题"));
  168. return res;
  169. }
  170. if (StringUtils.isBlank(startTimeFormattedDate)) {
  171. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "活动开始时间"));
  172. return res;
  173. }
  174. if (null == ia.getType()) {
  175. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "活动类型"));
  176. return res;
  177. }
  178. if (null == ia.getForm()) {
  179. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "活动形式"));
  180. return res;
  181. }
  182. if (StringUtils.isBlank(ia.getAddress())) {
  183. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "活动地点"));
  184. return res;
  185. }
  186. Activity a = new Activity();
  187. BeanUtils.copyProperties(ia, a);
  188. res.setData(a);
  189. return res;
  190. }
  191. }