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

cloud_mall-notes02

1、多条件分页查询page

    @ApiOperation("多条件分页查询xxxx")@GetMapping("page")@PreAuthorize("hasAuthority('模块权限:权限:page')")public ResponseEntity<Page<实体类>> load'xxxx'Page(Page<实体类> page,实体类 domain) {page = 'xxxx'Service.page(page,new LambdaQueryWrapper<实体类>().like(条件).eq(条件).orderByDesc(条件));return ResponseEntity.ok(page);}

=================================================================================================

项目实例:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2、新增save

controller

    @ApiOperation("新增xxxx")@PostMapping@PreAuthorize("hasAuthority('模块权限:权限:save')")@Log(operation = "新增xxxx")public ResponseEntity<Void> save'xxxx'(@RequestBody 实体类 domain) {// 获取当前用户//String userId = AuthUtil.getLoginUserId();//domain.setUserId(Long.valueof(userId));// 执行业务'xxxx'Service.save(domain);// 响应return ResponseEntity.ok().build();}

serviceimpl

	@Override@Transactional(rollbackFor = RuntimeException.class)@CacheEvict(key = xxxConstant.xxx)public boolean save(实体类 domain) {// 1、补充一些信息//1) 时间domain.setCreateTime(new Date());domain.setUpdateTime(new Date());//2) 密码加密(新增用户需要)sysUser.setPassword(passwordEncoder.encode(sysUser.getPassword()));//3) 状态、版本号domain.setStatus(1);domain.setVersion(1);//4) 分类层级domain.setGrade(1);//5) 初始数量为0domain.setXxxCount(0L);// 2、校验和处理// 比如添加用户收货地址时,会判断有没有默认收获地址,没有则默认将该新增地址设置为默认收货地址// 3、将上面补充的信息,利用mybatis新增对象int i = 'xxxx'Mapper.insert(domain);// 4、如果新增这个对象,在表中的属性有多表操作/if (i > 0) {// 比如新增一个用户,这个用户表和角色表还有一个用户角色表(3张表)// 除了操作sys_user表外,还要操作sys_user_role表...}}return i > 0;}

=================================================================================================
项目实例

新增管理员:
在这里插入图片描述
在这里插入图片描述

新增角色:
在这里插入图片描述
在这里插入图片描述

新增商品类目:
在这里插入图片描述
在这里插入图片描述

新增商品分组标签:
在这里插入图片描述
在这里插入图片描述

 新增商品规格:
在这里插入图片描述
在这里插入图片描述

 新增商品:
在这里插入图片描述

    @Override@Transactional(rollbackFor = RuntimeException.class)public boolean save(Prod prod) {//新增商品对象prod.setShopId(1L);prod.setSoldNum(0);prod.setVersion(0);prod.setCreateTime(new Date());prod.setUpdateTime(new Date());Integer status = prod.getStatus();if (1 == status) {prod.setPutawayTime(new Date());}Prod.DeliveryModeVo deliveryModeVo = prod.getDeliveryModeVo();prod.setDeliveryMode(JSON.toJSONString(deliveryModeVo));int i = prodMapper.insert(prod);if (i > 0) {Long prodId = prod.getProdId();//获取商品sku对象集合List<Sku> skuList = prod.getSkuList();//判断商品sku对象集合是否有值if (!CollectionUtils.isEmpty(skuList) && skuList.size() != 0) {//循环遍历商品sku对象集合skuList.forEach(sku -> {sku.setProdId(prodId);sku.setActualStocks(sku.getStocks());sku.setStocks(0);sku.setVersion(0);sku.setRecTime(new Date());sku.setUpdateTime(new Date());sku.setIsDelete(0);});//批量添加商品sku对象集合skuService.saveBatch(skuList);}//获取商品与分组标签的关系集合List<Long> tagIdList = prod.getTagList();//判断是否有值if (!CollectionUtils.isEmpty(tagIdList) && tagIdList.size() != 0) {//循环遍历List<ProdTagReference> prodTagReferenceList = new ArrayList<>();tagIdList.forEach(tagId -> {ProdTagReference prodTagReference = new ProdTagReference();prodTagReference.setProdId(prodId);prodTagReference.setTagId(tagId);prodTagReference.setShopId(1L);prodTagReference.setStatus(1);prodTagReference.setCreateTime(new Date());prodTagReferenceList.add(prodTagReference);});//批量添加商品与分组标签的关系prodTagReferenceService.saveBatch(prodTagReferenceList);}}return i>0;}

 新增公告:
在这里插入图片描述
在这里插入图片描述

 新增自提点:
在这里插入图片描述
在这里插入图片描述

 新增轮播图:
在这里插入图片描述
在这里插入图片描述

 新增用户收货地址:
在这里插入图片描述
在这里插入图片描述

3、 查询详情info/{…}

查询管理员详情:
在这里插入图片描述
在这里插入图片描述

 查询角色详情:
在这里插入图片描述
在这里插入图片描述

 根据标识查询商品类目详情
在这里插入图片描述

 根据标识查询商品分组标签详情
在这里插入图片描述

 根据标识查询评论详情
在这里插入图片描述

 查询商品详情
在这里插入图片描述
在这里插入图片描述

 查看公告详情
在这里插入图片描述

 查询自提点详情
在这里插入图片描述

 查询收货地址详情
在这里插入图片描述

相关文章:

cloud_mall-notes02

1、多条件分页查询page ApiOperation("多条件分页查询xxxx")GetMapping("page")PreAuthorize("hasAuthority(模块权限:权限:page)")public ResponseEntity<Page<实体类>> loadxxxxPage(Page<实体类> page,实体类 domain) {pag…...

前端轻松实现文件预览(pdf、excel、word、图片)

需求&#xff1a;实现一个在线预览pdf、excel、word、图片等文件的功能。 介绍&#xff1a;支持pdf、xlsx、docx、jpg、png、jpeg。 以下使用Vue3代码实现所有功能&#xff0c;建议以下的预览文件标签可以在外层包裹一层弹窗。 图片预览 iframe标签能够将另一个HTML页面嵌入到…...

docker服务器、以及容器设置自动启动

一、docker服务设置自动启动 查看已启动的服务 systemctl list-units --typeservice 查看是否设置开机启动 systemctl list-unit-files | grep enable设置开机启动 systemctl enable docker.service关闭开机启动 systemctl disable docker.service 二、docker容器设置自…...

k8s集群证书过期后,如何更新k8s证书

对于版本 1.21.5&#xff0c;这是我的解决方案&#xff1a; 步骤1&#xff1a; ssh 到主节点&#xff0c;然后在步骤 2 中检查证书。 步骤2&#xff1a; 运行这个命令&#xff1a;kubeadm certs check-expiration rootkube-master-1:~# kubeadm certs check-expiration [c…...

5.6.webrtc三大线程

那今天呢&#xff1f;我们来介绍一下web rtc的三大线程&#xff0c;那为什么要介绍这三大线程呢&#xff1f;最关键的原因在于web rtc的所有其他线程都是由这三大线程所创建的。那当我们将这三个线程理解清楚之后呢&#xff1f;我们就知道其他线程与它们之间是怎样关系&#xf…...

@Slf4j报错:Not generating field log: A field with same name already exists

错误出处&#xff1a; 错误原因&#xff1a; 同时使用了Slf4j注解以及LittlecLogger private static final LittlecLogger log LittlecLoggerFactory.getLogger(TimeTrackController.class); 修复方法&#xff1a; 将log改为LOG&#xff0c;便于区分&#xff0c;代码即用到了…...

乖宝宠物上市,能否打破外资承包中国宠物口粮的现实

近日&#xff0c;乖宝宠物上市了&#xff0c;这是中国宠物行业成功挂牌的第三家公司。同时&#xff0c;昨日&#xff0c;宠物行业最大的盛事“亚洲宠物展”时隔3年&#xff0c;于昨日在上海成功回归。 这两件事情的叠加可谓是双喜临门&#xff0c;行业能够走到今天实属不易&…...

Ubuntu安装Apache+Php

环境&#xff1a;ubuntu 22.04 虚拟机 首先更新一下 sudo apt-get update sudo apt-get upgrade安装Apache2&#xff1a; sudo apt-get install apache2 输入y&#xff0c;继续。等着他恐龙抗浪抗浪的下载安装就好了 打开浏览器访问http://localhost/ 安装php&#xff1a; …...

open cv学习 (四)图像的几何变换

图像的几何变换 demo1 # dsize实现缩放 import cv2 img cv2.imread("./cat.jpg") dst1 cv2.resize(img, (100, 100)) dst2 cv2.resize(img, (400, 400)) # cv2.imshow("img", img) # cv2.imshow("dst1", dst1) # cv2.imshow("dst2&quo…...

matlab 检测点云中指定尺寸的矩形平面

目录 一、概述1、算法概述2、主要函数二、代码示例三、结果展示四、参数解析输入参数名称-值对应参数输出参数五、参考链接一、概述 1、算法概述 detectRectangularPlanePoints:检测点云中指定尺寸的矩形平面 <...

HCIP——STP配置案例

STP配置案例 一、简介二、实现说明1、华为实现说明2、其他厂商实现 三、STP原理1、协商原则2、角色和状态3、报文格式4、BPDU报文处理流程4.1 BPDU报文的分类4.2 BPDU报文的处理流程4.3 BPDU报文格式 四、使用注意事项五、配置举例1、组网需求2、配置思路3、操作步骤4、配置文件…...

JCTools Mpsc源码详解(二) MpscArrayQueue

MpscArrayQueue是一个固定大小的环形数组队列,继承自ConcurrentCircularArrayQueue MpscArrayQueue的特点: 环形队列底层数据结构为数组有界 看一下MpscArrayQueue的属性(填充类除外)--- //生产者索引 private volatile long producerIndex; //生产者边界 private volatile…...

前端面试的性能优化部分(13)每天10个小知识点

目录 系列文章目录前端面试的性能优化部分&#xff08;1&#xff09;每天10个小知识点前端面试的性能优化部分&#xff08;2&#xff09;每天10个小知识点前端面试的性能优化部分&#xff08;3&#xff09;每天10个小知识点前端面试的性能优化部分&#xff08;4&#xff09;每天…...

C++ STL无序关联式容器(详解)

STL无序关联式容器 继 map、multimap、set、multiset 关联式容器之后&#xff0c;从本节开始&#xff0c;再讲解一类“特殊”的关联式容器&#xff0c;它们常被称为“无序容器”、“哈希容器”或者“无序关联容器”。 注意&#xff0c;无序容器是 C 11 标准才正式引入到 STL 标…...

Python爬虫解析工具之xpath使用详解

文章目录 一、数据解析方式二、xpath介绍三、环境安装1. 插件安装2. 依赖库安装 四、xpath语法五、xpath语法在Python代码中的使用 一、数据解析方式 爬虫抓取到整个页面数据之后&#xff0c;我们需要从中提取出有价值的数据&#xff0c;无用的过滤掉。这个过程称为数据解析&a…...

Linux防火墙报错:Failed to start firewalld.service Unit is masked

Linux防火墙报错&#xff1a;Failed to start firewalld.service: Unit is masked. 1、故障现象&#xff1a; 启动防火墙失败&#xff0c;报错情况如下&#xff1a; systemctl start firewalld # 报错&#xff1a; Failed to start firewalld.service: Unit is masked.原因是…...

前端面试:【Vuex】Vue.js的状态管理利器

嗨&#xff0c;亲爱的Vuex探险家&#xff01;在Vue.js开发的旅程中&#xff0c;有一个强大的状态管理库&#xff0c;那就是Vuex。Vuex是Vue.js的官方状态管理工具&#xff0c;通过State、Mutation、Action和Module等核心概念&#xff0c;协助你轻松管理应用的状态。 1. 什么是V…...

Kotlin协程runBlocking并发launch,Semaphore同步1个launch任务运行

Kotlin协程runBlocking并发launch&#xff0c;Semaphore同步1个launch任务运行 <dependency><groupId>org.jetbrains.kotlinx</groupId><artifactId>kotlinx-coroutines-core</artifactId><version>1.7.3</version><type>pom&…...

c++ Union之妙用

union的作用基本是它里面的变量都用了同一块内存&#xff0c;跟起了别名一样&#xff0c;类型不一样的别名。 基本用法&#xff1a; struct Union{union {float a;int b;};};Union u;u.a 2.0f;std::cout << u.a << "," << u.b << std::endl…...

JSON的处理

1、JSON JSON(JavaScript Object Notation)&#xff1a;是一种轻量级的数据交换格式。 它是基于 ECMAScript 规范的一个子集&#xff0c;采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写&#…...

3步实现文献影响力自动化追踪:Zotero学术插件使用指南

3步实现文献影响力自动化追踪&#xff1a;Zotero学术插件使用指南 【免费下载链接】zotero-google-scholar-citation-count Zotero plugin for fetching number of citations from Google Scholar. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-google-scholar-citat…...

电脑 TPM 怎么查看、开启与关闭?一文讲清安全与系统必备设置

现在安装 Windows 11、使用设备加密、安全启动、BitLocker 等功能&#xff0c;都离不开 TPM 安全芯片&#xff0c;很多人在升级系统、加固电脑安全时&#xff0c;才第一次接触到 TPM&#xff0c;却不知道自己的电脑是否支持、在哪里查看、如何开关&#xff0c;甚至因为不懂操作…...

从单点到高可用:在Ubuntu 22.04上一步步将HBase 2.x升级为HA架构(含故障切换测试)

从单点到高可用&#xff1a;在Ubuntu 22.04上实现HBase 2.x高可用架构实战指南 当你的数据服务从测试环境走向生产环境&#xff0c;单点故障就成了悬在头顶的达摩克利斯之剑。想象一下凌晨三点被报警电话惊醒&#xff0c;只是因为唯一的HMaster节点宕机导致整个数据服务不可用—…...

DA-TransUNet进阶:双注意力机制如何重塑医学图像分割的精度与效率

1. DA-TransUNet为何能成为医学图像分割的新标杆 第一次看到CT扫描影像时&#xff0c;我被那些模糊的病灶边界难住了——就像在雾天里找路标&#xff0c;明明知道目标就在那里&#xff0c;却总是划不准轮廓。这正是传统U-Net和Transformer在医学图像分割中的共同困境&#xff1…...

2026年嘎嘎降AI用了30天,说几句真心话

论文写完用AI检测一查&#xff0c;知网AIGC率60%多&#xff0c;心里一凉。 这种情况现在太常见了。2026年各大高校对AIGC检测的要求比以前严了不少&#xff0c;很多人都在找降AI工具。这篇文章就是把我用过的几款主流工具汇总一下&#xff0c;帮你少走弯路。 测试前说一件重要…...

ViGEmBus虚拟控制器驱动完全指南:从技术原理到场景落地的突破方案

ViGEmBus虚拟控制器驱动完全指南&#xff1a;从技术原理到场景落地的突破方案 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 价值定位&#xff1a;重新定义…...

实时文本转换:XUnity.AutoTranslator的Unity本地化解决方案

实时文本转换&#xff1a;XUnity.AutoTranslator的Unity本地化解决方案 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 在全球化游戏市场中&#xff0c;语言障碍常常成为玩家体验优质内容的最大阻碍。许多…...

SDMatte透明PNG元数据规范:EXIF/IPTC嵌入、版权信息自动写入功能

SDMatte透明PNG元数据规范&#xff1a;EXIF/IPTC嵌入、版权信息自动写入功能 1. 产品概述 SDMatte 是一款面向高质量图像抠图场景的 AI 模型&#xff0c;特别适合处理主体分离、透明物体提取、边缘精修、商品图去背景等任务。该模型对玻璃、薄纱、羽毛、叶片等边缘细节复杂或…...

别再手写Verilog了!用Intel Platform Designer(Qsys)在DE2-115上5分钟搭个LED控制器

图形化革命&#xff1a;5分钟用Platform Designer构建FPGA系统的实战指南 从代码到模块化思维的转变 在传统FPGA开发中&#xff0c;工程师往往需要从零开始编写Verilog代码&#xff0c;即使是简单的LED控制逻辑也不例外。这种开发方式不仅效率低下&#xff0c;而且容易出错——…...

Halcon 标定(Calibration)与引导(Guidance)的工业实践:从理论到高精度落地的全链路解析

1. Halcon标定技术的基础认知 第一次接触Halcon标定时&#xff0c;我和很多新手一样被那些专业术语吓到了。但真正用起来才发现&#xff0c;这套系统就像给机器装上了"眼睛和尺子"。简单来说&#xff0c;标定就是教会相机看懂真实世界的尺寸和位置。想象一下&#xf…...