day03下

完成会员相关的功能

对照着接口文档来写,前端的接口请求是这样的

于是我们就是后端写这个服务,先写Controller层

mybatis-plus自带查询全部的方法,也就list(),注意要把这个方法给暴露出来给dubbo以实现rpc

这是查询出来的结果,接下来要实现另外的接口,也就是

要实现下面的方法

 方法实现如下:

可以直接调用selectPage()进行分页查询,这是mybatis-plus自带的方法,最后为了避免每次都要自己封装PageInfoVo,在这个类里面写了静态方法

功能完成,查询的结果如下:

 

总之我们就是打开一个前端项目,会出错的403接口一个个的去实现就好了

 

我们先来查询当属性id为1时的分类有哪些

第一个是分类属性,第二个type=0表示是销售属性,type=1表示是基本规格参数

于是当你实现了第一个分类属性的方法后,发现多了一个错误。

就是要返回的到底是销售属性还是基本规格参数

接下来就要实现这个方法

和前面的步骤一模一样

查到的结果返回,于是就实现了这样的效果

 

要把图片上传到阿里云,具体百度java怎么上传文件到阿里云

 

接下来开始创建商品,创建商品是一个难点,因为你创建了一个商品,很多张表都要更新。

代码如下:

 

确实很复杂,因为要保存到不同的表里面,这里要注意的是前端传过来的商品信息是不包括商品id的,因为这是后端将商品保存到商品信息表后才会生成一个商品id,然后调用mybatis-plus自带的insert方法将数据插入数据库,不过难点不在这儿,而是有可能会失败,这个时候要进行事务的回滚,可能会想到的是回滚啊,加上@Transactional不就行了,但是这样的话是这个方法全部回滚,也就是说可能只是错了一小步,但是要全部重新填写,太麻烦了。

执行一个事务时要考虑哪些是必须要回滚的,哪些是可以忽略的。我们这里希望商品的核心信息出错了一定要回滚(例如这里的基本数据,sku),也就是核心信息不要受到其他信息的影响。

于是把这个大方法拆分成了几个小方法,这里最重要的是使用了ThreadLocal,保证每个线程只有自己的线程内部的变量,就是商品的id,而不会因为多线程导致线程不安全

 

 

接下来就是实现事务了,首先打开事务功能,加上注解

如果你在一个类的一个方法里调用该类的其他方法,那么无论怎么做这些都被看做是一个事务,因为spring中事务的实现是靠的aop,而aop靠的是自动代理,假如你调用一个方法,这个方法里调用了该类的其他方法,这个时候其他方法根本不会被自动代理,而是直接就被使用了,所以就没有被包装成代理类。那么现在的做法就是手动把一个类变成代理类

先开启自动代理

通过这个方法变成代理类

这样之后才能够使用try catch达到出异常时如果不是关键信息依然不会回滚,异常处的前面的都能执行,而出异常处才回滚

基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究(Matlab代码实现)内容概要:本文围绕“基于数据驱动的Koopman算子的递归神经网络模型线性化”展开,旨在研究纳米定位系统的预测控制问题,并提供完整的Matlab代码实现。文章结合数据驱动方法与Koopman算子理论,利用递归神经网络(RNN)对非线性系统进行建模与线性化处理,从而提升纳米级定位系统的精度与动态响应性能。该方法通过提取系统隐含动态特征,构建近似线性模型,便于后续模型预测控制(MPC)的设计与优化,适用于高精度自动化控制场景。文中还展示了相关实验验证与仿真结果,证明了该方法的有效性和先进性。; 适合人群:具备一定控制理论基础和Matlab编程能力,从事精密控制、智能制造、自动化或相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于纳米级精密定位系统(如原子力显微镜、半导体制造设备)中的高性能控制设计;②为非线性系统建模与线性化提供一种结合深度学习与现代控制理论的新思路;③帮助读者掌握Koopman算子、RNN建模与模型预测控制的综合应用。; 阅读建议:建议读者结合提供的Matlab代码逐段理解算法实现流程,重点关注数据预处理、RNN结构设计、Koopman观测矩阵构建及MPC控制器集成等关键环节,并可通过更换实际系统数据进行迁移验证,深化对方法泛化能力的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值