Update HotSearchController.java

cyj
pbvfus8to 2 months ago
parent 961a3fa388
commit 30892c41db

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