driver_api.go 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. package admin
  2. import (
  3. "ulink-admin/frame"
  4. "ulink-admin/modules/car/models/model"
  5. "ulink-admin/modules/car/models/req"
  6. "ulink-admin/modules/car/models/response"
  7. "ulink-admin/modules/car/service"
  8. "ulink-admin/pkg/excels"
  9. "ulink-admin/pkg/file"
  10. "ulink-admin/pkg/page"
  11. "ulink-admin/utils"
  12. )
  13. type DriverApi struct {
  14. DriverService *service.DriverService `inject:""`
  15. }
  16. // List 查询驾驶员分页数据
  17. // @Summary 分页查询驾驶员数据接口
  18. // @Description 分页查询驾驶员数据接口
  19. // @Tags 驾驶员相关接口
  20. // @Accept application/json
  21. // @Produce application/json
  22. // @Param Authorization header string false "Bearer 令牌"
  23. // @Param object query req.DriverQuery false "查询参数"
  24. // @Security ApiKeyAuth
  25. // @Success 200 {object} resp.Response{data=page.Page{list=model.Driver},msg=string} "分页获取驾驶员列表,返回包括列表,总数,页码,每页数量"
  26. // @Router /driver/page [get]
  27. func (this DriverApi) Page(c *frame.Context) {
  28. query := &req.DriverQuery{}
  29. c.ValidteError(c.ShouldBind(query), query)
  30. list := make([]response.DriverResponse, 0)
  31. i := this.DriverService.Page(query, &list)
  32. c.Ok(page.Page{List: list, Total: i, Size: query.PageSize})
  33. }
  34. // List 查询驾驶员所有数据
  35. // @Summary 查询全部数据驾驶员数据接口
  36. // @Description 查询全部数据驾驶员数据接口
  37. // @Tags 驾驶员相关接口
  38. // @Accept application/json
  39. // @Produce application/json
  40. // @Param Authorization header string false "Bearer 令牌"
  41. // @Param object query req.DriverQuery false "查询参数"
  42. // @Security ApiKeyAuth
  43. // @Success 200 {object} resp.Response{data=model.Driver,msg=string} "分页获取驾驶员列表,返回包括列表,总数,页码,每页数量"
  44. // @Router /driver/list [get]
  45. func (this DriverApi) List(c *frame.Context) {
  46. query := &req.DriverQuery{}
  47. list := make([]response.DriverResponse, 0)
  48. c.ValidteError(c.ShouldBind(query), query)
  49. this.DriverService.List(query, &list)
  50. c.Ok(list)
  51. }
  52. // Get 根据驾驶员Id获取详细信息
  53. // @Summary 驾驶员详情查询接口
  54. // @Description 驾驶员详情查询接口
  55. // @Tags 驾驶员相关接口
  56. // @Accept application/json
  57. // @Produce application/json
  58. // @Param Authorization header string false "Bearer 令牌"
  59. // @Param id query int true "id" id
  60. // @Security ApiKeyAuth
  61. // @Success 200 {object} resp.Response{data=model.Driver,msg=string} "返回驾驶员详情查询"
  62. // @Router /driver [get]
  63. func (this DriverApi) Get(c *frame.Context) {
  64. var req struct {
  65. Id int64 `form:"id" binding:"required" msg:"id不存在" ` //id
  66. }
  67. c.ValidteError(c.ShouldBind(&req), &req)
  68. c.Ok(this.DriverService.Get(req.Id))
  69. }
  70. // Add 新增驾驶员
  71. // @Summary 新增驾驶员接口
  72. // @Description 新增驾驶员接口
  73. // @Tags 驾驶员相关接口
  74. // @Accept application/json
  75. // @Produce application/json
  76. // @Param Authorization header string false "Bearer 令牌"
  77. // @Param data body model.Driver true "驾驶员实体对象"
  78. // @Success 200 {object} resp.Response{msg=string} "操作状态"
  79. // @Router /driver/add [post]
  80. func (this DriverApi) Add(c *frame.Context) {
  81. params, driver := &req.DriverAdd{}, &model.Driver{}
  82. c.ValidteError(c.ShouldBind(params), params)
  83. utils.CopyFields(driver, params)
  84. this.DriverService.Insert(driver)
  85. }
  86. // Edit 修改驾驶员数据接口
  87. // @Summary 修改驾驶员接口
  88. // @Description 新增驾驶员接口
  89. // @Tags 驾驶员相关接口
  90. // @Accept application/json
  91. // @Produce application/json
  92. // @Param Authorization header string false "Bearer 令牌"
  93. // @Param data body model.Driver true "驾驶员实体对象"
  94. // @Success 200 {object} resp.Response{msg=string} "操作状态"
  95. // @Router /driver/edit [put]
  96. func (this DriverApi) Edit(c *frame.Context) {
  97. params, driver := &req.DriverEdit{}, &model.Driver{}
  98. c.ValidteError(c.ShouldBind(params), params)
  99. utils.CopyFields(driver, params)
  100. this.DriverService.Edit(driver, c.Cols())
  101. }
  102. // Delete 删除驾驶员数据
  103. // @Summary 删除驾驶员接口
  104. // @Description 删除驾驶员接口
  105. // @Tags 驾驶员相关接口
  106. // @Accept application/json
  107. // @Produce application/json
  108. // @Param Authorization header string false "Bearer 令牌"
  109. // @Param id path int true "id" id
  110. // @Success 200 {object} resp.Response{msg=string} "操作状态"
  111. // @Router /driver [delete]
  112. func (a DriverApi) Delete(c *frame.Context) {
  113. var req struct {
  114. Ids []int64 `form:"ids" binding:"required" msg:"ids不存在"` //ids
  115. }
  116. c.ValidteError(c.ShouldBind(&req), &req)
  117. a.DriverService.Delete(req.Ids)
  118. }
  119. // Export 导出excel
  120. func (this DriverApi) Export(c *frame.Context) {
  121. query := &req.DriverQuery{}
  122. list := make([]model.Driver, 0)
  123. c.ValidteError(c.ShouldBind(query), query)
  124. this.DriverService.List(query, list)
  125. excelList := make([]interface{}, 0)
  126. for _, driver := range list {
  127. excelList = append(excelList, driver)
  128. }
  129. _, files := excels.ExportExcel(excelList, "驾驶员数据表")
  130. file.DownloadExcel(c, files)
  131. }