fix: 解决HTML转义安全问题
- 在多个DTO类中添加HtmlUtil导入并实现自动转义功能 - 为AccountDTO、ConDoctorDTO等类的set方法增加HTML转义处理 - 修复ConDoctorServiceImpl中的重复转义代码 - 为EmergencyProfessionUserController添加请求参数转义 - 修复OrderServiceImpl中的用户名称转义处理 - 为Watch相关服务增加数据绑定和查询时的转义处理 - 修复SysUser相关控制器和服务中的转义逻辑
This commit is contained in:
+4
@@ -1,5 +1,6 @@
|
||||
package com.renkang.watch.bean.request;
|
||||
|
||||
import cn.hutool.http.HtmlUtil;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
@@ -19,6 +20,9 @@ public class AbnormalEventFilter {
|
||||
private String departOrgCode;
|
||||
// 用户名称
|
||||
private String userName;
|
||||
public void setUserName(String userName) {
|
||||
this.userName = userName != null ? HtmlUtil.unescape(userName) : null;
|
||||
}
|
||||
// 工具编码
|
||||
private String watchNo;
|
||||
//员工编号
|
||||
|
||||
+5
@@ -1,5 +1,6 @@
|
||||
package com.renkang.watch.dto;
|
||||
|
||||
import cn.hutool.http.HtmlUtil;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
@@ -18,6 +19,10 @@ public class CalorieDataByUserDTO {
|
||||
private Integer pageSize = 10;
|
||||
@Schema(title = "用户姓名")
|
||||
private String realName;
|
||||
|
||||
public void setRealName(String realName) {
|
||||
this.realName = realName != null ? HtmlUtil.unescape(realName) : null;
|
||||
}
|
||||
@Schema(title = "工号")
|
||||
private String workNo;
|
||||
@Schema(title = "用户id组")
|
||||
|
||||
+3
@@ -3,6 +3,7 @@ package com.renkang.watch.service.impl;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HtmlUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -87,6 +88,7 @@ public class WatchBindHisServiceImpl extends ServiceImpl<WatchBindHisMapper, Wat
|
||||
@Override
|
||||
public IPage<WatchBindHisVo> queryPageList(IPage<WatchBindHisVo> page, WatchBindHisDTO dto) {
|
||||
if (StringUtils.hasLength(dto.getBindRealName())) {
|
||||
dto.setBindRealName(HtmlUtil.unescape(dto.getBindRealName()));
|
||||
List<String> userIdsByDepartAndUsername = watchCloudManager.getUserIdsByDepartAndUsername("", dto.getBindRealName(), "", "");
|
||||
if (CollectionUtil.isEmpty(userIdsByDepartAndUsername)) {
|
||||
return new Page<>();
|
||||
@@ -375,6 +377,7 @@ public class WatchBindHisServiceImpl extends ServiceImpl<WatchBindHisMapper, Wat
|
||||
String orgCode = StrUtil.isNotBlank(dto.getThirdDepart())?dto.getThirdDepart() : dto.getSecondDepart();
|
||||
List<String> userIds = new ArrayList<>();
|
||||
if (StrUtil.isNotBlank(dto.getBindRealName())) {
|
||||
dto.setBindRealName(HtmlUtil.unescape(dto.getBindRealName()));
|
||||
userIds = watchCloudManager.getUserIdsByDepartAndUsername("", dto.getBindRealName(), "", "");
|
||||
if (CollectionUtil.isEmpty(userIds)) {
|
||||
return new Page<>();
|
||||
|
||||
+4
@@ -7,6 +7,7 @@ import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HtmlUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@@ -104,6 +105,9 @@ public class WatchDataServiceImpl extends ServiceImpl<WatchDataMapper, WatchData
|
||||
}
|
||||
|
||||
String sql = QueryGenerator.installAuthJdbc(WatchData.class);
|
||||
if(StrUtil.isNotBlank(watchData.getUsername())){
|
||||
watchData.setUsername(HtmlUtil.unescape(watchData.getUsername()));
|
||||
}
|
||||
IPage<WatchData> pageList = watchDataMapper.pageCustom(page, watchData, sql);
|
||||
if (CollectionUtil.isNotEmpty(pageList.getRecords())) {
|
||||
List<LoginUserNew> loginUserNews = null;
|
||||
|
||||
+4
@@ -7,6 +7,7 @@ import cn.hutool.core.date.DateUnit;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HtmlUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
@@ -166,6 +167,9 @@ public class WatchDeviceServiceImpl extends ServiceImpl<WatchDeviceMapper, Watch
|
||||
@Override
|
||||
public IPage<WatchDeviceVo> queryPageList(IPage<WatchDeviceVo> page, WatchDeviceDTO dto) {
|
||||
if (StrUtil.isNotBlank(dto.getBindRealName()) || StrUtil.isNotBlank(dto.getWorkNo())) {
|
||||
if(StrUtil.isNotBlank(dto.getBindRealName())){
|
||||
dto.setBindRealName(HtmlUtil.unescape(dto.getBindRealName()));
|
||||
}
|
||||
List<String> userIds = watchCloudManager.getUserIdsByDepartAndUsername("", dto.getBindRealName(), "", dto.getWorkNo());
|
||||
if (CollectionUtil.isEmpty(userIds)) {
|
||||
return new Page<>();
|
||||
|
||||
Reference in New Issue
Block a user