Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
H
hzsomms
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ZTGK
hzsomms
Commits
f1b8c8dc
Commit
f1b8c8dc
authored
Nov 03, 2023
by
hkl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:1.人工检查数据导入bug
parent
2a2816f0
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
604 additions
and
460 deletions
+604
-460
pom.xml
jeecg-module-system/pom.xml
+0
-1
MovementRecordsMasterController.java
...checkData/controller/MovementRecordsMasterController.java
+3
-38
MovementRecordsMasterFace.java
...ecg/modules/checkData/face/MovementRecordsMasterFace.java
+2
-0
MovementRecordsMasterFaceImpl.java
...es/checkData/face/impl/MovementRecordsMasterFaceImpl.java
+82
-6
RailInspectionEquipmentItemServiceImpl.java
.../service/impl/RailInspectionEquipmentItemServiceImpl.java
+17
-3
AnalysisAlgorithm.java
...es/dynamicStaticAnalysis/algorithm/AnalysisAlgorithm.java
+19
-0
AnalysisBatchUnitDeviceController.java
...nalysis/controller/AnalysisBatchUnitDeviceController.java
+4
-1
SubwaySectionController.java
...les/subwayNetwork/controller/SubwaySectionController.java
+1
-1
DuplicateCheckController.java
...g/modules/system/controller/DuplicateCheckController.java
+55
-43
SysDictMapper.java
...n/java/org/jeecg/modules/system/mapper/SysDictMapper.java
+163
-140
SysDictMapper.xml
...ava/org/jeecg/modules/system/mapper/xml/SysDictMapper.xml
+258
-227
No files found.
jeecg-module-system/pom.xml
View file @
f1b8c8dc
...
...
@@ -65,7 +65,6 @@
<properties>
<package.environment>
dev
</package.environment>
</properties>
</profile>
<!-- 黄康林本地配置-->
...
...
jeecg-module-system/src/main/java/org/jeecg/modules/checkData/controller/MovementRecordsMasterController.java
View file @
f1b8c8dc
...
...
@@ -95,10 +95,6 @@ public class MovementRecordsMasterController extends JeecgController<MovementRec
private
IMovementTqiStandardManagerService
movementTqiStandardManagerService
;
@Resource
private
AnalysisAlgorithmMapper
analysisAlgorithmMapper
;
@Resource
private
IRailInspectionEquipmentItemService
railInspectionEquipmentItemService
;
@Resource
private
IRailInspectionEquipmentItemDetailService
railInspectionEquipmentItemDetailService
;
@Resource
private
AsyncTask
asyncTask
;
...
...
@@ -285,40 +281,9 @@ public class MovementRecordsMasterController extends JeecgController<MovementRec
@ApiOperation
(
value
=
"删除动静态几何尺寸数据及相关联的数据"
,
notes
=
"删除动静态几何尺寸数据及相关联的数据"
)
@GetMapping
(
value
=
"/delete"
)
public
Result
<
String
>
delete
(
@ApiParam
(
name
=
"动静态几何尺寸数据id"
,
required
=
true
)
String
id
,
@ApiParam
(
name
=
"动静态几何尺寸数据类型"
,
required
=
true
)
String
type
)
{
if
(
"1"
.
equals
(
type
))
{
//人工静态检查相关
//删除里程详情
movementCourseInfoService
.
lambdaUpdate
().
eq
(
MovementCourseInfo:
:
getMovementMasterId
,
id
).
remove
();
//删除里程相关
movementCourseService
.
lambdaUpdate
().
eq
(
MovementCourse:
:
getMovementMasterId
,
id
).
remove
();
}
else
if
(
"2"
.
equals
(
type
))
{
// 删除里程
railInspectionEquipmentItemService
.
lambdaUpdate
().
eq
(
RailInspectionEquipmentItem:
:
getRailInspectionEquipmentId
,
id
).
remove
();
// 删除里程明细
railInspectionEquipmentItemDetailService
.
lambdaUpdate
().
eq
(
RailInspectionEquipmentItemDetail:
:
getRailInspectionEquipmentId
,
id
).
remove
();
}
else
if
(
"4"
.
equals
(
type
))
{
//删除添乘仪详情
movementAdditiveInfoService
.
lambdaUpdate
().
eq
(
MovementAdditiveInfo:
:
getMovementMasterId
,
id
).
remove
();
}
else
if
(
"3"
.
equals
(
type
))
{
//删除轨检车-》轨道动态几何尺寸容许值差管理值
movementDiferenceManagerService
.
lambdaUpdate
().
eq
(
MovementDiferenceManager:
:
getMovementMasterId
,
id
).
remove
();
//删除轨检车-》超限记录报告
movementOverReportService
.
lambdaUpdate
().
eq
(
MovementOverReport:
:
getMovementMasterId
,
id
).
remove
();
//删除轨检车-》区段总结报告
movementSectionReportService
.
lambdaUpdate
().
eq
(
MovementSectionReport:
:
getMovementMasterId
,
id
).
remove
();
//删除轨检车-》公里总结报告表
movementSummaryReportService
.
lambdaUpdate
().
eq
(
MovementSummaryReport:
:
getMovementMasterId
,
id
).
remove
();
//删除轨检车-》TQI公里总结报告
movementTqiKilometerReportService
.
lambdaUpdate
().
eq
(
MovementTqiKilometerReport:
:
getMovementMasterId
,
id
).
remove
();
//删除轨检车-》TQI公里状态评定标准
movementTqiKilometerStandardManagerService
.
lambdaUpdate
().
eq
(
MovementTqiKilometerStandardManager:
:
getMovementMasterId
,
id
).
remove
();
//删除轨检车-》TQI总结报告
movementTqiReportService
.
lambdaUpdate
().
eq
(
MovementTqiReport:
:
getMovementMasterId
,
id
).
remove
();
//删除轨检车-》200m区段轨道不平顺质量指数TQI管理标准(单位:mm)
movementTqiStandardManagerService
.
lambdaUpdate
().
eq
(
MovementTqiStandardManager:
:
getMovementMasterId
,
id
).
remove
();
}
//删除动静态几何尺寸数据
this
.
service
.
lambdaUpdate
().
eq
(
MovementRecordsMaster:
:
getId
,
id
).
remove
();
this
.
movementRecordsMasterFace
.
delete
(
id
,
type
);
return
Result
.
OK
(
"删除成功!"
);
}
...
...
jeecg-module-system/src/main/java/org/jeecg/modules/checkData/face/MovementRecordsMasterFace.java
View file @
f1b8c8dc
...
...
@@ -19,4 +19,6 @@ public interface MovementRecordsMasterFace {
void
updateLabourCheckItem
(
MovementCourse
record
);
void
uploadFile
(
MultipartFile
file
,
String
id
);
void
delete
(
String
id
,
String
type
);
}
jeecg-module-system/src/main/java/org/jeecg/modules/checkData/face/impl/MovementRecordsMasterFaceImpl.java
View file @
f1b8c8dc
...
...
@@ -8,13 +8,12 @@ import com.alibaba.fastjson.JSONObject;
import
com.google.gson.JsonObject
;
import
org.jeecg.common.exception.JeecgBootException
;
import
org.jeecg.common.util.UUIDGenerator
;
import
org.jeecg.modules.checkData.entity.MovementCourse
;
import
org.jeecg.modules.checkData.entity.MovementCourseInfo
;
import
org.jeecg.modules.checkData.entity.MovementRecordsMaster
;
import
org.jeecg.modules.checkData.entity.*
;
import
org.jeecg.modules.checkData.face.MovementRecordsMasterFace
;
import
org.jeecg.modules.checkData.service.IMovementCourseInfoService
;
import
org.jeecg.modules.checkData.service.IMovementCourseService
;
import
org.jeecg.modules.checkData.service.IMovementRecordsMasterService
;
import
org.jeecg.modules.checkData.service.*
;
import
org.jeecg.modules.dynamicStaticAnalysis.entity.AnalysisBatchCheckDataMap
;
import
org.jeecg.modules.dynamicStaticAnalysis.mapper.AnalysisAlgorithmMapper
;
import
org.jeecg.modules.dynamicStaticAnalysis.service.IAnalysisBatchCheckDataMapService
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.multipart.MultipartFile
;
...
...
@@ -25,6 +24,7 @@ import java.math.BigDecimal;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
@Service
...
...
@@ -39,6 +39,32 @@ public class MovementRecordsMasterFaceImpl implements MovementRecordsMasterFace
@Resource
private
IMovementRecordsMasterService
movementRecordsMasterService
;
@Resource
private
IMovementOverReportService
movementOverReportService
;
@Resource
private
IMovementSectionReportService
movementSectionReportService
;
@Resource
private
IMovementSummaryReportService
movementSummaryReportService
;
@Resource
private
IMovementTqiKilometerReportService
movementTqiKilometerReportService
;
@Resource
private
IMovementTqiKilometerStandardManagerService
movementTqiKilometerStandardManagerService
;
@Resource
private
IMovementTqiReportService
movementTqiReportService
;
@Resource
private
IMovementTqiStandardManagerService
movementTqiStandardManagerService
;
@Resource
private
IMovementDiferenceManagerService
movementDiferenceManagerService
;
@Resource
private
IMovementAdditiveInfoService
movementAdditiveInfoService
;
@Resource
private
IRailInspectionEquipmentItemService
railInspectionEquipmentItemService
;
@Resource
private
IRailInspectionEquipmentItemDetailService
railInspectionEquipmentItemDetailService
;
@Resource
private
IAnalysisBatchCheckDataMapService
analysisBatchCheckDataMapService
;
@Override
public
void
saveLabourCheckItem
(
MovementCourse
record
)
{
...
...
@@ -299,6 +325,56 @@ public class MovementRecordsMasterFaceImpl implements MovementRecordsMasterFace
}
}
@Override
public
void
delete
(
String
id
,
String
type
)
{
List
<
AnalysisBatchCheckDataMap
>
existAnalysisList
=
analysisBatchCheckDataMapService
.
lambdaQuery
()
.
eq
(
AnalysisBatchCheckDataMap:
:
getEkId
,
id
)
.
list
();
if
(
ObjectUtil
.
isNotEmpty
(
existAnalysisList
))
{
Optional
<
String
>
optionalStr
=
existAnalysisList
.
stream
()
.
map
(
AnalysisBatchCheckDataMap:
:
getAnalysisBatchCode
)
.
reduce
((
analysisBatchCode1
,
analysisBatchCode2
)
->
analysisBatchCode1
+
","
+
analysisBatchCode2
);
String
msg
=
"该数据下关联分析批次:【"
+
optionalStr
.
get
()
+
"】"
;
throw
JeecgBootException
.
error
(
msg
);
}
if
(
"1"
.
equals
(
type
))
{
//人工静态检查相关
//删除里程详情
movementCourseInfoService
.
lambdaUpdate
().
eq
(
MovementCourseInfo:
:
getMovementMasterId
,
id
).
remove
();
//删除里程相关
movementCourseService
.
lambdaUpdate
().
eq
(
MovementCourse:
:
getMovementMasterId
,
id
).
remove
();
}
else
if
(
"2"
.
equals
(
type
))
{
// 删除里程
railInspectionEquipmentItemService
.
lambdaUpdate
().
eq
(
RailInspectionEquipmentItem:
:
getRailInspectionEquipmentId
,
id
).
remove
();
// 删除里程明细
railInspectionEquipmentItemDetailService
.
lambdaUpdate
().
eq
(
RailInspectionEquipmentItemDetail:
:
getRailInspectionEquipmentId
,
id
).
remove
();
}
else
if
(
"4"
.
equals
(
type
))
{
//删除添乘仪详情
movementAdditiveInfoService
.
lambdaUpdate
().
eq
(
MovementAdditiveInfo:
:
getMovementMasterId
,
id
).
remove
();
}
else
if
(
"3"
.
equals
(
type
))
{
//删除轨检车-》轨道动态几何尺寸容许值差管理值
movementDiferenceManagerService
.
lambdaUpdate
().
eq
(
MovementDiferenceManager:
:
getMovementMasterId
,
id
).
remove
();
//删除轨检车-》超限记录报告
movementOverReportService
.
lambdaUpdate
().
eq
(
MovementOverReport:
:
getMovementMasterId
,
id
).
remove
();
//删除轨检车-》区段总结报告
movementSectionReportService
.
lambdaUpdate
().
eq
(
MovementSectionReport:
:
getMovementMasterId
,
id
).
remove
();
//删除轨检车-》公里总结报告表
movementSummaryReportService
.
lambdaUpdate
().
eq
(
MovementSummaryReport:
:
getMovementMasterId
,
id
).
remove
();
//删除轨检车-》TQI公里总结报告
movementTqiKilometerReportService
.
lambdaUpdate
().
eq
(
MovementTqiKilometerReport:
:
getMovementMasterId
,
id
).
remove
();
//删除轨检车-》TQI公里状态评定标准
movementTqiKilometerStandardManagerService
.
lambdaUpdate
().
eq
(
MovementTqiKilometerStandardManager:
:
getMovementMasterId
,
id
).
remove
();
//删除轨检车-》TQI总结报告
movementTqiReportService
.
lambdaUpdate
().
eq
(
MovementTqiReport:
:
getMovementMasterId
,
id
).
remove
();
//删除轨检车-》200m区段轨道不平顺质量指数TQI管理标准(单位:mm)
movementTqiStandardManagerService
.
lambdaUpdate
().
eq
(
MovementTqiStandardManager:
:
getMovementMasterId
,
id
).
remove
();
}
//删除动静态几何尺寸数据
movementRecordsMasterService
.
lambdaUpdate
().
eq
(
MovementRecordsMaster:
:
getId
,
id
).
remove
();
}
/**
* 当前行处理器
...
...
jeecg-module-system/src/main/java/org/jeecg/modules/checkData/service/impl/RailInspectionEquipmentItemServiceImpl.java
View file @
f1b8c8dc
...
...
@@ -8,7 +8,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.apache.shiro.SecurityUtils
;
import
org.jeecg.common.exception.JeecgBootException
;
import
org.jeecg.common.system.vo.LoginUser
;
import
org.jeecg.common.util.UUIDGenerator
;
import
org.jeecg.modules.checkData.entity.MovementRecordsMaster
;
import
org.jeecg.modules.checkData.entity.RailInspectionEquipmentItem
;
...
...
@@ -28,6 +30,7 @@ import java.io.IOException;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
/**
...
...
@@ -105,7 +108,7 @@ public class RailInspectionEquipmentItemServiceImpl extends ServiceImpl<RailInsp
items
.
add
(
item
);
// 读取item详情
int
skipRow
=
readItemDetail
(
i
,
titleHeader
,
item
.
getId
()
,
rowRecords
,
itemDetails
);
int
skipRow
=
readItemDetail
(
i
,
titleHeader
,
item
,
rowRecords
,
itemDetails
);
i
=
i
+
skipRow
;
sort
++;
}
else
{
...
...
@@ -127,7 +130,7 @@ public class RailInspectionEquipmentItemServiceImpl extends ServiceImpl<RailInsp
}
}
private
int
readItemDetail
(
int
rows
,
String
titleHeader
,
String
itemId
,
List
<
List
<
Object
>>
rowRecords
,
List
<
RailInspectionEquipmentItemDetail
>
itemDetails
)
{
private
int
readItemDetail
(
int
rows
,
String
titleHeader
,
RailInspectionEquipmentItem
item
,
List
<
List
<
Object
>>
rowRecords
,
List
<
RailInspectionEquipmentItemDetail
>
itemDetails
)
{
// 解析检查项目:1行:跳过2行不解析
List
<
Object
>
checkItems
=
rowRecords
.
get
(
rows
+
2
);
// 解析测点:1行
...
...
@@ -153,7 +156,8 @@ public class RailInspectionEquipmentItemServiceImpl extends ServiceImpl<RailInsp
RailInspectionEquipmentItemDetail
itemDetail
=
new
RailInspectionEquipmentItemDetail
();
itemDetail
.
setId
(
UUIDGenerator
.
generate
());
itemDetail
.
setRailInspectionEquipmentItemId
(
itemId
);
itemDetail
.
setRailInspectionEquipmentId
(
item
.
getRailInspectionEquipmentId
());
itemDetail
.
setRailInspectionEquipmentItemId
(
item
.
getId
());
// 检查项目
String
checkItem
=
checkItems
.
get
(
i
).
toString
();
itemDetail
.
setCheckItem
(
checkItem
);
...
...
@@ -173,7 +177,17 @@ public class RailInspectionEquipmentItemServiceImpl extends ServiceImpl<RailInsp
// 测点值向后偏移一个
itemDetail
.
setMeasurePoint
(
measurePoint
+
1
);
// 获取登录用户信息
LoginUser
loginUser
=
(
LoginUser
)
SecurityUtils
.
getSubject
().
getPrincipal
();
if
(
ObjectUtil
.
isNotEmpty
(
loginUser
))
{
itemDetail
.
setCreateBy
(
loginUser
.
getRealname
());
itemDetail
.
setUpdateBy
(
loginUser
.
getRealname
());
}
itemDetail
.
setInfoSort
(
sort
++);
itemDetail
.
setDelFlag
(
"0"
);
itemDetail
.
setCreateTime
(
new
Date
());
itemDetail
.
setUpdateTime
(
new
Date
());
itemDetails
.
add
(
itemDetail
);
}
...
...
jeecg-module-system/src/main/java/org/jeecg/modules/dynamicStaticAnalysis/algorithm/AnalysisAlgorithm.java
View file @
f1b8c8dc
...
...
@@ -740,7 +740,12 @@ public class AnalysisAlgorithm {
// 2.根据分析批次的里程查询出映射单元
List
<
MovementOverReportUnitDeviceMap
>
overReportUnitDeviceMaps
=
new
ArrayList
<>();
List
<
MovementTqiReportUnitDeviceMap
>
movementTqiReportUnitDeviceMaps
=
new
ArrayList
<>();
List
<
String
>
unitDeviceIds
=
new
ArrayList
<>();
for
(
Map
<
String
,
Object
>
unitDevice
:
unitDeviceList
)
{
// 添加所有单元ID
String
unitDeviceId
=
Convert
.
toStr
(
unitDevice
.
get
(
"id"
));
unitDeviceIds
.
add
(
unitDeviceId
);
BigDecimal
startMileage
=
Convert
.
toBigDecimal
(
unitDevice
.
get
(
"startMileage"
));
BigDecimal
centerMileage
=
Convert
.
toBigDecimal
(
unitDevice
.
get
(
"centerMileage"
));
BigDecimal
endMileage
=
Convert
.
toBigDecimal
(
unitDevice
.
get
(
"endMileage"
));
...
...
@@ -1054,6 +1059,20 @@ public class AnalysisAlgorithm {
unitDevice
.
put
(
"railVehicleCheckScoreList"
,
scoreList
);
}
// 3.先删除旧的关联关系,在新增
movementOverReportUnitDeviceMapService
.
lambdaUpdate
()
.
in
(
MovementOverReportUnitDeviceMap:
:
getUnitId
,
unitDeviceIds
)
.
remove
();
movementOverReportUnitDeviceMapService
.
saveBatch
(
overReportUnitDeviceMaps
);
movementTqiReportUnitDeviceMapService
.
lambdaUpdate
()
.
in
(
MovementTqiReportUnitDeviceMap:
:
getUnitId
,
unitDeviceIds
)
.
remove
();
movementTqiReportUnitDeviceMapService
.
saveBatch
(
movementTqiReportUnitDeviceMaps
);
}
/**
...
...
jeecg-module-system/src/main/java/org/jeecg/modules/dynamicStaticAnalysis/controller/AnalysisBatchUnitDeviceController.java
View file @
f1b8c8dc
package
org
.
jeecg
.
modules
.
dynamicStaticAnalysis
.
controller
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
io.swagger.annotations.Api
;
...
...
@@ -42,7 +43,9 @@ public class AnalysisBatchUnitDeviceController extends JeecgController<AnalysisB
@PostMapping
(
value
=
"/listRecord"
)
public
Result
<
IPage
<
AnalysisBatchUnitDeviceVO
>>
listRecord
(
@RequestBody
AnalysisBatchUnitDeviceDTO
dto
)
{
Page
<
AnalysisBatchUnitDeviceVO
>
pageData
=
new
Page
<>(
dto
.
getPageNo
(),
dto
.
getPageSize
());
pageData
=
this
.
service
.
listRecord
(
pageData
,
dto
);
if
(
ObjectUtil
.
isNotEmpty
(
dto
.
getUnitTypeList
())
&&
ObjectUtil
.
isNotEmpty
(
dto
.
getGradeJudgeList
()))
{
pageData
=
this
.
service
.
listRecord
(
pageData
,
dto
);
}
return
Result
.
OK
(
pageData
);
...
...
jeecg-module-system/src/main/java/org/jeecg/modules/subwayNetwork/controller/SubwaySectionController.java
View file @
f1b8c8dc
...
...
@@ -300,7 +300,7 @@ public class SubwaySectionController extends JeecgController<SubwaySection, ISub
message
=
"选中"
+
totalNum
+
"条数据已删除数据"
+
successNum
+
"条"
;
if
(
totalNum
-
successNum
>
0
)
{
message
=
message
+
",未删除"
+
failNum
+
"条。未删除"
+
failMessage
+
"原因是
线路下面有关联设备
故不能被删除"
;
message
=
message
+
",未删除"
+
failNum
+
"条。未删除"
+
failMessage
+
"原因是
区间下面有关联数据
故不能被删除"
;
}
return
Result
.
batchDelete
(
message
);
}
...
...
jeecg-module-system/src/main/java/org/jeecg/modules/system/controller/DuplicateCheckController.java
View file @
f1b8c8dc
package
org
.
jeecg
.
modules
.
system
.
controller
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
io.swagger.annotations.ApiParam
;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.util.ObjectUtil
;
import
org.apache.commons.lang.StringUtils
;
import
org.jeecg.common.api.vo.Result
;
import
org.jeecg.common.constant.SymbolConstant
;
import
org.jeecg.common.util.SqlInjectionUtil
;
import
org.jeecg.modules.system.entity.SysUser
;
import
org.jeecg.modules.system.mapper.SysDictMapper
;
import
org.jeecg.modules.system.model.DuplicateCheckVo
;
import
org.jeecg.modules.system.security.DictQueryBlackListHandler
;
import
org.jeecg.modules.system.service.ISysUserService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
...
...
@@ -25,7 +21,7 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.
List
;
import
java.util.
*
;
/**
* @Title: DuplicateCheckAction
...
...
@@ -40,14 +36,59 @@ import java.util.List;
@Api
(
tags
=
"重复校验"
)
public
class
DuplicateCheckController
{
@
Autowired
SysDictMapper
sysDictMapper
;
@
Resource
private
SysDictMapper
sysDictMapper
;
@
Autowired
DictQueryBlackListHandler
dictQueryBlackListHandler
;
@
Resource
private
DictQueryBlackListHandler
dictQueryBlackListHandler
;
@Autowired
private
ISysUserService
sysUserService
;
@RequestMapping
(
value
=
"/checks"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
"重复校验接口"
)
public
Result
<
String
>
doDuplicateChecks
(
HttpServletRequest
request
)
{
Map
<
String
,
String
[]>
requestParameterMap
=
request
.
getParameterMap
();
// 如果参数为空或者表名不传
if
(
requestParameterMap
.
size
()
==
0
||
ObjectUtil
.
isEmpty
(
requestParameterMap
.
get
(
"tableName"
)))
{
Result
<
String
>
rs
=
new
Result
<>();
rs
.
setCode
(
500
);
rs
.
setSuccess
(
true
);
rs
.
setMessage
(
"数据为空,不作处理!"
);
return
rs
;
}
Map
<
String
,
String
>
map
=
new
LinkedHashMap
<>();
StringBuilder
checkSql
=
new
StringBuilder
();
String
[]
sqlInjCheckValues
=
new
String
[
requestParameterMap
.
size
()];
int
i
=
0
;
for
(
Map
.
Entry
<
String
,
String
[]>
entry
:
requestParameterMap
.
entrySet
())
{
String
key
=
entry
.
getKey
();
String
value
=
entry
.
getValue
()[
0
];
if
(
ObjectUtil
.
isEmpty
(
value
))
{
continue
;
}
sqlInjCheckValues
[
i
++]
=
value
;
checkSql
.
append
(
value
).
append
(
SymbolConstant
.
COMMA
);
map
.
put
(
key
,
value
);
}
// SQL注入校验(只限制非法串改数据库)
SqlInjectionUtil
.
filterContent
(
sqlInjCheckValues
);
if
(!
dictQueryBlackListHandler
.
isPass
(
checkSql
.
toString
()))
{
return
Result
.
error
(
dictQueryBlackListHandler
.
getError
());
}
// 验证参数
Long
num
=
sysDictMapper
.
duplicateCheckCountSqlByPrams
(
map
);
if
(
num
==
null
||
num
==
0
)
{
// 该值可用
return
Result
.
ok
(
"该值可用!"
);
}
else
{
// 该值不可用
log
.
info
(
"该值不可用,系统中已存在!"
);
return
Result
.
error
(
""
);
}
}
/**
* 校验数据是否在系统中是否存在
...
...
@@ -93,40 +134,11 @@ public class DuplicateCheckController {
}
else
{
// 该值不可用
log
.
info
(
"该值不可用,系统中已存在!"
);
// return Result.error("该值不可用,系统中已存在!");
return
Result
.
error
(
""
);
}
}
/**
* 校验用户相关信息是否存在
*
* @return
*/
// @RequestMapping(value = "/checkUser", method = RequestMethod.GET)
// @ApiOperation("校验用户相关信息是否存在")
// public Result<String> checkUser(@ApiParam(name = "需要校验的参数", required = true) String name,@ApiParam(name = "类型", required = true) String type) {
// LambdaQueryWrapper<SysUser> lambdaQuery = Wrappers.lambdaQuery();
// if("1".equals(type)){
// lambdaQuery.eq(SysUser::getUsername, name);
// }
// if("2".equals(type)){
// lambdaQuery.eq(SysUser::getRealname, name);
// }
// if("3".equals(type)){
// lambdaQuery.eq(SysUser::getWorkNo, name);
// }
// if("4".equals(type)){
// lambdaQuery.eq(SysUser::getPhone, name);
// }
// lambdaQuery.eq(SysUser::getDelFlag, 0);
// List<SysUser> list = sysUserService.list(lambdaQuery);
// if (list != null && list.size() > 0) {
// return Result.error("参数已存在");
// }
// return Result.ok("");
// }
/**
* VUEN-2584【issue】平台sql注入漏洞几个问题
* 部分特殊函数 可以将查询结果混夹在错误信息中,导致数据库的信息暴露
*
...
...
jeecg-module-system/src/main/java/org/jeecg/modules/system/mapper/SysDictMapper.java
View file @
f1b8c8dc
This diff is collapsed.
Click to expand it.
jeecg-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysDictMapper.xml
View file @
f1b8c8dc
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
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 comment