基于ssm考研助手平台源码和论文

发布时间:2023年12月20日

网络的广泛应用给生活带来了十分的便利。所以把考研助手管理与现在网络相结合,利用java技术建设考研助手网站,实现考研助手的信息化。则对于进一步提高考研助手管理发展,丰富考研助手管理经验能起到不少的促进作用。

考研助手网站能够通过互联网得到广泛的、全面的宣传,让尽可能多的用户了解和熟知考研助手网站的便捷高效,不仅为群众提供了服务,而且也推广了自己,让更多的群众了解自己。对于考研助手而言,若拥有自己的系统,通过系统得到更好的管理,同时提升了形象。

系统设计的现状和趋势,从需求、结构、数据库等方面的设计到系统的实现,分别为管理员,教学秘书和学生实现。论文的内容从系统的设计、描述、实现、分析、测试方面来表明开发的过程。本系统根据现实情况来选择一种可行的开发方案,借助java编程语言和MySQL数据库等实现系统的全部功能,接下来对系统进行测试,测试系统是否有漏洞和测试用户权限来完善系统最终系统完成达到相关标准。

关键字:考研助手网站?java??MySQL数据库

基于ssm考研助手平台源码和论文761

演示视频:

基于ssm考研助手平台源码和论文

Abstract

The wide application of network has brought great convenience to life. Therefore, the management of postgraduate entrance examination assistant is combined with the current network, and the website of postgraduate entrance examination assistant is constructed by using Java technology to realize the informatization of postgraduate entrance examination assistant. It can further improve the management development of postgraduate entrance examination assistant and enrich the management experience of postgraduate entrance examination assistant.

Postgraduate entrance examination assistant website can be widely and comprehensively publicized through the Internet, so that as many users as possible understand and know the convenience and efficiency of postgraduate entrance examination assistant website, not only provide services for the masses, but also promote themselves, so that more people understand themselves. For postgraduate entrance examination assistants, if they have their own system, they can get better management through the system and improve their image.

The present situation and trend of the system design, from the requirements, structure, database and other aspects of the design to the realization of the system, respectively for the realization of administrators, teaching secretary and students. The content of the paper shows the development process from the aspects of system design, description, implementation, analysis and testing. The system according to the reality to choose a feasible development plan, with the help of Java programming language and MySQL database to achieve all the functions of the system, then the system is tested, test whether the system has vulnerabilities and test user permissions to improve the system, the final system to achieve relevant standards.

Keywords:?postgraduate entrance examination assistant website Java MySQL database

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.JiaoxuemishuEntity;
import com.entity.view.JiaoxuemishuView;

import com.service.JiaoxuemishuService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;

/**
 * 教学秘书
 * 后端接口
 * @author 
 * @email 
 * @date 2022-05-13 20:13:49
 */
@RestController
@RequestMapping("/jiaoxuemishu")
public class JiaoxuemishuController {
    @Autowired
    private JiaoxuemishuService jiaoxuemishuService;



    
	@Autowired
	private TokenService tokenService;
	
	/**
	 * 登录
	 */
	@IgnoreAuth
	@RequestMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		JiaoxuemishuEntity user = jiaoxuemishuService.selectOne(new EntityWrapper<JiaoxuemishuEntity>().eq("mishuzhanghao", username));
		if(user==null || !user.getMima().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(), username,"jiaoxuemishu",  "教学秘书" );
		return R.ok().put("token", token);
	}
	
	/**
     * 注册
     */
	@IgnoreAuth
    @RequestMapping("/register")
    public R register(@RequestBody JiaoxuemishuEntity jiaoxuemishu){
    	//ValidatorUtils.validateEntity(jiaoxuemishu);
    	JiaoxuemishuEntity user = jiaoxuemishuService.selectOne(new EntityWrapper<JiaoxuemishuEntity>().eq("mishuzhanghao", jiaoxuemishu.getMishuzhanghao()));
		if(user!=null) {
			return R.error("注册用户已存在");
		}
		Long uId = new Date().getTime();
		jiaoxuemishu.setId(uId);
        jiaoxuemishuService.insert(jiaoxuemishu);
        return R.ok();
    }

	
	/**
	 * 退出
	 */
	@RequestMapping("/logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        JiaoxuemishuEntity user = jiaoxuemishuService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	JiaoxuemishuEntity user = jiaoxuemishuService.selectOne(new EntityWrapper<JiaoxuemishuEntity>().eq("mishuzhanghao", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setMima("123456");
        jiaoxuemishuService.updateById(user);
        return R.ok("密码已重置为:123456");
    }


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,JiaoxuemishuEntity jiaoxuemishu, 
		HttpServletRequest request){

        EntityWrapper<JiaoxuemishuEntity> ew = new EntityWrapper<JiaoxuemishuEntity>();
		PageUtils page = jiaoxuemishuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiaoxuemishu), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,JiaoxuemishuEntity jiaoxuemishu, 
		HttpServletRequest request){
        EntityWrapper<JiaoxuemishuEntity> ew = new EntityWrapper<JiaoxuemishuEntity>();
		PageUtils page = jiaoxuemishuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiaoxuemishu), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( JiaoxuemishuEntity jiaoxuemishu){
       	EntityWrapper<JiaoxuemishuEntity> ew = new EntityWrapper<JiaoxuemishuEntity>();
      	ew.allEq(MPUtil.allEQMapPre( jiaoxuemishu, "jiaoxuemishu")); 
        return R.ok().put("data", jiaoxuemishuService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(JiaoxuemishuEntity jiaoxuemishu){
        EntityWrapper< JiaoxuemishuEntity> ew = new EntityWrapper< JiaoxuemishuEntity>();
 		ew.allEq(MPUtil.allEQMapPre( jiaoxuemishu, "jiaoxuemishu")); 
		JiaoxuemishuView jiaoxuemishuView =  jiaoxuemishuService.selectView(ew);
		return R.ok("查询教学秘书成功").put("data", jiaoxuemishuView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        JiaoxuemishuEntity jiaoxuemishu = jiaoxuemishuService.selectById(id);
        return R.ok().put("data", jiaoxuemishu);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        JiaoxuemishuEntity jiaoxuemishu = jiaoxuemishuService.selectById(id);
        return R.ok().put("data", jiaoxuemishu);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody JiaoxuemishuEntity jiaoxuemishu, HttpServletRequest request){
    	jiaoxuemishu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(jiaoxuemishu);
    	JiaoxuemishuEntity user = jiaoxuemishuService.selectOne(new EntityWrapper<JiaoxuemishuEntity>().eq("mishuzhanghao", jiaoxuemishu.getMishuzhanghao()));
		if(user!=null) {
			return R.error("用户已存在");
		}

		jiaoxuemishu.setId(new Date().getTime());
        jiaoxuemishuService.insert(jiaoxuemishu);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody JiaoxuemishuEntity jiaoxuemishu, HttpServletRequest request){
    	jiaoxuemishu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(jiaoxuemishu);
    	JiaoxuemishuEntity user = jiaoxuemishuService.selectOne(new EntityWrapper<JiaoxuemishuEntity>().eq("mishuzhanghao", jiaoxuemishu.getMishuzhanghao()));
		if(user!=null) {
			return R.error("用户已存在");
		}

		jiaoxuemishu.setId(new Date().getTime());
        jiaoxuemishuService.insert(jiaoxuemishu);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    @Transactional
    public R update(@RequestBody JiaoxuemishuEntity jiaoxuemishu, HttpServletRequest request){
        //ValidatorUtils.validateEntity(jiaoxuemishu);
        jiaoxuemishuService.updateById(jiaoxuemishu);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        jiaoxuemishuService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<JiaoxuemishuEntity> wrapper = new EntityWrapper<JiaoxuemishuEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = jiaoxuemishuService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	







}
package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.KaoyanzixunEntity;
import com.entity.view.KaoyanzixunView;

import com.service.KaoyanzixunService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;

/**
 * 考研资讯
 * 后端接口
 * @author 
 * @email 
 * @date 2022-05-13 20:13:49
 */
@RestController
@RequestMapping("/kaoyanzixun")
public class KaoyanzixunController {
    @Autowired
    private KaoyanzixunService kaoyanzixunService;



    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,KaoyanzixunEntity kaoyanzixun, 
		HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("jiaoxuemishu")) {
			kaoyanzixun.setMishuzhanghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<KaoyanzixunEntity> ew = new EntityWrapper<KaoyanzixunEntity>();
		PageUtils page = kaoyanzixunService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kaoyanzixun), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,KaoyanzixunEntity kaoyanzixun, 
		HttpServletRequest request){
        EntityWrapper<KaoyanzixunEntity> ew = new EntityWrapper<KaoyanzixunEntity>();
		PageUtils page = kaoyanzixunService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kaoyanzixun), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( KaoyanzixunEntity kaoyanzixun){
       	EntityWrapper<KaoyanzixunEntity> ew = new EntityWrapper<KaoyanzixunEntity>();
      	ew.allEq(MPUtil.allEQMapPre( kaoyanzixun, "kaoyanzixun")); 
        return R.ok().put("data", kaoyanzixunService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(KaoyanzixunEntity kaoyanzixun){
        EntityWrapper< KaoyanzixunEntity> ew = new EntityWrapper< KaoyanzixunEntity>();
 		ew.allEq(MPUtil.allEQMapPre( kaoyanzixun, "kaoyanzixun")); 
		KaoyanzixunView kaoyanzixunView =  kaoyanzixunService.selectView(ew);
		return R.ok("查询考研资讯成功").put("data", kaoyanzixunView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        KaoyanzixunEntity kaoyanzixun = kaoyanzixunService.selectById(id);
		kaoyanzixun.setClicknum(kaoyanzixun.getClicknum()+1);
		kaoyanzixun.setClicktime(new Date());
		kaoyanzixunService.updateById(kaoyanzixun);
        return R.ok().put("data", kaoyanzixun);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        KaoyanzixunEntity kaoyanzixun = kaoyanzixunService.selectById(id);
		kaoyanzixun.setClicknum(kaoyanzixun.getClicknum()+1);
		kaoyanzixun.setClicktime(new Date());
		kaoyanzixunService.updateById(kaoyanzixun);
        return R.ok().put("data", kaoyanzixun);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody KaoyanzixunEntity kaoyanzixun, HttpServletRequest request){
    	kaoyanzixun.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(kaoyanzixun);

        kaoyanzixunService.insert(kaoyanzixun);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody KaoyanzixunEntity kaoyanzixun, HttpServletRequest request){
    	kaoyanzixun.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(kaoyanzixun);

        kaoyanzixunService.insert(kaoyanzixun);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    @Transactional
    public R update(@RequestBody KaoyanzixunEntity kaoyanzixun, HttpServletRequest request){
        //ValidatorUtils.validateEntity(kaoyanzixun);
        kaoyanzixunService.updateById(kaoyanzixun);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        kaoyanzixunService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<KaoyanzixunEntity> wrapper = new EntityWrapper<KaoyanzixunEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("jiaoxuemishu")) {
			wrapper.eq("mishuzhanghao", (String)request.getSession().getAttribute("username"));
		}

		int count = kaoyanzixunService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	
	/**
     * 前端智能排序
     */
	@IgnoreAuth
    @RequestMapping("/autoSort")
    public R autoSort(@RequestParam Map<String, Object> params,KaoyanzixunEntity kaoyanzixun, HttpServletRequest request,String pre){
        EntityWrapper<KaoyanzixunEntity> ew = new EntityWrapper<KaoyanzixunEntity>();
        Map<String, Object> newMap = new HashMap<String, Object>();
        Map<String, Object> param = new HashMap<String, Object>();
		Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();
		while (it.hasNext()) {
			Map.Entry<String, Object> entry = it.next();
			String key = entry.getKey();
			String newKey = entry.getKey();
			if (pre.endsWith(".")) {
				newMap.put(pre + newKey, entry.getValue());
			} else if (StringUtils.isEmpty(pre)) {
				newMap.put(newKey, entry.getValue());
			} else {
				newMap.put(pre + "." + newKey, entry.getValue());
			}
		}
		params.put("sort", "clicknum");
        
        params.put("order", "desc");
		PageUtils page = kaoyanzixunService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kaoyanzixun), params), params));
        return R.ok().put("data", page);
    }







}

文章来源:https://blog.csdn.net/2301_81135093/article/details/135034926
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。