diff --git a/pom.xml b/pom.xml index 21f361b..72d1207 100644 --- a/pom.xml +++ b/pom.xml @@ -87,7 +87,19 @@ org.apache.poi poi-ooxml - 3.9 + 3.17 + + + + org.apache.poi + poi + 3.17 + + + + org.apache.poi + poi-ooxml-schemas + 3.17 diff --git a/radar-admin/pom.xml b/radar-admin/pom.xml index 297e842..363753e 100644 --- a/radar-admin/pom.xml +++ b/radar-admin/pom.xml @@ -76,6 +76,13 @@ io.jsonwebtoken jjwt + + com.alibaba + easyexcel + 2.1.3 + + + diff --git a/radar-commons/src/main/java/com/pgmmers/radar/util/ExcelUtils.java b/radar-commons/src/main/java/com/pgmmers/radar/util/ExcelUtils.java index 916dbc0..80cdaa9 100644 --- a/radar-commons/src/main/java/com/pgmmers/radar/util/ExcelUtils.java +++ b/radar-commons/src/main/java/com/pgmmers/radar/util/ExcelUtils.java @@ -55,7 +55,7 @@ public class ExcelUtils { // 创建第一种字体样式(用于列名) f.setFontHeightInPoints((short) 10); f.setColor(IndexedColors.BLACK.getIndex()); - f.setBoldweight(Font.BOLDWEIGHT_BOLD); +// f.setBoldweight(Font.BOLDWEIGHT_BOLD); // 创建第二种字体样式(用于值) f2.setFontHeightInPoints((short) 10); @@ -67,19 +67,19 @@ public class ExcelUtils { // 设置第一种单元格的样式(用于列名) cs.setFont(f); - cs.setBorderLeft(CellStyle.BORDER_THIN); - cs.setBorderRight(CellStyle.BORDER_THIN); - cs.setBorderTop(CellStyle.BORDER_THIN); - cs.setBorderBottom(CellStyle.BORDER_THIN); - cs.setAlignment(CellStyle.ALIGN_CENTER); +// cs.setBorderLeft(CellStyle.BORDER_THIN); +// cs.setBorderRight(CellStyle.BORDER_THIN); +// cs.setBorderTop(CellStyle.BORDER_THIN); +// cs.setBorderBottom(CellStyle.BORDER_THIN); +// cs.setAlignment(CellStyle.ALIGN_CENTER); // 设置第二种单元格的样式(用于值) cs2.setFont(f2); - cs2.setBorderLeft(CellStyle.BORDER_THIN); - cs2.setBorderRight(CellStyle.BORDER_THIN); - cs2.setBorderTop(CellStyle.BORDER_THIN); - cs2.setBorderBottom(CellStyle.BORDER_THIN); - cs2.setAlignment(CellStyle.ALIGN_CENTER); +// cs2.setBorderLeft(CellStyle.BORDER_THIN); +// cs2.setBorderRight(CellStyle.BORDER_THIN); +// cs2.setBorderTop(CellStyle.BORDER_THIN); +// cs2.setBorderBottom(CellStyle.BORDER_THIN); +// cs2.setAlignment(CellStyle.ALIGN_CENTER); //设置列名 for(int i=0;i list, Long dataListId) { CommonResult result = new CommonResult(); for (DataListRecordVO dataListRecord : list) { + dataListRecord.setDataListId(dataListId); int count = dataListDal.saveRecord(dataListRecord); if (count > 0) { // 通知更新 diff --git a/radar-service-impl/src/main/java/com/pgmmers/radar/service/impl/model/ModelServiceImpl.java b/radar-service-impl/src/main/java/com/pgmmers/radar/service/impl/model/ModelServiceImpl.java index c294a48..741a16b 100644 --- a/radar-service-impl/src/main/java/com/pgmmers/radar/service/impl/model/ModelServiceImpl.java +++ b/radar-service-impl/src/main/java/com/pgmmers/radar/service/impl/model/ModelServiceImpl.java @@ -256,9 +256,13 @@ public class ModelServiceImpl implements ModelService, SubscribeHandle { String columns = plugin.getMeta(); if (columns == null) { String fieldType = plugin.getType(); - String elaType = convertFieldType2ElasticType(fieldType); - String tmp = String.format(base, elaType); - preItemJson.put(item.getDestField(), JSON.parseObject(tmp)); + if(fieldType.equals("JSON")) { + //TODO: json类型需要另外处理 + } else { + String elaType = convertFieldType2ElasticType(fieldType); + String tmp = String.format(base, elaType); + preItemJson.put(item.getDestField(), JSON.parseObject(tmp)); + } } else { String meta = plugin.getMeta(); List fieldsJson = JSON.parseArray(meta, JSONObject.class); diff --git a/webapp/src/component/datalist/modal/AddDataListRecord.jsx b/webapp/src/component/datalist/modal/AddDataListRecord.jsx index c155b4b..9d40ea8 100644 --- a/webapp/src/component/datalist/modal/AddDataListRecord.jsx +++ b/webapp/src/component/datalist/modal/AddDataListRecord.jsx @@ -1,5 +1,5 @@ import React from 'react'; -import {Button,Checkbox,Select,Radio,Switch,Form,Row,Col,Icon,Modal,Input,InputNumber,Cascader,Tooltip } from 'antd'; +import {Button,Checkbox,Select,Radio,Switch,Form,Row,Col,Icon,Modal,Input,InputNumber,Cascader,Tooltip,Upload, message } from 'antd'; const FormItem = Form.Item; const RadioGroup = Radio.Group; @@ -15,13 +15,17 @@ export default class AddDataListRecord extends React.Component{ this.state={ visible:false, - + importVisible: false, dataRecord:'', fieldNum:this.props.metaList.length } } + componentDidMount() { + console.log(this.props); + } + handleChange=(index,e)=>{ var value=e.target.value; var valueArr=this.state.dataRecord.split(','); @@ -48,8 +52,15 @@ export default class AddDataListRecord extends React.Component{ showModal=()=>{ this.setState({ - dataRecord:'', - visible:true + dataRecord: '', + visible: true + }) + } + + showModal2=()=>{ + this.setState({ + + importVisible:true }) } @@ -58,7 +69,7 @@ export default class AddDataListRecord extends React.Component{ param.dataListId=this.props.dataListId; param.dataRecord=this.state.dataRecord; - FetchUtil('/datalistrecord/','PUT',JSON.stringify(param), + FetchUtil('/datalistrecord/','PUT', JSON.stringify(param), (data) => { this.setState({ visible:false @@ -73,15 +84,39 @@ export default class AddDataListRecord extends React.Component{ }) } + handleCancel2=()=>{ + this.setState({ + importVisible:false + }) + } render(){ const formItemLayout = { labelCol: { span: 6 }, wrapperCol: { span: 16 }, }; + const uploadProps = { + name: 'file', + data: {"dataListId": this.props.dataListId}, + action: '/services/v1/datalistrecord/batchImportDataRecord', + headers: { + "x-auth-token": localStorage.getItem('x-auth-token'), + }, + onChange(info) { + if (info.file.status !== 'uploading') { + console.log(info.file, info.fileList); + } + if (info.file.status === 'done') { + message.success(`${info.file.name} file uploaded successfully`); + } else if (info.file.status === 'error') { + message.error(`${info.file.name} file upload failed.`); + } + }, + }; let valueArr=this.state.dataRecord.split(','); return ( - 新增 + 新增 + 导入数据 {this.props.metaList.map(function(info,i){ @@ -93,6 +128,13 @@ export default class AddDataListRecord extends React.Component{ }.bind(this))} + + + + Click to Upload + + + ); } diff --git a/webapp/src/index.jsx b/webapp/src/index.jsx index 5dafa59..233f5c9 100644 --- a/webapp/src/index.jsx +++ b/webapp/src/index.jsx @@ -55,7 +55,7 @@ class Welcome extends React.Component{ - 欢迎登录反欺诈系统管理平台! + 欢迎登录风控引擎管理平台!