基于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的不要搞前后端分离项目

适用

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

功能说明

201424030701

211424030701

221424030701

231424030701

241424030701

251424030701

基于javaweb的SpringBoot漫画之家管理系统(java+springboot+maven+vue+elementui+layui+mysql)

1
2
3
4
5
6
7
8
9
10
管理员
admin 123456

用户
用户账号1 123456
用户账号2 123456
用户账号3 123456
用户账号4 123456
用户账号5 123456
用户账号6 123456

角色:管理员、用户

管理员:管理员登录进入系统可以查看首页,个人中心,用户管理,漫画管理,同人插画管理,漫画活动管理,商品管理,论坛管理,我的收藏管理,留言板管理,系统管理,订单管理等功能

用户:在用户管理页面中可以查看索引,用户账号,用户姓名,性别,联系方式,头像等内容,并进行详情,修改和删除等操作

使用人群:
正在做毕设的学生,或者需要项目实战练习的Java学习者

由于本程序规模不大,可供课程设计,毕业设计学习演示之用

技术栈
后端: SpringBoot+Mybaits
前端:Vue +ElementUI +Layui +HTML+CSS+JS

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
 * 分组统计
*/
@IgnoreAuth
@RequestMapping("/group/{tableName}/{columnName}")
public R group(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("table", tableName);
params.put("column", columnName);
List<Map<String, Object>> result = commonService.selectGroup(params);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
for(Map<String, Object> m : result) {
for(String k : m.keySet()) {
if(m.get(k) instanceof Date) {
m.put(k, sdf.format((Date)m.get(k)));
}
}
}
return R.ok().put("data", result);
}

/**
* (按值统计)
*/
@IgnoreAuth
@RequestMapping("/value/{tableName}/{xColumnName}/{yColumnName}")
public R value(@PathVariable("tableName") String tableName, @PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("table", tableName);
params.put("xColumn", xColumnName);
params.put("yColumn", yColumnName);
List<Map<String, Object>> result = commonService.selectValue(params);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
for(Map<String, Object> m : result) {
for(String k : m.keySet()) {
if(m.get(k) instanceof Date) {
m.put(k, sdf.format((Date)m.get(k)));
}
}
}
return R.ok().put("data", result);
}

/**
* (按值统计)时间统计类型
*/
@IgnoreAuth
@RequestMapping("/value/{tableName}/{xColumnName}/{yColumnName}/{timeStatType}")
public R valueDay(@PathVariable("tableName") String tableName, @PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName, @PathVariable("timeStatType") String timeStatType) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("table", tableName);
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
   		address.setUserid((Long)request.getSession().getAttribute("userId"));
}
EntityWrapper<AddressEntity> ew = new EntityWrapper<AddressEntity>();
PageUtils page = addressService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, address), params), params));

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

/**
* 前端列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,AddressEntity address,
HttpServletRequest request){
if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
address.setUserid((Long)request.getSession().getAttribute("userId"));
}
EntityWrapper<AddressEntity> ew = new EntityWrapper<AddressEntity>();
PageUtils page = addressService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, address), params), params));
return R.ok().put("data", page);
}

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

/**
* 查询
*/
@RequestMapping("/query")
public R query(AddressEntity address){
EntityWrapper< AddressEntity> ew = new EntityWrapper< AddressEntity>();
ew.allEq(MPUtil.allEQMapPre( address, "address"));
AddressView addressView = addressService.selectView(ew);
return R.ok("查询地址成功").put("data", addressView);
}
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
	params.put("column", columnName);
if(StringUtils.isNotBlank(level)) {
params.put("level", level);
}
if(StringUtils.isNotBlank(parent)) {
params.put("parent", parent);
}
List<String> data = commonService.getOption(params);
return R.ok().put("data", data);
}

/**
* 根据table中的column获取单条记录
* @param table
* @param column
* @return
*/
@IgnoreAuth
@RequestMapping("/follow/{tableName}/{columnName}")
public R getFollowByOption(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName, @RequestParam String columnValue) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("table", tableName);
params.put("column", columnName);
params.put("columnValue", columnValue);
Map<String, Object> result = commonService.getFollowByOption(params);
return R.ok().put("data", result);
}

/**
* 修改table表的sfsh状态
* @param table
* @param map
* @return
*/
@RequestMapping("/sh/{tableName}")
public R sh(@PathVariable("tableName") String tableName, @RequestBody Map<String, Object> map) {
map.put("table", tableName);
commonService.sh(map);
return R.ok();
}

/**
* 获取需要提醒的记录数
* @param tableName
* @param columnName
* @param type 1:数字 2:日期
* @param map
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
     	ew.allEq(MPUtil.allEQMapPre( manhua, "manhua")); 
return R.ok().put("data", manhuaService.selectListView(ew));
}

/**
* 查询
*/
@RequestMapping("/query")
public R query(ManhuaEntity manhua){
EntityWrapper< ManhuaEntity> ew = new EntityWrapper< ManhuaEntity>();
ew.allEq(MPUtil.allEQMapPre( manhua, "manhua"));
ManhuaView manhuaView = manhuaService.selectView(ew);
return R.ok("查询漫画成功").put("data", manhuaView);
}

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

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



/**
* 赞或踩
*/
@RequestMapping("/thumbsup/{id}")
public R vote(@PathVariable("id") String id,String type){
ManhuaEntity manhua = manhuaService.selectById(id);
1
2
3
4
5
6
7
8
9
10
11
12
13
14




/**
* 漫画活动
* 后端接口
* @email
*/
@RestController
@RequestMapping("/manhuahuodong")
public class ManhuahuodongController {
@Autowired
private ManhuahuodongService manhuahuodongService;
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
	if(tableName.equals("yonghu")) {
yuegao.setYonghuzhanghao((String)request.getSession().getAttribute("username"));
}
EntityWrapper<YuegaoEntity> ew = new EntityWrapper<YuegaoEntity>();
PageUtils page = yuegaoService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yuegao), params), params));

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

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

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

/**
* 查询
*/
@RequestMapping("/query")
public R query(YuegaoEntity yuegao){
EntityWrapper< YuegaoEntity> ew = new EntityWrapper< YuegaoEntity>();
ew.allEq(MPUtil.allEQMapPre( yuegao, "yuegao"));
YuegaoView yuegaoView = yuegaoService.selectView(ew);
return R.ok("查询约稿成功").put("data", yuegaoView);
}

/**
* 后端详情
*/
@RequestMapping("/info/{id}")


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