utilController.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package controller
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "iot_manager_service/app/device/model"
  5. "iot_manager_service/app/device/service"
  6. "iot_manager_service/util"
  7. "net/http"
  8. "strconv"
  9. )
  10. // 工具服务
  11. var Util = new(utilCtl)
  12. type utilCtl struct{}
  13. // 查询类型 type:1-厂家,2-品牌,3-型号
  14. //deviceType 设备类型
  15. //0-摄像头
  16. //1 灯控
  17. //2 信息屏
  18. //3 配电箱
  19. //4 网关
  20. //5 环境监测
  21. //6 ZigBee
  22. //7 一键告警终端
  23. //8 一键告警服务端
  24. //11 桥梁传感器
  25. //12 ip音柱
  26. //13 井盖
  27. //14 垃圾桶
  28. func (c *utilCtl) GetModelList(ctx *gin.Context) {
  29. t := ctx.Query("type")
  30. d := ctx.Query("deviceType")
  31. modeType, err := strconv.Atoi(t)
  32. if err != nil || modeType < 1 || modeType > 3 {
  33. ctx.JSON(http.StatusOK, util.ParamsInvalidResponse("type invalid", nil))
  34. return
  35. }
  36. deviceType, err := strconv.Atoi(d)
  37. if err != nil {
  38. ctx.JSON(http.StatusOK, util.ParamsInvalidResponse("deviceType invalid", nil))
  39. return
  40. }
  41. vendor, err := service.UtilService.Get(modeType, deviceType)
  42. if err != nil {
  43. ctx.JSON(http.StatusOK, util.FailResponse(err.Error(), nil))
  44. return
  45. }
  46. var result []model.VendorDetail
  47. if modeType == model.TypeVendor {
  48. result = append(result, model.VendorDetail{
  49. Id: vendor.ID,
  50. ParentId: vendor.ParentId,
  51. Vendor: vendor.VendorValue,
  52. Brand: "",
  53. Model: "",
  54. })
  55. } else if modeType == model.TypeBrand {
  56. result = append(result, model.VendorDetail{
  57. Id: vendor.ID,
  58. ParentId: vendor.ParentId,
  59. Vendor: "",
  60. Brand: vendor.VendorValue,
  61. Model: "",
  62. })
  63. } else if modeType == model.TypeModel {
  64. result = append(result, model.VendorDetail{
  65. Id: vendor.ID,
  66. ParentId: vendor.ParentId,
  67. Vendor: "",
  68. Brand: "",
  69. Model: vendor.VendorValue,
  70. })
  71. }
  72. ctx.JSON(http.StatusOK, util.SuccessResponse("", result))
  73. }