|
@@ -46,26 +46,28 @@ type ProjectAccountService interface {
|
|
|
|
|
|
ChangePassword(AccountData viewmodels.AccountPassword, projectId int, projectAccountId int) error
|
|
|
|
|
|
- SaveAuth(permission viewmodels.Permission, projectId int, accountId int) error
|
|
|
+ SaveAuth(permission viewmodels.Permission, projectId int, bidsectionId int, accountId int) error
|
|
|
}
|
|
|
|
|
|
//返回service操作类
|
|
|
type projectAccountService struct {
|
|
|
- dao *dao.ProjectAccountDao
|
|
|
- bidAccountDao *dao.BidAccountDao
|
|
|
- validSave string
|
|
|
- validAdd string
|
|
|
- validPassword string
|
|
|
+ dao *dao.ProjectAccountDao
|
|
|
+ bidAccountDao *dao.BidAccountDao
|
|
|
+ permissionAccountDao *dao.PermissionAccountDao
|
|
|
+ validSave string
|
|
|
+ validAdd string
|
|
|
+ validPassword string
|
|
|
}
|
|
|
|
|
|
//创建项目用户service
|
|
|
func NewProjectAccountService() ProjectAccountService {
|
|
|
return &projectAccountService{
|
|
|
- dao: dao.NewProjectAccountDao(datasource.InstanceDbMaster()),
|
|
|
- bidAccountDao: dao.NewBidAccountDao(datasource.InstanceDbMaster()),
|
|
|
- validSave: "/api/projectSetting/account/save",
|
|
|
- validAdd: "/api/projectSetting/account/create",
|
|
|
- validPassword: "/api/projectSetting/account/change",
|
|
|
+ dao: dao.NewProjectAccountDao(datasource.InstanceDbMaster()),
|
|
|
+ bidAccountDao: dao.NewBidAccountDao(datasource.InstanceDbMaster()),
|
|
|
+ permissionAccountDao: dao.NewPermissionAccountDao(datasource.InstanceDbMaster()),
|
|
|
+ validSave: "/api/projectSetting/account/save",
|
|
|
+ validAdd: "/api/projectSetting/account/create",
|
|
|
+ validPassword: "/api/projectSetting/account/change",
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -215,10 +217,21 @@ func (s *projectAccountService) GetBidAccount(bidsectionId int, projectId int, p
|
|
|
// 获得账号信息
|
|
|
accountData := s.dao.GetInId(inId)
|
|
|
|
|
|
+ // 2.获得账号权限
|
|
|
+ permissionData := s.permissionAccountDao.GetBidsectionId(bidsectionId)
|
|
|
+
|
|
|
// 格式化账号数据
|
|
|
accountListVM := make([]viewmodels.ProjectAccount, 0)
|
|
|
for _, data := range accountData {
|
|
|
account := comm.MakeProjectAccountVM(&data)
|
|
|
+ for _, item := range permissionData {
|
|
|
+ if data.Id == item.AccountId {
|
|
|
+ account.ContractPermission = item.ContractPermission
|
|
|
+ account.QualityPermission = item.QualityPermission
|
|
|
+ account.SafePermission = item.SafePermission
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
accountListVM = append(accountListVM, account)
|
|
|
}
|
|
|
return accountListVM
|
|
@@ -368,7 +381,7 @@ func (s *projectAccountService) GetProjectInfo(id int) (viewmodels.ProjectInfo,
|
|
|
}
|
|
|
|
|
|
// 保存权限设置
|
|
|
-func (s *projectAccountService) SaveAuth(permission viewmodels.Permission, projectId int, accountId int) error {
|
|
|
+func (s *projectAccountService) SaveAuth(permission viewmodels.Permission, projectId int, bidsectionId int, accountId int) error {
|
|
|
// 1.构造权限字符串
|
|
|
// 1-1.合同权限
|
|
|
contractPermission := map[string]int{
|
|
@@ -405,13 +418,14 @@ func (s *projectAccountService) SaveAuth(permission viewmodels.Permission, proje
|
|
|
qualityPermissionStr := string(qualityPermissionByte)
|
|
|
|
|
|
// 2.保存权限
|
|
|
- account := models.CmProjectAccount{}
|
|
|
- account.Id = accountId
|
|
|
- account.ProjectId = projectId
|
|
|
- account.ContractPermission = contractPermissionStr
|
|
|
- account.SafePermission = safePermissionStr
|
|
|
- account.QualityPermission = qualityPermissionStr
|
|
|
-
|
|
|
- err = s.dao.Update(&account, []string{"ContractPermission", "SafePermission", "QualityPermission"})
|
|
|
+ permissionAccount := models.CmPermissionAccount{}
|
|
|
+ permissionAccount.ProjectId = projectId
|
|
|
+ permissionAccount.BidsectionId = bidsectionId
|
|
|
+ permissionAccount.AccountId = accountId
|
|
|
+ permissionAccount.ContractPermission = contractPermissionStr
|
|
|
+ permissionAccount.SafePermission = safePermissionStr
|
|
|
+ permissionAccount.QualityPermission = qualityPermissionStr
|
|
|
+
|
|
|
+ err = s.permissionAccountDao.Update(&permissionAccount, []string{"ContractPermission", "SafePermission", "QualityPermission"})
|
|
|
return err
|
|
|
}
|