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
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Eclipse,Mysql,SpringBoot框架。 患者信息管理:患者信息的查询管理,可以删除患者信息、修改患者信息、新增患者信息,对用户名称的模糊查询 医生信息管理:查看已发布的医生信息数据,修改医生信息,删除医生信息,医生信息名称的模糊查询,医生信息信息的类型查询 公告类型管理:根据公告类型进行条件查询,还可以对公告类型进行新增、修改、查询操作 公告信息管理:根据公告信息进行新增、修改、查询操作
资源推荐
资源详情
资源评论
收起资源包目录
基于Spring Boot的疗养院管理系统的设计与实现(毕业论文) (484个子文件)
3-build.bat 16B
2-run.bat 14B
1-install.bat 12B
app.47e59f42.css 270KB
chunk-vendors.6d894868.css 37KB
style.css 2KB
index.html 927B
index.html 579B
favicon.ico 4KB
favicon.ico 4KB
CommonController.java 23KB
YonghuController.java 18KB
YishengController.java 17KB
XueshengqingjiaController.java 12KB
YishengqingjiaController.java 12KB
ChaungweishenqingController.java 12KB
YizhuController.java 12KB
XiangmushenqingController.java 12KB
DictionaryController.java 11KB
FeiyongxinxiController.java 10KB
LiuyanController.java 10KB
LiliaoxiangmuController.java 9KB
ChuangweiController.java 9KB
NewsController.java 9KB
XueshengqingjiaEntity.java 7KB
YishengqingjiaEntity.java 7KB
YizhuEntity.java 7KB
YonghuEntity.java 6KB
XueshengqingjiaVO.java 5KB
YizhuVO.java 5KB
YishengqingjiaVO.java 5KB
XiangmushenqingView.java 5KB
ChaungweishenqingView.java 5KB
MPUtil.java 5KB
DictionaryServiceImpl.java 5KB
YishengEntity.java 5KB
YonghuVO.java 5KB
CommonServiceImpl.java 5KB
XueshengqingjiaModel.java 5KB
YishengqingjiaModel.java 5KB
YizhuModel.java 5KB
UsersController.java 5KB
LiuyanEntity.java 5KB
XiangmushenqingEntity.java 5KB
ChaungweishenqingEntity.java 5KB
YizhuView.java 5KB
YonghuModel.java 4KB
FeiyongxinxiEntity.java 4KB
DictionaryEntity.java 4KB
NewsEntity.java 4KB
LiliaoxiangmuEntity.java 4KB
ChuangweiEntity.java 4KB
YishengVO.java 4KB
XueshengqingjiaView.java 4KB
CommonDao.java 4KB
LiuyanVO.java 4KB
BaiduUtil.java 4KB
FileController.java 4KB
CommonService.java 4KB
PoiUtil.java 4KB
YishengModel.java 4KB
XiangmushenqingVO.java 4KB
ChaungweishenqingVO.java 4KB
FeiyongxinxiView.java 4KB
LiuyanModel.java 3KB
FeiyongxinxiVO.java 3KB
DictionaryVO.java 3KB
AuthorizationInterceptor.java 3KB
NewsVO.java 3KB
YishengqingjiaView.java 3KB
XiangmushenqingModel.java 3KB
ChaungweishenqingModel.java 3KB
LiliaoxiangmuVO.java 3KB
FeiyongxinxiModel.java 3KB
LiuyanView.java 3KB
DictionaryModel.java 3KB
ChuangweiVO.java 3KB
NewsModel.java 3KB
ConfigController.java 3KB
LiliaoxiangmuModel.java 3KB
ChuangweiModel.java 3KB
YonghuView.java 3KB
Query.java 3KB
TokenServiceImpl.java 2KB
DictionaryServletContextListener.java 2KB
TokenEntity.java 2KB
PageUtils.java 2KB
InterceptorConfig.java 2KB
LiliaoxiangmuView.java 1KB
ChaungweishenqingServiceImpl.java 1KB
UsersServiceImpl.java 1KB
XueshengqingjiaServiceImpl.java 1KB
XiangmushenqingServiceImpl.java 1KB
ChuangweiView.java 1KB
YishengqingjiaServiceImpl.java 1KB
LiliaoxiangmuServiceImpl.java 1KB
FeiyongxinxiServiceImpl.java 1KB
ChuangweiServiceImpl.java 1KB
NewsView.java 1KB
YishengView.java 1KB
共 484 条
- 1
- 2
- 3
- 4
- 5
资源评论
code.song
- 粉丝: 381
- 资源: 916
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 1961ee27df03bd4595d28e24b00dde4e_744c805f7e4fb4d40fa3f695bfbab035_8(1).c
- mediapipe-0.9.0.1-cp37-cp37m-win-amd64.whl.zip
- windows注册表编辑工具
- mediapipe-0.9.0.1-cp37-cp37m-win-amd64.whl.zip
- 校园通行码预约管理系统20240522075502
- 车类型数据集6250张VOC+YOLO格式.zip
- The PyTorch implementation of STGCN.STGCN-main.zip
- 092300108.cpp
- 车类型数据集6000张VOC+YOLO格式.zip
- for daily read
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功