目录
大家好呀,我是一个混迹在java圈的码农。今天要和大家分享的是 一款基于SpringBoot+Vue的民族婚纱预定管理系统,项目源码请点击文章末尾联系我哦~目前有各类成品 毕设 JavaWeb SSM SpringBoot等等项目框架,源码丰富,欢迎咨询。
一、项目介绍
现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本民族婚纱预定系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此民族婚纱预定系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线选择试题并完成答题,在线查看考核分数。管理员管理字典管理、公告管理、作品管理、作品收藏管理、作品留言管理、摄影师收藏管理、摄影师评价管理、摄影师留言管理、摄影师预约管理、用户管理、摄影师管理、管理员管理等功能。民族婚纱预定系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。
关键词:民族婚纱预定系统;SSM框架;Mysql;自动化
二、开发环境
开发系统:Windows
JDK版本:Java JDK1.8(推荐)
开发工具:IDEA/MyEclipse(推荐IDEA)
数据库版本: mysql8.0(推荐)
数据库可视化工具: navicat
服务器:SpringBoot自带 apache tomcat
框架:springboot,vue
三、功能介绍
摄影师列表页面,此页面提供给管理员的功能有:查看摄影师、新增摄影师、修改摄影师、删除摄影师等。公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。下图就是公告信息管理页面。公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。下图就是公告类型管理页面。
四、核心代码
/**
* 摄影师评价
* 后端接口
* @author
* @email
*/
@RestController
@Controller
@RequestMapping("/sheyingshiCommentback")
public class SheyingshiCommentbackController {
private static final Logger logger = LoggerFactory.getLogger(SheyingshiCommentbackController.class);
@Autowired
private SheyingshiCommentbackService sheyingshiCommentbackService;
@Autowired
private TokenService tokenService;
@Autowired
private DictionaryService dictionaryService;
//级联表service
@Autowired
private YonghuService yonghuService;
@Autowired
private SheyingshiService sheyingshiService;
/**
* 后端列表
*/
@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"));
else if("摄影师".equals(role))
params.put("sheyingshiId",request.getSession().getAttribute("userId"));
if(params.get("orderBy")==null || params.get("orderBy")==""){
params.put("orderBy","id");
}
PageUtils page = sheyingshiCommentbackService.queryPage(params);
//字典表数据转换
List<SheyingshiCommentbackView> list =(List<SheyingshiCommentbackView>)page.getList();
for(SheyingshiCommentbackView 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);
SheyingshiCommentbackEntity sheyingshiCommentback = sheyingshiCommentbackService.selectById(id);
if(sheyingshiCommentback !=null){
//entity转view
SheyingshiCommentbackView view = new SheyingshiCommentbackView();
BeanUtils.copyProperties( sheyingshiCommentback , view );//把实体数据重构到view中
//级联表
YonghuEntity yonghu = yonghuService.selectById(sheyingshiCommentback.getYonghuId());
if(yonghu != null){
BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setYonghuId(yonghu.getId());
}
//级联表
SheyingshiEntity sheyingshi = sheyingshiService.selectById(sheyingshiCommentback.getSheyingshiId());
if(sheyingshi != null){
BeanUtils.copyProperties( sheyingshi , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setSheyingshiId(sheyingshi.getId());
}
//修改对应字典表字段
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody SheyingshiCommentbackEntity sheyingshiCommentback, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,sheyingshiCommentback:{}",this.getClass().getName(),sheyingshiCommentback.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
if(false)
return R.error(511,"永远不会进入");
else if("摄影师".equals(role))
sheyingshiCommentback.setSheyingshiId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
else if("用户".equals(role))
sheyingshiCommentback.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
sheyingshiCommentback.setInsertTime(new Date());
sheyingshiCommentback.setCreateTime(new Date());
sheyingshiCommentbackService.insert(sheyingshiCommentback);
return R.ok();
}
/**
* 后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody SheyingshiCommentbackEntity sheyingshiCommentback, HttpServletRequest request){
logger.debug("update方法:,,Controller:{},,sheyingshiCommentback:{}",this.getClass().getName(),sheyingshiCommentback.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
// if(false)
// return R.error(511,"永远不会进入");
// else if("摄影师".equals(role))
// sheyingshiCommentback.setSheyingshiId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
// else if("用户".equals(role))
// sheyingshiCommentback.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
//根据字段查询是否有相同数据
Wrapper<SheyingshiCommentbackEntity> queryWrapper = new EntityWrapper<SheyingshiCommentbackEntity>()
.eq("id",0)
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
SheyingshiCommentbackEntity sheyingshiCommentbackEntity = sheyingshiCommentbackService.selectOne(queryWrapper);
sheyingshiCommentback.setUpdateTime(new Date());
if(sheyingshiCommentbackEntity==null){
sheyingshiCommentbackService.updateById(sheyingshiCommentback);//根据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());
sheyingshiCommentbackService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 批量上传
*/
@RequestMapping("/batchInsert")
public R save( String fileName, HttpServletRequest request){
logger.debug("batchInsert方法:,,Controller:{},,fileName:{}",this.getClass().getName(),fileName);
Integer yonghuId = Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId")));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
List<SheyingshiCommentbackEntity> sheyingshiCommentbackList = new ArrayList<>();//上传的东西
Map<String, List<String>> seachFields= new HashMap<>();//要查询的字段
Date date = new Date();
int lastIndexOf = fileName.lastIndexOf(".");
if(lastIndexOf == -1){
return R.error(511,"该文件没有后缀");
}else{
String suffix = fileName.substring(lastIndexOf);
if(!".xls".equals(suffix)){
return R.error(511,"只支持后缀为xls的excel文件");
}else{
URL resource = this.getClass().getClassLoader().getResource("static/upload/" + fileName);//获取文件路径
File file = new File(resource.getFile());
if(!file.exists()){
return R.error(511,"找不到上传文件,请联系管理员");
}else{
List<List<String>> dataList = PoiUtil.poiImport(file.getPath());//读取xls文件
dataList.remove(0);//删除第一行,因为第一行是提示
for(List<String> data:dataList){
//循环
SheyingshiCommentbackEntity sheyingshiCommentbackEntity = new SheyingshiCommentbackEntity();
// sheyingshiCommentbackEntity.setSheyingshiId(Integer.valueOf(data.get(0))); //摄影师 要改的
// sheyingshiCommentbackEntity.setYonghuId(Integer.valueOf(data.get(0))); //用户 要改的
// sheyingshiCommentbackEntity.setSheyingshiCommentbackText(data.get(0)); //评价内容 要改的
// sheyingshiCommentbackEntity.setInsertTime(date);//时间
// sheyingshiCommentbackEntity.setReplyText(data.get(0)); //回复内容 要改的
// sheyingshiCommentbackEntity.setUpdateTime(sdf.parse(data.get(0))); //回复时间 要改的
// sheyingshiCommentbackEntity.setCreateTime(date);//时间
sheyingshiCommentbackList.add(sheyingshiCommentbackEntity);
//把要查询是否重复的字段放入map中
}
//查询是否重复
sheyingshiCommentbackService.insertBatch(sheyingshiCommentbackList);
return R.ok();
}
}
}
}catch (Exception e){
e.printStackTrace();
return R.error(511,"批量插入数据异常,请联系管理员");
}
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params, HttpServletRequest request){
logger.debug("list方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
// 没有指定排序字段就默认id倒序
if(StringUtil.isEmpty(String.valueOf(params.get("orderBy")))){
params.put("orderBy","id");
}
PageUtils page = sheyingshiCommentbackService.queryPage(params);
//字典表数据转换
List<SheyingshiCommentbackView> list =(List<SheyingshiCommentbackView>)page.getList();
for(SheyingshiCommentbackView c:list)
dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段
return R.ok().put("data", page);
}
五、效果图
六、源码获取:
同系统在主页搜索资源可下载~
标签:Vue,return,SpringBoot,valueOf,request,源码,params,sheyingshiCommentback,String From: https://blog.csdn.net/m0_48205251/article/details/142873404