package com.zt.life.core.controller; import com.zt.common.annotation.LogOperation; import com.zt.common.servlet.Result; import com.zt.common.validator.AssertUtils; import com.zt.common.validator.ValidatorUtils; import com.zt.common.validator.group.AddGroup; import com.zt.common.validator.group.DefaultGroup; import com.zt.common.validator.group.UpdateGroup; import com.zt.life.core.dto.ProductDto; import com.zt.life.core.mapstruct.ProductMapper; import com.zt.life.core.model.Product; import com.zt.life.core.service.ProductService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * CORE_PRODUCT * * @author zt generator * @since 1.0.0 2020-07-15 */ @RestController @RequestMapping("/product") @Api(tags = "CORE_PRODUCT") public class ProductController { @Autowired private ProductService productService; @Autowired private ProductMapper productMapper; @GetMapping("tree") @ApiOperation("树形结构") public Result> tree( @RequestParam(value = "parentId", required = false, defaultValue = "0") Long parentId) { List list = this.productService.getProductTree(parentId); return Result.ok(list); } @GetMapping("treeSelect") @ApiOperation("树形结构") public Result> treeSelect( @RequestParam(value = "parentIds", required = false, defaultValue = "0") String parentIds, @RequestParam(value = "showLevel", required = false, defaultValue = "L5") String showLevel, @RequestParam(value = "pageCode", required = false) String pageCode){ List list = this.productService.getProductTree(parentIds, showLevel,pageCode); List productDtos = productMapper.toDto(list); return Result.ok(productDtos); } @GetMapping("treeSelectTest") @ApiOperation("树形结构") public Result> treeSelectTest( @RequestParam(value = "parentIds", required = false, defaultValue = "0") String parentIds, @RequestParam(value = "showLevel", required = false, defaultValue = "L5") String showLevel) { List list = this.productService.getProductTree2(parentIds, showLevel); return Result.ok(productMapper.toDto(list)); } @GetMapping("getShipList") @ApiOperation("獲取X号") public Result> getShipList() { List list = this.productService.getShipList(); return Result.ok(productMapper.toDto(list)); } @GetMapping("getSubList") @ApiOperation("子节点列表") public Result> getSubList(String pid) { List list = this.productService.getSubList(pid); return Result.ok(productMapper.toDto(list)); } @GetMapping("getListByIds") @ApiOperation("列表") public Result> getListByIds(String ids) { List list = this.productService.getListByIds(ids); return Result.ok(productMapper.toDto(list)); } @GetMapping("{id}") @ApiOperation("信息") public Result get(@PathVariable("id") Long id) { Product data = productService.get(id); return Result.ok(data); } @PostMapping @ApiOperation("新增") @LogOperation("新增") public Result insert(@RequestBody Product productTree) { // 效验数据 ValidatorUtils.validateEntity(productTree, AddGroup.class, DefaultGroup.class); productService.insert(productTree); return Result.ok(); } @PutMapping @ApiOperation("修改") @LogOperation("修改") public Result update(@RequestBody Product productTree) { // 效验数据 ValidatorUtils.validateEntity(productTree, UpdateGroup.class, DefaultGroup.class); productService.update(productTree); return Result.ok(); } @DeleteMapping @ApiOperation("删除") @LogOperation("删除") public Result delete(@RequestBody Long[] ids) { // 效验数据 AssertUtils.isArrayEmpty(ids, "id"); productService.deleteLogic(ids); return Result.ok(); } }