|
@@ -38,6 +38,7 @@ type ProjectAccountService interface {
|
|
|
GetBidAccount(bidsectionId int, projectId int, projectAccountId int, name string) []viewmodels.ProjectAccount
|
|
|
Search(name string, projectId int) []viewmodels.ProjectAccount
|
|
|
AddBs(viewAccount viewmodels.ProjectAccount, projectId int) error
|
|
|
+ SaveBs(viewAccount viewmodels.ProjectAccount, id int, projectId int) error
|
|
|
Add(viewAccount viewmodels.ProjectAccount, projectId int) error
|
|
|
Save(viewAccount viewmodels.ProjectAccount, id int, projectId int) error
|
|
|
SaveAccount(viewAccount viewmodels.ProjectAccount, id int, projectId int) error
|
|
@@ -301,6 +302,14 @@ func (s *projectAccountService) AddBs(viewAccount viewmodels.ProjectAccount, pro
|
|
|
}
|
|
|
|
|
|
account := models.CmProjectAccount{}
|
|
|
+
|
|
|
+ if viewAccount.IsAdmin == 1 {
|
|
|
+ account.IsAdmin = 1
|
|
|
+ if err := s.updateAdminZero(projectId); err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
account.ProjectId = projectId
|
|
|
account.Account = viewAccount.Account
|
|
|
account.Password = comm.CreatePasswordSign(viewAccount.Password, viewAccount.Account)
|
|
@@ -310,12 +319,55 @@ func (s *projectAccountService) AddBs(viewAccount viewmodels.ProjectAccount, pro
|
|
|
account.Mobile = viewAccount.Mobile
|
|
|
account.Telephone = viewAccount.Telephone
|
|
|
account.Enable = 1
|
|
|
- // account.IsAdmin = viewAccount.IsAdmin
|
|
|
account.CreateTime = time.Now()
|
|
|
err := s.dao.Add(&account)
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
+// 保存用户信息
|
|
|
+func (s *projectAccountService) SaveBs(viewAccount viewmodels.ProjectAccount, id int, projectId int) error {
|
|
|
+
|
|
|
+ account := models.CmProjectAccount{}
|
|
|
+ updateField := []string{"name", "company", "position", "telephone", "account_group"}
|
|
|
+ // 是否重新设置管理员
|
|
|
+ if viewAccount.IsAdmin == 1 {
|
|
|
+ account.IsAdmin = viewAccount.IsAdmin
|
|
|
+ updateField = append(updateField, "is_admin")
|
|
|
+
|
|
|
+ if err := s.updateAdminZero(projectId); err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ account.Id = id
|
|
|
+ account.ProjectId = projectId
|
|
|
+ account.Name = viewAccount.Name
|
|
|
+ account.Company = viewAccount.Company
|
|
|
+ account.Position = viewAccount.Position
|
|
|
+ account.Mobile = viewAccount.Mobile
|
|
|
+ account.Telephone = viewAccount.Telephone
|
|
|
+ account.AccountGroup = viewAccount.AccountGroup
|
|
|
+
|
|
|
+ err := s.dao.Update(&account, updateField)
|
|
|
+
|
|
|
+ return err
|
|
|
+}
|
|
|
+
|
|
|
+// 设置is_admin为0
|
|
|
+func (s *projectAccountService) updateAdminZero(projectId int) error {
|
|
|
+ dataDao := s.dao.GetAdmin(projectId)
|
|
|
+ if dataDao.Id != 0 {
|
|
|
+ updateData := models.CmProjectAccount{}
|
|
|
+ updateData.Id = dataDao.Id
|
|
|
+ updateData.ProjectId = projectId
|
|
|
+ updateData.IsAdmin = 0
|
|
|
+ if err := s.dao.Update(&updateData, []string{"is_admin"}); err != nil {
|
|
|
+ return errors.New("原管理员取消失败")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
// 新增账号
|
|
|
func (s *projectAccountService) Add(viewAccount viewmodels.ProjectAccount, projectId int) error {
|
|
|
|