aircraft-backend/src/main/java/com/aircraft/api/fly/controller/CpMaterialController.java
2025-07-07 00:38:44 +08:00

137 lines
5.5 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.aircraft.api.fly.controller;
import com.aircraft.api.fly.entity.CpMaterial;
import com.aircraft.api.fly.service.CpMaterialService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.base.annotation.SysLog;
import com.base.helper.BaseController;
import com.base.helper.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
* <p>
* 前端控制器
* </p>
*
* @author gjj
* @since 2025-07-05
*/
@Api(tags = "素材管理")
@RestController
@RequestMapping("/cpMaterial")
public class CpMaterialController extends BaseController {
private static final Logger LOG = LoggerFactory.getLogger(CpMaterialController.class);
@Autowired
private CpMaterialService entityService;
@SysLog(action = "findByPage", value = "分页查询素材")
@ApiOperation(value = "分页查询素材", notes = "分页查询素材")
@RequestMapping(method = RequestMethod.GET)
@ApiImplicitParams({@ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"),
@ApiImplicitParam(name = "current", value = "当前页面从1开始", paramType = "query")})
public Result<IPage<CpMaterial>> findByPage(final CpMaterial example, final Page page) {
IPage<CpMaterial> records = entityService.page(example,page);
return new Result(true, records);
}
@SysLog(action = "delete", value = "删除素材")
@ApiOperation(value = "删除素材")
@RequestMapping(value = "{id}", method = {RequestMethod.DELETE})
@ApiImplicitParam(name = "id", value = "素材ID", required = true, paramType = "path")
public Result delete(@PathVariable final Integer id) {
try {
entityService.removeById(id);
return new Result(true, "成功删除素材", null);
} catch (DataIntegrityViolationException e) {
LOG.error("删除素材失败", e);
return new Result(false, "删除素材失败", "该素材不能删除,存在其他关联数据");
} catch (Exception e) {
LOG.error("删除素材失败", e);
return new Result(false, "删除素材失败", e.getMessage());
}
}
@SysLog(action = "one", value = "查询单个素材")
@ApiOperation(value = "查询单个素材")
@RequestMapping(value = "{id}", method = {RequestMethod.GET})
@ApiImplicitParam(name = "id", value = "素材ID", required = true, paramType = "path")
public Result one(@PathVariable final Integer id) {
try {
CpMaterial entity = entityService.getById(id);
return new Result(true, entity);
} catch (Exception e) {
LOG.error("查询单个素材失败", e);
return new Result(false, new CpMaterial());
}
}
@SysLog(action = "add", value = "添加素材")
@ApiOperation(value = "添加素材")
@RequestMapping(method = {RequestMethod.POST})
public Result add(@Valid @RequestBody final CpMaterial entity, final BindingResult result) {
try {
if (result.hasErrors()) {
Map<String, String> map = this.getErrors(result);
String errorMsg = map.entrySet().iterator().next().getValue();
return new Result(false, "保存素材失败", errorMsg, map);
} else {
entityService.save(entity);
return new Result(true, "成功保存素材", null);
}
} catch (Exception e) {
LOG.error("添加素材失败", e);
return new Result(false, "保存素材失败", e.getMessage());
}
}
@SysLog(action = "update", value = "修改素材")
@ApiOperation(value = "修改素材")
@RequestMapping(method = {RequestMethod.PUT})
public Result update(@Valid @RequestBody final CpMaterial entity, final BindingResult result) {
try {
if (result.hasErrors()) {
Map<String, String> map = this.getErrors(result);
String errorMsg = map.entrySet().iterator().next().getValue();
return new Result(false, "修改素材失败", errorMsg, map);
} else {
if (null == entity.getId()) {
throw new RuntimeException("id不能为空");
}
entityService.updateById(entity);
return new Result(true, "成功修改素材", null);
}
} catch (Exception e) {
LOG.error("修改素材失败", e);
return new Result(false, "修改素材失败", e.getMessage());
}
}
@ApiOperation(value = "全部素材")
@RequestMapping(value = "all", method = RequestMethod.GET)
public Result<List<CpMaterial>> all(CpMaterial example) {
List<CpMaterial> entitys = entityService.list(example);
if (null != entitys) {
return new Result<>(true, entitys);
}
return new Result<>(true, Collections.emptyList());
}
}