UserJtBusinessController.java 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. package com.goafanti.business.controller;
  2. import java.util.Date;
  3. import javax.annotation.Resource;
  4. import javax.servlet.http.HttpServletRequest;
  5. import org.springframework.web.bind.annotation.RequestMapping;
  6. import org.springframework.web.bind.annotation.RequestMethod;
  7. import org.springframework.web.bind.annotation.RestController;
  8. import com.goafanti.business.service.JtBusinessService;
  9. import com.goafanti.business.service.JtBusinessServiceWithCategoryMapper;
  10. import com.goafanti.common.bo.Result;
  11. import com.goafanti.common.constant.ErrorConstants;
  12. import com.goafanti.common.controller.CertifyApiController;
  13. import com.goafanti.common.enums.AttachmentType;
  14. import com.goafanti.common.enums.ProjectAuditStatus;
  15. import com.goafanti.common.model.JtBusinessCategory;
  16. import com.goafanti.common.model.JtBusinessProject;
  17. @RestController
  18. @RequestMapping(value = "/api/user/jtBusiness")
  19. public class UserJtBusinessController extends CertifyApiController{
  20. @Resource
  21. private JtBusinessService jtBusinessService;
  22. @Resource JtBusinessServiceWithCategoryMapper JtBusinessServiceWithCategoryMapper;
  23. /*
  24. *
  25. * 新增项目
  26. *
  27. * */
  28. @RequestMapping(value="/project/apply",method=RequestMethod.POST)
  29. private Result insertJtBusinessProject(JtBusinessProject jtBusinessProject) {
  30. Result result=new Result();
  31. disposeProjectParam(result, jtBusinessProject);
  32. if(result.getError().size()<=0) {
  33. result.setData(jtBusinessService.insertProject(jtBusinessProject));
  34. }
  35. return result;
  36. }
  37. private void disposeProjectParam(Result result,JtBusinessProject jtBusinessProject ) {
  38. if(jtBusinessProject.getName() == null) {
  39. result.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "名称不可为空", "名称"));
  40. return ;
  41. }
  42. if(jtBusinessProject.getCategoryId() == null) {
  43. result.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "品类"));
  44. return ;
  45. }
  46. //todo 判断品类是否存在
  47. JtBusinessCategory jtBusinessCategory=jtBusinessService.getCategoryById(jtBusinessProject.getCategoryId());
  48. if(jtBusinessCategory==null ||jtBusinessCategory.getLayer()!=2) {
  49. result.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "二级品类未找到"));
  50. return ;
  51. }
  52. if(jtBusinessProject.getProvince()==null)
  53. {
  54. result.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "省份"));
  55. return ;
  56. }
  57. // if(jtBusinessProject.getCity()==null)
  58. // {
  59. // result.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "城市"));
  60. // return ;
  61. // }
  62. // if(jtBusinessProject.getPrice()==null)
  63. // {
  64. // result.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "价格"));
  65. // return ;
  66. // }
  67. return ;
  68. }
  69. /*
  70. * 项目详情
  71. *
  72. * */
  73. @RequestMapping(value="/project/detail",method=RequestMethod.GET)
  74. private Result getProjectDetail(String id) {
  75. Result result=new Result();
  76. if(id == null) {
  77. result.getError().add(buildError(ErrorConstants.PARAM_ERROR,"","id不能为空,"));
  78. return result;
  79. }
  80. result.setData(jtBusinessService.getBusinessProjectDetail(id));
  81. return result;
  82. }
  83. /*
  84. * 删除项目
  85. * */
  86. @RequestMapping(value="/project/delete",method=RequestMethod.GET)
  87. private Result deleteProjecById(String id) {
  88. Result result=new Result();
  89. if(id == null) {
  90. result.getError().add(buildError(ErrorConstants.PARAM_ERROR,"","id不能为空,"));
  91. return result;
  92. }
  93. result.setData(jtBusinessService.deleteProjectById(id));
  94. return result;
  95. }
  96. @RequestMapping(value="/project/update",method=RequestMethod.POST)
  97. private Result updateProject(JtBusinessProject jtBusinessProject) {
  98. Result result=new Result();
  99. jtBusinessProject.setCreateTime(null);
  100. jtBusinessProject.setNumber(null);
  101. disposeProjectParam(result, jtBusinessProject);
  102. if(result.getError().size()>0) {
  103. return result;
  104. }
  105. if(jtBusinessProject.getPrice()==null) {
  106. result.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "价格不可为空,"));
  107. }
  108. jtBusinessService.updateProject(jtBusinessProject);
  109. return result;
  110. }
  111. @RequestMapping(value = "/project/uploadPicture", method = RequestMethod.POST)
  112. public Result uploadProjectPicture(HttpServletRequest req, String sign) {
  113. Result res = new Result();
  114. AttachmentType attachmentType = AttachmentType.getField(sign);
  115. if (attachmentType == AttachmentType.JT_PROJECT_PICTURE
  116. ) {
  117. res.setData(handleFiles(res, "/jtProjects/", false, req, sign, ""));
  118. } else {
  119. res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "图片"));
  120. }
  121. return res;
  122. }
  123. /*
  124. * 查询品类
  125. *
  126. * */
  127. @RequestMapping(value="/category/list",method=RequestMethod.GET)
  128. private Result getCategoryList(JtBusinessCategory jtBusinessCategory,Integer pageNo,Integer pageSize) {
  129. Result result=new Result();
  130. result.setData(JtBusinessServiceWithCategoryMapper.getCategoryListByCondition(jtBusinessCategory,pageNo,pageSize));
  131. return result;
  132. }
  133. /**
  134. * 发布项目
  135. * @param id
  136. * @param auditStatus
  137. * @return
  138. */
  139. @RequestMapping(value = "/project/publish",method=RequestMethod.GET)
  140. public Result publishProject(String id,Integer auditStatus){
  141. Result res = new Result();
  142. if(auditStatus != ProjectAuditStatus.CREATE.getCode()){
  143. res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "当前状态无法发布"));
  144. }
  145. JtBusinessProject jtBusinessProject = new JtBusinessProject();
  146. jtBusinessProject.setId(id);
  147. jtBusinessProject.setAuditStatus(ProjectAuditStatus.AUDITED.getCode());
  148. jtBusinessProject.setReleaseDate(new Date());
  149. jtBusinessService.updateProject(jtBusinessProject);
  150. return res;
  151. }
  152. /**
  153. * 撤销发布
  154. * @param id
  155. * @param auditStatus
  156. * @return
  157. */
  158. @RequestMapping(value = "/project/offShelf",method=RequestMethod.GET)
  159. public Result offShelf(String id,Integer auditStatus){
  160. Result res = new Result();
  161. if(auditStatus != ProjectAuditStatus.AUDITED.getCode()){
  162. res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "当前状态无法撤销发布"));
  163. }
  164. JtBusinessProject jtBusinessProject = new JtBusinessProject();
  165. jtBusinessProject.setId(id);
  166. jtBusinessProject.setAuditStatus(ProjectAuditStatus.REVOKE.getCode());
  167. jtBusinessService.updateProject(jtBusinessProject);
  168. return res;
  169. }
  170. /**
  171. * 刷新发布时间
  172. * @param id
  173. * @param auditStatus
  174. * @return
  175. */
  176. @RequestMapping(value = "/project/refreshPublish",method=RequestMethod.GET)
  177. public Result refreshPublish(String id,Integer auditStatus){
  178. Result res = new Result();
  179. if(auditStatus != ProjectAuditStatus.AUDITED.getCode()){
  180. res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "当前状态无法刷新发布"));
  181. }
  182. JtBusinessProject jtBusinessProject = new JtBusinessProject();
  183. jtBusinessProject.setId(id);
  184. jtBusinessProject.setReleaseDate(new Date());
  185. jtBusinessService.updateProject(jtBusinessProject);
  186. return res;
  187. }
  188. }