🍊作者:计算机编程-吉哥
🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。
🍊心愿:点赞 👍 收藏 ⭐评论 📝
🍅 文末获取源码联系👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~
Java毕业设计项目~热门选题推荐《1000套》
目录
springboot、mybatisplus、vue、elementui、html、css、js、mysql、jdk1.8
16张
idea、navicat、vscode
管理员、用户

5.3 在线答题







-
- CREATE TABLE `config` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
- `name` varchar(100) DEFAULT NULL COMMENT '配置参数名称',
- `value` varchar(100) DEFAULT NULL COMMENT '配置参数值',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';
-
-
- CREATE TABLE `dictionary` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
- `dic_code` varchar(200) DEFAULT NULL COMMENT '字段',
- `dic_name` varchar(200) DEFAULT NULL COMMENT '字段名',
- `code_index` int(11) DEFAULT NULL COMMENT '编码',
- `index_name` varchar(200) DEFAULT NULL COMMENT '编码名字 Search111 ',
- `super_id` int(11) DEFAULT NULL COMMENT '父字段id',
- `beizhu` varchar(200) DEFAULT NULL COMMENT '备注',
- `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8 COMMENT='字典';
-
-
- CREATE TABLE `exampaper` (
- `id` int(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
- `exampaper_name` varchar(200) NOT NULL COMMENT '试卷名称 Search111',
- `exampaper_date` int(11) DEFAULT NULL COMMENT '考试时长(分钟)',
- `exampaper_myscore` int(20) NOT NULL DEFAULT '0' COMMENT '试卷总分数',
- `kemu_types` int(11) DEFAULT NULL COMMENT '科目 Search111',
- `exampaper_types` int(11) NOT NULL DEFAULT '0' COMMENT '试卷状态 Search111',
- `zujuan_types` int(11) DEFAULT NULL COMMENT '组卷方式',
- `exampaper_delete` int(255) DEFAULT '0' COMMENT '逻辑删除(1代表未删除 2代表已删除)',
- `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间 show2 photoShow',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='试卷表';
-
-
-
- CREATE TABLE `exampapertopic` (
- `id` int(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
- `exampaper_id` int(20) NOT NULL COMMENT '试卷',
- `examquestion_id` int(20) NOT NULL COMMENT '试题',
- `exampapertopic_number` int(20) NOT NULL COMMENT '试题分数',
- `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=utf8 COMMENT='试卷选题';
-
-
-
- CREATE TABLE `examquestion` (
- `id` int(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
- `examquestion_name` varchar(200) NOT NULL COMMENT '试题名称 Search111',
- `kemu_types` int(11) DEFAULT NULL COMMENT '科目 Search111',
- `examquestion_options` longtext COMMENT '选项,json字符串',
- `examquestion_answer` varchar(200) DEFAULT NULL COMMENT '正确答案',
- `examquestion_analysis` longtext COMMENT '答案解析',
- `examquestion_types` int(20) DEFAULT '0' COMMENT '试题类型',
- `examquestion_sequence` int(20) DEFAULT '100' COMMENT '试题排序,值越大排越前面',
- `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 COMMENT='试题表';
-
-
-
- CREATE TABLE `examrecord` (
- `id` int(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
- `examrecord_uuid_number` varchar(200) DEFAULT NULL COMMENT '考试编号',
- `yonghu_id` int(20) NOT NULL COMMENT '考试学生',
- `exampaper_id` int(20) NOT NULL COMMENT '所属试卷id(外键)',
- `total_score` int(200) DEFAULT NULL COMMENT '所得总分',
- `insert_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '考试时间',
- `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='考试记录表';
-
-
- CREATE TABLE `examredetails` (
- `id` int(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
- `examredetails_uuid_number` varchar(200) DEFAULT NULL COMMENT '试卷编号',
- `yonghu_id` int(20) NOT NULL COMMENT '学生id',
- `examquestion_id` int(20) NOT NULL COMMENT '试题id(外键)',
- `examredetails_myanswer` varchar(200) DEFAULT NULL COMMENT '考生答案',
- `examredetails_myscore` int(20) NOT NULL DEFAULT '0' COMMENT '试题得分',
- `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COMMENT='答题详情表';
-
-
- CREATE TABLE `forum` (
- `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
- `forum_name` varchar(200) DEFAULT NULL COMMENT '帖子标题 Search111 ',
- `yonghu_id` int(11) DEFAULT NULL COMMENT '用户',
- `users_id` int(11) DEFAULT NULL COMMENT '管理员',
- `forum_content` text COMMENT '发布内容',
- `super_ids` int(11) DEFAULT NULL COMMENT '父id',
- `forum_state_types` int(11) DEFAULT NULL COMMENT '帖子状态',
- `insert_time` timestamp NULL DEFAULT NULL COMMENT '发帖时间',
- `update_time` timestamp NULL DEFAULT NULL COMMENT '修改时间',
- `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show2',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='论坛';
-
-
- CREATE TABLE `news` (
- `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
- `news_name` varchar(200) DEFAULT NULL COMMENT '公告标题 Search111 ',
- `news_types` int(11) DEFAULT NULL COMMENT '公告类型 Search111 ',
- `news_photo` varchar(200) DEFAULT NULL COMMENT '公告图片',
- `insert_time` timestamp NULL DEFAULT NULL COMMENT '添加时间',
- `news_content` text COMMENT '公告详情',
- `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show1 show2 nameShow',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='公告信息';
-
-
- CREATE TABLE `token` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
- `userid` bigint(20) NOT NULL COMMENT '用户id',
- `username` varchar(100) NOT NULL COMMENT '用户名',
- `tablename` varchar(100) DEFAULT NULL COMMENT '表名',
- `role` varchar(100) DEFAULT NULL COMMENT '角色',
- `token` varchar(200) NOT NULL COMMENT '密码',
- `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',
- `expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期时间',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='token表';
-
-
-
- CREATE TABLE `users` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
- `username` varchar(100) NOT NULL COMMENT '用户名',
- `password` varchar(100) NOT NULL COMMENT '密码',
- `role` varchar(100) DEFAULT '管理员' COMMENT '角色',
- `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='管理员';
-
-
- CREATE TABLE `xuexishipin` (
- `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
- `xuexishipin_name` varchar(200) DEFAULT NULL COMMENT '课程名称 Search111 ',
- `xuexishipin_photo` varchar(200) DEFAULT NULL COMMENT '课程封面',
- `xuexishipin_video` varchar(255) DEFAULT NULL COMMENT '学习视频',
- `xuexishipin_types` int(11) DEFAULT NULL COMMENT '课程类型 Search111',
- `zhiyejieshao_types` int(11) DEFAULT NULL COMMENT '职业 Search111',
- `xuexishipin_content` text COMMENT '课程详情 ',
- `xuexishipin_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',
- `insert_time` timestamp NULL DEFAULT NULL COMMENT '添加时间',
- `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show1 show2 photoShow',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='课程学习';
-
-
-
- CREATE TABLE `xuexishipin_collection` (
- `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
- `xuexishipin_id` int(11) DEFAULT NULL COMMENT '课程',
- `yonghu_id` int(11) DEFAULT NULL COMMENT '用户',
- `xuexishipin_collection_types` int(11) DEFAULT NULL COMMENT '类型',
- `insert_time` timestamp NULL DEFAULT NULL COMMENT '收藏时间',
- `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show3 photoShow',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COMMENT='课程收藏';
-
-
- CREATE TABLE `yonghu` (
- `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
- `username` varchar(200) DEFAULT NULL COMMENT '账户',
- `password` varchar(200) DEFAULT NULL COMMENT '密码',
- `yonghu_name` varchar(200) DEFAULT NULL COMMENT '用户姓名 Search111 ',
- `yonghu_photo` varchar(255) DEFAULT NULL COMMENT '头像',
- `yonghu_phone` varchar(200) DEFAULT NULL COMMENT '用户手机号',
- `yonghu_id_number` varchar(200) DEFAULT NULL COMMENT '用户身份证号 ',
- `sex_types` int(11) DEFAULT NULL COMMENT '性别 Search111 ',
- `yonghu_email` varchar(200) DEFAULT NULL COMMENT '邮箱',
- `yonghu_delete` int(11) DEFAULT '1' COMMENT '假删',
- `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='用户';
-
-
- CREATE TABLE `zhiyejieshao` (
- `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
- `zhiyejieshao_name` varchar(200) DEFAULT NULL COMMENT '职业名称 Search111 ',
- `zhiyejieshao_photo` varchar(200) DEFAULT NULL COMMENT '职业封面',
- `zhiyejieshao_types` int(11) DEFAULT NULL COMMENT '职业 Search111',
- `zhiyejieshao_content` text COMMENT '职业详情 ',
- `zhiyejieshao_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',
- `insert_time` timestamp NULL DEFAULT NULL COMMENT '添加时间',
- `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show1 show2 photoShow',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='职业介绍';
-
-
-
- CREATE TABLE `zhiyejieshao_collection` (
- `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
- `zhiyejieshao_id` int(11) DEFAULT NULL COMMENT '职业介绍',
- `yonghu_id` int(11) DEFAULT NULL COMMENT '用户',
- `zhiyejieshao_collection_types` int(11) DEFAULT NULL COMMENT '类型',
- `insert_time` timestamp NULL DEFAULT NULL COMMENT '收藏时间',
- `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show3 photoShow',
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='职业介绍收藏';
-
- package com.controller;
-
- import java.io.File;
- import java.math.BigDecimal;
- import java.net.URL;
- import java.text.SimpleDateFormat;
- import com.alibaba.fastjson.JSONObject;
- import java.util.*;
- import org.springframework.beans.BeanUtils;
- import javax.servlet.http.HttpServletRequest;
- import org.springframework.web.context.ContextLoader;
- import javax.servlet.ServletContext;
- import com.service.TokenService;
- import com.utils.*;
- import java.lang.reflect.InvocationTargetException;
-
- import com.service.DictionaryService;
- import org.apache.commons.lang3.StringUtils;
- import com.annotation.IgnoreAuth;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.*;
- import com.baomidou.mybatisplus.mapper.EntityWrapper;
- import com.baomidou.mybatisplus.mapper.Wrapper;
- import com.entity.*;
- import com.entity.view.*;
- import com.service.*;
- import com.utils.PageUtils;
- import com.utils.R;
- import com.alibaba.fastjson.*;
-
- /**
- * 职业介绍
- * 后端接口
- * @author 计算机编程-吉哥
- * @email
- */
- @RestController
- @Controller
- @RequestMapping("/zhiyejieshao")
- public class ZhiyejieshaoController {
- private static final Logger logger = LoggerFactory.getLogger(ZhiyejieshaoController.class);
-
- private static final String TABLE_NAME = "zhiyejieshao";
-
- @Autowired
- private ZhiyejieshaoService zhiyejieshaoService;
-
-
- @Autowired
- private TokenService tokenService;
-
- @Autowired
- private DictionaryService dictionaryService;//字典
- @Autowired
- private ExampaperService exampaperService;//试卷表
- @Autowired
- private ExampapertopicService exampapertopicService;//试卷选题
- @Autowired
- private ExamquestionService examquestionService;//试题表
- @Autowired
- private ExamrecordService examrecordService;//答题记录表
- @Autowired
- private ExamredetailsService examredetailsService;//答题详情表
- @Autowired
- private ForumService forumService;//论坛
- @Autowired
- private NewsService newsService;//公告信息
- @Autowired
- private XuexishipinService xuexishipinService;//课程学习
- @Autowired
- private XuexishipinCollectionService xuexishipinCollectionService;//课程收藏
- @Autowired
- private YonghuService yonghuService;//用户
- @Autowired
- private ZhiyejieshaoCollectionService zhiyejieshaoCollectionService;//职业介绍收藏
- @Autowired
- private UsersService usersService;//管理员
-
-
- /**
- * 后端列表
- */
- @RequestMapping("/page")
- public R page(@RequestParam Map
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"));
- params.put("zhiyejieshaoDeleteStart",1);params.put("zhiyejieshaoDeleteEnd",1);
- CommonUtil.checkMap(params);
- PageUtils page = zhiyejieshaoService.queryPage(params);
-
- //字典表数据转换
- List
list =(List)page.getList(); - for(ZhiyejieshaoView 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);
- ZhiyejieshaoEntity zhiyejieshao = zhiyejieshaoService.selectById(id);
- if(zhiyejieshao !=null){
- //entity转view
- ZhiyejieshaoView view = new ZhiyejieshaoView();
- BeanUtils.copyProperties( zhiyejieshao , view );//把实体数据重构到view中
- //修改对应字典表字段
- dictionaryService.dictionaryConvert(view, request);
- return R.ok().put("data", view);
- }else {
- return R.error(511,"查不到数据");
- }
-
- }
-
- /**
- * 后端保存
- */
- @RequestMapping("/save")
- public R save(@RequestBody ZhiyejieshaoEntity zhiyejieshao, HttpServletRequest request){
- logger.debug("save方法:,,Controller:{},,zhiyejieshao:{}",this.getClass().getName(),zhiyejieshao.toString());
-
- String role = String.valueOf(request.getSession().getAttribute("role"));
- if(false)
- return R.error(511,"永远不会进入");
-
- Wrapper
queryWrapper = new EntityWrapper() - .eq("zhiyejieshao_name", zhiyejieshao.getZhiyejieshaoName())
- .eq("zhiyejieshao_types", zhiyejieshao.getZhiyejieshaoTypes())
- .eq("zhiyejieshao_delete", zhiyejieshao.getZhiyejieshaoDelete())
- ;
-
- logger.info("sql语句:"+queryWrapper.getSqlSegment());
- ZhiyejieshaoEntity zhiyejieshaoEntity = zhiyejieshaoService.selectOne(queryWrapper);
- if(zhiyejieshaoEntity==null){
- zhiyejieshao.setZhiyejieshaoDelete(1);
- zhiyejieshao.setInsertTime(new Date());
- zhiyejieshao.setCreateTime(new Date());
- zhiyejieshaoService.insert(zhiyejieshao);
- return R.ok();
- }else {
- return R.error(511,"表中有相同数据");
- }
- }
-
- /**
- * 后端修改
- */
- @RequestMapping("/update")
- public R update(@RequestBody ZhiyejieshaoEntity zhiyejieshao, HttpServletRequest request) throws NoSuchFieldException, ClassNotFoundException, IllegalAccessException, InstantiationException {
- logger.debug("update方法:,,Controller:{},,zhiyejieshao:{}",this.getClass().getName(),zhiyejieshao.toString());
- ZhiyejieshaoEntity oldZhiyejieshaoEntity = zhiyejieshaoService.selectById(zhiyejieshao.getId());//查询原先数据
-
- String role = String.valueOf(request.getSession().getAttribute("role"));
- if("".equals(zhiyejieshao.getZhiyejieshaoPhoto()) || "null".equals(zhiyejieshao.getZhiyejieshaoPhoto())){
- zhiyejieshao.setZhiyejieshaoPhoto(null);
- }
-
- zhiyejieshaoService.updateById(zhiyejieshao);//根据id更新
- return R.ok();
- }
-
-
-
- /**
- * 删除
- */
- @RequestMapping("/delete")
- public R delete(@RequestBody Integer[] ids, HttpServletRequest request){
- logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
- List
oldZhiyejieshaoList =zhiyejieshaoService.selectBatchIds(Arrays.asList(ids));//要删除的数据 - ArrayList
list = new ArrayList<>(); - for(Integer id:ids){
- ZhiyejieshaoEntity zhiyejieshaoEntity = new ZhiyejieshaoEntity();
- zhiyejieshaoEntity.setId(id);
- zhiyejieshaoEntity.setZhiyejieshaoDelete(2);
- list.add(zhiyejieshaoEntity);
- }
- if(list != null && list.size() >0){
- zhiyejieshaoService.updateBatchById(list);
- }
-
- 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
zhiyejieshaoList = new ArrayList<>();//上传的东西 - Map
> 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
> dataList = PoiUtil.poiImport(file.getPath());//读取xls文件
- dataList.remove(0);//删除第一行,因为第一行是提示
- for(List
data:dataList){ - //循环
- ZhiyejieshaoEntity zhiyejieshaoEntity = new ZhiyejieshaoEntity();
-
- //把要查询是否重复的字段放入map中
- }
-
- //查询是否重复
- zhiyejieshaoService.insertBatch(zhiyejieshaoList);
- return R.ok();
- }
- }
- }
- }catch (Exception e){
- e.printStackTrace();
- return R.error(511,"批量插入数据异常,请联系管理员");
- }
- }
-
-
-
- /**
- * 个性推荐
- */
- @IgnoreAuth
- @RequestMapping("/gexingtuijian")
- public R gexingtuijian(@RequestParam Map
params, HttpServletRequest request) { - logger.debug("gexingtuijian方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
- CommonUtil.checkMap(params);
- List
returnZhiyejieshaoViewList = new ArrayList<>(); -
- //查看收藏
- Map
params1 = new HashMap<>(params);params1.put("sort","id");params1.put("yonghuId",request.getSession().getAttribute("userId")); - PageUtils pageUtils = zhiyejieshaoCollectionService.queryPage(params1);
- List
collectionViewsList =(List)pageUtils.getList(); - Map
typeMap=new HashMap<>();//购买的类型list - for(ZhiyejieshaoCollectionView collectionView:collectionViewsList){
- Integer zhiyejieshaoTypes = collectionView.getZhiyejieshaoTypes();
- if(typeMap.containsKey(zhiyejieshaoTypes)){
- typeMap.put(zhiyejieshaoTypes,typeMap.get(zhiyejieshaoTypes)+1);
- }else{
- typeMap.put(zhiyejieshaoTypes,1);
- }
- }
- List
typeList = new ArrayList<>();//排序后的有序的类型 按最多到最少 - typeMap.entrySet().stream().sorted((o1, o2) -> o2.getValue() - o1.getValue()).forEach(e -> typeList.add(e.getKey()));//排序
- Integer limit = Integer.valueOf(String.valueOf(params.get("limit")));
- for(Integer type:typeList){
- Map
params2 = new HashMap<>(params);params2.put("zhiyejieshaoTypes",type); - PageUtils pageUtils1 = zhiyejieshaoService.queryPage(params2);
- List
zhiyejieshaoViewList =(List)pageUtils1.getList(); - returnZhiyejieshaoViewList.addAll(zhiyejieshaoViewList);
- if(returnZhiyejieshaoViewList.size()>= limit) break;//返回的推荐数量大于要的数量 跳出循环
- }
- //正常查询出来商品,用于补全推荐缺少的数据
- PageUtils page = zhiyejieshaoService.queryPage(params);
- if(returnZhiyejieshaoViewList.size()
//返回数量还是小于要求数量 - int toAddNum = limit - returnZhiyejieshaoViewList.size();//要添加的数量
- List
zhiyejieshaoViewList =(List)page.getList(); - for(ZhiyejieshaoView zhiyejieshaoView:zhiyejieshaoViewList){
- Boolean addFlag = true;
- for(ZhiyejieshaoView returnZhiyejieshaoView:returnZhiyejieshaoViewList){
- if(returnZhiyejieshaoView.getId().intValue() ==zhiyejieshaoView.getId().intValue()) addFlag=false;//返回的数据中已存在此商品
- }
- if(addFlag){
- toAddNum=toAddNum-1;
- returnZhiyejieshaoViewList.add(zhiyejieshaoView);
- if(toAddNum==0) break;//够数量了
- }
- }
- }else {
- returnZhiyejieshaoViewList = returnZhiyejieshaoViewList.subList(0, limit);
- }
-
- for(ZhiyejieshaoView c:returnZhiyejieshaoViewList)
- dictionaryService.dictionaryConvert(c, request);
- page.setList(returnZhiyejieshaoViewList);
- return R.ok().put("data", page);
- }
-
- /**
- * 前端列表
- */
- @IgnoreAuth
- @RequestMapping("/list")
- public R list(@RequestParam Map
params, HttpServletRequest request) { - logger.debug("list方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
-
- CommonUtil.checkMap(params);
- PageUtils page = zhiyejieshaoService.queryPage(params);
-
- //字典表数据转换
- List
list =(List)page.getList(); - for(ZhiyejieshaoView c:list)
- dictionaryService.dictionaryConvert(c, request); //修改对应字典表字段
-
- return R.ok().put("data", page);
- }
-
- /**
- * 前端详情
- */
- @RequestMapping("/detail/{id}")
- public R detail(@PathVariable("id") Long id, HttpServletRequest request){
- logger.debug("detail方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
- ZhiyejieshaoEntity zhiyejieshao = zhiyejieshaoService.selectById(id);
- if(zhiyejieshao !=null){
-
-
- //entity转view
- ZhiyejieshaoView view = new ZhiyejieshaoView();
- BeanUtils.copyProperties( zhiyejieshao , view );//把实体数据重构到view中
-
- //修改对应字典表字段
- dictionaryService.dictionaryConvert(view, request);
- return R.ok().put("data", view);
- }else {
- return R.error(511,"查不到数据");
- }
- }
-
-
- /**
- * 前端保存
- */
- @RequestMapping("/add")
- public R add(@RequestBody ZhiyejieshaoEntity zhiyejieshao, HttpServletRequest request){
- logger.debug("add方法:,,Controller:{},,zhiyejieshao:{}",this.getClass().getName(),zhiyejieshao.toString());
- Wrapper
queryWrapper = new EntityWrapper() - .eq("zhiyejieshao_name", zhiyejieshao.getZhiyejieshaoName())
- .eq("zhiyejieshao_types", zhiyejieshao.getZhiyejieshaoTypes())
- .eq("zhiyejieshao_delete", zhiyejieshao.getZhiyejieshaoDelete())
- // .notIn("zhiyejieshao_types", new Integer[]{102})
- ;
- logger.info("sql语句:"+queryWrapper.getSqlSegment());
- ZhiyejieshaoEntity zhiyejieshaoEntity = zhiyejieshaoService.selectOne(queryWrapper);
- if(zhiyejieshaoEntity==null){
- zhiyejieshao.setZhiyejieshaoDelete(1);
- zhiyejieshao.setInsertTime(new Date());
- zhiyejieshao.setCreateTime(new Date());
- zhiyejieshaoService.insert(zhiyejieshao);
-
- return R.ok();
- }else {
- return R.error(511,"表中有相同数据");
- }
- }
-
- }
-
- package com.service;
-
- import com.baomidou.mybatisplus.service.IService;
- import com.utils.PageUtils;
- import com.entity.ZhiyejieshaoEntity;
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import org.springframework.lang.Nullable;
- import java.util.List;
-
- /**
- * 职业介绍 服务类
- */
- public interface ZhiyejieshaoService extends IService
{ -
- /**
- * @param params 查询参数
- * @return 带分页的查询出来的数据
- */
- PageUtils queryPage(Map
params) ; -
- }
- package com.service.impl;
-
- import com.utils.StringUtil;
- import com.service.DictionaryService;
- import com.utils.ClazzDiff;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.lang.reflect.Field;
- import java.util.*;
- import com.baomidou.mybatisplus.plugins.Page;
- import com.baomidou.mybatisplus.service.impl.ServiceImpl;
- import org.springframework.transaction.annotation.Transactional;
- import com.utils.PageUtils;
- import com.utils.Query;
- import org.springframework.web.context.ContextLoader;
- import javax.servlet.ServletContext;
- import javax.servlet.http.HttpServletRequest;
- import org.springframework.lang.Nullable;
- import org.springframework.util.Assert;
- import com.dao.ZhiyejieshaoDao;
- import com.entity.ZhiyejieshaoEntity;
- import com.service.ZhiyejieshaoService;
- import com.entity.view.ZhiyejieshaoView;
-
- /**
- * 职业介绍 服务实现类
- */
- @Service("zhiyejieshaoService")
- @Transactional
- public class ZhiyejieshaoServiceImpl extends ServiceImpl
implements ZhiyejieshaoService { -
- @Override
- public PageUtils queryPage(Map
params) { - Page
page =new Query(params).getPage(); - page.setRecords(baseMapper.selectListView(page,params));
- return new PageUtils(page);
- }
-
-
- }

你可能还有感兴趣的项目👇🏻👇🏻👇🏻
更多项目推荐:计算机毕业设计项目
如果大家有任何疑虑,请在下方咨询或评论