Update HotSearchController.java

cyj
pbvfus8to 2 months ago
parent 961a3fa388
commit 30892c41db

@ -27,76 +27,95 @@ import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* *
* @author lgh on 2019/03/27. * @author lgh on 2019/03/27.
*/ */
@RestController @RestController
@RequestMapping("/admin/hotSearch") @RequestMapping("/admin/hotSearch")
public class HotSearchController { public class HotSearchController {
// 自动注入热门搜索服务层接口,通过该接口调用具体的业务逻辑方法
@Autowired @Autowired
private HotSearchService hotSearchService; private HotSearchService hotSearchService;
/** /**
* *
*/ *
* 'admin:hotSearch:page' 访
*/
@GetMapping("/page") @GetMapping("/page")
@PreAuthorize("@pms.hasPermission('admin:hotSearch:page')") @PreAuthorize("@pms.hasPermission('admin:hotSearch:page')")
public ServerResponseEntity<IPage<HotSearch>> page(HotSearch hotSearch,PageParam<HotSearch> page){ public ServerResponseEntity<IPage<HotSearch>> page(HotSearch hotSearch, PageParam<HotSearch> page) {
IPage<HotSearch> hotSearchs = hotSearchService.page(page,new LambdaQueryWrapper<HotSearch>() // 创建一个 LambdaQueryWrapper 用于构建查询条件,结合 MyBatis Plus 进行数据库查询
.eq(HotSearch::getShopId, SecurityUtils.getSysUser().getShopId()) IPage<HotSearch> hotSearchs = hotSearchService.page(page, new LambdaQueryWrapper<HotSearch>()
.like(StrUtil.isNotBlank(hotSearch.getContent()), HotSearch::getContent,hotSearch.getContent()) // 根据当前登录用户所属店铺的 ID 进行筛选,确保只获取该店铺相关的热门搜索记录
.like(StrUtil.isNotBlank(hotSearch.getTitle()), HotSearch::getTitle,hotSearch.getTitle()) .eq(HotSearch::getShopId, SecurityUtils.getSysUser().getShopId())
.eq(hotSearch.getStatus()!=null, HotSearch::getStatus,hotSearch.getStatus()) // 如果传入的热门搜索内容不为空,则模糊匹配内容字段进行查询
.orderByAsc(HotSearch::getSeq) .like(StrUtil.isNotBlank(hotSearch.getContent()), HotSearch::getContent, hotSearch.getContent())
); // 如果传入的热门搜索标题不为空,则模糊匹配标题字段进行查询
return ServerResponseEntity.success(hotSearchs); .like(StrUtil.isNotBlank(hotSearch.getTitle()), HotSearch::getTitle, hotSearch.getTitle())
} // 如果传入的状态不为空,则精确匹配状态字段进行查询
.eq(hotSearch.getStatus()!= null, HotSearch::getStatus, hotSearch.getStatus())
// 按照序号字段升序排序结果,方便呈现顺序相关的展示需求
.orderByAsc(HotSearch::getSeq)
);
return ServerResponseEntity.success(hotSearchs);
}
/** /**
* * ID
*/ * ID
@GetMapping("/info/{id}") */
public ServerResponseEntity<HotSearch> info(@PathVariable("id") Long id){ @GetMapping("/info/{id}")
HotSearch hotSearch = hotSearchService.getById(id); public ServerResponseEntity<HotSearch> info(@PathVariable("id") Long id) {
return ServerResponseEntity.success(hotSearch); // 通过服务层的 getById 方法,根据传入的 ID 获取对应的热门搜索记录
} HotSearch hotSearch = hotSearchService.getById(id);
return ServerResponseEntity.success(hotSearch);
}
/** /**
* *
*/ * HotSearch ID
@PostMapping * 'admin:hotSearch:save'
@PreAuthorize("@pms.hasPermission('admin:hotSearch:save')") */
public ServerResponseEntity<Void> save(@RequestBody @Valid HotSearch hotSearch){ @PostMapping
hotSearch.setRecDate(new Date()); @PreAuthorize("@pms.hasPermission('admin:hotSearch:save')")
hotSearch.setShopId(SecurityUtils.getSysUser().getShopId()); public ServerResponseEntity<Void> save(@RequestBody @Valid HotSearch hotSearch) {
hotSearchService.save(hotSearch); // 设置记录的创建日期为当前日期
//清除缓存 hotSearch.setRecDate(new Date());
hotSearchService.removeHotSearchDtoCacheByShopId(SecurityUtils.getSysUser().getShopId()); // 设置记录所属的店铺 ID从当前登录用户的信息中获取
return ServerResponseEntity.success(); hotSearch.setShopId(SecurityUtils.getSysUser().getShopId());
} hotSearchService.save(hotSearch);
// 清除对应店铺的热门搜索缓存,保证数据的一致性
hotSearchService.removeHotSearchDtoCacheByShopId(SecurityUtils.getSysUser().getShopId());
return ServerResponseEntity.success();
}
/** /**
* *
*/ * HotSearch
@PutMapping * 'admin:hotSearch:update'
@PreAuthorize("@pms.hasPermission('admin:hotSearch:update')") */
public ServerResponseEntity<Void> update(@RequestBody @Valid HotSearch hotSearch){ @PutMapping
hotSearchService.updateById(hotSearch); @PreAuthorize("@pms.hasPermission('admin:hotSearch:update')")
//清除缓存 public ServerResponseEntity<Void> update(@RequestBody @Valid HotSearch hotSearch) {
hotSearchService.removeHotSearchDtoCacheByShopId(SecurityUtils.getSysUser().getShopId()); hotSearchService.updateById(hotSearch);
return ServerResponseEntity.success(); // 清除对应店铺的热门搜索缓存,确保缓存数据与数据库最新数据一致
} hotSearchService.removeHotSearchDtoCacheByShopId(SecurityUtils.getSysUser().getShopId());
return ServerResponseEntity.success();
}
/** /**
* * ID
*/ * ID
@DeleteMapping * 'admin:hotSearch:delete'
@PreAuthorize("@pms.hasPermission('admin:hotSearch:delete')") */
public ServerResponseEntity<Void> delete(@RequestBody List<Long> ids){ @DeleteMapping
hotSearchService.removeByIds(ids); @PreAuthorize("@pms.hasPermission('admin:hotSearch:delete')")
//清除缓存 public ServerResponseEntity<Void> delete(@RequestBody List<Long> ids) {
hotSearchService.removeHotSearchDtoCacheByShopId(SecurityUtils.getSysUser().getShopId()); hotSearchService.removeByIds(ids);
return ServerResponseEntity.success(); // 清除对应店铺的热门搜索缓存,保证数据的准确性
} hotSearchService.removeHotSearchDtoCacheByShopId(SecurityUtils.getSysUser().getShopId());
return ServerResponseEntity.success();
}
} }
Loading…
Cancel
Save