RenovationController.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. package com.example.demo.controller;
  2. import com.example.demo.constant.CodeConstant;
  3. import com.example.demo.entity.RenovationBuildDetailEntity;
  4. import com.example.demo.entity.RenovationPartsDetailEntity;
  5. import com.example.demo.mapper.IRenovationBuildDetailMapper;
  6. import com.example.demo.service.*;
  7. import com.example.demo.util.Result;
  8. import com.example.demo.vo.request.RequestRenovationParts;
  9. import com.example.demo.vo.response.ResponseRenovationBuildDetail;
  10. import com.example.demo.vo.response.ResponseRenovationPartsDetail;
  11. import com.github.pagehelper.Page;
  12. import com.github.pagehelper.PageHelper;
  13. import com.github.pagehelper.PageInfo;
  14. import io.swagger.annotations.Api;
  15. import io.swagger.annotations.ApiImplicitParam;
  16. import io.swagger.annotations.ApiImplicitParams;
  17. import io.swagger.annotations.ApiOperation;
  18. import lombok.extern.slf4j.Slf4j;
  19. import org.omg.IOP.Codec;
  20. import org.springframework.beans.BeanUtils;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.util.StringUtils;
  23. import org.springframework.web.bind.annotation.RequestBody;
  24. import org.springframework.web.bind.annotation.RequestMapping;
  25. import org.springframework.web.bind.annotation.RequestMethod;
  26. import org.springframework.web.bind.annotation.RestController;
  27. import java.util.ArrayList;
  28. import java.util.List;
  29. /**
  30. * Created by Hb_zzZ on 2020/8/12.
  31. */
  32. @Slf4j
  33. @RestController
  34. @RequestMapping("/change")
  35. @Api(tags = "装修配件模块")
  36. public class RenovationController {
  37. @Autowired
  38. private IRenovationPartsService renovationPartsService;
  39. @Autowired
  40. private IRenovationBuildService renovationBuildService;
  41. @Autowired
  42. private IRenovationPartsTypeService renovationPartsTypeService;
  43. @Autowired
  44. private IRenovationPartsDetailService renovationPartsDetailService;
  45. @Autowired
  46. private IRenovationBuildDetailService renovationBuildDetailService;
  47. @Autowired
  48. private IRenovationPartsAttachingService renovationPartsAttachingService;
  49. @Autowired
  50. private IRenovationPartsSizeService renovationPartsSizeService;
  51. @Autowired
  52. private IRenovationPartsColorService renovationPartsColorService;
  53. @Autowired
  54. private IRenovationPartsShapeService renovationPartsShapeService;
  55. @Autowired
  56. private IRenovationPartsClassifyService renovationPartsClassifyService;
  57. @Autowired
  58. private IRenovationPartsStyleService renovationPartsStyleService;
  59. @Autowired
  60. private IRenovationPartsBrandService renovationPartsBrandService;
  61. /**
  62. * 获取所有装修配件
  63. * @return
  64. */
  65. @ApiOperation("获取所有装修配件")
  66. @RequestMapping(value = "/getRenovationPartsList", method = RequestMethod.POST)
  67. private Result getRenovationPartsList(){
  68. return Result.success(renovationPartsService.getRenovationPartsList());
  69. }
  70. /**
  71. * 获取所有墙面地板的数据
  72. * @return
  73. */
  74. @ApiOperation("获取所有墙面地板的数据")
  75. @RequestMapping(value = "/getRenovationBuildList", method = RequestMethod.POST)
  76. private Result getRenovationBuildList(){
  77. return Result.success(renovationBuildService.getRenovationBuildList());
  78. }
  79. /**
  80. * 获取所有装饰总类
  81. * @return
  82. */
  83. @ApiOperation("获取所有装饰总类")
  84. @RequestMapping(value = "/findAllParts", method = RequestMethod.POST)
  85. public Result findAllParts(){
  86. return Result.success(renovationPartsService.findAll());
  87. }
  88. /**
  89. * 获取所有硬装总类
  90. * @return
  91. */
  92. @ApiOperation("获取所有硬装总类")
  93. @RequestMapping(value = "/findAllBuild", method = RequestMethod.POST)
  94. public Result findAllBuild(){
  95. return Result.success(renovationBuildService.findAll());
  96. }
  97. /**
  98. * 根据总类id获取装饰细类
  99. * @return
  100. */
  101. @ApiOperation("根据总类id获取装饰细类")
  102. @RequestMapping(value = "/findPartsTypeById", method = RequestMethod.POST)
  103. @ApiImplicitParams({
  104. @ApiImplicitParam(name = "id", value = "装饰总类id", dataType = "String")})
  105. public Result findPartsTypeById(@RequestBody RequestRenovationParts parts){
  106. if(parts.getId() == null){
  107. return Result.failure(CodeConstant.FAILURE_CODE_3001, CodeConstant.FAILURE_MSG_3001);
  108. }
  109. return Result.success(renovationPartsTypeService.findTypeByPartsId(parts.getId()));
  110. }
  111. /**
  112. * 根据细类id获取装饰详情
  113. * @return
  114. */
  115. @ApiOperation("根据细类id获取装饰详情")
  116. @RequestMapping(value = "/findPartsDetailById", method = RequestMethod.POST)
  117. @ApiImplicitParams({
  118. @ApiImplicitParam(name = "colorId", value = "色系id", dataType = "String"),
  119. @ApiImplicitParam(name = "classifyId", value = "风格id", dataType = "String"),
  120. @ApiImplicitParam(name = "id", value = "细类id", dataType = "String"),
  121. @ApiImplicitParam(name = "pageNum", value = "页码", dataType = "String"),
  122. @ApiImplicitParam(name = "pageSize", value = "页数", dataType = "String")})
  123. public Result findPartsDetailById(@RequestBody RequestRenovationParts parts){
  124. if(parts.getId() == null){
  125. return Result.failure(CodeConstant.FAILURE_CODE_3001, CodeConstant.FAILURE_MSG_3001);
  126. }
  127. Page page = PageHelper.startPage(parts.getPageNum(), parts.getPageSize(), true);
  128. // PageHelper.orderBy(" a.create_time desc");
  129. List<ResponseRenovationPartsDetail> list = renovationPartsDetailService.findDetailByTypeId(parts.getId(), parts.getColorId(), parts.getClassifyId());
  130. Page<ResponseRenovationPartsDetail> a = new Page<ResponseRenovationPartsDetail>(parts.getPageNum(), parts.getPageSize());
  131. a.setTotal(page.getTotal());
  132. PageInfo<ResponseRenovationPartsDetail> pageInfo = a.toPageInfo();
  133. pageInfo.setList(list);
  134. return Result.success(pageInfo);
  135. }
  136. /**
  137. * 根据硬装总类id获取硬装详情
  138. * @return
  139. */
  140. @ApiOperation("根据硬装总类id获取硬装详情")
  141. @RequestMapping(value = "/findBuildDetailById", method = RequestMethod.POST)
  142. @ApiImplicitParams({
  143. @ApiImplicitParam(name = "id", value = "硬装总类id", dataType = "String")})
  144. public Result findBuildDetailById(@RequestBody RequestRenovationParts parts){
  145. if(parts.getId() == null){
  146. return Result.failure(CodeConstant.FAILURE_CODE_3001, CodeConstant.FAILURE_MSG_3001);
  147. }
  148. return Result.success(renovationBuildDetailService.findBuildDetail(parts.getId()));
  149. }
  150. /**
  151. * 根据硬装详情id获取
  152. * @return
  153. */
  154. @ApiOperation("根据硬装详情id获取")
  155. @RequestMapping(value = "/findBuildDetailOne", method = RequestMethod.POST)
  156. @ApiImplicitParams({
  157. @ApiImplicitParam(name = "id", value = "硬装详情id", dataType = "String")})
  158. public Result findBuildDetailOne(@RequestBody RequestRenovationParts parts){
  159. if(parts.getId() == null){
  160. return Result.failure(CodeConstant.FAILURE_CODE_3001, CodeConstant.FAILURE_MSG_3001);
  161. }
  162. return Result.success(renovationBuildDetailService.findById(parts.getId()));
  163. }
  164. /**
  165. * 根据装饰id获取
  166. * @return
  167. */
  168. @ApiOperation("根据装饰id获取")
  169. @RequestMapping(value = "/findPartsDetailOne", method = RequestMethod.POST)
  170. @ApiImplicitParams({
  171. @ApiImplicitParam(name = "id", value = "细类id", dataType = "String")})
  172. public Result findPartsDetailOne(@RequestBody RequestRenovationParts parts){
  173. if(parts.getId() == null){
  174. return Result.failure(CodeConstant.FAILURE_CODE_3001, CodeConstant.FAILURE_MSG_3001);
  175. }
  176. RenovationPartsDetailEntity partsDetailEntity = renovationPartsDetailService.findById(parts.getId());
  177. if(partsDetailEntity == null){
  178. return Result.success();
  179. }
  180. ResponseRenovationPartsDetail partsDetail = new ResponseRenovationPartsDetail();
  181. BeanUtils.copyProperties(partsDetailEntity, partsDetail);
  182. partsDetail.setEditing(renovationPartsAttachingService.findAttachinByDetailId(parts.getId()));
  183. partsDetail.setSize(renovationPartsSizeService.findSizeByDetailId(parts.getId()));
  184. return Result.success(partsDetail);
  185. }
  186. /**
  187. * 获取所有家装色系
  188. * @return
  189. */
  190. @ApiOperation("获取所有家装色系")
  191. @RequestMapping(value = "/findPartsColorList", method = RequestMethod.POST)
  192. public Result findPartsColorList(){
  193. return Result.success(renovationPartsColorService.findAll());
  194. }
  195. /**
  196. * 搜索获取装修详情
  197. * @return
  198. */
  199. @ApiOperation("搜索获取装修详情")
  200. @RequestMapping(value = "/findPartsDetailKeyWord", method = RequestMethod.POST)
  201. @ApiImplicitParams({
  202. @ApiImplicitParam(name = "keyWord", value = "搜索关键词", dataType = "String")})
  203. public Result findPartsDetailKeyWord(@RequestBody RequestRenovationParts parts){
  204. if(StringUtils.isEmpty(parts.getKeyWord())){
  205. return Result.failure(CodeConstant.FAILURE_CODE_3001, CodeConstant.FAILURE_MSG_3001);
  206. }
  207. List<ResponseRenovationPartsDetail> list = renovationPartsDetailService.findByKeyWord(parts.getKeyWord());
  208. if(list == null || list.size() <= 0){
  209. return Result.success();
  210. }
  211. for (ResponseRenovationPartsDetail partsDetail : list) {
  212. partsDetail.setEditing(renovationPartsAttachingService.findAttachinByDetailId(partsDetail.getId()));
  213. partsDetail.setSize(renovationPartsSizeService.findSizeByDetailId(partsDetail.getId()));
  214. }
  215. return Result.success(list);
  216. }
  217. /**
  218. * 获取所有家装风格
  219. * @return
  220. */
  221. @ApiOperation("获取所有家装风格")
  222. @RequestMapping(value = "/findPartsStyleList", method = RequestMethod.POST)
  223. public Result findPartsStyleList(){
  224. return Result.success(renovationPartsStyleService.findAll());
  225. }
  226. /**
  227. * 获取所有家装分类
  228. * @return
  229. */
  230. @ApiOperation("获取所有家装分类")
  231. @RequestMapping(value = "/findPartsClassifyList", method = RequestMethod.POST)
  232. public Result findPartsClassifyList(){
  233. return Result.success(renovationPartsClassifyService.findAll());
  234. }
  235. /**
  236. * 获取所有家装分形状
  237. * @return
  238. */
  239. @ApiOperation("获取所有家装形状")
  240. @RequestMapping(value = "/findPartsShapeList", method = RequestMethod.POST)
  241. public Result findPartsShapeList(){
  242. return Result.success(renovationPartsShapeService.findAll());
  243. }
  244. /**
  245. * 获取所有品牌
  246. * @return
  247. */
  248. @ApiOperation("获取所有品牌")
  249. @RequestMapping(value = "/findPartsBrandList", method = RequestMethod.POST)
  250. public Result findPartsBrandList(){
  251. return Result.success(renovationPartsBrandService.findAll());
  252. }
  253. }