详细功能设计:请点击下面链接查看

java+SpringBoot+HTML+Mysq基于Java语言开发的奶茶外卖平台_哔哩哔哩_bilibili

源码+论文获取:

源码+论文获取请私信获取

摘  要

微信小程序奶茶外卖平台是计算机技术与餐饮管理相结合的产物,通过微信小程序奶茶外卖平台实现了对餐饮的高效管理。随着计算机技术的不断提高,计算机已经深入到社会生活的各个角落。为了满足餐饮人员对点单、结算、派送等进行高效的管理,在工作人员的具备一定的计算机操作能力的前提下,特编此基于微信小程序的奶茶外卖平台以提高餐饮实体门店的管理效率。

本系统基于Java语言开发的奶茶外卖平台,系统开发以SpringBoot为基础框架、MySQL作为数据库。MVC模式能够把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错。使得系统的开发和维护运行效率更高。系统搭建以Tomcat作为服务器,保证了访问网站的流畅性。系统建成后,将使外卖点餐更加高效和规范。本系统主要包含两个角色,小程序用户以及后台内容管理员,小程序用户包含:登录、注册、个人中心、个人信息修改、首页(新品展示,销量top)、商品分类、商品列表、商品详情、购物车、购买、我的订单等模块组成;管理员:管理员登录、商品信息管理、用户管理;通过系统各个模块的关联最终通过信息化的手段实现对外卖点餐高效管理。

关键词JAVA;MySQL;外卖;奶茶

Abstract

Wechat applet milk tea takeout platform is the product of the combination of computer technology and catering management. The efficient management of catering is realized through wechat applet milk tea takeout platform. With the continuous improvement of computer technology, computers have penetrated into every corner of social life. In order to meet the catering staff's efficient management of ordering, settlement and delivery, on the premise that the staff have certain computer operation ability, this milk tea takeout platform based on wechat applet is specially compiled to improve the management efficiency of catering physical stores.

The system is based on the milk tea takeout platform developed by java language. The system development takes springboot as the basic framework and MySQL as the database. MVC mode can divide complex web applications into logical parts, simplify development and reduce errors. Make the development and maintenance of the system more efficient. The system is built with Tomcat as the server to ensure the fluency of accessing the website. After the system is completed, it will make takeout ordering more efficient and standardized. The system mainly includes two roles: applet user and background content administrator. Applet user includes: login, registration, personal center, personal information modification, home page (new product display, sales top), commodity classification, commodity list, commodity details, shopping cart, purchase, my order and other modules; Administrator: administrator login, commodity information management and user management; Through the association of each module of the system, the efficient management of takeout ordering is finally realized by means of informatization.

Key words: Java; MySQL; take-out food; tea with milk

目录

1 绪论

1.1 研究背景和意义

1.1.1 研究背景

1.1.2 研究意义

1.2 国内外研究现状

1.3 开发设计内容

1.4 研究方法

1.5 本章小结

2 相关技术简介

2.1 软硬件要求

2.2 开发技术介绍

2.2.1 Spring MVC技术

2.2.2 开发框架Spring boot

2.2.3 bootstrap库详细介绍

2.3 本章小结

3 系统可行性与需求分析

3.1 需求分析

3.2 功能分析

3.3  系统可行性分析

3.3.1  经济上的可行性

3.3.2 技术可行性

3.3.3 操作可行性

3.3.5 法律可行性

3.4 本章小结

4 系统设计

4.1 数据库整体设计

4.2 数据库逻辑设计

4.3 数据库表设计

4.3.1 表汇总

4.4数据库E-R图

4.5 本章小结

5 系统实现

5.1 系统功能实现

5.1.1 系统整体模块

5.1.2  主要功能

5.2 系统实现

5.2.1 管理员登录系统

5.2.2 商品信息

5.2.3 用户管理

5.2.4 订单管理

5.2.5 用户首页

5.2.6 点单

5.2.7 商品详情

5.2.8 购买

5.2.9 购物车

5.2.10 收支信息管理

6 系统测试

6.1 测试方法

6.2 测试目的

6.3 测试用例

6.4 测试总结

6.5 测试结论

致谢

1 绪论

  1. 研究背景和意义

1.1.1 研究背景

在瞬息万变的互联网变化历程中,互联网技术一直是随着用户需求的变化而进一步演变革新。而随着微信成为国内的头部APP之一,它的不可替代性催生出了微信服务号,即微信小程序应用。微信显然是想仿照订阅号的路线,把内容之外的东西也连接到微信,而这些内容之外的东西,就是服务。

网络拉近了相隔千尺之人的距离,用户沉迷于丰富的网络世界中,却离现实越来越远。而微信小程序正是看重“重连现实”这点,希望用即用即走的方式激活线下的弱连接场景。现如今小程序的运用已经渗入到到我们生活的方方面面,例如医院挂号、餐厅排队、外卖点单等等。

在上学期间,本人因为生活需要,接触并深度使用过各种外卖APP和小程序。且在大学各课程的学习中对微信小程序的现状与发展这一问题产生了浓厚的兴趣,有极大的热情对其进行研究与分析,所以就以“基于微信的奶茶外卖平台的设计与实现”这个问题作为论文的题目。 

1.1.2 研究意义

本课题主要目标是设计并能够实现一个基于微信小程序的奶茶外卖平台,前台用户使用微信小程序,后台管理使用Java springboot + MySQL + mybits。用户通过小程序登录,查看菜品、添加购物车、下单;店家通过后台添加新品,进行用户管理和订单管理。微信小程序奶茶外卖平台是计算机技术与餐饮管理相结合的产物,通过微信小程序奶茶外卖平台实现了对餐饮的高效管理。随着计算机技术的不断提高,计算机已经深入到社会生活的各个角落。为了满足餐饮人员对点单、结算、派送等进行高效的管理,在工作人员的具备一定的计算机操作能力的前提下,特编此基于微信小程序的奶茶外卖平台以提高餐饮实体门店的管理效率。

1.2 开发设计内容

奶茶外卖平台实现个角色不同的用户操作功能,主要包含小程序用户以及后台内容管理员,小程序用户包含:登录、注册、个人中心、个人信息修改、首页(新品展示,销量top)、商品分类、商品列表、商品详情、购物车、购买、我的订单等模块组成;管理员:管理员登录、商品信息管理、用户管理等功能模块,所有模块关联保证整个系统有序进行。

1.3 研究方法

1、可行性分析:观察外卖餐饮管理行业,对整体方案进行可行性分析。

2、概要设计:对整体业务进行研究,划分出大概功能。

3、详细设计:对整个框架进行详细的设计,包括界面设计,数据库设计以及前后端接口设计。

4、代码实现:使用java技术栈对该平台进行代码开发。

5、测试:设计测试用例,使用黑盒测试对系统进行测试,找到并优化bug。

1.4 本章小结

本章主要阐述了研究的背景、研究的意义、应用现状、开发设计的内容以及研究的方法,通过以上内容概述了为什么要做这项研究、怎么做相关的研究设计以及自己最终想达到的效果。

2 相关技术简介

2.1 软硬件要求

由于本系统未涉及复杂的算法计算,为了能够利用最节约的成本以及简洁的代码达到最佳的效果,经过调研,计划采用Java语言来开发,具体的软硬件环境要求如下。

(1)硬件环境:Corei7处理器,内存要求8G及以上,硬盘50G以上

(2)服务器: 采用普通办公用个人计算机作为服务器,用来发布服务。

(3)开发工具:Idea

(4)操作系统:可以采用Windows7及以上系统。

(5)数据库系统:采用现在比较流行的MySQL数据库。

(6)服务器:采用Tomcat9。

(7)Java环境:JDK10。

(8)C端:谷歌浏览器。

2.2 开发技术介绍

2.2.1 Spring MVC技术

MVC 设计模式一般指 MVC 框架,M(Model)指数据模型层,V(View)指视图层,C(Controller)指控制层,MVC的运行模式可参考下图。

图2.1 微服务架构

2.2.2 开发框架Spring boot

Spring Boot框架是由Pivotal公司开发的新框架,其设计的根本原因是为了简化Spring框架应用过程中搭建以及开发过程复杂的配置。这个框架使用了比较特殊方式来进行相关配置,使Java开发的人员不再需要各类型自定义样板配置。框架Spring Boo能够在蓬勃的发展互联网开发领域作为先锋。MVC 的设计模式一般是指 MVC类型的框架, model通常是指数据的模型层, view通常是指是视图层, controller通常是指控制层。 MVC框架设计的目的是将数据的模型层和视图层相关的代码分离。

图2.2 Spring boot容器启动器

之前在使用传统Spring框架去做Java 的系统开发中,大量的 配置文件存在各类型的项目之中,导致开发的项目变得很是笨重,繁琐的配置以及第三方框架配置,导致整个开发以及项目的部署效率大大降低。Spring Boot 不是用来代替 Spring框架的,是用来提升所有 Spring 框架的开发人员开发工具。它集成了许多许多的常用第三方软件库,Spring Boot中这些软件库库几乎可以达到零配置即时可用,大部分的 Spring Boot 系统只需要要很少量配置就能够让Java开发人员启动项目。

通过LBMD引擎,让应用系统的开发变成固定化,形成一种新的开发者模式:用LEAP工具来搭建应用系统,也可以用LEAP来运行应用系统,从而达到资金量减少、减少工作量的前提下快速构建大型、复杂项目的目的。通过LEAP提供“模型驱动”可以灵活部署仅用少量的代码就可以完成大型项目,大大的减少Java程序员工作量,还降低了bug的出现风险。LEAP采用了SOA框架简化开发,还同时可使用二进制的开发机制,并且完整了SDK,也是众多程序员选择Spring Boot的原因。

2.2.3 bootstrap库详细介绍

bootstrap 是免费且开源的。代码托管、开发和维护都在同一个平台上直接处理完成的。开发人员可以直接用预编的 CSS 文件快速开发,也可以从 Bootstrap 源码自定义一个自己想要的模块。一个框架、多种设备。网站和应用能在 Bootstrap 的帮助下通过同一份源码快速、有效地适各种设备,如:手机、平板、PC端等。这一切都是 CSS 媒体查询的效果。功能完整的Bootstrap 框架提供了各种各样优美的文档,开发人员能在这里找到关于 HTML元素、HTML 和 CSS 组件以及 jQuery 插件等详细文档。

2.3 本章小结

本章主要介绍了整个课题所使用的技术,包括数据库的介绍、JDBC的相关介绍、tomcat的相关使用介绍、为什么选用spring boot作为开发框架,以及spring boot框架的详细介绍等内容。通过本章的介绍,明确了自己开发过程中用到的技术框架。

3 系统可行性与需求分析

3.1 需求分析

实现奶茶外卖小程序,提高餐饮实体门店制作配送一体化的综合能力。通过全面简洁的信息查询、删除和修改方式,提高订单配送的工作效率;通过使用本平台达到提高整个系统的管理水平、降低人力资源消耗、提高工作效率等目的。

3.2 功能分析

奶茶外卖微信小程序的目的是开发一个类似于现在市面上“喜茶go”、“瑞幸咖啡”、“奈雪的茶”等,一个供消费者、商家使用的餐饮服务配送平台。在用户端要实现的基本主要功能有:

(1) 登录功能:注册普通账号登录;也可以直接使用微信登录;登录后可以修改用户的基本信息,也可以退出。

(2) 商品列表(可按分类方式查找商品,也可模糊全局搜索)

(3)饮品选择:在点单栏目,直接点击每个饮品的“+”来增加饮品;也可以在饮品的详情页面,点击“加入购物车”在增加饮品。

(4)点餐列表:点餐栏目已经有数量的菜品,或者“购物车”栏。

(5) 资讯功能:后台录入资讯,在微信小程序外类点菜系统的资讯模板展示,用户可以任意浏览资讯列表和详细信息。

(6)饮品信息:点击到饮品详情页而,可以查看饮品的介绍,查看饮品简介、图片、详情。

(7) 查看用户的订单信息

(8) 修改用户信息

后台管理部分有:

(1) 商店商品管理:增删改查(后台录入饮品的相关信息,可以在小程序饮品列表里面一个个点击进去査看饮品详细信息;支持通过查询来查找所需要的饮品。)

(2) 用户信息管理:查看用户信息、可添加备注。

(3) 订单信息管理:查看订单清单,更新订单状态

3.3  系统可行性分析

3.3.1  经济上的可行性

本奶茶外卖平台,采用免费开源的Mysql作为数据库,开源的开发工具IDEA作为开发工具,用自己的电脑作为服务器,综上所属本项目在经济上是可行的。

3.3.2 技术可行性

本奶茶外卖平台采用Java语言作为后端开发语言,Mysql作为数据库,HTML、javascript等语言作为前端语言,以上语言都有成熟的框架,这些框架让编码没有那么难,所以,本奶茶外卖平台在技术上是可行的。

3.3.3 操作可行性

本奶茶外卖平台采用传统的系统操作形式,通过浏览器打开本系统,各项功能按照使用前后顺利平铺在左侧菜单栏,符合用户的操作习惯,所以本奶茶外卖平台在操作上是可行的。

3.3.5 法律可行性

本奶茶外卖平台仅用作毕业设计,不会对外开放,不会存在法律风险。

3.4 本章小结

本章介绍了功能的整体框架,系统的角色分配,不同角色用户的登录登出、商品基本信息模块、人员管理模块、等功能;能;通过本章的介绍基本确定了整个系统的整体框架以及系统的需求分析。

4 系统设计

4.1 数据库整体设计

数据库表E-R图, 实体联系图详细介绍每个表的关联。

图4.1 数据表E-R图

4.2 数据库逻辑设计

用户信息字典:用户ID、部门ID、用户账号、用户昵称、用户类型(00系统用户)、用户邮箱、手机号码、用户性别(0男 1女 2未知)、头像地址、密码、帐号状态(0正常 1停用)、删除标志(0代表存在 2代表删除)

商品表字典:名称、商品简介、商品封面图、商品视频、商品类别、发布时间、订购次数

商品评价表字典:用户姓名、用户id、商品id、商品名称、评价内容、评价时间

订购表字典:用户姓名、用户id、商品id、商品名称、订购价钱、订购时间

购物车:用户姓名、用户id、商品id、商品名称、商品封面图、添加时间、添加价钱

4.3 数据库表设计

4.3.1 表汇总

表名

功能说明

gwc

购物车

gmb

订购表

pjb

商品评价表

spb

商品表

Yhb

用户表

(1)用户表(yhb)

用户信息字典:用户ID、部门ID、用户账号、用户昵称、用户类型(00系统用户)、用户邮箱、手机号码、用户性别(0男 1女 2未知)、头像地址、密码、帐号状态(0正常 1停用)表结构如下表所示。

列名

数据类型

长度

是否主键

说明

user_id

varchar

255

用户ID

dept_id

varchar

255

部门ID

user_name

varchar

255

用户昵称

user_type

varchar

255

用户类型(00系统用户)

email

varchar

255

用户邮箱

phonenumber

varchar

255

手机号码

sex

varchar

255

用户性别(0男 1女)

avatar

varchar

255

头像地址

password

varchar

255

密码

status

varchar

255

帐号状态(0正常 1停用)

del_flag

varchar

255

删除标志(0代表存在 2代表删除)

表4.2 用户表

(2)商品表(spb)

商品表字典:名称、商品简介、商品封面图、商品视频、商品类别、发布时间、订购次数。表结构如下表所示。

列名

数据类型

长度

是否主键

说明

title

varchar

255

名称

jj

varchar

255

商品简介

pic

varchar

255

商品封面图

video

varchar

255

商品视频

types

varchar

255

商品类别

sctime

varchar

255

发布时间

counts

varchar

255

订购次数

表4.3 商品表

(3)商品评价表(pjb)

商品评价表字典:用户姓名、用户id、商品id、商品名称、评价内容、评价时间

。表结构如下表所示。

列名

数据类型

长度

是否主键

说明

Id

varchar

255

ID

Xm

varchar

255

用户姓名

yhid

varchar

255

用户id

spid

varchar

255

商品id

spmc

varchar

255

商品名称

nr

varchar

255

评价内容

sj

varchar

255

评价时间

表4.3商品评价表

(4)订购表(gmb)

订购表字典:用户姓名、用户id、商品id、商品名称、订购价钱、订购时间。表结构如下表所示。

列名

数据类型

长度

是否主键

说明

Id

varchar

255

角色ID

Xm

varchar

255

用户姓名

yhid

varchar

255

用户id

spid

varchar

255

商品id

spmc

varchar

255

商品名称

sj

varchar

255

订购时间

jq

varchar

255

订购价钱

表4.5订购表

(5)购物车(sys_role)

购物车:用户姓名、用户id、商品id、商品名称、商品封面图、添加时间、添加价钱。表结构如下表所示。

列名

数据类型

长度

是否主键

说明

Id

varchar

255

角色ID

Xm

varchar

255

用户姓名

yhid

varchar

255

用户id

spid

varchar

255

商品id

spmc

varchar

255

商品名称

tjtime

varchar

255

添加时间

price

varchar

255

添加价钱

表4.6 购物车表

4.4数据库E-R图

图4.8 E-R图

4.5 本章小结

本章详解介绍了本系统的数据库设计,包括了数据库的逻辑设计、数据库的表设计等模块,详细的介绍了本系统包含了哪些数据表以及每个表的表结构。通过本章的内容详细的了解本系统的数据库设计。

5 系统实现

5.1 系统功能实现

5.1.1 系统整体模块

图5.1 系统模块图

5.1.2  主要功能

详细功能:

登录注册:注册登录模块(用户注册自己的姓名电话等)

个人中心:用户个人信息模块

个人信息修改:用户在此模块修改自己的个人信息。

首页:用户进来第一眼看到的界面,包含滚动广告、最新产品、销量top商品

商品分类:用户根据自己喜欢的类型进行选择。

商品列表:用户在此模块查看所有的商品信息

商品详情:展示商品的详细信息,包括图片、价格、详细介绍等信息。

购物车:喜欢的商品添加购物车。

购买:用户直接购买自己需要的商品。

我的订单:展示客户历史订单信息。

5.2 系统实现

5.2.1 管理员登录系统

(1)功能介绍:管理员注册账号:管理员填写账号、个人信息注册账号

(2)操作流程:打开登录界面-输入账号-输入密码-点击登录,登录成功,跳转系统首页。

图5.2 管理员登录界面效果图

(3)功能核心代码:

login(){const that=this;this.axios.post(

that.global.server + that.global.hostname + "xtlogin",{ headers: { 'content-type': 'application/x-www-form-urlencoded'!");sessionStorage.setItem("xtyhuer", res.data.userid);sessionStorage.setItem("xtyhxm", res.data.xm);sessionStorage.setItem("xtzh",res.data.zh);sessionStorage.setItem("xtsex",res.data.sex);sessionStorage.setItem("xtage",res.data.age);sessionStorage.setItem("xtdz",res.data.dz);sessionStorage.setItem("xtdh",res.data.dh);sessionStorage.setItem("xtsfz",res.data.sfz);sessionStorage.setItem("xtysxm",res.data.ysxm);sessionStorage.setItem("xtysdh",res.data.ysdh);sessionStorage.setItem("xtyssfz",res.data.yssfz);sessionStorage.setItem("xtroles", res.data.roles);

that.$router.push({ path: "Home" });

} else {alert("登录失败,请重试!")}}).catch(function (e) {})},

5.2.2 商品信息

(1)功能介绍:此功能主要用来管理商品的信息,商品增加、删除、修改、模糊查询商品信息。

(2)操作流程:进入主界面界面-点击新增-弹出新增界面-依次输入:名称、商品简介、商品封面图、商品视频、商品类别等信息,点击提交,新增成功,关闭弹窗刷新列表。

图5.3 效果图

(3)功能核心代码:

public boolean checkPhone(String phone) throws Exception {

EncryptionDecryption a = new EncryptionDecryption("tkwj");

String sql = "select count(*) as num from t_wx_client where  phone = ? with ur ";

int num = txxJdbcTemplate.queryForObject(sql, new Object[] { a.encrypt(phone) }, Integer.class);

return num == 0;}

public boolean checkPhonemy(String phone, String openid) throws Exception {

EncryptionDecryption a = new EncryptionDecryption("tkwj");

String sql = "select count(*) as num from t_wx_client where  phone = ? and  openid != ? with ur ";

int num = txxJdbcTemplate.queryForObject(sql, new Object[] { a.encrypt(phone), openid }, Integer.class);

return num == 0;

}

public void updateUserinfo(String openid, String phone) throws Exception {

EncryptionDecryption a = new EncryptionDecryption("tkwj");

String sqlUpdate = "update t_wx_client set phone = ? where openid = ?";

Object[] obj = { a.encrypt(phone), openid };

txxJdbcTemplate.update(sqlUpdate, obj);

}

5.2.3 用户管理

(1)功能介绍:此功能主要用来管理用户的信息,管理员增加、删除、修改、模糊查询信息。

(2)操作流程:进入主界面界面-点击新增-弹出新增界面-依次输入:姓名、账号、密码、角色等信息,点击提交,新增成功,关闭弹窗刷新列表。

图5.4 效果图

(3)功能核心代码:

public List<Yyorg> searchOrgDao(String orgname, String branch) {

List<Yyorg> list = new ArrayList<Yyorg>();

List<String> objlist = new ArrayList<String>();

String orgnamesql = "";

String branchsql = "";

if (!"".equals(orgname) && orgname != null) {

orgnamesql = " and orgname = ?  ";

objlist.add(orgname);

}

if (!"".equals(branch) && branch != null && !"**".equals(branch)) {

branchsql = " and branch = ?  ";

objlist.add(branch);

}

Object[] obj = new Object[objlist.size()];

for (int i = 0; i < objlist.size(); i++) {

obj[i] = objlist.get(i);

}

String sql = "select * from txx.t_yyorg where 1 = 1 " + orgnamesql + branchsql + "  with ur";

list = txxJdbcTemplate.query(sql, obj, new RowMapper<Yyorg>() {

@Override

public Yyorg mapRow(ResultSet rs, int rowNum) throws SQLException {

Yyorg yyorg = new Yyorg();

yyorg.setBranch(rs.getString("branch"));

yyorg.setBranchname(rs.getString("branchname"));

yyorg.setOrgcode(rs.getString("orgcode"));

yyorg.setOrgname(rs.getString("orgname"));

yyorg.setAddress(rs.getString("address"));

return yyorg;

}

});

return list;

}

5.2.4 订单管理

(1)功能介绍:此功能主要用来管理订单的信息,管理员对订单删除、修改、模糊查询信息。

(2)操作流程:进入主界面界面-点击查询展示订单列表,点击查看查看订单详细信息,关闭弹窗刷新列表。

图5.5 效果图

(3)功能核心代码:

public int updateyyflag(String uuid, String flag) throws Exception {

String sqlUpdate = "update txx.t_yy set flag = ? where uuid = ? ";

Object[] obj = { flag, uuid };

return txxJdbcTemplate.update(sqlUpdate, obj);

}

public int insertYylog(String uuid, String oa, String flagb, String flaga) throws Exception {

String sqlUpdate = "INSERT INTO txx.T_CZLOG (uuid, oa, flagb, flaga,createtime) VALUES (?,?,?,?,?)";

Object[] obj = { uuid, oa, flagb, flaga, TimeUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss") };

return txxJdbcTemplate.update(sqlUpdate, obj);

}

public List<Yyorg> searchAllBlacklistDao(String szdate, String orgcode, AgntInfo ag) {

String branch = ag.getBranch();

List<String> objlist = new ArrayList<String>();

String branchsql = "";

String szdatesql = "";

String orgcodesql = "";

if (!"".equals(branch) && branch != null && !branch.equals("**")) {

branchsql = " and b.branch = ?  ";

objlist.add(branch);

}

if (!"".equals(szdate) && szdate != null) {

szdatesql = " and a.szdate = ?  ";

objlist.add(szdate);

}

if (!"".equals(orgcode) && orgcode != null) {

orgcodesql = " and a.orgcode = ?  ";

objlist.add(orgcode);

}

Object[] obj = new Object[objlist.size()];

for (int i = 0; i < objlist.size(); i++) {

obj[i] = objlist.get(i);

}

List<Yyorg> list = new ArrayList<Yyorg>();

String sql = "SELECT A.SZDATE, B.BRANCH,B.BRANCHNAME,B.ORGCODE,B.ORGNAME,B.ADDRESS FROM   TXX.t_blacklist A "

+ "LEFT JOIN txx.t_yyorg  B ON A.ORGCODE = B.ORGCODE " + "WHERE  1=1 " + branchsql + szdatesql

+ orgcodesql + " order by szdate desc WITH UR   ";

list = txxJdbcTemplate.query(sql, obj, new RowMapper<Yyorg>() {

@Override

public Yyorg mapRow(ResultSet rs, int rowNum) throws SQLException {

Yyorg yyorg = new Yyorg();

yyorg.setSzdate(rs.getString("szdate"));

yyorg.setBranch(rs.getString("branch"));

yyorg.setBranchname(rs.getString("branchname"));

yyorg.setOrgcode(rs.getString("orgcode"));

yyorg.setOrgname(rs.getString("orgname"));

yyorg.setAddress(rs.getString("address"));

return yyorg;

}

});

return list;

}

5.2.5 用户首页

(1)功能介绍:用户进来第一眼看到的界面,包含滚动广告、最新产品、销量top商品。

(2)操作流程:用户打开微信小程序,第一屏看到的内容。

图5.6 效果图

(3)功能核心代码:

public int insertBlacklist(String szdate, String orgcode) throws Exception {

String sqlUpdate = "INSERT INTO txx.t_blacklist ( szdate, orgcode) VALUES (?,?)";

Object[] obj = { szdate, orgcode };

return txxJdbcTemplate.update(sqlUpdate, obj);

}

public int deleteBlacklist(String szdate, String orgcode) throws Exception {

String sqlUpdate = "delete  from txx.t_blacklist where szdate = ? and orgcode = ?  ";

Object[] obj = { szdate, orgcode };

return txxJdbcTemplate.update(sqlUpdate, obj);

}

public List<Orgyytime> searchTsorgtime(String yydate, String orgcode, AgntInfo ag) {

String branch = ag.getBranch();

List<String> objlist = new ArrayList<String>();

String branchsql = "";

String yydatesql = "";

String orgcodesql = "";

if (!"".equals(branch) && branch != null && !branch.equals("**")) {

branchsql = " and b.branch = ?  ";

objlist.add(branch);

}

if (!"".equals(yydate) && yydate != null) {

yydatesql = " and a.yydate = ?  ";

objlist.add(yydate);

}

if (!"".equals(orgcode) && orgcode != null) {

orgcodesql = " and a.orgcode = ?  ";

objlist.add(orgcode);

}

Object[] obj = new Object[objlist.size()];

for (int i = 0; i < objlist.size(); i++) {

obj[i] = objlist.get(i);

}

List<Orgyytime> list = new ArrayList<Orgyytime>();

String sql = "SELECT ORDER BY STIME ASC WITH  ur ";

list = txxJdbcTemplate.query(sql, obj, new RowMapper<Orgyytime>() {

@Override

public Orgyytime mapRow(ResultSet rs, int rowNum) throws SQLException {

Orgyytime orgyytime = new Orgyytime();

orgyytime.setUuid(rs.getString("uuid"));

orgyytime.setYydate(rs.getString("yydate"));

orgyytime.setOrgcode(rs.getString("orgcode"));

orgyytime.setOrgname(rs.getString("orgname"));

orgyytime.setStime(rs.getString("stime").substring(0, 19));

orgyytime.setEtime(rs.getString("etime").substring(0, 19));

orgyytime.setNum(rs.getString("num"));

orgyytime.setTypes(rs.getString("types"));

orgyytime.setYysdtypes(rs.getString("yysdtypes"));

orgyytime.setBranch(rs.getString("branch"));

orgyytime.setBranchname(rs.getString("branchname"));

return orgyytime;

}

});

return list;

}

5.2.6 点单

(1)功能介绍:用户在此模块进行点单的操作。

(2)操作流程:进入主界面界面-点击点单-选择喜欢的分类-选择喜欢的商品。

图5.7效果图

(3)功能核心代码:

public int insertTsorgtime(String uuid, String orgcode, String yydate, String stime, String etime, String num,

String types) throws Exception {

String sqlUpdate = "INSERT INTO txx.t_orgtime (  uuid, orgcode, yydate, stime, etime, num, types ) VALUES (?,?,?,?,?,?,?)";

Object[] obj = { uuid, orgcode, yydate, stime, etime, num, types };

return txxJdbcTemplate.update(sqlUpdate, obj);

}

public int deleteTsorgtime(String uuid) throws Exception {

String sqlUpdate = "delete  from txx.t_orgtime where uuid = ?  ";

Object[] obj = { uuid };

return txxJdbcTemplate.update(sqlUpdate, obj);

}

public void updateTsorgtime(String uuid, String orgcode, String yydate, String stime, String etime, String num,

String types) throws Exception {

String sqlUpdate = "update txx.t_orgtime set orgcode = ?,yydate = ?,stime = ?,etime = ?,num = ?,types = ? where uuid = ?";

Object[] obj = { orgcode, yydate, stime, etime, num, types, uuid };

txxJdbcTemplate.update(sqlUpdate, obj);

}

public void plInsert(String szdate, String branch, String level) throws Exception {

String sqlUpdate = "";

List<String> objlist = new ArrayList<String>();

if ("1".equals(level)) {

sqlUpdate = "insert into txx.t_blacklist (szdate, orgcode) "

+ "SELECT  ?,orgcode FROM  txx.t_yyorg  WITH  ur ";

objlist.add(szdate);

} else {

sqlUpdate = "insert into txx.t_blacklist (szdate, orgcode) "

+ "SELECT  ?,orgcode FROM  txx.t_yyorg WHERE branch = ? WITH  ur ";

objlist.add(szdate);

objlist.add(branch);

Object[] obj = new Object[objlist.size()];

for (int i = 0; i < objlist.size(); i++) {

obj[i] = objlist.get(i);

}

txxJdbcTemplate.update(sqlUpdate, obj);

5.2.7 商品详情

(1)功能介绍:展示商品的详细信息,包括图片、价格、详细介绍等信息。

(2)操作流程:进入主界面界面-点击点单-选择喜欢的分类-选择喜欢的商品-点击进入商品详情。

图5.8 效果图

(3)功能核心代码:

public int checkSfz(String sfz) throws Exception {

EncryptionDecryption a = new EncryptionDecryption("tkwj");

String sql = "SELECT  count (*)  FROM t_wx_client WHERE  sfz = ? WITH  ur";

String[] parms = { a.encrypt(sfz) };

int num = txxJdbcTemplate.queryForObject(sql, parms, Integer.class);

return num;

}

public int checkSfzmy(String sfz, String openid) throws Exception {

EncryptionDecryption a = new EncryptionDecryption("tkwj");

String sql = "SELECT  count (*)  FROM t_wx_client WHERE  sfz = ? and openid != ? WITH  ur";

String[] parms = { a.encrypt(sfz), openid };

int num = txxJdbcTemplate.queryForObject(sql, parms, Integer.class);

return num;}

5.2.8 购买

(1)功能介绍:用户直接购买自己需要的商品。

(2)操作流程:入主界面界面-点击点单-选择喜欢的分类-选择喜欢的商品-点击进入商品详情-点击购买可以直接支付购买。

图5.9 效果图

(3)功能核心代码:

public void addClient(String openid, String cname, String sex, String sfz, String mobile, String cardno,

String agntnum, String level, String ysfz) {

String sqlUpdate = "insert into t_wx_client(openid, cname, sfz) values (?, ?, ?)";

Object[] obj = { openid, cname, sfz };

txxJdbcTemplate.update(sqlUpdate, obj);

}

public void updateClient(String openid, String sfz, String cardno, String agntnum, String level, String sex,

String cname, String mobile) {

String sqlUpdate = "update t_wx_client set sfz = ?,cname = ?,phone = ? where openid = ?";

Object[] obj = { sfz, cname, mobile, openid };

txxJdbcTemplate.update(sqlUpdate, obj);}

5.2.9 购物车

(1)功能介绍:购物车:喜欢的商品添加购物车。。

(2)操作流程:进入主界面界面-点击点单-选择喜欢的分类-选择喜欢的商品-点击进入商品详情-点击加入购物车可以直接加入购物车。

图5.10 维修人员管理界面效果图

(3)功能核心代码:

public void addCoupon(String sfz, String fcode, int num, String ysfz, String cardno, String enddate,

double discount, String version, int totals, double yj, double yhj) throws Exception {

String sqlUpdate = "insert into t_coupon(sfz, fcode, num, ysfz, cardno, enddate, discount,version,totals,yj,yhj) values (?, ?, ?, ?, ?, ?, ?,?,?,?,?)";

Object[] obj = { sfz, fcode, num, ysfz, cardno, enddate, discount, version, totals, yj, yhj };

txxJdbcTemplate.update(sqlUpdate, obj);

}

public void updateCardStatus(String mobile, String cname, String status) {

String sqlUpdate = "update t_valid_register set flag = ? where phone = ? and cname = ?";

Object[] obj = { status, mobile, cname };

txxJdbcTemplate.update(sqlUpdate, obj);

}

public void updateCardStatus(String cardno, String status) {

String sqlUpdate = "update t_hy_card set flag = ? where cardno = ?";

Object[] obj = { status, cardno };

txxJdbcTemplate.update(sqlUpdate, obj);

}

public void registCard(String openid, String sfz, String st_card, String version, String level, Double clbf,

Double xdbf, String agntnum, String enddate) {

String sqlUpdate = "insert into t_register_card(openid, sfz, cardno,version,cardlevel,clbf,xdbf,agntnum,enddate) values (?, ?, ?,?,?,?,?,?,?)";

Object[] obj = { openid, sfz, st_card, version, level, clbf, xdbf, agntnum, enddate };

txxJdbcTemplate.update(sqlUpdate, obj);

}

5.2.10 登录注册

(1)功能介绍:登录注册:注册登录模块(用户注册自己的姓名电话等)

(2)操作流程:点击我的-登陆注册-填写信息-登录或者注册成功。

(3)功能核心代码:

public List<Map<String, String>> queryCardBenefit(String openid) {

List<Map<String, String>> list = new ArrayList<Map<String, String>>();

String sql = "select a.fcode,b.fname,a.enddate,a.num,a.cardno,b.note from"

+ " (select a.fcode,a.num,a.cardno,a.enddate from t_coupon a"

+ " left join t_wx_client b on a.sfz = b.sfz" + " where b.openid = ?) a"

+ " left join t_data_dict b on a.fcode = b.fcode" + " with ur";

list = txxJdbcTemplate.query(sql, new Object[] { openid }, new RowMapper<Map<String, String>>() {

@Override

public Map<String, String> mapRow(ResultSet rs, int rowNum) throws SQLException {

Map<String, String> map = new HashMap<String, String>();

map.put("fcode", rs.getString("fcode"));

map.put("fname", rs.getString("fname"));

map.put("enddate", rs.getString("enddate"));

map.put("num", rs.getString("num"));

map.put("cardno", rs.getString("cardno"));

map.put("note", rs.getString("note"));

return map;

}

});

return list;

}

public int insertZsxxLog(String openid, String resultpic, String uploadpic) {

String sqlUpdate = "INSERT INTO txx.wx_zsxx ( openid, resultpic, uploadpic, hctime) VALUES (?,?,?,?)";

Object[] obj = { openid, resultpic, uploadpic, TimeUtil.getCurrentTime("yyyy-MM-dd HH:mm:ss") };

return txxJdbcTemplate.update(sqlUpdate, obj);

}

详细功能设计:请点击下面链接查看

java+SpringBoot+HTML+Mysq基于Java语言开发的奶茶外卖平台_哔哩哔哩_bilibili

源码+论文获取:

源码+论文获取请私信获取

java+SpringBoot+HTML+Mysq基于Java语言开发的奶茶外卖平台相关推荐

  1. java+SpringBoot+HTML+Mysq基于微信小程序的掌上博物馆游览

    详细功能设计:请点击下面链接查看 java+SpringBoot+HTML+Mysq基于微信小程序的掌上博物馆游览_哔哩哔哩_bilibili 源码+论文获取: 源码+论文获取请私信获取 摘  要 本 ...

  2. 基于java+SpringBoot+HTML+Mysq+微信小程序+小说阅读网站

     详细功能设计:请点击下面链接查看 基于java+SpringBoot+HTML+Mysq+微信小程序+小说阅读网站_哔哩哔哩_bilibili 源码+论文获取: 源码+论文获取请私信获取 基于Spr ...

  3. 基于java+SpringBoot+HTML+Mysq校园勤工助学平台

     详细功能设计:请点击下面链接查看 基于java+SpringBoot+HTML+Mysq校园勤工助学平台_哔哩哔哩_bilibili 源码+论文获取: 源码+论文获取请私信获取 校园勤工助学平台的设 ...

  4. java+SpringBoot+HTML+Mysq行政审批系统设计与实现

     详细功能设计:请点击下面链接查看 java+SpringBoot+HTML+Mysq行政审批系统设计与实现_哔哩哔哩_bilibili 源码+论文获取: 源码+论文获取请私信获取 目 录 摘 要 A ...

  5. Springboot毕设项目基于Java对运动心跳数据分析系统设计与实现455j4(java+VUE+Mybatis+Maven+Mysql)

    Springboot毕设项目基于Java对运动心跳数据分析系统设计与实现455j4(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8. ...

  6. springboot毕设项目基于Java酒店管理系统53blc(java+VUE+Mybatis+Maven+Mysql)

    springboot毕设项目基于Java酒店管理系统53blc(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql ...

  7. SpringBoot框架的基于java的疫情期间网课管理系统

    活动地址:毕业季·进击的技术er 博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 SpringBoot框架的基于java的疫情期间 ...

  8. 「实战案例」基于Python语言开发的信用评分卡

    信用风险计量模型可以包括跟个人信用评级,企业信用评级和国家信用评级.人信用评级有一系列评级模型组成,常见是A卡(申请评分卡).B卡(行为模型).C卡(催收模型)和F卡(反欺诈模型). 今天我们展示的是 ...

  9. 基于易语言开发的小说下载工具

    基于易语言开发的小说下载工具 这次的编程,是为了交作业,嘻嘻 老规矩,上个图 ***让我女朋友露个脸,哈哈哈哈哈*** 起因:看到论坛里面,没什么用易语言下载小说的软件,是易语言不好用吗?还是Pyth ...

最新文章

  1. 人的执念真的是非常的可怕
  2. 【Python】挑战SQL:图解Pandas的数据合并merge
  3. .net get set 初始化_RAM初始化的下板验证(Xilinx)
  4. ORACLE TEXT DATASTORE PREFERENCE(五)
  5. scala字符替换_如何替换Scala中的“坏”字符?
  6. 程序员的春天来了,赏花去!说走就走
  7. C语言图形库——EasyX常用函数
  8. 微信小程序学习笔记01:微信小程序概述
  9. 投影仪幕布增益_当贝投影带你看投影仪使用幕布和白墙的区别实测!
  10. 破解sourceInsight4
  11. Web 2.0理念在产品应用中的借鉴之处
  12. html单元格竖着排列,html表格,表头竖向固定,横向滚动的例子
  13. 黑金AX301 SDRAM读写
  14. xcode,cocoa开发:如何使用第三方的dylib
  15. vc6.0怎么新建c语言项目
  16. 对计算机网络的基础认识
  17. 2011新版工业技术 中文核心期刊目录总览
  18. cs与msf联动概述
  19. python中阶乘怎么写程序_Python 阶乘实例
  20. Laravel 之搜索引擎elasticsearch扩展Scout

热门文章

  1. 编程语言python用什么笔记本最好_这六种编程语言最适合初学者学习 不骗你!...
  2. 微信小程序 php读取数据,在微信小程序中如何获取输入数据
  3. 设计模式其中之一《代理模式》
  4. 【今日CV 计算机视觉论文速览 第129期】Wed, 12 Jun 2019
  5. Web基础配置篇(十一): Zookeeper的安装配置及使用
  6. 【云原生Docker系列项目实战第一篇】dockerfile+lnmp+workpress(星星温柔泛滥,人间至善)
  7. 产品笔记-《增长黑客》
  8. 推荐23个开挂网址,让你走向巅峰!
  9. STM32F407 芯片的学习 day07 iic通信方式 主芯片 与 at24c02之间的通讯
  10. Photoshop 笔记