12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package supervisor
- import (
- "errors"
- "zhiyuan/models"
- adminParam "zhiyuan/pkg/param/admin"
- "zhiyuan/services/admin"
- "zhiyuan/services/form"
- )
- func GetList(where map[string]string, param map[string]interface{}, retVal interface{}) ([]*models.Admin, error) {
- where["where"] = where["where"] + " AND FIND_IN_SET({{role_id}}, role_ids)"
- param["role_id"] = adminParam.SupervisorRoleId
- return admin.GetAdminsRaw(where, param, retVal)
- }
- func Edit(form form.SupervisorAdd, id int) error {
- info, err := admin.GetInfoByID(id, nil, nil)
- if info == nil {
- return errors.New("invalid admin id")
- }
- if info.Phone != form.Phone && admin.CheckAdminDuplicate(form.Phone) {
- return errors.New("手机号码已存在")
- }
- adminInfo := admin.GetAdminCache(form.AdminID)
- if adminInfo.DeptID != info.DeptID {
- return errors.New("只能编辑本部门数据")
- }
- adminMap := map[string]interface{}{
- "phone": form.Phone,
- "username": form.Username,
- }
- _, err = admin.Update(map[string]interface{}{"id": id}, adminMap)
- admin.ClearAdminCache(id)
- return err
- }
- func Add(form form.SupervisorAdd) (int64, error) {
- if admin.CheckAdminDuplicate(form.Phone) {
- return 0, errors.New("手机号码已存在")
- }
- adminInfo := admin.GetAdminCache(form.AdminID)
- adminMap := map[string]interface{}{
- "username": form.Username,
- "phone": form.Phone,
- "dept_id": adminInfo.DeptID,
- "password": form.Phone[len(form.Phone)-6:],
- "role_ids": adminParam.SupervisorRoleId,
- }
- adminID, err := admin.InsertOne(adminMap)
- if err != nil {
- return 0, nil
- }
- return adminID, nil
- }
|