123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package service
- import (
- deviceDao "iot_manager_service/app/device/dao"
- "iot_manager_service/app/middleware"
- "iot_manager_service/app/security/model"
- "iot_manager_service/app/system/dao"
- "log"
- "strconv"
- "strings"
- )
- var MultiscreenService = new(multiscreenService)
- type multiscreenService struct{}
- func (s multiscreenService) List(claims *middleware.Claims) ([]model.Placement, error) {
- securitySixScreen := s.getSlot(claims.UserId)
- idsSplit := strings.Split(securitySixScreen, ",")
- var ids []string
- for _, id := range idsSplit {
- idInt, _ := strconv.Atoi(id)
- if idInt < 1 {
- continue
- }
- ids = append(ids, strconv.Itoa(idInt))
- }
- //devices := deviceDao.CameraDevice{}.GetDevicesByIds(strings.Join(ids, ","))
- var list []model.Placement
- for i, id := range idsSplit {
- idInt, _ := strconv.Atoi(id)
- placement := model.Placement{}
- placement.ID = idInt
- placement.Slot = i + 1
- if idInt != -1 {
- device := deviceDao.CameraDevice{ID: idInt}
- err := device.GetDevice()
- if err != nil {
- continue
- }
- placement.Name = device.DeviceName
- placement.Sn = device.DeviceSN
- placement.Url = device.MonitorAddress
- }
- list = append(list, placement)
- }
- return list, nil
- }
- // Save 保存 多屏监控位置
- func (s multiscreenService) Save(claims *middleware.Claims, site, id int) error {
- securitySixScreen := s.getSlot(claims.UserId)
- idsSplit := strings.Split(securitySixScreen, ",")
- ids := ""
- for i := range idsSplit {
- if i == (site - 1) {
- idsSplit[i] = strconv.Itoa(id)
- }
- ids += idsSplit[i]
- if i < (len(idsSplit) - 1) {
- ids += ","
- }
- }
- user := &dao.User{ID: claims.UserId}
- user.SecuritySixScreen = ids
- err := user.Update()
- if err != nil {
- return err
- }
- return nil
- }
- func (s multiscreenService) getSlot(userId int) string {
- user := &dao.User{ID: userId}
- err := user.GetUser()
- if err != nil {
- log.Fatalln(err)
- panic("用户取失败了")
- }
- ids := ""
- if user.SecuritySixScreen == "" {
- ids = "-1,-1,-1,-1,-1,-1"
- } else {
- ids = user.SecuritySixScreen
- }
- return ids
- }
|