captureUintService.go 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. package service
  2. import (
  3. "fmt"
  4. "iot_manager_service/app/dao"
  5. "iot_manager_service/app/model"
  6. "iot_manager_service/app/utils"
  7. "time"
  8. )
  9. // 中间件管理服务
  10. var CaptureUintService = new(captureUintService)
  11. type captureUintService struct{}
  12. func (s *captureUintService) CaptureSubmit(req *model.CaptureDetail) *utils.Errors {
  13. device := req.CaptureUint
  14. if device.TenantId == "" {
  15. device.TenantId = "000000" // todo: 使用登录态
  16. }
  17. device.UpdateUser = "TODO" // todo: 使用登录态
  18. device.UpdateTime = time.Now()
  19. if gateway, err := GatewayService.GetOne(device.GatewayId); err == nil {
  20. device.GatewayName = gateway.GatewayName
  21. device.GatewaySN = gateway.GatewaySN
  22. }
  23. if device.ID == 0 {
  24. device.CreateTime = time.Now()
  25. device.CreateUser = "TODO" // todo: 使用登录态
  26. if device.IsExistedBySN() {
  27. fmt.Printf("Create IsExistedBySN \n")
  28. return utils.ParamsInvalidResponse(model.RepeatedPrompts, nil)
  29. }
  30. fmt.Printf("device = %+v \n", device)
  31. if err := device.Create(); err != nil {
  32. fmt.Printf("Create err = %s \n", err.Error())
  33. return utils.FailResponse(err.Error(), nil)
  34. }
  35. return utils.SuccessResponse(utils.Succeeded, nil)
  36. }
  37. if err := device.Update(); err != nil {
  38. fmt.Printf("Update err = %s \n", err.Error())
  39. return utils.FailResponse(err.Error(), nil)
  40. }
  41. //todo operation record
  42. return utils.SuccessResponse(utils.Succeeded, nil)
  43. }
  44. func (s *captureUintService) GetCapture(id int) (*model.CaptureDetail, *utils.Errors) {
  45. // 创建查询实例
  46. device := &dao.CaptureUint{
  47. ID: id,
  48. }
  49. err := device.GetDevice()
  50. if err != nil {
  51. return nil, utils.FailResponse(err.Error(), nil)
  52. }
  53. detail := &model.CaptureDetail{CaptureUint: *device}
  54. //todo 获取实时在线最新数据
  55. // detail.EndLineTime = *
  56. // detail.NetworkState = *
  57. return detail, nil
  58. }
  59. func (s *captureUintService) CaptureList(searchValue string, current, size int) ([]model.CaptureDetail, *utils.Errors) {
  60. var details []model.CaptureDetail
  61. device := dao.CaptureUint{}
  62. if searchValue != "" {
  63. device.CaptureSN = searchValue
  64. }
  65. offset := (current - 1) * size
  66. limit := size
  67. devices, err := device.GetDevices(offset, limit)
  68. if err != nil {
  69. return nil, utils.FailResponse(err.Error(), nil)
  70. }
  71. for _, d := range devices {
  72. details = append(details, model.CaptureDetail{
  73. CaptureUint: d,
  74. //todo 获取实时在线最新数据
  75. // detail.EndLineTime = *
  76. // detail.NetworkState = *
  77. })
  78. }
  79. return details, nil
  80. }
  81. func (s *captureUintService) CaptureGetList() ([]*dao.CaptureUint, *utils.Errors) {
  82. // todo use redis cache
  83. device := &dao.CaptureUint{
  84. TenantId: "000000", // todo 使用登录态
  85. IsDeleted: 0,
  86. }
  87. devices, err := device.GetAllDevices()
  88. if err != nil {
  89. return nil, utils.FailResponse(err.Error(), nil)
  90. }
  91. for _, d := range devices {
  92. d.CaptureName = d.CaptureName + "(" + d.CaptureSN + ")"
  93. }
  94. return devices, nil
  95. }
  96. func (s *captureUintService) GetPoint(id int) (*dao.CheckPoint, *utils.Errors) {
  97. // 创建查询实例
  98. device := &dao.CheckPoint{
  99. ID: id,
  100. }
  101. err := device.GetDevice()
  102. if err != nil {
  103. return nil, utils.FailResponse(err.Error(), nil)
  104. }
  105. return device, nil
  106. }
  107. func (s *captureUintService) PointSubmit(req *dao.CheckPoint) *utils.Errors {
  108. device := req
  109. if device.TenantId == "" {
  110. device.TenantId = "000000" // todo: 使用登录态
  111. }
  112. device.UpdateUser = "TODO" // todo: 使用登录态
  113. device.UpdateTime = time.Now()
  114. if device.ID == 0 {
  115. device.CreateTime = time.Now()
  116. device.CreateUser = "TODO" // todo: 使用登录态
  117. if device.IsExistedBySN() {
  118. fmt.Printf("Create IsExistedBySN \n")
  119. return utils.ParamsInvalidResponse(model.RepeatedPrompts, nil)
  120. }
  121. fmt.Printf("device = %+v \n", device)
  122. if err := device.Create(); err != nil {
  123. fmt.Printf("Create err = %s \n", err.Error())
  124. return utils.FailResponse(err.Error(), nil)
  125. }
  126. return utils.SuccessResponse(utils.Succeeded, nil)
  127. }
  128. if err := device.Update(); err != nil {
  129. fmt.Printf("Update err = %s \n", err.Error())
  130. return utils.FailResponse(err.Error(), nil)
  131. }
  132. //todo operation record
  133. return utils.SuccessResponse(utils.Succeeded, nil)
  134. }
  135. func (s *captureUintService) PointList(searchValue string, current, size int) ([]dao.CheckPoint, *utils.Errors) {
  136. device := dao.CheckPoint{}
  137. if searchValue != "" {
  138. device.PointSN = searchValue
  139. }
  140. offset := (current - 1) * size
  141. limit := size
  142. devices, err := device.GetDevices(offset, limit)
  143. if err != nil {
  144. return nil, utils.FailResponse(err.Error(), nil)
  145. }
  146. return devices, nil
  147. }
  148. func (s *captureUintService) PointGetList() ([]*dao.CheckPoint, *utils.Errors) {
  149. // todo use redis cache
  150. device := &dao.CheckPoint{
  151. TenantId: "000000", // todo 使用登录态
  152. IsDeleted: 0,
  153. }
  154. devices, err := device.GetAllDevices()
  155. if err != nil {
  156. return nil, utils.FailResponse(err.Error(), nil)
  157. }
  158. for _, d := range devices {
  159. d.PointName = d.PointName + "(" + d.PointSN + ")"
  160. }
  161. return devices, nil
  162. }
  163. func (s *captureUintService) RemoveCapture(id int) *utils.Errors {
  164. // 创建查询实例
  165. device := &dao.CaptureUint{
  166. ID: id,
  167. IsDeleted: 1,
  168. UpdateUser: "TODO", // todo 使用登录态
  169. UpdateTime: time.Now(),
  170. }
  171. //todo operation record
  172. err := device.Delete()
  173. if err != nil {
  174. return utils.FailResponse(err.Error(), nil)
  175. }
  176. return nil
  177. }
  178. func (s *captureUintService) RemovePoint(id int) *utils.Errors {
  179. // 创建查询实例
  180. device := &dao.CheckPoint{
  181. ID: id,
  182. IsDeleted: 1,
  183. UpdateUser: "TODO", // todo 使用登录态
  184. UpdateTime: time.Now(),
  185. }
  186. //todo operation record
  187. err := device.Delete()
  188. if err != nil {
  189. return utils.FailResponse(err.Error(), nil)
  190. }
  191. return nil
  192. }