Browse Source

同步角色信息

xyxie 3 months ago
parent
commit
ad05b96c1c

+ 87 - 0
controllers/system/sys_role.go

@@ -0,0 +1,87 @@
+package system
+
+import (
+	"encoding/json"
+	"eta/eta_forum_hub/controllers"
+	"eta/eta_forum_hub/models"
+	"eta/eta_forum_hub/models/system"
+	"eta/eta_forum_hub/services"
+)
+
+type SysRoleController struct {
+	controllers.BaseAuthController
+}
+
+// Save
+// @Title 新增或者编辑系统用户
+// @Description 新增系统用户接口
+// @Param	request	body system.SysuserAddReq true "type json string"
+// @Success 200 新增成功
+// @router /role/save [post]
+func (this *SysRoleController) Save() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	var req system.AddRoleReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	if req.RoleTypeCode == "" {
+		br.Msg = "请输入角色编码"
+		br.IsSendEmail = false
+		return
+	}
+
+	err, isSendEmail := services.AddOrUpdateRole(&req)
+	if err != nil {
+		br.Msg = "新增或者更新用户失败"
+		br.ErrMsg = "新增或者更新用户失败, Err:" + err.Error()
+		br.IsSendEmail = isSendEmail
+		return
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "新增成功"
+}
+
+// Delete
+// @Title 删除系统用户
+// @Description 删除系统用户接口
+// @Param	request	body system.SysRoleDeleteReq true "type json string"
+// @Success 200 删除成功
+// @router /role/delete [post]
+func (this *SysRoleController) Delete() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	var req system.RoleDeleteReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	if req.RoleId == 0 {
+		br.Msg = "请选择用户"
+		return
+	}
+
+	err = system.DeleteSysRole(req.RoleId)
+	if err != nil {
+		br.Msg = "删除失败"
+		br.ErrMsg = "删除失败,Err:" + err.Error()
+		return
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "删除成功"
+}

+ 1 - 1
models/system/admin.go

@@ -64,7 +64,7 @@ type Admin struct {
 	EmployeeId                string    `description:"员工工号(钉钉/每刻报销)"`
 	EmployeeId                string    `description:"员工工号(钉钉/每刻报销)"`
 	TelAreaCode               string    `description:"手机区号"`
 	TelAreaCode               string    `description:"手机区号"`
 	IsLdap                    int       `description:"是否为域用户:0-系统账户;1-域用户"`
 	IsLdap                    int       `description:"是否为域用户:0-系统账户;1-域用户"`
-	BusinessCode              string    `description:"商家编码"`
+	//BusinessCode              string    `description:"商家编码"`
 }
 }
 
 
 type AddAdminReq struct {
 type AddAdminReq struct {

+ 1 - 1
models/system/crm_config.go

@@ -18,7 +18,7 @@ const (
 	CrmConfigICPLicense         = "ICPLicense"
 	CrmConfigICPLicense         = "ICPLicense"
 	CrmConfigLogoCN             = "LogoCN"
 	CrmConfigLogoCN             = "LogoCN"
 	CrmConfigLogoCNMini         = "LogoCNMini"
 	CrmConfigLogoCNMini         = "LogoCNMini"
-	CrmConfWatermarkChart       = "WatermarkChart"
+	CrmConfigCompanyWatermark   = "CompanyWatermark"
 )
 )
 
 
 type CrmConfig struct {
 type CrmConfig struct {

+ 57 - 0
models/system/sys_role.go

@@ -0,0 +1,57 @@
+package system
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type SysRole struct {
+	RoleId       int       `orm:"column(role_id);pk" description:"角色ID"`
+	RoleName     string    `description:"角色名称"`
+	RoleType     string    `description:"角色类型"`
+	RoleTypeCode string    `description:"角色类型编码"`
+	CreateTime   time.Time `description:"创建时间"`
+	ModifyTime   time.Time
+}
+
+type AddRoleReq struct {
+	RoleId       int    `description:"角色ID"`
+	RoleName     string `description:"角色名称"`
+	RoleType     string `description:"角色类型"`
+	RoleTypeCode string `description:"角色类型编码"`
+	CreateTime   string `description:"创建时间"`
+	ModifyTime   string
+	BusinessCode string `description:"商家编码"`
+}
+
+func GetSysRoleByRoleId(roleId int) (item *SysRole, err error) {
+	sql := `SELECT * FROM sys_role WHERE role_id=? `
+	o := orm.NewOrm()
+	err = o.Raw(sql, roleId).QueryRow(&item)
+	return
+}
+
+func AddSysRole(item *SysRole) (lastId int64, err error) {
+	o := orm.NewOrm()
+	lastId, err = o.Insert(item)
+	return
+}
+
+// Update 更新用户基础信息
+func (item *SysRole) Update(cols []string) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Update(item, cols...)
+	return
+}
+
+type RoleDeleteReq struct {
+	RoleId       int
+	BusinessCode string `description:"商家编码"`
+}
+
+func DeleteSysRole(roleId int) (err error) {
+	sql := `DELETE FROM sys_role WHERE role_id=? `
+	o := orm.NewOrm()
+	_, err = o.Raw(sql, roleId).Exec()
+	return
+}

+ 18 - 0
routers/commentsRouter.go

@@ -7,6 +7,24 @@ import (
 
 
 func init() {
 func init() {
 
 
+    beego.GlobalControllerRouter["eta/eta_forum_hub/controllers/system:SysRoleController"] = append(beego.GlobalControllerRouter["eta/eta_forum_hub/controllers/system:SysRoleController"],
+        beego.ControllerComments{
+            Method: "Delete",
+            Router: `/role/delete`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_forum_hub/controllers/system:SysRoleController"] = append(beego.GlobalControllerRouter["eta/eta_forum_hub/controllers/system:SysRoleController"],
+        beego.ControllerComments{
+            Method: "Save",
+            Router: `/role/save`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_forum_hub/controllers:AdminController"] = append(beego.GlobalControllerRouter["eta/eta_forum_hub/controllers:AdminController"],
     beego.GlobalControllerRouter["eta/eta_forum_hub/controllers:AdminController"] = append(beego.GlobalControllerRouter["eta/eta_forum_hub/controllers:AdminController"],
         beego.ControllerComments{
         beego.ControllerComments{
             Method: "Delete",
             Method: "Delete",

+ 6 - 0
routers/router.go

@@ -9,6 +9,7 @@ package routers
 
 
 import (
 import (
 	"eta/eta_forum_hub/controllers"
 	"eta/eta_forum_hub/controllers"
+	"eta/eta_forum_hub/controllers/system"
 	"github.com/beego/beego/v2/server/web"
 	"github.com/beego/beego/v2/server/web"
 )
 )
 
 
@@ -35,6 +36,11 @@ func init() {
 				&controllers.ChartCollectController{},
 				&controllers.ChartCollectController{},
 			),
 			),
 		),
 		),
+		web.NSNamespace("/system",
+			web.NSInclude(
+				&system.SysRoleController{},
+			),
+		),
 	)
 	)
 	web.AddNamespace(ns)
 	web.AddNamespace(ns)
 }
 }

+ 3 - 3
services/admin.go

@@ -30,10 +30,10 @@ func AddOrUpdateAdmin(req *system.AddAdminReq) (err error, isSendEmail bool) {
 	if e == nil && adminInfo.AdminId > 0 {
 	if e == nil && adminInfo.AdminId > 0 {
 		isAdd = false
 		isAdd = false
 		admin = adminInfo
 		admin = adminInfo
-		if adminInfo.BusinessCode != req.BusinessCode {
+		/*if adminInfo.BusinessCode != req.BusinessCode {
 			err = fmt.Errorf("商户编码不同,不允许更新")
 			err = fmt.Errorf("商户编码不同,不允许更新")
 			return
 			return
-		}
+		}*/
 	}
 	}
 	// 手机号和邮箱必填一个
 	// 手机号和邮箱必填一个
 	req.Mobile = strings.TrimSpace(req.Mobile)
 	req.Mobile = strings.TrimSpace(req.Mobile)
@@ -112,7 +112,7 @@ func AddOrUpdateAdmin(req *system.AddAdminReq) (err error, isSendEmail bool) {
 	admin.CityCode = req.CityCode
 	admin.CityCode = req.CityCode
 	admin.TelAreaCode = req.TelAreaCode
 	admin.TelAreaCode = req.TelAreaCode
 	admin.IsLdap = req.IsLdap
 	admin.IsLdap = req.IsLdap
-	admin.BusinessCode = req.BusinessCode
+	//admin.BusinessCode = req.BusinessCode
 	if isAdd {
 	if isAdd {
 		admin.CreatedTime = time.Now()
 		admin.CreatedTime = time.Now()
 		admin.LastLoginTime = time.Now().Format(utils.FormatDateTime)
 		admin.LastLoginTime = time.Now().Format(utils.FormatDateTime)

+ 53 - 0
services/sys_role.go

@@ -0,0 +1,53 @@
+package services
+
+import (
+	"eta/eta_forum_hub/models/system"
+	"eta/eta_forum_hub/services/alarm_msg"
+	"eta/eta_forum_hub/utils"
+	"fmt"
+)
+
+// 新增或者更新用户
+func AddOrUpdateRole(req *system.AddRoleReq) (err error, isSendEmail bool) {
+	defer func() {
+		if err != nil {
+			utils.FileLog.Info("添加管理员账号失败, AddOrUpdateAdmin  Err: " + err.Error())
+			go alarm_msg.SendAlarmMsg("添加管理员账号失败, AddOrUpdateAdmin  Err: "+err.Error(), 3)
+		}
+	}()
+	isSendEmail = true
+	isAdd := true
+	roleInfo := new(system.SysRole)
+	roleInfo, err = system.GetSysRoleByRoleId(req.RoleId)
+	if err != nil {
+		if err.Error() != utils.ErrNoRow() {
+			err = fmt.Errorf("获取数据失败,%v", err)
+			return
+		}
+	}
+	if err == nil && roleInfo.RoleId > 0 {
+		isAdd = false
+	}
+	// 角色信息
+	roleInfo.RoleId = req.RoleId
+	roleInfo.RoleName = req.RoleName
+	roleInfo.RoleType = req.RoleType
+	roleInfo.RoleTypeCode = req.RoleTypeCode
+	roleInfo.ModifyTime = req.ModifyTime
+	roleInfo.CreateTime = req.CreateTime
+	if isAdd {
+		_, err = system.AddSysRole(roleInfo)
+		if err != nil {
+			err = fmt.Errorf("新增失败,Err:%s", err.Error())
+			return
+		}
+	} else {
+		err = roleInfo.Update([]string{})
+		if err != nil {
+			err = fmt.Errorf("更新失败,Err:%s", err.Error())
+			return
+		}
+	}
+
+	return
+}