当前位置: 首页 > news >正文

尚品汇-(十三)

(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();
}

点击上架:

点击全部上架,查看数据库 

 

http://www.lryc.cn/news/393686.html

相关文章:

  • python小练习04
  • 小试牛刀-Solana合约账户详解
  • Spring Boot+Vue项目从零入手
  • Vue+Xterm.js+WebSocket+JSch实现Web Shell终端
  • 用 adb 来模拟手机插上电源和拔掉电源的情形
  • 【SPIE独立出版】第四届智能交通系统与智慧城市国际学术会议(ITSSC 2024)
  • 【Unity数据交互】如何Unity中读取Ecxel中的数据
  • 基于深度学习LightWeight的人体姿态检测跌倒系统源码
  • SpringBoot 生产实践:没有父 starter 的打包问题
  • IDEA配Git
  • 51单片机STC89C52RC——14.1 直流电机调速
  • AI对于高考和IT行业的深远影响
  • C语言下的文件详解
  • Oracle PL / SQL块结构
  • MySQL的安装和启动
  • Prometheus概述
  • 【SQL】什么是最左前缀原则/最左匹配原则
  • java项目配置logback日志
  • Python入门 2024/7/6
  • ChatGPT4深度解析:探索智能对话新境界
  • 触底加载的两种思路(以vue3前端和nodejs后端为例)
  • tobias实现支付宝支付
  • 【音视频 | RTSP】RTSP协议详解 及 抓包例子解析(详细而不赘述)
  • SQL Server 2022 中的 Tempdb 性能改进非常显著
  • C++ Lambda表达式第二篇, Lambda表达式
  • Linux系统的介绍和常用命令
  • IDEA安装IDE Eval Reset插件,30天自动续期,无限激活
  • 【C++】初步认识C++
  • 【Python数据分析与可视化】:使用【Matplotlib】实现销售数据的全面分析 ——【Matplotlib】数模学习
  • Docker加速器配置指南:提升镜像下载速度的秘诀 加速安装Mysql Redis ES