@@ -0,0 +1,13 @@ | |||||
package dao | |||||
import ( | |||||
"applet/app/db/model" | |||||
"xorm.io/xorm" | |||||
) | |||||
type AgentDao interface { | |||||
GetAgentByUsername(username string) (medium *model.Agent, err error) | |||||
AgentInsert(m *model.Agent) (int64, error) | |||||
AgentDeleteBySession(session *xorm.Session, id interface{}) (int64, error) | |||||
UpdateAgent(m *model.Agent, columns ...string) (int64, error) | |||||
} |
@@ -0,0 +1,5 @@ | |||||
package dao | |||||
type AgentDomainDao interface { | |||||
//TODO:: You can add specific method definitions here | |||||
} |
@@ -0,0 +1,5 @@ | |||||
package dao | |||||
type AgentPermissionDao interface { | |||||
//TODO:: You can add specific method definitions here | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package dao | |||||
import "applet/app/db/model" | |||||
type AgentPermissionGroupDao interface { | |||||
FindAgentPermissionGroup() (*[]model.AgentPermissionGroup, error) | |||||
FindAgentPermissionGroupV2() (*[]model.AgentPermissionGroup, error) | |||||
} |
@@ -0,0 +1,5 @@ | |||||
package dao | |||||
type AgentPermissionGroupPermissionDao interface { | |||||
//TODO:: You can add specific method definitions here | |||||
} |
@@ -0,0 +1,25 @@ | |||||
package dao | |||||
import ( | |||||
"applet/app/db/model" | |||||
"xorm.io/xorm" | |||||
) | |||||
type AgentRoleDao interface { | |||||
FindAgentRole() (*[]model.AgentRole, error) | |||||
GetAgentRole() (m *model.AgentRole, err error) | |||||
UpdateAgentRole(m *model.AgentRole, columns ...string) (int64, error) | |||||
AgentRoleDeleteBySession(session *xorm.Session, id interface{}) (int64, error) | |||||
AgentRoleInsert(m *model.AgentRole) (int, error) | |||||
FindPermissionGroupByAgentRole(roleId int) (list []*AgentRolePermissionGroup, total int64, err error) | |||||
} | |||||
type AgentRolePermissionGroup struct { | |||||
model.AgentRole `xorm:"extends"` | |||||
model.AgentRolePermissionGroup `xorm:"extends"` | |||||
model.AgentPermissionGroup `xorm:"extends"` | |||||
} | |||||
func (AgentRolePermissionGroup) TableName() string { | |||||
return "agent_role" | |||||
} |
@@ -0,0 +1,11 @@ | |||||
package dao | |||||
import ( | |||||
"applet/app/db/model" | |||||
"xorm.io/xorm" | |||||
) | |||||
type AgentRolePermissionGroupDao interface { | |||||
AgentRolePermissionGroupDeleteForRoleBySession(session *xorm.Session, roleId interface{}) (int64, error) | |||||
BatchAddAgentRolePermissionGroupBySession(session *xorm.Session, mm []*model.AgentRolePermissionGroup) (int64, error) | |||||
} |
@@ -0,0 +1,16 @@ | |||||
package dao | |||||
import ( | |||||
"applet/app/db/model" | |||||
"xorm.io/xorm" | |||||
) | |||||
type AgentWithRoleDao interface { | |||||
FindAgentWithRole(id int) (*[]model.AgentWithRole, error) | |||||
FindAgentWithRoleByRoleId(id int) (*[]model.AgentWithRole, error) | |||||
AdminDeleteBySessionForAdmId(session *xorm.Session, admId interface{}) (int64, error) | |||||
GetAgentWithRoleByRole(id int) (m *model.AgentWithRole, err error) | |||||
AgentWithRoleDeleteForRoleBySession(session *xorm.Session, roleId interface{}) (int64, error) | |||||
AgentWithRoleDeleteBySession(session *xorm.Session, id interface{}) (int64, error) | |||||
BatchAddAgentWithRoleBySession(session *xorm.Session, mm []*model.AgentWithRole) (int64, error) | |||||
} |
@@ -0,0 +1,13 @@ | |||||
package dao | |||||
import ( | |||||
"applet/app/db/model" | |||||
"xorm.io/xorm" | |||||
) | |||||
type MediumDao interface { | |||||
GetMediumByUsername(username string) (medium *model.Medium, err error) | |||||
MediumInsert(m *model.Medium) (int64, error) | |||||
MediumDeleteBySession(session *xorm.Session, id interface{}) (int64, error) | |||||
UpdateMedium(m *model.Medium, columns ...string) (int64, error) | |||||
} |
@@ -0,0 +1,10 @@ | |||||
package dao | |||||
import ( | |||||
"applet/app/db/model" | |||||
) | |||||
type MediumDomainDao interface { | |||||
GetMediumDomain(mediumId int) (medium *model.MediumDomain, err error) | |||||
MediumDomainInsert(m *model.MediumDomain) (int64, error) | |||||
} |
@@ -0,0 +1,5 @@ | |||||
package dao | |||||
type MediumPermissionDao interface { | |||||
//TODO:: You can add specific method definitions here | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package dao | |||||
import "applet/app/db/model" | |||||
type MediumPermissionGroupDao interface { | |||||
FindMediumPermissionGroup() (*[]model.MediumPermissionGroup, error) | |||||
FindMediumPermissionGroupV2() (*[]model.MediumPermissionGroup, error) | |||||
} |
@@ -0,0 +1,5 @@ | |||||
package dao | |||||
type MediumPermissionGroupPermissionDao interface { | |||||
//TODO:: You can add specific method definitions here | |||||
} |
@@ -0,0 +1,25 @@ | |||||
package dao | |||||
import ( | |||||
"applet/app/db/model" | |||||
"xorm.io/xorm" | |||||
) | |||||
type MediumRoleDao interface { | |||||
FindMediumRole() (*[]model.MediumRole, error) | |||||
GetMediumRole() (m *model.MediumRole, err error) | |||||
UpdateMediumRole(m *model.MediumRole, columns ...string) (int64, error) | |||||
MediumRoleDeleteBySession(session *xorm.Session, id interface{}) (int64, error) | |||||
MediumRoleInsert(m *model.MediumRole) (int, error) | |||||
FindPermissionGroupByMediumRole(roleId int) (list []*MediumRolePermissionGroup, total int64, err error) | |||||
} | |||||
type MediumRolePermissionGroup struct { | |||||
model.MediumRole `xorm:"extends"` | |||||
model.MediumRolePermissionGroup `xorm:"extends"` | |||||
model.MediumPermissionGroup `xorm:"extends"` | |||||
} | |||||
func (MediumRolePermissionGroup) TableName() string { | |||||
return "medium_role" | |||||
} |
@@ -0,0 +1,11 @@ | |||||
package dao | |||||
import ( | |||||
"applet/app/db/model" | |||||
"xorm.io/xorm" | |||||
) | |||||
type MediumRolePermissionGroupDao interface { | |||||
MediumRolePermissionGroupDeleteForRoleBySession(session *xorm.Session, roleId interface{}) (int64, error) | |||||
BatchAddMediumRolePermissionGroupBySession(session *xorm.Session, mm []*model.MediumRolePermissionGroup) (int64, error) | |||||
} |
@@ -0,0 +1,16 @@ | |||||
package dao | |||||
import ( | |||||
"applet/app/db/model" | |||||
"xorm.io/xorm" | |||||
) | |||||
type MediumWithRoleDao interface { | |||||
FindMediumWithRole(id int) (*[]model.MediumWithRole, error) | |||||
FindMediumWithRoleByRoleId(id int) (*[]model.MediumWithRole, error) | |||||
AdminDeleteBySessionForAdmId(session *xorm.Session, admId interface{}) (int64, error) | |||||
GetMediumWithRoleByRole(id int) (m *model.MediumWithRole, err error) | |||||
MediumWithRoleDeleteForRoleBySession(session *xorm.Session, roleId interface{}) (int64, error) | |||||
MediumWithRoleDeleteBySession(session *xorm.Session, id interface{}) (int64, error) | |||||
BatchAddMediumWithRoleBySession(session *xorm.Session, mm []*model.MediumWithRole) (int64, error) | |||||
} |
@@ -0,0 +1,14 @@ | |||||
package dao | |||||
import "applet/app/db/model" | |||||
type SysCfgDao interface { | |||||
SysCfgGetAll() (*[]model.SysCfg, error) | |||||
SysCfgGetOneNoDataNoErr(key string) (*model.SysCfg, error) | |||||
SysCfgGetOne(key string) (*model.SysCfg, error) | |||||
SysCfgInsert(key, val, memo string) bool | |||||
SysCfgUpdate(key, val string) bool | |||||
SysCfgGetWithDb(HKey string) string | |||||
SysCfgDel(HKey string) error | |||||
SysCfgFindWithDb(keys ...string) map[string]string | |||||
} |
@@ -33,7 +33,7 @@ func (a AdminDb) AdminDeleteBySession(session *xorm.Session, admId interface{}) | |||||
if reflect.TypeOf(admId).Kind() == reflect.Slice { | if reflect.TypeOf(admId).Kind() == reflect.Slice { | ||||
return session.In("adm_id", admId).Delete(model.Admin{}) | return session.In("adm_id", admId).Delete(model.Admin{}) | ||||
} else { | } else { | ||||
return session.Where("id = ?", admId).Delete(model.Admin{}) | |||||
return session.Where("adm_id = ?", admId).Delete(model.Admin{}) | |||||
} | } | ||||
} | } | ||||
@@ -62,7 +62,7 @@ func (a AdminRoleDb) AdminRoleDeleteForRoleBySession(session *xorm.Session, role | |||||
func (a AdminRoleDb) AdminRoleDeleteBySession(session *xorm.Session, id interface{}) (int64, error) { | func (a AdminRoleDb) AdminRoleDeleteBySession(session *xorm.Session, id interface{}) (int64, error) { | ||||
if reflect.TypeOf(id).Kind() == reflect.Slice { | if reflect.TypeOf(id).Kind() == reflect.Slice { | ||||
return session.In("id", id).Delete(model.AdminRole{}) | |||||
return session.In("adm_id", id).Delete(model.AdminRole{}) | |||||
} else { | } else { | ||||
return session.Where("adm_id = ?", id).Delete(model.AdminRole{}) | return session.Where("adm_id = ?", id).Delete(model.AdminRole{}) | ||||
} | } | ||||
@@ -0,0 +1,14 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewAgentDomainDb(engine *xorm.Engine) dao.AgentDomainDao { | |||||
return &AgentDomainDb{Db: engine} | |||||
} | |||||
type AgentDomainDb struct { | |||||
Db *xorm.Engine | |||||
} |
@@ -0,0 +1,53 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"applet/app/db/model" | |||||
"applet/app/utils/logx" | |||||
"reflect" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewAgentDb(engine *xorm.Engine) dao.AgentDao { | |||||
return &AgentDb{Db: engine} | |||||
} | |||||
type AgentDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func (a AgentDb) GetAgentByUsername(username string) (agent *model.Agent, err error) { | |||||
agent = new(model.Agent) | |||||
has, err := a.Db.Where("username =?", username).Get(agent) | |||||
if err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
if has == false { | |||||
return nil, nil | |||||
} | |||||
return agent, nil | |||||
} | |||||
func (a AgentDb) AgentInsert(m *model.Agent) (int64, error) { | |||||
insertAffected, err := a.Db.InsertOne(m) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return insertAffected, nil | |||||
} | |||||
func (a AgentDb) AgentDeleteBySession(session *xorm.Session, id interface{}) (int64, error) { | |||||
if reflect.TypeOf(id).Kind() == reflect.Slice { | |||||
return session.In("id", id).Delete(model.Admin{}) | |||||
} else { | |||||
return session.Where("id = ?", id).Delete(model.Admin{}) | |||||
} | |||||
} | |||||
func (a AgentDb) UpdateAgent(m *model.Agent, columns ...string) (int64, error) { | |||||
affected, err := a.Db.Where("id =?", m.Id).Cols(columns...).Update(m) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return affected, nil | |||||
} |
@@ -0,0 +1,33 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"applet/app/db/model" | |||||
"applet/app/enum" | |||||
"applet/app/utils/logx" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewAgentPermissionGroupDb(engine *xorm.Engine) dao.AgentPermissionGroupDao { | |||||
return &AgentPermissionGroupDb{Db: engine} | |||||
} | |||||
type AgentPermissionGroupDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func (a AgentPermissionGroupDb) FindAgentPermissionGroup() (*[]model.AgentPermissionGroup, error) { | |||||
var mm []model.AgentPermissionGroup | |||||
if err := a.Db.Where("state = ?", enum.PermissionGroupStateForNormal).Asc("id").Find(&mm); err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
return &mm, nil | |||||
} | |||||
func (a AgentPermissionGroupDb) FindAgentPermissionGroupV2() (*[]model.AgentPermissionGroup, error) { | |||||
var mm []model.AgentPermissionGroup | |||||
if err := a.Db.Asc("id").Find(&mm); err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
return &mm, nil | |||||
} |
@@ -0,0 +1,14 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewAgentPermissionGroupPermissionDb(engine *xorm.Engine) dao.AgentPermissionGroupPermissionDao { | |||||
return &AgentPermissionGroupPermissionDb{Db: engine} | |||||
} | |||||
type AgentPermissionGroupPermissionDb struct { | |||||
Db *xorm.Engine | |||||
} |
@@ -0,0 +1,14 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewAgentPermissionDb(engine *xorm.Engine) dao.AgentPermissionDao { | |||||
return &AgentPermissionDb{Db: engine} | |||||
} | |||||
type AgentPermissionDb struct { | |||||
Db *xorm.Engine | |||||
} |
@@ -0,0 +1,69 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"applet/app/db/model" | |||||
"applet/app/utils/logx" | |||||
"reflect" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewAgentRoleDb(engine *xorm.Engine) dao.AgentRoleDao { | |||||
return &AgentRoleDb{Db: engine} | |||||
} | |||||
type AgentRoleDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func (a AgentRoleDb) FindAgentRole() (*[]model.AgentRole, error) { | |||||
var mm []model.AgentRole | |||||
if err := a.Db.Desc("id").Find(&mm); err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
return &mm, nil | |||||
} | |||||
func (a AgentRoleDb) GetAgentRole() (m *model.AgentRole, err error) { | |||||
m = new(model.AgentRole) | |||||
has, err := a.Db.Where("id = ?", m.Id).Get(m) | |||||
if err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
if has == false { | |||||
return nil, nil | |||||
} | |||||
return m, nil | |||||
} | |||||
func (a AgentRoleDb) UpdateAgentRole(m *model.AgentRole, columns ...string) (int64, error) { | |||||
affected, err := a.Db.Where("id =?", m.Id).Cols(columns...).Update(m) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return affected, nil | |||||
} | |||||
func (a AgentRoleDb) AgentRoleDeleteBySession(session *xorm.Session, id interface{}) (int64, error) { | |||||
if reflect.TypeOf(id).Kind() == reflect.Slice { | |||||
return session.In("id", id).Delete(model.Role{}) | |||||
} else { | |||||
return session.Where("id = ?", id).Delete(model.Role{}) | |||||
} | |||||
} | |||||
func (a AgentRoleDb) AgentRoleInsert(m *model.AgentRole) (int, error) { | |||||
_, err := a.Db.InsertOne(m) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return m.Id, nil | |||||
} | |||||
func (a AgentRoleDb) FindPermissionGroupByAgentRole(roleId int) (list []*dao.AgentRolePermissionGroup, total int64, err error) { | |||||
total, err = a.Db.Where("agent_role.id =?", roleId). | |||||
Join("LEFT", "agent_role_permission_group", "agent_role_permission_group.role_id = agent_role.id"). | |||||
Join("LEFT", "agent_permission_group", "agent_permission_group.id = agent_role_permission_group.group_id"). | |||||
FindAndCount(&list) | |||||
return | |||||
} |
@@ -0,0 +1,32 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"applet/app/db/model" | |||||
"reflect" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewAgentRolePermissionGroupDb(engine *xorm.Engine) dao.AgentRolePermissionGroupDao { | |||||
return &AgentRolePermissionGroupDb{Db: engine} | |||||
} | |||||
type AgentRolePermissionGroupDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func (a AgentRolePermissionGroupDb) AgentRolePermissionGroupDeleteForRoleBySession(session *xorm.Session, roleId interface{}) (int64, error) { | |||||
if reflect.TypeOf(roleId).Kind() == reflect.Slice { | |||||
return session.In("role_id", roleId).Delete(model.AgentRolePermissionGroup{}) | |||||
} else { | |||||
return session.Where("role_id = ?", roleId).Delete(model.AgentRolePermissionGroup{}) | |||||
} | |||||
} | |||||
func (a AgentRolePermissionGroupDb) BatchAddAgentRolePermissionGroupBySession(session *xorm.Session, mm []*model.AgentRolePermissionGroup) (int64, error) { | |||||
affected, err := session.Insert(mm) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return affected, nil | |||||
} |
@@ -0,0 +1,77 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"applet/app/db/model" | |||||
"applet/app/utils/logx" | |||||
"reflect" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewAgentWithRoleDb(engine *xorm.Engine) dao.AgentWithRoleDao { | |||||
return &AgentWithRoleDb{Db: engine} | |||||
} | |||||
type AgentWithRoleDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func (a AgentWithRoleDb) FindAgentWithRole(id int) (*[]model.AgentWithRole, error) { | |||||
var mm []model.AgentWithRole | |||||
if err := a.Db.Where("adm_id =?", id).Find(&mm); err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
return &mm, nil | |||||
} | |||||
func (a AgentWithRoleDb) FindAgentWithRoleByRoleId(id int) (*[]model.AgentWithRole, error) { | |||||
var mm []model.AgentWithRole | |||||
if err := a.Db.Where("role_id =?", id).Find(&mm); err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
return &mm, nil | |||||
} | |||||
func (a AgentWithRoleDb) AdminDeleteBySessionForAdmId(session *xorm.Session, admId interface{}) (int64, error) { | |||||
if reflect.TypeOf(admId).Kind() == reflect.Slice { | |||||
return session.In("adm_id", admId).Delete(model.AgentWithRole{}) | |||||
} else { | |||||
return session.Where("adm_id = ?", admId).Delete(model.AgentWithRole{}) | |||||
} | |||||
} | |||||
func (a AgentWithRoleDb) GetAgentWithRoleByRole(id int) (mm *model.AgentWithRole, err error) { | |||||
mm = new(model.AgentWithRole) | |||||
has, err := a.Db.Where("role_id =?", id).Get(mm) | |||||
if err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
if has == false { | |||||
return nil, nil | |||||
} | |||||
return mm, nil | |||||
} | |||||
func (a AgentWithRoleDb) AgentWithRoleDeleteForRoleBySession(session *xorm.Session, roleId interface{}) (int64, error) { | |||||
if reflect.TypeOf(roleId).Kind() == reflect.Slice { | |||||
return session.In("role_id", roleId).Delete(model.AgentWithRole{}) | |||||
} else { | |||||
return session.Where("role_id = ?", roleId).Delete(model.AgentWithRole{}) | |||||
} | |||||
} | |||||
func (a AgentWithRoleDb) AgentWithRoleDeleteBySession(session *xorm.Session, id interface{}) (int64, error) { | |||||
if reflect.TypeOf(id).Kind() == reflect.Slice { | |||||
return session.In("agent_id", id).Delete(model.AgentWithRole{}) | |||||
} else { | |||||
return session.Where("agent_id = ?", id).Delete(model.AgentWithRole{}) | |||||
} | |||||
} | |||||
func (a AgentWithRoleDb) BatchAddAgentWithRoleBySession(session *xorm.Session, mm []*model.AgentWithRole) (int64, error) { | |||||
affected, err := session.Insert(mm) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return affected, nil | |||||
} |
@@ -0,0 +1,36 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"applet/app/db/model" | |||||
"applet/app/utils/logx" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewMediumDomainDb(engine *xorm.Engine) dao.MediumDomainDao { | |||||
return &MediumDomainDb{Db: engine} | |||||
} | |||||
type MediumDomainDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func (m MediumDomainDb) GetMediumDomain(mediumId int) (medium *model.MediumDomain, err error) { | |||||
medium = new(model.MediumDomain) | |||||
has, err := m.Db.Where("medium_id =?", mediumId).Get(medium) | |||||
if err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
if has == false { | |||||
return nil, nil | |||||
} | |||||
return medium, nil | |||||
} | |||||
func (m MediumDomainDb) MediumDomainInsert(medium *model.MediumDomain) (int64, error) { | |||||
insertAffected, err := m.Db.InsertOne(medium) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return insertAffected, nil | |||||
} |
@@ -0,0 +1,53 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"applet/app/db/model" | |||||
"applet/app/utils/logx" | |||||
"reflect" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewMediumDb(engine *xorm.Engine) dao.MediumDao { | |||||
return &MediumDb{Db: engine} | |||||
} | |||||
type MediumDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func (m MediumDb) UpdateMedium(medium *model.Medium, columns ...string) (int64, error) { | |||||
affected, err := m.Db.Where("id =?", medium.Id).Cols(columns...).Update(m) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return affected, nil | |||||
} | |||||
func (m MediumDb) GetMediumByUsername(username string) (medium *model.Medium, err error) { | |||||
medium = new(model.Medium) | |||||
has, err := m.Db.Where("username =?", username).Get(medium) | |||||
if err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
if has == false { | |||||
return nil, nil | |||||
} | |||||
return medium, nil | |||||
} | |||||
func (m MediumDb) MediumInsert(medium *model.Medium) (int64, error) { | |||||
insertAffected, err := m.Db.InsertOne(medium) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return insertAffected, nil | |||||
} | |||||
func (m MediumDb) MediumDeleteBySession(session *xorm.Session, id interface{}) (int64, error) { | |||||
if reflect.TypeOf(id).Kind() == reflect.Slice { | |||||
return session.In("id", id).Delete(model.Admin{}) | |||||
} else { | |||||
return session.Where("id = ?", id).Delete(model.Admin{}) | |||||
} | |||||
} |
@@ -0,0 +1,33 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"applet/app/db/model" | |||||
"applet/app/enum" | |||||
"applet/app/utils/logx" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewMediumPermissionGroupDb(engine *xorm.Engine) dao.MediumPermissionGroupDao { | |||||
return &MediumPermissionGroupDb{Db: engine} | |||||
} | |||||
type MediumPermissionGroupDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func (m MediumPermissionGroupDb) FindMediumPermissionGroup() (*[]model.MediumPermissionGroup, error) { | |||||
var mm []model.MediumPermissionGroup | |||||
if err := m.Db.Where("state = ?", enum.PermissionGroupStateForNormal).Asc("id").Find(&mm); err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
return &mm, nil | |||||
} | |||||
func (m MediumPermissionGroupDb) FindMediumPermissionGroupV2() (*[]model.MediumPermissionGroup, error) { | |||||
var mm []model.MediumPermissionGroup | |||||
if err := m.Db.Asc("id").Find(&mm); err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
return &mm, nil | |||||
} |
@@ -0,0 +1,14 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewMediumPermissionGroupPermissionDb(engine *xorm.Engine) dao.MediumPermissionGroupPermissionDao { | |||||
return &MediumPermissionGroupPermissionDb{Db: engine} | |||||
} | |||||
type MediumPermissionGroupPermissionDb struct { | |||||
Db *xorm.Engine | |||||
} |
@@ -0,0 +1,14 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewMediumPermissionDb(engine *xorm.Engine) dao.MediumPermissionDao { | |||||
return &MediumPermissionDb{Db: engine} | |||||
} | |||||
type MediumPermissionDb struct { | |||||
Db *xorm.Engine | |||||
} |
@@ -0,0 +1,69 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"applet/app/db/model" | |||||
"applet/app/utils/logx" | |||||
"reflect" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewMediumRoleDb(engine *xorm.Engine) dao.MediumRoleDao { | |||||
return &MediumRoleDb{Db: engine} | |||||
} | |||||
type MediumRoleDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func (m MediumRoleDb) FindMediumRole() (*[]model.MediumRole, error) { | |||||
var mm []model.MediumRole | |||||
if err := m.Db.Desc("id").Find(&mm); err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
return &mm, nil | |||||
} | |||||
func (m MediumRoleDb) GetMediumRole() (mm *model.MediumRole, err error) { | |||||
mm = new(model.MediumRole) | |||||
has, err := m.Db.Where("id = ?", mm.Id).Get(mm) | |||||
if err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
if has == false { | |||||
return nil, nil | |||||
} | |||||
return mm, nil | |||||
} | |||||
func (m MediumRoleDb) UpdateMediumRole(mm *model.MediumRole, columns ...string) (int64, error) { | |||||
affected, err := m.Db.Where("id =?", mm.Id).Cols(columns...).Update(m) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return affected, nil | |||||
} | |||||
func (m MediumRoleDb) MediumRoleDeleteBySession(session *xorm.Session, id interface{}) (int64, error) { | |||||
if reflect.TypeOf(id).Kind() == reflect.Slice { | |||||
return session.In("id", id).Delete(model.MediumRole{}) | |||||
} else { | |||||
return session.Where("id = ?", id).Delete(model.MediumRole{}) | |||||
} | |||||
} | |||||
func (m MediumRoleDb) MediumRoleInsert(mm *model.MediumRole) (int, error) { | |||||
_, err := m.Db.InsertOne(mm) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return mm.Id, nil | |||||
} | |||||
func (m MediumRoleDb) FindPermissionGroupByMediumRole(roleId int) (list []*dao.MediumRolePermissionGroup, total int64, err error) { | |||||
total, err = m.Db.Where("medium_role.id =?", roleId). | |||||
Join("LEFT", "medium_role_permission_group", "medium_role_permission_group.role_id = medium_role.id"). | |||||
Join("LEFT", "medium_permission_group", "medium_permission_group.id = medium_role_permission_group.group_id"). | |||||
FindAndCount(&list) | |||||
return | |||||
} |
@@ -0,0 +1,32 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"applet/app/db/model" | |||||
"reflect" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewMediumRolePermissionGroupDb(engine *xorm.Engine) dao.MediumRolePermissionGroupDao { | |||||
return &MediumRolePermissionGroupDb{Db: engine} | |||||
} | |||||
type MediumRolePermissionGroupDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func (m MediumRolePermissionGroupDb) MediumRolePermissionGroupDeleteForRoleBySession(session *xorm.Session, roleId interface{}) (int64, error) { | |||||
if reflect.TypeOf(roleId).Kind() == reflect.Slice { | |||||
return session.In("role_id", roleId).Delete(model.MediumRolePermissionGroup{}) | |||||
} else { | |||||
return session.Where("role_id = ?", roleId).Delete(model.MediumRolePermissionGroup{}) | |||||
} | |||||
} | |||||
func (m MediumRolePermissionGroupDb) BatchAddMediumRolePermissionGroupBySession(session *xorm.Session, mm []*model.MediumRolePermissionGroup) (int64, error) { | |||||
affected, err := session.Insert(mm) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return affected, nil | |||||
} |
@@ -0,0 +1,77 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"applet/app/db/model" | |||||
"applet/app/utils/logx" | |||||
"reflect" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewMediumWithRoleDb(engine *xorm.Engine) dao.MediumWithRoleDao { | |||||
return &MediumWithRoleDb{Db: engine} | |||||
} | |||||
type MediumWithRoleDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func (m MediumWithRoleDb) FindMediumWithRole(id int) (*[]model.MediumWithRole, error) { | |||||
var mm []model.MediumWithRole | |||||
if err := m.Db.Where("adm_id =?", id).Find(&mm); err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
return &mm, nil | |||||
} | |||||
func (m MediumWithRoleDb) FindMediumWithRoleByRoleId(id int) (*[]model.MediumWithRole, error) { | |||||
var mm []model.MediumWithRole | |||||
if err := m.Db.Where("role_id =?", id).Find(&mm); err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
return &mm, nil | |||||
} | |||||
func (m MediumWithRoleDb) AdminDeleteBySessionForAdmId(session *xorm.Session, admId interface{}) (int64, error) { | |||||
if reflect.TypeOf(admId).Kind() == reflect.Slice { | |||||
return session.In("adm_id", admId).Delete(model.MediumWithRole{}) | |||||
} else { | |||||
return session.Where("adm_id = ?", admId).Delete(model.MediumWithRole{}) | |||||
} | |||||
} | |||||
func (m MediumWithRoleDb) GetMediumWithRoleByRole(id int) (mm *model.MediumWithRole, err error) { | |||||
mm = new(model.MediumWithRole) | |||||
has, err := m.Db.Where("role_id =?", id).Get(mm) | |||||
if err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
if has == false { | |||||
return nil, nil | |||||
} | |||||
return mm, nil | |||||
} | |||||
func (m MediumWithRoleDb) MediumWithRoleDeleteForRoleBySession(session *xorm.Session, roleId interface{}) (int64, error) { | |||||
if reflect.TypeOf(roleId).Kind() == reflect.Slice { | |||||
return session.In("role_id", roleId).Delete(model.MediumWithRole{}) | |||||
} else { | |||||
return session.Where("role_id = ?", roleId).Delete(model.MediumWithRole{}) | |||||
} | |||||
} | |||||
func (m MediumWithRoleDb) MediumWithRoleDeleteBySession(session *xorm.Session, id interface{}) (int64, error) { | |||||
if reflect.TypeOf(id).Kind() == reflect.Slice { | |||||
return session.In("medium_id", id).Delete(model.MediumWithRole{}) | |||||
} else { | |||||
return session.Where("medium_id = ?", id).Delete(model.MediumWithRole{}) | |||||
} | |||||
} | |||||
func (m MediumWithRoleDb) BatchAddMediumWithRoleBySession(session *xorm.Session, mm []*model.MediumWithRole) (int64, error) { | |||||
affected, err := session.Insert(mm) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return affected, nil | |||||
} |
@@ -0,0 +1,124 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"applet/app/db/model" | |||||
"applet/app/md" | |||||
"applet/app/utils/cache" | |||||
"applet/app/utils/logx" | |||||
"fmt" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewSysCfgDb(engine *xorm.Engine, masterId string) dao.SysCfgDao { | |||||
return &SysCfgDb{ | |||||
Db: engine, | |||||
MasterId: masterId, | |||||
} | |||||
} | |||||
type SysCfgDb struct { | |||||
Db *xorm.Engine | |||||
MasterId string | |||||
} | |||||
func (s SysCfgDb) SysCfgGetAll() (*[]model.SysCfg, error) { | |||||
var cfgList []model.SysCfg | |||||
if err := s.Db.Cols("key,val,memo").Find(&cfgList); err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
return &cfgList, nil | |||||
} | |||||
func (s SysCfgDb) SysCfgGetOneNoDataNoErr(key string) (*model.SysCfg, error) { | |||||
var cfgList model.SysCfg | |||||
has, err := s.Db.Where("`key`=?", key).Get(&cfgList) | |||||
if err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
if !has { | |||||
return nil, nil | |||||
} | |||||
return &cfgList, nil | |||||
} | |||||
func (s SysCfgDb) SysCfgGetOne(key string) (*model.SysCfg, error) { | |||||
var cfgList model.SysCfg | |||||
if has, err := s.Db.Where("`key`=?", key).Get(&cfgList); err != nil || has == false { | |||||
return nil, logx.Error(err) | |||||
} | |||||
return &cfgList, nil | |||||
} | |||||
func (s SysCfgDb) SysCfgInsert(key, val, memo string) bool { | |||||
cfg := model.SysCfg{Key: key, Val: val, Memo: memo} | |||||
_, err := s.Db.InsertOne(&cfg) | |||||
if err != nil { | |||||
logx.Error(err) | |||||
return false | |||||
} | |||||
return true | |||||
} | |||||
func (s SysCfgDb) SysCfgUpdate(key, val string) bool { | |||||
cfg := model.SysCfg{Key: key, Val: val} | |||||
_, err := s.Db.Where("`key`=?", key).Cols("val").Update(&cfg) | |||||
if err != nil { | |||||
logx.Error(err) | |||||
return false | |||||
} | |||||
s.SysCfgDel(key) | |||||
return true | |||||
} | |||||
func (s SysCfgDb) SysCfgGetWithDb(HKey string) string { | |||||
cacheKey := fmt.Sprintf(md.AppCfgCacheKey, s.MasterId, HKey[0:1]) | |||||
get, err := cache.HGetString(cacheKey, HKey) | |||||
if err != nil || get == "" { | |||||
cfg, err := s.SysCfgGetOne(HKey) | |||||
if err != nil || cfg == nil { | |||||
_ = logx.Error(err) | |||||
return "" | |||||
} | |||||
// key是否存在 | |||||
cacheKeyExist := false | |||||
if cache.Exists(cacheKey) { | |||||
cacheKeyExist = true | |||||
} | |||||
// 设置缓存 | |||||
_, err = cache.HSet(cacheKey, HKey, cfg.Val) | |||||
if err != nil { | |||||
_ = logx.Error(err) | |||||
return "" | |||||
} | |||||
if !cacheKeyExist { // 如果是首次设置 设置过期时间 | |||||
_, err := cache.Expire(cacheKey, md.CfgCacheTime) | |||||
if err != nil { | |||||
_ = logx.Error(err) | |||||
return "" | |||||
} | |||||
} | |||||
return cfg.Val | |||||
} | |||||
return get | |||||
} | |||||
func (s SysCfgDb) SysCfgDel(HKey string) error { | |||||
cacheKey := fmt.Sprintf(md.AppCfgCacheKey, s.MasterId, HKey[0:1]) | |||||
_, err := cache.HDel(cacheKey, HKey) | |||||
if err != nil { | |||||
return err | |||||
} | |||||
return nil | |||||
} | |||||
func (s SysCfgDb) SysCfgFindWithDb(keys ...string) map[string]string { | |||||
res := map[string]string{} | |||||
for _, v := range keys { | |||||
val := s.SysCfgGetWithDb(v) | |||||
res[v] = val | |||||
} | |||||
return res | |||||
} |
@@ -9,6 +9,4 @@ type Admin struct { | |||||
Memo string `json:"memo" xorm:"not null default '' comment('备注信息') VARCHAR(244)"` | Memo string `json:"memo" xorm:"not null default '' comment('备注信息') VARCHAR(244)"` | ||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | ||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | ||||
OpenId string `json:"open_id" xorm:"not null default '' comment('微信openid') VARCHAR(255)"` | |||||
UnionId string `json:"union_id" xorm:"not null default '' comment('微信用户id') VARCHAR(255)"` | |||||
} | } |
@@ -0,0 +1,13 @@ | |||||
package model | |||||
type Agent struct { | |||||
Id int `json:"id" xorm:"not null pk default 0 INT(11)"` | |||||
AgentId int `json:"agent_id" xorm:"not null default 0 comment('代理id') INT(11)"` | |||||
Username string `json:"username" xorm:"not null default '' comment('用户名') VARCHAR(255)"` | |||||
Password string `json:"password" xorm:"not null default '' comment('密码') VARCHAR(255)"` | |||||
State int `json:"state" xorm:"not null default 1 comment('状态(1:正常 2:冻结)') TINYINT(1)"` | |||||
IsSuperAdministrator int `json:"is_super_administrator" xorm:"not null default 0 comment('是否为超级管理员(0:否 1:是)') TINYINT(1)"` | |||||
Memo string `json:"memo" xorm:"not null default '' comment('备注信息') VARCHAR(244)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package model | |||||
type AgentDomain struct { | |||||
Domain string `json:"domain" xorm:"not null pk comment('绑定域名') VARCHAR(100)"` | |||||
MediumId int `json:"medium_id" xorm:"not null comment('媒体id') index unique INT(11)"` | |||||
IsOfficial int `json:"is_official" xorm:"not null default 1 comment('是否官方指定域名(1:是 2:否)') TINYINT(1)"` | |||||
IsSsl int `json:"is_ssl" xorm:"not null default 0 comment('是否开启ssl:0否;1是') TINYINT(255)"` | |||||
} |
@@ -0,0 +1,10 @@ | |||||
package model | |||||
type AgentPermission struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
Name string `json:"name" xorm:"not null default '' comment('名称') VARCHAR(255)"` | |||||
Action string `json:"action" xorm:"not null default '' comment('路由') unique VARCHAR(255)"` | |||||
State int `json:"state" xorm:"not null default 1 comment('状态(1:正常 2:废弃)') TINYINT(1)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,11 @@ | |||||
package model | |||||
type AgentPermissionGroup struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
ParentId int `json:"parent_id" xorm:"not null default 0 comment('父级id') INT(11)"` | |||||
Key string `json:"key" xorm:"not null default '' VARCHAR(255)"` | |||||
Name string `json:"name" xorm:"not null default '' comment('名称') VARCHAR(255)"` | |||||
State int `json:"state" xorm:"not null default 1 comment('状态(1:正常 2:废弃)') TINYINT(1)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,9 @@ | |||||
package model | |||||
type AgentPermissionGroupPermission struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
GroupId int `json:"group_id" xorm:"not null default 0 comment('权限组id') INT(11)"` | |||||
PermissionId int `json:"permission_id" xorm:"not null default 0 comment('权限id') INT(11)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,10 @@ | |||||
package model | |||||
type AgentRole struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
Name string `json:"name" xorm:"not null default '' comment('名称') VARCHAR(255)"` | |||||
State int `json:"state" xorm:"not null default 1 comment('状态(1:正常 2:冻结)') TINYINT(1)"` | |||||
Memo string `json:"memo" xorm:"not null default '' comment('备注') VARCHAR(255)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,9 @@ | |||||
package model | |||||
type AgentRolePermissionGroup struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
RoleId int `json:"role_id" xorm:"not null default 0 comment('角色id') INT(11)"` | |||||
GroupId int `json:"group_id" xorm:"not null default 0 comment('权限组id') INT(11)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,10 @@ | |||||
package model | |||||
type AgentWithRole struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
AgentId int `json:"agent_id" xorm:"not null default 0 comment('管理员id') INT(11)"` | |||||
RoleId int `json:"role_id" xorm:"not null default 0 comment('角色id') INT(11)"` | |||||
State int `json:"state" xorm:"not null default 1 comment('状态(1:正常 2:冻结)') TINYINT(1)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,13 @@ | |||||
package model | |||||
type Medium struct { | |||||
Id int `json:"id" xorm:"not null pk default 0 INT(11)"` | |||||
MediumId int `json:"medium_id" xorm:"not null default 0 comment('媒体id') INT(11)"` | |||||
Username string `json:"username" xorm:"not null default '' comment('用户名') VARCHAR(255)"` | |||||
Password string `json:"password" xorm:"not null default '' comment('密码') VARCHAR(255)"` | |||||
State int `json:"state" xorm:"not null default 1 comment('状态(1:正常 2:冻结)') TINYINT(1)"` | |||||
IsSuperAdministrator int `json:"is_super_administrator" xorm:"not null default 0 comment('是否为超级管理员(0:否 1:是)') TINYINT(1)"` | |||||
Memo string `json:"memo" xorm:"not null default '' comment('备注信息') VARCHAR(244)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package model | |||||
type MediumDomain struct { | |||||
Domain string `json:"domain" xorm:"not null pk comment('绑定域名') VARCHAR(100)"` | |||||
MediumId int `json:"medium_id" xorm:"not null comment('媒体id') index unique INT(11)"` | |||||
IsOfficial int `json:"is_official" xorm:"not null default 1 comment('是否官方指定域名(1:是 2:否)') TINYINT(1)"` | |||||
IsSsl int `json:"is_ssl" xorm:"not null default 0 comment('是否开启ssl:0否;1是') TINYINT(255)"` | |||||
} |
@@ -0,0 +1,10 @@ | |||||
package model | |||||
type MediumPermission struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
Name string `json:"name" xorm:"not null default '' comment('名称') VARCHAR(255)"` | |||||
Action string `json:"action" xorm:"not null default '' comment('路由') unique VARCHAR(255)"` | |||||
State int `json:"state" xorm:"not null default 1 comment('状态(1:正常 2:废弃)') TINYINT(1)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,11 @@ | |||||
package model | |||||
type MediumPermissionGroup struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
ParentId int `json:"parent_id" xorm:"not null default 0 comment('父级id') INT(11)"` | |||||
Key string `json:"key" xorm:"not null default '' VARCHAR(255)"` | |||||
Name string `json:"name" xorm:"not null default '' comment('名称') VARCHAR(255)"` | |||||
State int `json:"state" xorm:"not null default 1 comment('状态(1:正常 2:废弃)') TINYINT(1)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,9 @@ | |||||
package model | |||||
type MediumPermissionGroupPermission struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
GroupId int `json:"group_id" xorm:"not null default 0 comment('权限组id') INT(11)"` | |||||
PermissionId int `json:"permission_id" xorm:"not null default 0 comment('权限id') INT(11)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,10 @@ | |||||
package model | |||||
type MediumRole struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
Name string `json:"name" xorm:"not null default '' comment('名称') VARCHAR(255)"` | |||||
State int `json:"state" xorm:"not null default 1 comment('状态(1:正常 2:冻结)') TINYINT(1)"` | |||||
Memo string `json:"memo" xorm:"not null default '' comment('备注') VARCHAR(255)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,9 @@ | |||||
package model | |||||
type MediumRolePermissionGroup struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
RoleId int `json:"role_id" xorm:"not null default 0 comment('角色id') INT(11)"` | |||||
GroupId int `json:"group_id" xorm:"not null default 0 comment('权限组id') INT(11)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,10 @@ | |||||
package model | |||||
type MediumWithRole struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
MediumId int `json:"medium_id" xorm:"not null default 0 comment('媒体id') INT(11)"` | |||||
RoleId int `json:"role_id" xorm:"not null default 0 comment('角色id') INT(11)"` | |||||
State int `json:"state" xorm:"not null default 1 comment('状态(1:正常 2:冻结)') TINYINT(1)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,44 @@ | |||||
package dao | |||||
import ( | |||||
"applet/app/db/model" | |||||
"xorm.io/xorm" | |||||
) | |||||
type AdminDao interface { | |||||
CreateAdminId() (admId int, err error) | |||||
AdminDeleteBySession(session *xorm.Session, admId interface{}) (int64, error) | |||||
GetAdmin(id int) (m *model.Admin, err error) | |||||
GetAdminByUserName(userName string) (m *model.Admin, err error) | |||||
GetAdminRolePermission(admId int) (list []*AdminRolePermission, total int64, err error) | |||||
FindAdmin(username string, state, page, limit int) (list []model.Admin, total int64, err error) | |||||
UpdateAdmin(m *model.Admin, columns ...string) (int64, error) | |||||
AdminInsert(m *model.Admin) (int64, error) | |||||
FindAdminRolePermissionGroup(admId int) (list []*AdminRolePermissionGroup, total int64, err error) | |||||
} | |||||
type AdminRolePermissionGroup struct { | |||||
model.Admin `xorm:"extends"` | |||||
model.AdminRole `xorm:"extends"` | |||||
model.Role `xorm:"extends"` | |||||
model.RolePermissionGroup `xorm:"extends"` | |||||
model.PermissionGroup `xorm:"extends"` | |||||
} | |||||
func (AdminRolePermissionGroup) TableName() string { | |||||
return "admin" | |||||
} | |||||
type AdminRolePermission struct { | |||||
model.Admin `xorm:"extends"` | |||||
model.AdminRole `xorm:"extends"` | |||||
model.Role `xorm:"extends"` | |||||
model.RolePermissionGroup `xorm:"extends"` | |||||
model.PermissionGroup `xorm:"extends"` | |||||
model.PermissionGroupPermission `xorm:"extends"` | |||||
model.Permission `xorm:"extends"` | |||||
} | |||||
func (AdminRolePermission) TableName() string { | |||||
return "admin" | |||||
} |
@@ -0,0 +1,25 @@ | |||||
package dao | |||||
import ( | |||||
"applet/app/db/model" | |||||
"xorm.io/xorm" | |||||
) | |||||
type AdminRoleDao interface { | |||||
FindAdminRole(id int) (*[]model.AdminRole, error) | |||||
FindAdminRoleByRoleId(id int) (*[]model.AdminRole, error) | |||||
AdminDeleteBySessionForAdmId(session *xorm.Session, admId interface{}) (int64, error) | |||||
GetAdminRoleByRole(id int) (m *model.AdminRole, err error) | |||||
AdminRoleDeleteForRoleBySession(session *xorm.Session, roleId interface{}) (int64, error) | |||||
AdminRoleDeleteBySession(session *xorm.Session, id interface{}) (int64, error) | |||||
BatchAddAdminRoleBySession(session *xorm.Session, mm []*model.AdminRole) (int64, error) | |||||
} | |||||
type AdminRole struct { | |||||
model.Admin `xorm:"extends"` | |||||
model.AdminRole `xorm:"extends"` | |||||
} | |||||
func (AdminRole) TableName() string { | |||||
return "admin_role" | |||||
} |
@@ -0,0 +1,9 @@ | |||||
package dao | |||||
import "applet/app/db/super/model" | |||||
type AgentListDao interface { | |||||
GetAgentList(agentId int) (medium *model.AgentList, err error) | |||||
AgentListInsert(m *model.AgentList) (int64, error) | |||||
UpdateAgentList(m *model.AgentList, columns ...string) (int64, error) | |||||
} |
@@ -1,5 +1,9 @@ | |||||
package dao | package dao | ||||
import "applet/app/db/super/model" | |||||
type MediumListDao interface { | type MediumListDao interface { | ||||
//TODO:: You can add specific method definitions here | |||||
GetMediumList(mediumId int) (medium *model.MediumList, err error) | |||||
MediumListInsert(m *model.MediumList) (int64, error) | |||||
UpdateMediumList(m *model.MediumList, columns ...string) (int64, error) | |||||
} | } |
@@ -0,0 +1,5 @@ | |||||
package dao | |||||
type PermissionDao interface { | |||||
//TODO:: You can add specific method definitions here | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package dao | |||||
import "applet/app/db/model" | |||||
type PermissionGroupDao interface { | |||||
FindPermissionGroup() (*[]model.PermissionGroup, error) | |||||
FindPermissionGroupV2() (*[]model.PermissionGroup, error) | |||||
} |
@@ -0,0 +1,5 @@ | |||||
package dao | |||||
type PermissionGroupPermissionDao interface { | |||||
//TODO:: You can add specific method definitions here | |||||
} |
@@ -0,0 +1,25 @@ | |||||
package dao | |||||
import ( | |||||
"applet/app/db/model" | |||||
"xorm.io/xorm" | |||||
) | |||||
type RoleDao interface { | |||||
FindRole() (*[]model.Role, error) | |||||
GetRole() (m *model.Role, err error) | |||||
UpdateRole(m *model.Role, columns ...string) (int64, error) | |||||
RoleDeleteBySession(session *xorm.Session, id interface{}) (int64, error) | |||||
RoleInsert(m *model.Role) (int, error) | |||||
FindPermissionGroupByRole(roleId int) (list []*RolePermissionGroup, total int64, err error) | |||||
} | |||||
type RolePermissionGroup struct { | |||||
model.Role `xorm:"extends"` | |||||
model.RolePermissionGroup `xorm:"extends"` | |||||
model.PermissionGroup `xorm:"extends"` | |||||
} | |||||
func (RolePermissionGroup) TableName() string { | |||||
return "role" | |||||
} |
@@ -0,0 +1,11 @@ | |||||
package dao | |||||
import ( | |||||
"applet/app/db/model" | |||||
"xorm.io/xorm" | |||||
) | |||||
type RolePermissionGroupDao interface { | |||||
RolePermissionGroupDeleteForRoleBySession(session *xorm.Session, roleId interface{}) (int64, error) | |||||
BatchAddRolePermissionGroupBySession(session *xorm.Session, mm []*model.RolePermissionGroup) (int64, error) | |||||
} |
@@ -0,0 +1,115 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"applet/app/db/model" | |||||
"applet/app/utils/logx" | |||||
"reflect" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewAdminDb(engine *xorm.Engine) dao.AdminDao { | |||||
return &AdminDb{Db: engine} | |||||
} | |||||
type AdminDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func (a AdminDb) CreateAdminId() (admId int, err error) { | |||||
m := new(model.Admin) | |||||
has, err := a.Db.Desc("adm_id").Get(m) | |||||
if err != nil { | |||||
return 0, logx.Error(err) | |||||
} | |||||
if has == false { | |||||
return 0, nil | |||||
} | |||||
admId = m.AdmId + 1 | |||||
return admId, nil | |||||
} | |||||
func (a AdminDb) AdminDeleteBySession(session *xorm.Session, admId interface{}) (int64, error) { | |||||
if reflect.TypeOf(admId).Kind() == reflect.Slice { | |||||
return session.In("adm_id", admId).Delete(model.Admin{}) | |||||
} else { | |||||
return session.Where("adm_id = ?", admId).Delete(model.Admin{}) | |||||
} | |||||
} | |||||
func (a AdminDb) GetAdmin(id int) (m *model.Admin, err error) { | |||||
m = new(model.Admin) | |||||
has, err := a.Db.Where("adm_id =?", id).Get(m) | |||||
if err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
if has == false { | |||||
return nil, nil | |||||
} | |||||
return m, nil | |||||
} | |||||
func (a AdminDb) GetAdminByUserName(userName string) (m *model.Admin, err error) { | |||||
m = new(model.Admin) | |||||
has, err := a.Db.Where("username =?", userName).Get(m) | |||||
if err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
if has == false { | |||||
return nil, nil | |||||
} | |||||
return m, nil | |||||
} | |||||
func (a AdminDb) GetAdminRolePermission(admId int) (list []*dao.AdminRolePermission, total int64, err error) { | |||||
total, err = a.Db.Where("admin.adm_id =?", admId). | |||||
Join("LEFT", "admin_role", "admin.adm_id = admin_role.adm_id"). | |||||
Join("LEFT", "role", "admin_role.role_id = role.id"). | |||||
Join("LEFT", "role_permission_group", "role.id = role_permission_group.role_id"). | |||||
Join("LEFT", "permission_group", "role_permission_group.group_id = permission_group.id"). | |||||
Join("LEFT", "permission_group_permission", "permission_group.id = permission_group_permission.group_id"). | |||||
Join("LEFT", "permission", "permission_group_permission.permission_id = permission.id"). | |||||
FindAndCount(&list) | |||||
return | |||||
} | |||||
func (a AdminDb) FindAdmin(username string, state, page, limit int) (list []model.Admin, total int64, err error) { | |||||
sess := a.Db.Desc("adm_id").Limit(limit, (page-1)*limit) | |||||
if username != "" { | |||||
sess.And("username like ?", "%"+username+"%") | |||||
} | |||||
if state != 0 { | |||||
sess.And("state = ?", state) | |||||
} | |||||
total, err = sess.FindAndCount(&list) | |||||
if err != nil { | |||||
return nil, 0, err | |||||
} | |||||
return | |||||
} | |||||
func (a AdminDb) UpdateAdmin(m *model.Admin, columns ...string) (int64, error) { | |||||
affected, err := a.Db.Where("adm_id =?", m.AdmId).Cols(columns...).Update(m) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return affected, nil | |||||
} | |||||
func (a AdminDb) AdminInsert(m *model.Admin) (int64, error) { | |||||
insertAffected, err := a.Db.InsertOne(m) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return insertAffected, nil | |||||
} | |||||
func (a AdminDb) FindAdminRolePermissionGroup(admId int) (list []*dao.AdminRolePermissionGroup, total int64, err error) { | |||||
total, err = a.Db.Where("admin.adm_id =?", admId). | |||||
Join("LEFT", "admin_role", "admin.adm_id = admin_role.adm_id"). | |||||
Join("LEFT", "role", "admin_role.role_id = role.id"). | |||||
//Join("LEFT", "role_permission_group", "role.id = role_permission_group.role_id"). | |||||
//Join("LEFT", "permission_group", "role_permission_group.group_id = permission_group.id"). | |||||
FindAndCount(&list) | |||||
return | |||||
} |
@@ -0,0 +1,77 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"applet/app/db/model" | |||||
"applet/app/utils/logx" | |||||
"reflect" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewAdminRoleDb(engine *xorm.Engine) dao.AdminRoleDao { | |||||
return &AdminRoleDb{Db: engine} | |||||
} | |||||
type AdminRoleDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func (a AdminRoleDb) FindAdminRole(id int) (*[]model.AdminRole, error) { | |||||
var m []model.AdminRole | |||||
if err := a.Db.Where("adm_id =?", id).Find(&m); err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
return &m, nil | |||||
} | |||||
func (a AdminRoleDb) FindAdminRoleByRoleId(id int) (*[]model.AdminRole, error) { | |||||
var m []model.AdminRole | |||||
if err := a.Db.Where("role_id =?", id).Find(&m); err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
return &m, nil | |||||
} | |||||
func (a AdminRoleDb) AdminDeleteBySessionForAdmId(session *xorm.Session, admId interface{}) (int64, error) { | |||||
if reflect.TypeOf(admId).Kind() == reflect.Slice { | |||||
return session.In("adm_id", admId).Delete(model.AdminRole{}) | |||||
} else { | |||||
return session.Where("adm_id = ?", admId).Delete(model.AdminRole{}) | |||||
} | |||||
} | |||||
func (a AdminRoleDb) GetAdminRoleByRole(id int) (m *model.AdminRole, err error) { | |||||
m = new(model.AdminRole) | |||||
has, err := a.Db.Where("role_id =?", id).Get(m) | |||||
if err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
if has == false { | |||||
return nil, nil | |||||
} | |||||
return m, nil | |||||
} | |||||
func (a AdminRoleDb) AdminRoleDeleteForRoleBySession(session *xorm.Session, roleId interface{}) (int64, error) { | |||||
if reflect.TypeOf(roleId).Kind() == reflect.Slice { | |||||
return session.In("role_id", roleId).Delete(model.AdminRole{}) | |||||
} else { | |||||
return session.Where("role_id = ?", roleId).Delete(model.AdminRole{}) | |||||
} | |||||
} | |||||
func (a AdminRoleDb) AdminRoleDeleteBySession(session *xorm.Session, id interface{}) (int64, error) { | |||||
if reflect.TypeOf(id).Kind() == reflect.Slice { | |||||
return session.In("adm_id", id).Delete(model.AdminRole{}) | |||||
} else { | |||||
return session.Where("adm_id = ?", id).Delete(model.AdminRole{}) | |||||
} | |||||
} | |||||
func (a AdminRoleDb) BatchAddAdminRoleBySession(session *xorm.Session, mm []*model.AdminRole) (int64, error) { | |||||
affected, err := session.Insert(mm) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return affected, nil | |||||
} |
@@ -0,0 +1,44 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/super/dao" | |||||
"applet/app/db/super/model" | |||||
"applet/app/utils/logx" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewAgentListDb(engine *xorm.Engine) dao.AgentListDao { | |||||
return &AgentListDb{Db: engine} | |||||
} | |||||
type AgentListDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func (a AgentListDb) GetAgentList(agentId int) (medium *model.AgentList, err error) { | |||||
medium = new(model.AgentList) | |||||
has, err := a.Db.Where("agent_id =?", agentId).Get(medium) | |||||
if err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
if has == false { | |||||
return nil, nil | |||||
} | |||||
return medium, nil | |||||
} | |||||
func (a AgentListDb) AgentListInsert(m *model.AgentList) (int64, error) { | |||||
insertAffected, err := a.Db.InsertOne(m) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return insertAffected, nil | |||||
} | |||||
func (a AgentListDb) UpdateAgentList(m *model.AgentList, columns ...string) (int64, error) { | |||||
affected, err := a.Db.Where("agent_id =?", m.Id).Cols(columns...).Update(m) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return affected, nil | |||||
} |
@@ -2,6 +2,8 @@ | |||||
import ( | import ( | ||||
"applet/app/db/super/dao" | "applet/app/db/super/dao" | ||||
"applet/app/db/super/model" | |||||
"applet/app/utils/logx" | |||||
"xorm.io/xorm" | "xorm.io/xorm" | ||||
) | ) | ||||
@@ -12,3 +14,31 @@ func NewMediumListDb(engine *xorm.Engine) dao.MediumListDao { | |||||
type MediumListDb struct { | type MediumListDb struct { | ||||
Db *xorm.Engine | Db *xorm.Engine | ||||
} | } | ||||
func (m MediumListDb) GetMediumList(mediumId int) (medium *model.MediumList, err error) { | |||||
medium = new(model.MediumList) | |||||
has, err := m.Db.Where("medium_id =?", mediumId).Get(medium) | |||||
if err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
if has == false { | |||||
return nil, nil | |||||
} | |||||
return medium, nil | |||||
} | |||||
func (m MediumListDb) MediumListInsert(medium *model.MediumList) (int64, error) { | |||||
insertAffected, err := m.Db.InsertOne(medium) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return insertAffected, nil | |||||
} | |||||
func (m MediumListDb) UpdateMediumList(medium *model.MediumList, columns ...string) (int64, error) { | |||||
affected, err := m.Db.Where("medium_id =?", medium.Id).Cols(columns...).Update(m) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return affected, nil | |||||
} |
@@ -0,0 +1,33 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"applet/app/db/model" | |||||
"applet/app/enum" | |||||
"applet/app/utils/logx" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewPermissionGroupDb(engine *xorm.Engine) dao.PermissionGroupDao { | |||||
return &PermissionGroupDb{Db: engine} | |||||
} | |||||
type PermissionGroupDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func (p PermissionGroupDb) FindPermissionGroup() (*[]model.PermissionGroup, error) { | |||||
var m []model.PermissionGroup | |||||
if err := p.Db.Where("state = ?", enum.PermissionGroupStateForNormal).Asc("id").Find(&m); err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
return &m, nil | |||||
} | |||||
func (p PermissionGroupDb) FindPermissionGroupV2() (*[]model.PermissionGroup, error) { | |||||
var m []model.PermissionGroup | |||||
if err := p.Db.Asc("id").Find(&m); err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
return &m, nil | |||||
} |
@@ -0,0 +1,14 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"xorm.io/xorm" | |||||
) | |||||
type PermissionGroupPermissionDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func NewPermissionGroupPermissionDb(engine *xorm.Engine) dao.PermissionGroupPermissionDao { | |||||
return &PermissionGroupPermissionDb{Db: engine} | |||||
} |
@@ -0,0 +1,14 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"xorm.io/xorm" | |||||
) | |||||
type PermissionDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func NewPermissionDb(engine *xorm.Engine) dao.PermissionDao { | |||||
return &PermissionDb{Db: engine} | |||||
} |
@@ -0,0 +1,73 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"applet/app/db/model" | |||||
"applet/app/utils/logx" | |||||
"reflect" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewRoleDb(engine *xorm.Engine, id int) dao.RoleDao { | |||||
return &RoleDb{ | |||||
Db: engine, | |||||
Id: id, | |||||
} | |||||
} | |||||
type RoleDb struct { | |||||
Db *xorm.Engine | |||||
Id int `json:"id"` | |||||
} | |||||
func (r RoleDb) FindRole() (*[]model.Role, error) { | |||||
var m []model.Role | |||||
if err := r.Db.Desc("id").Find(&m); err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
return &m, nil | |||||
} | |||||
func (r RoleDb) GetRole() (m *model.Role, err error) { | |||||
m = new(model.Role) | |||||
has, err := r.Db.Where("id = ?", r.Id).Get(m) | |||||
if err != nil { | |||||
return nil, logx.Error(err) | |||||
} | |||||
if has == false { | |||||
return nil, nil | |||||
} | |||||
return m, nil | |||||
} | |||||
func (r RoleDb) UpdateRole(m *model.Role, columns ...string) (int64, error) { | |||||
affected, err := r.Db.Where("id =?", m.Id).Cols(columns...).Update(m) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return affected, nil | |||||
} | |||||
func (r RoleDb) RoleDeleteBySession(session *xorm.Session, id interface{}) (int64, error) { | |||||
if reflect.TypeOf(id).Kind() == reflect.Slice { | |||||
return session.In("id", id).Delete(model.Role{}) | |||||
} else { | |||||
return session.Where("id = ?", id).Delete(model.Role{}) | |||||
} | |||||
} | |||||
func (r RoleDb) RoleInsert(m *model.Role) (int, error) { | |||||
_, err := r.Db.InsertOne(m) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return m.Id, nil | |||||
} | |||||
func (r RoleDb) FindPermissionGroupByRole(roleId int) (list []*dao.RolePermissionGroup, total int64, err error) { | |||||
total, err = r.Db.Where("role.id =?", roleId). | |||||
Join("LEFT", "role_permission_group", "role_permission_group.role_id = role.id"). | |||||
Join("LEFT", "permission_group", "permission_group.id = role_permission_group.group_id"). | |||||
FindAndCount(&list) | |||||
return | |||||
} |
@@ -0,0 +1,32 @@ | |||||
package implement | |||||
import ( | |||||
"applet/app/db/dao" | |||||
"applet/app/db/model" | |||||
"reflect" | |||||
"xorm.io/xorm" | |||||
) | |||||
func NewRolePermissionGroupDb(engine *xorm.Engine) dao.RolePermissionGroupDao { | |||||
return &RolePermissionGroupDb{Db: engine} | |||||
} | |||||
type RolePermissionGroupDb struct { | |||||
Db *xorm.Engine | |||||
} | |||||
func (r RolePermissionGroupDb) RolePermissionGroupDeleteForRoleBySession(session *xorm.Session, roleId interface{}) (int64, error) { | |||||
if reflect.TypeOf(roleId).Kind() == reflect.Slice { | |||||
return session.In("role_id", roleId).Delete(model.RolePermissionGroup{}) | |||||
} else { | |||||
return session.Where("role_id = ?", roleId).Delete(model.RolePermissionGroup{}) | |||||
} | |||||
} | |||||
func (r RolePermissionGroupDb) BatchAddRolePermissionGroupBySession(session *xorm.Session, mm []*model.RolePermissionGroup) (int64, error) { | |||||
affected, err := session.Insert(mm) | |||||
if err != nil { | |||||
return 0, err | |||||
} | |||||
return affected, nil | |||||
} |
@@ -0,0 +1,12 @@ | |||||
package model | |||||
type Admin struct { | |||||
AdmId int `json:"adm_id" xorm:"not null comment('管理员id') INT(11)"` | |||||
Username string `json:"username" xorm:"not null default '' comment('用户名') VARCHAR(255)"` | |||||
Password string `json:"password" xorm:"not null default '' comment('密码') VARCHAR(255)"` | |||||
State int `json:"state" xorm:"not null default 1 comment('状态(1:正常 2:冻结)') TINYINT(1)"` | |||||
IsSuperAdministrator int `json:"is_super_administrator" xorm:"not null default 0 comment('是否为超级管理员(0:否 1:是)') TINYINT(1)"` | |||||
Memo string `json:"memo" xorm:"not null default '' comment('备注信息') VARCHAR(244)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,10 @@ | |||||
package model | |||||
type AdminRole struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
AdmId int `json:"adm_id" xorm:"not null default 0 comment('管理员id') INT(11)"` | |||||
RoleId int `json:"role_id" xorm:"not null default 0 comment('角色id') INT(11)"` | |||||
State int `json:"state" xorm:"not null default 1 comment('状态(1:正常 2:冻结)') TINYINT(1)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,25 @@ | |||||
package model | |||||
type AgentList struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
Uuid int `json:"uuid" xorm:"not null comment('站长id') index unique(IDX_UUID_TYPE) INT(11)"` | |||||
AgentId int `json:"agent_id" xorm:"not null comment('代理id') unique(IDX_UUID_TYPE) INT(11)"` | |||||
Kind int `json:"kind" xorm:"not null default 1 comment('类型(1:企业 2:个人)') TINYINT(1)"` | |||||
CompanyName string `json:"company_name" xorm:"not null default '' comment('公司名称') VARCHAR(255)"` | |||||
CompanyAbbreviation string `json:"company_abbreviation" xorm:"not null default '' comment('公司简称') VARCHAR(255)"` | |||||
UnifiedSocialCreditCode string `json:"unified_social_credit_code" xorm:"not null default '' comment('统一社会信用代码') VARCHAR(255)"` | |||||
CertificateType int `json:"certificate_type" xorm:"not null default 1 comment('证件类型') TINYINT(1)"` | |||||
BusinessLicenseImgUrl string `json:"business_license_img_url" xorm:"not null default '' comment('营业执照照片') VARCHAR(255)"` | |||||
LegalRepresentative string `json:"legal_representative" xorm:"not null default '' comment('法定代表人') CHAR(50)"` | |||||
CountryRegionId int `json:"country_region_id" xorm:"not null default 1 comment('国家地区id') TINYINT(3)"` | |||||
CountryRegion string `json:"country_region" xorm:"not null default '' comment('国家地区') CHAR(50)"` | |||||
RegisteredAddressProvinceId int `json:"registered_address_province_id" xorm:"not null default 0 comment('注册地址-省份id') INT(11)"` | |||||
RegisteredAddressCityId int `json:"registered_address_city_id" xorm:"not null default 0 comment('注册地址-市id') INT(11)"` | |||||
RegisteredAddressCountyId int `json:"registered_address_county_id" xorm:"not null default 0 comment('注册地址-县/区id') INT(11)"` | |||||
RegisteredAddress string `json:"registered_address" xorm:"not null default '' comment('注册地址') VARCHAR(255)"` | |||||
BusinessLicenseAddress string `json:"business_license_address" xorm:"not null default '' comment('营业执照地址') VARCHAR(255)"` | |||||
CertificateValidity string `json:"certificate_validity" xorm:"not null default '0000-00-00' comment('证件有效期') CHAR(50)"` | |||||
State int `json:"state" xorm:"not null default 0 comment('状态(0:待审核 1:审核通过 2:审核拒绝)') TINYINT(1)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,10 @@ | |||||
package model | |||||
type Permission struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
Name string `json:"name" xorm:"not null default '' comment('名称') VARCHAR(255)"` | |||||
Action string `json:"action" xorm:"not null default '' comment('路由') unique VARCHAR(255)"` | |||||
State int `json:"state" xorm:"not null default 1 comment('状态(1:正常 2:废弃)') TINYINT(1)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,11 @@ | |||||
package model | |||||
type PermissionGroup struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
ParentId int `json:"parent_id" xorm:"not null default 0 comment('父级id') INT(11)"` | |||||
Key string `json:"key" xorm:"not null default '' VARCHAR(255)"` | |||||
Name string `json:"name" xorm:"not null default '' comment('名称') VARCHAR(255)"` | |||||
State int `json:"state" xorm:"not null default 1 comment('状态(1:正常 2:废弃)') TINYINT(1)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,9 @@ | |||||
package model | |||||
type PermissionGroupPermission struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
GroupId int `json:"group_id" xorm:"not null default 0 comment('权限组id') INT(11)"` | |||||
PermissionId int `json:"permission_id" xorm:"not null default 0 comment('权限id') INT(11)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,10 @@ | |||||
package model | |||||
type Role struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
Name string `json:"name" xorm:"not null default '' comment('名称') VARCHAR(255)"` | |||||
State int `json:"state" xorm:"not null default 1 comment('状态(1:正常 2:冻结)') TINYINT(1)"` | |||||
Memo string `json:"memo" xorm:"not null default '' comment('备注') VARCHAR(255)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -0,0 +1,9 @@ | |||||
package model | |||||
type RolePermissionGroup struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
RoleId int `json:"role_id" xorm:"not null default 0 comment('角色id') INT(11)"` | |||||
GroupId int `json:"group_id" xorm:"not null default 0 comment('权限组id') INT(11)"` | |||||
CreateAt string `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
UpdateAt string `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"` | |||||
} |
@@ -2,7 +2,7 @@ package hdl | |||||
import ( | import ( | ||||
"applet/app/db" | "applet/app/db" | ||||
"applet/app/db/implement" | |||||
"applet/app/db/super/implement" | |||||
"applet/app/e" | "applet/app/e" | ||||
"applet/app/lib/validate" | "applet/app/lib/validate" | ||||
"applet/app/md" | "applet/app/md" | ||||
@@ -14,13 +14,13 @@ import ( | |||||
// Login 登陆 | // Login 登陆 | ||||
// @Summary 登陆 | // @Summary 登陆 | ||||
// @Tags ADMIN | |||||
// @Tags 登录注册 | |||||
// @Description 登入 | // @Description 登入 | ||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @Param req body md2.LoginReq true "用户名密码" | |||||
// @Success 200 {object} md2.LoginResponse "token" | |||||
// @Failure 400 {object} md2.Response "具体错误" | |||||
// @Param req body md.LoginReq true "用户名密码" | |||||
// @Success 200 {object} md.LoginResponse "token" | |||||
// @Failure 400 {object} md.Response "具体错误" | |||||
// @Router /admin/login [post] | // @Router /admin/login [post] | ||||
func Login(c *gin.Context) { | func Login(c *gin.Context) { | ||||
var req md.LoginReq | var req md.LoginReq | ||||
@@ -31,7 +31,7 @@ func Login(c *gin.Context) { | |||||
e.OutErr(c, err1.Code, err1.Error()) | e.OutErr(c, err1.Code, err1.Error()) | ||||
return | return | ||||
} | } | ||||
engine := db.DBs[svc.GetMasterId(c)] | |||||
engine := db.Db | |||||
adminDb := implement.NewAdminDb(engine) | adminDb := implement.NewAdminDb(engine) | ||||
admin, err := adminDb.GetAdminByUserName(req.UserName) | admin, err := adminDb.GetAdminByUserName(req.UserName) | ||||
if err != nil { | if err != nil { | ||||
@@ -16,15 +16,15 @@ import ( | |||||
// PermissionGroupList | // PermissionGroupList | ||||
// @Summary 权限组列表 | // @Summary 权限组列表 | ||||
// @Tags ADMIN-权限管理 | |||||
// @Description 权限组列表 | |||||
// @Tags 权限管理 | |||||
// @Description 权限管理-权限组列表 | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @param adm_id query string true "管理员id" | // @param adm_id query string true "管理员id" | ||||
// @Success 200 {string} "具体看返回内容" | // @Success 200 {string} "具体看返回内容" | ||||
// @Failure 400 {object} md.Response "具体错误" | // @Failure 400 {object} md.Response "具体错误" | ||||
// @Router /admin/role/permissionGroupList [GET] | |||||
// @Router /role/permissionGroupList [GET] | |||||
func PermissionGroupList(c *gin.Context) { | func PermissionGroupList(c *gin.Context) { | ||||
roleId := c.DefaultQuery("role_id", "") | roleId := c.DefaultQuery("role_id", "") | ||||
engine := db.DBs[svc.GetMasterId(c)] | engine := db.DBs[svc.GetMasterId(c)] | ||||
@@ -101,14 +101,14 @@ func PermissionGroupList(c *gin.Context) { | |||||
// RoleList | // RoleList | ||||
// @Summary 角色列表 | // @Summary 角色列表 | ||||
// @Tags ADMIN-权限管理 | |||||
// @Description 角色列表 | |||||
// @Tags 权限管理 | |||||
// @Description 权限管理-角色列表 | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @Success 200 {string} "具体看返回内容" | // @Success 200 {string} "具体看返回内容" | ||||
// @Failure 400 {object} md.Response "具体错误" | // @Failure 400 {object} md.Response "具体错误" | ||||
// @Router /admin/role/roleList [GET] | |||||
// @Router /role/roleList [GET] | |||||
func RoleList(c *gin.Context) { | func RoleList(c *gin.Context) { | ||||
engine := db.DBs[svc.GetMasterId(c)] | engine := db.DBs[svc.GetMasterId(c)] | ||||
roleDb := implement.NewRoleDb(engine, 0) | roleDb := implement.NewRoleDb(engine, 0) | ||||
@@ -161,15 +161,15 @@ func RoleList(c *gin.Context) { | |||||
// AddRole | // AddRole | ||||
// @Summary 添加角色 | // @Summary 添加角色 | ||||
// @Tags ADMIN-权限管理 | |||||
// @Description 添加角色 | |||||
// @Tags 权限管理 | |||||
// @Description 权限管理-添加角色 | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @Param args body md.AddRoleReq true "请求参数" | // @Param args body md.AddRoleReq true "请求参数" | ||||
// @Success 200 {string} "success" | // @Success 200 {string} "success" | ||||
// @Failure 400 {object} md.Response "具体错误" | // @Failure 400 {object} md.Response "具体错误" | ||||
// @Router /admin/role/addRole [POST] | |||||
// @Router /role/addRole [POST] | |||||
func AddRole(c *gin.Context) { | func AddRole(c *gin.Context) { | ||||
var req md.AddRoleReq | var req md.AddRoleReq | ||||
err := c.ShouldBindJSON(&req) | err := c.ShouldBindJSON(&req) | ||||
@@ -200,15 +200,15 @@ func AddRole(c *gin.Context) { | |||||
// UpdateRole | // UpdateRole | ||||
// @Summary 修改角色 | // @Summary 修改角色 | ||||
// @Tags ADMIN-权限管理 | |||||
// @Description 修改角色 | |||||
// @Tags 权限管理 | |||||
// @Description 权限管理-修改角色 | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @Param args body md.UpdateRoleReq true "请求参数" | // @Param args body md.UpdateRoleReq true "请求参数" | ||||
// @Success 200 {string} "success" | // @Success 200 {string} "success" | ||||
// @Failure 400 {object} md.Response "具体错误" | // @Failure 400 {object} md.Response "具体错误" | ||||
// @Router /admin/role/updateRole [POST] | |||||
// @Router /role/updateRole [POST] | |||||
func UpdateRole(c *gin.Context) { | func UpdateRole(c *gin.Context) { | ||||
var req md.UpdateRoleReq | var req md.UpdateRoleReq | ||||
err := c.ShouldBindJSON(&req) | err := c.ShouldBindJSON(&req) | ||||
@@ -242,15 +242,15 @@ func UpdateRole(c *gin.Context) { | |||||
// RoleBindPermissionGroup | // RoleBindPermissionGroup | ||||
// @Summary 角色绑定权限组 | // @Summary 角色绑定权限组 | ||||
// @Tags ADMIN-权限管理 | |||||
// @Description 角色绑定权限组 | |||||
// @Tags 权限管理 | |||||
// @Description 权限管理-角色绑定权限组 | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @Param args body md.RoleBindPermissionGroupReq true "请求参数" | // @Param args body md.RoleBindPermissionGroupReq true "请求参数" | ||||
// @Success 200 {string} "success" | // @Success 200 {string} "success" | ||||
// @Failure 400 {object} md.Response "具体错误" | // @Failure 400 {object} md.Response "具体错误" | ||||
// @Router /admin/role/roleBindPermissionGroup [POST] | |||||
// @Router /role/roleBindPermissionGroup [POST] | |||||
func RoleBindPermissionGroup(c *gin.Context) { | func RoleBindPermissionGroup(c *gin.Context) { | ||||
var req md.RoleBindPermissionGroupReq | var req md.RoleBindPermissionGroupReq | ||||
err := c.ShouldBindJSON(&req) | err := c.ShouldBindJSON(&req) | ||||
@@ -272,15 +272,15 @@ func RoleBindPermissionGroup(c *gin.Context) { | |||||
// UpdateRoleState | // UpdateRoleState | ||||
// @Summary 修改角色状态 | // @Summary 修改角色状态 | ||||
// @Tags ADMIN-权限管理 | |||||
// @Description 修改角色状态 | |||||
// @Tags 权限管理 | |||||
// @Description 权限管理-修改角色状态 | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @Param args body md.UpdateRoleStateReq true "请求参数" | // @Param args body md.UpdateRoleStateReq true "请求参数" | ||||
// @Success 200 {string} "success" | // @Success 200 {string} "success" | ||||
// @Failure 400 {object} md.Response "具体错误" | // @Failure 400 {object} md.Response "具体错误" | ||||
// @Router /admin/role/updateRole [POST] | |||||
// @Router /role/updateRole [POST] | |||||
func UpdateRoleState(c *gin.Context) { | func UpdateRoleState(c *gin.Context) { | ||||
var req md.UpdateRoleStateReq | var req md.UpdateRoleStateReq | ||||
err := c.ShouldBindJSON(&req) | err := c.ShouldBindJSON(&req) | ||||
@@ -313,15 +313,15 @@ func UpdateRoleState(c *gin.Context) { | |||||
// DeleteRole | // DeleteRole | ||||
// @Summary 删除角色 | // @Summary 删除角色 | ||||
// @Tags ADMIN-权限管理 | |||||
// @Description 删除角色 | |||||
// @Tags 权限管理 | |||||
// @Description 权限管理-删除角色 | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @Param args body md.UpdateRoleStateReq true "请求参数" | // @Param args body md.UpdateRoleStateReq true "请求参数" | ||||
// @Success 200 {string} "success" | // @Success 200 {string} "success" | ||||
// @Failure 400 {object} md.Response "具体错误" | // @Failure 400 {object} md.Response "具体错误" | ||||
// @Router /admin/role/deleteRole/{$id} [DELETE] | |||||
// @Router /role/deleteRole/{$id} [DELETE] | |||||
func DeleteRole(c *gin.Context) { | func DeleteRole(c *gin.Context) { | ||||
id := c.Param("id") | id := c.Param("id") | ||||
engine := db.DBs[svc.GetMasterId(c)] | engine := db.DBs[svc.GetMasterId(c)] | ||||
@@ -348,15 +348,15 @@ func DeleteRole(c *gin.Context) { | |||||
// AdminList | // AdminList | ||||
// @Summary 管理员列表 | // @Summary 管理员列表 | ||||
// @Tags ADMIN-权限管理 | |||||
// @Description 管理员列表 | |||||
// @Tags 权限管理 | |||||
// @Description 权限管理-管理员列表 | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @Param args body md.AdminListReq true "请求参数" | // @Param args body md.AdminListReq true "请求参数" | ||||
// @Success 200 {string} "具体看返回内容" | // @Success 200 {string} "具体看返回内容" | ||||
// @Failure 400 {object} md.Response "具体错误" | // @Failure 400 {object} md.Response "具体错误" | ||||
// @Router /admin/role/adminList [POST] | |||||
// @Router /role/adminList [POST] | |||||
func AdminList(c *gin.Context) { | func AdminList(c *gin.Context) { | ||||
var req md.AdminListReq | var req md.AdminListReq | ||||
err := c.ShouldBindJSON(&req) | err := c.ShouldBindJSON(&req) | ||||
@@ -422,15 +422,15 @@ func AdminList(c *gin.Context) { | |||||
// UpdateAdminState | // UpdateAdminState | ||||
// @Summary 修改管理员状态 | // @Summary 修改管理员状态 | ||||
// @Tags ADMIN-权限管理 | |||||
// @Description 修改管理员状态 | |||||
// @Tags 权限管理 | |||||
// @Description 权限管理-修改管理员状态 | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @Param args body md.UpdateAdminStateReq true "请求参数" | // @Param args body md.UpdateAdminStateReq true "请求参数" | ||||
// @Success 200 {string} "success" | // @Success 200 {string} "success" | ||||
// @Failure 400 {object} md.Response "具体错误" | // @Failure 400 {object} md.Response "具体错误" | ||||
// @Router /admin/role/updateAdminState [POST] | |||||
// @Router /role/updateAdminState [POST] | |||||
func UpdateAdminState(c *gin.Context) { | func UpdateAdminState(c *gin.Context) { | ||||
var req md.UpdateAdminStateReq | var req md.UpdateAdminStateReq | ||||
err := c.ShouldBindJSON(&req) | err := c.ShouldBindJSON(&req) | ||||
@@ -464,15 +464,15 @@ func UpdateAdminState(c *gin.Context) { | |||||
// UpdateAdmin | // UpdateAdmin | ||||
// @Summary 修改管理员信息 | // @Summary 修改管理员信息 | ||||
// @Tags ADMIN-权限管理 | |||||
// @Description 修改管理员信息 | |||||
// @Tags 权限管理 | |||||
// @Description 权限管理-修改管理员信息 | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @Param args body md.UpdateAdminReq true "请求参数" | // @Param args body md.UpdateAdminReq true "请求参数" | ||||
// @Success 200 {string} "success" | // @Success 200 {string} "success" | ||||
// @Failure 400 {object} md.Response "具体错误" | // @Failure 400 {object} md.Response "具体错误" | ||||
// @Router /admin/role/updateAdmin [POST] | |||||
// @Router /role/updateAdmin [POST] | |||||
func UpdateAdmin(c *gin.Context) { | func UpdateAdmin(c *gin.Context) { | ||||
var req md.UpdateAdminReq | var req md.UpdateAdminReq | ||||
err := c.ShouldBindJSON(&req) | err := c.ShouldBindJSON(&req) | ||||
@@ -507,15 +507,15 @@ func UpdateAdmin(c *gin.Context) { | |||||
// AddAdmin | // AddAdmin | ||||
// @Summary 新增管理员 | // @Summary 新增管理员 | ||||
// @Tags ADMIN-权限管理 | |||||
// @Description 新增管理员 | |||||
// @Tags 权限管理 | |||||
// @Description 权限管理-新增管理员 | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @Param args body md.AddAdminReq true "请求参数" | // @Param args body md.AddAdminReq true "请求参数" | ||||
// @Success 200 {string} "success" | // @Success 200 {string} "success" | ||||
// @Failure 400 {object} md.Response "具体错误" | // @Failure 400 {object} md.Response "具体错误" | ||||
// @Router /admin/role/addAdmin [POST] | |||||
// @Router /role/addAdmin [POST] | |||||
func AddAdmin(c *gin.Context) { | func AddAdmin(c *gin.Context) { | ||||
var req md.AddAdminReq | var req md.AddAdminReq | ||||
err := c.ShouldBindJSON(&req) | err := c.ShouldBindJSON(&req) | ||||
@@ -563,14 +563,14 @@ func AddAdmin(c *gin.Context) { | |||||
// DeleteAdmin | // DeleteAdmin | ||||
// @Summary 删除管理员 | // @Summary 删除管理员 | ||||
// @Tags ADMIN-权限管理 | |||||
// @Description 删除管理员 | |||||
// @Tags 权限管理 | |||||
// @Description 权限管理-删除管理员 | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @Success 200 {string} "success" | // @Success 200 {string} "success" | ||||
// @Failure 400 {object} md.Response "具体错误" | // @Failure 400 {object} md.Response "具体错误" | ||||
// @Router /admin/role/deleteAdmin/{$adm_id} [DELETE] | |||||
// @Router /role/deleteAdmin/{$adm_id} [DELETE] | |||||
func DeleteAdmin(c *gin.Context) { | func DeleteAdmin(c *gin.Context) { | ||||
admId := c.Param("adm_id") | admId := c.Param("adm_id") | ||||
err := svc.AdminDelete(c, []int{utils.StrToInt(admId)}) | err := svc.AdminDelete(c, []int{utils.StrToInt(admId)}) | ||||
@@ -584,15 +584,15 @@ func DeleteAdmin(c *gin.Context) { | |||||
// BindAdminRole | // BindAdminRole | ||||
// @Summary 管理员绑定角色 | // @Summary 管理员绑定角色 | ||||
// @Tags ADMIN-权限管理 | |||||
// @Description 管理员绑定角色 | |||||
// @Tags 权限管理 | |||||
// @Description 权限管理-管理员绑定角色 | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @Param args body md.BindAdminRoleReq true "请求参数" | // @Param args body md.BindAdminRoleReq true "请求参数" | ||||
// @Success 200 {string} "success" | // @Success 200 {string} "success" | ||||
// @Failure 400 {object} md.Response "具体错误" | // @Failure 400 {object} md.Response "具体错误" | ||||
// @Router /admin/role/bindAdminRole/ [POST] | |||||
// @Router /role/bindAdminRole/ [POST] | |||||
func BindAdminRole(c *gin.Context) { | func BindAdminRole(c *gin.Context) { | ||||
var req md.BindAdminRoleReq | var req md.BindAdminRoleReq | ||||
err := c.ShouldBindJSON(&req) | err := c.ShouldBindJSON(&req) | ||||
@@ -613,15 +613,15 @@ func BindAdminRole(c *gin.Context) { | |||||
// AdminInfo | // AdminInfo | ||||
// @Summary 管理员信息 | // @Summary 管理员信息 | ||||
// @Tags ADMIN-权限管理 | |||||
// @Description 管理员信息 | |||||
// @Tags 权限管理 | |||||
// @Description 权限管理-管理员信息 | |||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @param adm_id query string true "管理员id" | // @param adm_id query string true "管理员id" | ||||
// @Success 200 {string} "具体看返回内容" | // @Success 200 {string} "具体看返回内容" | ||||
// @Failure 400 {object} md.Response "具体错误" | // @Failure 400 {object} md.Response "具体错误" | ||||
// @Router /admin/role/adminInfo [GET] | |||||
// @Router /role/adminInfo [GET] | |||||
func AdminInfo(c *gin.Context) { | func AdminInfo(c *gin.Context) { | ||||
admId := c.DefaultQuery("adm_id", "") | admId := c.DefaultQuery("adm_id", "") | ||||
engine := db.DBs[svc.GetMasterId(c)] | engine := db.DBs[svc.GetMasterId(c)] | ||||
@@ -0,0 +1,7 @@ | |||||
package md | |||||
type Response struct { | |||||
Code string `json:"code" example:"响应码"` | |||||
Data interface{} `json:"data" ` //内容 | |||||
Msg string `json:"msg" example:"具体错误原因"` | |||||
} |
@@ -6,6 +6,8 @@ import ( | |||||
"applet/app/mw" | "applet/app/mw" | ||||
_ "applet/docs" | _ "applet/docs" | ||||
"github.com/gin-gonic/gin" | "github.com/gin-gonic/gin" | ||||
swaggerFiles "github.com/swaggo/files" | |||||
ginSwagger "github.com/swaggo/gin-swagger" | |||||
) | ) | ||||
// 初始化路由 | // 初始化路由 | ||||
@@ -18,6 +20,11 @@ func Init() *gin.Engine { | |||||
gin.SetMode(mode) | gin.SetMode(mode) | ||||
//创建一个新的启动器 | //创建一个新的启动器 | ||||
r := gin.New() | r := gin.New() | ||||
r.GET("/api/swagger/*any", func(c *gin.Context) { | |||||
//r.Use(mw.SwagAuth()) | |||||
ginSwagger.DisablingWrapHandler(swaggerFiles.Handler, "SWAGGER")(c) | |||||
}) | |||||
r.Use(mw.ChangeHeader) | r.Use(mw.ChangeHeader) | ||||
// 是否打印访问日志, 在非正式环境都打印 | // 是否打印访问日志, 在非正式环境都打印 | ||||
@@ -4,18 +4,17 @@ go 1.18 | |||||
require ( | require ( | ||||
github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 | github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 | ||||
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 | |||||
github.com/boombuler/barcode v1.0.1 | github.com/boombuler/barcode v1.0.1 | ||||
github.com/dchest/uniuri v0.0.0-20200228104902-7aecb25e1fe5 | github.com/dchest/uniuri v0.0.0-20200228104902-7aecb25e1fe5 | ||||
github.com/dgrijalva/jwt-go v3.2.0+incompatible | github.com/dgrijalva/jwt-go v3.2.0+incompatible | ||||
github.com/forgoer/openssl v0.0.0-20201023062029-c3112b0c8700 | github.com/forgoer/openssl v0.0.0-20201023062029-c3112b0c8700 | ||||
github.com/gin-contrib/sessions v0.0.3 | github.com/gin-contrib/sessions v0.0.3 | ||||
github.com/gin-gonic/gin v1.6.3 | |||||
github.com/go-playground/locales v0.13.0 | |||||
github.com/go-playground/universal-translator v0.17.0 | |||||
github.com/go-playground/validator/v10 v10.4.2 | |||||
github.com/gin-gonic/gin v1.9.0 | |||||
github.com/go-playground/locales v0.14.1 | |||||
github.com/go-playground/universal-translator v0.18.1 | |||||
github.com/go-playground/validator/v10 v10.11.2 | |||||
github.com/go-redis/redis v6.15.9+incompatible | github.com/go-redis/redis v6.15.9+incompatible | ||||
github.com/go-sql-driver/mysql v1.6.0 | |||||
github.com/go-sql-driver/mysql v1.8.1 | |||||
github.com/gocolly/colly v1.2.0 | github.com/gocolly/colly v1.2.0 | ||||
github.com/gomodule/redigo v2.0.0+incompatible | github.com/gomodule/redigo v2.0.0+incompatible | ||||
github.com/iGoogle-ink/gopay v1.5.36 | github.com/iGoogle-ink/gopay v1.5.36 | ||||
@@ -23,16 +22,20 @@ require ( | |||||
github.com/qiniu/api.v7/v7 v7.8.2 | github.com/qiniu/api.v7/v7 v7.8.2 | ||||
github.com/robfig/cron/v3 v3.0.1 | github.com/robfig/cron/v3 v3.0.1 | ||||
github.com/sony/sonyflake v1.0.0 | github.com/sony/sonyflake v1.0.0 | ||||
github.com/swaggo/swag v1.7.0 | |||||
github.com/syyongx/php2go v0.9.4 | |||||
github.com/swaggo/files v1.0.1 | |||||
github.com/swaggo/gin-swagger v1.6.0 | |||||
github.com/swaggo/swag v1.8.12 | |||||
github.com/syyongx/php2go v0.9.8 | |||||
github.com/tidwall/gjson v1.7.4 | github.com/tidwall/gjson v1.7.4 | ||||
go.uber.org/zap v1.16.0 | go.uber.org/zap v1.16.0 | ||||
gopkg.in/natefinch/lumberjack.v2 v2.0.0 | |||||
gopkg.in/natefinch/lumberjack.v2 v2.2.1 | |||||
gopkg.in/yaml.v2 v2.4.0 | gopkg.in/yaml.v2 v2.4.0 | ||||
xorm.io/xorm v1.0.7 | |||||
xorm.io/xorm v1.3.1 | |||||
) | ) | ||||
require ( | require ( | ||||
code.fnuoos.com/zhimeng/model.git v0.0.2-0.20240816125909-16531d9c66f9 // indirect | |||||
filippo.io/edwards25519 v1.1.0 // indirect | |||||
github.com/KyleBanks/depth v1.2.1 // indirect | github.com/KyleBanks/depth v1.2.1 // indirect | ||||
github.com/PuerkitoBio/goquery v1.5.1 // indirect | github.com/PuerkitoBio/goquery v1.5.1 // indirect | ||||
github.com/PuerkitoBio/purell v1.1.1 // indirect | github.com/PuerkitoBio/purell v1.1.1 // indirect | ||||
@@ -41,50 +44,57 @@ require ( | |||||
github.com/antchfx/htmlquery v1.3.2 // indirect | github.com/antchfx/htmlquery v1.3.2 // indirect | ||||
github.com/antchfx/xmlquery v1.4.1 // indirect | github.com/antchfx/xmlquery v1.4.1 // indirect | ||||
github.com/antchfx/xpath v1.3.1 // indirect | github.com/antchfx/xpath v1.3.1 // indirect | ||||
github.com/bytedance/sonic v1.8.0 // indirect | |||||
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect | |||||
github.com/gin-contrib/sse v0.1.0 // indirect | github.com/gin-contrib/sse v0.1.0 // indirect | ||||
github.com/go-openapi/jsonpointer v0.19.5 // indirect | github.com/go-openapi/jsonpointer v0.19.5 // indirect | ||||
github.com/go-openapi/jsonreference v0.19.5 // indirect | |||||
github.com/go-openapi/spec v0.20.3 // indirect | |||||
github.com/go-openapi/jsonreference v0.19.6 // indirect | |||||
github.com/go-openapi/spec v0.20.4 // indirect | |||||
github.com/go-openapi/swag v0.19.15 // indirect | github.com/go-openapi/swag v0.19.15 // indirect | ||||
github.com/gobwas/glob v0.2.3 // indirect | github.com/gobwas/glob v0.2.3 // indirect | ||||
github.com/goccy/go-json v0.10.2 // indirect | |||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect | github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect | ||||
github.com/golang/protobuf v1.5.2 // indirect | github.com/golang/protobuf v1.5.2 // indirect | ||||
github.com/golang/snappy v0.0.3 // indirect | |||||
github.com/golang/snappy v0.0.4 // indirect | |||||
github.com/gookit/color v1.3.8 // indirect | github.com/gookit/color v1.3.8 // indirect | ||||
github.com/gorilla/context v1.1.1 // indirect | github.com/gorilla/context v1.1.1 // indirect | ||||
github.com/gorilla/securecookie v1.1.1 // indirect | github.com/gorilla/securecookie v1.1.1 // indirect | ||||
github.com/gorilla/sessions v1.2.1 // indirect | github.com/gorilla/sessions v1.2.1 // indirect | ||||
github.com/josharian/intern v1.0.0 // indirect | github.com/josharian/intern v1.0.0 // indirect | ||||
github.com/json-iterator/go v1.1.10 // indirect | |||||
github.com/json-iterator/go v1.1.12 // indirect | |||||
github.com/kennygrant/sanitize v1.2.4 // indirect | github.com/kennygrant/sanitize v1.2.4 // indirect | ||||
github.com/klauspost/cpuid/v2 v2.0.9 // indirect | |||||
github.com/leodido/go-urn v1.2.1 // indirect | github.com/leodido/go-urn v1.2.1 // indirect | ||||
github.com/mailru/easyjson v0.7.7 // indirect | github.com/mailru/easyjson v0.7.7 // indirect | ||||
github.com/mattn/go-isatty v0.0.12 // indirect | |||||
github.com/mattn/go-isatty v0.0.19 // indirect | |||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect | github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect | ||||
github.com/modern-go/reflect2 v1.0.1 // indirect | |||||
github.com/modern-go/reflect2 v1.0.2 // indirect | |||||
github.com/onsi/ginkgo v1.15.0 // indirect | github.com/onsi/ginkgo v1.15.0 // indirect | ||||
github.com/onsi/gomega v1.10.5 // indirect | github.com/onsi/gomega v1.10.5 // indirect | ||||
github.com/pelletier/go-toml/v2 v2.0.6 // indirect | |||||
github.com/pkg/errors v0.9.1 // indirect | github.com/pkg/errors v0.9.1 // indirect | ||||
github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d // indirect | github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d // indirect | ||||
github.com/smartystreets/goconvey v1.6.4 // indirect | |||||
github.com/stretchr/testify v1.7.0 // indirect | |||||
github.com/stretchr/testify v1.8.3 // indirect | |||||
github.com/syndtr/goleveldb v1.0.0 // indirect | github.com/syndtr/goleveldb v1.0.0 // indirect | ||||
github.com/temoto/robotstxt v1.1.2 // indirect | github.com/temoto/robotstxt v1.1.2 // indirect | ||||
github.com/tidwall/match v1.0.3 // indirect | github.com/tidwall/match v1.0.3 // indirect | ||||
github.com/tidwall/pretty v1.1.0 // indirect | github.com/tidwall/pretty v1.1.0 // indirect | ||||
github.com/ugorji/go/codec v1.2.5 // indirect | |||||
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect | |||||
github.com/ugorji/go/codec v1.2.9 // indirect | |||||
go.uber.org/atomic v1.7.0 // indirect | go.uber.org/atomic v1.7.0 // indirect | ||||
go.uber.org/multierr v1.6.0 // indirect | go.uber.org/multierr v1.6.0 // indirect | ||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect | |||||
golang.org/x/arch v0.0.0-20210923205945-b76863e36670 // indirect | |||||
golang.org/x/crypto v0.5.0 // indirect | |||||
golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect | golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect | ||||
golang.org/x/net v0.7.0 // indirect | |||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect | |||||
golang.org/x/sys v0.5.0 // indirect | |||||
golang.org/x/text v0.7.0 // indirect | |||||
golang.org/x/tools v0.1.12 // indirect | |||||
golang.org/x/net v0.10.0 // indirect | |||||
golang.org/x/sync v0.1.0 // indirect | |||||
golang.org/x/sys v0.8.0 // indirect | |||||
golang.org/x/text v0.9.0 // indirect | |||||
golang.org/x/tools v0.7.0 // indirect | |||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect | golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect | ||||
google.golang.org/appengine v1.6.1 // indirect | google.golang.org/appengine v1.6.1 // indirect | ||||
google.golang.org/protobuf v1.26.0 // indirect | |||||
google.golang.org/protobuf v1.28.1 // indirect | |||||
gopkg.in/yaml.v3 v3.0.1 // indirect | |||||
honnef.co/go/tools v0.0.1-2020.1.4 // indirect | honnef.co/go/tools v0.0.1-2020.1.4 // indirect | ||||
xorm.io/builder v0.3.9 // indirect | |||||
xorm.io/builder v0.3.11-0.20220531020008-1bd24a7dc978 // indirect | |||||
) | ) |
@@ -16,7 +16,7 @@ import ( | |||||
"applet/app/utils" | "applet/app/utils" | ||||
) | ) | ||||
//系统初始化 | |||||
// 系统初始化 | |||||
func init() { | func init() { | ||||
cfg.InitCfg() //配置初始化 | cfg.InitCfg() //配置初始化 | ||||
cfg.InitLog() //日志初始化 | cfg.InitLog() //日志初始化 | ||||
@@ -33,16 +33,23 @@ func init() { | |||||
} | } | ||||
// @title 智莺生活移动端接口 | |||||
// @title 广告联盟-总站长平台 | |||||
// @version 1.0 | // @version 1.0 | ||||
// @description 移动端接口 | |||||
// @termsOfService 智莺生活后端组 | |||||
// @contact.name sherlockwhite | |||||
// @host localhost:5000 | |||||
// @description 总站长后台接口 | |||||
// @termsOfService http://swagger.io/terms/ | |||||
// @contact.name dengbiao | |||||
// @contact.url http://www.swagger.io/support | |||||
// @contact.email 1239118001@qq.com | |||||
// @license.name Apache 2.0 | |||||
// @license.url http://www.apache.org/licenses/LICENSE-2.0.html | |||||
// @host localhost:1001 or advertisement.dengbiao.top | |||||
// @securityDefinitions.apikey MasterID | // @securityDefinitions.apikey MasterID | ||||
// @in header | // @in header | ||||
// @name MasterID | // @name MasterID | ||||
// @BasePath / | |||||
// @BasePath /api | |||||
func main() { | func main() { | ||||
// 启动获取所有品牌 | // 启动获取所有品牌 | ||||
//go taoke.GetAllBrand() | //go taoke.GetAllBrand() | ||||