黑马程序员苍穹外卖学习指南(本文消除我跟视频做该项目时遇到的问题和解决方法)

news/2025/10/3 14:41:34/文章来源:https://www.cnblogs.com/lxjshuju/p/19124602

 导言

这是本人在做这个项目时遇到的所有问题总和,其中有很多稀奇古怪的,也有很多是我自己马虎导致但很棘手,看了很久才解决的。我将我遇到的问题记录下来,希望可以帮助到也遇到类似问题的人。大家可以按照右侧导航栏,找到对应的章节,再看对应章节里面有没有和你遇到的一样的问题。真心希望可以帮助到大家。

Day01-12-导入接口文档(导入Apifox时导不进去)

问题描述

1:苍穹外卖yapi这个平台之前没用过(之前在javaweb的课程中用的是Apifox)。看弹幕说比较卡

2:在导入的时候,导不进去,点进去显示接口数量是0

解决:

在导入的时候按图示点击到对应界面后。在上面的部分选择yapi,再选择对应的文件夹,进行导入就可以了

导入进去后还要配置URL,不然用不了,我是又去翻了一下javaweb的网课:“100.员工管理—新增员工—批量保存员工工作经历”20:05

然后解决的

Day02-03-新增员工_功能测试(我想用Apifox解决token问题)

问题描述

我不想用他给的那个接口方法。准备使用Apifox.

解决

找到员工登录的接口,按照图片输入。发送。(如果有问题,可能是url没有配置好。问题解答的最后附上解决方法。)

然后复制生成的token。点击右上角的三条杠

再点击全局变量,默认选择Header,参数名一定要写为token,将其默认值设为上面复制的token。这样就可以正常使用了。

对了这个token只有两个小时的时限。过了这个时间就需要重新整一遍上面的操作如果要改。

如果想要更改有效时长,可以改变图片所示的位置。

关键报错:java.lang.NoSuchMethodException: com.sky.entity.Employee.setUpdateUser(long)

处理:将long改为Long

变为:

上面的也要记得改哦,不然后面用到了,又是得一点一点找错误。

Day03-06新增菜品代码开发1:

问题:实现上传图片功能时,阿里云oss的配置问题。

老师演示的是他自己的,我们不能用。那么我们自己该怎么办呢?

解决:

这四个问题分别应该这样写:

bucket-name就是你的budget的名字,直接去阿里云看

access-key-secret和access-key-id是在创建时我们自己要保存好的,找出来直接粘贴上去就可以。

endpoint:跟着我后面的内容做,就可以找到你的这个怎么填

这是黑马javaweb的飞书文档的链接,

Docshttps://heuqqdmbyk.feishu.cn/wiki/PHp6wXaNUij3bokCXWrclz5anWh直接跳到“3.文件上传”那个部分看跟着做就可以了

在黑马程序员系列网课中javaweb第107节课有详细地讲解这一块,

endpoint这个部分怎么填

1). 找到对象存储OSS服务

点击账户

在弹出的产品与服务这里搜索“对象存储oss”

点击Budget列表

点击概览,这里有我们需要的信息

这个就是我们的:endpoint要填的内容

Day03_11菜品分页查询代码成功运行但是图片加载不出来

 问题:菜品分页查询代码部署完成,阿里云服务器什么的都配置好了,但是图片显示不出来。
解决:

这个显示不出来是因为本来用的是网课老师的阿里云oss,他的我们用不了,我们自己配置的oss里面又没有这些东西。

我们要在“修改”功能完成之后,重新上传。

保存成功后就可以正常显示了。注意,这个问题不解决,在后面的设计微信小程序那块的功能也不能实现。

Day06-10微信小程序开发_入门案例4:

问题:点击“发送请求”报错。在出现这个界面的时候出错了。
原因:

两个,一是redis没有启动,二是idea中的后端没有运行起来。

1:redix没有启动,需要启动。步骤如下

点到这个界面,在红框区域输入"cmd"进入命令行。

在命令行输入。这样就可以启动redis

redis-server.exe redis.windows.conf

2:idea中的后端没有运行起来。去运行起来就好了。

报错:

 log writeFile err writeFile:fail the maximum size of the file storage limit is exceeded

解决:

点击工具

点击全部清理。

问题:不知道参数填什么

这是网址:小程序登录 | 微信开放文档

这里面有

报错:40013

解决:上面这些要顶格子写,不能有空格。

Day06_20导入商品浏览功能代码

问题:跟着老师在微信开发者工具测试的时候报错了。
解决:在webMvcConfiguration里面的配置改一改就好了。将“/user/**”变为:“user/**”

Day07_17添加购物车功能测试无法将购物车信息添加到数据库

 问题:

无法将购物车信息添加到数据库,没有报错

解决:
原因分析:

userId为空

解决方法:

检查两处,因为我们当时做的时候,是直接复制粘贴之前的admin的配置,很有可能是相应的user我们没有改成admin导致的,也可能是我们更改了老师之前带着我们做的内容导致他可以但我们不行

1.  JwtTokenUserInterceptor这个类下面的user是否写成了admin

2.  检查WebMvcConfiguration这个类下面的user是否写成了admin

3.之前将图片中这个位置的“/user/**”改成了“user/**”。我们现在再给他改回去就可以了。

Day08_11用户下单功能测试 报错“异常信息:用户地址为空,不能下单”

 问题:

测试的时候,报错“异常信息:用户地址为空,不能下单”

原因分析:

根据上面的信息反馈可以知道,我们压根就没有数据传入OrdersSubmitDTO。导致的地址为空,

解决:

所以我们应该去上层找原因,问题出在controller层。并且就在这两行,我观察发现,传入的是json数据,但没用@RequestBody注解

成功

Day08_11用户下单功能测试 往orderDetail表中插入数据时,全是空的。

 问题:

往orderDetail表中插入数据时,全是空的。

原因分析:

是空的说明,数据没有传进来。往上找,controller层不会有问题,因为有问题的话会在前面传入ordersSubmitDTO的时候报错。问题就在OrderServiceImpl这里,找到他的传入数据的位置检查修改就可以了。

解决:

检查发现是这里出了问题,这里应该写cart要不然。

更改为:

成功:

Day08_18订单支付 跳过微信支付功能的方法

 问题:

微信支付需要公司提供相应的东西,我们没有,但希望自己的可以功能完备地走下去。

解决:

找到对应文件,在pages下的index.js的第226行,将上面的框里面的注释掉,下面的取消注释。

操作后的样子。

在OrderServiceImpl.java中注释掉图片中的内容。如图所示

在“return vo;”的上面添加代码(代码在图片后面)

 JSONObject jsonObject = new JSONObject();jsonObject.put("code", "ORDERPAID");OrderPaymentVO vo = jsonObject.toJavaObject(OrderPaymentVO.class);vo.setPackageStr(jsonObject.getString("package"));//为替代微信支付成功后的数据库订单状态更新,多定义一个方法进行修改Integer OrderPaidStatus = Orders.PAID; //支付状态,已支付Integer OrderStatus = Orders.TO_BE_CONFIRMED;  //订单状态,待接单//发现没有将支付时间 check_out属性赋值,所以在这里更新LocalDateTime check_out_time = LocalDateTime.now();//获取订单号码String orderNumber = ordersPaymentDTO.getOrderNumber();log.info("调用updateStatus,用于替换微信支付更新数据库状态的问题");orderMapper.updateStatus(OrderStatus, OrderPaidStatus, check_out_time, orderNumber);

在OrderMapper中添加对应的代码。(代码在后面)

 @Update("update orders set status = #{orderStatus},pay_status = #{orderPaidStatus} ,checkout_time = #{check_out_time} " +"where number = #{orderNumber}")void updateStatus(Integer orderStatus, Integer orderPaidStatus, LocalDateTime check_out_time, String orderNumber);

效果展示:支付成功

苍穹外卖问题系列之 分页查询是pageHelper一直报错

问题

pageHelper一直报错,我的这个报错可能范围会很小,希望可以帮到你。

原因分析

在苍穹外卖中,所有跟分页查询相关的全部用的是com.github.pagehelper.Page,如果这部分保险错了,那么很可能是因为引用错误。注意,这个是要在OrderServiceImpl,OrderMapper

两个文件里面都改正的。我就是在第二个没有改才导致报错的。

解决

将所有用到pageHelper的文件(OrderServiceImpl,OrderMapper)里的引用都改为com.github.pagehelper.Page

改完之后报错立刻消失。

苍穹外卖问题系列之 苍穹外卖订单详情前端界面和网课给的不一样

 问题

如图,我的前端界面和网课里面给的不一样,没有“申请退款”和一些其他的该有的东西。

原因分析

“合计”这一栏显示undefined说明我们的总金额没有输入进去。可以看看订单提交那块的代码,是否可以正确输出。还有就是订单详细界面展示这块的代码。

解决
1.检查订单提交那块的代码

我在上下都设置了一些输出的。

检查后得到

发现可以正常输出。

2.检查订单详细界面展示这块的代码

发现红框内的下面那句会将orderVO的内容覆盖掉。导致前端的orderVO没有数据。

将其改为就可以了,这段是我自己写的,写完以后没有对答案,跟网课里的不一样,所有大家自己写完以后一定要跟官方代码对一下,不然就有可能会出问题。

效果展示

苍穹外卖系列问题之点击催单没有反应

 问题

点击催单没有反应

解决

在管理端退出登录一下,就好了

苍穹外卖系列问题之Day11_05营业额统计代码开发2 StringUtils.join(dateList,",")报错

问题

StringUtils.join(dateList,",")报错

解决

出现这个问题是上面引用出错了,我引用的是com.aliyun.oss.common.utils.StringUtils

而应该引入的是org.apache.commons.lang3.StringUtils

改完立刻就好了

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

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

相关文章

做网站的个人心得学校网站模版

基于蚁群算法的TSP问题建模求解 一、蚁群优化算法(Ant Colony Optimization,ACO)1.1 蚁群算法的起源——“双桥实验”1.2 蚁群优化算法思想1.3 蚁群算法应用于求解组合优化问题 二、基于蚁群算法的TSP问题建模求解2.1 旅行商问题(…

佛山网站建设百家号网站统计平台

使用Selenium处理动态生成的网页内容和语法代码可以通过以下步骤进行: 安装Selenium库:使用pip命令安装Selenium库,可以在命令行中运行如下命令: pip install selenium 下载WebDriver:Selenium需要与特定的浏览器进行交…

P11983 [JOIST 2025] 展览会 3 题解

Description JOI 美术馆计划近期举办一场绘画展览。馆方拥有编号为 \(1\) 至 \(N\) 的 \(N\) 幅画作,其中画作 \(i\)(\(1 \leq i \leq N\))的美观值为 \(A_i\)。在展览中这些画作将排成一行展示,但具体排列顺序尚未…

黑客马拉松(Hackathon)

黑客马拉松(Hackathon)黑客马拉松是一种 短时间内高强度的软件/硬件开发活动。一般持续 24~72 小时,有的甚至一周。参与者通常是开发者、设计师、产品经理等,组成小团队。目标是在有限时间里,从零开始,开发出一个…

详细介绍:Quarkus深度解析:响应式编程与Native镜像,如何重构Java云原生应用?

详细介绍:Quarkus深度解析:响应式编程与Native镜像,如何重构Java云原生应用?2025-10-03 14:29 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overfl…

节能网站源码深圳外贸业务员工资

void SaveBitmapToFile(HBITMAP hBitmap, char* szfilename) {HDC hdc; //设备描述表int ibits;WORD wbitcount; //当前显示分辨率下每个像素所占字节数//位图中每个像素所占字节数,定义调色板大小,位图中像素字节大小,位图文件大小 &a…

网络流 费用流 EK算法

模板题:洛谷p3381 #include<bits/stdc++.h> using namespace std; const int N=5e3+10,M=5e4+10,INF=0x3f3f3f3f; typedef long long LL; int n,m,s,t,id=1; int e[M<<1],h[N],cap[M<<1],d[M<&l…

“AI元人文”构想说明:构建智能时代的人文学科新范式

“AI元人文”构想说明:构建智能时代的人文学科新范式 一、 构想缘起与问题意识 我们正处在一个由人工智能技术驱动的历史性转折点。AI不仅重塑着我们的物质世界,更深刻地介入并挑战着人类对语言、文化、历史、伦理和…

双向LSTM-Attention模型

为了让你彻底理解双向LSTM-Attention模型的每一步,我们会在原有运转流程的基础上,对每个核心概念做“定义+通俗解释+模型中作用+项目实例”的四层拆解,从最基础的“时序窗口”到复杂的“注意力权重计算”,每个概念…

tomcat的功能和作用 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

实用指南:【论文阅读 | ECCV 2024 | DAMSDet:具有竞争性查询选择与自适应特征融合的动态自适应多光谱检测变换器】

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

手机网站开发 pdf网页特效源码网站

来源&#xff1a;软件定义世界&#xff08;SDX&#xff09;作者&#xff1a;吴甘沙、张玉新摘要&#xff1a;当卡尔 本茨发明汽车&#xff0c;人类进入汽车时代时&#xff0c;科学技术就对人类的 “ 出行 ” 进行了新的定义&#xff0c;而随着技术的不断发展与进步&#xff0c…

Xilinx高性能NVMe Host控制器IP+PCIe 3.0软核控制器IP,4通道DMA,1通道IO,纯逻辑实现,AXI4和AXI4-Stream DMA接口,支持PCIe 3.0和4.0

NVMe AXI4 Host Controller IP可以连接高速存储PCIe SSD,无需CPU,自动加速处理所有的NVMe协议命令,具备独立的数据写入和读取AXI4接口,不但适用高性能、顺序访问的应用,也适用于随机访问的应用,同时结合外部存储…

巫山网站开发制作网站付费软件

来源&#xff1a;网络大数据摘要&#xff1a;尽管科幻小说可能将人工智能机器人描绘成坏人&#xff0c;但一些科技巨头现在也将其用于安全。 微软和优步等公司使用Knightscope K5机器人巡逻停车场和大型户外区域来预测和预防犯罪。 机器人可以读取车牌&#xff0c;报告可疑活动…

做网站显示上次登录时间代码网站的基本要素

构建进化树的需求 在生物生态学领域&#xff0c;构建进化树&#xff08;也称为系统发生树或谱系树&#xff09;具有以下几个重要的目的和需求&#xff1a; 理解物种间的亲缘关系&#xff1a; 进化树揭示了物种之间的演化关系和共同祖先&#xff0c;帮助科学家理解不同物种是如…

公私合作抗击网络威胁的创新实践

本文探讨了公共部门与私营企业如何通过合作应对网络安全威胁,分析了合作模式、创新解决方案及当前面临的挑战,特别是在疫情期间远程工作环境下的安全防护问题。公私合作如何共同抗击网络威胁 TF7电台访谈强调合作重要…

用vs2012做简单网站网店seo名词解释

在macos中如果使用brew 官方默认的core tap 只可以安装官方最新的稳定版PHP, 如果想要安装 php 5.6 或者 php 8.4版本的PHP就需要使用第三方的tap , 这里分享一个比较全面的brew tap shivammathur/php 这个tap里面包含了从php5.6到最新版php8.4的所有可用最新版本PHP, 而且是同…

网站开发销售提成做一个企业网站要多少钱

在自己自定义的一个组件中由于需要用图片显示数字编号&#xff0c;而当前图片就只有一张&#xff0c;上面有0-9是个数字&#xff0c;于是不得不考虑将其中一个个的数字切割下来&#xff0c;需要显示什么数字&#xff0c;只需要组合一下就好了。 下面是程序的关键代码&#xff…

佛山快速建站哪家服务专业网站源码破解版

第20天 和 &#xff08;等值比较&#xff09; 当使用 操作符时&#xff0c;PHP将进行宽松比较&#xff0c;也就是说&#xff0c;只比较两个值的等价性&#xff0c;而不考虑它们的类型。 如果两个值类型不同&#xff0c;PHP会尝试将它们转换成相同的类型&#xff0c;然后再进…