一、项目介绍
论文先介绍当前基于Web的艺术展览馆艺术品管理系统的现状,然后调研开发这一系统的主流技术,最终选择通过Java的SpringBoot框架开发,选择轻量级的关系型MySQL数据库存储数据。接着进行系统的需求分析、功能设计、数据库设计,最后进行编码实现。基于Web的艺术展览馆艺术品管理系统主要包括了前台和后台信息管理两个部分,前台实现艺术品浏览、艺术品作者浏览、公告信息查看、留言板等,后台实现实现艺术品管理、艺术品作者管理、公告管理、留言管理、艺术品去向管理、系统管理功能。
关键词:艺术展览馆;艺术品;Java;MySQL;SpringBoot
二、开发环境
开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————
三、功能介绍
根据系统需求的描述,可以把基于Web的艺术展览馆艺术品管理系统划分为多个功能模块,如用户管理、艺术品管理、艺术品作者管理、公告管理、留言管理、艺术品去向管理、系统管理。其中系统功能图如4.1所示。
图4.1:系统功能模块图
具体如下:
1)网站首页:艺术品浏览展示,艺术品作者线下。供会员浏览查看。
2)注册登录:实现用户注册成会员,登录系统实现,注册成功之后默认为登录状态。
3)作品基本信息管理模块:对作品类别的管理和作品库的管理。
4)作者管理模块:可以在这里查看到馆藏艺术品作者在该馆内的所有作品,以及作者的个人基本信息和联系方式等。
5)作品去向管理模块:对馆内艺术品的流向以及丢失和损坏情况进行及时的记录和统计。
6)用户管理模块:分为系统用户管理和美术馆员工信息管理两部分。系统用户将主要分为普通用户和管理员用户。普通用户可以使用系统对作品基本信息、作品作者、作品去向以及馆内员工信息进行管理,还可以对自己的基本信息和登录密码进行修改。管理员用户除了可以执行普通用户的权限外还可以对其他用户信息进行查看、增加、修改和删除操作
7)前台会员查看作者信息、查看作者的作品、作品评论、留言管理
四、核心代码
部分代码:
package com.example.controller;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {
@Resource
private CaiwuService caiwuService;
@PostMapping
public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
caiwuService.add(caiwu);
return Result.success(caiwu);
}
@PostMapping("/deleteList")
public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
caiwuService.deleteList(caiwu.getList());
return Result.success();
}
@DeleteMapping("/{id}")
public Result delete(@PathVariable Long id) {
caiwuService.delete(id);
return Result.success();
}
@PutMapping
public Result update(@RequestBody CaiwuVo caiwu) {
caiwuService.update(caiwu);
return Result.success();
}
@GetMapping("/{id}")
public Result<Caiwu> detail(@PathVariable Integer id) {
Caiwu caiwu = caiwuService.findById(id);
return Result.success(caiwu);
}
@GetMapping
public Result<List<Caiwu>> all() {
return Result.success(caiwuService.list());
}
@PostMapping("/page")
public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
return Result.success(caiwuService.findPage(caiwuVo));
}
@PostMapping("/login")
public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
throw new CustomException(ResultCode.PARAM_LOST_ERROR);
}
Caiwu login = caiwuService.login(caiwu);
// if(!login.getStatus()){
// return Result.error("1001","状态限制,无法登录系统");
// }
if(login != null) {
HashMap hashMap = new HashMap();
hashMap.put("user", login);
Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
String token = JwtUtil.creatToken(map);
hashMap.put("token", token);
return Result.success(hashMap);
}else {
return Result.error();
}
}
@PutMapping("/updatePassword")
public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
Caiwu caiwu = caiwuService.findById(info.getId());
String oldPassword = SecureUtil.md5(info.getMima());
if (!oldPassword.equals(caiwu.getMima())) {
return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
}
info.setMima(SecureUtil.md5(info.getNewPassword()));
Caiwu caiwu1 = new Caiwu();
BeanUtils.copyProperties(info, caiwu1);
caiwuService.update(caiwu1);
return Result.success();
}
}
五、效果图
六、文章目录
目 录
摘 要 III
Abstract IV
第1章 绪论 1
1.1系统开发背景 1
1.2系统研究现状 1
1.3系统开发意义 2
1.4研究内容 3
第2章 相关技术介绍 4
2.1 JAVA语言 4
2.2 开发工具 4
2.3 数据库技术 5
2.4 SpringBoot框架 5
第3章 系统分析 6
3.1 系统的需求分析 6
3.1.1 系统功能性需求 6
3.1.2 系统非功能性需求 6
3.2 管理员功能需求 7
3.2.1 管理员用例图 7
3.2.2 管理员用例规约 7
3.3 员工功能需求 8
3.3.1 员工用例图 8
3.2.3 员工用例规约 9
3.4 会员功能需求 10
3.4.1 会员用例图 10
3.4.2 会员用例规约 11
第4章 系统设计 12
4.1系统架构设计 12
4.2系统功能设计 12
4.3数据库层的设计 13
4.3.1 数据库逻辑结构设计 13
4.3.2 数据库物理结构设计 14
第5章 系统实现 18
5.1前台首页的实现 18
5.2用户登录模块实现 18
5.3系统管理模块的实现 19
5.4用户管理模块的实现 21
5.5前台信息管理模块的实现 23
5.6作品去向模块的实现 25
第6章 系统测试 27
6.1 系统开发环境和运行条件 27
6.2 系统测试 27
6.2.1 测试说明 27
6.2.2 功能测试 27
6.2.3 测试结论 30
总结 31
参考文献 32
致谢 34