소스 검색

fix(主从用户): 主从用户新增逻辑改用事务

likai 4 년 전
부모
커밋
ef3e976258
2개의 변경된 파일19개의 추가작업 그리고 10개의 파일을 삭제
  1. 1 2
      service/account/account.go
  2. 18 8
      service/system/system.go

+ 1 - 2
service/account/account.go

@@ -185,8 +185,7 @@ func (s Service) AccountList(req *account.AccountReq) (infos account.BaseAccount
 	if err != nil {
 		return infos, err
 	}
-	model.Fields("a.Id, a.Account,a.AccountName,A.Surplus,a.Available,a.Limit,a.Advance,c.Id UserId,c.RealName").
-		Page(current, size).Scan(&infos.Records)
+	err = model.Fields("a.Id, a.Account,a.AccountName,A.Surplus,a.Available,a.Limit,a.Advance,c.Id UserId,c.RealName").Page(current, size).Scan(&infos.Records)
 	return infos, nil
 }
 

+ 18 - 8
service/system/system.go

@@ -63,7 +63,7 @@ func (s Service) UserList(req *user.UserInfoReq) (userInfos user.UserInfoRsp, er
 		return userInfos, err
 	}
 	userInfos.Total = count
-	model.Page(current, size).Scan(&userInfos.Records)
+	err = model.Page(current, size).Scan(&userInfos.Records)
 	return userInfos, nil
 }
 
@@ -109,16 +109,23 @@ func (s Service) GetUserList(req *user.UserInfoReq, userId int32) (userInfos use
 		return userInfos, err
 	}
 	userInfos.Total = count
-	model.Fields("a.Id, a.UserName, a.RealName, a.Mobile, a.DepartmentName, b.RealName as RoleInfo, d.AccountName, d.Id AccountId").
-		Page(current, size).Scan(&userInfos.Records)
+	err = model.Fields("a.Id, a.UserName, a.RealName, a.Mobile, a.DepartmentName, b.RealName as RoleInfo, d.AccountName, d.Id AccountId").Page(current, size).Scan(&userInfos.Records)
 	return userInfos, nil
 }
 
 // AddMainUserOrSubUser 添加主从用户
 func (s Service) AddMainUserOrUser(req *user.AddMainOrSubReq, userInfo request.UserInfo) error {
+	tx, err := s.Dao.DB.Begin()
+	if err != nil {
+		return err
+	}
 	for _, v := range req.Ids {
 		if req.ReqType == 1 { // 新增主用户
-			s.Dao.DB.Model("master_user").Insert(g.Map{"UserId": v})
+			_, err = tx.Insert("master_user", g.Map{"UserId": v})
+			if err != nil {
+				tx.Rollback()
+				return err
+			}
 		} else if req.ReqType == 2 { // 添加主从用户关系
 			// 添加主从用户关系表
 			saveEntity := user.BaseUserRelation{
@@ -128,10 +135,14 @@ func (s Service) AddMainUserOrUser(req *user.AddMainOrSubReq, userInfo request.U
 				CreatedBy: int(userInfo.Id),
 				CreatedAt: gtime.Now(),
 			}
-			s.Dao.DB.Model("base_user_relation").Insert(saveEntity)
+			_, err = tx.Insert("base_user_relation", saveEntity)
+			if err != nil {
+				tx.Rollback()
+				return err
+			}
 		}
 	}
-	return nil
+	return tx.Commit()
 }
 
 // DeleteMainUserOrSubUser 删除主从用户
@@ -174,8 +185,7 @@ func (s Service) UserBindAccount(req *user.UserBindAccountReq) error {
 	if err != nil {
 		return err
 	}
-	_, err = s.Dao.DB.Model("user_account_bind").
-		Insert(g.Map{"UserId": req.UserId, "AccountId": req.Id, "CreateOn": gtime.Now()})
+	_, err = s.Dao.DB.Model("user_account_bind").Insert(g.Map{"UserId": req.UserId, "AccountId": req.Id, "CreateOn": gtime.Now()})
 	if err != nil {
 		return err
 	}