vehicle_record.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package vehicle
  2. import (
  3. "fmt"
  4. "wails-app/internal/model/common/response"
  5. "wails-app/internal/model/vehicle/request"
  6. vehicleResponse "wails-app/internal/model/vehicle/response"
  7. "github.com/gin-gonic/gin"
  8. )
  9. // GetVehicleRecordByID 根据ID获取车辆记录
  10. func GetVehicleRecordByID(c *gin.Context) {
  11. id := c.Query("id")
  12. uintID := uint(0)
  13. _, err := fmt.Sscanf(id, "%d", &uintID)
  14. if err != nil {
  15. response.FailWithMessage("无效的ID", c)
  16. return
  17. }
  18. record, err := vehicleRecordService.GetVehicleRecordByID(uintID)
  19. if err != nil {
  20. response.FailWithMessage(err.Error(), c)
  21. return
  22. }
  23. response.OkWithData(record, c)
  24. }
  25. // ListVehicleRecordsByPlateNumber 根据车牌号获取车辆记录列表
  26. func ListVehicleRecordsByPlateNumber(c *gin.Context) {
  27. plateNumber := c.Query("plate_number")
  28. if plateNumber == "" {
  29. response.FailWithMessage("车牌号不能为空", c)
  30. return
  31. }
  32. page := 1
  33. pageSize := 10
  34. if p := c.Query("page"); p != "" {
  35. fmt.Sscanf(p, "%d", &page)
  36. }
  37. if ps := c.Query("page_size"); ps != "" {
  38. fmt.Sscanf(ps, "%d", &pageSize)
  39. }
  40. total, list, err := vehicleRecordService.ListVehicleRecordsByPlateNumber(plateNumber, page, pageSize)
  41. if err != nil {
  42. response.FailWithMessage(err.Error(), c)
  43. return
  44. }
  45. response.OkWithData(vehicleResponse.VehicleRecordList{
  46. Total: total,
  47. List: list,
  48. }, c)
  49. }
  50. // ListVehicleRecords 获取所有车辆记录列表
  51. func ListVehicleRecords(c *gin.Context) {
  52. var info request.VehicleRecordRequest
  53. err := c.ShouldBindJSON(&info)
  54. list, total, err := vehicleRecordService.ListVehicleRecords(info)
  55. if err != nil {
  56. response.FailWithMessage(err.Error(), c)
  57. return
  58. }
  59. response.OkWithDetailed(response.PageResult{
  60. List: list,
  61. Total: total,
  62. Page: info.Page,
  63. PageSize: info.PageSize,
  64. }, "获取成功", c)
  65. }