cloud_mall-notes02

news2024/9/23 23:27:56

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) 初始数量为0
        domain.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/{…}

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

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

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

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

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/908393.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

磁盘满了解决办法

磁盘满了解决办法 1.添加硬盘2.查看是否添加成功3.创建分区4.查看卷名5.扩容6.7.8. 1.添加硬盘 2.查看是否添加成功 lsblk注&#xff1a;若没有&#xff0c;需要partprobe刷新或者重启 3.创建分区 fdisk /dev/sdb4.查看卷名 vgdisplay5.扩容 vgextend centos /dev/sdb16. …

Docker安装MySQL、Redis如何自启?

1、问题&#xff1a; Docker自启&#xff1a;http://t.csdn.cn/L2v55 重新启动虚拟机&#xff0c;Docker自动启动之后&#xff0c;发现MySQL、Redis都没有启动。 docker ps 没查到有启动的容器。 docker ps -a 查看所有的容器。 2、先使用 su root 命令&#xff0c;切换到root…

朴实无华的数据增强然后训练一下应用在电网异物检测领域,好像有自己的数据集就能发文了

RCNN-based foreign object detection for securing power transmission lines (RCNN4SPTL) Abstract 本文提出了一种新的深度学习网络——RCNN4SPTL (RCNN -based Foreign Object Detection for Securing Power Transmission lines)&#xff0c;该网络适用于检测输电线路上的…

一个炫酷的头像悬停效果 2

基于上次翻译的 &#x1f525;&#x1f525;一个炫酷的头像悬停效果 收获了不少同学的喜欢&#xff0c;原作者近期进行了优化升级。本文将升级后的核心实现过程进行梳理讲解&#xff0c;如果没看过第一期的推荐先看看第一期的实现过程。升级后的效果如下图所示。 gif动画效果如…

0008Java程序设计-JSP学生成绩管理系统设计与实现

摘 要目录系统实现开发环境 摘 要 随着网络的不断发展&#xff0c;一个好的成绩查询系统&#xff0c;不仅便于学生查询成绩、查询个人信息&#xff0c;而且有利于管理员对学生成绩的统一管理&#xff0c;考试之后学生能及时的对个人信息进行查看&#xff0c;减少了老师和学生之…

高性能MySQL实战(一):表结构 | 京东物流技术团队

最近因需求改动新增了一些数据库表&#xff0c;但是在定义表结构时&#xff0c;具体列属性的选择有些不知其所以然&#xff0c;索引的添加也有遗漏和不规范的地方&#xff0c;所以我打算为创建一个高性能表的过程以实战的形式写一个专题&#xff0c;以此来学习和巩固这些知识。…

09强化学习

强化学习有关词汇 state:对Environment的完整描述 action: 给定环境中所有有效操作的集合&#xff0c;通常称为动作空间 agent:执行action的模型 Environment:代理之外的所有部分。agent可以直接或间接的与之交互的一切&#xff0c;Agent执行操作时&#xff0c;Environment…

BarCodeWiz ActiveX Control Crack

BarCodeWiz ActiveX Control Crack BarcodeWiz ActiveX Control–只需单击按钮即可将所有基本条形码类型添加到Microsoft Office中。在Microsoft Word中&#xff0c;创建单独的条形码、标签页或合并文档。在Microsoft Excel中&#xff0c;选择单元格范围并自动将每个单元格转换…

css的常见伪元素使用

1.first-line 元素首行设置特殊样式。 效果演示&#xff1a; <div class"top"><p>可以使用 "first-line" 伪元素向文本的首行设置特殊样式。<br> 换行内容 </p></div> .top p::first-line {color: red;} 2.first-lette…

每日一题——判断是不是平衡二叉树

题目 输入一棵节点数为 n 二叉树&#xff0c;判断该二叉树是否是平衡二叉树。 在这里&#xff0c;我们只需要考虑其平衡性&#xff0c;不需要考虑其是不是排序二叉树 平衡二叉树&#xff08;Balanced Binary Tree&#xff09;&#xff0c;具有以下性质&#xff1a;它是一棵空树…

华为OD机试真题 Java 实现【通过软盘拷贝文件】【2023 B卷 200分】,附详细解题思路

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#xff09;》…

C++的对象与类的含义

C是一门面向对象的编程语言&#xff0c;理解C需要掌握类&#xff08;class&#xff09;和对象&#xff08;object&#xff09;这两个概念。 C 中的类&#xff08;Class&#xff09;可以看做C语言中结构体&#xff08;Struct&#xff09;的升级版。结构体是一种构造类型&#x…

SQL 盲注

问题描述&#xff1a; 解决方案&#xff1a; 通过建立过滤器方法 添加拦截器&#xff1a; web.xml 文件配置拦截器 <filter><filter-name>sqlFilter</filter-name><filter-class>com.fh.filter.SqlFilter</filter-class></filter> pack…

【链表篇】速刷牛客TOP101 高效刷题指南

文章目录 1、BM1 反转链表2、BM2 链表内指定区间反转3、BM3 链表中的节点每k个一组翻转4、BM4 合并两个排序的链表5、BM5 合并k个已排序的链表6、BM6 判断链表中是否有环7、BM7 链表中环的入口结点8、BM8 链表中倒数最后k个结点9、BM9 删除链表的倒数第n个节点10、BM10 两个链表…

Redis中的有序集合及其底层跳表

前言 本文着重介绍Redis中的有序集合的底层实现中的跳表 有序集合 Sorted Set Redis中的Sorted Set 是一个有序的无重复值的集合&#xff0c;他底层是使用压缩列表和跳表实现的&#xff0c;和Java中的HashMap底层数据结构&#xff08;1.8&#xff09;链表红黑树异曲同工之妙…

派森 #P122. 峰值查找

描述 给定一个长度为n的列表nums&#xff0c;请你找到峰值并返回其索引。数组可能包含多个峰值&#xff0c;在这种情况下&#xff0c;返回任何一个所在位置即可。 &#xff08;1&#xff09;峰值元素是指其值严格大于左右相邻值的元素。严格大于即不能有等于&#xff1b; &…

ARM体系结构学习笔记:过程调用标准AAPC、 ARM32调用约定、ARM64调用约定

参数传递的本质: 将上层函数变量复制一份, 传给下层函数. 过程调用标准AAPC(Arm Architecture Procedure Call) 有了标准, 才能够进行C调用汇编或者汇编调用C ARM32调用约定 参数是不同位数传参情况, 额外的参数被caller进行入栈, callee进行出栈 寄存器传参 寄存器返回 汇编…

交叉编译相关知识

1、目标板与主机之间的连接&#xff1a; 目标板和主机之间通常可以使用串口、以太网接口、USB接口以及JTAG接口等连接方式。 (1)、串行通信&#xff1a; 串行通信接口常用的有9针串口&#xff08; DB9 &#xff09;和25针串口&#xff08;DB25&#xff09;&#xff0c;通信距…

IDEA创建Mybatis格式XML文件

设置位置&#xff1a;File | Settings | Editor | File and Code Templates 选择Files&#xff0c;点击号 Name中输入xml模板名&#xff08;名称自行决定&#xff09;&#xff0c;后缀名extension输入xml&#xff08;固定&#xff09; 内容处输入Mybatis的xml文件模板内容&…

数据结构 - 线性表的定义和基本操作

一、定义 线性表是具有相同特性的数据元素的一个有限序列。 线性表&#xff1a; 由n(n≥0)个数据元素&#xff08;结点&#xff09;组成的有限序列。线性表中数据元素是一对一的关系&#xff0c;每个结点最多有一个直接前驱&#xff0c;和一个直接后继 二、线性表的基本操作 …