1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- package cases
-
- import (
- "errors"
- "spaceofcheng/services/models/cases"
- "spaceofcheng/services/models/model"
- "spaceofcheng/services/service"
- "spaceofcheng/services/utils"
- )
-
- // GetCaseArea 获取案场区域
- func (s *CaseServ) GetCaseArea(caseids string, page int, pageSize int) (map[string]interface{}, error) {
- if pageSize == 0 {
- pageSize = service.PAGENUM
- }
- if page == 0 {
- page = 1
- }
- areas, err := s.dao.GetCaseArea(caseids, page, pageSize)
- if err != nil {
- utils.LogError("获取案场区域失败: " + err.Error())
- return nil, errors.New("获取案场区域失败")
- }
- total, err := s.dao.GetCaseAreaCount(caseids)
- if err != nil {
- utils.LogError("获取案场区域失败: " + err.Error())
- return nil, errors.New("获取案场区域失败")
- }
-
- return map[string]interface{}{
- "list": areas,
- "pagesize": pageSize,
- "pagenum": total,
- "page": page,
- }, err
- }
-
- // GetCaseAreaByID 根据区域ID获取区域
- func (s *CaseServ) GetCaseAreaByID(areaid string) (*model.SysCaseArea, error) {
- areas, err := s.dao.GetCaseAreaByID(areaid)
- return areas, err
- }
-
- // SaveCaseArea 保存区域
- func (s *CaseServ) SaveCaseArea(area model.SysCaseArea) (*model.SysCaseArea, error) {
- var err error
- if area.AreaName == "" {
- return nil, utils.LogError("区域名称不能为空!")
- }
-
- if area.AreaId == "" {
- _, err = s.dao.AddCaseArea(&area)
- } else {
- err = s.dao.UpdateCaseArea(area)
- }
- if err != nil {
- utils.LogError("保存案场区域失败: " + err.Error())
- return nil, errors.New("保存案场区域失败")
- }
- return &area, err
- }
-
- // DelCaseArea 删除区域
- func (s *CaseServ) DelCaseArea(areaid string) error {
- areas, err := s.dao.GetCaseTableByAreaID(areaid)
- if err != nil {
- utils.LogError("获取区域失败: " + err.Error())
- return errors.New("获取区域失败")
- }
- if len(areas) > 0 {
- return errors.New("区域下存在桌位信息,不允许删除!")
- }
- err = s.dao.DelCaseArea(areaid)
- if err != nil {
- utils.LogError("删除案场区域失败: " + err.Error())
- return errors.New("删除案场区域失败")
- }
- return nil
- }
-
- // GetAreaByCase 根据案场获取区域信息
- func (s *CaseServ) GetAreaByCase(caseid string) ([]cases.AreaInfo, error) {
- areas, err := s.dao.GetCaseAreaByCase(caseid)
- if err != nil {
- utils.LogError("获取案场区域失败: " + err.Error())
- return nil, errors.New("获取案场区域失败")
- }
- for index, area := range areas {
- tables, err := s.dao.GetCaseTableByAreaID(area.AreaId)
- if err != nil {
- utils.LogError("获取案场区域失败: " + err.Error())
- return nil, errors.New("获取案场区域失败")
- }
- areas[index].Tables = tables
- }
-
- return areas, nil
- }
|