河师大拼团项目总结2.0

Posted 毛_三月

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了河师大拼团项目总结2.0相关的知识,希望对你有一定的参考价值。

微信小程序开发

1、微信官方开发文档

https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html

2、应用列表

https://dev.dcloud.net.cn/app/index?type=1

3、小程序

https://mp.weixin.qq.com/wxamp/user/manage?action=index&use_role=1&token=1507699215&lang=zh_CN

bug

1、在微信开发者工具里运行微信小程序出现[ app.json 文件内容错误] (app.json: app.json 未找到)

解决方案:

https://blog.csdn.net/fallsTheDust/article/details/119822421

在project.config.json添加"miniprogramRoot": "./unpackage/dist/dev/mp-weixin"

2、http://localhost:8000 不在以下 request 合法域名列表中

https://www.cnblogs.com/tu-0718/p/9690021.html

解决方案:

小程序默认不会勾选最后一个不校验合法域名的选框,所以这里需要我们手动勾选不校验合法域名选框

注:一般建议在开发环境下勾选不校验合法域名选项,但线上正式环境最好不勾选不校验合法域名选框

3、点击统计页面显示服务器异常

查看后端日志报空指针异常

通过dbug OrdersServiceImpl 定位到 ordersMapper层中的Sql语句查询出现问题

拼团订单查出id为空的数据,导致空指针异常

SELECT g.id id, g.title title, g.create_time create_time, g.price*Count(o.group_booking_id) 
as allMoney, Count(o.group_booking_id) count from orders o LEFT join group_booking g on o.group_booking_id 
= g.id WHERE o.is_payment = '1' GROUP BY o.group_booking_id LIMIT 10 ;

分析Sql语句为左连接,以orders(订单)表为主表

以group_booking(拼团)表为副表

当orders表中所有满足is_payment=1的订单都会在结果中查询出来。但是由于group_booking(拼团)表中id为15的拼团被删除了,所以导致查询的结果中出现了第一行id为null的空数据(应该是id为15的拼团,却被删除了),导致了空指针异常,以致于使小程序的最终统计界面出现了服务器异常问题。

错误解决:

一开始我将这个 left join 改为了 right join:

这样就以group_booking(拼团表)为主表,orders(订单)为副表。

这样确实是暂时解决了问题,只查询了id=17的拼团,但是经过仔细分析后,发现右连接却是治标不治本,为什么,现在开始分析:

右连接是以拼团表为主表,订单表为副表,当订单表中有多个条件满足要求的时候,在最终的结果中只会显示一条数据。

这个以orders订单为主表,拼团表为副表,进行左查询,拼团对订单表为一对多,如果右连接,当订单表中有多个满足条件,在结果中只能查出一个,所以采用左连接。

正确解决:

将group_booking_id :15 的订单删除

成功查询出正常拼团数据

小程序统计页面终于正常显示出数据

4、Caused by: java.net.BindException: Address already in use: bind

解决:

1、cmd命令模式下输入netstat -ano,然后找到占用端口的那个进程 如下图…

2、PID号为 31852 的进程占用着8000端口,打开任务管理器查看详细信息,查找PID号为 31852 进程,点击结束任务即可

( 也可以直接 使用命令 taskkill /pid 31852 /f )

项目成功跑起

git

git stash 用法总结和注意点

https://www.cnblogs.com/zndxall/archive/2018/09/04/9586088.html

git教程(开发中使用)

https://blog.csdn.net/D_ps19990501/article/details/119272740

git status

git stash list			:查看stash了哪些存储

git stash save "名字"	  :执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。

git pull origin devHu	:(拉取远程仓库代码)

git stash pop			:取出暂存区代码并删除暂存区  执行完这一步最好在本地再跑一下项目,看有没有问题

命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}

git add .

git commit -m ""  		:提交代码
有时改动量大提交不上,并提示已是最新代码
这时就执行git commit -am "备注信息

git push				:推送到远程仓库
如果是第一次推送,推送同时要创建远程分支
git push origin HEAD:[远程仓库开发分支名]推送到远程仓库
git push upstream HEAD:[中央仓库开发分支名]推送到中央仓库
稳妥起见之后也建议用git push origin [远程仓库开发分支]

git push origin HEAD:devHu

最终上传到我的代码分支

请求与主代码合并

部署

  1. docker安装及docker常用命令
  2. docker 构建git+maven+jdk8的centos7环境,实现轻量级的springboot项目的自动化部署
  3. docker安装nginx规范所有项目的反向代理(一个项目一个反向代理的conf配置文件)
  4. docker 构建centos7+git+nvm镜像,实现自主切换node版本统一部署前端vue项目
  5. 基于Docker使用nginx https://blog.csdn.net/weixin_44932487/article/details/117193191?spm=1001.2014.3001.5501

以上是关于河师大拼团项目总结2.0的主要内容,如果未能解决你的问题,请参考以下文章

阿里云Hi拼团优惠活动全新升级,活动变化亮点总结

(4.1-4.7)拼团项目进度汇报

2017师大省赛总结

湖南师大附中计数课件总结

Google Innocamp X 华师大 总结

西北师大-18软工第二次作业成绩汇总