123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- package service
- import (
- "ulink-admin/modules/system/dao"
- "ulink-admin/modules/system/models/model"
- "ulink-admin/modules/system/models/req"
- "ulink-admin/pkg/cache"
- )
- type DictDataService struct {
- DictDataDao *dao.DictDataDao `inject:""`
- }
- // GetByType 根据字典类型查询字典数据
- func (s DictDataService) GetByType(param string) []model.SysDictData {
- //先从缓存中拉数据
- key := cache.GetRedisDictKey(param)
- if key != nil {
- return key
- } else {
- //缓存中为空,从数据库中取数据
- return s.DictDataDao.GetByType(param)
- }
- }
- // GetList 查询字段数据集合
- func (s DictDataService) GetList(query *req.DictDataQuery) (*[]model.SysDictData, int64) {
- return s.DictDataDao.GetList(query)
- }
- func (s DictDataService) ListAll() *[]model.SysDictData {
- return s.DictDataDao.GetDiceDataAll()
- }
- // GetByCode 根据code查询字典数据
- func (s DictDataService) GetByCode(id int64) *model.SysDictData {
- return s.DictDataDao.GetByCode(id)
- }
- // Insert 新增字典数据
- func (s DictDataService) Insert(data *model.SysDictData) bool {
- insert := s.DictDataDao.Insert(data)
- if insert > 0 {
- //刷新缓存数据
- byType := s.GetNoCacheByType(data.DictType)
- cache.SetDictCache(data.DictType, data.MarshalDictList(byType))
- }
- return insert > 0
- }
- // Insert 新增字典数据
- func (s DictDataService) Update(data *model.SysDictData) bool {
- i := s.DictDataDao.Update(data)
- if i {
- //刷新缓存数据
- byType := s.GetNoCacheByType(data.DictType)
- cache.SetDictCache(data.DictType, data.MarshalDictList(byType))
- return true
- }
- return i
- }
- // Remove 删除数据
- func (s DictDataService) Remove(codes []int64) bool {
- dictType := s.GetByCode(codes[0]).DictType
- m := model.SysDictData{}
- remove := s.DictDataDao.Remove(codes)
- if remove {
- //刷新缓存
- id := s.GetNoCacheByType(dictType)
- cache.SetDictCache(dictType, m.MarshalDictList(id))
- }
- return remove
- }
- // GetNoCacheByType 根据字典类型查询字典数据
- func (s DictDataService) GetNoCacheByType(param string) []model.SysDictData {
- return s.DictDataDao.GetByType(param)
- }
|