|
|
|
|
package dockingorganization
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"fmt"
|
|
|
|
|
"hr_server/models"
|
|
|
|
|
"hr_server/overall"
|
|
|
|
|
"hr_server/overall/overallhandle"
|
|
|
|
|
"io/ioutil"
|
|
|
|
|
"net/http"
|
|
|
|
|
"strings"
|
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
|
"gorm.io/gorm"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func GetUrl(sendUrl string) (respBody []byte, err error) {
|
|
|
|
|
req, err := http.NewRequest("GET", sendUrl, nil)
|
|
|
|
|
|
|
|
|
|
client := &http.Client{Timeout: 500 * time.Second} // 设置请求超时时长5s
|
|
|
|
|
resp, err := client.Do(req)
|
|
|
|
|
if err != nil {
|
|
|
|
|
errmsg := fmt.Sprintf("访问请求[%v] http.DefaultClient.Do() err: %v", sendUrl, err)
|
|
|
|
|
overallhandle.WriteLog("e", errmsg)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
defer resp.Body.Close()
|
|
|
|
|
respBody, err = ioutil.ReadAll(resp.Body)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
*
|
|
|
|
|
@ 作者: 秦东
|
|
|
|
|
@ 时间: 2025-04-17 10:29:31
|
|
|
|
|
@ 功能: 三方库统一添加角色
|
|
|
|
|
@ 参数
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
@ 返回值
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
@ 方法原型
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
*/
|
|
|
|
|
func AddRolePeople(roleId string) {
|
|
|
|
|
var userId []int64
|
|
|
|
|
overall.CONSTANT_DB_HR.Model(&models.PersonArchives{}).Select("`id`").Find(&userId)
|
|
|
|
|
if len(userId) > 0 {
|
|
|
|
|
var guoduId []int64
|
|
|
|
|
for i, v := range userId {
|
|
|
|
|
//分组启动携程
|
|
|
|
|
if (i+1)%500 == 0 {
|
|
|
|
|
synPro.Add(1)
|
|
|
|
|
go SynAddNewRole(guoduId, roleId)
|
|
|
|
|
guoduId = []int64{}
|
|
|
|
|
} else {
|
|
|
|
|
guoduId = append(guoduId, v)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if len(guoduId) > 0 {
|
|
|
|
|
synPro.Add(1)
|
|
|
|
|
go SynAddNewRole(guoduId, roleId)
|
|
|
|
|
}
|
|
|
|
|
synPro.Wait()
|
|
|
|
|
}
|
|
|
|
|
fmt.Println("数据校验完成!")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
*
|
|
|
|
|
@ 作者: 秦东
|
|
|
|
|
@ 时间: 2025-04-17 10:32:35
|
|
|
|
|
@ 功能: 协程处理角色添加问题
|
|
|
|
|
#userId 要处理人的ID
|
|
|
|
|
#roleId 要添加的角色ID
|
|
|
|
|
*/
|
|
|
|
|
func SynAddNewRole(userIdAry []int64, roleId string) {
|
|
|
|
|
defer synPro.Done()
|
|
|
|
|
var userAry []models.PersonArchives
|
|
|
|
|
overall.CONSTANT_DB_HR.Model(&models.PersonArchives{}).Select("`id`,`key`,`role`").Where("`id` IN ?", userIdAry).Find(&userAry)
|
|
|
|
|
if len(userAry) > 0 {
|
|
|
|
|
for _, v := range userAry {
|
|
|
|
|
editUserRole(overall.CONSTANT_DB_HR, v, roleId)
|
|
|
|
|
editUserRole(overall.CONSTANT_Hr_Server, v, roleId)
|
|
|
|
|
editUserRole(overall.CONSTANT_HRSERVER_DATABASE, v, roleId)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
*
|
|
|
|
|
@ 作者: 秦东
|
|
|
|
|
@ 时间: 2025-04-02 11:36:47
|
|
|
|
|
@ 功能: 编辑附属人员信息
|
|
|
|
|
*/
|
|
|
|
|
func editUserRole(gormDb *gorm.DB, userInfo models.PersonArchives, roleId string) {
|
|
|
|
|
allRoleMap := []string{roleId}
|
|
|
|
|
if userInfo.Role != "" {
|
|
|
|
|
oldRoleAry := strings.Split(userInfo.Role, ",")
|
|
|
|
|
allRoleMap = append(allRoleMap, oldRoleAry...)
|
|
|
|
|
}
|
|
|
|
|
saveData := overallhandle.MapOut()
|
|
|
|
|
saveData["role"] = strings.Join(allRoleMap, ",")
|
|
|
|
|
saveData["eite_time"] = time.Now().Unix()
|
|
|
|
|
gormDb.Model(&models.PersonArchives{}).Where("`key` = ?", userInfo.Key).Updates(saveData)
|
|
|
|
|
}
|