计算机毕业设计-基于ssm的问卷调查管理系统
计算机毕业设计-基于ssm的问卷调查管理系统-线上调查问卷系统java代码
1.开发环境及工具下载
- 开发语言:Java
- 架构:B/S
- 框架:SSM(Spring、SpringMVC、MyBatis)
- 前端:HTML+CSS+JavaScript+vue
- 数据库:MySQL
- 编译工具:Idea、Eclipse、MyEclipse (选其一)
- 其他:jdk1.8、Maven、Tomcat
eclipse 下载
mysql 5.7 下载
jdk 1.8 下载
tomcat 8.0 下载
maven 3.5 下载
idea 下载
2 部分运行界面
3 部分代码
3.1 问卷
@Controller
@RequestMapping("/question")
public class QuestionController {@Autowiredprivate QuestionService questionService;@PostMapping("/create")@ResponseBodypublic Map<String,Object> create(@RequestBody Question question){int result = questionService.create(question);if(result<=0){//失败的情况下return MapControl.getInstance().error().getMap();}return MapControl.getInstance().success().add("id",result).getMap();}@PostMapping("/delete")@ResponseBodypublic Map<String,Object> delete(String ids){int result = questionService.deleteBatch(ids);if(result<=0){//失败的情况下return MapControl.getInstance().error().getMap();}return MapControl.getInstance().success().getMap();}@PostMapping("/update")@ResponseBodypublic Map<String, Object> update(@RequestBody Question question){int result = questionService.update(question);if(result<=0){//失败的情况下return MapControl.getInstance().error().getMap();}return MapControl.getInstance().success().getMap();}@GetMapping("/list")public String list(){return "question/list";}@PostMapping("/query")@ResponseBodypublic Map<String,Object> query(@RequestBody Question question, ModelMap modelMap){List<Question> list = questionService.query(question);Integer count = questionService.count(question);return MapControl.getInstance().page(list,count).getMap();}@GetMapping("/detail")public String detail(Integer id,ModelMap modelMap){Question question = questionService.detail(id);modelMap.addAttribute("question",question);return "question/update";}@GetMapping("/question")public String question(Integer id,ModelMap modelMap){Question question = questionService.detail(id);modelMap.addAttribute("question",question);return "question/question";}
3.2 问卷题目
@Autowiredprivate SurveyService surveyService;@Autowiredprivate QuestionService questionService;@GetMapping("/create")public String v_create(){return "survey/add";}@PostMapping("/create")@ResponseBodypublic Map<String,Object> create(@RequestBody Survey survey, HttpServletRequest request){Admin currAdmin = SessionUtils.getAdmin(request);survey.setCreator(currAdmin.getId());survey.setState(Survey.state_create);survey.setAnon(survey.getAnon()!=null?0:1);int result = surveyService.create(survey);if(result<=0){//失败的情况下return MapControl.getInstance().error().getMap();}return MapControl.getInstance().success().getMap();}@PostMapping("/delete")@ResponseBodypublic Map<String,Object> delete(String ids){int result = surveyService.deleteBatch(ids);if(result<=0){//失败的情况下return MapControl.getInstance().error().getMap();}return MapControl.getInstance().success().getMap();}@PostMapping("/update")@ResponseBodypublic Map<String, Object> update(@RequestBody Survey survey){survey.setAnon(survey.getAnon()!=null?0:1);int result = surveyService.update(survey);if(result<=0){//失败的情况下return MapControl.getInstance().error().getMap();}return MapControl.getInstance().success().getMap();}@GetMapping("/list")public String list(){return "survey/list";}@PostMapping("/query")@ResponseBodypublic Map<String,Object> query(@RequestBody Survey survey, ModelMap modelMap){List<Survey> list = surveyService.query(survey);//创建者信息写入survey对象for (Survey entity : list) {entity.setAdmin(SystemInit.adminMap.get(entity.getCreator()));}Integer count = surveyService.count(survey);return MapControl.getInstance().page(list,count).getMap();}@GetMapping("/detail")public String detail(Integer id,ModelMap modelMap){Survey survey = surveyService.detail(id);modelMap.addAttribute("survey",survey);return "survey/update";}@GetMapping("/question")public String question(Integer id,ModelMap modelMap){Survey survey = surveyService.detail(id);modelMap.addAttribute("survey",survey);return "survey/question";}@GetMapping("/preview/{id}")public String preview(@PathVariable("id") Integer id,ModelMap modelMap){Survey survey = surveyService.detail(id);Question question = new Question();question.setSurveyId(survey.getId());//查询一个问卷中的所有问题及选项List<Question> questions = questionService.query(question);//将问题设置为survey的属性survey.setQuestions(questions);modelMap.addAttribute("survey",survey);return "survey/preview";}@RequestMapping(value = "/upload",method = RequestMethod.POST)public String upload(Integer id,@RequestParam("file") MultipartFile multipartFile,HttpServletRequest request){//上传的位置String path = request.getSession().getServletContext().getRealPath("/upload/");//判断该路径是否存在File file = new File(path);if (!file.exists()) {file.mkdirs();}//上传文件项String filename = multipartFile.getOriginalFilename();String uuid = UUID.randomUUID().toString().replace("-", "");String saveName = uuid + "_" + filename.substring(filename.lastIndexOf(File.separator) + 1);try {multipartFile.transferTo(new File(path, saveName));Survey survey = new Survey();survey.setId(id);survey.setBgimg(saveName);surveyService.update(survey);} catch (IOException e) {e.printStackTrace();}return "redirect:preview/"+id;}@PostMapping("/publish")@ResponseBodypublic Map<String,Object> publish(Integer id,HttpServletRequest request){Survey param = surveyService.detail(id);if(!Survey.state_exec.equals(param.getState())){return MapControl.getInstance().error("操作失败,当前问卷未在执行中!").getMap();}String uuid = "/dy/"+UUID.randomUUID().toString();Survey survey = new Survey();survey.setId(id);//http://localhost:8080/survey/ieieas-asdf-asdf-3-asd-f-asdfString url = "http://"+request.getServerName()+ ":" + request.getServerPort() + request.getContextPath()+uuid;survey.setUrl(url);surveyService.update(survey);return MapControl.getInstance().success().getMap();}@PostMapping("/submit")@ResponseBodypublic Map<String,Object> submit(@RequestBody List<Map<String,Object>> list){List<AnswerOpt> optList = new ArrayList();List<AnswerTxt> txtList = new ArrayList();String uuid = UUID.randomUUID().toString();for (Map<String, Object> stringObjectMap : list) {if(object2String(stringObjectMap.get("type")).equals("1") || object2String(stringObjectMap.get("type")).equals("2")){List<Object> opts = (List<Object>) stringObjectMap.get("opts");for (Object opt : opts) {AnswerOpt answerOpt = new AnswerOpt();answerOpt.setQuestionId(object2Integer(stringObjectMap.get("questionId")));answerOpt.setSurveyId(object2Integer(stringObjectMap.get("surveyId")));answerOpt.setType(object2String(stringObjectMap.get("type")));answerOpt.setOptId(object2Integer(opt));answerOpt.setCreateTime(new Date());answerOpt.setVoter(uuid);optList.add(answerOpt);}}if(object2String(stringObjectMap.get("type")).equals("3") || object2String(stringObjectMap.get("type")).equals("4")){AnswerTxt answerTxt = new AnswerTxt();answerTxt.setQuestionId(object2Integer(stringObjectMap.get("questionId")));answerTxt.setSurveyId(object2Integer(stringObjectMap.get("surveyId")));answerTxt.setResult(object2String(stringObjectMap.get("result")));answerTxt.setCreateTime(new Date());answerTxt.setVoter(uuid);txtList.add(answerTxt);}}surveyService.submit(optList,txtList);return MapControl.getInstance().success().getMap();}@GetMapping("/query_detail/{id}")public String query_detail(@PathVariable("id") Integer id,ModelMap modelMap){Survey survey = surveyService.detail(id);Question question = new Question();question.setSurveyId(survey.getId());//查询一个问卷中的所有问题及选项List<Question> questions = questionService.query(question);//将问题设置为survey的属性survey.setQuestions(questions);//将问题的答案获取到for(Question question1:questions){if(question1.getType()==3||question1.getType()==4){AnswerTxt answerTxt = new AnswerTxt();answerTxt.setSurveyId(id);answerTxt.setQuestionId(question1.getId());List<AnswerTxt> answerTxts = surveyService.queryAnswerTxt(answerTxt);question1.setTxts(answerTxts);}}//总投票人数AnswerOpt answerOpt = new AnswerOpt();answerOpt.setSurveyId(id);List<AnswerOpt> answerOpts = surveyService.queryAnswerOpt(answerOpt);Set<String> set = new HashSet<String>();for (AnswerOpt opt : answerOpts) {set.add(opt.getVoter());}for (Question question1 : questions) {for (QuestionOpt questionOpt : question1.getOptions()) {int num = 0;for (AnswerOpt opt : answerOpts) {if(questionOpt.getId() == opt.getOptId()){num++;}}questionOpt.setNum(num);}}modelMap.addAttribute("survey",survey);modelMap.addAttribute("total",set.size());return "survey/query_detail";}public String object2String(Object object){if(object !=null){return object+"";}else{return null;}}public Integer object2Integer(Object object){if(object !=null){return Integer.parseInt(object+"");}else{return null;}}
4 更多精彩推荐
基于ssm的快递代领系统
基于SSM的电影院网上订票系统
SSM图书馆借阅管理小程序
基于SSH的羽毛球场地预定系统
基于ssm的员工工资管理系统
注意:该项目只展示部分功能,如需了解,评论区咨询即可。
希望和大家多多交流!!
源码项目、定制开发、代码讲解、答辩辅导
计算机毕业设计-基于ssm的问卷调查管理系统相关推荐
- java计算机毕业设计基于Ssm学生信息管理系统源程序+mysql+系统+lw文档+远程调试
java计算机毕业设计基于Ssm学生信息管理系统源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计基于Ssm学生信息管理系统源程序+mysql+系统+lw文档+远程调试 本源码技术栈 ...
- java计算机毕业设计基于Ssm学生信息管理系统源码+数据库+系统+lw文档+mybatis+运行部署
java计算机毕业设计基于Ssm学生信息管理系统源码+数据库+系统+lw文档+mybatis+运行部署 java计算机毕业设计基于Ssm学生信息管理系统源码+数据库+系统+lw文档+mybatis+运 ...
- 计算机毕业设计-基于ssm的健身房管理系统-基于javaweb的健身房系统代码
计算机毕业设计-基于ssm的健身房管理系统-基于javaweb的健身房系统代码 注意:该项目只展示部分功能,如需了解,联系咨询即可. 作者:IT跃迁谷 1.开发环境 开发语言:Java 后台:SSM( ...
- 计算机毕业设计-基于SSM的汽车维修管理系统
项目背景 随着计算机技术的高速发展,现代计算机系统已经从以计算为中心向以信息化处理为中心的方向发展.而汽车维修,不仅需要在硬件上为现代社会的人们提供一个汽车维修的平台,获取汽车知识的环境,更要在软件上 ...
- 计算机毕业设计-基于SSM+Vue的公交路线管理系统-java公交管理系统代码
计算机毕业设计-基于SSM+Vue的公交路线管理系统-java公交管理系统代码 1 开发环境及工具下载 开发语言:Java 架构:B/S 后台:SSM(Spring+SpringMVC+Mybatis ...
- java计算机毕业设计基于ssm的火车订票管理系统(源代码+数据库+Lw文档)
项目介绍 本论文主要论述的是如何利用JAVA语言去设计一个好的火车订票系统.在前言当中,我们会简述在当前时代研究火车订票系统的背景以及研究现状.本系统的框架将会采用B/S结构和Spring Boot框 ...
- 计算机毕业设计-基于ssm+vue的二手车拍卖管理系统java二手车销售系统代码
计算机毕业设计-基于ssm+vue的二手车拍卖管理系统java二手车销售系统代码 注意:该项目只展示部分功能,如需了解,评论区咨询即可. 作者:IT跃迁谷 1.开发环境 开发语言:Java 设计模式: ...
- 计算机毕业设计-基于ssm+vue的科研成果管理系统-高校科研管理系统java代码
计算机毕业设计-基于ssm+vue的科研成果管理系统-高校科研管理系统java代码 注意:该项目只展示部分功能,如需了解,评论区咨询即可. 1.开发环境 开发语言:Java 架构:B/S 框架:SSM ...
- java计算机毕业设计基于ssm的少儿编程管理系统(源代码+数据库+Lw文档)
项目介绍 在国家重视教育影响下,教育部门的密确配合下,对教育进行改革.多样性.质量等等的要求,使教育系统的管理和运营比过去十年前更加理性化.依照这一现实为基础,设计一个快捷而又方便的网上少儿编程教育网 ...
最新文章
- Splunk安装和配置及源码编译安装SVN
- [原创]微软拼音输入法2007(含64位版)
- Application package 'AndroidManifest.xml' must have a minimum of 2 segments错误
- jmeter压力测试linux,JMeter压力测试
- cisco设备vlan,trunk,以太网通道管理
- 单电源运算放大器全波整流电路_电子电路识图从入门到精通,从零开始学电子电路...
- 好朋友的爬虫共享资料,真佩服
- mdoublem matlab,imhist以及matlab图像矩阵的数据类型
- 自动驾驶相关的期刊和会议
- foobar2000在线标签服务器,在Foobar2000播放器中从音乐名获取标签的技巧
- 小米硬盘路由器服务器,小米路由零售版699元 1T硬盘定位家庭服务器
- linux tcp 113错误,linux系统报tcp_mark_head_lost错误的处理方法
- python中的for什么意思_python中的for是什么
- 【诗歌】值得背诵古诗(一)
- 什么是“天道左旋、地道右旋”?
- Tomcat 安装与配置
- linux 内网gcc版本安装,linux下手动安装/升级GCC到较高版本
- java中this关键变量
- Lab1过程及心得体会
- 微信小程序实现添加银行卡,银行卡号每隔四位插入空格并展示时仅显示前后四位,或者仅显示后四位(超详细)
热门文章
- java和前端哪个好学_前端好学还是Java好学?
- Python将 Unicode 转换为 utf-8 格式
- 2022电大国家开放大学网上形考任务-开放英语1非免费(非答案)
- UE(Ultra Edit)提高SQL建表语句编写效率
- 澳洲技术移民评分标准
- 为什么罗永浩这种人都能做出来锤子手机?
- FBEC2021 | 对话阿里巴巴云游戏事业部/元境副总经理 龙志勇:坚持研运一体化服务的路线
- 用友通10.1禁止安装在SQL2005
- 要问热风帆布鞋质量怎么样?实穿、耐磨、脚感好,闭眼入!
- php5.0 cms安装教程,MySQL_KingCMS5.0从安装到设置使用教程,1.首先到KingCMS官方下载KingCMS5.0 - phpStudy...