Skip to content

Commit 86d1d18

Browse files
authored
fix: Fix page and block lock bug (opentiny#238)
1 parent 9163227 commit 86d1d18

File tree

5 files changed

+18
-9
lines changed

5 files changed

+18
-9
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ALTER TABLE t_block_group DROP INDEX u_idx_block_group;
2+
ALTER TABLE t_block_group ADD INDEX u_idx_block_group (`tenant_id`, `platform_id`, `name`, `app_id`);
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ALTER TABLE t_block_group DROP INDEX u_idx_block_group;
2+
ALTER TABLE t_block_group ADD INDEX u_idx_block_group (`tenant_id`, `platform_id`, `name`, `app_id`);

base/src/main/java/com/tinyengine/it/service/app/impl/CanvasServiceImpl.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
import com.tinyengine.it.common.base.Result;
1616
import com.tinyengine.it.common.context.LoginUserContext;
17+
import com.tinyengine.it.common.enums.Enums;
1718
import com.tinyengine.it.mapper.BlockMapper;
1819
import com.tinyengine.it.mapper.PageMapper;
1920
import com.tinyengine.it.mapper.UserMapper;
@@ -44,25 +45,29 @@ public class CanvasServiceImpl implements CanvasService {
4445

4546
@Override
4647
public Result<CanvasDto> lockCanvas(Integer id, String state, String type) {
47-
String occupier;
48+
String occupier = null;
4849
// needTODO 先试用mock数据,后续添加登录及权限后从session获取,
4950
User user = userMapper.queryUserById(loginUserContext.getLoginUserId());
5051
if (user == null) {
5152
user = new User();
5253
user.setId(loginUserContext.getLoginUserId());
5354
}
5455
CanvasDto canvasDto = new CanvasDto();
56+
String value = state.equals(Enums.CanvasEditorState.OCCUPY.getValue()) ? user.getId() : null;
57+
User occupierValue = state.equals(Enums.CanvasEditorState.OCCUPY.getValue()) ? user : null;
5558
if ("page".equals(type)) {
5659
Page page = pageMapper.queryPageById(id);
57-
occupier = page.getOccupier().getId();
60+
if (page.getOccupier() != null) {
61+
occupier = page.getOccupier().getId();
62+
}
5863
Boolean isCaDoIt = isCanDoIt(occupier, user);
5964
if (isCaDoIt) {
6065
Page updatePage = new Page();
6166
updatePage.setId(id);
62-
updatePage.setOccupierBy(user.getId());
67+
updatePage.setOccupierBy(value);
6368
pageMapper.updatePageById(updatePage);
6469
canvasDto.setOperate("success");
65-
canvasDto.setOccupier(user);
70+
canvasDto.setOccupier(occupierValue);
6671
return Result.success(canvasDto);
6772
}
6873
} else {
@@ -72,15 +77,15 @@ public Result<CanvasDto> lockCanvas(Integer id, String state, String type) {
7277
if (isCaDoIt) {
7378
Block updateBlock = new Block();
7479
updateBlock.setId(id);
75-
updateBlock.setOccupierBy(user.getId());
80+
updateBlock.setOccupierBy(value);
7681
blockMapper.updateBlockById(updateBlock);
7782
canvasDto.setOperate("success");
78-
canvasDto.setOccupier(user);
83+
canvasDto.setOccupier(occupierValue);
7984
return Result.success(canvasDto);
8085
}
8186
}
8287
canvasDto.setOperate("failed");
83-
canvasDto.setOccupier(user);
88+
canvasDto.setOccupier(occupierValue);
8489
return Result.success(canvasDto);
8590
}
8691

base/src/main/resources/mappers/BlockMapper.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@
142142
<if test="path!=null and path!=''">
143143
path = #{path},
144144
</if>
145-
<if test="occupierBy!=null and occupierBy!=''">
145+
<if test="occupierBy!=''">
146146
occupier_by = #{occupierBy},
147147
</if>
148148
<if test="isOfficial!=null">

base/src/main/resources/mappers/PageMapper.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@
108108
<if test="isPage!=null">
109109
is_page = #{isPage},
110110
</if>
111-
<if test="occupierBy!=null and occupierBy!=''">
111+
<if test="occupierBy!=''">
112112
occupier_by = #{occupierBy},
113113
</if>
114114
<if test="isDefault!=null">

0 commit comments

Comments
 (0)