12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package service
- import (
- "context"
- "strconv"
- "go-common/app/admin/main/spy/model"
- "go-common/library/ecode"
- "go-common/library/log"
- )
- // SettingList get all setting
- func (s *Service) SettingList(c context.Context) (list []*model.Setting, err error) {
- if list, err = s.spyDao.SettingList(c); err != nil {
- log.Error("s.spyDao.SettingList() error(%v)", err)
- return
- }
- return
- }
- // UpdateSetting update setting
- func (s *Service) UpdateSetting(c context.Context, name string, property string, val string) (err error) {
- if err = s.checkSettingVal(property, val); err != nil {
- return
- }
- var effected int64
- if effected, err = s.spyDao.UpdateSetting(c, property, val); err != nil {
- log.Error("s.spyDao.UpdateSetting(%s,%d) error(%v)", property, val, err)
- return
- }
- if effected > 0 {
- updatedSetting := &model.Setting{Property: property, Val: val}
- if err := s.AddLog(c, name, model.UpdateSetting, updatedSetting); err != nil {
- log.Error("s.AddLog(%s,%d,%+v) error(%v)", name, model.UpdateSetting, updatedSetting, err)
- }
- }
- return
- }
- func (s *Service) checkSettingVal(prop string, val string) (err error) {
- switch prop {
- case model.AutoBlock:
- var block int64
- if block, err = strconv.ParseInt(val, 10, 64); err != nil {
- err = ecode.SpySettingValTypeError
- return
- }
- if block != 1 && block != 0 {
- err = ecode.SpySettingValueOutOfRange
- return
- }
- case model.LimitBlockCount:
- var count int64
- if count, err = strconv.ParseInt(val, 10, 64); err != nil {
- err = ecode.SpySettingValTypeError
- return
- }
- if count < 0 {
- err = ecode.SpySettingValueOutOfRange
- return
- }
- case model.LessBlockScore:
- var score int64
- if score, err = strconv.ParseInt(val, 10, 64); err != nil {
- err = ecode.SpySettingValTypeError
- return
- }
- if score < 0 || score > 30 {
- err = ecode.SpySettingValueOutOfRange
- return
- }
- default:
- err = ecode.SpySettingUnknown
- }
- return err
- }
|