基于javaweb的SpringBoot生鲜商城系统(java+springboot+maven+vue+elementui+layui+mysql)

运行环境

Java≥8、MySQL≥5.7、Node.js≥14

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可

❗没学过node.js的不要搞前后端分离项目

适用

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

功能说明

341424130701

361424130701

371424130701

381424130701

391424130701

401424130701

411424130701

基于javaweb的SpringBoot生鲜商城系统(java+springboot+maven+vue+elementui+layui+mysql)

项目介绍

基于SpringBoot Vue的生鲜交易系统

角色:管理员、用户、商家

用户:用户系统,在系统首页可以查看首页,生鲜信息,公告信息,个人中心,后台管理,购物车等内容

商家:商家登录系统后,可以对首页,个人中心,生鲜信息管理,广告信息管理,生鲜仓库管理,生鲜出库管理,订单管理等

管理员:管理员登录进入系统可以对首页,个人中心,用户管理,商家管理,生鲜信息管理,生鲜分类管理,广告信息管理,生鲜仓库管理,生鲜出库管理,系统管理等进行相应操作

环境需要

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

前端:Vue+ElementUI+Layui+HTML+CSS+JS

使用说明

项目运行: 1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;  

文档介绍(课题背景与意义、系统实现功能、课题研究现状、系统相关技术、java技术、B/S架构、Mysql介绍、Mysql环境配置、Springboot框架、系统需求分析、系统功能、可行性研究、经济可行性、技术可行性、运行可行性、事件可行性、系统业务过程分析、系统业务过程分析、系统用例图、系统设计、数据库设计、系统整体设计、系统设计思想、系统流程图、系统详情设计、系统功能模块、系统功能模块、管理员功能模块):

 生鲜首页展示:

生鲜列表展示页面:

 生鲜详情展示页:

 购物车详情信息:

后台登录管理页面:

后台管理功能:

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
52
53
    */
@RequestMapping("/query")
public R query(ShangjiajinggaoEntity shangjiajinggao){
EntityWrapper< ShangjiajinggaoEntity> ew = new EntityWrapper< ShangjiajinggaoEntity>();
ew.allEq(MPUtil.allEQMapPre( shangjiajinggao, "shangjiajinggao"));
ShangjiajinggaoView shangjiajinggaoView = shangjiajinggaoService.selectView(ew);
return R.ok("查询商家警告成功").put("data", shangjiajinggaoView);
}

/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
ShangjiajinggaoEntity shangjiajinggao = shangjiajinggaoService.selectById(id);
return R.ok().put("data", shangjiajinggao);
}

/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
ShangjiajinggaoEntity shangjiajinggao = shangjiajinggaoService.selectById(id);
return R.ok().put("data", shangjiajinggao);
}




/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody ShangjiajinggaoEntity shangjiajinggao, HttpServletRequest request){
shangjiajinggao.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(shangjiajinggao);
shangjiajinggaoService.insert(shangjiajinggao);
return R.ok();
}

/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody ShangjiajinggaoEntity shangjiajinggao, HttpServletRequest request){
shangjiajinggao.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(shangjiajinggao);
shangjiajinggaoService.insert(shangjiajinggao);
return R.ok();
}

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
52
53
54
public class NewsController {
@Autowired
private NewsService newsService;





/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,NewsEntity news,
HttpServletRequest request){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));

return R.ok().put("data", page);
}

/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,NewsEntity news,
HttpServletRequest request){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
return R.ok().put("data", page);
}

/**
* 列表
*/
@RequestMapping("/lists")
public R list( NewsEntity news){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
return R.ok().put("data", newsService.selectListView(ew));
}

/**
* 查询
*/
@RequestMapping("/query")
public R query(NewsEntity news){
EntityWrapper< NewsEntity> ew = new EntityWrapper< NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
NewsView newsView = newsService.selectView(ew);
return R.ok("查询公告信息成功").put("data", newsView);
}

/**
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
				c.setTime(new Date()); 
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}

Wrapper<ShengxianfenleiEntity> wrapper = new EntityWrapper<ShengxianfenleiEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}


int count = shengxianfenleiService.selectCount(wrapper);
return R.ok().put("count", count);
}








}

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
 /**
* 查询
*/
@RequestMapping("/query")
public R query(StoreupEntity storeup){
EntityWrapper< StoreupEntity> ew = new EntityWrapper< StoreupEntity>();
ew.allEq(MPUtil.allEQMapPre( storeup, "storeup"));
StoreupView storeupView = storeupService.selectView(ew);
return R.ok("查询收藏表成功").put("data", storeupView);
}

/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
StoreupEntity storeup = storeupService.selectById(id);
return R.ok().put("data", storeup);
}

/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
StoreupEntity storeup = storeupService.selectById(id);
return R.ok().put("data", storeup);
}




/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody StoreupEntity storeup, HttpServletRequest request){
storeup.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(storeup);
storeup.setUserid((Long)request.getSession().getAttribute("userId"));
storeupService.insert(storeup);
return R.ok();
}
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
52
   }

/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
ShengxianxinxiEntity shengxianxinxi = shengxianxinxiService.selectById(id);
shengxianxinxi.setClicknum(shengxianxinxi.getClicknum()+1);
shengxianxinxi.setClicktime(new Date());
shengxianxinxiService.updateById(shengxianxinxi);
return R.ok().put("data", shengxianxinxi);
}



/**
* 赞或踩
*/
@RequestMapping("/thumbsup/{id}")
public R vote(@PathVariable("id") String id,String type){
ShengxianxinxiEntity shengxianxinxi = shengxianxinxiService.selectById(id);
if(type.equals("1")) {
shengxianxinxi.setThumbsupnum(shengxianxinxi.getThumbsupnum()+1);
} else {
shengxianxinxi.setCrazilynum(shengxianxinxi.getCrazilynum()+1);
}
shengxianxinxiService.updateById(shengxianxinxi);
return R.ok("投票成功");
}

/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody ShengxianxinxiEntity shengxianxinxi, HttpServletRequest request){
shengxianxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(shengxianxinxi);
shengxianxinxiService.insert(shengxianxinxi);
return R.ok();
}

/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody ShengxianxinxiEntity shengxianxinxi, HttpServletRequest request){
shengxianxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(shengxianxinxi);
shengxianxinxiService.insert(shengxianxinxi);
return R.ok();


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