package cn.lili.controller.goods; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.goods.entity.dos.CategorySpecification; import cn.lili.modules.goods.entity.dos.Specification; import cn.lili.modules.goods.service.CategorySpecificationService; import cn.lili.modules.goods.service.SpecificationService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; /** * 管理端,商品分类规格接口 * * @author pikachu * @since 2020-02-27 15:18:56 */ @RestController @Api(tags = "管理端,商品分类规格接口") @RequestMapping("/manager/goods/categorySpec") public class CategorySpecificationManagerController { /** * 分类规格 */ @Autowired private CategorySpecificationService categorySpecificationService; /** * 规格 */ @Autowired private SpecificationService specificationService; @ApiOperation(value = "查询某分类下绑定的规格信息") @GetMapping(value = "/{categoryId}") @ApiImplicitParam(name = "categoryId", value = "分类id", required = true, dataType = "String", paramType = "path") public List getCategorySpec(@PathVariable String categoryId) { return categorySpecificationService.getCategorySpecList(categoryId); } @ApiOperation(value = "查询某分类下绑定的规格信息,商品操作使用") @GetMapping(value = "/goods/{categoryId}") @ApiImplicitParam(name = "categoryId", value = "分类id", required = true, dataType = "String", paramType = "path") public List getSpec(@PathVariable String categoryId) { return specificationService.list(); } @ApiOperation(value = "保存某分类下绑定的规格信息") @PostMapping(value = "/{categoryId}") @ApiImplicitParams({ @ApiImplicitParam(name = "categoryId", value = "分类id", required = true, paramType = "path", dataType = "String"), @ApiImplicitParam(name = "categorySpecs", value = "规格id数组", required = true, paramType = "query", dataType = "String[]") }) public ResultMessage saveCategoryBrand(@PathVariable String categoryId, @RequestParam String[] categorySpecs) { //删除分类规格绑定信息 this.categorySpecificationService.remove(new QueryWrapper().eq("category_id", categoryId)); //绑定规格信息 if (categorySpecs != null && categorySpecs.length > 0) { List categorySpecifications = new ArrayList<>(); for (String categorySpec : categorySpecs) { categorySpecifications.add(new CategorySpecification(categoryId, categorySpec)); } categorySpecificationService.saveBatch(categorySpecifications); } return ResultUtil.success(); } }