作者 唐旭辉

Merge branch 'test'

... ... @@ -6,6 +6,7 @@ import (
"fmt"
"time"
"github.com/astaxie/beego/logs"
"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/factory"
"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/domain"
"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/lib"
... ... @@ -77,6 +78,7 @@ func (service SyncCompanyService) DoAction(action string, byteData []byte) error
}
}
//addCompany 添加公司
func (service SyncCompanyService) addCompany(data CompanytData) error {
var (
transactionContext, _ = factory.CreateTransactionContext(nil)
... ... @@ -145,6 +147,7 @@ func (service SyncCompanyService) addCompany(data CompanytData) error {
return nil
}
//updateCompany 更新公司数据
func (service SyncCompanyService) updateCompany(data CompanytData) error {
var (
transactionContext, _ = factory.CreateTransactionContext(nil)
... ... @@ -160,7 +163,8 @@ func (service SyncCompanyService) updateCompany(data CompanytData) error {
companyRespository domain.CompanyRepository
userRespository domain.UsersRepository
oldCompany domain.Company
oldUser domain.Users
oldCompanyAdmins []domain.Users
newUser domain.Users
)
if companyRespository, err = factory.CreateCompanyRepository(map[string]interface{}{
"transactionContext": transactionContext,
... ... @@ -175,7 +179,11 @@ func (service SyncCompanyService) updateCompany(data CompanytData) error {
oldCompany, err = companyRespository.FindOne(domain.CompanyFindOneOptions{
Id: data.Company.Id,
})
oldUser, err = userRespository.FindOne(domain.UsersFindOneQuery{
_, oldCompanyAdmins, err = userRespository.Find(domain.UsersFindQuery{
CompanyId: data.Company.Id,
AdminType: domain.UserIsAdmin,
})
newUser, err = userRespository.FindOne(domain.UsersFindOneQuery{
Id: data.User.Id,
})
oldCompany.Update(map[string]interface{}{
... ... @@ -185,8 +193,29 @@ func (service SyncCompanyService) updateCompany(data CompanytData) error {
"AdminCompanyId": data.Company.AdminCompanyId,
"Abbreviation": data.Company.Abbreviation,
})
entryTime, _ := time.Parse("2006-01-02", data.User.EntryTime)
oldUser.Update(map[string]interface{}{
for i := range oldCompanyAdmins {
oldCompanyAdmins[i].Update(map[string]interface{}{
"AdminType": domain.UserIsNotAdmin,
})
err = userRespository.Edit(&oldCompanyAdmins[i])
if err != nil {
e := fmt.Sprintf("更新公司主管user数据(id=%d)失败:%s",
oldCompanyAdmins[i].Id, err)
return lib.ThrowError(lib.BUSINESS_ERROR, e)
}
}
err = companyRespository.Edit(&oldCompany)
if err != nil {
return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error())
}
var entryTime time.Time
if len(data.User.EntryTime) > 0 {
entryTime, err = time.Parse("2006-01-02", data.User.EntryTime)
if err != nil {
logs.Error("Parse User.EntryTime 错误:%s", err)
}
}
newUser.Update(map[string]interface{}{
"CompanyId": data.User.CompanyId,
"OpenId": data.User.OpenId,
"Name": data.User.Name,
... ... @@ -204,11 +233,7 @@ func (service SyncCompanyService) updateCompany(data CompanytData) error {
"EntryTime": entryTime,
"AdminType": data.User.AdminType,
})
err = companyRespository.Edit(&oldCompany)
if err != nil {
return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error())
}
err = userRespository.Edit(&oldUser)
err = userRespository.Edit(&newUser)
if err != nil {
return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error())
}
... ... @@ -216,6 +241,7 @@ func (service SyncCompanyService) updateCompany(data CompanytData) error {
return nil
}
//updateCompanyCharge 变更公司的负责人
func (service SyncCompanyService) updateCompanyCharge(data CompanyCharge) error {
var (
transactionContext, _ = factory.CreateTransactionContext(nil)
... ...
... ... @@ -6,6 +6,8 @@ import (
"fmt"
"time"
"github.com/astaxie/beego/logs"
"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/factory"
"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/application/unifiedUserCenter/command"
"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/domain"
... ... @@ -155,6 +157,7 @@ func (service SyncEmployeeService) DoAction(action string, byteData []byte) erro
}
}
//addEmployeeData 添加用户
func (service SyncEmployeeService) addEmployeeData(datas []EmployeeData) error {
var (
transactionContext, _ = factory.CreateTransactionContext(nil)
... ... @@ -203,6 +206,7 @@ func (service SyncEmployeeService) addEmployeeData(datas []EmployeeData) error {
return err
}
// updateEmployeeData 更新用户
func (service SyncEmployeeService) updateEmployeeData(datas []EmployeeData) error {
var (
transactionContext, _ = factory.CreateTransactionContext(nil)
... ... @@ -280,7 +284,7 @@ func (service SyncEmployeeService) deleteEmployeeData(data DeleteUserData) error
return err
}
//UpdateUsersStatus 批量更新用户的状态
//updateUsersStatus 批量更新用户的状态
func (service SyncEmployeeService) updateUsersStatus(data ForbidAllowUserData) error {
var (
transactionContext, _ = factory.CreateTransactionContext(nil)
... ... @@ -338,16 +342,13 @@ func (service SyncEmployeeService) ChangeSuperAdmin(cmd command.ChanceSuperAdmin
return lib.ThrowError(lib.INTERNAL_SERVER_ERROR, e)
}
if len(userList) == 0 {
e := fmt.Sprintf("没有获得公司主管数据(admin_type=%d;company_id=%d)",
domain.UserIsAdmin, cmd.CompanyId)
return lib.ThrowError(lib.BUSINESS_ERROR, e)
logs.Error(fmt.Sprintf("没有获得公司主管数据(admin_type=%d;company_id=%d)",
domain.UserIsAdmin, cmd.CompanyId))
}
if len(userList) > 1 {
e := fmt.Sprintf("存在复数公司主管数据(admin_type=%d;company_id=%d)",
domain.UserIsAdmin, cmd.CompanyId)
return lib.ThrowError(lib.BUSINESS_ERROR, e)
logs.Error(fmt.Sprintf("存在复数公司主管数据(admin_type=%d;company_id=%d)",
domain.UserIsAdmin, cmd.CompanyId))
}
oldSuperUser = userList[0]
newSuperUser, err = usersRepository.FindOne(domain.UsersFindOneQuery{
CompanyId: cmd.CompanyId,
Phone: cmd.Phone,
... ... @@ -357,11 +358,19 @@ func (service SyncEmployeeService) ChangeSuperAdmin(cmd command.ChanceSuperAdmin
cmd.Phone, cmd.CompanyId)
return lib.ThrowError(lib.BUSINESS_ERROR, e)
}
err = oldSuperUser.Update(map[string]interface{}{
"AdminType": domain.UserIsNotAdmin,
})
if err != nil {
return lib.ThrowError(lib.BUSINESS_ERROR, err.Error())
for i := range userList {
err = userList[i].Update(map[string]interface{}{
"AdminType": domain.UserIsNotAdmin,
})
if err != nil {
return lib.ThrowError(lib.BUSINESS_ERROR, err.Error())
}
err = usersRepository.Edit(&userList[i])
if err != nil {
e := fmt.Sprintf("更新公司主管user数据(id=%d)失败:%s",
oldSuperUser.Id, err)
return lib.ThrowError(lib.BUSINESS_ERROR, e)
}
}
err = newSuperUser.Update(map[string]interface{}{
"AdminType": domain.UserIsAdmin,
... ... @@ -369,12 +378,6 @@ func (service SyncEmployeeService) ChangeSuperAdmin(cmd command.ChanceSuperAdmin
if err != nil {
return lib.ThrowError(lib.BUSINESS_ERROR, err.Error())
}
err = usersRepository.Edit(&oldSuperUser)
if err != nil {
e := fmt.Sprintf("更新公司主管user数据(id=%d)失败:%s",
oldSuperUser.Id, err)
return lib.ThrowError(lib.BUSINESS_ERROR, e)
}
err = usersRepository.Edit(&newSuperUser)
if err != nil {
e := fmt.Sprintf("更新公司主管user数据(id=%d)失败:%s",
... ...
... ... @@ -123,7 +123,7 @@ func (reponsitory UsersRepository) FindOne(queryOptions domain.UsersFindOneQuery
hasCondition bool
)
query := tx.Model(&m)
query.Where("delete_at ISNULL")
query = query.Where("delete_at ISNULL")
if queryOptions.Id > 0 {
hasCondition = true
query = query.Where("id=?", queryOptions.Id)
... ...
... ... @@ -90,7 +90,7 @@ type ResponseLogin struct {
Imtoken string `json:"imtoken"` //网易云imtoken
Accid int64 `json:"accid"` //网易云id
CustomerAccount int64 `json:"customerAccount"` //客服id
CompanyId int64 `json:"companyId"` //总后台的公司id
CompanyId int64 `json:"companyId"` //总后台的公司id ,对应company表中的admin_company_id
Muid int64 `json:"muid"` //企业平台的用户id,对应本系统中users表的id
} `json:"data"`
}
... ...
... ... @@ -54,7 +54,7 @@ func (c *SyncDataController) CompanyAdminChance() {
return
}
syncEmployeeSrv := syncService.NewSyncEmployeeService(nil)
syncEmployeeSrv.ChangeSuperAdmin(param)
err = syncEmployeeSrv.ChangeSuperAdmin(param)
if err != nil {
logs.Error("变更公司的主管失败;%s", err)
}
... ...