2022-01-26 16:40:50 +08:00
|
|
|
package model
|
|
|
|
|
|
|
|
import (
|
|
|
|
"errors"
|
|
|
|
"github.com/1340691923/xwl_bi/engine/db"
|
|
|
|
"github.com/1340691923/xwl_bi/platform-basic-libs/util"
|
|
|
|
)
|
|
|
|
|
|
|
|
type UserGroup struct {
|
|
|
|
Id int `db:"id" json:"id"`
|
|
|
|
GroupName string `db:"group_name" json:"group_name"`
|
|
|
|
GroupRemark string `db:"group_remark" json:"group_remark"`
|
|
|
|
CreateBy int `db:"create_by" json:"create_by"`
|
|
|
|
UserCount int `db:"user_count" json:"user_count"`
|
|
|
|
UserList []byte `db:"user_list" json:"-"`
|
|
|
|
UserListData []string `db:"-" json:"user_list"`
|
|
|
|
CreateTime string `db:"create_time" json:"create_time"`
|
|
|
|
UpdateTime string `db:"update_time" json:"update_time"`
|
|
|
|
}
|
|
|
|
|
2022-03-16 16:04:29 +08:00
|
|
|
func (this *UserGroup) Insert(managerUid int32, appid int, userCount int, userList []byte) (err error) {
|
2022-01-26 16:40:50 +08:00
|
|
|
_, err = db.SqlBuilder.Insert("user_group").SetMap(map[string]interface{}{
|
|
|
|
"group_name": this.GroupName,
|
|
|
|
"group_remark": this.GroupRemark,
|
|
|
|
"create_by": managerUid,
|
|
|
|
"user_count": userCount,
|
|
|
|
"appid": appid,
|
|
|
|
"user_list": userList,
|
|
|
|
}).RunWith(db.Sqlx).Exec()
|
|
|
|
if err != nil {
|
|
|
|
if util.IsMysqlRepeatError(err) {
|
|
|
|
return errors.New("分群名重复,请重新填写")
|
|
|
|
}
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2022-03-16 16:04:29 +08:00
|
|
|
func (this *UserGroup) ModifyUserGroup(managerUid int32, appid int) (err error) {
|
2022-01-26 16:40:50 +08:00
|
|
|
_, err = db.SqlBuilder.
|
|
|
|
Update("user_group").
|
|
|
|
SetMap(map[string]interface{}{
|
|
|
|
"group_name": this.GroupName,
|
|
|
|
"group_remark": this.GroupRemark,
|
|
|
|
}).
|
|
|
|
Where(
|
|
|
|
db.Eq{
|
|
|
|
"create_by": managerUid,
|
|
|
|
"id": this.Id,
|
|
|
|
"appid": appid,
|
|
|
|
}).RunWith(db.Sqlx).Exec()
|
|
|
|
if err != nil {
|
|
|
|
if util.IsMysqlRepeatError(err) {
|
|
|
|
return errors.New("分群名重复,请重新填写")
|
|
|
|
}
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *UserGroup) DeleteUserGroupById(managerUid int32, appid int) (err error) {
|
|
|
|
_, err = db.SqlBuilder.
|
|
|
|
Delete("user_group").
|
|
|
|
Where(db.Eq{"create_by": managerUid, "id": this.Id, "appid": appid}).
|
|
|
|
RunWith(db.Sqlx).
|
|
|
|
Exec()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
func (this *UserGroup) List(managerUid int32, appid int) (list []UserGroup, err error) {
|
|
|
|
SQL, args, err := db.SqlBuilder.
|
|
|
|
Select("id,group_name,group_remark,create_by,user_count,user_list,create_time,update_time").
|
|
|
|
From("user_group").
|
|
|
|
Where(db.Eq{"create_by": managerUid, "appid": appid}).
|
|
|
|
ToSql()
|
|
|
|
if err != nil {
|
2022-03-16 16:04:29 +08:00
|
|
|
return nil, err
|
2022-01-26 16:40:50 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
if err := db.Sqlx.Select(&list, SQL, args...); err != nil {
|
2022-03-16 16:04:29 +08:00
|
|
|
return nil, err
|
2022-01-26 16:40:50 +08:00
|
|
|
}
|
2022-03-16 16:04:29 +08:00
|
|
|
return list, err
|
2022-01-26 16:40:50 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
func (this *UserGroup) GetSelectOptions(managerUid int32, appid int) (list []UserGroup, err error) {
|
|
|
|
SQL, args, err := db.SqlBuilder.
|
|
|
|
Select("id,group_name").
|
|
|
|
From("user_group").
|
|
|
|
Where(
|
|
|
|
db.Eq{
|
|
|
|
"create_by": managerUid,
|
|
|
|
"appid": appid,
|
|
|
|
}).
|
|
|
|
ToSql()
|
|
|
|
if err != nil {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2022-03-16 16:04:29 +08:00
|
|
|
err = db.Sqlx.Select(&list, SQL, args...)
|
|
|
|
if err != nil {
|
2022-01-26 16:40:50 +08:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
}
|