sync staffuserinfo
This commit is contained in:
parent
e1987917ee
commit
d9da0951b5
|
@ -2,7 +2,6 @@ package controller
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"enterprise/common/dao"
|
"enterprise/common/dao"
|
||||||
"enterprise/common/model"
|
|
||||||
"enterprise/server/api"
|
"enterprise/server/api"
|
||||||
"enterprise/server/service"
|
"enterprise/server/service"
|
||||||
"enterprise/server/session"
|
"enterprise/server/session"
|
||||||
|
@ -70,18 +69,7 @@ func (s *Staff) Create(ctx *gin.Context) {
|
||||||
sess := ctx.Keys[session.ContextSession].(*session.AdminSession)
|
sess := ctx.Keys[session.ContextSession].(*session.AdminSession)
|
||||||
var req api.StaffCreateReq
|
var req api.StaffCreateReq
|
||||||
session.CheckParamError(ctx.ShouldBindJSON(&req))
|
session.CheckParamError(ctx.ShouldBindJSON(&req))
|
||||||
|
service.NewStaffUser().Create(sess, &req)
|
||||||
staffUser, err := dao.NewStaffUserDao().GetByUsername(sess.GetAdmin().CorpId, req.Username)
|
|
||||||
session.CheckDBError(err)
|
|
||||||
if staffUser != nil {
|
|
||||||
panic("用户已存在")
|
|
||||||
}
|
|
||||||
staffUser = new(model.StaffUser)
|
|
||||||
staffUser.CorpId = sess.GetAdmin().CorpId
|
|
||||||
staffUser.Username = req.Username
|
|
||||||
staffUser.Status = model.StaffUserStatusOnline
|
|
||||||
_, err = dao.NewStaffUserDao().Create(staffUser)
|
|
||||||
session.CheckDBError(err)
|
|
||||||
ctx.JSON(http.StatusOK, session.NewRspOk())
|
ctx.JSON(http.StatusOK, session.NewRspOk())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"enterprise/common/model"
|
"enterprise/common/model"
|
||||||
"enterprise/server/api"
|
"enterprise/server/api"
|
||||||
"enterprise/server/session"
|
"enterprise/server/session"
|
||||||
|
"git.u8t.cn/open/gosdk/qyweixin"
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
log "github.com/sirupsen/logrus"
|
log "github.com/sirupsen/logrus"
|
||||||
"github.com/smbrave/goutil"
|
"github.com/smbrave/goutil"
|
||||||
|
@ -48,12 +49,54 @@ func (s *StaffUser) Login(sess *session.AdminSession, req *api.StaffLoginReq) in
|
||||||
return data
|
return data
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *StaffUser) Create(sess *session.AdminSession, req *api.StaffCreateReq) {
|
||||||
|
|
||||||
|
staffUser, err := dao.NewStaffUserDao().GetByUsername(sess.GetAdmin().CorpId, req.Username)
|
||||||
|
session.CheckDBError(err)
|
||||||
|
if staffUser != nil {
|
||||||
|
panic("用户已存在")
|
||||||
|
}
|
||||||
|
|
||||||
|
hrAssiant := s.getHrAssiant(sess.GetCorpId())
|
||||||
|
|
||||||
|
staffInfo, err := hrAssiant.GetStaffInfo(req.Username)
|
||||||
|
if err != nil {
|
||||||
|
log.Warnf("getstaff info username[%s] error :%s", req.Username, err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
|
staffUser = new(model.StaffUser)
|
||||||
|
if staffInfo != nil {
|
||||||
|
staffUser.Realname = staffInfo.RealName
|
||||||
|
staffUser.Phone = staffInfo.Phone
|
||||||
|
staffUser.Idno = staffInfo.Idno
|
||||||
|
staffUser.EntryDate = staffInfo.EntryDate
|
||||||
|
staffUser.OfficialDate = staffInfo.OfficialDate
|
||||||
|
}
|
||||||
|
|
||||||
|
staffUser.CorpId = sess.GetAdmin().CorpId
|
||||||
|
staffUser.Username = req.Username
|
||||||
|
staffUser.Status = model.StaffUserStatusOnline
|
||||||
|
_, err = dao.NewStaffUserDao().Create(staffUser)
|
||||||
|
session.CheckDBError(err)
|
||||||
|
}
|
||||||
|
|
||||||
func (s *StaffUser) Update(sess *session.AdminSession, req *api.StaffUpdateReq) {
|
func (s *StaffUser) Update(sess *session.AdminSession, req *api.StaffUpdateReq) {
|
||||||
|
|
||||||
staffUser, err := dao.NewStaffUserDao().Get(cast.ToInt64(req.Id))
|
staffUser, err := dao.NewStaffUserDao().Get(cast.ToInt64(req.Id))
|
||||||
session.CheckDBError(err)
|
session.CheckDBError(err)
|
||||||
session.CheckNilError(staffUser, "用户不存在")
|
session.CheckNilError(staffUser, "用户不存在")
|
||||||
|
|
||||||
|
hrAssiant := s.getHrAssiant(sess.GetCorpId())
|
||||||
|
staffInfo, err := hrAssiant.GetStaffInfo(req.Username)
|
||||||
|
if err != nil {
|
||||||
|
log.Warnf("getstaff info username[%s] error :%s", req.Username, err.Error())
|
||||||
|
}
|
||||||
|
if staffInfo != nil {
|
||||||
|
staffUser.Realname = goutil.If(staffUser.Realname == "", staffInfo.RealName, staffUser.Realname)
|
||||||
|
staffUser.Phone = goutil.If(staffUser.Phone == "", staffInfo.Phone, staffUser.Phone)
|
||||||
|
staffUser.Idno = goutil.If(staffUser.Idno == "", staffInfo.Idno, staffUser.Idno)
|
||||||
|
}
|
||||||
|
|
||||||
staffUser.Username = goutil.If(req.Username != "", req.Username, staffUser.Username)
|
staffUser.Username = goutil.If(req.Username != "", req.Username, staffUser.Username)
|
||||||
staffUser.Realname = goutil.If(req.Realname != "", req.Realname, staffUser.Realname)
|
staffUser.Realname = goutil.If(req.Realname != "", req.Realname, staffUser.Realname)
|
||||||
staffUser.Phone = goutil.If(req.Phone != "", req.Phone, staffUser.Phone)
|
staffUser.Phone = goutil.If(req.Phone != "", req.Phone, staffUser.Phone)
|
||||||
|
@ -88,3 +131,16 @@ func (s *StaffUser) Update(sess *session.AdminSession, req *api.StaffUpdateReq)
|
||||||
err = dao.NewStaffUserDao().Update(staffUser)
|
err = dao.NewStaffUserDao().Update(staffUser)
|
||||||
session.CheckDBError(err)
|
session.CheckDBError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *StaffUser) getHrAssiant(corpId int64) *qyweixin.AppHr {
|
||||||
|
corp, err := dao.NewCorpDao().Get(corpId)
|
||||||
|
session.CheckDBError(err)
|
||||||
|
session.CheckNilError(corp, "企业不存在")
|
||||||
|
corpCfg := corp.GetConfig()
|
||||||
|
hrAssiant := qyweixin.NewAppHr(&qyweixin.AppConfig{
|
||||||
|
Corpid: corpCfg.CorpId,
|
||||||
|
Secret: corpCfg.EnterpriseSecret,
|
||||||
|
Agent: corpCfg.EnterpriseAgent,
|
||||||
|
})
|
||||||
|
return hrAssiant
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue