(1)查询sku列表
在ManageService 中添加
/**
* SKU分页列表
* @param pageParam
* @return
*/
IPage<SkuInfo> getPage(Page<SkuInfo> pageParam);
接口实现类
@Override
public IPage<SkuInfo> getPage(Page<SkuInfo> pageParam) {
QueryWrapper<SkuInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByDesc("id");
IPage<SkuInfo> page = skuInfoMapper.getPage(pageParam, queryWrapper);
return page;
}
BaseManageController 控制器
/**
* SKU分页列表
* @param page
* @param limit
* @return
*/
@GetMapping("/list/{page}/{limit}")
public Result index(
@PathVariable Long page,
@PathVariable Long limit) {
Page<SkuInfo> pageParam = new Page<>(page, limit);
IPage<SkuInfo> pageModel = manageService.getPage(pageParam);
return Result.ok(pageModel);
}
(2)上下架处理
这里图片没有显,是原来的脏数据
我们再添加几个小米的sku
sku这里就多了四个
添加荣耀sku
可以去数据库表里删除原来的历史数据:
用户页面搜索的的数据很多,这里我们用到了es搜索,当后台进项商品的上下架后,会通知ES进行更改数据,两个模块可以通过远程调用操作,但是会存在失败问题,ES操作失败了,就会存在耦合,这里我们为了解耦,用到了MQ消息对列,ES监听消息对列,进行上下架的处理,来解耦
这里我们先处理商品上下架,,功能后续完善
操作sku_info这张表
在ManageService 中添加
/**
* 商品上架
* @param skuId
*/
void onSale(Long skuId);
/**
* 商品下架
* @param skuId
*/
void cancelSale(Long skuId);
接口实现类
@Override
@Transactional
public void onSale(Long skuId) {
// 更改销售状态
SkuInfo skuInfoUp = new SkuInfo();
//条件
skuInfoUp.setId(skuId);
//修改内容
skuInfoUp.setIsSale(1);
skuInfoMapper.updateById(skuInfoUp);
}
@Override
@Transactional
public void cancelSale(Long skuId) {
// 更改销售状态
SkuInfo skuInfoUp = new SkuInfo();
//条件
skuInfoUp.setId(skuId);
//修改内容
skuInfoUp.setIsSale(0);
skuInfoMapper.updateById(skuInfoUp);
}
继续在SkuManageController 控制器添加代码:
/**
* 商品上架
* @param skuId
* @return
*/
@GetMapping("onSale/{skuId}")
public Result onSale(@PathVariable("skuId") Long skuId) {
manageService.onSale(skuId);
return Result.ok();
}
/**
* 商品下架
* @param skuId
* @return
*/
@GetMapping("cancelSale/{skuId}")
public Result cancelSale(@PathVariable("skuId") Long skuId) {
manageService.cancelSale(skuId);
return Result.ok();
}
点击上架:
点击全部上架,查看数据库