ContractController.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. package jnpf.controller;
  2. import io.swagger.v3.oas.annotations.tags.Tag;
  3. import io.swagger.v3.oas.annotations.Parameter;
  4. import io.swagger.v3.oas.annotations.Parameters;
  5. import io.swagger.v3.oas.annotations.Operation;
  6. import jnpf.base.ActionResult;
  7. import jnpf.base.Pagination;
  8. import jnpf.base.controller.SuperController;
  9. import jnpf.base.vo.PageListVO;
  10. import jnpf.base.vo.PaginationVO;
  11. import jnpf.constant.MsgCode;
  12. import jnpf.entity.ContractEntity;
  13. import jnpf.model.ContractForm;
  14. import jnpf.model.ContractInfoVO;
  15. import jnpf.model.ContractListVO;
  16. import jnpf.service.ContractService;
  17. import jnpf.util.JsonUtil;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.web.bind.annotation.*;
  20. import jakarta.validation.Valid;
  21. import java.util.List;
  22. /**
  23. * Contract
  24. * 版本: V3.0.0
  25. * 版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
  26. * 作者: JNPF开发平台组
  27. * 日期: 2020-12-31
  28. */
  29. @RestController
  30. @Tag(name = "示例接口", description = "Contract")
  31. @RequestMapping("/Contract")
  32. public class ContractController extends SuperController<ContractService, ContractEntity> {
  33. @Autowired
  34. private ContractService contractService;
  35. /**
  36. * 获取列表
  37. *
  38. * @param pagination 分页模型
  39. * @return
  40. */
  41. @Operation(summary = "获取列表")
  42. @GetMapping("/List")
  43. public ActionResult<PageListVO<ContractListVO>> list(Pagination pagination) {
  44. List<ContractEntity> entity = contractService.getlist(pagination);
  45. List<ContractListVO> listVo = JsonUtil.getJsonToList(JsonUtil.getObjectToStringDateFormat(entity, "yyyy-MM-dd HH:mm:ss"), ContractListVO.class);
  46. PaginationVO vo = JsonUtil.getJsonToBean(pagination, PaginationVO.class);
  47. return ActionResult.page(listVo, vo);
  48. }
  49. /**
  50. * 获取详情
  51. *
  52. * @param id 主键
  53. * @return
  54. */
  55. @Operation(summary = "获取详情")
  56. @GetMapping("/{id}")
  57. @Parameters({
  58. @Parameter(name = "id", description = "主键", required = true),
  59. })
  60. public ActionResult<ContractInfoVO> info(@PathVariable("id") String id) {
  61. ContractEntity entity = contractService.getInfo(id);
  62. ContractInfoVO vo = JsonUtil.getJsonToBean(entity, ContractInfoVO.class);
  63. return ActionResult.success(vo);
  64. }
  65. /**
  66. * 新建
  67. *
  68. * @param contractForm 新建模型
  69. * @return
  70. */
  71. @Operation(summary = "新建")
  72. @PostMapping
  73. @Parameters({
  74. @Parameter(name = "contractForm", description = "示例模型",required = true),
  75. })
  76. public ActionResult create(@RequestBody @Valid ContractForm contractForm) {
  77. ContractEntity entity = JsonUtil.getJsonToBean(contractForm, ContractEntity.class);
  78. contractService.create(entity);
  79. return ActionResult.success(MsgCode.SU002.get());
  80. }
  81. /**
  82. * @param id 主键
  83. * @param contractForm 修改模型
  84. * @return
  85. */
  86. @Operation(summary = "修改")
  87. @PutMapping("/{id}")
  88. @Parameters({
  89. @Parameter(name = "contractForm", description = "示例模型",required = true),
  90. @Parameter(name = "id", description = "主键", required = true),
  91. })
  92. public ActionResult update(@PathVariable("id") String id, @RequestBody @Valid ContractForm contractForm) {
  93. ContractEntity entity = JsonUtil.getJsonToBean(contractForm, ContractEntity.class);
  94. contractService.update(id, entity);
  95. return ActionResult.success(MsgCode.SU004.get());
  96. }
  97. /**
  98. * 删除
  99. *
  100. * @param id 主键
  101. * @return
  102. */
  103. @Operation(summary = "删除")
  104. @DeleteMapping("/{id}")
  105. @Parameters({
  106. @Parameter(name = "id", description = "主键", required = true),
  107. })
  108. public ActionResult delete(@PathVariable("id") String id) {
  109. ContractEntity entity = contractService.getInfo(id);
  110. contractService.delete(entity);
  111. return ActionResult.success(MsgCode.SU003.get());
  112. }
  113. }