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", tableName);
params.put("column", columnName);
List<Map<String, Object>> result = commonService.selectGroup(params);
return R.ok().put("data", result);
}
/**
* (按值统计)
*/
@RequestMapping("/value/{tableName}/{x
没有合适的资源?快使用搜索试试~ 我知道了~
基于SpringBoot+Vue的基于springboot养老院管理系统yanglaoyuanguanli.zip
共861个文件
class:176个
java:176个
svg:161个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 110 浏览量
2024-05-19
11:48:49
上传
评论
收藏 97MB ZIP 举报
温馨提示
该项目利用了基于springboot + vue + mysql的开发模式框架实现的课设系统,包括了项目的源码资源、sql文件、相关指引文档等等。 【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【技术】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes
资源推荐
资源详情
资源评论
收起资源包目录
基于SpringBoot+Vue的基于springboot养老院管理系统yanglaoyuanguanli.zip (861个子文件)
uploadGithub.bat 364B
3-build.bat 15B
2-run.bat 14B
1-install.bat 12B
CommonController.class 19KB
YonghuController.class 15KB
JiashuController.class 14KB
FangkeController.class 12KB
DictionaryController.class 12KB
QinshifenpeiController.class 11KB
YinshixihaoController.class 11KB
JiashuyijianController.class 11KB
ShiguController.class 11KB
WaichuController.class 11KB
LaorenjiashuController.class 11KB
XuqiudaiController.class 11KB
MeishiController.class 10KB
TijianController.class 10KB
QinshiController.class 10KB
YaowuController.class 10KB
NewsController.class 10KB
YonghuEntity.class 7KB
MPUtil.class 7KB
UsersController.class 6KB
XuqiudaiView.class 6KB
FangkeEntity.class 6KB
QinshifenpeiView.class 6KB
ShiguEntity.class 6KB
DictionaryServiceImpl.class 6KB
LaorenjiashuView.class 6KB
JiashuEntity.class 6KB
WaichuEntity.class 6KB
ClazzDiff.class 5KB
YinshixihaoEntity.class 5KB
TijianEntity.class 5KB
MeishiEntity.class 5KB
ShiguView.class 5KB
DictionaryEntity.class 5KB
YinshixihaoView.class 5KB
JiashuyijianEntity.class 5KB
FangkeView.class 5KB
WaichuView.class 5KB
FileController.class 5KB
YaowuEntity.class 5KB
QinshiEntity.class 5KB
NewsEntity.class 5KB
XuqiudaiEntity.class 5KB
TokenServiceImpl.class 4KB
YonghuVO.class 4KB
LaorenjiashuEntity.class 4KB
YonghuView.class 4KB
BaiduUtil.class 4KB
QinshifenpeiEntity.class 4KB
YonghuModel.class 4KB
AuthorizationInterceptor.class 4KB
JiashuyijianView.class 4KB
CommonServiceImpl.class 4KB
FangkeVO.class 4KB
ConfigController.class 4KB
PoiUtil.class 4KB
DictionaryServletContextListener.class 3KB
ShiguVO.class 3KB
JiashuVO.class 3KB
FangkeModel.class 3KB
WaichuVO.class 3KB
Query.class 3KB
ShiguModel.class 3KB
JiashuModel.class 3KB
YinshixihaoVO.class 3KB
WaichuModel.class 3KB
MeishiVO.class 3KB
TijianVO.class 3KB
UsersServiceImpl.class 3KB
PageUtils.class 3KB
DictionaryVO.class 3KB
JiashuyijianVO.class 3KB
TokenEntity.class 3KB
CommonUtil.class 3KB
YaowuVO.class 2KB
QinshiVO.class 2KB
NewsVO.class 2KB
XuqiudaiVO.class 2KB
YinshixihaoModel.class 2KB
MeishiModel.class 2KB
TijianModel.class 2KB
InterceptorConfig.class 2KB
DictionaryModel.class 2KB
JiashuyijianModel.class 2KB
LaorenjiashuVO.class 2KB
QinshiModel.class 2KB
YaowuModel.class 2KB
NewsModel.class 2KB
XuqiudaiModel.class 2KB
QinshiView.class 2KB
QinshifenpeiVO.class 2KB
JiashuView.class 2KB
LaorenjiashuModel.class 2KB
LaorenjiashuServiceImpl.class 2KB
JiashuyijianServiceImpl.class 2KB
QinshifenpeiServiceImpl.class 2KB
共 861 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
资源评论
枫蜜柚子茶
- 粉丝: 7475
- 资源: 5106
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 数据库sql语句数据库sql语句
- web期末作业设计网页.pdf
- 傅里叶变换、滤波器、FFT等经典算法的matlab仿真设计.pdf
- DELPHItcp实例DELPHItcp实例DELPHItcp实例DELPHItcp实例DELPHItcp实例DELPHItcp
- 课程设计-Python-学生管理系统
- 全智 A33 a20 a10 升级工具
- excel最全资料,含excel批量上传图片代码、excel各函数/技巧的使用说明和案例等
- 致远 A8+ 协同管理软件 V9.0 用户操作手册(集团版)
- 基于flume+kafka+HBase+spark+ElasticSearch的用户轨迹查询大数据开发项目
- Talent划词翻译插件
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功