UserJtBusinessController.java 7.6 KB

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