Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
polysoft-nafmii
/
polysoft-parent
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 9b03b82a
authored
May 11, 2021
by
ypenglv
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
Merge
2 parents
c6cebdb2
44fcc3a2
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
378 additions
and
397 deletions
nafmii-admin/src/main/java/org/nafmii/admin/user/controller/ImportExcelController.java → nafmii-admin/src/main/java/org/nafmii/admin/att/controller/ImportExcelController.java
nafmii-admin/src/main/java/org/nafmii/admin/user/dao/ImportExcelMapper.java → nafmii-admin/src/main/java/org/nafmii/admin/att/dao/ImportExcelMapper.java
nafmii-admin/src/main/java/org/nafmii/admin/user/dto/ImportExcelDto.java → nafmii-admin/src/main/java/org/nafmii/admin/att/dto/ImportExcelDto.java
nafmii-admin/src/main/java/org/nafmii/admin/att/service/ImportExcelService.java
nafmii-admin/src/main/java/org/nafmii/admin/att/service/impl/AttServiceImpl.java
nafmii-admin/src/main/java/org/nafmii/admin/att/service/impl/ImportExcelServiceImpl.java
nafmii-admin/src/main/java/org/nafmii/admin/att/service/test.java
nafmii-admin/src/main/java/org/nafmii/admin/att/utils/NoModelDataListener.java
nafmii-admin/src/main/java/org/nafmii/admin/att/vo/ExcelVo.java
nafmii-admin/src/main/java/org/nafmii/admin/user/service/IImportExcelService.java
nafmii-admin/src/main/java/org/nafmii/admin/user/service/impl/ImportExcelServiceImpl.java
nafmii-admin/src/main/resources/mapper/AttachmentInfoMapper.xml
nafmii-admin/src/main/resources/mapper/ImportExcelMapper.xml
nafmii-app/src/main/java/org/nafmii/app/user/controller/UserController.java
nafmii-app/src/main/java/org/nafmii/app/user/dto/LoginDto.java
nafmii-app/src/main/java/org/nafmii/app/user/param/LoginParam.java
nafmii-app/src/main/java/org/nafmii/app/user/service/UserService.java
nafmii-app/src/main/java/org/nafmii/app/user/service/impl/UserServiceImpl.java
nafmii-app/src/main/java/org/nafmii/app/user/vo/UserVO.java
nafmii-common/pom.xml
nafmii-common/src/main/java/org/nafmii/common/constant/MessageEnum.java
nafmii-common/src/main/java/org/nafmii/common/constant/UserEnum.java
nafmii-admin/src/main/java/org/nafmii/admin/
user
/controller/ImportExcelController.java
→
nafmii-admin/src/main/java/org/nafmii/admin/
att
/controller/ImportExcelController.java
View file @
9b03b82
package
org
.
nafmii
.
admin
.
user
.
controller
;
package
org
.
nafmii
.
admin
.
att
.
controller
;
import
com.alibaba.excel.EasyExcel
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.nafmii.admin.user.dto.ImportExcelDto
;
import
org.nafmii.admin.att.service.ImportExcelService
;
import
org.nafmii.admin.user.service.IImportExcelService
;
import
org.nafmii.common.response.ApiResponse
;
import
org.nafmii.common.response.ApiResponse
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
@@ -13,20 +11,27 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -13,20 +11,27 @@ import org.springframework.web.bind.annotation.RestController;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.
util.List
;
import
java.
io.IOException
;
@RestController
@RestController
@RequestMapping
(
"/nafmii/admin/
import
"
)
@RequestMapping
(
"/nafmii/admin/
excel
"
)
@Api
(
tags
=
"
3.0.0"
,
description
=
"中心端批量导入Excel接口
"
)
@Api
(
tags
=
"
2.0.1"
,
description
=
"中心端批量导入Excel接口【zjh】
"
)
public
class
ImportExcelController
{
public
class
ImportExcelController
{
@Resource
@Resource
private
I
I
mportExcelService
iImportExcelService
;
private
ImportExcelService
iImportExcelService
;
@ApiOperation
(
value
=
"中心端
批量导入Excel"
,
notes
=
"中心端批量
导入Excel"
)
@ApiOperation
(
value
=
"中心端
导入Excel"
,
notes
=
"中心端
导入Excel"
)
@PostMapping
(
"/
batchImportExcel
"
)
@PostMapping
(
"/
import
"
)
@ResponseBody
@ResponseBody
public
ApiResponse
batchImportExcel
(
MultipartFile
file
){
public
ApiResponse
ImportExcel
(
MultipartFile
file
)
throws
IOException
{
ApiResponse
result
=
iImportExcelService
.
batchImportExcel
(
file
);
ApiResponse
result
=
iImportExcelService
.
importExcel
(
file
);
return
result
;
}
@ApiOperation
(
value
=
"中心端导出Excel"
,
notes
=
"中心端导出Excel"
)
@PostMapping
(
"/export"
)
@ResponseBody
public
ApiResponse
exportExcel
()
throws
IOException
{
ApiResponse
result
=
iImportExcelService
.
exportExcel
();
return
result
;
return
result
;
}
}
}
}
nafmii-admin/src/main/java/org/nafmii/admin/
user
/dao/ImportExcelMapper.java
→
nafmii-admin/src/main/java/org/nafmii/admin/
att
/dao/ImportExcelMapper.java
View file @
9b03b82
package
org
.
nafmii
.
admin
.
user
.
dao
;
package
org
.
nafmii
.
admin
.
att
.
dao
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.nafmii.admin.user.dto.ImportExcelDto
;
import
org.apache.ibatis.annotations.Param
;
import
org.nafmii.admin.user.entity.CenterUserPO
;
import
org.nafmii.admin.att.dto.ImportExcelDto
;
import
java.util.List
;
/**
/**
* <p>
* <p>
...
@@ -16,14 +14,14 @@ import java.util.List;
...
@@ -16,14 +14,14 @@ import java.util.List;
* @since 2021-04-27
* @since 2021-04-27
*/
*/
@Mapper
@Mapper
public
interface
ImportExcelMapper
extends
BaseMapper
<
CenterUserPO
>
{
public
interface
ImportExcelMapper
extends
BaseMapper
<
ImportExcelDto
>
{
/**
/**
* @author:suncq
* @author:suncq
* @Function:
中心端用户登陆
* @Function:
批量导入EXCEL数据
* @date 2021/
4/27
* @date 2021/
5/6
* @ClassName:
* @ClassName:
* @version:
* @version:
* @remark:
* @remark:
*/
*/
int
insertExcelData
(
ImportExcelDto
data
);
int
insertExcelData
(
@Param
(
"data"
)
ImportExcelDto
data
);
}
}
nafmii-admin/src/main/java/org/nafmii/admin/
user
/dto/ImportExcelDto.java
→
nafmii-admin/src/main/java/org/nafmii/admin/
att
/dto/ImportExcelDto.java
View file @
9b03b82
package
org
.
nafmii
.
admin
.
user
.
dto
;
package
org
.
nafmii
.
admin
.
att
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
lombok.Data
;
...
...
nafmii-admin/src/main/java/org/nafmii/admin/att/service/ImportExcelService.java
0 → 100644
View file @
9b03b82
package
org
.
nafmii
.
admin
.
att
.
service
;
import
org.nafmii.common.response.ApiResponse
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.IOException
;
/**
* <p>
* 中心端批量导入Excel
* </p>
*
* @author zjh
* @since 2021-04-27
*/
public
interface
ImportExcelService
{
//中心端导出Excle
ApiResponse
exportExcel
();
//中心端批量导入Excel
ApiResponse
importExcel
(
MultipartFile
file
)
throws
IOException
;
}
nafmii-admin/src/main/java/org/nafmii/admin/att/service/impl/AttServiceImpl.java
View file @
9b03b82
...
@@ -39,13 +39,13 @@ import java.util.*;
...
@@ -39,13 +39,13 @@ import java.util.*;
@Slf4j
@Slf4j
public
class
AttServiceImpl
implements
AttService
{
public
class
AttServiceImpl
implements
AttService
{
@Value
(
"${att.upload.docBase}"
)
//
@Value("${att.upload.docBase}")
private
String
ftpPath
;
//
private String ftpPath;
@Value
(
"${att.upload.path}"
)
//
@Value("${att.upload.path}")
private
String
downLoad
;
//
private String downLoad;
//
@Value
(
"${web.upload.path}"
)
//
@Value("${web.upload.path}")
private
String
fileRootPath
;
//
private String fileRootPath;
@Resource
@Resource
private
AttachmentInfoMapper
infoMapper
;
private
AttachmentInfoMapper
infoMapper
;
...
@@ -65,7 +65,7 @@ public class AttServiceImpl implements AttService {
...
@@ -65,7 +65,7 @@ public class AttServiceImpl implements AttService {
if
(!
localFile
.
getParentFile
().
exists
()){
//文件夹目录不存在创建目录
if
(!
localFile
.
getParentFile
().
exists
()){
//文件夹目录不存在创建目录
localFile
.
getParentFile
().
mkdirs
();
localFile
.
getParentFile
().
mkdirs
();
//存放图片的路径地址
//存放图片的路径地址
StringBuilder
sb
=
new
StringBuilder
(
ftpPath
).
append
(
"/"
);
StringBuilder
sb
=
new
StringBuilder
(
""
).
append
(
"/"
);
String
path
=
sb
.
toString
();
String
path
=
sb
.
toString
();
lastPath
=
path
;
lastPath
=
path
;
try
{
try
{
...
@@ -120,7 +120,7 @@ public class AttServiceImpl implements AttService {
...
@@ -120,7 +120,7 @@ public class AttServiceImpl implements AttService {
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
//存放图片的路径地址
//存放图片的路径地址
StringBuilder
sb
=
new
StringBuilder
(
ftpPath
).
append
(
"/"
);
StringBuilder
sb
=
new
StringBuilder
(
""
).
append
(
"/"
);
String
path
=
sb
.
toString
();
String
path
=
sb
.
toString
();
lastPath
=
path
;
lastPath
=
path
;
// fileFtp.uploadFile(path,newName,file.getInputStream());
// fileFtp.uploadFile(path,newName,file.getInputStream());
...
@@ -134,7 +134,7 @@ public class AttServiceImpl implements AttService {
...
@@ -134,7 +134,7 @@ public class AttServiceImpl implements AttService {
attachVo
.
setDelFlag
(
CommonEnum
.
USED
.
getCode
());
attachVo
.
setDelFlag
(
CommonEnum
.
USED
.
getCode
());
attachVo
.
setDescription
(
description
);
attachVo
.
setDescription
(
description
);
attachVo
.
setFilePath
(
filePath
);
attachVo
.
setFilePath
(
filePath
);
attachVo
.
setFileUrl
(
downLoad
+
"/"
+
newName
);
attachVo
.
setFileUrl
(
""
+
"/"
+
newName
);
attachList
.
add
(
attachVo
);
attachList
.
add
(
attachVo
);
}
}
//ftp上传
//ftp上传
...
...
nafmii-admin/src/main/java/org/nafmii/admin/att/service/impl/ImportExcelServiceImpl.java
0 → 100644
View file @
9b03b82
package
org
.
nafmii
.
admin
.
att
.
service
.
impl
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.enums.CellExtraTypeEnum
;
import
lombok.extern.slf4j.Slf4j
;
import
org.nafmii.admin.att.dto.ImportExcelDto
;
import
org.nafmii.admin.att.service.ImportExcelService
;
import
org.nafmii.admin.att.dao.ImportExcelMapper
;
import
org.nafmii.admin.att.utils.NoModelDataListener
;
import
org.nafmii.admin.att.vo.ExcelVo
;
import
org.nafmii.common.constant.MessageEnum
;
import
org.nafmii.common.response.ApiResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.net.URLEncoder
;
import
java.util.ArrayList
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
/**
* <p>
* 中心端批量导入Excel
* </p>
*
* @author suncq
* @since 2021-04-27
*/
@Slf4j
@Service
public
class
ImportExcelServiceImpl
implements
ImportExcelService
{
@Resource
private
ImportExcelMapper
importExcelMapper
;
@Autowired
HttpServletResponse
response
;
/**
* 导出
* @param
* @return
*/
@Override
public
ApiResponse
exportExcel
()
{
ArrayList
<
ExcelVo
>
objects
=
new
ArrayList
<>();
try
{
response
.
setContentType
(
"application/vnd.ms-excel"
);
response
.
setCharacterEncoding
(
"utf-8"
);
String
fileProductName
=
URLEncoder
.
encode
(
"店铺运营售后处理导出数据"
,
"UTF-8"
);
response
.
setHeader
(
"Content-disposition"
,
"attachment;filename="
+
fileProductName
+
".xlsx"
);
EasyExcel
.
write
(
response
.
getOutputStream
(),
ExcelVo
.
class
).
sheet
(
"导出"
).
doWrite
(
objects
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
new
ApiResponse
(
ApiResponse
.
SUCCESS
,
ApiResponse
.
SUCCESS_TEXT
,
objects
);
}
/**
* 导入
* @param file
* @return
* @throws IOException
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ApiResponse
importExcel
(
MultipartFile
file
)
throws
IOException
{
List
<
Map
<
Integer
,
String
>>
list
=
EasyExcel
.
read
(
file
.
getInputStream
(),
new
NoModelDataListener
())
.
extraRead
(
CellExtraTypeEnum
.
MERGE
)
.
ignoreEmptyRow
(
true
)
.
autoTrim
(
true
)
.
headRowNumber
(
1
)
.
sheet
(
0
)
.
doReadSync
();
log
.
info
(
"导入后生成的数据源=============>"
+
list
);
if
(!
list
.
isEmpty
())
{
for
(
Map
<
Integer
,
String
>
data
:
list
)
{
ImportExcelDto
excelDto
=
new
ImportExcelDto
();
if
(
data
.
size
()!=
3
){
return
new
ApiResponse
(
ApiResponse
.
FAIL
,
MessageEnum
.
EXCEL_ERROR
.
getRemarks
());
}
excelDto
.
setColumn1
(
data
.
get
(
0
));
excelDto
.
setColumn2
(
data
.
get
(
1
));
excelDto
.
setColumn3
(
data
.
get
(
2
));
log
.
info
(
"导入处理后生成的数据源=============>"
+
excelDto
);
importExcelMapper
.
insertExcelData
(
excelDto
);
}
}
return
new
ApiResponse
(
ApiResponse
.
SUCCESS
,
ApiResponse
.
SUCCESS_TEXT
);
}
}
\ No newline at end of file
\ No newline at end of file
nafmii-admin/src/main/java/org/nafmii/admin/att/service/test.java
deleted
100644 → 0
View file @
c6cebdb
package
org
.
nafmii
.
admin
.
att
.
service
;
/**
* @author:zhoujh
* @Function:TODO
* @date 2021/5/7 14:41
* @ClassName:
* @version:
* @remark:
*/
public
class
test
{
}
nafmii-admin/src/main/java/org/nafmii/admin/att/utils/NoModelDataListener.java
0 → 100644
View file @
9b03b82
package
org
.
nafmii
.
admin
.
att
.
utils
;
import
com.alibaba.excel.context.AnalysisContext
;
import
com.alibaba.excel.event.AnalysisEventListener
;
import
com.alibaba.excel.exception.ExcelDataConvertException
;
import
com.alibaba.excel.metadata.CellExtra
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author:zhoujh
* @Function:TODO
* @date 2021/5/8 11:23
* @ClassName:
* @version:
* @remark:
*/
@Slf4j
public
class
NoModelDataListener
extends
AnalysisEventListener
<
Map
<
Integer
,
String
>>
{
/**
* 所有列到字段名的映射
* */
private
Map
<
Integer
,
String
>
index2FieldMap
;
/**
* 解析出的数据
*/
private
LinkedHashMap
<
Integer
,
Map
<
Integer
,
String
>>
row2DataMap
=
new
LinkedHashMap
<>();
/**
* 合并单元格
*/
private
List
<
CellExtra
>
extraMergeInfoList
=
new
ArrayList
<>();
public
NoModelDataListener
(){}
public
NoModelDataListener
(
Map
<
Integer
,
String
>
index2FieldMap
){
this
.
index2FieldMap
=
index2FieldMap
;
}
@Override
public
void
invoke
(
Map
<
Integer
,
String
>
rowData
,
AnalysisContext
analysisContext
)
{
//读取到的每行数据,其key是以0开始的索引
row2DataMap
.
put
(
analysisContext
.
readRowHolder
().
getRowIndex
(),
rowData
)
;
}
@Override
public
void
doAfterAllAnalysed
(
AnalysisContext
analysisContext
)
{
//所有行都解析完成
this
.
explainMergeData
(
row2DataMap
,
extraMergeInfoList
)
;
}
/**
* 某行的数据解析失败
* */
@Override
public
void
onException
(
Exception
exception
,
AnalysisContext
context
)
{
log
.
info
(
"解析失败,但是继续解析下一行: "
+
exception
.
getMessage
());
// 如果是某一个单元格的转换异常 能获取到具体行号
if
(
exception
instanceof
ExcelDataConvertException
)
{
ExcelDataConvertException
excelDataConvertException
=
(
ExcelDataConvertException
)
exception
;
log
.
info
(
"第{}行,第{}列解析异常"
+
excelDataConvertException
.
getRowIndex
()
+
excelDataConvertException
.
getColumnIndex
());
}
}
@Override
public
void
extra
(
CellExtra
extra
,
AnalysisContext
context
)
{
switch
(
extra
.
getType
()){
case
MERGE:
{
extraMergeInfoList
.
add
(
extra
);
break
;
}
case
HYPERLINK:
{
break
;
}
case
COMMENT:
{
}
default
:
{
}
}
}
/**
* 处理合并单元格
* @param data 解析数据
* @param extraMergeInfoList 合并单元格信息
* @return 填充好的解析数据
*/
private
void
explainMergeData
(
Map
<
Integer
,
Map
<
Integer
,
String
>>
data
,
List
<
CellExtra
>
extraMergeInfoList
)
{
//循环所有合并单元格信息
extraMergeInfoList
.
forEach
(
cellExtra
->
{
int
firstRowIndex
=
cellExtra
.
getFirstRowIndex
();
int
lastRowIndex
=
cellExtra
.
getLastRowIndex
();
int
firstColumnIndex
=
cellExtra
.
getFirstColumnIndex
();
int
lastColumnIndex
=
cellExtra
.
getLastColumnIndex
();
Map
<
Integer
,
String
>
rdata
=
data
.
get
(
cellExtra
.
getRowIndex
())
;
String
val
=
null
;
if
(
rdata
!=
null
){
val
=
rdata
.
get
(
cellExtra
.
getColumnIndex
())
;
}
//遍历每行
Map
<
Integer
,
String
>
rowData
=
null
;
for
(
int
i
=
firstRowIndex
;
i
<=
lastRowIndex
;
i
++){
rowData
=
data
.
get
(
i
)
;
if
(
rowData
==
null
){
continue
;
}
for
(
int
c
=
firstColumnIndex
;
c
<=
lastColumnIndex
;
c
++){
rowData
.
put
(
c
,
val
)
;
}
}
});
}
}
nafmii-admin/src/main/java/org/nafmii/admin/att/vo/ExcelVo.java
0 → 100644
View file @
9b03b82
package
org
.
nafmii
.
admin
.
att
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.write.style.ColumnWidth
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @author:zhoujh
* @Function:TODO
* @date 2021/5/10 13:44
* @ClassName:
* @version:
* @remark:
*/
@ApiModel
(
"ExcelVo"
)
@ColumnWidth
(
18
)
@Data
public
class
ExcelVo
{
@ExcelProperty
(
value
=
"id"
,
index
=
0
)
@ApiModelProperty
(
"id"
)
private
Long
id
;
@ExcelProperty
(
value
=
"退款交易流水号"
,
index
=
1
)
@ApiModelProperty
(
"名称"
)
private
String
name
;
@ExcelProperty
(
value
=
"性别"
,
index
=
2
)
@ApiModelProperty
(
"性别"
)
private
String
sex
;
@ExcelProperty
(
value
=
"电话号"
,
index
=
3
)
@ApiModelProperty
(
"电话号"
)
private
String
phone
;
}
nafmii-admin/src/main/java/org/nafmii/admin/user/service/IImportExcelService.java
deleted
100644 → 0
View file @
c6cebdb
package
org
.
nafmii
.
admin
.
user
.
service
;
import
org.nafmii.admin.user.dto.ImportExcelDto
;
import
org.nafmii.common.response.ApiResponse
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.List
;
/**
* <p>
* 中心端-用户表 服务类
* </p>
*
* @author suncq
* @since 2021-04-27
*/
public
interface
IImportExcelService
{
/**
* @author:suncq
* @Function:中心端用户登陆
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
ApiResponse
batchImportExcel
(
MultipartFile
file
);
}
nafmii-admin/src/main/java/org/nafmii/admin/user/service/impl/ImportExcelServiceImpl.java
deleted
100644 → 0
View file @
c6cebdb
package
org
.
nafmii
.
admin
.
user
.
service
.
impl
;
import
com.alibaba.excel.EasyExcel
;
import
lombok.extern.slf4j.Slf4j
;
import
org.nafmii.admin.user.dao.ImportExcelMapper
;
import
org.nafmii.admin.user.dto.ImportExcelDto
;
import
org.nafmii.admin.user.service.IImportExcelService
;
import
org.nafmii.common.response.ApiResponse
;
import
org.springframework.stereotype.Service
;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook
;
import
org.apache.poi.ss.usermodel.Cell
;
import
org.apache.poi.ss.usermodel.Row
;
import
org.apache.poi.ss.usermodel.Sheet
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.apache.poi.ss.util.CellRangeAddress
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.nafmii.admin.user.service.IImportExcelService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* <p>
* 中心端-用户表 服务实现类
* </p>
*
* @author suncq
* @since 2021-04-27
*/
@Slf4j
@Service
public
class
ImportExcelServiceImpl
implements
IImportExcelService
{
@Resource
private
ImportExcelMapper
importExcelMapper
;
@Override
public
ApiResponse
batchImportExcel
(
MultipartFile
file
)
{
List
<
ImportExcelDto
>
list
=
null
;
try
{
list
=
EasyExcel
.
read
(
file
.
getInputStream
()).
sheet
(
0
).
head
(
ImportExcelDto
.
class
).
doReadSync
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
log
.
info
(
"导入后生成的数据源=============>"
+
list
);
if
(!
list
.
isEmpty
())
{
for
(
ImportExcelDto
data
:
list
)
{
int
i
=
importExcelMapper
.
insertExcelData
(
data
);
if
(
i
<
0
){
return
new
ApiResponse
(
ApiResponse
.
FAIL
,
ApiResponse
.
FAIL_TEXT
);
}
}
}
return
new
ApiResponse
(
ApiResponse
.
SUCCESS
,
ApiResponse
.
SUCCESS_TEXT
);
}
public
String
importExcel
(
InputStream
inputStream
,
String
fileName
)
throws
Exception
{
String
message
=
"Import success"
;
boolean
isE2007
=
false
;
//判断是否是excel2007格式
if
(
fileName
.
endsWith
(
"xlsx"
))
{
isE2007
=
true
;
}
int
rowIndex
=
0
;
try
{
InputStream
input
=
inputStream
;
//建立输入流
Workbook
wb
;
//根据文件格式(2003或者2007)来初始化
if
(
isE2007
)
{
wb
=
new
XSSFWorkbook
(
input
);
}
else
{
wb
=
new
HSSFWorkbook
(
input
);
}
Sheet
sheet
=
wb
.
getSheetAt
(
0
);
//获得第一个表单
int
rowCount
=
sheet
.
getLastRowNum
()
+
1
;
for
(
int
i
=
1
;
i
<
rowCount
;
i
++)
{
rowIndex
=
i
;
Row
row
;
for
(
int
j
=
0
;
j
<
26
;
j
++)
{
if
(
isMergedRegion
(
sheet
,
i
,
j
))
{
System
.
out
.
print
(
getMergedRegionValue
(
sheet
,
i
,
j
)
+
"\t"
);
}
else
{
row
=
sheet
.
getRow
(
i
);
System
.
out
.
print
(
row
.
getCell
(
j
)
+
"\t"
);
}
}
System
.
out
.
print
(
"\n"
);
}
}
catch
(
Exception
ex
)
{
message
=
"Import failed, please check the data in "
+
rowIndex
+
" rows "
;
}
return
message
;
}
/**
* 获取单元格的值
*
* @param cell
* @return
*/
public
String
getCellValue
(
Cell
cell
)
{
if
(
cell
==
null
)
return
""
;
return
cell
.
getStringCellValue
();
}
/**
* 合并单元格处理,获取合并行
*
* @param sheet
* @return List<CellRangeAddress>
*/
public
List
<
CellRangeAddress
>
getCombineCell
(
Sheet
sheet
)
{
List
<
CellRangeAddress
>
list
=
new
ArrayList
<>();
//获得一个 sheet 中合并单元格的数量
int
sheetmergerCount
=
sheet
.
getNumMergedRegions
();
//遍历所有的合并单元格
for
(
int
i
=
0
;
i
<
sheetmergerCount
;
i
++)
{
//获得合并单元格保存进list中
CellRangeAddress
ca
=
sheet
.
getMergedRegion
(
i
);
list
.
add
(
ca
);
}
return
list
;
}
private
int
getRowNum
(
List
<
CellRangeAddress
>
listCombineCell
,
Cell
cell
,
Sheet
sheet
)
{
int
xr
=
0
;
int
firstC
=
0
;
int
lastC
=
0
;
int
firstR
=
0
;
int
lastR
=
0
;
for
(
CellRangeAddress
ca
:
listCombineCell
)
{
//获得合并单元格的起始行, 结束行, 起始列, 结束列
firstC
=
ca
.
getFirstColumn
();
lastC
=
ca
.
getLastColumn
();
firstR
=
ca
.
getFirstRow
();
lastR
=
ca
.
getLastRow
();
if
(
cell
.
getRowIndex
()
>=
firstR
&&
cell
.
getRowIndex
()
<=
lastR
)
{
if
(
cell
.
getColumnIndex
()
>=
firstC
&&
cell
.
getColumnIndex
()
<=
lastC
)
{
xr
=
lastR
;
}
}
}
return
xr
;
}
/**
* 判断单元格是否为合并单元格,是的话则将单元格的值返回
*
* @param listCombineCell 存放合并单元格的list
* @param cell 需要判断的单元格
* @param sheet sheet
* @return
*/
public
String
isCombineCell
(
List
<
CellRangeAddress
>
listCombineCell
,
Cell
cell
,
Sheet
sheet
)
throws
Exception
{
int
firstC
=
0
;
int
lastC
=
0
;
int
firstR
=
0
;
int
lastR
=
0
;
String
cellValue
=
null
;
for
(
CellRangeAddress
ca
:
listCombineCell
)
{
//获得合并单元格的起始行, 结束行, 起始列, 结束列
firstC
=
ca
.
getFirstColumn
();
lastC
=
ca
.
getLastColumn
();
firstR
=
ca
.
getFirstRow
();
lastR
=
ca
.
getLastRow
();
if
(
cell
.
getRowIndex
()
>=
firstR
&&
cell
.
getRowIndex
()
<=
lastR
)
{
if
(
cell
.
getColumnIndex
()
>=
firstC
&&
cell
.
getColumnIndex
()
<=
lastC
)
{
Row
fRow
=
sheet
.
getRow
(
firstR
);
Cell
fCell
=
fRow
.
getCell
(
firstC
);
cellValue
=
getCellValue
(
fCell
);
break
;
}
}
else
{
cellValue
=
""
;
}
}
return
cellValue
;
}
/**
* 获取合并单元格的值
*
* @param sheet
* @param row
* @param column
* @return
*/
public
String
getMergedRegionValue
(
Sheet
sheet
,
int
row
,
int
column
)
{
int
sheetMergeCount
=
sheet
.
getNumMergedRegions
();
for
(
int
i
=
0
;
i
<
sheetMergeCount
;
i
++)
{
CellRangeAddress
ca
=
sheet
.
getMergedRegion
(
i
);
int
firstColumn
=
ca
.
getFirstColumn
();
int
lastColumn
=
ca
.
getLastColumn
();
int
firstRow
=
ca
.
getFirstRow
();
int
lastRow
=
ca
.
getLastRow
();
if
(
row
>=
firstRow
&&
row
<=
lastRow
)
{
if
(
column
>=
firstColumn
&&
column
<=
lastColumn
)
{
Row
fRow
=
sheet
.
getRow
(
firstRow
);
Cell
fCell
=
fRow
.
getCell
(
firstColumn
);
return
getCellValue
(
fCell
);
}
}
}
return
null
;
}
/**
* 判断指定的单元格是否是合并单元格
*
* @param sheet
* @param row 行下标
* @param column 列下标
* @return
*/
private
boolean
isMergedRegion
(
Sheet
sheet
,
int
row
,
int
column
)
{
int
sheetMergeCount
=
sheet
.
getNumMergedRegions
();
for
(
int
i
=
0
;
i
<
sheetMergeCount
;
i
++)
{
CellRangeAddress
range
=
sheet
.
getMergedRegion
(
i
);
int
firstColumn
=
range
.
getFirstColumn
();
int
lastColumn
=
range
.
getLastColumn
();
int
firstRow
=
range
.
getFirstRow
();
int
lastRow
=
range
.
getLastRow
();
if
(
row
>=
firstRow
&&
row
<=
lastRow
)
{
if
(
column
>=
firstColumn
&&
column
<=
lastColumn
)
{
return
true
;
}
}
}
return
false
;
}
}
\ No newline at end of file
\ No newline at end of file
nafmii-admin/src/main/resources/mapper/AttachmentInfoMapper.xml
View file @
9b03b82
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<mapper
namespace=
"org.nafmii.admin.dao.AttachmentInfoMapper"
>
<mapper
namespace=
"org.nafmii.admin.dao.AttachmentInfoMapper"
>
<!-- 通用查询映射结果 -->
<!-- 通用查询映射结果 -->
<resultMap
id=
"BaseResultMap"
type=
"org.nafmii.admin.entity.AttachmentInfoPO"
>
<resultMap
id=
"BaseResultMap"
type=
"org.nafmii.admin.
att.
entity.AttachmentInfoPO"
>
<id
column=
"ID"
property=
"id"
/>
<id
column=
"ID"
property=
"id"
/>
<result
column=
"FILE_NAME"
property=
"fileName"
/>
<result
column=
"FILE_NAME"
property=
"fileName"
/>
<result
column=
"FILE_URL"
property=
"fileUrl"
/>
<result
column=
"FILE_URL"
property=
"fileUrl"
/>
...
...
nafmii-admin/src/main/resources/mapper/ImportExcelMapper.xml
View file @
9b03b82
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.nafmii.admin.
user
.dao.ImportExcelMapper"
>
<mapper
namespace=
"org.nafmii.admin.
att
.dao.ImportExcelMapper"
>
<!-- 通用查询映射结果 -->
<!-- 通用查询映射结果 -->
<resultMap
id=
"BaseResultMap"
type=
"org.nafmii.admin.
user.entity.ImportExcelPO
"
>
<resultMap
id=
"BaseResultMap"
type=
"org.nafmii.admin.
att.dto.ImportExcelDto
"
>
<result
column=
"COLUMN1"
property=
"column1"
/>
<result
column=
"COLUMN1"
property=
"column1"
/>
<result
column=
"COLUMN2"
property=
"column2"
/>
<result
column=
"COLUMN2"
property=
"column2"
/>
<result
column=
"COLUMN3"
property=
"column3"
/>
<result
column=
"COLUMN3"
property=
"column3"
/>
</resultMap>
</resultMap>
<insert
id =
"insertExcelData"
parameterType=
"org.nafmii.admin.
user
.dto.ImportExcelDto"
>
<insert
id =
"insertExcelData"
parameterType=
"org.nafmii.admin.
att
.dto.ImportExcelDto"
>
insert into IMPORT_EXCEL_TEST
insert into IMPORT_EXCEL_TEST
(COLUMN1,COLUMN2,COLUMN3)
(COLUMN1,COLUMN2,COLUMN3)
values(#{column1},
values(#{
data.
column1},
#{column2},
#{
data.
column2},
#{column3})
#{
data.
column3})
</insert >
</insert >
</mapper>
</mapper>
nafmii-app/src/main/java/org/nafmii/app/user/controller/UserController.java
View file @
9b03b82
package
org
.
nafmii
.
app
.
user
.
controller
;
package
org
.
nafmii
.
app
.
user
.
controller
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.nafmii.app.user.dto.LoginDto
;
import
org.nafmii.app.user.dto.LoginDto
;
...
@@ -10,17 +8,13 @@ import org.nafmii.app.user.param.LoginParam;
...
@@ -10,17 +8,13 @@ import org.nafmii.app.user.param.LoginParam;
import
org.nafmii.app.user.param.RegisterParam
;
import
org.nafmii.app.user.param.RegisterParam
;
import
org.nafmii.app.user.service.UserService
;
import
org.nafmii.app.user.service.UserService
;
import
org.nafmii.app.user.vo.UserVO
;
import
org.nafmii.app.user.vo.UserVO
;
import
org.nafmii.common.ftp.FTPClientHelper
;
import
org.nafmii.common.response.ApiResponse
;
import
org.nafmii.common.response.ApiResponse
;
import
org.nafmii.common.utils.BeanTransferUtils
;
import
org.nafmii.common.utils.RequestUtils
;
import
org.nafmii.common.utils.RequestUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
sun.net.ftp.FtpClient
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.io.File
;
/**
/**
* @author:zhoujh
* @author:zhoujh
...
@@ -33,12 +27,10 @@ import java.io.File;
...
@@ -33,12 +27,10 @@ import java.io.File;
@RestController
@RestController
@RequestMapping
(
"/app/nafmii/user"
)
@RequestMapping
(
"/app/nafmii/user"
)
@Api
(
tags
=
"2.0.1"
,
description
=
"用户登陆注册操作操作【zjh】"
)
@Api
(
tags
=
"2.0.1"
,
description
=
"用户登陆注册操作操作【zjh】"
)
public
class
UserController
{
public
class
UserController
{
@Resource
@Resource
private
UserService
userService
;
private
UserService
userService
;
@Resource
private
TestClinet
testClinet
;
@ApiOperation
(
value
=
"模拟用户登陆"
,
notes
=
"模拟用户登陆"
)
@ApiOperation
(
value
=
"模拟用户登陆"
,
notes
=
"模拟用户登陆"
)
@PostMapping
(
"/loginTest"
)
@PostMapping
(
"/loginTest"
)
@ResponseBody
@ResponseBody
...
@@ -62,24 +54,6 @@ public class UserController {
...
@@ -62,24 +54,6 @@ public class UserController {
ApiResponse
<
UserVO
>
login
=
userService
.
userLogin
(
loginParam
);
ApiResponse
<
UserVO
>
login
=
userService
.
userLogin
(
loginParam
);
return
login
;
return
login
;
}
}
@ApiOperation
(
value
=
"app用户登陆接口(密码加验证码)"
,
notes
=
"app用户登陆接口(密码加验证码)"
)
@PostMapping
(
"/testFtp"
)
@ResponseBody
public
ApiResponse
testFtp
(){
String
ftpClient
=
FTPClientHelper
.
uploadFile
(
"1"
,
new
File
(
"e:/new1.txt"
),
"aa"
);
System
.
out
.
println
(
ftpClient
);
return
new
ApiResponse
();
}
@ApiOperation
(
value
=
"app用户登陆接口(密码加验证码)"
,
notes
=
"app用户登陆接口(密码加验证码)"
)
@PostMapping
(
"/yyy"
)
@ResponseBody
public
ApiResponse
yyy
(
@RequestBody
JSONObject
object
){
LoginParam
loginParam
=
BeanTransferUtils
.
transfer
(
object
,
LoginParam
.
class
);
if
(
"001"
.
equals
(
object
.
get
(
"apiCode"
))){
testClinet
.
login
(
loginParam
);
}
return
new
ApiResponse
();
}
}
}
nafmii-app/src/main/java/org/nafmii/app/user/dto/LoginDto.java
View file @
9b03b82
...
@@ -27,8 +27,4 @@ public class LoginDto {
...
@@ -27,8 +27,4 @@ public class LoginDto {
@ApiModelProperty
(
"验证码"
)
@ApiModelProperty
(
"验证码"
)
private
String
code
;
private
String
code
;
@NotNull
(
message
=
"登陆方式不能为空"
)
@ApiModelProperty
(
"登陆方式0密码1验证码"
)
private
String
type
;
}
}
nafmii-app/src/main/java/org/nafmii/app/user/param/LoginParam.java
View file @
9b03b82
...
@@ -28,7 +28,4 @@ public class LoginParam {
...
@@ -28,7 +28,4 @@ public class LoginParam {
@ApiModelProperty
(
"验证码"
)
@ApiModelProperty
(
"验证码"
)
private
String
code
;
private
String
code
;
@NotNull
(
message
=
"登陆方式不能为空"
)
@ApiModelProperty
(
"登陆方式0密码1验证码"
)
private
String
type
;
}
}
nafmii-app/src/main/java/org/nafmii/app/user/service/UserService.java
View file @
9b03b82
...
@@ -18,6 +18,8 @@ import org.nafmii.common.response.ApiResponse;
...
@@ -18,6 +18,8 @@ import org.nafmii.common.response.ApiResponse;
public
interface
UserService
{
public
interface
UserService
{
//模拟用户登陆接口
//模拟用户登陆接口
ApiResponse
<
UserVO
>
login
();
ApiResponse
<
UserVO
>
login
();
//手机号登陆接口
ApiResponse
<
UserVO
>
phoneLogin
(
LoginParam
loginParam
);
//app注册接口
//app注册接口
ApiResponse
register
(
RegisterParam
registerParam
);
ApiResponse
register
(
RegisterParam
registerParam
);
//用户登陆接口
//用户登陆接口
...
...
nafmii-app/src/main/java/org/nafmii/app/user/service/impl/UserServiceImpl.java
View file @
9b03b82
...
@@ -12,6 +12,7 @@ import org.nafmii.app.user.service.UserService;
...
@@ -12,6 +12,7 @@ import org.nafmii.app.user.service.UserService;
import
org.nafmii.app.user.vo.UserAndRoleVo
;
import
org.nafmii.app.user.vo.UserAndRoleVo
;
import
org.nafmii.app.user.vo.UserVO
;
import
org.nafmii.app.user.vo.UserVO
;
import
org.nafmii.common.constant.HttpClientHeaderEnum
;
import
org.nafmii.common.constant.HttpClientHeaderEnum
;
import
org.nafmii.common.constant.MessageEnum
;
import
org.nafmii.common.param.BeanTransferUtils
;
import
org.nafmii.common.param.BeanTransferUtils
;
import
org.nafmii.common.response.ApiResponse
;
import
org.nafmii.common.response.ApiResponse
;
import
org.nafmii.common.utils.JwtUtils
;
import
org.nafmii.common.utils.JwtUtils
;
...
@@ -86,6 +87,37 @@ public class UserServiceImpl implements UserService {
...
@@ -86,6 +87,37 @@ public class UserServiceImpl implements UserService {
}
}
/**
/**
* 手机号登陆接口
* @param loginParam
* @return
*/
@Override
public
ApiResponse
<
UserVO
>
phoneLogin
(
LoginParam
loginParam
)
{
LoginDto
loginDto
=
BeanTransferUtils
.
transfer
(
loginParam
,
LoginDto
.
class
);
log
.
info
(
"========登陆接口相关参数======>"
+
loginDto
);
long
EXPIRITION
=
1000
*
60
*
60
*
24
*
7
;
//验证码登陆
String
code
=
stringRedisTemplate
.
opsForValue
().
get
(
USER_CODE_KEY
+
loginDto
.
getPhone
());
log
.
info
(
"重redis中获取的验证码===============》{}"
,
code
);
if
(
null
==
code
){
return
new
ApiResponse
(
ApiResponse
.
FAIL
,
MessageEnum
.
CODE_ERROR
.
getRemarks
());
}
if
(!
loginDto
.
getCode
().
equals
(
code
)){
return
new
ApiResponse
(
ApiResponse
.
FAIL
,
MessageEnum
.
CODE_ERROR
.
getRemarks
());
}
UserVO
userVo
=
appUserMapper
.
selectByPhone
(
loginDto
.
getPhone
());
log
.
info
(
"验证码登录返回用户实体=======》{}"
,
userVo
);
userVo
.
setLoginType
(
userVo
!=
null
?
UserEnum
.
NOTFIRSTLOGIN
.
getCode
()
:
UserEnum
.
FIRSTLOGIN
.
getCode
());
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
HttpClientHeaderEnum
.
USER_HEADER_USER_ID
.
getCode
(),
userVo
.
getId
());
String
token
=
JwtUtils
.
generateJsonWebToken
(
map
,
EXPIRITION
);
userVo
.
setAuthorization
(
token
);
ApiResponse
apiResponse
=
new
ApiResponse
();
apiResponse
.
setData
(
userVo
);
return
apiResponse
;
}
/**
* app用户注册接口
* app用户注册接口
* @param registerParam
* @param registerParam
* @return ApiResponse
* @return ApiResponse
...
@@ -141,30 +173,15 @@ public class UserServiceImpl implements UserService {
...
@@ -141,30 +173,15 @@ public class UserServiceImpl implements UserService {
@Override
@Override
public
ApiResponse
<
UserVO
>
userLogin
(
LoginParam
loginParam
)
{
public
ApiResponse
<
UserVO
>
userLogin
(
LoginParam
loginParam
)
{
LoginDto
loginDto
=
BeanTransferUtils
.
transfer
(
loginParam
,
LoginDto
.
class
);
LoginDto
loginDto
=
BeanTransferUtils
.
transfer
(
loginParam
,
LoginDto
.
class
);
UserVO
userVo
=
new
UserVO
(
);
log
.
info
(
"========登陆接口相关参数======>"
+
loginDto
);
long
EXPIRITION
=
1000
*
60
*
60
*
24
*
7
;
long
EXPIRITION
=
1000
*
60
*
60
*
24
*
7
;
//首先判断登陆方式
//密码登陆
if
(
loginDto
.
getType
().
equals
(
"0"
)){
UserVO
userVo
=
appUserMapper
.
selectByPassword
(
loginDto
);
//密码登陆
log
.
info
(
"账号密码登录返回用户实体=======》{}"
,
userVo
);
userVo
=
appUserMapper
.
selectByPassword
(
loginDto
);
if
(
null
==
userVo
){
if
(
null
==
userVo
){
return
new
ApiResponse
(
ApiResponse
.
FAIL
,
MessageEnum
.
FAIR_PASSWORD
.
getRemarks
());
return
new
ApiResponse
(
ApiResponse
.
FAIL
,
"请先注册"
);
}
}
else
{
//验证码登陆
String
code
=
stringRedisTemplate
.
opsForValue
().
get
(
USER_CODE_KEY
+
loginDto
.
getPhone
());
log
.
info
(
"冲redis中获取的验证码===============》{}"
,
code
);
if
(
null
==
code
){
return
new
ApiResponse
(
ApiResponse
.
FAIL
,
"验证码已过期"
);
}
if
(!
code
.
equals
(
loginDto
.
getCode
())){
return
new
ApiResponse
(
ApiResponse
.
FAIL
,
"验证码错误请重新输入"
);
}
userVo
=
appUserMapper
.
selectByPhone
(
loginDto
.
getPhone
());
if
(
null
!=
userVo
){
return
new
ApiResponse
(
ApiResponse
.
FAIL
,
"请先注册"
);
}
}
}
userVo
.
setLoginType
(
UserEnum
.
NOTFIRSTLOGIN
.
getCode
());
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
HttpClientHeaderEnum
.
USER_HEADER_USER_ID
.
getCode
(),
userVo
.
getId
());
map
.
put
(
HttpClientHeaderEnum
.
USER_HEADER_USER_ID
.
getCode
(),
userVo
.
getId
());
String
token
=
JwtUtils
.
generateJsonWebToken
(
map
,
EXPIRITION
);
String
token
=
JwtUtils
.
generateJsonWebToken
(
map
,
EXPIRITION
);
...
...
nafmii-app/src/main/java/org/nafmii/app/user/vo/UserVO.java
View file @
9b03b82
...
@@ -64,6 +64,10 @@ public class UserVO {
...
@@ -64,6 +64,10 @@ public class UserVO {
@ApiModelProperty
(
value
=
"是否有效标识 0 有效用户 1无效用户"
)
@ApiModelProperty
(
value
=
"是否有效标识 0 有效用户 1无效用户"
)
private
String
isEnable
;
private
String
isEnable
;
@ApiModelProperty
(
value
=
"token"
)
@ApiModelProperty
(
value
=
"token"
)
private
String
authorization
;
private
String
authorization
;
@ApiModelProperty
(
value
=
"验证码登陆判断是否第一次登陆 0是 1否"
)
private
String
loginType
;
}
}
nafmii-common/pom.xml
View file @
9b03b82
...
@@ -176,7 +176,7 @@
...
@@ -176,7 +176,7 @@
<dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<groupId>
com.alibaba
</groupId>
<artifactId>
easyexcel
</artifactId>
<artifactId>
easyexcel
</artifactId>
<version>
2.
1.6
</version>
<version>
2.
2.7
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.google.guava
</groupId>
<groupId>
com.google.guava
</groupId>
...
...
nafmii-common/src/main/java/org/nafmii/common/constant/MessageEnum.java
View file @
9b03b82
...
@@ -20,6 +20,9 @@ public enum MessageEnum {
...
@@ -20,6 +20,9 @@ public enum MessageEnum {
FILE_UPLOAD_FAIL
(-
111L
,
"文件上传失败!"
),
FILE_UPLOAD_FAIL
(-
111L
,
"文件上传失败!"
),
FILE_DOWN_FAIL
(-
112L
,
"文件不存在或已被删除!"
),
FILE_DOWN_FAIL
(-
112L
,
"文件不存在或已被删除!"
),
FILE_PICTURE
(-
113L
,
"图片格式非法!"
),
FILE_PICTURE
(-
113L
,
"图片格式非法!"
),
CODE_ERROR
(-
114L
,
"验证码错误或失效!"
),
EXCEL_ERROR
(-
115L
,
"导入模板列数不匹配!"
),
FAIR_PASSWORD
(-
116L
,
"密码有误!"
),
;
;
private
Long
code
;
private
Long
code
;
...
...
nafmii-common/src/main/java/org/nafmii/common/constant/UserEnum.java
View file @
9b03b82
...
@@ -25,9 +25,16 @@ public enum UserEnum{
...
@@ -25,9 +25,16 @@ public enum UserEnum{
*/
*/
ENABLE
(
"0"
,
"有效用户"
),
ENABLE
(
"0"
,
"有效用户"
),
NOTENABLE
(
"1"
,
"无效用户"
),
NOTENABLE
(
"1"
,
"无效用户"
),
/**
* 登陆方式
*/
LOGINPHONE
(
"1"
,
"验证码"
),
LOGINPHONE
(
"1"
,
"验证码"
),
LOGINPWD
(
"0"
,
"密码"
),
LOGINPWD
(
"0"
,
"密码"
),
/**
*用户是否第一次登陆
*/
FIRSTLOGIN
(
"0"
,
"是第一次登陆"
),
NOTFIRSTLOGIN
(
"1"
,
"不是第一次登陆"
),
;
;
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment