- 博客(402)
- 收藏
- 关注
原创 SpringTask-03.入门案例
摘要:该案例展示了如何使用Spring Boot实现定时任务。首先创建启动类SkyApplication,通过@EnableScheduling开启定时任务功能。然后在task包中定义MyTask类,使用@Component交给Spring容器管理。通过@Scheduled(cron="0/5****?")注解指定每5秒执行一次的定时任务,并在executeTask方法中实现具体业务逻辑。关键点在于:1)正确配置cron表达式设置触发时间;2)在定时任务方法中编写业务代码。
2025-06-08 12:40:39
266
原创 SpringTask-01.介绍
摘要:本文介绍了使用SpringTask处理订单超时和未完成派送订单的定时任务需求。针对订单超时及派送中长时间未完成的场景,SpringTask提供了一种有效的定时处理解决方案。该方法适用于需要定时监控和自动处理的业务流程。
2025-06-08 12:23:29
181
原创 用户下单-04.功能测试
功能测试主要针对Order和Order_detail数据表进行验证。Order表用于存储订单的基本信息,如订单ID、用户ID、订单状态等;Order_detail表则记录订单的详细内容,包括商品ID、数量、价格等。测试内容包括数据的完整性、一致性和准确性,确保订单信息的正确存储和更新。同时,还需验证两个表之间的关联关系,如通过订单ID进行数据匹配,确保订单与商品信息的准确对应。此外,测试还需涵盖异常情况的处理,如订单取消、退货等操作对数据表的影响。通过这些测试,确保系统在处理订单时能够正常运行,数据准确无误
2025-05-18 19:12:30
173
原创 用户下单-03.代码开发
本文介绍了用户下单功能的代码实现,主要分为Controller层、Service层和Mapper层。在Controller层,通过OrderController类处理用户下单请求,调用OrderService接口的submitOrder方法,并返回OrderSubmitVO类型的数据。Service层中,OrderServiceImpl类实现了OrderService接口,处理下单逻辑,包括验证地址和购物车数据、插入订单和订单明细、清空购物车等操作。Mapper层通过OrdersMapper和OrderDe
2025-05-18 18:58:31
339
原创 用户下单-02.需求分析和设计-数据库设计
在订单管理系统中,数据库设计需同时考虑订单和菜品数据的存储。仅使用订单表无法有效管理所有信息,因此需额外设计订单明细表。订单表(orders)用于存储订单的基本信息,如订单号、用户ID、下单时间等。订单明细表(order_detail)则记录每个订单中具体菜品的详细信息,如菜品ID、数量、价格等。通过这种设计,可以更高效地管理和查询订单及菜品数据,确保系统的灵活性和可扩展性。
2025-05-18 12:47:44
198
原创 用户下单-01.需求分析和设计-接口设计
文章摘要:本文主要讨论了用户下单流程的需求分析与接口设计。在需求分析部分,指出用户下单本质上是将数据插入数据库的POST操作,购物车数据通过userId查询获取,前端需获取下单时间以进行支付倒计时,并获取订单ID以便后续操作。接口设计部分未详细展开,但强调了订单提交页面的核心功能和数据处理流程。
2025-05-18 12:11:55
135
原创 地址簿模块-03.功能测试
文章摘要:本文介绍了地址管理功能的基本操作,包括新建地址、修改地址、设置默认地址和删除地址。用户可以通过点击右侧的编辑图标对现有地址进行修改,录入新地址后,可选择将其设为默认地址。此外,用户还可以根据需要删除地址或更改默认地址设置。这些功能旨在帮助用户更便捷地管理个人地址信息。
2025-05-14 10:52:39
109
原创 地址簿模块-02.代码实现
本文介绍了基于Spring Boot框架的地址簿管理系统的代码实现。系统通过AddressBookController类提供了一系列RESTful API,包括新增地址、查询地址、设置默认地址、删除地址和修改地址等功能。AddressBookService接口及其实现类AddressBookServiceImpl负责业务逻辑处理,如地址的增删改查操作。AddressBookMapper接口和对应的XML映射文件则负责与数据库的交互,执行SQL语句。特别地,设置默认地址时,系统会先将用户的所有地址设为非默认状
2025-05-14 10:38:55
177
原创 地址簿模块-01.需求分析
文章摘要:本文介绍了地址簿产品的需求分析、接口设计和数据库设计。地址簿用于展示用户的所有地址信息,其中只能有一个默认地址,用户下单时默认使用该地址。主要功能包括查询所有地址、设置默认地址、查询默认地址、修改地址、删除地址和新增地址。接口设计方面,修改地址需要先查询原地址信息,再进行修改,因此设计了新增地址、查询所有地址、查询默认地址、修改地址、删除地址、查询地址和设置默认地址等接口。数据库设计部分未详细展开。
2025-05-13 23:59:19
273
原创 删除购物车中一个商品
在购物车系统中,删除商品的操作需要根据商品数量进行不同的处理。当商品数量为1时,直接从数据库中删除该商品;当数量大于1时,将商品数量减1并更新数据库。这一逻辑在Controller层通过delete方法实现,调用Service层的deleteShoppingCart方法。Service层首先查询商品数量,若为1则执行删除操作,否则更新数量。Mapper层负责具体的数据库操作,包括查询、更新和删除。整个流程确保了购物车中商品数量的准确管理。
2025-05-13 09:19:39
399
原创 清空购物车
在购物车功能模块中,清空购物车操作通过用户ID进行,无需额外参数。ShoppingCartController中的clean方法调用ShoppingCartService的cleanShoppingCart方法,后者通过ShoppingCartMapper的cleanByUserId方法从数据库中删除该用户的所有购物车记录。整个过程通过解析用户token获取用户ID,确保操作的安全性和准确性。
2025-05-13 09:09:28
191
原创 查看购物车
本文介绍了如何通过后端接口实现购物车的查看功能。首先,通过解析用户登录时生成的token获取userId,无需前端额外传入参数。在Controller层,使用GET请求调用/user/shoppingCart/list接口,返回当前用户的购物车信息列表。Service层通过showShoppingCart方法,根据userId查询数据库中的购物车数据。Mapper层定义了查询购物车的SQL语句,通过userId筛选出对应的购物车信息。整个流程实现了从用户身份验证到购物车数据查询的完整功能。
2025-05-12 23:43:58
349
原创 添加购物车-02.代码开发
本文介绍了如何在用户端开发购物车功能,主要涉及Controller、Service和Mapper层的实现。在Controller层,通过@RestController和@RequestMapping注解定义购物车相关接口,并使用@RequestBody接收前端传递的JSON参数。Service层负责业务逻辑,判断购物车中是否已存在相同菜品或套餐,若存在则增加数量,否则新增记录。Mapper层通过MyBatis实现数据库操作,包括查询、更新和插入。整体流程包括:接收前端请求、处理业务逻辑、操作数据库,最终返回
2025-05-12 18:16:05
380
原创 缓存套餐-03.功能测试
在小程序的功能测试中,点击操作会触发根据分类ID查询套餐的方法。首次查询时,由于Redis中没有缓存数据,系统会执行SQL查询数据库,并将结果缓存到Redis中。再次点击时,系统直接从Redis获取数据,不再执行SQL查询。当套餐状态从启售改为停售时,Redis中的缓存数据被清除。此时再次查询,系统会重新执行SQL查询,并将新的结果缓存到Redis中。这一过程展示了Redis缓存的自动更新机制及其在减少数据库查询压力中的作用。
2025-05-08 23:59:02
560
原创 缓存套餐-02.代码开发
本文介绍了如何在Spring Boot项目中实现缓存功能,以提升系统性能。首先,在启动类上添加@EnableCaching注解以开启缓存功能。接着,在查询套餐的方法上使用@Cacheable注解,确保数据优先从缓存中读取,若缓存中无数据则从数据库读取并存入缓存。对于套餐的增删改操作,使用@CacheEvict注解清除相关缓存,以保持数据一致性。新增套餐时,根据分类ID精准删除缓存;其他操作则通过allEntries=true清除所有相关缓存。通过这种方式,系统能够有效减少数据库访问,提升响应速度。
2025-05-08 23:48:22
181
原创 微信登录-04.代码开发
*** jwt令牌校验的拦截器*/@Component@Slf4j@Autowired/*** 校验jwt* @return*///判断当前拦截到的是Controller的方法还是其他资源if (!//当前拦截到的不是动态方法,直接放行//1、从请求头中获取令牌//2、校验令牌try {log.info("jwt校验:{}", token);// 对令牌进行解析,获取里面的map对象内容// 将map对象中的emp_id对应的属性值取出。
2025-04-11 17:21:41
598
原创 HttpClient-03.入门案例-发送POST方式请求
首先创建一个HttpClient对象,CloseableHttpClient是HttpClient的一个实现类。然后我们创建一个HttpPost请求对象,并传入HttpPost请求的请求路径。这里注意,我们使用HttpPost创建POST请求对象时,因为该POST请求要传入一个JSON格式的数据,封装用户名和密码。因此我们要设置请求参数,使用setEntity来设置请求参数entity。那么entity对象是怎么来的呢?首先使用JSONObject对象来创建一个json对象并为其赋值,然后将其转为字符串
2025-04-02 22:48:38
374
原创 HttpClient-02.入门案例-发送GET方式请求
首先创建一个HttpClient对象,CloseableHttpClient是HttpClient的一个实现类。然后我们创建一个HttpGet请求对象,并传入HttpGet请求的请求路径。然后调用HttpClient对象的execute方法将HttpGet请求对象传入,发送http的get请求并获得响应对象。最后通过发送GET请求获取的CloseableHttpResponse响应对象来获取状态码以及响应数据。调用响应对象的.getStatusLine().getStatusCode()来获取响应状态码,然
2025-04-02 18:06:54
225
原创 店铺状态设置-03.功能测试
通过定义Docker对象时使用groupName方法进行分组,分为管理端接口和用户端接口。我们再次执行:这样就为我们分为了两个接口,一个用户端接口,一个管理端接口。 接着我们进行前后端联调:
2025-04-01 20:57:23
254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人