|
@@ -4,6 +4,7 @@ import (
|
|
|
"fmt"
|
|
|
"hongze/hz_crm_eta/models/crm"
|
|
|
"hongze/hz_crm_eta/models/eta"
|
|
|
+ "hongze/hz_crm_eta/services/alarm_msg"
|
|
|
"hongze/hz_crm_eta/utils"
|
|
|
"time"
|
|
|
)
|
|
@@ -17,6 +18,13 @@ func HandleSyncSysRole(source int, roleName string) (err error) {
|
|
|
if source != utils.SOURCE_CRM_FLAG && source != utils.SOURCE_ETA_FLAG {
|
|
|
return
|
|
|
}
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ tips := fmt.Sprintf("CRM-ETA同步系统角色失败, source: %d, roleName: %s, errMsg: %s", source, roleName, err.Error())
|
|
|
+ fmt.Println(tips)
|
|
|
+ go alarm_msg.SendAlarmMsg(tips, 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
|
|
|
// CRM
|
|
|
if source == utils.SOURCE_CRM_FLAG {
|
|
@@ -46,10 +54,11 @@ func HandleSyncSysRole(source int, roleName string) (err error) {
|
|
|
newRole.RoleLevel = crmRole.RoleLevel
|
|
|
newRole.CreateTime = time.Now().Local()
|
|
|
newRole.ModifyTime = time.Now().Local()
|
|
|
- if e = newRole.Create(); e != nil {
|
|
|
+ e = newRole.Create()
|
|
|
+ if e != nil {
|
|
|
err = fmt.Errorf("新增ETA对应角色失败, Err: " + e.Error())
|
|
|
- return
|
|
|
}
|
|
|
+ return
|
|
|
}
|
|
|
// 更新
|
|
|
etaRole.RoleName = crmRole.RoleName
|
|
@@ -90,10 +99,11 @@ func HandleSyncSysRole(source int, roleName string) (err error) {
|
|
|
newRole.RoleLevel = etaRole.RoleLevel
|
|
|
newRole.CreateTime = time.Now().Local()
|
|
|
newRole.ModifyTime = time.Now().Local()
|
|
|
- if e = newRole.Create(); e != nil {
|
|
|
+ e = newRole.Create()
|
|
|
+ if e != nil {
|
|
|
err = fmt.Errorf("新增CRM对应角色失败, Err: " + e.Error())
|
|
|
- return
|
|
|
}
|
|
|
+ return
|
|
|
}
|
|
|
// 更新
|
|
|
crmRole.RoleName = etaRole.RoleName
|
|
@@ -111,5 +121,231 @@ func HandleSyncSysRole(source int, roleName string) (err error) {
|
|
|
|
|
|
// HandleSyncAdminFromCrm 同步系统用户
|
|
|
func HandleSyncAdminFromCrm(source int, adminName string) (err error) {
|
|
|
+ if adminName == "" {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if source != utils.SOURCE_CRM_FLAG && source != utils.SOURCE_ETA_FLAG {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ tips := fmt.Sprintf("CRM-ETA同步系统用户失败, source: %d, adminName: %s, errMsg: %s", source, adminName, err.Error())
|
|
|
+ fmt.Println(tips)
|
|
|
+ go alarm_msg.SendAlarmMsg(tips, 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ // CRM
|
|
|
+ if source == utils.SOURCE_CRM_FLAG {
|
|
|
+ // 获取用户不存在, 则表示CRM删除了该用户, 需删除对应ETA用户
|
|
|
+ crmUser, e := crm.GetSysUserByAdminName(adminName)
|
|
|
+ if e != nil {
|
|
|
+ if e != utils.ErrNoRow {
|
|
|
+ err = fmt.Errorf("获取CRM用户信息失败, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ _ = eta.DeleteSysUserByName(adminName)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取ETA对应用户, 存在则更新, 否则新增
|
|
|
+ etaUser, e := eta.GetSysUserByAdminName(adminName)
|
|
|
+ if e != nil {
|
|
|
+ if e != utils.ErrNoRow {
|
|
|
+ err = fmt.Errorf("获取ETA对应用户信息失败, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 新增
|
|
|
+ newUser := new(eta.Admin)
|
|
|
+ newUser.AdminName = crmUser.AdminName
|
|
|
+ newUser.AdminAvatar = crmUser.AdminAvatar
|
|
|
+ newUser.RealName = crmUser.RealName
|
|
|
+ newUser.Password = crmUser.Password
|
|
|
+ newUser.LastUpdatedPasswordTime = crmUser.LastUpdatedPasswordTime
|
|
|
+ newUser.Enabled = crmUser.Enabled
|
|
|
+ newUser.Email = crmUser.Email
|
|
|
+ newUser.LastLoginTime = crmUser.LastLoginTime
|
|
|
+ newUser.CreatedTime = time.Now().Local()
|
|
|
+ newUser.LastUpdatedTime = time.Now().Local()
|
|
|
+ newUser.Role = crmUser.Role
|
|
|
+ newUser.Mobile = crmUser.Mobile
|
|
|
+ newUser.RoleType = crmUser.RoleType
|
|
|
+ newUser.RoleId = crmUser.RoleId // 理论上角色也会同步ID应该也是一样
|
|
|
+ newUser.RoleName = crmUser.RoleName
|
|
|
+ newUser.RoleTypeCode = crmUser.RoleTypeCode
|
|
|
+ newUser.DepartmentId = crmUser.DepartmentId
|
|
|
+ newUser.DepartmentName = crmUser.DepartmentName
|
|
|
+ newUser.GroupId = crmUser.GroupId
|
|
|
+ newUser.GroupName = crmUser.GroupName
|
|
|
+ newUser.Authority = crmUser.Authority
|
|
|
+ newUser.Position = crmUser.Position
|
|
|
+ newUser.DirectorId = crmUser.DirectorId
|
|
|
+ newUser.DisableTime = crmUser.DisableTime
|
|
|
+ newUser.ChartPermission = crmUser.ChartPermission
|
|
|
+ newUser.EdbPermission = crmUser.EdbPermission
|
|
|
+ newUser.MysteelChemicalPermission = crmUser.MysteelChemicalPermission
|
|
|
+ newUser.OpenId = crmUser.OpenId
|
|
|
+ newUser.UnionId = crmUser.UnionId
|
|
|
+ newUser.PredictEdbPermission = crmUser.PredictEdbPermission
|
|
|
+ newUser.Province = crmUser.Province
|
|
|
+ newUser.ProvinceCode = crmUser.ProvinceCode
|
|
|
+ newUser.City = crmUser.City
|
|
|
+ newUser.CityCode = crmUser.CityCode
|
|
|
+ newUser.EmployeeId = crmUser.EmployeeId
|
|
|
+ e = newUser.Create()
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("新增ETA对应用户失败, Err: " + e.Error())
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 更新
|
|
|
+ etaUser.AdminName = crmUser.AdminName
|
|
|
+ etaUser.AdminAvatar = crmUser.AdminAvatar
|
|
|
+ etaUser.RealName = crmUser.RealName
|
|
|
+ etaUser.Enabled = crmUser.Enabled
|
|
|
+ etaUser.Email = crmUser.Email
|
|
|
+ etaUser.LastUpdatedTime = time.Now().Local()
|
|
|
+ etaUser.Role = crmUser.Role
|
|
|
+ etaUser.Mobile = crmUser.Mobile
|
|
|
+ etaUser.RoleType = crmUser.RoleType
|
|
|
+ etaUser.RoleId = crmUser.RoleId
|
|
|
+ etaUser.RoleName = crmUser.RoleName
|
|
|
+ etaUser.RoleTypeCode = crmUser.RoleTypeCode
|
|
|
+ etaUser.DepartmentId = crmUser.DepartmentId
|
|
|
+ etaUser.DepartmentName = crmUser.DepartmentName
|
|
|
+ etaUser.GroupId = crmUser.GroupId
|
|
|
+ etaUser.GroupName = crmUser.GroupName
|
|
|
+ etaUser.Authority = crmUser.Authority
|
|
|
+ etaUser.Position = crmUser.Position
|
|
|
+ etaUser.DirectorId = crmUser.DirectorId
|
|
|
+ etaUser.DisableTime = crmUser.DisableTime
|
|
|
+ etaUser.ChartPermission = crmUser.ChartPermission
|
|
|
+ etaUser.EdbPermission = crmUser.EdbPermission
|
|
|
+ etaUser.MysteelChemicalPermission = crmUser.MysteelChemicalPermission
|
|
|
+ etaUser.OpenId = crmUser.OpenId
|
|
|
+ etaUser.UnionId = crmUser.UnionId
|
|
|
+ etaUser.PredictEdbPermission = crmUser.PredictEdbPermission
|
|
|
+ etaUser.Province = crmUser.Province
|
|
|
+ etaUser.ProvinceCode = crmUser.ProvinceCode
|
|
|
+ etaUser.City = crmUser.City
|
|
|
+ etaUser.CityCode = crmUser.CityCode
|
|
|
+ etaUser.EmployeeId = crmUser.EmployeeId
|
|
|
+ cols := []string{
|
|
|
+ "AdminName", "AdminAvatar", "RealName", "Enabled", "Email", "LastUpdatedTime",
|
|
|
+ "Role", "Mobile", "RoleType", "RoleId", "RoleName", "RoleTypeCode", "DepartmentId", "DepartmentName", "GroupId", "GroupName",
|
|
|
+ "Authority", "Position", "DirectorId", "DisableTime", "ChartPermission", "EdbPermission", "MysteelChemicalPermission", "OpenId",
|
|
|
+ "UnionId", "PredictEdbPermission", "Province", "ProvinceCode", "City", "CityCode", "EmployeeId",
|
|
|
+ }
|
|
|
+ e = etaUser.Update(cols)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("更新ETA对应用户失败, Err: " + e.Error())
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // ETA
|
|
|
+ etaUser, e := crm.GetSysUserByAdminName(adminName)
|
|
|
+ if e != nil {
|
|
|
+ if e != utils.ErrNoRow {
|
|
|
+ err = fmt.Errorf("获取ETA用户信息失败, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ _ = eta.DeleteSysUserByName(adminName)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ crmUser, e := eta.GetSysUserByAdminName(adminName)
|
|
|
+ if e != nil {
|
|
|
+ if e != utils.ErrNoRow {
|
|
|
+ err = fmt.Errorf("获取ETA对应用户信息失败, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 新增
|
|
|
+ newUser := new(eta.Admin)
|
|
|
+ newUser.AdminName = etaUser.AdminName
|
|
|
+ newUser.AdminAvatar = etaUser.AdminAvatar
|
|
|
+ newUser.RealName = etaUser.RealName
|
|
|
+ newUser.Password = etaUser.Password
|
|
|
+ newUser.LastUpdatedPasswordTime = etaUser.LastUpdatedPasswordTime
|
|
|
+ newUser.Enabled = etaUser.Enabled
|
|
|
+ newUser.Email = etaUser.Email
|
|
|
+ newUser.LastLoginTime = etaUser.LastLoginTime
|
|
|
+ newUser.CreatedTime = time.Now().Local()
|
|
|
+ newUser.LastUpdatedTime = time.Now().Local()
|
|
|
+ newUser.Role = etaUser.Role
|
|
|
+ newUser.Mobile = etaUser.Mobile
|
|
|
+ newUser.RoleType = etaUser.RoleType
|
|
|
+ newUser.RoleId = etaUser.RoleId
|
|
|
+ newUser.RoleName = etaUser.RoleName
|
|
|
+ newUser.RoleTypeCode = etaUser.RoleTypeCode
|
|
|
+ newUser.DepartmentId = etaUser.DepartmentId
|
|
|
+ newUser.DepartmentName = etaUser.DepartmentName
|
|
|
+ newUser.GroupId = etaUser.GroupId
|
|
|
+ newUser.GroupName = etaUser.GroupName
|
|
|
+ newUser.Authority = etaUser.Authority
|
|
|
+ newUser.Position = etaUser.Position
|
|
|
+ newUser.DirectorId = etaUser.DirectorId
|
|
|
+ newUser.DisableTime = etaUser.DisableTime
|
|
|
+ newUser.ChartPermission = etaUser.ChartPermission
|
|
|
+ newUser.EdbPermission = etaUser.EdbPermission
|
|
|
+ newUser.MysteelChemicalPermission = etaUser.MysteelChemicalPermission
|
|
|
+ newUser.OpenId = etaUser.OpenId
|
|
|
+ newUser.UnionId = etaUser.UnionId
|
|
|
+ newUser.PredictEdbPermission = etaUser.PredictEdbPermission
|
|
|
+ newUser.Province = etaUser.Province
|
|
|
+ newUser.ProvinceCode = etaUser.ProvinceCode
|
|
|
+ newUser.City = etaUser.City
|
|
|
+ newUser.CityCode = etaUser.CityCode
|
|
|
+ newUser.EmployeeId = etaUser.EmployeeId
|
|
|
+ e = newUser.Create()
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("新增ETA对应用户失败, Err: " + e.Error())
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 更新
|
|
|
+ crmUser.AdminName = etaUser.AdminName
|
|
|
+ crmUser.AdminAvatar = etaUser.AdminAvatar
|
|
|
+ crmUser.RealName = etaUser.RealName
|
|
|
+ crmUser.Password = etaUser.Password
|
|
|
+ crmUser.LastUpdatedPasswordTime = etaUser.LastUpdatedPasswordTime
|
|
|
+ crmUser.Enabled = etaUser.Enabled
|
|
|
+ crmUser.Email = etaUser.Email
|
|
|
+ crmUser.LastUpdatedTime = time.Now().Local()
|
|
|
+ crmUser.Role = etaUser.Role
|
|
|
+ crmUser.Mobile = etaUser.Mobile
|
|
|
+ crmUser.RoleType = etaUser.RoleType
|
|
|
+ crmUser.RoleId = etaUser.RoleId
|
|
|
+ crmUser.RoleName = etaUser.RoleName
|
|
|
+ crmUser.RoleTypeCode = etaUser.RoleTypeCode
|
|
|
+ crmUser.DepartmentId = etaUser.DepartmentId
|
|
|
+ crmUser.DepartmentName = etaUser.DepartmentName
|
|
|
+ crmUser.GroupId = etaUser.GroupId
|
|
|
+ crmUser.GroupName = etaUser.GroupName
|
|
|
+ crmUser.Authority = etaUser.Authority
|
|
|
+ crmUser.Position = etaUser.Position
|
|
|
+ crmUser.DirectorId = etaUser.DirectorId
|
|
|
+ crmUser.DisableTime = etaUser.DisableTime
|
|
|
+ crmUser.ChartPermission = etaUser.ChartPermission
|
|
|
+ crmUser.EdbPermission = etaUser.EdbPermission
|
|
|
+ crmUser.MysteelChemicalPermission = etaUser.MysteelChemicalPermission
|
|
|
+ crmUser.OpenId = etaUser.OpenId
|
|
|
+ crmUser.UnionId = etaUser.UnionId
|
|
|
+ crmUser.PredictEdbPermission = etaUser.PredictEdbPermission
|
|
|
+ crmUser.Province = etaUser.Province
|
|
|
+ crmUser.ProvinceCode = etaUser.ProvinceCode
|
|
|
+ crmUser.City = etaUser.City
|
|
|
+ crmUser.CityCode = etaUser.CityCode
|
|
|
+ crmUser.EmployeeId = etaUser.EmployeeId
|
|
|
+ cols := []string{
|
|
|
+ "AdminName", "AdminAvatar", "RealName", "Password", "LastUpdatedPasswordTime", "Enabled", "Email", "LastUpdatedTime",
|
|
|
+ "Role", "Mobile", "RoleType", "RoleId", "RoleName", "RoleTypeCode", "DepartmentId", "DepartmentName", "GroupId", "GroupName",
|
|
|
+ "Authority", "Position", "DirectorId", "DisableTime", "ChartPermission", "EdbPermission", "MysteelChemicalPermission", "OpenId",
|
|
|
+ "UnionId", "PredictEdbPermission", "Province", "ProvinceCode", "City", "CityCode", "EmployeeId",
|
|
|
+ }
|
|
|
+ e = crmUser.Update(cols)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("更新CRM对应用户失败, Err: " + e.Error())
|
|
|
+ }
|
|
|
return
|
|
|
}
|