package cases import ( "errors" "spaceofcheng/services/models/cases" "spaceofcheng/services/models/model" "spaceofcheng/services/service" "spaceofcheng/services/utils" ) // GetTagList 获取tag列表 func (s *CaseServ) GetTagList(caseid, caseids string, page, pageSize int) (map[string]interface{}, error) { if pageSize == 0 { pageSize = service.PAGENUM } if page == 0 { page = 1 } tags, err := s.dao.GetTagList(caseid, caseids, page, pageSize) if err != nil { utils.LogError("获取案场标签信息失败: " + err.Error()) return nil, errors.New("获取案场标签信息失败") } total, err := s.dao.GetTagCount(caseid, caseids) if err != nil { utils.LogError("获取案场标签信息失败: " + err.Error()) return nil, errors.New("获取案场标签信息失败") } return map[string]interface{}{ "list": tags, "pagesize": pageSize, "pagenum": total, "page": page, }, err } // GetTagByID 根据ID获取标签 func (s *CaseServ) GetTagByID(tagid string) (*cases.Tag, error) { tag, err := s.dao.GetTagByID(tagid) if err != nil { utils.LogError("获取案场标签信息失败: " + err.Error()) return nil, errors.New("获取案场标签信息失败") } if tag != nil { tagcases, err := s.dao.GetTagCaseByTagID(tagid) if err != nil { utils.LogError("获取案场标签信息失败: " + err.Error()) return nil, errors.New("获取案场标签信息失败") } tag.TagCases = tagcases } return tag, err } // SaveTag 保存标签 func (s *CaseServ) SaveTag(tag model.SysTag, caseids string) (*model.SysTag, error) { var newInfo *model.SysTag var err error if tag.TagName == "" { return nil, utils.LogError("标签名称不能为空!") } if caseids == "" { return nil, utils.LogError("案场不能为空!") } if tag.TagId == "" { newInfo, err = s.dao.AddTag(tag) } else { err = s.dao.UpdateTag(tag) newInfo = &tag } if err != nil { utils.LogError("保存标签信息失败: " + err.Error()) return nil, errors.New("保存标签信息失败") } err = s.dao.DelTagCase(newInfo.TagId) if err != nil { utils.LogError("保存标签信息失败: " + err.Error()) return nil, errors.New("保存标签信息失败") } err = s.dao.SaveTagCase(newInfo.TagId, caseids) if err != nil { utils.LogError("保存标签信息失败: " + err.Error()) return nil, errors.New("保存标签信息失败") } return newInfo, err } // DelTag 删除标签 func (s *CaseServ) DelTag(tagid string) error { err := s.dao.DeleteTag(tagid) if err != nil { utils.LogError("删除标签失败: " + err.Error()) return errors.New("删除标签失败") } return err }