package service import ( "context" "fmt" log "github.com/sirupsen/logrus" "time" "youngee_b_api/db" "youngee_b_api/model/gorm_model" "youngee_b_api/model/http_model" ) var SubAccount *subaccount type subaccount struct { } // CreateSubAccount 新增子账号 func (*subaccount) CreateSubAccount(ctx context.Context, request http_model.AddNewSubAccountRequest) error { user := gorm_model.YounggeeUser{ Phone: request.PhoneNumber, User: "1002", Username: request.PhoneNumber, Password: "1002", RealName: "", Role: "4", Email: "", LastLoginTime: time.Now().UTC().Local(), } userId, err := db.CreateUser(ctx, user) if err != nil { log.Infof("[CreateEnterpriseSubUser] fail,err:%+v", err) return err } fmt.Println("userId: ", userId) var curr = int(*userId) var newSubAccount = gorm_model.YounggeeSubAccount{ PhoneNumber: request.PhoneNumber, SubAccountName: request.SubAccountName, JobId: request.JobId, EnterpriseId: request.EnterpriseId, AccountStatus: 1, UserId: curr, SubAccountType: 1, } err1 := db.CreateSubAccount(ctx, newSubAccount) if err1 != nil { return err1 } return nil } // UpdateSubAccount 修改子账号信息 func (*subaccount) UpdateSubAccount(ctx context.Context, request http_model.UpdateJobRequest) error { var newSubAccount = gorm_model.YounggeeSubAccount{} err := db.UpdateSubAccount(ctx, newSubAccount) if err != nil { return err } return nil } // DeleteSubAccount 删除子账号 func (*subaccount) DeleteSubAccount(ctx context.Context, request http_model.DeleteJobRequest) error { var newSubAccount = gorm_model.YounggeeSubAccount{ JobId: request.JobId, } err := db.DeleteSubAccount(ctx, newSubAccount) if err != nil { return err } return nil } // FindSubAccountByEnterpriseId 根据商家ID查找包含的所有子账号信息 func (*subaccount) FindSubAccountByEnterpriseId(ctx context.Context, request http_model.FindAllSubAccountRequest) (*http_model.FindAllSubAccountData, error) { var subAccountResp *http_model.FindAllSubAccountData subAccountResp = &http_model.FindAllSubAccountData{} // 1. 取出子账号基本信息 newSubAccount, total, subaccountErr := db.FindSubAccountByEnterpriseId(ctx, request.EnterpriseId) if subaccountErr != nil { return nil, subaccountErr } if newSubAccount != nil { for _, s := range newSubAccount { var subAccountInfo *http_model.FindAllSubAccountInfo subAccountInfo = &http_model.FindAllSubAccountInfo{} // fmt.Println("s:", s.SubAccountId) subAccountInfo.SubAccountId = s.SubAccountId subAccountInfo.SubAccountName = s.SubAccountName subAccountInfo.JobId = s.JobId subAccountInfo.UserId = s.UserId subAccountInfo.PhoneNumber = s.PhoneNumber subAccountInfo.EnterpriseId = s.EnterpriseId subAccountInfo.AccountStatus = s.AccountStatus // 2. 岗位信息 jobInfo, jobErr := db.FindJobByJobId(ctx, s.JobId) if jobErr != nil { return nil, jobErr } if jobInfo != nil { subAccountInfo.JobName = jobInfo.JobName } subAccountResp.SubAccountInfo = append(subAccountResp.SubAccountInfo, subAccountInfo) } } subAccountResp.Total = total return subAccountResp, nil }