ssm高校教师科研信息展示网站源码和论文

这篇具有很好参考价值的文章主要介绍了ssm高校教师科研信息展示网站源码和论文。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ssm高校教师科研信息展示网站源码和论文095

 开发工具:idea 
 数据库mysql5.7+
 数据库链接工具:navcat,小海豚等
  技术:ssm

摘  要

互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对高校教师科研项目展示信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用高校教师科研信息展示网站可以有效管理,使信息管理能够更加科学和规范。

高校教师科研信息展示网站在Eclipse环境中,使用Java语言进行编码,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理员主要在系统的后台管理学院和院系,管理老师研发的科研项目信息,管理老师,管理新闻资讯。用户主要在系统的前台查询老师和科研项目,下载老师发布的论文,查看新闻资讯信息。

总之,高校教师科研信息展示网站集中管理信息,有着保密性强,效率高,存储空间大,成本低等诸多优点。它可以降低信息管理成本,实现信息管理计算机化。

关键词:高校教师科研信息展示网站;Java语言;Mysql

ssm高校教师科研信息展示网站源码和论文,ssm,数据库,javassm高校教师科研信息展示网站源码和论文,ssm,数据库,javassm高校教师科研信息展示网站源码和论文,ssm,数据库,javassm高校教师科研信息展示网站源码和论文,ssm,数据库,javassm高校教师科研信息展示网站源码和论文,ssm,数据库,javassm高校教师科研信息展示网站源码和论文,ssm,数据库,javassm高校教师科研信息展示网站源码和论文,ssm,数据库,javassm高校教师科研信息展示网站源码和论文,ssm,数据库,javassm高校教师科研信息展示网站源码和论文,ssm,数据库,javassm高校教师科研信息展示网站源码和论文,ssm,数据库,javassm高校教师科研信息展示网站源码和论文,ssm,数据库,javassm高校教师科研信息展示网站源码和论文,ssm,数据库,javassm高校教师科研信息展示网站源码和论文,ssm,数据库,javassm高校教师科研信息展示网站源码和论文,ssm,数据库,javassm高校教师科研信息展示网站源码和论文,ssm,数据库,javassm高校教师科研信息展示网站源码和论文,ssm,数据库,javassm高校教师科研信息展示网站源码和论文,ssm,数据库,java文章来源地址https://www.toymoban.com/news/detail-682560.html

package com.controller;

import java.text.SimpleDateFormat;
import java.util.*;
import javax.servlet.http.HttpServletRequest;

import com.annotation.IgnoreAuth;
import org.apache.commons.lang3.StringUtils;
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.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.entity.KeyanEntity;

import com.service.KeyanService;
import com.utils.PageUtils;
import com.utils.R;

/**
 * 科研项目
 * 后端接口
 * @author
 * @email
 * @date 2021-03-17
*/
@RestController
@Controller
@RequestMapping("/keyan")
public class KeyanController {
    private static final Logger logger = LoggerFactory.getLogger(KeyanController.class);

    @Autowired
    private KeyanService keyanService;

    /**
    * 后端列表
    */
    @IgnoreAuth
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params){
        logger.debug("Controller:"+this.getClass().getName()+",page方法");
        PageUtils page = keyanService.queryPage(params);
        return R.ok().put("data", page);
    }
    /**
    * 后端详情
    */
    @IgnoreAuth
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        logger.debug("Controller:"+this.getClass().getName()+",info方法");
        KeyanEntity keyan = keyanService.selectById(id);
        if(keyan!=null){
            return R.ok().put("data", keyan);
        }else {
            return R.error(511,"查不到数据");
        }

    }

    /**
    * 后端保存
    */
    @RequestMapping("/save")
    public R save(@RequestBody KeyanEntity keyan, HttpServletRequest request){
        logger.debug("Controller:"+this.getClass().getName()+",save");
        Wrapper<KeyanEntity> queryWrapper = new EntityWrapper<KeyanEntity>()
            .eq("fjh_types", keyan.getFjhTypes())
            .eq("name", keyan.getName())
            .eq("chengguo_content", keyan.getChengguoContent())
            ;
        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        KeyanEntity keyanEntity = keyanService.selectOne(queryWrapper);
            keyan.setKeyanTime(new Date());
        if("".equals(keyan.getImgPhoto()) || "null".equals(keyan.getImgPhoto())){
            keyan.setImgPhoto(null);
        }
        if(keyanEntity==null){
            keyanService.insert(keyan);
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }

    /**
    * 修改
    */
    @RequestMapping("/update")
    public R update(@RequestBody KeyanEntity keyan, HttpServletRequest request){
        logger.debug("Controller:"+this.getClass().getName()+",update");
        //根据字段查询是否有相同数据
        Wrapper<KeyanEntity> queryWrapper = new EntityWrapper<KeyanEntity>()
            .notIn("id",keyan.getId())
            .eq("fjh_types", keyan.getFjhTypes())
            .eq("name", keyan.getName())
            .eq("chengguo_content", keyan.getChengguoContent())
            ;
        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        KeyanEntity keyanEntity = keyanService.selectOne(queryWrapper);
                keyan.setKeyanTime(new Date());
        if("".equals(keyan.getImgPhoto()) || "null".equals(keyan.getImgPhoto())){
                keyan.setImgPhoto(null);
        }
        if(keyanEntity==null){
            keyanService.updateById(keyan);//根据id更新
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }


    /**
    * 删除
    */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        logger.debug("Controller:"+this.getClass().getName()+",delete");
        keyanService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

package com.controller;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ResourceUtils;
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.annotation.IgnoreAuth;
import com.baidu.aip.face.AipFace;
import com.baidu.aip.face.MatchRequest;
import com.baidu.aip.util.Base64Util;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.ConfigEntity;
import com.service.CommonService;
import com.service.ConfigService;
import com.utils.BaiduUtil;
import com.utils.FileUtil;
import com.utils.R;

/**
 * 通用接口
 */
@RestController
public class CommonController{
	@Autowired
	private CommonService commonService;
	
	@Autowired
	private ConfigService configService;
	
	private static AipFace client = null;
	
	private static String BAIDU_DITU_AK = null;
	
	@RequestMapping("/location")
	public R location(String lng,String lat) {
		if(BAIDU_DITU_AK==null) {
			BAIDU_DITU_AK = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "baidu_ditu_ak")).getIdcardPhoto();
			if(BAIDU_DITU_AK==null) {
				return R.error("请在配置管理中正确配置baidu_ditu_ak");
			}
		}
		Map<String, String> map = BaiduUtil.getCityByLonLat(BAIDU_DITU_AK, lng, lat);
		return R.ok().put("data", map);
	}
	
	/**
	 * 人脸比对
	 * 
	 * @param face1 人脸1
	 * @param face2 人脸2
	 * @return
	 */
	@RequestMapping("/matchFace")
	public R matchFace(String face1, String face2, HttpServletRequest request) {
		if(client==null) {
			/*String AppID = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "AppID")).getValue();*/
			String APIKey = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "APIKey")).getIdcardPhoto();
			String SecretKey = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "SecretKey")).getIdcardPhoto();
			String token = BaiduUtil.getAuth(APIKey, SecretKey);
			if(token==null) {
				return R.error("请在配置管理中正确配置APIKey和SecretKey");
			}
			client = new AipFace(null, APIKey, SecretKey);
			client.setConnectionTimeoutInMillis(2000);
			client.setSocketTimeoutInMillis(60000);
		}
		JSONObject res = null;
		try {
			File file1 = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+face1);
			File file2 = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+face2);
			String img1 = Base64Util.encode(FileUtil.FileToByte(file1));
			String img2 = Base64Util.encode(FileUtil.FileToByte(file2));
			MatchRequest req1 = new MatchRequest(img1, "BASE64");
			MatchRequest req2 = new MatchRequest(img2, "BASE64");
			ArrayList<MatchRequest> requests = new ArrayList<MatchRequest>();
			requests.add(req1);
			requests.add(req2);
			res = client.match(requests);
			System.out.println(res.get("result"));
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			return R.error("文件不存在");
		} catch (IOException e) {
			e.printStackTrace();
		} 
		return R.ok().put("data", com.alibaba.fastjson.JSONObject.parse(res.get("result").toString()));
	}
    
	/**
	 * 获取table表中的column列表(联动接口)
	 * @return
	 */
	@RequestMapping("/option/{tableName}/{columnName}")
	@IgnoreAuth
	public R getOption(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName,String level,String parent) {
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("table", tableName);
		params.put("column", columnName);
		if(StringUtils.isNotBlank(level)) {
			params.put("level", level);
		}
		if(StringUtils.isNotBlank(parent)) {
			params.put("parent", parent);
		}
		List<String> data = commonService.getOption(params);
		return R.ok().put("data", data);
	}
	
	/**
	 * 根据table中的column获取单条记录
	 * @return
	 */
	@RequestMapping("/follow/{tableName}/{columnName}")
	@IgnoreAuth
	public R getFollowByOption(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName, @RequestParam String columnValue) {
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("table", tableName);
		params.put("column", columnName);
		params.put("columnValue", columnValue);
		Map<String, Object> result = commonService.getFollowByOption(params);
		return R.ok().put("data", result);
	}
	
	/**
	 * 修改table表的sfsh状态
	 * @param map
	 * @return
	 */
	@RequestMapping("/sh/{tableName}")
	public R sh(@PathVariable("tableName") String tableName, @RequestBody Map<String, Object> map) {
		map.put("table", tableName);
		commonService.sh(map);
		return R.ok();
	}
	
	/**
	 * 获取需要提醒的记录数
	 * @param tableName
	 * @param columnName
	 * @param type 1:数字 2:日期
	 * @param map
	 * @return
	 */
	@RequestMapping("/remind/{tableName}/{columnName}/{type}")
	@IgnoreAuth
	public R remindCount(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("table", tableName);
		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));
			}
		}
		
		int count = commonService.remindCount(map);
		return R.ok().put("count", count);
	}
	
	/**
	 * 单列求和
	 */
	@RequestMapping("/cal/{tableName}/{columnName}")
	@IgnoreAuth
	public R cal(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName) {
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("table", tableName);
		params.put("column", columnName);
		Map<String, Object> result = commonService.selectCal(params);
		return R.ok().put("data", result);
	}
	
	/**
	 * 分组统计
	 */
	@RequestMapping("/group/{tableName}/{columnName}")
	@IgnoreAuth
	public R group(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName) {
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("table", tableName);
		params.put("column", columnName);
		List<Map<String, Object>> result = commonService.selectGroup(params);
		return R.ok().put("data", result);
	}
	
	/**
	 * (按值统计)
	 */
	@RequestMapping("/value/{tableName}/{xColumnName}/{yColumnName}")
	@IgnoreAuth
	public R value(@PathVariable("tableName") String tableName, @PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName) {
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("table", tableName);
		params.put("xColumn", xColumnName);
		params.put("yColumn", yColumnName);
		List<Map<String, Object>> result = commonService.selectValue(params);
		return R.ok().put("data", result);
	}
	
}

到了这里,关于ssm高校教师科研信息展示网站源码和论文的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网盘教育专享版,助力高校信息化和科研

    腾讯云企业网盘旨在帮助教育行业实现文件的高效管理、安全存储和便捷分享,提升教育工作的效率和质量。现推出教育专享免费版,学校的信息中心、各个学院和组织,均可获取 【套餐规格为:用户人数 30人 / 存储容量 3T / 有效时间 3个月】 的免费体验,熟悉网盘服务,助

    2024年02月12日
    浏览(44)
  • 基于SSM的高校班级同学录网站的设计与实现

    末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录 一、项目简介 二、系统功能 三、系统项目截图 管理员功能实现 问卷调查管理 学校主管

    2024年01月16日
    浏览(34)
  • vue-springboot基于elasticsearch的高校科研期刊信息管理系统mb8od

    当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到高校科研信息管理系统的导航条显示首页、科研文件、核心期刊、合同模板、各类表格、科研讲堂、科研软件、后台管理、个人中心等。 管理员登录进入高校科研信息管理系统的实现可以查看系统首

    2024年02月03日
    浏览(50)
  • 基于SpringBoot+Vue+uniapp微信小程序的高校教师成果管理小程序的详细设计和实现(源码+lw+部署文档+讲解等)

    💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 2023-2024年最值得选的微信小程序毕业设计

    2024年04月08日
    浏览(71)
  • springboot/ssm高校汉服租赁网站Java传统汉服租赁交流论坛系统

    springboot/ssm高校汉服租赁网站Java传统汉服租赁交流论坛系统 开发语言:Java 框架:springboot(可改ssm) + vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.7(或8.0) 数据库工具:Navicat 开发软件:eclipse//idea 依赖管理包:Maven 如需了解更多代码细节或修改代码功能界面,

    2024年02月20日
    浏览(41)
  • Java项目:42 ssm的高校专业信息管理系统设计与实现001

    作者主页:源码空间codegym 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 系统可以提供信息显示和相应服务 管理员查看学生报名专业,管理专业,课程以及学生,查看学生提问并回答问题,管理招生政策与学校概况信息 学生查看专业和课程,参与

    2024年03月08日
    浏览(49)
  • ssm+vue高校实验室管理系统源码和论文

    ssm+vue高校实验室管理系统源码和论文081  开发工具:idea   数据库mysql5.7+  数据库链接工具:navcat,小海豚等   技术:ssm 一. 毕业设计的内容 本高校实验室管理系统采用Java语言、MySQL数据库,基于SSM框架进行开发设计,系统主要实现了管理员模块、教师模块以及学生模块三

    2024年02月10日
    浏览(57)
  • IDEA+springboot+ssm+layui+mysql高校宿舍管理系统源码

    本系统实现了高校宿舍管理系统源码,管理端实现了管理员登录、 宿舍列表、 预分配宿舍、 宿舍分配信息、 留校管理、 报修管理、 留言管理、 卫生管理,学生端实现了我的宿舍、我的报修、卫生检查记录、离校登记、留校申请、返校登记、留言板、我的留言 JDK版本:1

    2024年02月15日
    浏览(53)
  • (附源码)ssm高校社团管理系统设计与实现 毕业设计 234162

    高校社团管理系统设计与实现 摘 要 21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于高校社团管理系统也是十分常见的。过去使用手工的管理方式对高校社团进行管理,造成了管理繁琐、难以维护等问题,如今使用计算机对高校社团的各项基本信

    2024年02月07日
    浏览(57)
  • ssm 基于微信小程序的高校课堂教学管理系统 (含源码)

    目录 📚 前言 📑摘要 📑系统架构 📚 数据库设计    💬  课程资源实体图    💬 行程提醒实体图    💬 学生信息实体图 📚 系统功能的具体实现  💬 前台模块 学生注册 用户登录  💬 管理员功能模块 管理员登录管理 教师管理 学生管理  💬 教师功能模块 教师登录

    2024年04月26日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包