Skip to content

Commit 4df8f9b

Browse files
authored
feat: add missing @transaction to service (#255)
1 parent e5dc581 commit 4df8f9b

File tree

10 files changed

+32
-1
lines changed

10 files changed

+32
-1
lines changed

core/src/main/java/com/databasir/core/domain/database/service/DatabaseTypeService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ public Integer create(DatabaseTypeCreateRequest request) {
7171
}
7272
}
7373

74-
@Transactional
7574
public void update(DatabaseTypeUpdateRequest request) {
7675
databaseTypeUpdateValidator.validRequestRequiredParams(request);
7776
databaseTypeDao.selectOptionalById(request.getId()).ifPresent(data -> {
@@ -111,6 +110,7 @@ private DriverResult loadAndValidate(String remoteUrl, String localPath, String
111110
return result;
112111
}
113112

113+
@Transactional
114114
public void deleteById(Integer id) {
115115
databaseTypeDao.selectOptionalById(id).ifPresent(data -> {
116116
if (DatabaseTypes.has(data.getDatabaseType())) {

core/src/main/java/com/databasir/core/domain/discussion/service/DocumentDiscussionService.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import org.springframework.data.domain.Page;
1818
import org.springframework.data.domain.Pageable;
1919
import org.springframework.stereotype.Service;
20+
import org.springframework.transaction.annotation.Transactional;
2021

2122
import java.util.Map;
2223
import java.util.Set;
@@ -39,6 +40,7 @@ public class DocumentDiscussionService {
3940

4041
private final EventPublisher eventPublisher;
4142

43+
@Transactional
4244
public void deleteById(Integer groupId,
4345
Integer projectId,
4446
Integer discussionId) {
@@ -73,6 +75,7 @@ public Page<DiscussionResponse> list(Integer groupId,
7375
}
7476
}
7577

78+
@Transactional
7679
public void create(Integer groupId, Integer projectId, Integer userId, DiscussionCreateRequest request) {
7780
if (projectDao.exists(groupId, projectId)) {
7881
DocumentDiscussion pojo = new DocumentDiscussion();

core/src/main/java/com/databasir/core/domain/document/service/DocumentTemplateService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import lombok.RequiredArgsConstructor;
1010
import lombok.extern.slf4j.Slf4j;
1111
import org.springframework.stereotype.Service;
12+
import org.springframework.transaction.annotation.Transactional;
1213

1314
import java.util.List;
1415
import java.util.stream.Collectors;
@@ -40,6 +41,7 @@ public DocumentTemplatePropertiesResponse getAllProperties() {
4041
.build();
4142
}
4243

44+
@Transactional
4345
public void updateByType(DocumentTemplatePropertiesUpdateRequest request) {
4446
List<DocumentTemplateProperty> pojoList = documentTemplatePropertiesUpdateRequestConverter.toPojo(request);
4547
documentTemplatePropertyDao.batchInsertOnDuplicateKeyUpdateValue(pojoList);

core/src/main/java/com/databasir/core/domain/group/service/GroupService.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ public void update(GroupUpdateRequest request) {
8484
eventPublisher.publish(new GroupUpdated(request.getId(), request.getName(), request.getDescription()));
8585
}
8686

87+
@Transactional
8788
public void delete(Integer groupId) {
8889
groupDao.deleteById(groupId);
8990
userRoleDao.deleteByGroupId(groupId);
@@ -130,10 +131,12 @@ public GroupResponse get(Integer groupId) {
130131
return groupResponseConverter.toResponse(group, users);
131132
}
132133

134+
@Transactional
133135
public void removeMember(Integer groupId, Integer userId) {
134136
userRoleDao.deleteByUserIdAndGroupId(userId, groupId);
135137
}
136138

139+
@Transactional
137140
public void addMember(Integer groupId, GroupMemberCreateRequest request) {
138141
if (userRoleDao.hasRole(request.getUserId(), groupId)) {
139142
throw DomainErrors.USER_ROLE_DUPLICATE.exception();
@@ -145,6 +148,7 @@ public void addMember(Integer groupId, GroupMemberCreateRequest request) {
145148
userRoleDao.insertAndReturnId(pojo);
146149
}
147150

151+
@Transactional
148152
public void changeMemberRole(Integer groupId, Integer userId, String role) {
149153
if (!userRoleDao.hasRole(userId, groupId, role)) {
150154
// TODO 最多 20 个组长

core/src/main/java/com/databasir/core/domain/login/service/LoginService.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import lombok.RequiredArgsConstructor;
1616
import lombok.extern.slf4j.Slf4j;
1717
import org.springframework.stereotype.Service;
18+
import org.springframework.transaction.annotation.Transactional;
1819

1920
import java.time.Instant;
2021
import java.time.LocalDateTime;
@@ -38,6 +39,8 @@ public class LoginService {
3839

3940
private final JwtTokens jwtTokens;
4041

42+
@Transactional
43+
4144
public AccessTokenRefreshResponse refreshAccessTokens(AccessTokenRefreshRequest request) {
4245
Login login = loginDao.selectByRefreshToken(request.getRefreshToken())
4346
.orElseThrow(DomainErrors.INVALID_REFRESH_TOKEN_OPERATION::exception);
@@ -71,6 +74,8 @@ public AccessTokenRefreshResponse refreshAccessTokens(AccessTokenRefreshRequest
7174
return new AccessTokenRefreshResponse(accessToken, accessTokenExpireAtMilli);
7275
}
7376

77+
@Transactional
78+
7479
public LoginKeyResponse generate(Integer userId) {
7580
User user = userDao.selectById(userId);
7681
String accessToken = jwtTokens.accessToken(user.getEmail());

core/src/main/java/com/databasir/core/domain/mock/MockDataService.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.databasir.dao.tables.pojos.TableDocument;
1919
import lombok.RequiredArgsConstructor;
2020
import org.springframework.stereotype.Service;
21+
import org.springframework.transaction.annotation.Transactional;
2122

2223
import java.util.List;
2324
import java.util.function.Function;
@@ -41,6 +42,8 @@ public class MockDataService {
4142

4243
private final MockDataValidator mockDataValidator;
4344

45+
@Transactional
46+
4447
public String generateMockInsertSql(Integer projectId, MockDataGenerateCondition condition) {
4548
mockDataValidator.validProject(projectId);
4649
DatabaseDocument databaseDoc =
@@ -50,6 +53,8 @@ public String generateMockInsertSql(Integer projectId, MockDataGenerateCondition
5053
return mockDataGenerator.createInsertSql(projectId, databaseDoc.getId(), tableDoc.getName());
5154
}
5255

56+
@Transactional
57+
5358
public void saveMockRules(Integer projectId,
5459
Integer tableId,
5560
List<ColumnMockRuleSaveRequest> rules) {

core/src/main/java/com/databasir/core/domain/project/service/ProjectService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,8 @@ public List<ProjectSimpleTaskResponse> listManualTasks(Integer projectId, Projec
236236
return projectSimpleTaskResponseConverter.of(tasks);
237237
}
238238

239+
@Transactional
240+
239241
public void cancelTask(Integer projectId, Integer taskId) {
240242
if (!projectDao.existsById(projectId)) {
241243
throw DomainErrors.PROJECT_NOT_FOUND.exception();

core/src/main/java/com/databasir/core/domain/system/service/SystemService.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.databasir.dao.tables.pojos.SysMail;
88
import lombok.RequiredArgsConstructor;
99
import org.springframework.stereotype.Service;
10+
import org.springframework.transaction.annotation.Transactional;
1011
import org.springframework.util.StringUtils;
1112

1213
import java.util.Optional;
@@ -40,6 +41,8 @@ public void deleteSystemEmail() {
4041
});
4142
}
4243

44+
@Transactional
45+
4346
public void updateEmailSetting(SystemEmailUpdateRequest request) {
4447
SysMail sysMail = new SysMail();
4548
sysMail.setSmtpHost(request.getSmtpHost());

core/src/main/java/com/databasir/core/domain/user/service/UserProjectService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ public void addFavorites(Integer projectId, Integer userId) {
7676
}
7777
}
7878

79+
@Transactional
80+
7981
public void removeFavorites(Integer projectId, Integer userId) {
8082
if (userFavoriteProjectDao.exists(userId, projectId)) {
8183
userFavoriteProjectDao.delete(userId, projectId);

core/src/main/java/com/databasir/core/domain/user/service/UserService.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,12 +143,15 @@ public void switchEnableStatus(Integer userId, Boolean enable) {
143143
}
144144
}
145145

146+
@Transactional
146147
public void removeSysOwnerFrom(Integer userId) {
147148
if (userRoleDao.hasRole(userId, SYS_OWNER)) {
148149
userRoleDao.deleteRole(userId, SYS_OWNER);
149150
}
150151
}
151152

153+
@Transactional
154+
152155
public void addSysOwnerTo(Integer userId) {
153156
if (!userRoleDao.hasRole(userId, SYS_OWNER)) {
154157
UserRole role = new UserRole();
@@ -158,6 +161,7 @@ public void addSysOwnerTo(Integer userId) {
158161
}
159162
}
160163

164+
@Transactional
161165
public void updatePassword(Integer userId, UserPasswordUpdateRequest request) {
162166
if (!Objects.equals(request.getNewPassword(), request.getConfirmNewPassword())) {
163167
throw DomainErrors.UPDATE_PASSWORD_CONFIRM_FAILED.exception();
@@ -171,6 +175,7 @@ public void updatePassword(Integer userId, UserPasswordUpdateRequest request) {
171175
loginDao.deleteByUserId(userId);
172176
}
173177

178+
@Transactional
174179
public void updateNickname(Integer userId, UserNicknameUpdateRequest request) {
175180
User user = userDao.selectById(userId);
176181
user.setNickname(request.getNickname());

0 commit comments

Comments
 (0)