package com.pagenow.pagenow_serve.utils;
import com.jfinal.plugin.activerecord.Page;
import com.jfinal.plugin.activerecord.Record;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.io.FileUtils;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.security.MessageDigest;
import java.text.SimpleDateFormat;
import java.util.*;
public class CommonUtil {
public static Record buildRecord(String jsonStr) {
Record record = new Record();
JSONObject jsonObj = JSONObject.parseObject(jsonStr);
for (String key : jsonObj.keySet()) {
record.set(key, jsonObj.get(key));
}
// 如果record的ID为空,则为新增数据
if (CommonUtil.isNullOrEmpty(record.get("id"))) {
record.set("id", CommonUtil.createUuid());
record.set("create_date", CommonUtil.getCurrentDatetime());
}
return record;
}
/**
* JFinal的List<Record>转List<Map>
* @param records
* @return
*/
public static List<Map<String, Object>> recordsToList(List<Record> records) {
List list = new ArrayList();
if (records.size() > 0) {
for (Record record : records) {
list.add(record.getColumns());
}
}
return list;
}
/**
* JFinal的分页数据中的List(Recorc)转List(Map)
* @param jfinalPage
* @return
*/
public static List<Map<String, Object>> jfinalPageToList(Page<Record> jfinalPage){
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
for (Record r : jfinalPage.getList()) {
list.add(r.getColumns());
}
return list;
}
public static String createUuid() {
String uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase();
return uuid;
}
/**
* 判断一个对象是否为空或空字符
*
* @param obj
* @return
*/
public static boolean isNullOrEmpty(Object obj) {
return obj == null || "".equals(obj.toString());
}
/**
* 获取当前日期时间,返回的格式为:yyyy-MM-dd HH:mm:ss
*
* @return
* @throws Exception
*/
public static String getCurrentDatetime() {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return df.format(new Date());
}
public static Object uploadApk(MultipartFile files,
HttpServletRequest request, HttpServletResponse response) {
Map<String, Object> resMap = new HashMap<String, Object>();
if (files.getSize() > 1024 * 1024 * 5) {
System.out.println("文件过大,请上传5M以内的图片");
resMap.put("code", 500);
resMap.put("msg", "文件过大,请上传5M以内的图片");
return resMap;
}
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path;
Date dt = new Date();
Long time = dt.getTime();
if (files != null) {
String realPath = "/Users/jman/Downloads/"; // 获取保存的路径,本地磁盘中的一个文件夹
if (files.isEmpty()) {
resMap.put("code", 400);
resMap.put("msg", "未选择文件");
} else {
// 文件原名称
String originFileName = "";
// 上传文件重命名
String originalFilename = time.toString().substring(time.toString().length() - 8,
time.toString().length());
originalFilename = originalFilename.concat(".");
originalFilename = originalFilename.concat(files.getOriginalFilename()
.toString().substring(files.getOriginalFilename().toString().indexOf(".") + 1));
try {
FileUtils.copyInputStreamToFile(files.getInputStream(), new File(realPath, originalFilename));
resMap.put("code", 200);
resMap.put("msg", "上传成功");
resMap.put("filename", originalFilename);
resMap.put("path", basePath + "/static/image/" + originalFilename);
} catch (IOException e) {
resMap.put("code", 500);
resMap.put("msg", "文件上传失败");
e.printStackTrace();
}
}
}
return resMap;
}
/**
* 使用MD5加密字符串
* @param str
* @return
*/
public static String encodeStrToMD5(String str) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(str.getBytes());
byte b[] = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
return buf.toString();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "";
}
public static void main(String[] args) {
//System.out.println(System.currentTimeMillis());
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> entity = restTemplate.getForEntity("http://service.datav.aliyun.com/datav-mock-data/api/ncov.json?name=total"
, String.class);
System.out.println(entity.getBody());
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
pagenow-open-master.zip
共173个文件
vue:71个
js:35个
java:23个
1 下载量 84 浏览量
2022-12-31
13:32:13
上传
评论
收藏 676KB ZIP 举报
温馨提示
PageNow数据可视化开发平台_开源版,基于SprigBoot+Vue构建的数据可视化开发平台,灵活的拖拽式布局、丰富的通用组件
资源推荐
资源详情
资源评论
收起资源包目录
pagenow-open-master.zip (173个子文件)
mvnw.cmd 6KB
iconfont.css 9KB
pnStyle.css 4KB
contextmenu.css 2KB
.env 41B
iconfont.eot 10KB
.gitignore 60B
test.html 845B
index.html 812B
favicon.ico 4KB
pagenow_serve.iml 8KB
CommonUtil.java 6KB
PageApi.java 5KB
CompinfoApi.java 4KB
TestApi.java 4KB
FileUploadApi.java 3KB
InitActiveRecord.java 2KB
ProjectApi.java 2KB
EchartThemeApi.java 2KB
ReleaseApi.java 2KB
CorsConfig.java 1KB
BaseController.java 1KB
ResponseData.java 1KB
StaticResourceConfig.java 783B
ResourceApplicationContext.java 778B
SqlApi.java 769B
ResultUtil.java 621B
PagenowApplication.java 565B
PageData.java 530B
ResultData.java 524B
Http403Exception.java 469B
Http401Exception.java 396B
PagenowApplicationTests.java 352B
OperationType.java 173B
PnUtil.js 10KB
designer.js 8KB
PnDict.js 4KB
PnDesigner.js 3KB
EchartCompMixin.js 2KB
ChartCompMixin.js 2KB
main.js 2KB
AxiosPlugin.js 2KB
CompinfoApi.js 2KB
PageApi.js 2KB
FuncCompMixin.js 2KB
directives.js 1KB
PnChartDict.js 1KB
CanvasDesignerMixin.js 1KB
router.js 1KB
FuncCompFormMixin.js 1KB
EchartThemeApi.js 1KB
LayoutItemFormMixin.js 1KB
ProjectApi.js 928B
vue.config.js 886B
release.js 690B
.eslintrc.js 660B
InitDbRoutes.js 597B
index.js 583B
PnApi.js 551B
index.js 541B
ManageMixin.js 319B
InitGlobalConfigData.js 315B
LayoutItemMixin.js 274B
ReleaseApi.js 214B
TestApi.js 202B
babel.config.js 192B
AbsoluteLayoutGlobalMixin.js 177B
EventBus.js 81B
postcss.config.js 63B
package.json 2KB
index.less 40B
LICENSE 11KB
yarn.lock 349KB
yarn-error.log 364KB
MANIFEST.MF 1KB
mvnw 9KB
WaterBallChart.png 106KB
BasePieChart.png 55KB
RadialProgressBarComp.png 10KB
CountRollComp.png 10KB
ClockComp.png 10KB
default-img.png 8KB
BaseBarChart.png 7KB
TitleComp.png 7KB
CustomButtonComp.png 6KB
RollListComp.png 6KB
DefaultLayoutItem.png 6KB
PlainTextComp.png 6KB
ProgressBarComp.png 5KB
SwiperImageComp.png 5KB
ImageComp.png 5KB
IFrameComp.png 3KB
thumbnail-default.png 2KB
application.properties 572B
db.properties 391B
pagenow_open.sql 95KB
pagenow_open.sql 95KB
iconfont.svg 32KB
iconfont.ttf 10KB
AbsoluteLayoutCanvas.vue 22KB
共 173 条
- 1
- 2
资源评论
m0_72731342
- 粉丝: 2
- 资源: 1832
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功