Эх сурвалжийг харах

同步部门和分组信息

xyxie 3 сар өмнө
parent
commit
1a4ff3990e

+ 4 - 1
controllers/sys_department.go

@@ -4,6 +4,7 @@ import (
 	"encoding/json"
 	"eta/eta_api/models"
 	"eta/eta_api/models/system"
+	"eta/eta_api/services/eta_forum"
 	"eta/eta_api/utils"
 	"fmt"
 	"strings"
@@ -64,6 +65,7 @@ func (this *SysDepartmentController) Add() {
 		syncData.DepartmentId = int(departmentId)
 		_ = utils.Rc.LPush(utils.CACHE_SYNC_DEPARTMENT, syncData)
 	}
+	go eta_forum.DepartmentSave(int(departmentId))
 
 	br.Ret = 200
 	br.Success = true
@@ -123,6 +125,7 @@ func (this *SysDepartmentController) Edit() {
 		syncData.DepartmentId = req.DepartmentId
 		_ = utils.Rc.LPush(utils.CACHE_SYNC_DEPARTMENT, syncData)
 	}
+	go eta_forum.DepartmentSave(req.DepartmentId)
 
 	br.Ret = 200
 	br.Success = true
@@ -166,7 +169,7 @@ func (this *SysDepartmentController) Delete() {
 		syncData.DepartmentId = req.DepartmentId
 		_ = utils.Rc.LPush(utils.CACHE_SYNC_DEPARTMENT, syncData)
 	}
-
+	go eta_forum.DepartmentDelete(req.DepartmentId)
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "删除成功"

+ 9 - 2
controllers/sys_group.go

@@ -4,6 +4,7 @@ import (
 	"encoding/json"
 	"eta/eta_api/models"
 	"eta/eta_api/models/system"
+	"eta/eta_api/services/eta_forum"
 	"eta/eta_api/utils"
 	"strings"
 	"time"
@@ -42,6 +43,7 @@ func (this *SysGroupController) Add() {
 		return
 	}
 	groupNameArr := strings.Split(req.GroupName, ",")
+	groupIds := make([]int, 0)
 	for _, v := range groupNameArr {
 		count, err := system.GetSysGroupCount(req.DepartmentId, v)
 		if err != nil {
@@ -68,8 +70,11 @@ func (this *SysGroupController) Add() {
 				syncData.GroupId = int(groupId)
 				_ = utils.Rc.LPush(utils.CACHE_SYNC_GROUP, syncData)
 			}
+			groupIds = append(groupIds, int(groupId))
 		}
 	}
+
+	go eta_forum.GroupSave(groupIds)
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "新增成功"
@@ -128,7 +133,9 @@ func (this *SysGroupController) Edit() {
 		syncData.GroupId = req.GroupId
 		_ = utils.Rc.LPush(utils.CACHE_SYNC_GROUP, syncData)
 	}
-
+	groupIds := make([]int, 0)
+	groupIds = append(groupIds, req.GroupId)
+	go eta_forum.GroupSave(groupIds)
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "修改成功"
@@ -177,7 +184,7 @@ func (this *SysGroupController) Delete() {
 		syncData.GroupId = req.GroupId
 		_ = utils.Rc.LPush(utils.CACHE_SYNC_GROUP, syncData)
 	}
-
+	go eta_forum.GroupDelete(req.GroupId)
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "删除成功"

+ 9 - 0
models/system/sys_group.go

@@ -1,6 +1,7 @@
 package system
 
 import (
+	"eta/eta_api/utils"
 	"github.com/beego/beego/v2/client/orm"
 	"time"
 )
@@ -130,6 +131,14 @@ func GetSysGroupByGroupId(groupId int) (items []*SysGroupList, err error) {
 	return
 }
 
+// GetSysGroupByGroupIds 销售主管用,查找销售主管所在大组的名称
+func GetSysGroupByGroupIds(groupIds []int) (items []*SysGroup, err error) {
+	sql := `SELECT * FROM sys_group WHERE group_id in (` + utils.GetOrmInReplace(len(groupIds)) + `) ORDER BY sort ASC, create_time ASC`
+	o := orm.NewOrm()
+	_, err = o.Raw(sql, groupIds).QueryRows(&items)
+	return
+}
+
 // GetChildSysGroupByGroupId 通过上级分组id获取下级的分组id
 func GetChildSysGroupByGroupId(groupId int) (items []*SysGroup, err error) {
 	sql := `SELECT * FROM sys_group WHERE parent_id=? ORDER BY sort ASC, create_time ASC`

+ 40 - 0
services/eta_forum/eta_forum_hub_lib.go

@@ -140,6 +140,46 @@ func RoleDeleteLib(req string) (resp *models.BaseResponse, err error) {
 	return
 }
 
+// DepartmentSaveLib 上传部门信息
+func DepartmentSaveLib(req string) (resp *models.BaseResponse, err error) {
+	_, resultByte, err := post(req, "/v1/system/department/save")
+	err = json.Unmarshal(resultByte, &resp)
+	if err != nil {
+		return
+	}
+	return
+}
+
+// DepartmentDeleteLib 删除部门信息
+func DepartmentDeleteLib(req string) (resp *models.BaseResponse, err error) {
+	_, resultByte, err := post(req, "/v1/system/department/delete")
+	err = json.Unmarshal(resultByte, &resp)
+	if err != nil {
+		return
+	}
+	return
+}
+
+// GroupSaveLib 上传分组信息
+func GroupSaveLib(req string) (resp *models.BaseResponse, err error) {
+	_, resultByte, err := post(req, "/v1/system/group/save")
+	err = json.Unmarshal(resultByte, &resp)
+	if err != nil {
+		return
+	}
+	return
+}
+
+// GroupDeleteLib 删除分组
+func GroupDeleteLib(req string) (resp *models.BaseResponse, err error) {
+	_, resultByte, err := post(req, "/v1/system/group/delete")
+	err = json.Unmarshal(resultByte, &resp)
+	if err != nil {
+		return
+	}
+	return
+}
+
 // post
 func post(paramStr string, urlStr string) (resp *models.BaseResponse, result []byte, err error) {
 	if utils.ETA_FORUM_HUB_URL == "" {

+ 142 - 0
services/eta_forum/system.go

@@ -87,3 +87,145 @@ func RoleDelete(roleId int) (err error) {
 	}
 	return
 }
+
+type SysDepartmentAddReq struct {
+	DepartmentId   int    `description:"部门Id"`
+	DepartmentName string `description:"部门名称"`
+	Sort           int    `description:"排序"`
+	CreateTime     string `description:"创建时间"`
+}
+
+// 上传部门信息
+func DepartmentSave(id int) (err error) {
+	if utils.BusinessCode == "" || (utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeDebug && utils.BusinessCode != utils.BusinessCodeSandbox) {
+		return
+	}
+	//查询用户信息
+	info, err := system.GetSysDepartmentById(id)
+	if err != nil {
+		if err.Error() == utils.ErrNoRow() {
+			err = fmt.Errorf("用户不存在")
+			return
+		}
+		err = fmt.Errorf("获取用户信息失败,Err:" + err.Error())
+		return
+	}
+	var req SysDepartmentAddReq
+	req.DepartmentId = info.DepartmentId
+	req.DepartmentName = info.DepartmentName
+	req.Sort = info.Sort
+	req.CreateTime = info.CreateTime.Format(utils.FormatDateTime)
+	reqJson, err := json.Marshal(req)
+	if err != nil {
+		err = fmt.Errorf("参数解析异常,Err:" + err.Error())
+		return
+	}
+	respItem, err := DepartmentSaveLib(string(reqJson))
+	if err != nil {
+		err = fmt.Errorf("上传角色信息失败,Err:" + err.Error())
+		return
+	}
+	if respItem.Ret != 200 {
+		err = fmt.Errorf("上传角色信息失败,Err:%v,errMsg:%v", respItem.Msg, respItem.ErrMsg)
+		return
+	}
+	return
+}
+
+type DepartmentDeleteReq struct {
+	DepartmentId int    `description:"部门Id"`
+	BusinessCode string `description:"商家编码"`
+}
+
+// 删除部门信息
+func DepartmentDelete(id int) (err error) {
+	if utils.BusinessCode == "" || (utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeDebug && utils.BusinessCode != utils.BusinessCodeSandbox) {
+		return
+	}
+	var req DepartmentDeleteReq
+	req.DepartmentId = id
+	req.BusinessCode = utils.BusinessCode
+	reqJson, err := json.Marshal(req)
+	if err != nil {
+		err = fmt.Errorf("参数解析异常,Err:" + err.Error())
+		return
+	}
+	respItem, err := DepartmentDeleteLib(string(reqJson))
+	if err != nil {
+		err = fmt.Errorf("删除角色信息失败,Err:" + err.Error())
+		return
+	}
+	if respItem.Ret != 200 {
+		err = fmt.Errorf("删除角色信息失败,Err:%v,errMsg:%v", respItem.Msg, respItem.ErrMsg)
+		return
+	}
+	return
+}
+
+type SysGroupAddReq struct {
+	List []*system.SysGroup
+}
+
+// 新增分组信息
+func GroupSave(ids []int) (err error) {
+	if utils.BusinessCode == "" || (utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeDebug && utils.BusinessCode != utils.BusinessCodeSandbox) {
+		return
+	}
+	//查询用户信息
+	if len(ids) == 0 {
+		return
+	}
+	list, err := system.GetSysGroupByGroupIds(ids)
+	if err != nil {
+		err = fmt.Errorf("获取分组信息失败,Err:" + err.Error())
+		return
+	}
+
+	var req SysGroupAddReq
+	req.List = list
+	reqJson, err := json.Marshal(req)
+	if err != nil {
+		err = fmt.Errorf("参数解析异常,Err:" + err.Error())
+		return
+	}
+	respItem, err := GroupSaveLib(string(reqJson))
+	if err != nil {
+		err = fmt.Errorf("上传角色信息失败,Err:" + err.Error())
+		return
+	}
+	if respItem.Ret != 200 {
+		err = fmt.Errorf("上传角色信息失败,Err:%v,errMsg:%v", respItem.Msg, respItem.ErrMsg)
+		return
+	}
+	return
+}
+
+type GroupDeleteReq struct {
+	GroupId      int    `description:"分组ID"`
+	BusinessCode string `description:"商家编码"`
+}
+
+// 删除分组信息
+func GroupDelete(id int) (err error) {
+	if utils.BusinessCode == "" || (utils.BusinessCode != utils.BusinessCodeRelease && utils.BusinessCode != utils.BusinessCodeDebug && utils.BusinessCode != utils.BusinessCodeSandbox) {
+		return
+	}
+	var req GroupDeleteReq
+	req.GroupId = id
+	req.BusinessCode = utils.BusinessCode
+	reqJson, err := json.Marshal(req)
+	if err != nil {
+		err = fmt.Errorf("参数解析异常,Err:" + err.Error())
+		return
+	}
+	respItem, err := GroupDeleteLib(string(reqJson))
+	if err != nil {
+		err = fmt.Errorf("删除角色信息失败,Err:" + err.Error())
+		return
+	}
+	if respItem.Ret != 200 {
+		err = fmt.Errorf("删除角色信息失败,Err:%v,errMsg:%v", respItem.Msg, respItem.ErrMsg)
+		return
+	}
+	return
+}