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", tableN
没有合适的资源?快使用搜索试试~ 我知道了~
基于springboot+vue的疫情隔离管理系统(Java毕业设计,附源码,部署教程).zip
共452个文件
svg:161个
java:133个
vue:64个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 151 浏览量
2025-01-07
20:22:27
上传
评论
收藏 24.62MB ZIP 举报
温馨提示
该项目包含完整的前后端代码、数据库脚本和相关工具,简单部署即可运行。功能完善、界面美观、操作简单,具有很高的实际应用价值,非常适合作为Java毕业设计或Java课程设计使用。 所有项目均经过严格调试,确保可运行!下载后即可快速部署和使用。 1 适用场景: 毕业设计 期末大作业 课程设计 2 项目特点: 代码完整:详细代码注释,适合新手学习和使用 功能强大:涵盖常见的核心功能,满足大部分课程设计需求 部署简单:有基础的人,只需按照教程操作,轻松完成本地或服务器部署 高质量代码:经过严格测试,确保无错误,稳定运行 3 技术栈和工具 前端:HTML + Vue.js 后端框架:Spring Boot 开发环境:IntelliJ IDEA 数据库:MySQL(建议使用 5.7 版本,更稳定) 数据库可视化工具:Navicat 部署环境:Tomcat(推荐 7.x 或 8.x 版本),Maven
资源推荐
资源详情
资源评论
收起资源包目录
基于springboot+vue的疫情隔离管理系统(Java毕业设计,附源码,部署教程).zip (452个子文件)
3-build.bat 16B
2-run.bat 14B
1-install.bat 12B
app.36d285bb.css 261KB
chunk-vendors.1f0a25b2.css 37KB
style.css 2KB
index.html 930B
index.html 582B
favicon.ico 4KB
favicon.ico 4KB
CommonController.java 23KB
YonghuController.java 17KB
GongyingshangController.java 14KB
WupinShenqingController.java 12KB
DictionaryController.java 11KB
WupinController.java 10KB
GelishenqingController.java 10KB
GeliController.java 9KB
XingchengController.java 8KB
GongyingshangwentiController.java 8KB
DiquController.java 8KB
YonghuwentiController.java 8KB
WupinShenqingView.java 6KB
WupinShenqingEntity.java 6KB
YonghuEntity.java 5KB
WupinEntity.java 5KB
MPUtil.java 5KB
GongyingshangwentiEntity.java 5KB
DictionaryServiceImpl.java 5KB
YonghuwentiEntity.java 5KB
CommonServiceImpl.java 5KB
UsersController.java 5KB
WupinShenqingVO.java 5KB
GelishenqingEntity.java 5KB
DictionaryEntity.java 4KB
XingchengEntity.java 4KB
GongyingshangEntity.java 4KB
GeliEntity.java 4KB
WupinShenqingModel.java 4KB
YonghuVO.java 4KB
XingchengView.java 4KB
GongyingshangwentiVO.java 4KB
WupinVO.java 4KB
DiquEntity.java 4KB
YonghuModel.java 4KB
YonghuwentiVO.java 4KB
CommonDao.java 4KB
BaiduUtil.java 4KB
GongyingshangwentiModel.java 4KB
FileController.java 4KB
CommonService.java 4KB
WupinModel.java 4KB
PoiUtil.java 4KB
GelishenqingVO.java 4KB
YonghuwentiModel.java 3KB
DictionaryVO.java 3KB
AuthorizationInterceptor.java 3KB
XingchengVO.java 3KB
GeliVO.java 3KB
GongyingshangVO.java 3KB
GelishenqingModel.java 3KB
GelishenqingView.java 3KB
YonghuwentiView.java 3KB
DictionaryModel.java 3KB
XingchengModel.java 3KB
GeliView.java 3KB
GeliModel.java 3KB
ConfigController.java 3KB
GongyingshangModel.java 3KB
DiquVO.java 3KB
DiquModel.java 3KB
GongyingshangwentiView.java 3KB
Query.java 3KB
WupinView.java 3KB
TokenServiceImpl.java 2KB
DictionaryServletContextListener.java 2KB
TokenEntity.java 2KB
PageUtils.java 2KB
InterceptorConfig.java 2KB
UsersServiceImpl.java 1KB
WupinShenqingServiceImpl.java 1KB
GongyingshangServiceImpl.java 1KB
GelishenqingServiceImpl.java 1KB
YonghuwentiServiceImpl.java 1KB
XingchengServiceImpl.java 1KB
DiquView.java 1KB
YonghuView.java 1KB
YonghuServiceImpl.java 1KB
WupinServiceImpl.java 1KB
GeliServiceImpl.java 1KB
DiquServiceImpl.java 1KB
UsersEntity.java 1KB
GongyingshangwentiServiceImpl.java 1KB
SpringContextUtils.java 1KB
ValidatorUtils.java 1KB
GongyingshangView.java 1KB
SQLFilter.java 1KB
DictionaryView.java 1KB
HttpClientUtils.java 1013B
ConfigEntity.java 930B
共 452 条
- 1
- 2
- 3
- 4
- 5
资源评论
程序员徐师兄
- 粉丝: 1989
- 资源: 2883
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于个性化定制的智慧校园管理系统设计与开发-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.rar
- 2025年度粉红简约婚礼邀请函模板.pptx
- 2025年度结婚礼活动策划方案模板.pptx
- 基于大数据的心脏病患者数据分析-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 2025年红灯笼喜庆吉祥婚礼邀请函模板.pptx
- 2025年度桃花迎春喜庆接福婚礼邀请函模板.pptx
- 基于SpringBoot的论坛系统设计与实现-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.rar
- 基于springboot的旅游出行指南_655ms--论文-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 2025年婚礼快闪喜庆求婚礼模板.ptx.pptx
- 简约清新新婚拥抱婚礼活动策划方案模板.pptx
- 2025年结婚礼快闪模板求婚.pptx
- 喜庆吉祥2025年结婚礼邀请函模板.pptx
- 基于微服务的车联网位置信息管理软件的设计与实现-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 基于SpringBoot的农商对接系统的设计与实现-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.rar
- 基于文学创作的社交论坛--论文-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
- 基于springboot的七彩云南文化旅游网站的设计与实现pf-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功