propertycontroller.kt 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package cn.sagacloud.server.datacenter.controllers
  2. import cn.sagacloud.server.datacenter.models.entities.Property
  3. import cn.sagacloud.server.datacenter.services.PropertyService
  4. import com.sybotan.base.extensions.toJson
  5. import com.sybotan.database.SFilter
  6. import com.sybotan.service.SPageContext
  7. import com.sybotan.service.models.requests.SCountRequest
  8. import com.sybotan.service.models.requests.SCreateRequest
  9. import com.sybotan.service.models.requests.SQueryRequest
  10. import com.sybotan.service.models.requests.SUpdateRequest
  11. import com.sybotan.service.models.responses.SBaseResponse
  12. import com.sybotan.service.models.responses.SCountResponse
  13. import com.sybotan.service.models.responses.SCreateResponse
  14. import com.sybotan.service.models.responses.SQueryResponse
  15. import io.swagger.annotations.Api
  16. import io.swagger.annotations.ApiOperation
  17. import org.slf4j.LoggerFactory
  18. import org.springframework.web.bind.annotation.PostMapping
  19. import org.springframework.web.bind.annotation.RequestBody
  20. import org.springframework.web.bind.annotation.RequestMapping
  21. import org.springframework.web.bind.annotation.RestController
  22. /**
  23. * 资产接口
  24. *
  25. * @author 张维新
  26. */
  27. @Api(tags = ["资产接口"])
  28. @RestController
  29. @RequestMapping("/object/property")
  30. open class propertycontroller {
  31. /**
  32. * 创建资产
  33. *
  34. * @param request 资产对象列表
  35. * @return 创建结果信息
  36. */
  37. @ApiOperation(value = "创建资产信息", notes = "")
  38. @PostMapping(value = ["/create"])
  39. fun create(@RequestBody request: SCreateRequest<Property>): SCreateResponse<Property> {
  40. return PropertyService.createList( request)
  41. } // Function create()
  42. /**
  43. * 根据id删除资产
  44. *
  45. * @param idList id数组
  46. * @return 删除的结果信息
  47. */
  48. @ApiOperation(value = "根据id删除资产信息", notes = "")
  49. @PostMapping(value = ["/delete"])
  50. fun delete(@RequestBody idList: ArrayList<Property>): SBaseResponse {
  51. return PropertyService.deleteByKeysList(idList)
  52. } // Function delete()
  53. /**
  54. * 更新资产信息
  55. *
  56. * @param request 更新的内容对象
  57. * @return 更新的结果
  58. */
  59. @ApiOperation(value = "更新资产信息", notes = "")
  60. @PostMapping(value = ["/update"])
  61. fun update(@RequestBody request: SUpdateRequest<Property>): SBaseResponse {
  62. return PropertyService.updateList(request)
  63. } // Function update()
  64. /**
  65. * 查询资产信息
  66. *
  67. * @param request 查询信息条件
  68. * @return 查询结果
  69. */
  70. @ApiOperation(value = "查询资产信息", notes = "级联查询对象:项目(project)、建筑(building)、楼层(floor)、设备(equipment)、设备族(equipFamilyList)、设备族名称(familyName)")
  71. @PostMapping(value = ["/query"])
  72. fun query(@RequestBody request: SQueryRequest): SQueryResponse<Property> {
  73. return PropertyService.pageQuery(request)
  74. } // Function query()
  75. /**
  76. * 根据条件查询统计数量
  77. */
  78. @ApiOperation(value = "根据条件查询统计数量", notes = "例子: 已经关联岗位的资产数量(\"Filters\": \" not EquipId isNull\"),未关联岗位的资产数量(\"Filters\": \" EquipId isNull\")")
  79. @PostMapping(value = ["/count"])
  80. fun count(@RequestBody request: SCountRequest): SCountResponse {
  81. return PropertyService.count(request)
  82. } // Function count()
  83. } // Class AssetsController