| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- package log
- import (
- "errors"
- "gorm.io/gorm"
- "log-server/global"
- "log-server/model/log"
- "log-server/model/log/request"
- "log-server/model/log/response"
- "time"
- )
- type ServiceLogEnv struct {
- }
- func (s *ServiceLogEnv) CreateEnv(env log.EnvLog) (err error) {
- env.CreateTime = time.Now().Format("2006-01-02 15:04:05")
- env.UpdateTime = time.Now().Format("2006-01-02 15:04:05")
- if !errors.Is(global.GVA_DB.Where("coding = ?", env.Coding).First(&log.EnvLog{}).Error, gorm.ErrRecordNotFound) {
- return errors.New("存在相同coding")
- }
- return global.GVA_DB.Create(&env).Error
- }
- func (s *ServiceLogEnv) UpdateEnv(requestCoding request.EnvLogRequest) (err error) {
- logCoding := new(log.EnvLog)
- err = global.GVA_DB.Where("id = ?", requestCoding.Id).First(logCoding).Error
- if err != nil {
- return err
- }
- var coding = make(map[string]interface{})
- coding["coding"] = requestCoding.Coding
- coding["describe"] = requestCoding.Describe
- coding["update_time"] = time.Now().Format("2006-01-02 15:04:05")
- err = global.GVA_DB.Model(&log.CodingLog{}).Where("id", requestCoding.Id).Updates(coding).Error
- return err
- }
- func (s *ServiceLogEnv) GetEnvById(id int) (coding response.EnvLogReply, err error) {
- var api log.EnvLog
- err = global.GVA_DB.Where("id = ?", id).First(&api).Error
- if err != nil {
- return
- }
- coding.Id = api.Id
- coding.Coding = api.Coding
- coding.Describe = api.Describe
- coding.UpdateTime = api.UpdateTime
- coding.CreateTime = api.CreateTime
- return
- }
- func (s *ServiceLogEnv) GetEnvList(order string, desc bool) (list interface{}, total int64, err error) {
- db := global.GVA_DB.Model(&log.EnvLog{})
- var apiList []log.EnvLog
- err = db.Count(&total).Error
- if err != nil {
- return apiList, total, err
- } else {
- if order != "" {
- var OrderStr string
- // 设置有效排序key 防止sql注入
- // 感谢 Tom4t0 提交漏洞信息
- orderMap := make(map[string]bool, 4)
- orderMap["id"] = true
- if orderMap[order] {
- if desc {
- OrderStr = order + " desc"
- } else {
- OrderStr = order
- }
- } else { // didn't matched any order key in `orderMap`
- //global.GVA_LOG.Error(fmt.Sprintf("非法的排序字段: %v", order))
- return apiList, total, err
- }
- err = db.Order(OrderStr).Find(&apiList).Error
- } else {
- err = db.Order("id").Find(&apiList).Error
- }
- }
- var apisReply []*response.EnvLogReply
- if len(apiList) != 0 {
- for _, apiInfo := range apiList {
- coding := new(response.EnvLogReply)
- coding.Id = apiInfo.Id
- coding.Coding = apiInfo.Coding
- coding.Describe = apiInfo.Describe
- coding.UpdateTime = apiInfo.UpdateTime
- coding.CreateTime = apiInfo.CreateTime
- apisReply = append(apisReply, coding)
- }
- }
- return apisReply, total, err
- }
|