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
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Mysql数据库,Java语言,Spring Boot框架。 管理员功能模块的实现: - 个人中心 (5.1): 此模块用于管理员自身信息的管理,包括个人资料的查看、修改密码、登出等功能。 - 员工管理 (5.2): 这个功能模块用于管理公司或组织的员工信息,包括添加新员工、编辑员工信息、查看员工列表以及删除员工记录等操作。 - 用户管理 (5.3): 此模块用于管理系统的用户信息,包括添加新用户、编辑用户信息、查看用户列表以及删除用户记录等操作。 - 基础数据管理 (5.4): 这个功能模块用于管理系统中的基础数据,例如地区信息、产品信息等。管理员可以添加、编辑、删除基础数据以保持系统数据的准确性和完整性。 - 车辆管理 (5.5): 此功能模块用于管理公司或组织拥有的车辆信息,包括添加新车辆、编辑车辆信息、查看车辆列表以及删除车辆记录等操作。 - 保养登记管理 (5.6): 这个功能模块用于记录和管理车辆的保养登记信息,包括保养时间、保养项目、保养费用等。管理员可以添加、编辑、删除保养登记记录。 - 事故登记管理 (5.7): 此模块用于记录和管理车辆发生的事故信息,
资源推荐
资源详情
资源评论
收起资源包目录
基于springboot车辆管理系统设计与实现(毕业论文) (408个子文件)
3-build.bat 16B
2-run.bat 14B
1-install.bat 12B
app.27b76540.css 259KB
chunk-vendors.1f0a25b2.css 37KB
style.css 2KB
index.html 924B
index.html 576B
favicon.ico 4KB
favicon.ico 4KB
CommonController.java 23KB
YuangongController.java 19KB
WeizhangdengjiController.java 13KB
ShigudengjiController.java 12KB
BaoyangdengjiController.java 12KB
WeixiudengjiController.java 12KB
YonghuController.java 12KB
DictionaryController.java 11KB
CheliangController.java 9KB
ShigudengjiView.java 7KB
WeizhangdengjiView.java 7KB
BaoyangdengjiView.java 7KB
WeixiudengjiView.java 7KB
WeizhangdengjiEntity.java 7KB
ShigudengjiEntity.java 6KB
BaoyangdengjiEntity.java 6KB
YonghuEntity.java 6KB
WeixiudengjiEntity.java 6KB
YuangongEntity.java 6KB
WeizhangdengjiVO.java 5KB
MPUtil.java 5KB
ShigudengjiVO.java 5KB
DictionaryServiceImpl.java 5KB
CheliangEntity.java 5KB
YonghuVO.java 5KB
CheliangView.java 5KB
BaoyangdengjiVO.java 5KB
UsersController.java 5KB
WeixiudengjiVO.java 5KB
WeizhangdengjiModel.java 5KB
YuangongVO.java 5KB
CommonServiceImpl.java 5KB
ShigudengjiModel.java 5KB
DictionaryEntity.java 4KB
YonghuModel.java 4KB
BaoyangdengjiModel.java 4KB
WeixiudengjiModel.java 4KB
YuangongModel.java 4KB
CheliangVO.java 4KB
BaiduUtil.java 4KB
FileController.java 4KB
PoiUtil.java 4KB
CommonDao.java 4KB
CommonService.java 3KB
CheliangModel.java 3KB
DictionaryVO.java 3KB
AuthorizationInterceptor.java 3KB
DictionaryModel.java 3KB
ConfigController.java 3KB
Query.java 3KB
TokenServiceImpl.java 2KB
DictionaryServletContextListener.java 2KB
TokenEntity.java 2KB
PageUtils.java 2KB
YonghuView.java 2KB
InterceptorConfig.java 2KB
UsersServiceImpl.java 1KB
WeizhangdengjiServiceImpl.java 1KB
BaoyangdengjiServiceImpl.java 1KB
WeixiudengjiServiceImpl.java 1KB
ShigudengjiServiceImpl.java 1KB
YuangongServiceImpl.java 1KB
CheliangServiceImpl.java 1KB
YuangongView.java 1KB
YonghuServiceImpl.java 1KB
UsersEntity.java 1KB
SpringContextUtils.java 1KB
ValidatorUtils.java 1KB
SQLFilter.java 1KB
DictionaryView.java 1KB
HttpClientUtils.java 1013B
ConfigEntity.java 930B
ConfigServiceImpl.java 929B
cheliangguanliApplication.java 924B
R.java 884B
EIException.java 845B
JQPageInfo.java 790B
FileUtil.java 759B
TokenService.java 752B
MyThreadMethod.java 737B
TypeEnum.java 728B
UsersService.java 622B
MyMetaObjectHandler.java 620B
DictionaryService.java 611B
CommonUtil.java 568B
WeizhangdengjiDao.java 562B
UsersDao.java 562B
TokenDao.java 560B
BaoyangdengjiDao.java 557B
WeixiudengjiDao.java 552B
共 408 条
- 1
- 2
- 3
- 4
- 5
资源评论
code.song
- 粉丝: 381
- 资源: 916
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功