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