## 东莞理工学院网络空间安全学院
| **课程名称:** | 企业级开发框架专题 | **学期**:2020秋季 |
| :----------------- | :-------------------------------------------: | :------------------: |
| **实验名称**: |期末大作业:基于微信小程序的新零售移动电商系统设计与实验 | **实验序号**:期末大作业 |
| **组长姓名**:宁龙辉 | **组长学号**:201741413146 | **班级**:18网工1班 |
| **实验地址**:宿舍 | **实验日期**:2020-12-10 | **指导老师**:黎志雄 |
| **教师评语**:XXX | **实验成绩**:XXX | **同组同学**:李华铧 201841413114 黄仁欢 201841413111|
## 期末大作业:基于微信小程序的新零售移动电商系统设计与实验
<br> **基于小程序和Spring Boot的奶茶点单系统**
### 一.项目背景
<br> 受新冠疫情影响,消费者闭门不出,线下门店纷纷关闭,实体经济收到重大冲击。除了疫情的挑战,传统
<br>零售与传统电商,一直被效率、场景、管控等问题困扰。
<br> 新零售赋能传统零售转型升级。线上商城与线下门店的交易无缝缝合,通过技术改变消费者的习惯,集合
<br>结合高效的物流配送,极大提高消费者的购物体验。基于微信的生态圈用户流量,让平台更快的传播获客,吸引
<br>海量用户资源。
### 二.需求分析
<br>本项目需要分为两个客户端:
1. **用户端**
![输入图片说明](https://images.gitee.com/uploads/images/2021/0108/204756_2c80bc8a_4796963.png "屏幕截图.png")
2. **后台管理端**
![输入图片说明](https://images.gitee.com/uploads/images/2021/0108/205013_17ee09ba_4796963.png "屏幕截图.png")
![输入图片说明](https://images.gitee.com/uploads/images/2021/0108/205103_b6c610bc_4796963.png "屏幕截图.png")
### 三.技术栈
#### 客户端
微信小程序
#### 后台前端
React,Ant组件库
#### 后台后端
SpringBoot,Mysql
### 四.具体实现
#### 客户端
客户端采用小程序为客户提供图形界面,方便客户查看商品,下订单,查看订单状态
#### 前端
##### 1.登录:
客户可以使用微信一键登录进入小程序,小程序会保存用户的登录信息
![输入图片说明](https://images.gitee.com/uploads/images/2021/0110/061934_35dc0c9b_4796963.png "屏幕截图.png")
![输入图片说明](https://images.gitee.com/uploads/images/2021/0110/062023_c926fdc2_4796963.png "屏幕截图.png")
##### 2.首页(展示推荐信息,公告图片):
![输入图片说明](https://images.gitee.com/uploads/images/2021/0110/064927_97975e2d_4796963.png "屏幕截图.png")
##### 3.点单页面
点单页面为客户展示商品列表以供选购
![输入图片说明](https://images.gitee.com/uploads/images/2021/0110/071637_eafb6713_4796963.png "屏幕截图.png")
##### 4.购物车页面
客户可以在购物车页面查看自己选购了那些商品,并提供下单入口
![输入图片说明](https://images.gitee.com/uploads/images/2021/0110/072110_a16121dc_4796963.png "屏幕截图.png")
##### 5.订单页面
订单页面向客户展示了客户的历史订单,以及未完成订单
![输入图片说明](https://images.gitee.com/uploads/images/2021/0110/072514_6da64baa_4796963.png "屏幕截图.png")
##### 6.客户个人信息页面
客户可以在这个页面查看自己的个人信息,退出登录
![输入图片说明](https://images.gitee.com/uploads/images/2021/0110/073044_8880c001_4796963.png "屏幕截图.png")
##### 小程序端操作说明
##### 7.下订单
![输入图片说明](https://images.gitee.com/uploads/images/2021/0110/073452_8ae3054b_4796963.png "屏幕截图.png")
##### 8.在购物车结算
![输入图片说明](https://images.gitee.com/uploads/images/2021/0110/073526_d7ac4866_4796963.png "屏幕截图.png")
##### 9.支付
![输入图片说明](https://images.gitee.com/uploads/images/2021/0110/073548_2b708853_4796963.png "屏幕截图.png")
##### 10.未取餐订单
支付以后可以在未取餐订单中查看已下订单
![输入图片说明](https://images.gitee.com/uploads/images/2021/0110/074203_94674fad_4796963.png "屏幕截图.png")
#### 后端
后端主要提供的功能:
##### 1.“为你推荐”接口
在首页中随机显示8款奶茶
```java
@GetMapping("recommend")
@ApiOperation(value = " 首页“为你推荐”")
public List<Milktea> recommend() {
随机选择8款奶茶向用户推荐
Integer nums = 8;
Integer start = 1;
Integer end = countMilktea();
//1.创建集合容器对象
List list = new ArrayList();
List ret = new ArrayList();
//2.创建Random对象
Random r = new Random();
//循环将得到的随机数进行判断,如果随机数不存在于集合中,则将随机数放入集合中,如果存在,则将随机数丢弃不做操作,进行下一次循环,直到集合长度等于nums
while (list.size() != nums) {
Integer num = r.nextInt(end - start) + start;
if (!list.contains(num)) {
list.add(num);
}
}
for (Object l : list) {
NumberFormat formatter = NumberFormat.getNumberInstance();
String s = formatter.format(Integer.parseInt(l.toString()));
// System.out.println(s);
ret.add(selectOneMilktea(s));
}
return ret;
}
```
mapper语句:
```xml
<select id="selectMilkteaById" resultType="com.demo01.demo.entity.Milktea">
select *
from milktea
where id = #{id}
</select>
```
##### 2.按种类排序返回全部奶茶接口
用于小程序点单页面按照种类显示奶茶。先获取奶茶的种类数,然后根据种类id将全部奶茶按照种类装到各个数组中,再将这些数组装到一个大数组中
```java
@GetMapping("selectAllByType")
@ApiOperation(value = "返回全部的奶茶 会按奶茶种类排序")
public List<List<Milktea>> selectAllByType(String type) {
List<List<Milktea>> res= new ArrayList<List<Milktea>>();
int countType = countType();
for (int i = 0; i < countType; i++) {
List<Milktea> temp = selectByType(Integer.toString(i+1) );
res.add(temp);
}
return res;
}
```
mapper语句:
```xml
<select id="selectByType" resultType="com.demo01.demo.entity.Milktea">
select *
from milktea
where type = #{type}
</select>
```
##### 3.用户登录接口
用于用户使用微信进行登录的接口。先判断从小程序获得的openid是否为空,为空则登录失败返回空值,否则查询数据库该openid是否已存入数据库,未存入则将该openid与用户昵称插入数据库并且后端返回存有openid该用户对象,否则只更新用户昵称并返回存有对应用户信息的用户对象。
```java
@PostMapping("login")
@ApiOperation(value = "登录")
public User login(@RequestBody LoginInfoDTO loginInfoDTO) {
String openid = loginInfoDTO.getOpenid();
String nickname = loginInfoDTO.getNickname();
User res = userService.login(openid);
if (res.getOpenid() != null) {
res.setNickname(nickname);
userService.setNickName(res);
}
return res;
}
//userService.login(String openid)方法
@Override
public User login(String openid) {
if (openid.equals("")) {
System.out.println("ID是空的,无法登陆");
return new User();
}
User successUser = userMapper.login(openid);
if (null == successUser) {
this.logon(openid);
User user
没有合适的资源?快使用搜索试试~ 我知道了~
基于微信小程序的奶茶店点餐系统小程序源码和数据库(满分大作业)
共174个文件
java:62个
png:32个
json:15个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 22 浏览量
2024-10-10
11:03:53
上传
评论 1
收藏 436KB ZIP 举报
温馨提示
基于微信小程序的奶茶店点餐系统小程序源码和数据库(满分大作业),含有代码注释,满分大作业资源,新手也可看懂,期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为课程设计期末大作业使用,该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 基于微信小程序的奶茶店点餐系统小程序源码和数据库(满分大作业),含有代码注释,满分大作业资源,新手也可看懂,期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为课程设计期末大作业使用,该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 基于微信小程序的奶茶店点餐系统小程序源码和数据库(满分大作业),含有代码注释,满分大作业资源,新手也可看懂,期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为课程设计期末大作业使用,该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 基于微信小程序的奶茶店点餐系统小程序源码和数据库(满分大作业),含有代码注释,满分大作业资源,新手也可看懂,期末大作业
资源推荐
资源详情
资源评论
收起资源包目录
基于微信小程序的奶茶店点餐系统小程序源码和数据库(满分大作业) (174个子文件)
mvnw.cmd 6KB
.gitignore 298B
.gitignore 29B
demo.iml 16KB
milktea.iml 336B
maven-wrapper.jar 50KB
OrderServiceImpl.java 12KB
getExcleController.java 6KB
ExcelUtil.java 6KB
MavenWrapperDownloader.java 5KB
AdminServiceImpl.java 5KB
BannerServiceImpl.java 5KB
DeliveryController.java 5KB
MakerController.java 3KB
OrderController.java 3KB
AdminController.java 3KB
Order.java 3KB
Swagger2Configuration.java 3KB
MilkteaServiceImpl.java 3KB
ResultUtils.java 2KB
MilkteaController.java 2KB
OrderDrink.java 2KB
SelectInfo.java 2KB
UserController.java 2KB
UserServiceImpl.java 2KB
BannerController.java 2KB
MiniOrder.java 2KB
MiniOrderEntry.java 2KB
User.java 2KB
AdminLoginController.java 2KB
Milktea.java 1KB
MilkTeaForExcel.java 1KB
ExcelListener.java 1KB
Admin.java 1KB
BillPrintInfo.java 1KB
ExcelWriterFactory.java 1KB
WebConfig.java 1KB
TestFilter.java 1019B
LoginInterceptor.java 933B
OrderMapper.java 930B
DeliveryServiceImpl.java 925B
OrderService.java 855B
RevenueController.java 846B
Revenue.java 833B
MilkteaMapper.java 788B
OrderForMaker.java 768B
OrderInfoChart.java 709B
Result.java 673B
MakerServiceImpl.java 669B
RevenueServiceImpl.java 667B
MilkteaService.java 598B
LoginInfoDTO.java 571B
DemoApplication.java 537B
Banner.java 495B
AdminMapper.java 480B
AdminService.java 471B
DemoApplicationTests.java 464B
UserMapper.java 454B
UserService.java 405B
DeliveryMapper.java 396B
BannerMapper.java 387B
RevenueMapper.java 374B
MakerMapper.java 350B
DeliveryService.java 309B
BannerService.java 305B
RevenueService.java 260B
MakerService.java 238B
IpConfiguration.java 0B
cart.js 6KB
milkteaDetail.js 6KB
order.js 5KB
login.js 5KB
app.js 4KB
milktea.js 4KB
pay.js 4KB
changeAddress.js 3KB
index.js 2KB
orderDetail.js 2KB
address.js 2KB
user.js 1KB
util.js 472B
logs.js 261B
app.json 2KB
project.config.json 2KB
sitemap.json 191B
logs.json 77B
milkteaDetail.json 27B
cart.json 27B
milktea.json 27B
index.json 27B
order.json 27B
user.json 27B
pay.json 27B
orderDetail.json 27B
address.json 27B
changeAddress.json 27B
login.json 27B
README.md 28KB
mvnw 10KB
logo.png 73KB
共 174 条
- 1
- 2
资源评论
yava_free
- 粉丝: 5441
- 资源: 2095
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功