ranges.go 2.2 KB
Newer Older
aaronchen2k2k's avatar
aaronchen2k2k 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
package serverService

import (
	"github.com/easysoft/zendata/src/model"
	"github.com/easysoft/zendata/src/server/repo"
	stringUtils "github.com/easysoft/zendata/src/utils/string"
)

type RangesService struct {
	rangesRepo *serverRepo.RangesRepo
	resService *ResService
}

func (s *RangesService) List() (list []*model.ZdRanges) {
	ranges := s.resService.LoadRes("ranges")
	list, _ = s.rangesRepo.List()

	s.saveResToDB(ranges, list)
	list, _ = s.rangesRepo.List()

	return
}

func (s *RangesService) Get(id int) (ranges model.ZdRanges) {
	ranges, _ = s.rangesRepo.Get(uint(id))

	return
}

aaronchen2k2k's avatar
aaronchen2k2k 已提交
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
func (s *RangesService) GetItemTree(rangesId int) (root model.ZdRangesItem) {
	items, _ := s.rangesRepo.GetItems(rangesId)

	root.ID = 0
	root.Name = "序列"
	for _, item := range items {
		item.ParentID = root.ID
		root.Children = append(root.Children, item)
	}

	return
}
func (s *RangesService) GetItem(id int) (item model.ZdRangesItem) {
	item, _ = s.rangesRepo.GetItem(uint(id))
	return
}

aaronchen2k2k's avatar
aaronchen2k2k 已提交
47 48 49 50 51 52 53 54 55 56 57
func (s *RangesService) Save(ranges *model.ZdRanges) (err error) {
	err = s.rangesRepo.Save(ranges)

	return
}

func (s *RangesService) Remove(id int) (err error) {
	err = s.rangesRepo.Remove(uint(id))
	return
}

aaronchen2k2k's avatar
aaronchen2k2k 已提交
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
func (s *RangesService) CreateItem(domainId, targetId int, mode string) (item *model.ZdRangesItem, err error) {
	item = &model.ZdRangesItem{Name: "ranges_", RangesID: uint(domainId)}
	item.Ord = s.rangesRepo.GetMaxOrder(domainId)

	err = s.rangesRepo.SaveItem(item)

	return
}
func (s *RangesService) SaveItem(item *model.ZdRangesItem) (err error) {
	err = s.rangesRepo.SaveItem(item)
	return
}

func (s *RangesService) RemoveItem(id int) (err error) {
	err = s.rangesRepo.RemoveItem(uint(id))
	return
}

aaronchen2k2k's avatar
aaronchen2k2k 已提交
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
func (s *RangesService) saveResToDB(ranges []model.ResFile, list []*model.ZdRanges) (err error) {
	names := make([]string, 0)
	for _, item := range list {
		names = append(names, item.Path)
	}

	for _, item := range ranges {
		if !stringUtils.FindInArrBool(item.Path, names) {
			ranges := model.ZdRanges{Path: item.Path, Name: item.Name, Title: item.Title, Desc: item.Desc, Field: item.Title, Note: item.Desc}
			s.rangesRepo.Save(&ranges)
		}
	}

	return
}

func NewRangesService(rangesRepo *serverRepo.RangesRepo) *RangesService {
	return &RangesService{rangesRepo: rangesRepo}
}