Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
75 lines
1.6 KiB
Go
75 lines
1.6 KiB
Go
package srv_mwacc
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
"videoweb/pub/common/crypt"
|
|
"videoweb/pub/common/errors"
|
|
"videoweb/pub/models/mwacc"
|
|
|
|
"go.mongodb.org/mongo-driver/bson"
|
|
)
|
|
|
|
// // 删除角色
|
|
// func AccDel(ctx context.Context, roleId int64) (ok bool, err error){
|
|
//
|
|
// }
|
|
|
|
// 更改
|
|
func AccUp(ctx context.Context, upDoc *AccUpDoc) (ok bool, err error) {
|
|
|
|
c, err := mwacc.AccCountByFilter(ctx, bson.M{
|
|
mwacc.FN.MwAcc.Acc: upDoc.Acc,
|
|
mwacc.FN.MwAcc.Id: bson.M{
|
|
"$ne": upDoc.Id,
|
|
},
|
|
})
|
|
|
|
if c > 0 {
|
|
err = errors.MakeWithMsg(errors.DBInsert, "账户名已存在")
|
|
return false, err
|
|
}
|
|
|
|
set := bson.M{}
|
|
|
|
set = bson.M{
|
|
mwacc.FN.MwAcc.UserName: upDoc.UserName,
|
|
mwacc.FN.MwAcc.Acc: upDoc.Acc,
|
|
mwacc.FN.MwAcc.Email: upDoc.Email,
|
|
mwacc.FN.MwAcc.RoleId: upDoc.RoleId,
|
|
mwacc.FN.MwAcc.IsEnb: upDoc.IsEnb,
|
|
mwacc.FN.MwAcc.UpdatedAt: time.Now(),
|
|
mwacc.FN.MwAcc.LimitIP: upDoc.LimitIP,
|
|
}
|
|
|
|
err = mwacc.UpOneAccByFilter(ctx, bson.M{
|
|
mwacc.FN.MwAcc.Id: upDoc.Id,
|
|
}, set)
|
|
if err != nil {
|
|
err = errors.MakeWithErr(errors.DBUpdate, err)
|
|
return false, err
|
|
}
|
|
return true, err
|
|
}
|
|
|
|
// 更改账号密码
|
|
func AccUpPwd(ctx context.Context, upDoc *AccUpPwdDoc) (ok bool, err error) {
|
|
|
|
set := bson.M{}
|
|
|
|
set = bson.M{
|
|
mwacc.FN.MwAcc.Pwd: crypt.StrToMd5(upDoc.Pwd),
|
|
mwacc.FN.MwAcc.UpdatedAt: time.Now(),
|
|
}
|
|
|
|
err = mwacc.UpOneAccByFilter(ctx, bson.M{
|
|
mwacc.FN.MwAcc.Id: upDoc.Id,
|
|
}, set)
|
|
if err != nil {
|
|
err = errors.MakeWithErr(errors.DBUpdate, err)
|
|
return false, err
|
|
}
|
|
mwacc.DeleteOneToken(ctx, bson.M{mwacc.FN.MwAccToken.AccId: upDoc.Id})
|
|
return true, err
|
|
}
|