作者 tangxvhui

更新公司主管理员相关设置

... ... @@ -29,7 +29,6 @@ type UserCompany struct {
EntryTime time.Time `orm:"column(entry_time);type(date);null" description:"入职时间"`
Workspace string `orm:"column(workspace);size(255)" description:"工作地点"`
IsBusiness int8 `orm:"column(is_business)" description:"是否开启业务状态 1是 0否"`
//Status int8 `orm:"column(status)" description:"状态 1正常 2禁用"`
Avatar string `orm:"column(avatar);size(255)" description:"头像"`
Remarks string `orm:"column(remarks);size(255)" description:"备注"`
AdminType int8 `orm:"column(admin_type)" description:"1普通用户 2主管理员"`
... ... @@ -47,6 +46,12 @@ const (
USERCOMPANY_ENABLE_NO int8 = 2 // 无效
)
//是否为当前公司主管 1 是2 否
const (
USERCOMPANY_CHARGE_YES int8 = 1
USERCOMPANY_CHARGE_NO int8 = 2
)
func (t *UserCompany) IsEnable() bool {
switch t.Enable {
case USERCOMPANY_ENABLE_YES:
... ...
... ... @@ -212,6 +212,9 @@ func initUserCompany(newcompany *models.Company, newuser *models.User, o orm.Orm
uc = &models.UserCompany{
UserId: newuser.Id,
CompanyId: newcompany.Id,
OpenId: newuser.UserCenterId,
Enable: models.USERCOMPANY_ENABLE_YES,
ChargeStatus: models.USERCOMPANY_CHARGE_YES,
}
_, err = models.AddUserCompany(uc, o)
if err != nil {
... ...
... ... @@ -4,16 +4,19 @@ import (
"fmt"
"oppmg/common/log"
"oppmg/models"
"github.com/astaxie/beego/orm"
)
// AdminChance
// AdminChance g更换公司主管
//companyid 总管理后台的公司id
func AdminChance(companyid int64, phone string) error {
var (
companyData *models.Company
userData *models.User
// userCompanyData *models.UserCompany
err error
newCharge *models.UserCompany
oldCharge *models.UserCompany
)
companyData, err = models.GetCompanyByUCenter(companyid)
if err != nil {
... ... @@ -27,18 +30,44 @@ func AdminChance(companyid int64, phone string) error {
log.Error(err.Error())
return e
}
_, err = models.GetUserCompanyBy(userData.Id, companyData.Id)
newCharge, err = models.GetUserCompanyBy(userData.Id, companyData.Id)
if err != nil {
e := fmt.Errorf("获取用户和公司的对应关系数据失败,user_id:%d,company_id:%d", userData.Id, companyData.Id)
log.Error(e.Error())
return e
}
oldCharge, err = models.GetUserCompanyBy(companyData.AdminId, companyData.Id)
if err != nil {
e := fmt.Errorf("获取公司原来的主管对应数据失败,user_id:%d,company_id:%d", companyData.AdminId, companyData.Id)
log.Error(e.Error())
return e
}
o := orm.NewOrm()
o.Begin()
companyData.AdminId = userData.Id
err = models.UpdateCompanyById(companyData, []string{"AdminId"})
err = models.UpdateCompanyById(companyData, []string{"AdminId"}, o)
if err != nil {
o.Rollback()
e := fmt.Errorf("更新公司数据失败,err:%s", err)
log.Error(e.Error())
return e
}
newCharge.ChargeStatus = models.USERCOMPANY_CHARGE_YES
oldCharge.ChargeStatus = models.USERCOMPANY_CHARGE_NO
err = models.UpdateUserCompanyById(newCharge, []string{"ChargeStatus"}, o)
if err != nil {
o.Rollback()
e := fmt.Errorf("更新原公司主管理员数据失败,user_company_id=%d,err:%s", oldCharge.Id, err)
log.Error(e.Error())
return e
}
err = models.UpdateUserCompanyById(oldCharge, []string{"ChargeStatus"}, o)
if err != nil {
o.Rollback()
e := fmt.Errorf("更新新公司主管理员数据失败,user_company_id=%d , err:%s", newCharge.Id, err)
log.Error(e.Error())
return e
}
o.Commit()
return nil
}
... ...