package jnpf.base.controller; import cn.dev33.satoken.annotation.SaCheckPermission; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.Operation; import jnpf.constant.GenerateConstant; import jnpf.constant.MsgCode; import jnpf.exception.DataException; import jnpf.util.JsonUtil; import jnpf.base.ActionResult; import jnpf.base.vo.ListVO; import jnpf.base.model.comfields.ComFieldsCrForm; import jnpf.base.model.comfields.ComFieldsInfoVO; import jnpf.base.model.comfields.ComFieldsListVO; import jnpf.base.model.comfields.ComFieldsUpForm; import jnpf.base.entity.ComFieldsEntity; import jnpf.base.service.ComFieldsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import jakarta.validation.Valid; import java.util.ArrayList; import java.util.List; /** * 常用字段表 * * @author JNPF开发平台组 * @version V3.1.0 * @copyright 引迈信息技术有限公司(https://www.jnpfsoft.com) * @date 2021-03-15 10:29 */ @RestController @Tag(name = "常用字段", description = "CommonFields") @RequestMapping("/CommonFields") public class CommonFieldsController extends SuperController { @Autowired private ComFieldsService comFieldsService; /** * 常用字段列表 * * @return */ @Operation(summary = "常用字段列表") @SaCheckPermission("dataCenter.dataModel") @GetMapping public ActionResult> list() { List data = comFieldsService.getList(); List list= JsonUtil.getJsonToList(data,ComFieldsListVO.class); ListVO vo=new ListVO<>(); vo.setList(list); return ActionResult.success(vo); } /** * 常用字段详情 * * @param id 主键 * @return * @throws DataException */ @Operation(summary = "常用字段详情") @Parameter(name = "id", description = "主键", required = true) @SaCheckPermission("dataCenter.dataModel") @GetMapping("/{id}") public ActionResult info(@PathVariable("id") String id) throws DataException { ComFieldsEntity entity = comFieldsService.getInfo(id); ComFieldsInfoVO vo= JsonUtil.getJsonToBeanEx(entity,ComFieldsInfoVO.class); return ActionResult.success(vo); } /** * 新建常用字段 * * @param comFieldsCrForm 新建模型 * @return */ @Operation(summary = "新建常用字段") @Parameter(name = "comFieldsCrForm", description = "新建模型", required = true) @SaCheckPermission("dataCenter.dataModel") @PostMapping public ActionResult create(@RequestBody @Valid ComFieldsCrForm comFieldsCrForm) { ComFieldsEntity entity = JsonUtil.getJsonToBean(comFieldsCrForm, ComFieldsEntity.class); List javaSql = new ArrayList<>(); javaSql.addAll(GenerateConstant.JAVA_KEYWORD); javaSql.addAll(GenerateConstant.SQL_KEYWORD); if(javaSql.contains(entity.getField())){ return ActionResult.fail(MsgCode.SYS128.get("列名" + entity.getField())); } if (comFieldsService.isExistByFullName(entity.getField(),entity.getId())){ return ActionResult.fail(MsgCode.EXIST001.get()); } comFieldsService.create(entity); return ActionResult.success(MsgCode.SU001.get()); } /** * 修改常用字段 * * @param id 主键 * @param comFieldsUpForm 修改模型 * @return */ @Operation(summary = "修改常用字段") @Parameters({ @Parameter(name = "id", description = "主键", required = true), @Parameter(name = "comFieldsUpForm", description = "修改模型", required = true) }) @SaCheckPermission("dataCenter.dataModel") @PutMapping("/{id}") public ActionResult update(@PathVariable("id") String id, @RequestBody @Valid ComFieldsUpForm comFieldsUpForm) { ComFieldsEntity entity = JsonUtil.getJsonToBean(comFieldsUpForm, ComFieldsEntity.class); List javaSql = new ArrayList<>(); javaSql.addAll(GenerateConstant.JAVA_KEYWORD); javaSql.addAll(GenerateConstant.SQL_KEYWORD); if(javaSql.contains(entity.getField())){ return ActionResult.fail(MsgCode.SYS128.get("列名" + entity.getField())); } if (comFieldsService.isExistByFullName(entity.getField(),id)){ return ActionResult.fail(MsgCode.EXIST001.get()); } boolean flag = comFieldsService.update(id, entity); if (flag==false){ return ActionResult.fail(MsgCode.FA002.get()); } return ActionResult.success(MsgCode.SU004.get()); } /** * 删除常用字段 * * @param id 主键 * @return */ @Operation(summary = "删除常用字段") @Parameter(name = "id", description = "主键", required = true) @SaCheckPermission("dataCenter.dataModel") @DeleteMapping("/{id}") public ActionResult delete(@PathVariable("id") String id) { ComFieldsEntity entity = comFieldsService.getInfo(id); if (entity != null) { comFieldsService.delete(entity); return ActionResult.success(MsgCode.FA003.get()); } return ActionResult.fail(MsgCode.SU003.get()); } }