用户新增机构树查询,移除druid mergeSql异常检测

This commit is contained in:
lhc
2021-04-20 17:45:25 +08:00
parent 88717194e0
commit 6475576a5e
6 changed files with 42 additions and 12 deletions

View File

@@ -1,7 +1,9 @@
package com.hcframe.base.module.data.service;
import com.alibaba.fastjson.JSONArray;
import com.hcframe.base.common.ResultVO;
import com.hcframe.base.common.WebPageInfo;
import com.hcframe.base.module.data.module.Condition;
import com.hcframe.base.module.tableconfig.entity.OsSysTable;
import com.github.pagehelper.PageInfo;
@@ -38,4 +40,6 @@ public interface TableService {
PageInfo<Map<String,Object>> searchJoinTables(String data, WebPageInfo webPageInfo, OsSysTable tableName);
ResultVO<Integer> logicDelete(OsSysTable tableName, String ids);
Condition.ConditionBuilder getQueryBuilder(JSONArray query, Condition.ConditionBuilder builder);
}

View File

@@ -230,7 +230,8 @@ public class TableServiceImpl implements TableService {
return ResultVO.getSuccess(i);
}
private Condition.ConditionBuilder getQueryBuilder(JSONArray query, Condition.ConditionBuilder builder) {
@Override
public Condition.ConditionBuilder getQueryBuilder(JSONArray query, Condition.ConditionBuilder builder) {
for (Object qObj : query) {
WebCondition webCondition = JSON.parseObject(String.valueOf(qObj), WebCondition.class);
if (!StringUtils.isEmpty(webCondition.getLogic())) {

View File

@@ -50,9 +50,9 @@ public class ManageController {
}
@GetMapping()
@ApiOperation(value = "获取用户列表", notes = "删除后职位也会被删除")
public ResultVO<PageInfo<Map<String,Object>>> getUserList(String data, WebPageInfo webPageInfo) {
return manageService.getUserList(data, webPageInfo);
@ApiOperation(value = "获取用户列表" )
public ResultVO<PageInfo<Map<String,Object>>> getUserList(String data, WebPageInfo webPageInfo,String orgId) {
return manageService.getUserList(data, webPageInfo,orgId);
}
@PutMapping("disable/{version}")

View File

@@ -13,7 +13,7 @@ public interface ManageService {
ResultVO<Integer> deleteUser(String ids);
ResultVO<PageInfo<Map<String, Object>>> getUserList(String data, WebPageInfo webPageInfo);
ResultVO<PageInfo<Map<String, Object>>> getUserList(String data, WebPageInfo webPageInfo, String orgId);
ResultVO<Integer> resetPassword(String userId, Integer version);

View File

@@ -1,5 +1,7 @@
package com.hcframe.user.module.manage.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.github.pagehelper.PageInfo;
import com.hcframe.base.common.ResultVO;
import com.hcframe.base.common.ServiceException;
@@ -8,6 +10,8 @@ import com.hcframe.base.common.utils.DateUtil;
import com.hcframe.base.common.utils.JudgeException;
import com.hcframe.base.module.data.module.BaseMapper;
import com.hcframe.base.module.data.module.BaseMapperImpl;
import com.hcframe.base.module.data.module.Condition;
import com.hcframe.base.module.data.module.DataMap;
import com.hcframe.base.module.data.service.TableService;
import com.hcframe.base.module.tableconfig.entity.OsSysTable;
import com.hcframe.user.common.utils.MD5Utils;
@@ -26,11 +30,9 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.security.NoSuchAlgorithmException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* @author lhc
@@ -105,8 +107,31 @@ public class ManageServiceDataImpl implements ManageService {
}
@Override
public ResultVO<PageInfo<Map<String, Object>>> getUserList(String data, WebPageInfo webPageInfo) {
PageInfo<Map<String, Object>> page = tableService.searchSingleTables(data, TABLE_INFO, webPageInfo);
public ResultVO<PageInfo<Map<String, Object>>> getUserList(String data, WebPageInfo webPageInfo, String orgId) {
DataMap<Object> dataMap = DataMap.builder().sysOsTable(TABLE_INFO).build();
Condition.ConditionBuilder builder = Condition.creatCriteria(dataMap);
if (!StringUtils.isEmpty(orgId)) {
orgId = orgId.replaceAll("\"", "");
String sql = "select ID from GB_CAS_DEPT start with ID="+orgId+" connect by prior ID=ORG_ACCOUNT_ID";
List<Map<String, Object>> list = baseMapper.selectSql(sql);
List<Object> idList = new ArrayList<>();
for (Map<String, Object> code : list) {
idList.add(code.get("ID"));
}
builder.andIn("ORG_DEPARTMENT_ID",idList);
}
builder.andEqual("USER_TYPE", "GN");
if (!StringUtils.isEmpty(data)) {
try {
data = URLDecoder.decode(data, "UTF-8");
} catch (UnsupportedEncodingException e) {
throw new ServiceException(e);
}
JSONArray jsonArray = JSON.parseArray(data);
builder = tableService.getQueryBuilder(jsonArray, builder);
}
builder.andEqual("DELETED", 1);
PageInfo<Map<String,Object>> page = baseMapper.selectByCondition(builder.build(), webPageInfo);
List<Map<String,Object>> list = page.getList();
for (Map<String, Object> map : list) {
map.remove("PASSWORD");

View File

@@ -76,7 +76,7 @@ spring:
stat:
merge-sql: false
# 通过connectProperties属性来打开mergeSql功能慢SQL记录
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
connectionProperties: druid.stat.slowSqlMillis=5000
mybatis:
mapper-locations: classpath*:mapping/**/*.xml
type-aliases-package: com.hcframe.**.entity