package com.controller;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import com.alibaba.fastjson.JSON;
import com.utils.StringUtil;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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{
private static final Logger logger = LoggerFactory.getLogger(CommonController.class);
@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")).getValue();
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")).getValue();
String SecretKey = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "SecretKey")).getValue();
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);
}
/**
* 圖表统计
*/
@IgnoreAuth
@RequestMapping("/group/{tableName}")
public R group1(@PathVariable("tableName") String tableName, @RequestParam Map<String,Object> params) {
params.put("table1", tableName);
List<Map<String, Object>> result = commonService.chartBoth(params);
return R.ok().put("data", result);
}
/**
* 单列求和
*/
@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", table
没有合适的资源?快使用搜索试试~ 我知道了~
springboot基于mvc的高校办公室行政事务管理系统设计与实现.zip
共942个文件
svg:322个
class:149个
java:149个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 187 浏览量
2024-10-31
20:20:21
上传
评论
收藏 23.23MB ZIP 举报
温馨提示
高校办公室行政事务管理系统的出现,旨在满足高校办公室日常行政管理的需求,提高管理效率和服务质量。该系统集成了多个功能模块,涵盖了高校办公室日常工作的各个方面。 首先,“首页”作为系统的入口,提供了系统的概览和导航功能,方便用户快速了解系统的整体布局和各个功能模块。需要注意的是,“首页”和“首页首页”两个选项可能存在重复,这可能是由于系统设计时的小疏忽或者特定需求所致。 接下来,“个人中心”模块允许用户查看和管理自己的个人信息,包括账户安全、个人信息设置等,确保信息的准确性和安全性。 “管理员管理”模块则主要面向系统管理员,用于对系统进行维护和管理,包括用户权限管理、数据备份与恢复等,确保系统的稳定运行和数据安全。 在行政管理方面,“人事管理”模块用于管理教职工的个人信息、考勤记录、绩效评估等,帮助高校更好地了解和管理教职工队伍。“物资管理”模块则用于管理学校的物资库存、采购计划、领用记录等,确保物资的合理利用和避免浪费。 此外,“会议管理”模块支持会议的预约、通知、签到等功能,提高会议的效率和参与度。“印章管理”模块则用于管理学校的印章使用记录,确保印章的安全和合规使用。
资源推荐
资源详情
资源评论
收起资源包目录
springboot基于mvc的高校办公室行政事务管理系统设计与实现.zip (942个子文件)
3-build.bat 16B
3-build.bat 16B
2-run.bat 14B
2-run.bat 14B
1-install.bat 12B
1-install.bat 12B
CommonController.class 19KB
JiaoshiController.class 15KB
BangongwuziController.class 12KB
BangongwuziShenqingController.class 12KB
BangongshiShenqingController.class 12KB
YinzhangaddShenqingController.class 12KB
HuiyishiShenqingController.class 12KB
YinzhangShenqingController.class 12KB
HuiyishiController.class 11KB
JiaoshiQingjiaController.class 11KB
YinzhangController.class 11KB
JiaoshiLizhiController.class 11KB
BangongshiController.class 11KB
DictionaryController.class 10KB
MPUtil.class 7KB
UsersController.class 6KB
DictionaryServiceImpl.class 6KB
JiaoshiEntity.class 5KB
YinzhangaddShenqingEntity.class 5KB
FileController.class 5KB
TokenServiceImpl.class 5KB
DictionaryEntity.class 4KB
JiaoshiQingjiaEntity.class 4KB
HuiyishiEntity.class 4KB
HuiyishiShenqingView.class 4KB
BangongwuziShenqingEntity.class 4KB
BangongshiShenqingEntity.class 4KB
BangongwuziEntity.class 4KB
BaiduUtil.class 4KB
JiaoshiLizhiEntity.class 4KB
YinzhangShenqingEntity.class 4KB
HuiyishiShenqingEntity.class 4KB
AuthorizationInterceptor.class 4KB
ConfigController.class 4KB
BangongshiEntity.class 4KB
CommonServiceImpl.class 4KB
PoiUtil.class 4KB
BangongwuziShenqingView.class 4KB
DictionaryServletContextListener.class 4KB
YinzhangEntity.class 3KB
JiaoshiVO.class 3KB
BangongshiShenqingView.class 3KB
YinzhangShenqingView.class 3KB
Query.class 3KB
YinzhangaddShenqingVO.class 3KB
JiaoshiModel.class 3KB
UsersServiceImpl.class 3KB
PageUtils.class 3KB
DictionaryVO.class 3KB
TokenEntity.class 3KB
JiaoshiQingjiaVO.class 3KB
YinzhangaddShenqingView.class 3KB
HuiyishiVO.class 3KB
YinzhangaddShenqingModel.class 3KB
JiaoshiQingjiaView.class 3KB
JiaoshiLizhiView.class 3KB
BangongwuziView.class 3KB
BangongwuziVO.class 2KB
DictionaryModel.class 2KB
JiaoshiLizhiVO.class 2KB
BangongwuziShenqingVO.class 2KB
BangongshiShenqingVO.class 2KB
InterceptorConfig.class 2KB
JiaoshiQingjiaModel.class 2KB
HuiyishiShenqingVO.class 2KB
YinzhangShenqingVO.class 2KB
BangongshiView.class 2KB
HuiyishiModel.class 2KB
YinzhangaddShenqingServiceImpl.class 2KB
BangongwuziShenqingServiceImpl.class 2KB
BangongshiVO.class 2KB
BangongshiShenqingServiceImpl.class 2KB
JiaoshiLizhiModel.class 2KB
BangongwuziModel.class 2KB
HuiyishiShenqingServiceImpl.class 2KB
YinzhangShenqingServiceImpl.class 2KB
BangongwuziShenqingModel.class 2KB
JiaoshiQingjiaServiceImpl.class 2KB
BangongshiShenqingModel.class 2KB
HuiyishiShenqingModel.class 2KB
YinzhangShenqingModel.class 2KB
JiaoshiLizhiServiceImpl.class 2KB
BangongwuziServiceImpl.class 2KB
BangongshiServiceImpl.class 2KB
HuiyishiServiceImpl.class 2KB
YinzhangServiceImpl.class 2KB
JiaoshiServiceImpl.class 2KB
YinzhangVO.class 2KB
BangongshiModel.class 2KB
R.class 2KB
UsersEntity.class 2KB
SpringContextUtils.class 2KB
ValidatorUtils.class 2KB
YinzhangModel.class 2KB
共 942 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
资源评论
计算机学长阿伟
- 粉丝: 2722
- 资源: 481
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 机械手引导项目(C#+vp(N点标定+检测)+西门子通信PLC+Socket连接服务器+图片存储和自动删除)
- 092224219谢晓荣.m4a
- verilog饮料贩卖机-SWJTU-数电课设
- 400699526844862小爱同学.apk
- BookChat-v2.4.zip
- 典型卷积神经网络.pptx
- 本Java project实现了使用JDBC驱动连接mysql数据库,创建了DBConnection类(封装了连接和关
- 在安卓中创建 lighttpd+mysql+php的服务器-almp7.zip
- SWJTU大学生选课系统(面向对象程序设计课设)(C++)
- 基于MATLAB实现传统图像去噪算法和基于深度卷积神经网络的DnCNN图像去噪算法+源代码+文档说明
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功