AdminAchievementApiController.java 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. package com.goafanti.admin.controller;
  2. import java.util.Arrays;
  3. import javax.annotation.Resource;
  4. import javax.servlet.http.HttpServletRequest;
  5. import javax.validation.Valid;
  6. import org.springframework.beans.BeanUtils;
  7. import org.springframework.validation.BindingResult;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.RequestMethod;
  10. import org.springframework.web.bind.annotation.RequestParam;
  11. import org.springframework.web.bind.annotation.RestController;
  12. import com.goafanti.achievement.bo.InputAchievement;
  13. import com.goafanti.achievement.service.AchievementService;
  14. import com.goafanti.common.bo.Result;
  15. import com.goafanti.common.constant.ErrorConstants;
  16. import com.goafanti.common.controller.CertifyApiController;
  17. import com.goafanti.common.enums.AchievementFields;
  18. import com.goafanti.common.enums.AttachmentType;
  19. import com.goafanti.common.model.Achievement;
  20. import com.goafanti.common.utils.StringUtils;
  21. @RestController
  22. @RequestMapping(value = "/api/admin/achievement")
  23. public class AdminAchievementApiController extends CertifyApiController {
  24. @Resource
  25. private AchievementService achievementService;
  26. /**
  27. * 成熟度文本文件上传
  28. */
  29. @RequestMapping(value = "/uploadTextFile", method = RequestMethod.POST)
  30. public Result uploadTextFile(HttpServletRequest req, String sign, String uid) {
  31. Result res = new Result();
  32. if (StringUtils.isBlank(uid)) {
  33. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到用户ID", "用户ID"));
  34. return res;
  35. }
  36. AttachmentType attachmentType = AttachmentType.getField(sign);
  37. if (attachmentType == AttachmentType.ACHIEVEMENT_MATURITY_TEXT_FILE) {
  38. res.setData(handleFiles(res, "/achievement/", false, req, sign, "achievement"));
  39. } else {
  40. res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "附件标示"));
  41. }
  42. return res;
  43. }
  44. /**
  45. * 图片上传
  46. */
  47. @RequestMapping(value = "/uploadPicture", method = RequestMethod.POST)
  48. public Result uploadPicture(HttpServletRequest req, String sign) {
  49. Result res = new Result();
  50. AttachmentType attachmentType = AttachmentType.getField(sign);
  51. if (attachmentType == AttachmentType.ACHIEVEMENT_TECHNICAL_PICTURE
  52. || attachmentType == AttachmentType.ACHIEVEMENT_MATURITY_PICTURE) {
  53. res.setData(handleFiles(res, "/achievement/", false, req, sign, "achievement"));
  54. } else {
  55. res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "附件标示"));
  56. }
  57. return res;
  58. }
  59. /**
  60. * 删除
  61. */
  62. @RequestMapping(value = "/delete", method = RequestMethod.POST)
  63. private Result delete(@RequestParam(name = "ids[]", required = false) String[] ids) {
  64. Result res = new Result();
  65. if (ids == null || ids.length < 1) {
  66. res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", ""));
  67. } else {
  68. res.setData(achievementService.deleteByPrimaryKey(Arrays.asList(ids)));
  69. }
  70. return res;
  71. }
  72. /**
  73. * 详情
  74. */
  75. @RequestMapping(value = "/detail", method = RequestMethod.GET)
  76. private Result detail(String id) {
  77. Result res = new Result();
  78. if (StringUtils.isBlank(id)) {
  79. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果ID", "成果ID"));
  80. return res;
  81. }
  82. res.setData(achievementService.selectByPrimaryKey(id));
  83. return res;
  84. }
  85. /**
  86. * 成果列表
  87. */
  88. @RequestMapping(value = "/list", method = RequestMethod.GET)
  89. private Result list(Integer serialNumber, String name, String keyword, Integer category, Integer ownerType,
  90. Integer status, String releaseDateStartDate, String releaseDateEndDate, Integer releaseStatus,
  91. String pageNo, String pageSize) {
  92. Result res = new Result();
  93. Integer pNo = 1;
  94. Integer pSize = 10;
  95. if (StringUtils.isNumeric(pageSize)) {
  96. pSize = Integer.parseInt(pageSize);
  97. }
  98. if (StringUtils.isNumeric(pageNo)) {
  99. pNo = Integer.parseInt(pageNo);
  100. }
  101. res.setData(achievementService.listAchievement(serialNumber, name, keyword, category, ownerType, status,
  102. releaseDateStartDate, releaseDateEndDate, releaseStatus, pNo, pSize));
  103. return res;
  104. }
  105. /**
  106. * 新增成果
  107. */
  108. @RequestMapping(value = "/apply", method = RequestMethod.POST)
  109. private Result apply(@Valid InputAchievement ia, BindingResult bindingResult) {
  110. Result res = new Result();
  111. if (bindingResult.hasErrors()) {
  112. res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
  113. AchievementFields.getFieldDesc(bindingResult.getFieldError().getField())));
  114. return res;
  115. }
  116. res = disposeInputAchievement(res, ia);
  117. if (!res.getError().isEmpty()) {
  118. return res;
  119. }
  120. Achievement a = new Achievement();
  121. BeanUtils.copyProperties(ia, a);
  122. achievementService.saveAchievementByManager(a);
  123. return res;
  124. }
  125. /**
  126. * 修改成果
  127. */
  128. @RequestMapping(value = "/update", method = RequestMethod.POST)
  129. public Result update(@Valid InputAchievement ia, BindingResult bindingResult) {
  130. Result res = new Result();
  131. if (bindingResult.hasErrors()) {
  132. res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
  133. AchievementFields.getFieldDesc(bindingResult.getFieldError().getField())));
  134. return res;
  135. }
  136. if (StringUtils.isBlank(ia.getId())) {
  137. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果ID", "成果ID"));
  138. return res;
  139. }
  140. res = disposeInputAchievement(res, ia);
  141. if (!res.getError().isEmpty()) {
  142. return res;
  143. }
  144. Achievement a = new Achievement();
  145. BeanUtils.copyProperties(ia, a);
  146. achievementService.updateAchievementByManager(a);
  147. return res;
  148. }
  149. private Result disposeInputAchievement(Result res, InputAchievement ia) {
  150. if (StringUtils.isBlank(ia.getName())) {
  151. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果名称", "成果名称"));
  152. return res;
  153. }
  154. if (null == ia.getCategory()) {
  155. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到数据类别", "数据类别"));
  156. return res;
  157. }
  158. if (StringUtils.isBlank(ia.getKeyword())) {
  159. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到关键词", "关键词"));
  160. return res;
  161. }
  162. if (StringUtils.isBlank(ia.getOwnerName())) {
  163. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到成果所有人名称", "成果所有人名称"));
  164. return res;
  165. }
  166. if (null == ia.getOwnerType()) {
  167. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到所有人类型", "所有人类型"));
  168. return res;
  169. }
  170. if (StringUtils.isBlank(ia.getOwnerIdNumber())) {
  171. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到所有人证件号", "所有人证件号"));
  172. return res;
  173. }
  174. if (StringUtils.isBlank(ia.getOwnerMobile())) {
  175. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到所有人联系电话", "所有人联系电话"));
  176. return res;
  177. }
  178. if (StringUtils.isBlank(ia.getOwnerEmail())) {
  179. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到所有人电子邮箱", "所有人电子邮箱"));
  180. return res;
  181. }
  182. if (StringUtils.isBlank(ia.getOwnerPostalAddress())) {
  183. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到所有人通讯地址", "所有人通讯地址"));
  184. return res;
  185. }
  186. if (null == ia.getCooperationMode()) {
  187. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到合作方式", "合作方式"));
  188. return res;
  189. }
  190. return res;
  191. }
  192. }