fix(cms): 修复根据ID查询网站设置时未存在记录问题
- 查询网站设置记录时,若不存在则自动创建一条空记录 - 新建记录时显式设置 deleted 字段为 0,确保逻辑删除功能正常 - 便于前端传入 ID 后直接调用更新接口保存数据 - 保持查询接口返回一致的结构和数据格式
This commit is contained in:
@@ -47,13 +47,15 @@ public class CmsWebsiteSettingController extends BaseController {
|
||||
@Operation(summary = "根据id查询网站设置")
|
||||
@GetMapping("/{id}")
|
||||
public ApiResult<CmsWebsiteSetting> get(@PathVariable("id") Integer id) {
|
||||
// 使用关联查询
|
||||
final CmsWebsiteSetting cmsWebsiteSetting = cmsWebsiteSettingService.getOne(new LambdaQueryWrapper<CmsWebsiteSetting>().eq(CmsWebsiteSetting::getWebsiteId, id));
|
||||
if(ObjectUtil.isEmpty(cmsWebsiteSetting)){
|
||||
// 记录不存在时自动建一条空记录,便于前端回填 id 后走 updateById 保存。
|
||||
// 必须显式 setDeleted(0),否则 @TableLogic 查询默认补 deleted=0 会查不到刚插入的 null 记录。
|
||||
final CmsWebsiteSetting setting = new CmsWebsiteSetting();
|
||||
setting.setWebsiteId(id);
|
||||
setting.setDeleted(0);
|
||||
cmsWebsiteSettingService.save(setting);
|
||||
return success(cmsWebsiteSettingService.getOne(new LambdaQueryWrapper<CmsWebsiteSetting>().eq(CmsWebsiteSetting::getWebsiteId, id)));
|
||||
return success(setting);
|
||||
}
|
||||
return success(cmsWebsiteSetting);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user