|
@@ -296,6 +296,7 @@ func (this *SysAdminController) ListSysuser() {
|
|
|
br.Data = resp
|
|
|
}
|
|
|
|
|
|
+// Add
|
|
|
// @Title 新增系统用户
|
|
|
// @Description 新增系统用户接口
|
|
|
// @Param request body system.SysuserAddReq true "type json string"
|
|
@@ -314,7 +315,6 @@ func (this *SysAdminController) Add() {
|
|
|
br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
if req.RoleId <= 0 {
|
|
|
br.Msg = "请选择角色"
|
|
|
br.ErrMsg = "角色ID小于等于0"
|
|
@@ -332,7 +332,22 @@ func (this *SysAdminController) Add() {
|
|
|
br.IsSendEmail = false
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ // 手机号和邮箱必填一个
|
|
|
+ req.Mobile = strings.TrimSpace(req.Mobile)
|
|
|
+ req.Email = strings.TrimSpace(req.Email)
|
|
|
+ if req.Mobile == "" && req.Email == "" {
|
|
|
+ br.Msg = "至少输入一个手机号或邮箱"
|
|
|
+ return
|
|
|
+ }
|
|
|
if req.Mobile != "" {
|
|
|
+ if req.TelAreaCode == "86" {
|
|
|
+ if !utils.ValidateMobileFormatat(req.Mobile) {
|
|
|
+ br.Msg = "手机号格式有误, 请检查"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
mobileCount, err := system.GetSysAdminCountByMobile(req.Mobile, 0)
|
|
|
if err != nil {
|
|
|
br.Msg = "判断手机号是否存在失败"
|
|
@@ -345,7 +360,17 @@ func (this *SysAdminController) Add() {
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
- //req.Mobile
|
|
|
+ if req.Email != "" {
|
|
|
+ if !utils.ValidateEmailFormatat(req.Email) {
|
|
|
+ br.Msg = "邮箱格式有误, 请检查"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ _, e := system.GetSysUserByEmail(req.Email)
|
|
|
+ if e.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "邮箱已存在, 请重新填写"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
var roleName, departmentName, groupName, teamName string
|
|
|
|
|
@@ -462,6 +487,7 @@ func (this *SysAdminController) Add() {
|
|
|
admin.Role = "admin"
|
|
|
}
|
|
|
admin.EmployeeId = req.EmployeeId
|
|
|
+ admin.Email = req.Email
|
|
|
|
|
|
var authority int
|
|
|
if roleItem.RoleTypeCode == utils.ROLE_TYPE_CODE_ADMIN {
|
|
@@ -485,6 +511,7 @@ func (this *SysAdminController) Add() {
|
|
|
admin.ProvinceCode = req.ProvinceCode
|
|
|
admin.City = req.City
|
|
|
admin.CityCode = req.CityCode
|
|
|
+ admin.TelAreaCode = req.TelAreaCode
|
|
|
err = system.AddAdmin(admin)
|
|
|
if err != nil {
|
|
|
br.Msg = "新增失败"
|
|
@@ -584,26 +611,25 @@ func (this *SysAdminController) Edit() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- // 手机号
|
|
|
- if item != nil {
|
|
|
- if req.Mobile != "" && req.Mobile != item.Mobile {
|
|
|
- mobileCount, err := system.GetSysAdminCountByMobile(req.Mobile, req.AdminId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "判断手机号是否存在失败"
|
|
|
- br.ErrMsg = "判断手机号是否存在失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if mobileCount > 0 {
|
|
|
- br.Msg = "手机号已存在,请重新填写"
|
|
|
- br.IsSendEmail = false
|
|
|
+ // 手机号和邮箱必填一个
|
|
|
+ req.Mobile = strings.TrimSpace(req.Mobile)
|
|
|
+ req.Email = strings.TrimSpace(req.Email)
|
|
|
+ if req.Mobile == "" && req.Email == "" {
|
|
|
+ br.Msg = "至少输入一个手机号或邮箱"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.Mobile != "" {
|
|
|
+ if req.TelAreaCode == "86" {
|
|
|
+ if !utils.ValidateMobileFormatat(req.Mobile) {
|
|
|
+ br.Msg = "手机号格式有误, 请检查"
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
- } else {
|
|
|
- mobileCount, err := system.GetSysAdminCountByMobile(req.Mobile, req.AdminId)
|
|
|
- if err != nil {
|
|
|
+
|
|
|
+ mobileCount, e := system.GetSysAdminCountByMobile(req.Mobile, adminInfo.AdminId)
|
|
|
+ if e != nil {
|
|
|
br.Msg = "判断手机号是否存在失败"
|
|
|
- br.ErrMsg = "判断手机号是否存在失败,Err:" + err.Error()
|
|
|
+ br.ErrMsg = "判断手机号是否存在失败,Err:" + e.Error()
|
|
|
return
|
|
|
}
|
|
|
if mobileCount > 0 {
|
|
@@ -612,6 +638,22 @@ func (this *SysAdminController) Edit() {
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
+ if req.Email != "" {
|
|
|
+ if !utils.ValidateEmailFormatat(req.Email) {
|
|
|
+ br.Msg = "邮箱格式有误, 请检查"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ emailUser, e := system.GetSysUserByEmail(req.Email)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "操作失败"
|
|
|
+ br.ErrMsg = "邮箱获取用户信息失败, Err: " + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if emailUser != nil && emailUser.AdminId != adminInfo.AdminId {
|
|
|
+ br.Msg = "邮箱已存在, 请检查"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
// 角色
|
|
|
var roleName string
|
|
@@ -633,7 +675,7 @@ func (this *SysAdminController) Edit() {
|
|
|
|
|
|
// 员工工号
|
|
|
req.EmployeeId = strings.TrimSpace(req.EmployeeId)
|
|
|
- if req.EmployeeId != "" {
|
|
|
+ if req.EmployeeId != "" && (utils.BusinessCode == utils.BusinessCodeRelease || utils.BusinessCode == utils.BusinessCodeSandbox) {
|
|
|
// 去重
|
|
|
countOB := new(system.Admin)
|
|
|
countCond := ` AND employee_id = ? AND admin_id <> ?`
|
|
@@ -684,9 +726,11 @@ func (this *SysAdminController) Edit() {
|
|
|
adminInfo.City = req.City
|
|
|
adminInfo.CityCode = req.CityCode
|
|
|
adminInfo.EmployeeId = req.EmployeeId
|
|
|
+ adminInfo.Email = req.Email
|
|
|
+ adminInfo.TelAreaCode = req.TelAreaCode
|
|
|
cols := []string{
|
|
|
"AdminName", "RealName", "LastUpdatedTime", "Mobile", "RoleId", "RoleName", "Enabled", "Authority",
|
|
|
- "Position", "RoleTypeCode", "Province", "ProvinceCode", "City", "CityCode", "EmployeeId",
|
|
|
+ "Position", "RoleTypeCode", "Province", "ProvinceCode", "City", "CityCode", "EmployeeId", "Email", "TelAreaCode",
|
|
|
}
|
|
|
if e := adminInfo.Update(cols); e != nil {
|
|
|
br.Msg = "编辑失败"
|