xyc
2024-07-16 2c1091471c027641d0e73ec7d50a4a0464e86d8f
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/basicInfo/controller/XhProductModelController.java
@@ -6,82 +6,78 @@
import com.zt.common.annotation.QueryParam;
import com.zt.common.db.query.QueryFilter;
import com.zt.common.servlet.Result;
import com.zt.common.servlet.PageResult;
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.service.ZtProductService;
import com.zt.life.dto.ImportErrDto;
import com.zt.life.modules.mainPart.basicInfo.model.ProductImg;
import com.zt.life.modules.mainPart.basicInfo.model.TyProductModel;
import com.zt.life.modules.mainPart.basicInfo.model.XhProductModel;
import com.zt.life.modules.mainPart.basicInfo.service.XhProductModelService;
import com.zt.life.modules.sysPictureBase.model.SysPictureBase;
import com.zt.life.modules.sysPictureBase.service.SysPictureBaseService;
import com.zt.life.modules.mainPart.sysPictureBase.service.SysPictureBaseService;
import com.zt.life.util.ImportUtil;
import com.zt.modules.oss.service.SysOssService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletResponse;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
 * product_model
 *
 * @author zt generator
 * @author zt generator
 * @since 1.0.0 2024-02-29
 */
@RestController
@RequestMapping("/basicInfo/XhProductModel/")
@Api(tags="product_model")
@Api(tags = "product_model")
public class XhProductModelController {
    @Autowired
    private XhProductModelService xhProductModelService;
    @Autowired
    private SysOssService sysOssService;
    @Autowired
    private SysPictureBaseService sysPictureBaseService;
    @GetMapping("page")
    @ApiOperation("分页")
    @ApiImplicitParams({
        @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING),
        @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING),
        @ApiImplicitParam(name = "name", value = "名称", dataType = Constant.QT.STRING, format = "NAME^LK"),
        @ApiImplicitParam(name = "nodeType", value = "节点类型", dataType = Constant.QT.STRING, format = "node_type^EQ"),
        @ApiImplicitParam(name = "pid", value = "上级ID", dataType = Constant.QT.STRING)
            @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING),
            @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING),
            @ApiImplicitParam(name = "name", value = "名称", dataType = Constant.QT.STRING, format = "NAME^LK"),
            @ApiImplicitParam(name = "productType", value = "节点类型", dataType = Constant.QT.STRING, format = "product_type^EQ"),
            @ApiImplicitParam(name = "pid", value = "上级ID", dataType = Constant.QT.STRING)
    })
    public Result<List<XhProductModel>> page(@ApiIgnore @QueryParam QueryFilter queryFilter){
    public Result<List<XhProductModel>> page(@ApiIgnore @QueryParam QueryFilter queryFilter) {
        return Result.ok(xhProductModelService.page(queryFilter));
    }
    @GetMapping("tree")
    public Result<List<XhProductModel>> getTreeList() {
        List<XhProductModel> list = xhProductModelService.getAllTree();
    public Result<List<XhProductModel>> getTreeList(Boolean showXdy,Integer ztShow) {
        List<XhProductModel> list = xhProductModelService.getAllTree(showXdy,ztShow);
        return Result.ok(list);
    }
    @GetMapping("getProduct")
    public Result<List<ProductImg>> getProduct(Long productId) {
        List<ProductImg> list = xhProductModelService.getProduct(productId);
        return Result.ok(list);
    }
    @GetMapping("{id}")
    @ApiOperation("信息")
    public Result<XhProductModel> get(@PathVariable("id") Long id){
    public Result<XhProductModel> get(@PathVariable("id") Long id) {
        XhProductModel data = xhProductModelService.get(id);
        if (data.getOperatImg() != null) {
            data.setOperatImgName(sysPictureBaseService.get(data.getOperatImg()).getName());
@@ -101,25 +97,46 @@
        return Result.ok(list);
    }
    @PostMapping("importProductExcel")
    @ApiOperation("导入产品模型")
    @LogOperation("导入产品模型")
    public Result importProductExcel(MultipartFile file, String progressId,Long pid) {
        Result<List<ImportErrDto>> result = Result.ok();
        try {
            List<Map<String, Object>> importResults = xhProductModelService.importProductExcel(file,progressId,pid);
            StringBuilder str = new StringBuilder();
            ImportUtil.importResult(result, importResults, str);
            ImportUtil.ImportErrResult(result, importResults, str);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }
    @PostMapping
    @ApiOperation("新增")
    @LogOperation("新增")
    public Result insert(@RequestBody XhProductModel xhProductModel){
    public Result insert(@RequestBody XhProductModel xhProductModel) {
        //效验数据
        ValidatorUtils.validateEntity(xhProductModel, AddGroup.class, DefaultGroup.class);
        Integer no = xhProductModelService.getNo(xhProductModel.getPid());
        xhProductModel.setSort(no + 1);
        Integer no = xhProductModelService.getNo(xhProductModel.getPid(),xhProductModel.getProductType());
        if (xhProductModel.getSort() < no) {
            xhProductModel.setSort(no + 1);
        }
        xhProductModelService.insert(xhProductModel);
        return Result.ok();
    }
    @PostMapping("get")
    public Result getSelect(@RequestBody List<XhProductModel> list){
        for(XhProductModel xhProductModel:list){
    public Result getSelect(@RequestBody List<XhProductModel> list) {
        for (XhProductModel xhProductModel : list) {
            xhProductModel.setSrcId(xhProductModel.getId());
            xhProductModel.setId(null);
            xhProductModel.setSort(xhProductModel.getSort());
            xhProductModel.setProductType(xhProductModel.getNodeType());
            this.insert(xhProductModel);
        }
@@ -129,7 +146,7 @@
    @PutMapping
    @ApiOperation("修改")
    @LogOperation("修改")
    public Result update(@RequestBody XhProductModel xhProductModel){
    public Result update(@RequestBody XhProductModel xhProductModel) {
        //效验数据
        ValidatorUtils.validateEntity(xhProductModel, UpdateGroup.class, DefaultGroup.class);
        xhProductModelService.update(xhProductModel);
@@ -140,7 +157,7 @@
    @DeleteMapping
    @ApiOperation("删除")
    @LogOperation("删除")
    public Result delete(@RequestBody Long[] ids){
    public Result delete(@RequestBody Long[] ids) {
        //效验数据
        AssertUtils.isArrayEmpty(ids, "id");
        xhProductModelService.delete(ids);