1
This commit is contained in:
commit
f6ce67667a
@ -89,13 +89,13 @@ DROP TABLE IF EXISTS `t_member`;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `t_member` (
|
||||
`idx` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id',
|
||||
`group_id` varchar(60) CHARACTER SET utf8 NOT NULL COMMENT '分组id',
|
||||
`mebmer_id` varchar(60) CHARACTER SET utf8 NOT NULL COMMENT '账号id',
|
||||
`group_id` bigint NOT NULL COMMENT 'group id',
|
||||
`member_id` varchar(60) CHARACTER SET utf8 NOT NULL COMMENT '账号id',
|
||||
`deleted` int(11) NOT NULL DEFAULT '0' COMMENT '是否已删除',
|
||||
`createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
|
||||
`modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间',
|
||||
UNIQUE KEY `idx` (`idx`),
|
||||
PRIMARY KEY (`group_id`, `mebmer_id`)
|
||||
PRIMARY KEY (`group_id`, `member_id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=10000 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
||||
|
@ -6,5 +6,6 @@ type ApiGroup struct {
|
||||
AuditApi
|
||||
MailApi
|
||||
UserGroupApi
|
||||
GroupMemberApi
|
||||
BattleServerApi
|
||||
}
|
||||
|
258
server/adminserver/api/v1/system/group_member.go
Normal file
258
server/adminserver/api/v1/system/group_member.go
Normal file
@ -0,0 +1,258 @@
|
||||
package system
|
||||
|
||||
import (
|
||||
"f5"
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/xuri/excelize/v2"
|
||||
"main/constant"
|
||||
"main/model/system"
|
||||
"net/http"
|
||||
"q5"
|
||||
)
|
||||
|
||||
type GroupMemberApi struct {
|
||||
}
|
||||
|
||||
func (this *GroupMemberApi) List(c *gin.Context) {
|
||||
req := struct {
|
||||
GroupId int64 `binding:"required" json:"group_id,string" form:"group_id"`
|
||||
PageDto system.PageDto `json:"page_dto"`
|
||||
}{}
|
||||
if err := c.ShouldBindQuery(&req); err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 1,
|
||||
"message": err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
result := []*system.Member{}
|
||||
f5.GetGoStyleDb().PageQuery(
|
||||
constant.MAIL_DB,
|
||||
q5.ToInt32(req.PageDto.PageSize),
|
||||
q5.ToInt32(req.PageDto.Page),
|
||||
"SELECT * FROM t_member WHERE 1=1",
|
||||
[]string{},
|
||||
f5.GetDbFilter().Comp(
|
||||
f5.GetDbFilter().EQ("group_id", q5.ToString(req.GroupId)).And(),
|
||||
),
|
||||
"",
|
||||
func(err error, pg *f5.Pagination) {
|
||||
if err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 1,
|
||||
"message": err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
for pg.Rows.Next() {
|
||||
p := new(system.Member)
|
||||
p.GroupId = q5.ToInt64(pg.Rows.GetByName("group_id"))
|
||||
p.MemberId = pg.Rows.GetByName("member_id")
|
||||
q5.AppendSlice(&result, p)
|
||||
}
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 0,
|
||||
"message": "获取成功",
|
||||
"data": result,
|
||||
"total": pg.Total,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
func (this *GroupMemberApi) Add(c *gin.Context) {
|
||||
req := struct {
|
||||
GroupId int64 `binding:"required" json:"group_id,string"`
|
||||
MemberId string `binding:"required" json:"member_id"`
|
||||
}{}
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 1,
|
||||
"message": err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
if err := f5.GetApp().GetOrmDb(constant.MAIL_DB).Take(new(system.UserGroup), req.GroupId).Error; err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 1,
|
||||
"message": "组不存在",
|
||||
})
|
||||
return
|
||||
}
|
||||
if err := f5.GetApp().GetOrmDb(constant.MAIL_DB).Where("group_id =? and member_id =?", req.GroupId, req.MemberId).Take(new(system.Member)).Error; err == nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 1,
|
||||
"message": "数据存在",
|
||||
})
|
||||
return
|
||||
}
|
||||
nowDaySeconds := int32(f5.GetApp().GetRealSeconds())
|
||||
member := new(system.Member)
|
||||
member.GroupId = req.GroupId
|
||||
member.MemberId = req.MemberId
|
||||
member.CreateTime = nowDaySeconds
|
||||
member.ModifyTime = nowDaySeconds
|
||||
if err := f5.GetApp().GetOrmDb(constant.MAIL_DB).Create(member).Error; err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 1,
|
||||
"message": err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 0,
|
||||
"message": "添加成功",
|
||||
})
|
||||
}
|
||||
|
||||
func (this *GroupMemberApi) Edit(c *gin.Context) {
|
||||
req := struct {
|
||||
GroupId int64 `binding:"required" json:"group_id,string"`
|
||||
MemberId string `binding:"required" json:"member_id"`
|
||||
NewMemberId string `binding:"required" json:"new_member_id"`
|
||||
}{}
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 1,
|
||||
"message": err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
member := new(system.Member)
|
||||
db := f5.GetApp().GetOrmDb(constant.MAIL_DB)
|
||||
if err := db.Take(member, "group_id =? and member_id =?", req.GroupId, req.MemberId).Error; err != nil {
|
||||
if !f5.IsOrmErrRecordNotFound(err) {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 500,
|
||||
"message": "sever internal error:" + err.Error(),
|
||||
})
|
||||
return
|
||||
} else {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 2,
|
||||
"message": "无法查到记录",
|
||||
})
|
||||
return
|
||||
}
|
||||
}
|
||||
nowDaySeconds := int32(f5.GetApp().GetRealSeconds())
|
||||
member.GroupId = req.GroupId
|
||||
member.MemberId = req.NewMemberId
|
||||
member.ModifyTime = nowDaySeconds
|
||||
if err := db.Where("group_id =? and member_id =?", req.GroupId, req.MemberId).Save(member).Error; err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 500,
|
||||
"message": "sever internal error:" + err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 0,
|
||||
"message": "",
|
||||
})
|
||||
}
|
||||
|
||||
func (this *GroupMemberApi) Del(c *gin.Context) {
|
||||
req := struct {
|
||||
GroupId int64 `binding:"required" json:"group_id,string"`
|
||||
MemberId string `binding:"required" json:"member_id"`
|
||||
}{}
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 1,
|
||||
"message": err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
member := new(system.Member)
|
||||
db := f5.GetApp().GetOrmDb(constant.MAIL_DB)
|
||||
if err := db.Take(member, "group_id =? and member_id =?", req.GroupId, req.MemberId).Error; err != nil {
|
||||
if !f5.IsOrmErrRecordNotFound(err) {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 500,
|
||||
"message": "sever internal error:" + err.Error(),
|
||||
})
|
||||
return
|
||||
} else {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 2,
|
||||
"message": "无法查到记录",
|
||||
})
|
||||
return
|
||||
}
|
||||
} else {
|
||||
}
|
||||
nowDaySeconds := int32(f5.GetApp().GetRealSeconds())
|
||||
member.ModifyTime = nowDaySeconds
|
||||
if err := db.Where("group_id =? and member_id =?", req.GroupId, req.MemberId).Delete(member).Error; err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 500,
|
||||
"message": "sever internal error:" + err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 0,
|
||||
"message": "",
|
||||
})
|
||||
}
|
||||
|
||||
func (this *GroupMemberApi) UploadExcel(c *gin.Context) {
|
||||
group_id := c.Request.FormValue("group_id")
|
||||
if group_id == "" {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 1,
|
||||
"message": "缺少参数",
|
||||
})
|
||||
return
|
||||
}
|
||||
file, _, err := c.Request.FormFile("file")
|
||||
if err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 1,
|
||||
"message": "上传文件失败",
|
||||
})
|
||||
return
|
||||
}
|
||||
xlsx, err := excelize.OpenReader(file)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 1,
|
||||
"message": "解析文件失败",
|
||||
})
|
||||
return
|
||||
}
|
||||
rows, err := xlsx.GetRows(xlsx.GetSheetName(xlsx.GetActiveSheetIndex()))
|
||||
if err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 1,
|
||||
"message": err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
nowDaySeconds := int32(f5.GetApp().GetRealSeconds())
|
||||
members := []*system.Member{}
|
||||
for i, row := range rows {
|
||||
if i == 0 {
|
||||
continue
|
||||
}
|
||||
member := new(system.Member)
|
||||
//member.GroupId = q5.ToInt64(row[0])
|
||||
member.GroupId = q5.ToInt64(group_id)
|
||||
member.MemberId = row[0]
|
||||
member.CreateTime = nowDaySeconds
|
||||
member.ModifyTime = nowDaySeconds
|
||||
members = append(members, member)
|
||||
}
|
||||
if err := f5.GetApp().GetOrmDb(constant.MAIL_DB).Create(members).Error; err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 1,
|
||||
"message": err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 0,
|
||||
"message": "添加成功",
|
||||
})
|
||||
}
|
@ -2,10 +2,10 @@ package system
|
||||
|
||||
import (
|
||||
"f5"
|
||||
"net/http"
|
||||
"github.com/gin-gonic/gin"
|
||||
"main/constant"
|
||||
"main/model/system"
|
||||
"github.com/gin-gonic/gin"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
type UserGroupApi struct {
|
||||
@ -15,9 +15,9 @@ func (this *UserGroupApi) List(c *gin.Context) {
|
||||
groups := []system.UserGroup{}
|
||||
f5.GetApp().GetOrmDb(constant.MAIL_DB).Find(&groups)
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 0,
|
||||
"code": 0,
|
||||
"message": "",
|
||||
"data": groups,
|
||||
"data": groups,
|
||||
})
|
||||
}
|
||||
|
||||
@ -25,11 +25,11 @@ func (this *UserGroupApi) Add(c *gin.Context) {
|
||||
req := struct {
|
||||
GroupName string `binding:"required" json:"group_name"`
|
||||
GroupDesc string `json:"group_desc"`
|
||||
Enabled int32 `json:"enabled"`
|
||||
Enabled int32 `json:"enabled"`
|
||||
}{}
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 1,
|
||||
"code": 1,
|
||||
"message": err.Error(),
|
||||
})
|
||||
return
|
||||
@ -37,14 +37,14 @@ func (this *UserGroupApi) Add(c *gin.Context) {
|
||||
db := f5.GetApp().GetOrmDb(constant.MAIL_DB)
|
||||
if err := db.Where("group_name = ?", req.GroupName).Take(new(system.UserGroup)).Error; err == nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 2,
|
||||
"code": 2,
|
||||
"message": "组名已存在",
|
||||
})
|
||||
return
|
||||
} else {
|
||||
if !f5.IsOrmErrRecordNotFound(err) {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 500,
|
||||
"code": 500,
|
||||
"message": "sever internal error:" + err.Error(),
|
||||
})
|
||||
return
|
||||
@ -61,28 +61,28 @@ func (this *UserGroupApi) Add(c *gin.Context) {
|
||||
if err := db.Create(group).Error; err != nil {
|
||||
if !f5.IsOrmErrRecordNotFound(err) {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 500,
|
||||
"code": 500,
|
||||
"message": "sever internal error:" + err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
}
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 0,
|
||||
"code": 0,
|
||||
"message": "",
|
||||
})
|
||||
}
|
||||
|
||||
func (this *UserGroupApi) Edit(c *gin.Context) {
|
||||
req := struct {
|
||||
GroupId int64 `binding:"required" json:"group_id"`
|
||||
GroupId int64 `binding:"required" json:"group_id,string"`
|
||||
GroupName string `binding:"required" json:"group_name"`
|
||||
GroupDesc string `json:"group_desc"`
|
||||
Enabled int32 `json:"enabled"`
|
||||
Enabled int32 `json:"enabled"`
|
||||
}{}
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 1,
|
||||
"code": 1,
|
||||
"message": err.Error(),
|
||||
})
|
||||
return
|
||||
@ -92,13 +92,13 @@ func (this *UserGroupApi) Edit(c *gin.Context) {
|
||||
if err := db.Take(group, req.GroupId).Error; err != nil {
|
||||
if !f5.IsOrmErrRecordNotFound(err) {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 500,
|
||||
"code": 500,
|
||||
"message": "sever internal error:" + err.Error(),
|
||||
})
|
||||
return
|
||||
} else {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 2,
|
||||
"code": 2,
|
||||
"message": "无法查到记录",
|
||||
})
|
||||
return
|
||||
@ -112,24 +112,24 @@ func (this *UserGroupApi) Edit(c *gin.Context) {
|
||||
group.ModifyTime = nowDaySeconds
|
||||
if err := db.Save(group).Error; err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 500,
|
||||
"code": 500,
|
||||
"message": "sever internal error:" + err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 0,
|
||||
"code": 0,
|
||||
"message": "",
|
||||
})
|
||||
}
|
||||
|
||||
func (this *UserGroupApi) Del(c *gin.Context) {
|
||||
req := struct {
|
||||
GroupId int64 `binding:"required" json:"group_id"`
|
||||
GroupId int64 `binding:"required" json:"group_id,string"`
|
||||
}{}
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 1,
|
||||
"code": 1,
|
||||
"message": err.Error(),
|
||||
})
|
||||
return
|
||||
@ -139,13 +139,13 @@ func (this *UserGroupApi) Del(c *gin.Context) {
|
||||
if err := db.Take(group, req.GroupId).Error; err != nil {
|
||||
if !f5.IsOrmErrRecordNotFound(err) {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 500,
|
||||
"code": 500,
|
||||
"message": "sever internal error:" + err.Error(),
|
||||
})
|
||||
return
|
||||
} else {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 2,
|
||||
"code": 2,
|
||||
"message": "无法查到记录",
|
||||
})
|
||||
return
|
||||
@ -156,13 +156,13 @@ func (this *UserGroupApi) Del(c *gin.Context) {
|
||||
group.ModifyTime = nowDaySeconds
|
||||
if err := db.Delete(group).Error; err != nil {
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 500,
|
||||
"code": 500,
|
||||
"message": "sever internal error:" + err.Error(),
|
||||
})
|
||||
return
|
||||
}
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"code": 0,
|
||||
"code": 0,
|
||||
"message": "",
|
||||
})
|
||||
}
|
||||
|
@ -91,6 +91,15 @@ func (this *app) registerDataSources() {
|
||||
mt.Table.MailDb.GetById(0).GetPasswd(),
|
||||
mt.Table.MailDb.GetById(0).GetDatabase(),
|
||||
)
|
||||
f5.GetGoStyleDb().RegisterDataSource(
|
||||
constant.MAIL_DB,
|
||||
mt.Table.MailDb.GetById(0).GetHost(),
|
||||
mt.Table.MailDb.GetById(0).GetPort(),
|
||||
mt.Table.MailDb.GetById(0).GetUser(),
|
||||
mt.Table.MailDb.GetById(0).GetPasswd(),
|
||||
mt.Table.MailDb.GetById(0).GetDatabase(),
|
||||
1,
|
||||
)
|
||||
|
||||
u := system.SysUser{}
|
||||
f5.GetApp().GetOrmDb(constant.ADMIN_DB).First(&u)
|
||||
@ -140,5 +149,5 @@ func (this *app) RemoveSession(accountId string) {
|
||||
}
|
||||
|
||||
func (this *app) HasTask() bool {
|
||||
return false;
|
||||
return false
|
||||
}
|
||||
|
@ -38,14 +38,20 @@ require (
|
||||
github.com/mattn/go-isatty v0.0.19 // indirect
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.1.0 // indirect
|
||||
github.com/richardlehane/mscfb v1.0.4 // indirect
|
||||
github.com/richardlehane/msoleps v1.0.3 // indirect
|
||||
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
|
||||
github.com/ugorji/go/codec v1.2.11 // indirect
|
||||
github.com/xuri/efp v0.0.0-20231025114914-d1ff6096ae53 // indirect
|
||||
github.com/xuri/excelize/v2 v2.8.1 // indirect
|
||||
github.com/xuri/nfp v0.0.0-20230919160717-d98342af3f05 // indirect
|
||||
golang.org/x/arch v0.5.0 // indirect
|
||||
golang.org/x/crypto v0.13.0 // indirect
|
||||
golang.org/x/net v0.15.0 // indirect
|
||||
golang.org/x/sys v0.12.0 // indirect
|
||||
golang.org/x/text v0.13.0 // indirect
|
||||
golang.org/x/crypto v0.19.0 // indirect
|
||||
golang.org/x/net v0.21.0 // indirect
|
||||
golang.org/x/sys v0.17.0 // indirect
|
||||
golang.org/x/text v0.14.0 // indirect
|
||||
google.golang.org/protobuf v1.31.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
)
|
||||
|
@ -54,10 +54,17 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
|
||||
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
|
||||
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw=
|
||||
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
|
||||
github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4=
|
||||
github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/richardlehane/mscfb v1.0.4 h1:WULscsljNPConisD5hR0+OyZjwK46Pfyr6mPu5ZawpM=
|
||||
github.com/richardlehane/mscfb v1.0.4/go.mod h1:YzVpcZg9czvAuhk9T+a3avCpcFPMUWm7gK3DypaEsUk=
|
||||
github.com/richardlehane/msoleps v1.0.1/go.mod h1:BWev5JBpU9Ko2WAgmZEuiz4/u3ZYTKbjLycmwiWUfWg=
|
||||
github.com/richardlehane/msoleps v1.0.3 h1:aznSZzrwYRl3rLKRT3gUk9am7T/mLNSnJINvN0AQoVM=
|
||||
github.com/richardlehane/msoleps v1.0.3/go.mod h1:BWev5JBpU9Ko2WAgmZEuiz4/u3ZYTKbjLycmwiWUfWg=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
|
||||
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
|
||||
@ -74,19 +81,32 @@ github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS
|
||||
github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08=
|
||||
github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU=
|
||||
github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
|
||||
github.com/xuri/efp v0.0.0-20231025114914-d1ff6096ae53 h1:Chd9DkqERQQuHpXjR/HSV1jLZA6uaoiwwH3vSuF3IW0=
|
||||
github.com/xuri/efp v0.0.0-20231025114914-d1ff6096ae53/go.mod h1:ybY/Jr0T0GTCnYjKqmdwxyxn2BQf2RcQIIvex5QldPI=
|
||||
github.com/xuri/excelize/v2 v2.8.1 h1:pZLMEwK8ep+CLIUWpWmvW8IWE/yxqG0I1xcN6cVMGuQ=
|
||||
github.com/xuri/excelize/v2 v2.8.1/go.mod h1:oli1E4C3Pa5RXg1TBXn4ENCXDV5JUMlBluUhG7c+CEE=
|
||||
github.com/xuri/nfp v0.0.0-20230919160717-d98342af3f05 h1:qhbILQo1K3mphbwKh1vNm4oGezE1eF9fQWmNiIpSfI4=
|
||||
github.com/xuri/nfp v0.0.0-20230919160717-d98342af3f05/go.mod h1:WwHg+CVyzlv/TX9xqBFXEZAuxOPxn2k1GNHwG41IIUQ=
|
||||
golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
|
||||
golang.org/x/arch v0.5.0 h1:jpGode6huXQxcskEIpOCvrU+tzo81b6+oFLUYXWtH/Y=
|
||||
golang.org/x/arch v0.5.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
|
||||
golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck=
|
||||
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
|
||||
golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo=
|
||||
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
|
||||
golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8=
|
||||
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
|
||||
golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
|
||||
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
|
||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o=
|
||||
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
|
||||
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
||||
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
||||
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
||||
|
13
server/adminserver/model/system/group_member.go
Normal file
13
server/adminserver/model/system/group_member.go
Normal file
@ -0,0 +1,13 @@
|
||||
package system
|
||||
|
||||
type Member struct {
|
||||
GroupId int64 `gorm:"column:group_id" json:"group_id,string"`
|
||||
MemberId string `gorm:"column:member_id" json:"member_id"`
|
||||
Deleted int32 `gorm:"column:deleted" json:"deleted"`
|
||||
CreateTime int32 `gorm:"column:createtime" json:"createtime"`
|
||||
ModifyTime int32 `gorm:"column:modifytime" json:"modifytime"`
|
||||
}
|
||||
|
||||
func (Member) TableName() string {
|
||||
return "t_member"
|
||||
}
|
26
server/adminserver/model/system/paginate.go
Normal file
26
server/adminserver/model/system/paginate.go
Normal file
@ -0,0 +1,26 @@
|
||||
package system
|
||||
|
||||
import "gorm.io/gorm"
|
||||
|
||||
type PageDto struct {
|
||||
Page int `form:"page" json:"page" query:"page"`
|
||||
PageSize int `form:"pageSize" json:"pageSize" query:"pageSize"`
|
||||
}
|
||||
|
||||
func Paginate(req *PageDto) func(db *gorm.DB) *gorm.DB {
|
||||
return func(db *gorm.DB) *gorm.DB {
|
||||
page := req.Page
|
||||
if page <= 0 {
|
||||
page = 1
|
||||
}
|
||||
pageSize := req.PageSize
|
||||
switch {
|
||||
case pageSize > 100:
|
||||
pageSize = 100
|
||||
case pageSize <= 0:
|
||||
pageSize = 10
|
||||
}
|
||||
offset := (page - 1) * pageSize
|
||||
return db.Offset(offset).Limit(pageSize)
|
||||
}
|
||||
}
|
@ -1,13 +1,13 @@
|
||||
package system
|
||||
|
||||
type UserGroup struct {
|
||||
GroupId int64 `gorm:"primaryKey;column:group_id" json:"group_id"`
|
||||
GroupName string `gorm:"unique;column:group_name" json:"group_name"`
|
||||
GroupDesc string `gorm:"group_desc" json:"group_desc"`
|
||||
Enabled int32 `gorm:"column:enabled" json:"enabled"`
|
||||
Deleted int32 `gorm:"column:deleted" json:"deleted"`
|
||||
CreateTime int32 `gorm:"column:createtime" json:"createtime"`
|
||||
ModifyTime int32 `gorm:"column:modifytime" json:"modifytime"`
|
||||
GroupId int64 `gorm:"primaryKey;column:group_id" json:"group_id,string"`
|
||||
GroupName string `gorm:"unique;column:group_name" json:"group_name"`
|
||||
GroupDesc string `gorm:"group_desc" json:"group_desc"`
|
||||
Enabled int32 `gorm:"column:enabled" json:"enabled"`
|
||||
Deleted int32 `gorm:"column:deleted" json:"deleted"`
|
||||
CreateTime int32 `gorm:"column:createtime" json:"createtime"`
|
||||
ModifyTime int32 `gorm:"column:modifytime" json:"modifytime"`
|
||||
}
|
||||
|
||||
func (UserGroup) TableName() string {
|
||||
|
@ -20,6 +20,8 @@ func (this *routerMgr) Init() {
|
||||
this.system.InitAnncRouter(priGroup)
|
||||
this.system.InitAuditRouter(priGroup)
|
||||
this.system.InitMailRouter(priGroup)
|
||||
this.system.InitUserGroupRouter(priGroup)
|
||||
this.system.InitGroupMemberRouter(priGroup)
|
||||
this.system.InitBattleServerRouter(priGroup)
|
||||
f5.GetSysLog().Info("routerMgr.init")
|
||||
}
|
||||
|
@ -5,5 +5,7 @@ type RouterGroup struct {
|
||||
AnncRouter
|
||||
AuditRouter
|
||||
MailRoute
|
||||
UserGroupRoute
|
||||
GroupMemberRoute
|
||||
BattleServerRoute
|
||||
}
|
||||
|
21
server/adminserver/router/system/group_member.go
Normal file
21
server/adminserver/router/system/group_member.go
Normal file
@ -0,0 +1,21 @@
|
||||
package system
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"main/api/v1"
|
||||
)
|
||||
|
||||
type GroupMemberRoute struct {
|
||||
}
|
||||
|
||||
func (this *GroupMemberRoute) InitGroupMemberRouter(priRouter *gin.RouterGroup) {
|
||||
group := priRouter.Group("group_member")
|
||||
api := v1.ApiGroupApp.SystemApiGroup.GroupMemberApi
|
||||
{
|
||||
group.POST("add", api.Add)
|
||||
group.POST("edit", api.Edit)
|
||||
group.POST("del", api.Del)
|
||||
group.GET("list", api.List)
|
||||
group.POST("uploadExcel", api.UploadExcel)
|
||||
}
|
||||
}
|
@ -5,15 +5,16 @@ import (
|
||||
"main/api/v1"
|
||||
)
|
||||
|
||||
type UserGroupRoute struct{
|
||||
|
||||
type UserGroupRoute struct {
|
||||
}
|
||||
|
||||
func (this *UserGroupRoute) InitMailRouter(priRouter *gin.RouterGroup) {
|
||||
func (this *UserGroupRoute) InitUserGroupRouter(priRouter *gin.RouterGroup) {
|
||||
group := priRouter.Group("user_group")
|
||||
api := v1.ApiGroupApp.SystemApiGroup.UserGroupApi
|
||||
{
|
||||
group.POST("add", api.Add)
|
||||
group.POST("edit", api.Edit)
|
||||
group.POST("del", api.Del)
|
||||
group.GET("list", api.List)
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user