147 lines
3.7 KiB
Go
147 lines
3.7 KiB
Go
package controller
|
|
|
|
import (
|
|
"errors"
|
|
"github.com/1340691923/xwl_bi/platform-basic-libs/jwt"
|
|
"github.com/1340691923/xwl_bi/platform-basic-libs/request"
|
|
"github.com/1340691923/xwl_bi/platform-basic-libs/response"
|
|
"github.com/1340691923/xwl_bi/platform-basic-libs/service/user_group"
|
|
"github.com/gofiber/fiber/v2"
|
|
"strings"
|
|
)
|
|
|
|
type UserGroupController struct {
|
|
BaseController
|
|
}
|
|
|
|
//新增用户分群
|
|
func (this UserGroupController) AddUserGroup(ctx *fiber.Ctx) error {
|
|
var addUserGroup request.AddUserGroup
|
|
if err := ctx.BodyParser(&addUserGroup); err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
if strings.TrimSpace(addUserGroup.Name) == "" {
|
|
return this.Error(ctx, errors.New("用户分群名不能为空"))
|
|
}
|
|
if len(addUserGroup.Ids) == 0 {
|
|
return this.Error(ctx, errors.New("需分群用户ID列表不能为空"))
|
|
}
|
|
c, _ := jwt.ParseToken(this.GetToken(ctx))
|
|
|
|
userGroupService := user_group.UserGroupService{
|
|
ManagerID: c.UserID,
|
|
Appid: addUserGroup.Appid,
|
|
}
|
|
|
|
err := userGroupService.AddUserGroup(len(addUserGroup.Ids),addUserGroup.Ids,addUserGroup.Remark,addUserGroup.Name)
|
|
if err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
return this.Success(ctx, response.OperateSuccess, nil)
|
|
}
|
|
|
|
//修改用户分群
|
|
func (this UserGroupController) ModifyUserGroup(ctx *fiber.Ctx) error {
|
|
var modifyUserGroup request.ModifyUserGroup
|
|
if err := ctx.BodyParser(&modifyUserGroup); err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
if strings.TrimSpace(modifyUserGroup.Name) == "" {
|
|
return this.Error(ctx, errors.New("用户分群名不能为空"))
|
|
}
|
|
|
|
if modifyUserGroup.Id == 0 {
|
|
return this.Error(ctx, errors.New("用户分群ID不能为空"))
|
|
}
|
|
|
|
c, _ := jwt.ParseToken(this.GetToken(ctx))
|
|
|
|
userGroupService := user_group.UserGroupService{
|
|
ManagerID: c.UserID,
|
|
Appid: modifyUserGroup.Appid,
|
|
}
|
|
|
|
err := userGroupService.ModifyUserGroup(modifyUserGroup.Id, modifyUserGroup.Remark,modifyUserGroup.Name)
|
|
if err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
return this.Success(ctx, response.OperateSuccess, nil)
|
|
}
|
|
|
|
//删除用户分群
|
|
func (this UserGroupController) DeleteUserGroup(ctx *fiber.Ctx) error {
|
|
var deleteUserGroup request.DeleteUserGroup
|
|
if err := ctx.BodyParser(&deleteUserGroup); err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
if deleteUserGroup.Id == 0 {
|
|
return this.Error(ctx, errors.New("用户分群ID不能为空"))
|
|
}
|
|
|
|
c, _ := jwt.ParseToken(this.GetToken(ctx))
|
|
|
|
userGroupService := user_group.UserGroupService{
|
|
ManagerID: c.UserID,
|
|
Appid: deleteUserGroup.Appid,
|
|
}
|
|
|
|
err := userGroupService.DeleteUserGroup(deleteUserGroup.Id)
|
|
if err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
|
|
return this.Success(ctx, response.OperateSuccess, nil)
|
|
}
|
|
|
|
//用户分群列表
|
|
func (this UserGroupController) UserGroupList(ctx *fiber.Ctx) error {
|
|
var userGroupList request.UserGroupList
|
|
if err := ctx.BodyParser(&userGroupList); err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
c, _ := jwt.ParseToken(this.GetToken(ctx))
|
|
|
|
userGroupService := user_group.UserGroupService{
|
|
ManagerID: c.UserID,
|
|
Appid: userGroupList.Appid,
|
|
}
|
|
|
|
list,err := userGroupService.UserGroupList()
|
|
|
|
if err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
return this.Success(ctx, response.SearchSuccess, list)
|
|
}
|
|
|
|
//用户分群下拉选
|
|
func (this UserGroupController) UserGroupSelect(ctx *fiber.Ctx) error {
|
|
var userGroupList request.UserGroupList
|
|
if err := ctx.BodyParser(&userGroupList); err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
c, _ := jwt.ParseToken(this.GetToken(ctx))
|
|
|
|
userGroupService := user_group.UserGroupService{
|
|
ManagerID: c.UserID,
|
|
Appid: userGroupList.Appid,
|
|
}
|
|
|
|
list,err := userGroupService.Options()
|
|
|
|
if err != nil {
|
|
return this.Error(ctx, err)
|
|
}
|
|
|
|
return this.Success(ctx, response.SearchSuccess, list)
|
|
}
|