package plat import ( "context" "database/sql" "github.com/gogf/gf/util/gconv" "dashoo.cn/micro/app/dao/plat" model "dashoo.cn/micro/app/model/plat" "dashoo.cn/micro/app/service" ) type TableColsConfigService struct { *service.ContextService Dao *plat.PlatTablecolsConfigDao } func NewTableColsConfigService(ctx context.Context) (svc *TableColsConfigService, err error) { svc = new(TableColsConfigService) if svc.ContextService, err = svc.Init(ctx); err != nil { return nil, err } svc.Dao = plat.NewPlatTablecolsConfigDao(svc.Tenant) return svc, nil } func (s *TableColsConfigService) GetEntityByTable(req *model.SearchPlatTablecolsConfigReq) (config *model.PlatTablecolsConfig, err error) { config, err = s.Dao.Where(s.Dao.C.UserId, s.GetCxtUserId()).Where(s.Dao.C.Table, req.Table).OrderDesc(s.Dao.C.Id).One() return } func (s *TableColsConfigService) Save(req *model.PlatTablecolsConfigReq) (lastId int64, err error) { config := new(model.PlatTablecolsConfig) if err = gconv.Struct(req, config); err != nil { return } config.UserId = s.GetCxtUserId() // 填充创建信息 service.SetCreatedInfo(config, s.GetCxtUserId(), s.GetCxtUserName()) // 填充更新信息 service.SetUpdatedInfo(config, s.GetCxtUserId(), s.GetCxtUserName()) var result sql.Result if config.Id != 0 { updateFieldEx := append(service.UpdateFieldEx, s.Dao.C.UserId) result, err = s.Dao.FieldsEx(updateFieldEx...).WherePri(config.Id).Data(config).Update() } else { result, err = s.Dao.Data(config).Insert() } if err != nil { return } lastId, _ = result.LastInsertId() return }