ssm计算机网络课程试卷生成器系统源码

news2024/12/28 6:43:02

ssm计算机网络课程试卷生成器系统源码099

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

 

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 com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
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.ZhengshiyuangongEntity;
import com.entity.view.ZhengshiyuangongView;

import com.service.ZhengshiyuangongService;
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 2021-03-18 19:38:53
 */
@RestController
@RequestMapping("/zhengshiyuangong")
public class ZhengshiyuangongController {
    @Autowired
    private ZhengshiyuangongService zhengshiyuangongService;
    
	@Autowired
	private TokenService tokenService;
	
	/**
	 * 登录
	 */
	@IgnoreAuth
	@RequestMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		ZhengshiyuangongEntity user = zhengshiyuangongService.selectOne(new EntityWrapper<ZhengshiyuangongEntity>().eq("gonghao", username));
		if(user==null || !user.getMima().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(), username,"zhengshiyuangong",  "正式员工" );
		return R.ok().put("token", token);
	}
	
	/**
     * 注册
     */
	@IgnoreAuth
    @RequestMapping("/register")
    public R register(@RequestBody ZhengshiyuangongEntity zhengshiyuangong){
    	//ValidatorUtils.validateEntity(zhengshiyuangong);
    	ZhengshiyuangongEntity user = zhengshiyuangongService.selectOne(new EntityWrapper<ZhengshiyuangongEntity>().eq("gonghao", zhengshiyuangong.getGonghao()));
		if(user!=null) {
			return R.error("注册用户已存在");
		}
		Long uId = new Date().getTime();
		zhengshiyuangong.setId(uId);
        zhengshiyuangongService.insert(zhengshiyuangong);
        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");
        ZhengshiyuangongEntity user = zhengshiyuangongService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	ZhengshiyuangongEntity user = zhengshiyuangongService.selectOne(new EntityWrapper<ZhengshiyuangongEntity>().eq("gonghao", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setMima("123456");
        zhengshiyuangongService.updateById(user);
        return R.ok("密码已重置为:123456");
    }


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

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

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

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ZhengshiyuangongEntity zhengshiyuangong){
        EntityWrapper< ZhengshiyuangongEntity> ew = new EntityWrapper< ZhengshiyuangongEntity>();
 		ew.allEq(MPUtil.allEQMapPre( zhengshiyuangong, "zhengshiyuangong")); 
		ZhengshiyuangongView zhengshiyuangongView =  zhengshiyuangongService.selectView(ew);
		return R.ok("查询正式员工成功").put("data", zhengshiyuangongView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ZhengshiyuangongEntity zhengshiyuangong = zhengshiyuangongService.selectById(id);
        return R.ok().put("data", zhengshiyuangong);
    }

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



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

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

		zhengshiyuangong.setId(new Date().getTime());
        zhengshiyuangongService.insert(zhengshiyuangong);
        return R.ok();
    }

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

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        zhengshiyuangongService.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<ZhengshiyuangongEntity> wrapper = new EntityWrapper<ZhengshiyuangongEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


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


}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/948417.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

spring cloud、gradle、父子项目、微服务框架搭建---spring secuity oauth2、mysql 授权(九)

文章目录 一、二、授权服务2.1 初始化表结构2.2 引入依赖2.3 自定义 用户详情类 UserDetailsService2.4 授权配置 AuthorizationServerConfiguration2.5 Web安全配置 WebSecurityConfiguration2.6 默认生成接口 三、资源服务3.1 引入依赖3.2 资源服务 ResourceServerConfig 四、…

2023年DAMA-CDGA/CDGP数据治理认证线上班到这里

DAMA认证为数据管理专业人士提供职业目标晋升规划&#xff0c;彰显了职业发展里程碑及发展阶梯定义&#xff0c;帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力&#xff0c;促进开展工作实践应用及实际问题解决&#xff0c;形成企业所需的新数字经济下的核心职业…

探讨三维模型OBJ格式轻量化在数据存储的重要性

探讨三维模型OBJ格式轻量化在数据存储的重要性 三维模型的OBJ格式轻量化在数据存储方面具有重要性。以下是对三维模型OBJ格式轻量化在数据存储的重要性进行浅析&#xff1a; 1、节省存储空间&#xff1a;原始的三维模型文件往往非常庞大&#xff0c;占据大量的存储空间。通过进…

亚马逊产品流量来源?产品流量如何增加?

"亚马逊产品流量"通常指的是在亚马逊平台上的商品页面上产生的访问量或点击量。这是衡量产品在亚马逊上的曝光和受关注程度的重要指标之一。产品流量的多少可以影响销售和排名等方面。 亚马逊产品流量的来源可以有多种&#xff0c;包括&#xff1a; 1、有机流量&…

基于python的豆瓣电影数据分析可视化系统(包含文档+源码)

本系统采用Python技术和Django 搭建系统框架&#xff0c;后台使用MySQL数据库进行信息管理&#xff0c;设计开发基于python的豆瓣电影数据分析可视化系统。通过调研和分析&#xff0c;系统拥有管理员和用户两个角色&#xff0c;主要具备个人中心、电影管理、用户管理、系统管理…

基于Spring Boot的高校学生党校系统设计与实现(Java+spring boot+MySQL)

获取源码或者论文请私信博主 演示视频&#xff1a; 基于Spring Boot的高校学生党校系统设计与实现&#xff08;Javaspring bootMySQL&#xff09; 使用技术&#xff1a; 前端&#xff1a;html css javascript jQuery ajax thymeleaf 微信小程序 后端&#xff1a;Java spring…

DC电源模块在仪器设备中使用的突出表现

BOSHIDA DC电源模块在仪器设备中使用的突出表现 DC电源模块是一种广泛应用于各种电子设备中的电源设备&#xff0c;它的最显著特点就是可以将电源直接转换为直流电&#xff0c;而且可以根据需要进行稳定地输出&#xff0c;这使得它在很多领域都有着广泛的应用。 在仪器设备中…

Android Native Code开发学习(二)JNI互相传参返回调用

Android Native Code开发学习&#xff08;二&#xff09; 本教程为native code学习笔记&#xff0c;希望能够帮到有需要的人 我的电脑系统为ubuntu 22.04&#xff0c;当然windows也是可以的&#xff0c;区别不大 一、native code介绍 native code就是在android项目中混合C或…

网银U盾插拔烦,试试USB Serve解决方案

公司网银U盾太多&#xff0c;每次办理网银业务都要不停插拔&#xff0c;效率低&#xff0c;管理难&#xff0c;怎么办&#xff1f; 交给USB Sever管理就行了&#xff01; 第一步 根据你需要的USB端口&#xff0c; 选择适合你的朝天椒USB Sever&#xff0c; 把网银U盾都插上去…

“Ahuja”补偿

自1968年Fairchild引入uA741以来&#xff0c;Miller补偿已被广泛用于集成运算放大器和相关电路的频率补偿。R.Read和J.Wieser早在1982年就提出了另一种补偿形式[1][2]。 尽管如此&#xff0c;它还是花了一段时间才被业界和学术界所接受&#xff0c;随着它在米勒补偿方面的一些…

Python数学建模1-模拟人类一生中会认识多少人的模型统计与分析

大家好&#xff0c;我是微学AI&#xff0c;今天给大家带来Python数学建模1-模拟人类一生中会认识多少人的模型统计与分析。你有没有统计过从出生到现在你接触过多少人了&#xff0c;你认识了多少人了&#xff0c;可能你只是认识&#xff0c;但是现在基本不联系了&#xff0c;可…

ZooKeeper的典型应用场景及实现

文章目录 1、典型应用场景及实现1.1、 数据发布/订阅1.1.1、配置管理案列 1.2、负载均衡1.3、命名服务1.4、分布式协调/通知1.4.1、一种通用的分布式系统机器间通信方式 1.5、集群管理1.6、Master选举1.7、分布式锁1.7.1、排他锁1.7.2、共享锁 1.8、分布式队列 2、ZooKeeper在大…

【LeetCode每日一题】——274.H指数

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 排序 二【题目难度】 中等 三【题目编号】 274.H指数 四【题目描述】 给你一个整数数组 ci…

ReID网络:MGN网络(3) - 数据组织

1. 概述 首先ReID不仅仅可以搞行人&#xff0c;当然也可以处理其他目标&#xff0c;这个是大家需要领会的一点。 用于ReID的行人数据集&#xff0c;一般是有多段同一目标在不同时间的采样序列组成。例如同一个行人&#xff0c;间隔5秒采集一张图像&#xff0c;连续采集30张。…

Swift 中的动态成员查找

文章目录 前言基础介绍基础示例1. 定义一个动态成员访问类&#xff1a;2. 访问嵌套动态成员&#xff1a; 使用 KeyPath 的编译时安全性KeyPath 用法示例KeyPath 进阶使用示例1. 动态访问属性&#xff1a;2. 结合可选属性和 KeyPath&#xff1a;3. 动态 KeyPath 和字典&#xff…

使用calc()调整元素高度或宽度

<style>.parent { display: flex;padding: 0px 5px;width: 600px;height: 200px;background: #ccc;}.children { margin: 10px 10px;/* 减去padding和margin */height: calc(100% - 20px);width: calc(100% - 30px);background: skyblue;}</style><div class&qu…

嵌入式Linux开发实操(十四):SPI接口开发

# 前言 SPI(Serial Peripheral Interface)同UART、I2C、CAN等一样,是MCU/SOC的重要接口,没错,它是个通讯接口,一个串行通讯接口,我们想到了四线接口(CS、CLK、MOSI、MISO) 可以通过CS(ChipSelect)或者SS (Slave Select)线来选择和哪个SPI设备通信,选择就是把这条线…

无涯教程-Android - Linear Layout函数

Android LinearLayout是一个视图组&#xff0c;该视图组将垂直或水平的所有子级对齐。 Linear Layout - 属性 以下是LinearLayout特有的重要属性- Sr.NoAttribute & 描述1 android:id 这是唯一标识布局的ID。 2 android:baselineAligned 此值必须是布尔值&#xff0c;为…

Java中ArrayList.remove(index)漏删的问题

问题描述 ArrayList中数据删除漏删 测试代码如下 public static void main(String[] args) {List<Integer> list new ArrayList<>();for(int i0;i<10;i){list.add(i1);}System.out.println("删除前&#xff1a;list.szie() "list.size());for(i…

什么是跨域问题 ?Spring MVC 如何解决跨域问题 ?

1. 什么是跨域问题 &#xff1f; 跨域问题指的是不同站点之间&#xff0c;使用 ajax 无法相互调用的问题。 跨域问题的 3 种情况&#xff1a; 1. 协议不同&#xff0c;例如 http 和 https&#xff1b; http://127.0.0.1:8080https://127.0.0.1:8080 2. 域名不同&#xff1…