AdminTechProjectController.java 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. package com.goafanti.admin.controller;
  2. import java.text.ParseException;
  3. import java.util.ArrayList;
  4. import java.util.Date;
  5. import java.util.List;
  6. import javax.annotation.Resource;
  7. import javax.validation.Valid;
  8. import org.springframework.beans.BeanUtils;
  9. import org.springframework.beans.factory.annotation.Value;
  10. import org.springframework.stereotype.Controller;
  11. import org.springframework.validation.BindingResult;
  12. import org.springframework.web.bind.annotation.RequestMapping;
  13. import org.springframework.web.bind.annotation.RequestMethod;
  14. import org.springframework.web.bind.annotation.RequestParam;
  15. import com.goafanti.common.bo.Result;
  16. import com.goafanti.common.constant.ErrorConstants;
  17. import com.goafanti.common.controller.CertifyApiController;
  18. import com.goafanti.common.enums.CopyrightFields;
  19. import com.goafanti.common.model.TechProject;
  20. import com.goafanti.common.model.TechProjectLog;
  21. import com.goafanti.common.model.TechWebsite;
  22. import com.goafanti.common.model.User;
  23. import com.goafanti.common.utils.Base64Utils;
  24. import com.goafanti.common.utils.DateUtils;
  25. import com.goafanti.common.utils.StringUtils;
  26. import com.goafanti.core.mybatis.page.Pagination;
  27. import com.goafanti.techproject.bo.InputTechProject;
  28. import com.goafanti.techproject.bo.TechProjectManageListBo;
  29. import com.goafanti.techproject.bo.TechWebsiteDetailBo;
  30. import com.goafanti.techproject.bo.TechWebsiteListBo;
  31. import com.goafanti.techproject.service.TechProjectLogService;
  32. import com.goafanti.techproject.service.TechProjectService;
  33. import com.goafanti.techproject.service.TechWebsiteService;
  34. import com.goafanti.user.service.UserService;
  35. @Controller
  36. @RequestMapping(value = "/api/admintechproject")
  37. public class AdminTechProjectController extends CertifyApiController {
  38. @Value(value = "${aesSecretKey}")
  39. private String aesSecretKey = null;
  40. @Resource
  41. private TechProjectService techProjectService;
  42. @Resource
  43. private TechWebsiteService techWebsiteService;
  44. @Resource
  45. private TechProjectLogService techProjectLogService;
  46. @Resource
  47. private UserService userService;
  48. /**
  49. * 科技项目申报列表
  50. *
  51. * @param pageNo
  52. * @param pageSize
  53. * @return
  54. */
  55. @SuppressWarnings("unchecked")
  56. @RequestMapping(value = "/listTechProject", method = RequestMethod.POST)
  57. public Result listClientTechProject(String province, String unitName, String pageNo, String pageSize) {
  58. Result res = new Result();
  59. Integer pNo = 1;
  60. Integer pSize = 10;
  61. if (StringUtils.isNumeric(pageSize)) {
  62. pSize = Integer.parseInt(pageSize);
  63. }
  64. if (StringUtils.isNumeric(pageNo)) {
  65. pNo = Integer.parseInt(pageNo);
  66. }
  67. Pagination<TechProjectManageListBo> t = techProjectService.listManageTechProject(province, unitName, pNo, pSize);
  68. if (null != t) {
  69. List<TechProjectManageListBo> l = (List<TechProjectManageListBo>) t.getList();
  70. for (TechProjectManageListBo w : l) {
  71. if (!StringUtils.isBlank(w.getPassword())) {
  72. w.setPassword(Base64Utils.decodeData(w.getPassword()));
  73. }
  74. }
  75. t.setList(l);
  76. res.setData(t);
  77. }
  78. return res;
  79. }
  80. /**
  81. * 科技项目申报
  82. *
  83. * @return
  84. */
  85. @RequestMapping(value = "/applyTechProject", method = RequestMethod.POST)
  86. public Result applyTechProject(@Valid InputTechProject techProject, BindingResult bindingResult) {
  87. Result res = new Result();
  88. if (bindingResult.hasErrors()) {
  89. res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
  90. CopyrightFields.getFieldDesc(bindingResult.getFieldError().getField())));
  91. return res;
  92. }
  93. if (!checkAdminLogin(res)) {
  94. return res;
  95. }
  96. if (StringUtils.isBlank(techProject.getUid())) {
  97. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到用户", "用户"));
  98. return res;
  99. }
  100. User curUser = userService.selectByPrimaryKey(techProject.getUid());
  101. if (!checkCertify(res, curUser)) {
  102. return res;
  103. }
  104. TechProject tp = new TechProject();
  105. BeanUtils.copyProperties(techProject, tp);
  106. techProjectService.saveTechProject(tp, userService.selectByPrimaryKey(tp.getUid()).getAid());
  107. return res;
  108. }
  109. /**
  110. * 科技项目申报详情
  111. *
  112. * @return
  113. */
  114. @RequestMapping(value = "/techProjectDetial", method = RequestMethod.POST)
  115. public Result techProjectDetial(String pid) {
  116. Result res = new Result();
  117. res.setData(techProjectService.selectProjectDetail(pid));
  118. return res;
  119. }
  120. /**
  121. * 科技项目状态流转
  122. *
  123. * @param pid
  124. * @return
  125. */
  126. @RequestMapping(value = "/techProjectLog", method = RequestMethod.POST)
  127. public Result techProjectLog(String pid) {
  128. Result res = new Result();
  129. res.setData(techProjectLogService.selectTechProjectLogByPid(pid));
  130. return res;
  131. }
  132. /**
  133. * update科技项目
  134. *
  135. * @param t
  136. * @param l
  137. * @param recordTimeFormattedDate
  138. * @return
  139. * @throws ParseException
  140. */
  141. @RequestMapping(value = "/updateTechProject", method = RequestMethod.POST)
  142. public Result updateTechProject(TechProject t, TechProjectLog l, String recordTimeFormattedDate)
  143. throws ParseException {
  144. Result res = new Result();
  145. Date recordTime = null;
  146. if (!StringUtils.isBlank(recordTimeFormattedDate)) {
  147. recordTime = DateUtils.parseDate(recordTimeFormattedDate, "yyyy-MM-dd");
  148. }
  149. res.setData(techProjectService.updateTechProject(t, l, recordTime));
  150. return res;
  151. }
  152. /**
  153. * 删除科技项目记录
  154. *
  155. * @param ids
  156. * @return
  157. */
  158. @RequestMapping(value = "/deleteTechProject", method = RequestMethod.POST)
  159. public Result deleteTechProject(@RequestParam(name = "ids[]", required = true) String[] ids) {
  160. Result res = new Result();
  161. List<String> id = new ArrayList<String>();
  162. for (String s : ids) {
  163. id.add(s);
  164. }
  165. res.setData(techProjectService.deleteByPrimaryKey(id));
  166. return res;
  167. }
  168. /**
  169. * 删除科技网址记录
  170. * @param ids
  171. * @return
  172. */
  173. @RequestMapping(value = "/deleteTechWebsite", method = RequestMethod.POST)
  174. public Result deleteTechWebsite(@RequestParam(name = "ids[]", required = true) String[] ids){
  175. Result res = new Result();
  176. List<String> id = new ArrayList<String>();
  177. for (String s : ids) {
  178. id.add(s);
  179. }
  180. res.setData(techWebsiteService.deleteByPrimaryKey(id));
  181. return res;
  182. }
  183. /**
  184. * 科技单位网址管理list
  185. */
  186. @SuppressWarnings("unchecked")
  187. @RequestMapping(value = "/listTechWebsite", method = RequestMethod.POST)
  188. public Result listTechWebsite(String province, String unitName, String pageNo, String pageSize) {
  189. Result res = new Result();
  190. Integer pNo = 1;
  191. Integer pSize = 10;
  192. if (StringUtils.isNumeric(pageSize)) {
  193. pSize = Integer.parseInt(pageSize);
  194. }
  195. if (StringUtils.isNumeric(pageNo)) {
  196. pNo = Integer.parseInt(pageNo);
  197. }
  198. Pagination<TechWebsiteListBo> t = techWebsiteService.listTechWebsite(province, unitName, pNo, pSize);
  199. if (null != t) {
  200. List<TechWebsiteListBo> l = (List<TechWebsiteListBo>) t.getList();
  201. for (TechWebsiteListBo w : l) {
  202. if (!StringUtils.isBlank(w.getPassword())) {
  203. w.setPassword(Base64Utils.decodeData(w.getPassword()));
  204. }
  205. }
  206. t.setList(l);
  207. res.setData(t);
  208. }
  209. return res;
  210. }
  211. /**
  212. * 网址管理详情
  213. *
  214. * @param wid
  215. * @return
  216. */
  217. @RequestMapping(value = "/techWebsiteDetail", method = RequestMethod.POST)
  218. public Result techWebsiteDetail(String id) {
  219. Result res = new Result();
  220. TechWebsiteDetailBo w = techWebsiteService.selectTechWebsiteDetail(id);
  221. if (null != w && !StringUtils.isBlank(w.getPassword())) {
  222. w.setPassword(Base64Utils.decodeData(w.getPassword()));
  223. }
  224. res.setData(w);
  225. return res;
  226. }
  227. /**
  228. * 科技单位网址add+update
  229. *
  230. * @param t
  231. * @return
  232. */
  233. @RequestMapping(value = "/disposeTechWebsite", method = RequestMethod.POST)
  234. public Result disposeTechWebsite(TechWebsite w) {
  235. Result res = new Result();
  236. if (null != w && null != (w.getPassword())) {
  237. w.setPassword(Base64Utils.encodeData(w.getPassword().trim()));
  238. }
  239. res.setData(techWebsiteService.saveWebsite(w));
  240. return res;
  241. }
  242. }