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
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于SSM+Vue的科技银行业务管理系统毕业设计(源码+延时录像+说明).rar 【项目技术】 开发语言:Java 框架:ssm+vue 架构:B/S 数据库:mysql 【演示视频-编号:743】 https://pan.quark.cn/s/b3a97032fae7 【实现功能】 本次使用Java技术开发的科技银行业务管理系统,就是运用计算机来管理科技银行业务信息,该系统是可以实现贷款管理,贷款购买管理,理财产品管理,理财产品购买管理,审核人员管理,业务人员管理,银行卡管理,银行卡金额记录管理,银行卡补办管理,存款管理,取款管理,转账管理,账户注销管理等功能。
资源推荐
资源详情
资源评论
收起资源包目录
基于SSM+Vue的科技银行业务管理系统毕业设计(源码+延时录像+说明).rar (525个子文件)
3-build.bat 16B
2-run.bat 14B
1-install.bat 12B
app.936979b1.css 267KB
bootstrap.css 149KB
bootstrap.min.css 118KB
chunk-vendors.1f0a25b2.css 37KB
style.css 2KB
glyphicons-halflings-regular.eot 20KB
index.html 936B
index.html 588B
favicon.ico 4KB
favicon.ico 4KB
CommonController.java 23KB
ShenherenyuanController.java 20KB
ZhuanzhangController.java 20KB
YewurenyuanController.java 20KB
LicaicanpinGoumaiController.java 19KB
YonghuController.java 19KB
DaikuanGoumaiController.java 16KB
YuyuecunkuanController.java 16KB
YuyuequkuanController.java 15KB
YinhangkabubanController.java 14KB
ZhanghuzhuxiaoController.java 14KB
YinhangkaJinejiluController.java 13KB
YinhangkaController.java 13KB
DaikuanController.java 13KB
LicaicanpinController.java 12KB
DaikuanGoumaiView.java 12KB
DictionaryController.java 11KB
ZhuanzhangView.java 11KB
YuyuecunkuanView.java 10KB
ZhuanzhangEntity.java 8KB
YinhangkabubanView.java 8KB
YuyuequkuanView.java 8KB
YinhangkaJinejiluView.java 8KB
LicaicanpinGoumaiView.java 8KB
YuyuecunkuanEntity.java 8KB
YuyuequkuanEntity.java 7KB
DaikuanEntity.java 7KB
LicaicanpinGoumaiEntity.java 7KB
ZhuanzhangVO.java 7KB
ShenherenyuanEntity.java 6KB
YonghuEntity.java 6KB
YinhangkaEntity.java 6KB
YinhangkabubanEntity.java 6KB
YewurenyuanEntity.java 6KB
YuyuecunkuanVO.java 6KB
ZhuanzhangModel.java 6KB
DaikuanGoumaiEntity.java 6KB
LicaicanpinEntity.java 6KB
ZhanghuzhuxiaoEntity.java 6KB
YuyuequkuanVO.java 6KB
DaikuanVO.java 6KB
LicaicanpinGoumaiVO.java 6KB
YuyuecunkuanModel.java 6KB
YinhangkaJinejiluEntity.java 6KB
YuyuequkuanModel.java 5KB
MPUtil.java 5KB
DaikuanModel.java 5KB
ShenherenyuanVO.java 5KB
LicaicanpinGoumaiModel.java 5KB
YonghuVO.java 5KB
DictionaryServiceImpl.java 5KB
YinhangkaVO.java 5KB
YewurenyuanVO.java 5KB
YinhangkabubanVO.java 5KB
CommonServiceImpl.java 5KB
DaikuanGoumaiVO.java 5KB
LicaicanpinVO.java 5KB
UsersController.java 5KB
ShenherenyuanModel.java 5KB
ZhanghuzhuxiaoVO.java 5KB
YonghuModel.java 5KB
YinhangkaModel.java 5KB
YewurenyuanModel.java 5KB
YinhangkabubanModel.java 5KB
DictionaryEntity.java 4KB
LicaicanpinModel.java 4KB
DaikuanGoumaiModel.java 4KB
ZhanghuzhuxiaoView.java 4KB
YinhangkaJinejiluVO.java 4KB
YinhangkaView.java 4KB
ZhanghuzhuxiaoModel.java 4KB
YinhangkaJinejiluModel.java 4KB
LicaicanpinView.java 4KB
DaikuanView.java 4KB
CommonDao.java 4KB
BaiduUtil.java 4KB
CommonService.java 4KB
PoiUtil.java 4KB
DictionaryVO.java 3KB
AuthorizationInterceptor.java 3KB
DictionaryModel.java 3KB
ConfigController.java 3KB
FileController.java 3KB
Query.java 3KB
TokenServiceImpl.java 2KB
DictionaryServletContextListener.java 2KB
TokenEntity.java 2KB
共 525 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
职场程序猿
- 粉丝: 2611
- 资源: 3683
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功