基于javaweb的SpringBoot校园订餐系统(java+springboot+maven+layui+jsp+echarts+mysql)(用户、管理员、商家)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

001324570701

021324570701

031324570701

561324560701

571324560701

581324560701

591324560701

基于javaweb的SpringBoot校园订餐系统(java+springboot+maven+layui+jsp+echarts+mysql)(用户、管理员、商家)

1
2
3
4
5
6
7
8
9
10
11
12
13
用户:
H001 123456
H002 123456
H003 123456

管理员:
admin 123456

商家:
S001 123456
S002 123456
S003 123456
S004 123456

项目介绍

本校园网上订餐系统主要包括用户功能模块、商家功能模块和管理员功能模块三大部分,分为前后台,前台为普通用户登录,后台为管理员、商家登录。

(1)用户:用户可以查看系统首页界面信息,包括首页查看,带饭信息查看,常见菜式查看,主食查看,食堂查看,在线留言,用户可以进行注册登录,登录后功能有个人信息管理,            带饭管理,接收的带饭管理,收货地址管理,订单信息管理,收藏夹管理,钱包管理,安全退出

(2)管理员:管理员登录后主要功能模块包括个人信息管理,修改密码,滚动图片管理,菜品类别管理,食堂管理,菜品管理,留言管理,学生信息管理,商家信息管理。

(3)商家:商家注册登录后的主要功能有个人信息管理,修改密码,菜品管理,库存管理,订单管理,留言管理。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;  4.数据库:MySql 5.7/8.0版本均可; 5.是否Maven项目:是;

技术栈

后端:SpringBoot+Mybaits 前端:JSP +layui+jquery +echarts

使用说明

项目运行: 1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,前台访问地址: http://localhost:8088/onlineshopboot/ 普通用户账号、密码:H03/123 商家账号、密码:S001/123 管理员账号、密码:admin/123

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

@Controller
public class BrandController extends BaseController {
@Resource
BrandDAO brandDAO;
@Resource
CategoryDAO categoryDAO;
@Resource
MemberDAO memberDAO;
@Resource
ProductDAO productDAO;
@Resource
CartDAO cartDAO;
@Resource
Saveobject saveobject;

//后台查询品牌信息列表
@RequestMapping("/admin/brandList")
public String brandList(@RequestParam(defaultValue = "1",value = "pageNum") Integer pageNum,HttpServletRequest request) {
String key = request.getParameter("key");
HashMap map = new HashMap();
map.put("key", key);
PageHelper.startPage(pageNum, 10);
List<Brand> list = brandDAO.selectAll(map);
PageInfo<Brand> pageInfo = new PageInfo<Brand>(list);
request.setAttribute("pageInfo", pageInfo);
request.setAttribute("key", key);
return "brandlist";
}


//添加品牌信息
@RequestMapping("/admin/brandAdd")
public String brandAdd(Brand brand,HttpServletRequest request){
brand.setDelstatus("0");
brandDAO.add(brand);
return "redirect:brandList";
}

//后台查询品牌信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
	HashMap map = new HashMap();
map.put("key", key);
map.put("flag", "管理员");
PageHelper.startPage(pageNum, 10);
List<Message> list = messageDAO.selectAll(map);
for(int i=0;i<list.size();i++){
Member m = memberDAO.findById(list.get(i).getMemberid());
list.get(i).setMember(m);
}
PageInfo<Message> pageInfo = new PageInfo<Message>(list);
request.setAttribute("pageInfo", pageInfo);
request.setAttribute("key", key);
return "messagelist";
}


//商家后台留言列表
@RequestMapping("admin/messageItems")
public String messageItems(@RequestParam(defaultValue = "1",value = "pageNum") Integer pageNum,HttpServletRequest request) {
String key = request.getParameter("key");
User admin = (User)request.getSession().getAttribute("admin");
HashMap map = new HashMap();
map.put("key", key);
map.put("flag", "商家");
map.put("shopid",admin.getId());
PageHelper.startPage(pageNum, 10);
List<Message> list = messageDAO.selectAll(map);
for(int i=0;i<list.size();i++){
Member m = memberDAO.findById(list.get(i).getMemberid());
list.get(i).setMember(m);
}
PageInfo<Message> pageInfo = new PageInfo<Message>(list);
request.setAttribute("pageInfo", pageInfo);
request.setAttribute("key", key);
return "messageitems";
}


//留言回复
@RequestMapping("/admin/updateMessage")
public String updateMessage(Message message,HttpServletRequest request) {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
		
return "redirect:orderSuc";
}else{
return "redirect:addressMsg";
}

}

//成功页面
@RequestMapping("orderSuc")
public String orderSuc(HttpServletRequest request){
saveobject.getCartObject(request);
saveobject.getCategoryObject(request);
return "ordersuc";

}

//前台订单列表
@RequestMapping("orderList")
public String orderList(HttpServletRequest request){
saveobject.getMember(request);
Member member = (Member)request.getSession().getAttribute("sessionmember");
if(member!=null){
HashMap map = new HashMap();
map.put("memberid",member.getId());
List<Ordermsg> fklist = ordermsgDAO.selectAll(map);
for(int a=0;a<fklist.size();a++ ){
Member m = memberDAO.findById(fklist.get(a).getMemberid());
fklist.get(a).setMember(m);
Address address = addressDAO.findbyid(fklist.get(a).getAddrid());
fklist.get(a).setAddress(address);
User shop = userDAO.findById(fklist.get(a).getSaver());
fklist.get(a).setShop(shop);
}

request.setAttribute("fklist", fklist);
saveobject.getCategoryObject(request);
saveobject.getCartObject(request);

return "orderlist";
}else{
return "login";
}

}

//前台查看订单详情
@RequestMapping("orderDetails")
public String orderDetails(String orderno, HttpServletRequest request){
Member member = (Member)request.getSession().getAttribute("sessionmember");
List<Ordermsgdetails> list = ordermsgdetailsDAO.selectorderDetails(orderno);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
	HashMap map = new HashMap();
if(admin.getUsertype().equals("商家")){
map.put("saver",admin.getId());
}
List<Product> plist = productDAO.selectAll(map);
//ArrayList nslist = new ArrayList();
ArrayList nlist = new ArrayList();
ArrayList slist = new ArrayList();
for(Product product:plist){
nlist.add("'"+product.getProductname()+"'");
slist.add(product.getVote());
}
request.setAttribute("nlist", nlist);
request.setAttribute("slist", slist);
return "tjvoteproduct";
}


//销售额
@RequestMapping("admin/saleMoney")
public String saleMoney(HttpServletRequest request) {
User admin = (User)request.getSession().getAttribute("admin");
HashMap map = new HashMap();
if(admin.getUsertype().equals("商家")){
map.put("saver",admin.getId());
}
List<Ordermsg> olist = ordermsgDAO.selectSaleMoney(map);
//ArrayList nslist = new ArrayList();
ArrayList nlist = new ArrayList();
ArrayList slist = new ArrayList();
for(Ordermsg ordermsg:olist){
nlist.add("'"+ordermsg.getSavetime()+"'");
slist.add(ordermsg.getTotal());
}
request.setAttribute("nlist", nlist);
request.setAttribute("slist", slist);
return "tjsalemoney";
}

//订单量
@RequestMapping("admin/orderNum")
public String orderNum(HttpServletRequest request) {
User admin = (User)request.getSession().getAttribute("admin");
HashMap map = new HashMap();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
	
public static String getUTFStr(String str) {
if(str==null){
return "";
}

try {
str = new String(str.getBytes("ISO-8859-1"),"utf-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return str;
}

public static String getGBKStr(String str) throws UnsupportedEncodingException{
if(str==null){
return "";
}
return new String(str.getBytes("ISO-8859-1"),"GBK");
}

public static String getGB2312Str(String str) throws UnsupportedEncodingException{
if(str==null){
return "";
}
return new String(str.getBytes("ISO-8859-1"),"gb2312");
}


/**

*/
public static String getDay(String date,int day) {
String b = date.substring(0,10);
String c = b.substring(0,4);
String d = b.substring(5,7);
String f = b.substring(8,10);
String aa = c+"/"+d+"/"+f;
String a = "";
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM);
GregorianCalendar grc=new GregorianCalendar();
grc.setTime(new Date(aa));
grc.add(GregorianCalendar.DAY_OF_MONTH,day);
String resu = dateFormat.format(grc.getTime());
String t[]= resu.split("-");
String sesuu = "";
for(int i=0;i<t.length;i++)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
	 if(optionstr.length()>0)optionstr=optionstr.substring(0,optionstr.length()-3);

radio+="<label><input type='radio' name='"+name+"' "+check+" value=\""+optionstr+"\">"+optionstr+"</label>\n";
dxii++;
}
return radio;
}


public static void writeExcel(String fileName,String[] pros,java.util.List<List> list,HttpServletRequest request, HttpServletResponse response){
WritableWorkbook wwb = null;
try {
//首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
wwb = Workbook.createWorkbook(new File(fileName));
} catch (IOException e) {
e.printStackTrace();
}
if(wwb!=null){
//创建一个可写入的工作表
//Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置
WritableSheet ws = wwb.createSheet("sheet1", 0);
ws.setColumnView(0,20);
ws.setColumnView(1,20);
ws.setColumnView(2,20);
ws.setColumnView(3,20);
ws.setColumnView(4,20);
ws.setColumnView(5,20);

try {


for(int i=0;i<pros.length;i++)
{
Label label1 = new Label(i, 0,"");

label1.setString(pros[i]);
ws.addCell(label1);
}

} catch (RowsExceededException e1) {


项目链接:
https://javayms.github.io?id=501524180701201jc
https://javayms.pages.dev?id=501524180701201jc