150 lines
2.9 KiB
Go
150 lines
2.9 KiB
Go
package utils
|
|
|
|
import (
|
|
"base-service/app/dao"
|
|
"base-service/app/models"
|
|
"strconv"
|
|
"strings"
|
|
)
|
|
|
|
func GetApplicantUser(objId int, objType uint8, career uint8) (*dao.WecomUser, error) {
|
|
|
|
w := models.Params{
|
|
Eq: map[string]string{
|
|
"obj_id": strconv.Itoa(objId),
|
|
"obj_type": strconv.Itoa(int(objType)),
|
|
},
|
|
Order: "id desc",
|
|
}
|
|
|
|
editLog := dao.EditLogInfo{}
|
|
err := models.EditLogModel{}.Init().GetOne(w, &editLog)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
uw := models.Params{
|
|
Eq: map[string]string{
|
|
"obj_id": strconv.Itoa(editLog.AdminId),
|
|
"obj_type": strconv.Itoa(int(career)),
|
|
"status": strconv.Itoa(int(dao.StatusOk)),
|
|
},
|
|
}
|
|
|
|
user := dao.WecomUser{}
|
|
err = models.WecomUserModel{}.Init().GetOne(uw, &user)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &user, nil
|
|
}
|
|
|
|
func GetAdminUser(objId int, objType uint8) (*dao.Admin, error) {
|
|
|
|
w := models.Params{
|
|
Eq: map[string]string{
|
|
"obj_id": strconv.Itoa(objId),
|
|
"obj_type": strconv.Itoa(int(objType)),
|
|
},
|
|
Order: "id desc",
|
|
}
|
|
|
|
editLog := dao.EditLogInfo{}
|
|
err := models.EditLogModel{}.Init().GetOne(w, &editLog)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
user := dao.Admin{}
|
|
|
|
err = models.AdminUserModel{}.Init().GetOne(models.Params{
|
|
Eq: map[string]string{
|
|
"id": strconv.Itoa(editLog.AdminId),
|
|
},
|
|
}, &user)
|
|
|
|
return &user, nil
|
|
}
|
|
|
|
func GetActionUser(objId int, objType uint8) (*dao.Admin, error) {
|
|
|
|
w := models.Params{
|
|
Eq: map[string]string{
|
|
"obj_id": strconv.Itoa(objId),
|
|
"type": strconv.Itoa(int(objType)),
|
|
},
|
|
Order: "id desc",
|
|
}
|
|
|
|
apply := dao.ActionApplyLogInfo{}
|
|
err := models.ActionApplyLogModel{}.Init().GetOne(w, &apply)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
user := dao.Admin{}
|
|
|
|
err = models.AdminUserModel{}.Init().GetOne(models.Params{
|
|
Eq: map[string]string{
|
|
"id": strconv.Itoa(apply.AdminId),
|
|
},
|
|
}, &user)
|
|
|
|
return &user, nil
|
|
}
|
|
|
|
func GetActionWecomUser(objId int, objType uint8) (*dao.WecomUser, error) {
|
|
|
|
w := models.Params{
|
|
Eq: map[string]string{
|
|
"obj_id": strconv.Itoa(objId),
|
|
"type": strconv.Itoa(int(objType)),
|
|
},
|
|
Order: "id desc",
|
|
}
|
|
|
|
apply := dao.ActionApplyLogInfo{}
|
|
err := models.ActionApplyLogModel{}.Init().GetOne(w, &apply)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
user := dao.Admin{}
|
|
|
|
err = models.AdminUserModel{}.Init().GetOne(models.Params{
|
|
Eq: map[string]string{
|
|
"id": strconv.Itoa(apply.AdminId),
|
|
},
|
|
}, &user)
|
|
|
|
uw := models.Params{
|
|
Eq: map[string]string{
|
|
"obj_id": strconv.Itoa(user.Id),
|
|
"obj_type": strconv.Itoa(dao.NumberTwo),
|
|
"status": strconv.Itoa(int(dao.StatusOk)),
|
|
},
|
|
}
|
|
|
|
wecom := dao.WecomUser{}
|
|
err = models.WecomUserModel{}.Init().GetOne(uw, &wecom)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &wecom, nil
|
|
}
|
|
|
|
func JoinWecomUsers(users ...string) string {
|
|
|
|
result := make([]string, 0)
|
|
|
|
for _, user := range users {
|
|
|
|
if user == "" {
|
|
continue
|
|
}
|
|
|
|
result = append(result, user)
|
|
}
|
|
|
|
return strings.Join(result, "|")
|
|
}
|