feat:完善信息,优化入驻接口

This commit is contained in:
henry
2022-01-28 16:59:15 +08:00
parent 4c57ca2878
commit aafff0f3fd
22 changed files with 275 additions and 137 deletions

View File

@ -8,7 +8,6 @@ import (
"SciencesServer/serve/orm"
"errors"
"gorm.io/gorm"
"time"
)
// Agent 经纪人入驻信息
@ -35,18 +34,50 @@ func (c *Agent) Launch(params *BasicParams, other *config.IdentityForAgent) erro
if err != nil {
return err
} else if isExist {
// 审核中
if mManageAgent.Examine.ExamineStatus == model2.ExamineStatusForOngoing {
return errors.New("操作错误,当前该企业信息审核中,不可入驻")
}
// 审核通过
if mManageAgent.Examine.ExamineStatus == model2.ExamineStatusForAgree {
// 筛选企业条件
if err = params.filter(config.TenantUserIdentityForAgent,
model2.NewWhere("agent_id", mManageAgent.ID)); err != nil {
if mManageAgent.Examine.ExamineStatus == model2.ExamineStatusForOngoing ||
mManageAgent.Examine.ExamineStatus == model2.ExamineStatusForAgree {
// 筛选判断是否满足入驻条件
if err = params.filter(config.TenantUserIdentityForAgent, model2.NewWhere("agent_id", mManageAgent.ID)); err != nil {
return err
}
// 判断当前用户是否入驻
var count int64
if err = model2.Count(mUserAgent.UserAgent, &count, model2.NewWhere("agent_id", mManageAgent.ID),
model2.NewWhere("uid", c.UID), model2.NewWhere("invalid_status", model2.InvalidStatusForNot)); err != nil {
return err
}
if count > 0 {
return errors.New("操作错误,已申请入驻,不可重复申请")
}
return orm.GetDB().Transaction(func(tx *gorm.DB) error {
mUserAgent.UID = c.UID
mUserAgent.AgentID = mManageAgent.ID
if err = model2.Create(mUserAgent.UserAgent, tx); err != nil {
return err
}
// 直接同步身份信息
if mManageAgent.Examine.ExamineStatus == model2.ExamineStatusForAgree {
if err = params.fillIdentity(tx, c.Enterprise, config.TenantUserIdentityForAgent); err != nil {
return err
}
}
return nil
})
}
// 审核中
//if mManageAgent.Examine.ExamineStatus == model2.ExamineStatusForOngoing {
// return errors.New("操作错误,当前该企业信息审核中,不可入驻")
//}
//// 审核通过
//if mManageAgent.Examine.ExamineStatus == model2.ExamineStatusForAgree {
// // 筛选企业条件
// if err = params.filter(config.TenantUserIdentityForAgent,
// model2.NewWhere("agent_id", mManageAgent.ID)); err != nil {
// return err
// }
//}
mManageAgent.ID = 0
}
mManageAgent.TenantID = c.tenantID
@ -63,21 +94,12 @@ func (c *Agent) Launch(params *BasicParams, other *config.IdentityForAgent) erro
mManageAgent.WorkExperience = other.WorkExperience
mManageAgent.WorkPlace = other.WorkPlace
mManageAgent.SetCredentialImageAttribute(other.CredentialImages)
mManageAgent.ExamineStatus = model2.ExamineStatusForOngoing
return orm.GetDB().Transaction(func(tx *gorm.DB) error {
// 删除区域相同身份证经纪人信息
if err = model2.DeleteWhere(mManageAgent.ManageAgent, []*model2.ModelWhere{
model2.NewWhere("id_card", other.IDCard), model2.NewWhere("tenant_id", c.tenantID)}, tx); err != nil {
return err
}
if err = model2.Create(mManageAgent.ManageAgent, tx); err != nil {
return err
}
if err := model2.UpdatesWhere(mUserAgent.UserAgent, map[string]interface{}{
"invalid_status": model2.InvalidStatusForYes, "updated_at": time.Now(),
}, []*model2.ModelWhere{model2.NewWhere("uid", c.UID)}, tx); err != nil {
return err
}
mUserAgent.UID = c.UID
mUserAgent.AgentID = mManageAgent.ID
return model2.Create(mUserAgent.UserAgent, tx)