1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package service
- import (
- "ulink-admin/frame"
- "ulink-admin/modules/system/dao"
- "ulink-admin/modules/system/models/model"
- "ulink-admin/modules/system/models/req"
- "ulink-admin/pkg/cache"
- )
- type ConfigService struct {
- ConfigDao *dao.ConfigDao `inject:""`
- }
- // GetConfigKey 根据键名查询参数配置信息
- func (s ConfigService) GetConfigKey(param string) *model.SysConfig {
- //从缓存中取出数据判断是否存在,存在直接使用,不存在就从数据库查询
- key := cache.GetRedisConfigByKey(param)
- if key != nil {
- return key
- }
- configKey := s.ConfigDao.GetConfigKey(param)
- if configKey.Id > 0 {
- cache.SetRedisConfig(configKey)
- return configKey
- }
- return nil
- }
- // Find 分页查询数据
- func (s ConfigService) Find(query *req.ConfigQuery) (*[]model.SysConfig, int64) {
- return s.ConfigDao.List(query)
- }
- // Add 添加数据
- func (s ConfigService) Add(config *model.SysConfig) {
- //检验key是否存在
- if s.ConfigDao.Exist(model.SysConfig{}.TableName(), "config_key=?", config.ConfigKey) {
- frame.Throw(frame.BUSINESS_CODE, "新增参数'"+config.ConfigName+"'失败,参数键名已存在")
- }
- s.ConfigDao.Insert(config)
- //进行缓存数据添加
- cache.SetDictCache(config.ConfigKey, config.MarshalDictObj(config))
- }
- // GetInfo 查询数据
- func (s ConfigService) GetInfo(id int64) *model.SysConfig {
- config := new(model.SysConfig)
- s.ConfigDao.GetById(id, config)
- return config
- }
- // Update 修改数据
- func (s ConfigService) Update(config *model.SysConfig) {
- //检验key是否存在
- if s.ConfigDao.Exist(model.SysConfig{}.TableName(), "config_key=? and id!=?", config.ConfigKey, config.Id) {
- frame.Throw(frame.BUSINESS_CODE, "新增参数'"+config.ConfigName+"'失败,参数键名已存在")
- }
- s.ConfigDao.Update(config)
- cache.SetDictCache(config.ConfigKey, config.MarshalDictObj(config))
- }
- // Remove 批量删除
- func (s ConfigService) Remove(list []int64) {
- //进行校验,查看是否可以删除
- byIds := s.ConfigDao.CheckConfigByIds(list)
- for _, config := range *byIds {
- if config.ConfigType == "Y" {
- frame.Throw(frame.BUSINESS_CODE, "内置参数"+config.ConfigName+"不能删除")
- }
- }
- s.ConfigDao.Delete(&model.SysConfig{}, list)
- //刷新缓存
- strs := make([]string, 0)
- for _, config := range *byIds {
- strs = append(strs, config.ConfigKey)
- }
- cache.RemoveList(strs)
- }
- // CheckConfigByIds 根据id集合查询
- func (s ConfigService) CheckConfigByIds(list []int64) *[]model.SysConfig {
- return s.ConfigDao.CheckConfigByIds(list)
- }
- // FindAll 查询所有数据
- func (s ConfigService) FindAll() *[]model.SysConfig {
- return s.ConfigDao.FindAll()
- }
|