package com.example.demo.controller; import com.example.demo.constant.CodeConstant; import com.example.demo.entity.RenovationBuildDetailEntity; import com.example.demo.entity.RenovationPartsDetailEntity; import com.example.demo.mapper.IRenovationBuildDetailMapper; import com.example.demo.service.*; import com.example.demo.util.Result; import com.example.demo.vo.request.RequestRenovationParts; import com.example.demo.vo.response.ResponseRenovationBuildDetail; import com.example.demo.vo.response.ResponseRenovationPartsDetail; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.omg.IOP.Codec; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; /** * Created by Hb_zzZ on 2020/8/12. */ @Slf4j @RestController @RequestMapping("/change") @Api(tags = "装修配件模块") public class RenovationController { @Autowired private IRenovationPartsService renovationPartsService; @Autowired private IRenovationBuildService renovationBuildService; @Autowired private IRenovationPartsTypeService renovationPartsTypeService; @Autowired private IRenovationPartsDetailService renovationPartsDetailService; @Autowired private IRenovationBuildDetailService renovationBuildDetailService; @Autowired private IRenovationPartsAttachingService renovationPartsAttachingService; @Autowired private IRenovationPartsSizeService renovationPartsSizeService; @Autowired private IRenovationPartsColorService renovationPartsColorService; @Autowired private IRenovationPartsShapeService renovationPartsShapeService; @Autowired private IRenovationPartsClassifyService renovationPartsClassifyService; @Autowired private IRenovationPartsStyleService renovationPartsStyleService; @Autowired private IRenovationPartsBrandService renovationPartsBrandService; /** * 获取所有装修配件 * @return */ @ApiOperation("获取所有装修配件") @RequestMapping(value = "/getRenovationPartsList", method = RequestMethod.POST) private Result getRenovationPartsList(){ return Result.success(renovationPartsService.getRenovationPartsList()); } /** * 获取所有墙面地板的数据 * @return */ @ApiOperation("获取所有墙面地板的数据") @RequestMapping(value = "/getRenovationBuildList", method = RequestMethod.POST) private Result getRenovationBuildList(){ return Result.success(renovationBuildService.getRenovationBuildList()); } /** * 获取所有装饰总类 * @return */ @ApiOperation("获取所有装饰总类") @RequestMapping(value = "/findAllParts", method = RequestMethod.POST) public Result findAllParts(){ return Result.success(renovationPartsService.findAll()); } /** * 获取所有硬装总类 * @return */ @ApiOperation("获取所有硬装总类") @RequestMapping(value = "/findAllBuild", method = RequestMethod.POST) public Result findAllBuild(){ return Result.success(renovationBuildService.findAll()); } /** * 根据总类id获取装饰细类 * @return */ @ApiOperation("根据总类id获取装饰细类") @RequestMapping(value = "/findPartsTypeById", method = RequestMethod.POST) @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "装饰总类id", dataType = "String")}) public Result findPartsTypeById(@RequestBody RequestRenovationParts parts){ if(parts.getId() == null){ return Result.failure(CodeConstant.FAILURE_CODE_3001, CodeConstant.FAILURE_MSG_3001); } return Result.success(renovationPartsTypeService.findTypeByPartsId(parts.getId())); } /** * 根据细类id获取装饰详情 * @return */ @ApiOperation("根据细类id获取装饰详情") @RequestMapping(value = "/findPartsDetailById", method = RequestMethod.POST) @ApiImplicitParams({ @ApiImplicitParam(name = "colorId", value = "色系id", dataType = "String"), @ApiImplicitParam(name = "classifyId", value = "风格id", dataType = "String"), @ApiImplicitParam(name = "id", value = "细类id", dataType = "String"), @ApiImplicitParam(name = "pageNum", value = "页码", dataType = "String"), @ApiImplicitParam(name = "pageSize", value = "页数", dataType = "String")}) public Result findPartsDetailById(@RequestBody RequestRenovationParts parts){ if(parts.getId() == null){ return Result.failure(CodeConstant.FAILURE_CODE_3001, CodeConstant.FAILURE_MSG_3001); } Page page = PageHelper.startPage(parts.getPageNum(), parts.getPageSize(), true); // PageHelper.orderBy(" a.create_time desc"); List list = renovationPartsDetailService.findDetailByTypeId(parts.getId(), parts.getColorId(), parts.getClassifyId()); Page a = new Page(parts.getPageNum(), parts.getPageSize()); a.setTotal(page.getTotal()); PageInfo pageInfo = a.toPageInfo(); pageInfo.setList(list); return Result.success(pageInfo); } /** * 根据硬装总类id获取硬装详情 * @return */ @ApiOperation("根据硬装总类id获取硬装详情") @RequestMapping(value = "/findBuildDetailById", method = RequestMethod.POST) @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "硬装总类id", dataType = "String")}) public Result findBuildDetailById(@RequestBody RequestRenovationParts parts){ if(parts.getId() == null){ return Result.failure(CodeConstant.FAILURE_CODE_3001, CodeConstant.FAILURE_MSG_3001); } return Result.success(renovationBuildDetailService.findBuildDetail(parts.getId())); } /** * 根据硬装详情id获取 * @return */ @ApiOperation("根据硬装详情id获取") @RequestMapping(value = "/findBuildDetailOne", method = RequestMethod.POST) @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "硬装详情id", dataType = "String")}) public Result findBuildDetailOne(@RequestBody RequestRenovationParts parts){ if(parts.getId() == null){ return Result.failure(CodeConstant.FAILURE_CODE_3001, CodeConstant.FAILURE_MSG_3001); } return Result.success(renovationBuildDetailService.findById(parts.getId())); } /** * 根据装饰id获取 * @return */ @ApiOperation("根据装饰id获取") @RequestMapping(value = "/findPartsDetailOne", method = RequestMethod.POST) @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "细类id", dataType = "String")}) public Result findPartsDetailOne(@RequestBody RequestRenovationParts parts){ if(parts.getId() == null){ return Result.failure(CodeConstant.FAILURE_CODE_3001, CodeConstant.FAILURE_MSG_3001); } RenovationPartsDetailEntity partsDetailEntity = renovationPartsDetailService.findById(parts.getId()); if(partsDetailEntity == null){ return Result.success(); } ResponseRenovationPartsDetail partsDetail = new ResponseRenovationPartsDetail(); BeanUtils.copyProperties(partsDetailEntity, partsDetail); partsDetail.setEditing(renovationPartsAttachingService.findAttachinByDetailId(parts.getId())); partsDetail.setSize(renovationPartsSizeService.findSizeByDetailId(parts.getId())); return Result.success(partsDetail); } /** * 获取所有家装色系 * @return */ @ApiOperation("获取所有家装色系") @RequestMapping(value = "/findPartsColorList", method = RequestMethod.POST) public Result findPartsColorList(){ return Result.success(renovationPartsColorService.findAll()); } /** * 搜索获取装修详情 * @return */ @ApiOperation("搜索获取装修详情") @RequestMapping(value = "/findPartsDetailKeyWord", method = RequestMethod.POST) @ApiImplicitParams({ @ApiImplicitParam(name = "keyWord", value = "搜索关键词", dataType = "String")}) public Result findPartsDetailKeyWord(@RequestBody RequestRenovationParts parts){ if(StringUtils.isEmpty(parts.getKeyWord())){ return Result.failure(CodeConstant.FAILURE_CODE_3001, CodeConstant.FAILURE_MSG_3001); } List list = renovationPartsDetailService.findByKeyWord(parts.getKeyWord()); if(list == null || list.size() <= 0){ return Result.success(); } for (ResponseRenovationPartsDetail partsDetail : list) { partsDetail.setEditing(renovationPartsAttachingService.findAttachinByDetailId(partsDetail.getId())); partsDetail.setSize(renovationPartsSizeService.findSizeByDetailId(partsDetail.getId())); } return Result.success(list); } /** * 获取所有家装风格 * @return */ @ApiOperation("获取所有家装风格") @RequestMapping(value = "/findPartsStyleList", method = RequestMethod.POST) public Result findPartsStyleList(){ return Result.success(renovationPartsStyleService.findAll()); } /** * 获取所有家装分类 * @return */ @ApiOperation("获取所有家装分类") @RequestMapping(value = "/findPartsClassifyList", method = RequestMethod.POST) public Result findPartsClassifyList(){ return Result.success(renovationPartsClassifyService.findAll()); } /** * 获取所有家装分形状 * @return */ @ApiOperation("获取所有家装形状") @RequestMapping(value = "/findPartsShapeList", method = RequestMethod.POST) public Result findPartsShapeList(){ return Result.success(renovationPartsShapeService.findAll()); } /** * 获取所有品牌 * @return */ @ApiOperation("获取所有品牌") @RequestMapping(value = "/findPartsBrandList", method = RequestMethod.POST) public Result findPartsBrandList(){ return Result.success(renovationPartsBrandService.findAll()); } }