package com.controller;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
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{
@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) {
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(ResourceUtils.getFile("classpath:static/upload").getAbsolutePath()+"/"+face1);
File file2 = new File(ResourceUtils.getFile("classpath:static/upload").getAbsolutePath()+"/"+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列表(联动接口)
* @param table
* @param column
* @return
*/
@IgnoreAuth
@RequestMapping("/option/{tableName}/{columnName}")
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获取单条记录
* @param table
* @param column
* @return
*/
@IgnoreAuth
@RequestMapping("/follow/{tableName}/{columnName}")
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 table
* @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
*/
@IgnoreAuth
@RequestMapping("/remind/{tableName}/{columnName}/{type}")
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("/cal/{tableName}/{columnName}")
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);
}
/**
* 分组统计
*/
@IgnoreAuth
@RequestMapping("/group/{tableName}/{columnName}")
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);
}
/**
* (按值统计)
*/
@IgnoreAuth
@RequestMapping("/value/{tableName}/{xColumnName}/{yColumnName}")
public R value(@PathVariable("tableName") String tableName, @PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("table", tableName);
params.put("xColumn", xColumnName);
params.put("yColumn", yColumnName);
List<Map<Strin
没有合适的资源?快使用搜索试试~ 我知道了~
springboot电商后台管理系统毕业设计程序
共313个文件
java:137个
vue:80个
class:28个
需积分: 50 33 下载量 82 浏览量
2020-09-15
21:02:19
上传
评论 4
收藏 957KB ZIP 举报
温馨提示
采用java技术构建的一个管理系统。整个开发过程首先对系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对系统进行功能测试,并对测试结果进行分析总结。 包括程序毕设程序源代码一份,数据库一份,完美运行。配置环境里面有说明。如有不会运行源代码或定制私信。
资源推荐
资源详情
资源评论
收起资源包目录
springboot电商后台管理系统毕业设计程序 (313个子文件)
UserController.class 6KB
CommonController.class 4KB
FileController.class 3KB
MPUtil.class 3KB
UserServiceImpl.class 3KB
SpringContextUtils.class 2KB
PageUtils.class 2KB
Query.class 2KB
AuthorizationInterceptor.class 2KB
R.class 2KB
UserEntity.class 2KB
CommonServiceImpl.class 2KB
EIException.class 1KB
JQPageInfo.class 1KB
ValidatorUtils.class 1KB
UserDao.class 1KB
UserService.class 1KB
MybatisPlusConfig.class 1KB
InterceptorConfig.class 1KB
CommonUtil.class 1KB
SpringbootSchemaApplication.class 980B
SQLFilter.class 909B
SpringbootSchemaApplicationTests.class 828B
CommonService.class 793B
CommonDao.class 781B
IgnoreAuth.class 428B
APPLoginUser.class 395B
LoginUser.class 389B
.classpath 2KB
mvnw.cmd 7KB
.factorypath 15KB
index.html 552B
favicon.ico 4KB
maven-wrapper.jar 50KB
CommonController.java 8KB
YonghuxinxiController.java 7KB
AddressController.java 6KB
OrdersEntity.java 5KB
DingdanxinxiEntity.java 5KB
MPUtil.java 5KB
ShouhouguanliController.java 5KB
DingdanxinxiController.java 5KB
MavenWrapperDownloader.java 5KB
ShouhouguanliEntity.java 5KB
UserController.java 5KB
ShangpinleixingController.java 5KB
DingdanguanliController.java 5KB
HuiyuanguanliController.java 5KB
ShangpinxinxiController.java 5KB
JiaoseliebiaoController.java 5KB
CuxiaoguanliController.java 5KB
OrdersController.java 5KB
KucunguanliController.java 5KB
OrdersModel.java 4KB
OrdersVO.java 4KB
ShangpinxinxiEntity.java 4KB
DingdanxinxiModel.java 4KB
DingdanxinxiVO.java 4KB
CuxiaoguanliEntity.java 4KB
KucunguanliEntity.java 4KB
ShouhouguanliModel.java 4KB
BaiduUtil.java 4KB
ShouhouguanliVO.java 4KB
HuiyuanguanliEntity.java 4KB
YonghuxinxiEntity.java 3KB
DingdanguanliEntity.java 3KB
FileController.java 3KB
ConfigController.java 3KB
AddressEntity.java 3KB
AuthorizationInterceptor.java 3KB
ShangpinxinxiModel.java 3KB
JiaoseliebiaoEntity.java 3KB
ShangpinxinxiVO.java 3KB
Query.java 3KB
CuxiaoguanliModel.java 3KB
CuxiaoguanliVO.java 2KB
TokenServiceImpl.java 2KB
KucunguanliModel.java 2KB
KucunguanliVO.java 2KB
HuiyuanguanliModel.java 2KB
HuiyuanguanliVO.java 2KB
TokenEntity.java 2KB
YonghuxinxiModel.java 2KB
ShangpinleixingServiceImpl.java 2KB
ShangpinleixingEntity.java 2KB
HuiyuanguanliServiceImpl.java 2KB
DingdanguanliServiceImpl.java 2KB
ShangpinxinxiServiceImpl.java 2KB
JiaoseliebiaoServiceImpl.java 2KB
ShouhouguanliServiceImpl.java 2KB
YonghuxinxiVO.java 2KB
CuxiaoguanliServiceImpl.java 2KB
DingdanxinxiServiceImpl.java 2KB
PageUtils.java 2KB
KucunguanliServiceImpl.java 2KB
YonghuxinxiServiceImpl.java 2KB
DingdanguanliModel.java 2KB
AddressServiceImpl.java 2KB
OrdersServiceImpl.java 2KB
DingdanguanliVO.java 2KB
共 313 条
- 1
- 2
- 3
- 4
资源评论
Yvonne2464
- 粉丝: 139
- 资源: 541
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功