目录
大家好呀,我是一个混迹在java圈的码农。今天要和大家分享的是 一款基于SpringBoot+Vue的个人云盘管理系统,项目源码请点击文章末尾联系我哦~目前有各类成品 毕设 JavaWeb SSM SpringBoot等等项目框架,源码丰富,欢迎咨询。
一、项目介绍
传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装个人云盘管理系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,个人云盘管理系统的有效运用可以帮助管理人员准确快速地处理信息。
个人云盘管理系统在对开发工具的选择上也很慎重,为了便于开发实现,选择的开发工具为Eclipse,选择的数据库工具为Mysql。以此搭建开发环境实现个人云盘管理系统的功能。其中管理员管理用户,新闻公告。
个人云盘管理系统是一款运用软件开发技术设计实现的应用系统,在信息处理上可以达到快速的目的,不管是针对数据添加,数据维护和统计,以及数据查询等处理要求,个人云盘管理系统都可以轻松应对。
关键词:个人云盘管理系统;SSM框架,系统分析,数据库设计
二、开发环境
开发系统:Windows
JDK版本:Java JDK1.8(推荐)
开发工具:IDEA/MyEclipse(推荐IDEA)
数据库版本: mysql8.0(推荐)
数据库可视化工具: navicat
服务器:SpringBoot自带 apache tomcat
框架:springboot,vue
三、功能介绍
用户信息管理页面,此页面提供给管理员的功能有:用户信息的查询管理,可以删除用户信息、修改用户信息、新增用户信息,还进行了对用户名称的模糊查询的条件。
博客信息管理页面,此页面提供给管理员的功能有:查看已发布的博客信息数据,修改博客信息,博客信息作废,即可删除,还进行了对博客信息名称的模糊查询 博客信息信息的类型查询等等一些条件。
视频信息管理页面,此页面提供给管理员的功能有:根据视频信息进行条件查询,还可以对视频信息进行新增、修改、查询操作等等。
论坛信息管理页面,此页面提供给管理员的功能有:根据论坛信息进行新增、修改、查询操作等等。
四、核心代码
/**
* 书籍信息
* 后端接口
* @author
* @email
*/
@RestController
@Controller
@RequestMapping("/shuji")
public class ShujiController {
private static final Logger logger = LoggerFactory.getLogger(ShujiController.class);
@Autowired
private ShujiService shujiService;
@Autowired
private TokenService tokenService;
@Autowired
private DictionaryService dictionaryService;
//级联表service
@Autowired
private YonghuService yonghuService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
String role = String.valueOf(request.getSession().getAttribute("role"));
if(false)
return R.error(511,"永不会进入");
else if("用户".equals(role))
params.put("yonghuId",request.getSession().getAttribute("userId"));
if(params.get("orderBy")==null || params.get("orderBy")==""){
params.put("orderBy","id");
}
PageUtils page = shujiService.queryPage(params);
//字典表数据转换
List<ShujiView> list =(List<ShujiView>)page.getList();
for(ShujiView c:list){
//修改对应字典表字段
dictionaryService.dictionaryConvert(c, request);
}
return R.ok().put("data", page);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id, HttpServletRequest request){
logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
ShujiEntity shuji = shujiService.selectById(id);
if(shuji !=null){
//entity转view
ShujiView view = new ShujiView();
BeanUtils.copyProperties( shuji , view );//把实体数据重构到view中
//级联表
YonghuEntity yonghu = yonghuService.selectById(shuji.getYonghuId());
if(yonghu != null){
BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setYonghuId(yonghu.getId());
}
//修改对应字典表字段
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody ShujiEntity shuji, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,shuji:{}",this.getClass().getName(),shuji.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
if(false)
return R.error(511,"永远不会进入");
else if("用户".equals(role))
shuji.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
Wrapper<ShujiEntity> queryWrapper = new EntityWrapper<ShujiEntity>()
.eq("shuji_name", shuji.getShujiName())
.eq("shuji_types", shuji.getShujiTypes())
.eq("yonghu_id", shuji.getYonghuId())
.eq("shuji_clicknum", shuji.getShujiClicknum())
.eq("insert_time", new SimpleDateFormat("yyyy-MM-dd").format(new Date()))
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
ShujiEntity shujiEntity = shujiService.selectOne(queryWrapper);
if(shujiEntity==null){
shuji.setShujiClicknum(1);
shuji.setInsertTime(new Date());
shuji.setCreateTime(new Date());
shujiService.insert(shuji);
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
/**
* 后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody ShujiEntity shuji, HttpServletRequest request){
logger.debug("update方法:,,Controller:{},,shuji:{}",this.getClass().getName(),shuji.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
// if(false)
// return R.error(511,"永远不会进入");
// else if("用户".equals(role))
// shuji.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
//根据字段查询是否有相同数据
Wrapper<ShujiEntity> queryWrapper = new EntityWrapper<ShujiEntity>()
.notIn("id",shuji.getId())
.andNew()
.eq("shuji_name", shuji.getShujiName())
.eq("shuji_types", shuji.getShujiTypes())
.eq("yonghu_id", shuji.getYonghuId())
.eq("shuji_clicknum", shuji.getShujiClicknum())
.eq("insert_time", new SimpleDateFormat("yyyy-MM-dd").format(shuji.getInsertTime()))
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
ShujiEntity shujiEntity = shujiService.selectOne(queryWrapper);
if("".equals(shuji.getShujiPhoto()) || "null".equals(shuji.getShujiPhoto())){
shuji.setShujiPhoto(null);
}
if("".equals(shuji.getShujiFile()) || "null".equals(shuji.getShujiFile())){
shuji.setShujiFile(null);
}
if(shujiEntity==null){
shujiService.updateById(shuji);//根据id更新
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids){
logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
shujiService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
五、效果图
六、源码获取:
同系统在主页搜索资源可下载~
👇🏻获取联系方式在文章末尾👇🏻
有需要的伙伴可以点击下方名片,与我联系哦~