!40 集成easyTrans来代替部分表join sql 使用typeHandler处理加解密
Merge pull request !40 from fhs_opensource/master
This commit is contained in:
commit
e9199c5485
@ -132,7 +132,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '性别',
|
title: '性别',
|
||||||
dataIndex: 'gender',
|
dataIndex: 'genderName',
|
||||||
width: '50px'
|
width: '50px'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -17,7 +17,8 @@
|
|||||||
<properties>
|
<properties>
|
||||||
<lombok.versin>1.18.22</lombok.versin>
|
<lombok.versin>1.18.22</lombok.versin>
|
||||||
<druid.version>1.2.8</druid.version>
|
<druid.version>1.2.8</druid.version>
|
||||||
<mybatis.plus.version>3.5.1</mybatis.plus.version>
|
<mybatis.plus.version>3.5.2</mybatis.plus.version>
|
||||||
|
<easy.trans.version>2.0.3</easy.trans.version>
|
||||||
<commons.pool2.version>2.11.1</commons.pool2.version>
|
<commons.pool2.version>2.11.1</commons.pool2.version>
|
||||||
<hutool.version>5.7.22</hutool.version>
|
<hutool.version>5.7.22</hutool.version>
|
||||||
<pinyin.version>2.5.1</pinyin.version>
|
<pinyin.version>2.5.1</pinyin.version>
|
||||||
@ -79,6 +80,43 @@
|
|||||||
<version>${mybatis.plus.version}</version>
|
<version>${mybatis.plus.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- easy-trans 排除自带MP版本使用最新版本 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.fhs-opensource</groupId>
|
||||||
|
<artifactId>easy-trans-spring-boot-starter</artifactId>
|
||||||
|
<version>${easy.trans.version}</version>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<artifactId>mybatis-plus-annotation</artifactId>
|
||||||
|
<groupId>com.baomidou</groupId>
|
||||||
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>io.springfox</groupId>
|
||||||
|
<artifactId>springfox-schema</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.fhs-opensource</groupId>
|
||||||
|
<artifactId>easy-trans-mybatis-plus-extend</artifactId>
|
||||||
|
<version>${easy.trans.version}</version>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<artifactId>mybatis-plus-core</artifactId>
|
||||||
|
<groupId>com.baomidou</groupId>
|
||||||
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<artifactId>mybatis-plus-extension</artifactId>
|
||||||
|
<groupId>com.baomidou</groupId>
|
||||||
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>io.springfox</groupId>
|
||||||
|
<artifactId>springfox-schema</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- redis -->
|
<!-- redis -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.commons</groupId>
|
<groupId>org.apache.commons</groupId>
|
||||||
|
@ -0,0 +1,44 @@
|
|||||||
|
package vip.xiaonuo.common.handler;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||||
|
import org.apache.ibatis.type.BaseTypeHandler;
|
||||||
|
import org.apache.ibatis.type.JdbcType;
|
||||||
|
import org.apache.ibatis.type.MappedJdbcTypes;
|
||||||
|
import vip.xiaonuo.common.util.CommonCryptogramUtil;
|
||||||
|
|
||||||
|
import java.sql.CallableStatement;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sm4Cbc加解密
|
||||||
|
* @author wanglei
|
||||||
|
* @date 2022/9/30 15:24
|
||||||
|
**/
|
||||||
|
@MappedJdbcTypes(JdbcType.VARCHAR)
|
||||||
|
public class Sm4CbcTypeHandler <T> extends BaseTypeHandler<T> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setNonNullParameter(PreparedStatement ps, int i, Object parameter, JdbcType jdbcType) throws SQLException {
|
||||||
|
ps.setString(i, CommonCryptogramUtil.doSm4CbcEncrypt((String)parameter));
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public T getNullableResult(ResultSet rs, String columnName) throws SQLException {
|
||||||
|
String columnValue = rs.getString(columnName);
|
||||||
|
//有一些可能是空字符
|
||||||
|
return StringUtils.isBlank(columnValue) ? (T)columnValue : (T)CommonCryptogramUtil.doSm4CbcDecrypt(columnValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public T getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
|
||||||
|
String columnValue = rs.getString(columnIndex);
|
||||||
|
return StringUtils.isBlank(columnValue) ? (T)columnValue : (T)CommonCryptogramUtil.doSm4CbcDecrypt(columnValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public T getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
|
||||||
|
String columnValue = cs.getString(columnIndex);
|
||||||
|
return StringUtils.isBlank(columnValue) ? (T)columnValue : (T)CommonCryptogramUtil.doSm4CbcDecrypt(columnValue);
|
||||||
|
}
|
||||||
|
}
|
@ -24,6 +24,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.fhs.trans.service.impl.DictionaryTransService;
|
||||||
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import vip.xiaonuo.common.enums.CommonSortOrderEnum;
|
import vip.xiaonuo.common.enums.CommonSortOrderEnum;
|
||||||
import vip.xiaonuo.common.exception.CommonException;
|
import vip.xiaonuo.common.exception.CommonException;
|
||||||
@ -34,7 +36,11 @@ import vip.xiaonuo.dev.modular.dict.mapper.DevDictMapper;
|
|||||||
import vip.xiaonuo.dev.modular.dict.param.*;
|
import vip.xiaonuo.dev.modular.dict.param.*;
|
||||||
import vip.xiaonuo.dev.modular.dict.service.DevDictService;
|
import vip.xiaonuo.dev.modular.dict.service.DevDictService;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -44,7 +50,12 @@ import java.util.stream.Collectors;
|
|||||||
* @date 2022/4/22 10:41
|
* @date 2022/4/22 10:41
|
||||||
**/
|
**/
|
||||||
@Service
|
@Service
|
||||||
public class DevDictServiceImpl extends ServiceImpl<DevDictMapper, DevDict> implements DevDictService {
|
public class DevDictServiceImpl extends ServiceImpl<DevDictMapper, DevDict> implements DevDictService, InitializingBean {
|
||||||
|
|
||||||
|
private static final String ROOT_PARENT_ID = "0";
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private DictionaryTransService dictionaryTransService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Page<DevDict> page(DevDictPageParam devDictPageParam) {
|
public Page<DevDict> page(DevDictPageParam devDictPageParam) {
|
||||||
@ -52,16 +63,16 @@ public class DevDictServiceImpl extends ServiceImpl<DevDictMapper, DevDict> impl
|
|||||||
// 查询部分字段
|
// 查询部分字段
|
||||||
queryWrapper.lambda().select(DevDict::getId, DevDict::getParentId, DevDict::getCategory, DevDict::getDictLabel,
|
queryWrapper.lambda().select(DevDict::getId, DevDict::getParentId, DevDict::getCategory, DevDict::getDictLabel,
|
||||||
DevDict::getDictValue, DevDict::getSortCode);
|
DevDict::getDictValue, DevDict::getSortCode);
|
||||||
if(ObjectUtil.isNotEmpty(devDictPageParam.getParentId())) {
|
if (ObjectUtil.isNotEmpty(devDictPageParam.getParentId())) {
|
||||||
queryWrapper.lambda().eq(DevDict::getParentId, devDictPageParam.getParentId());
|
queryWrapper.lambda().eq(DevDict::getParentId, devDictPageParam.getParentId());
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isNotEmpty(devDictPageParam.getCategory())) {
|
if (ObjectUtil.isNotEmpty(devDictPageParam.getCategory())) {
|
||||||
queryWrapper.lambda().eq(DevDict::getCategory, devDictPageParam.getCategory());
|
queryWrapper.lambda().eq(DevDict::getCategory, devDictPageParam.getCategory());
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isNotEmpty(devDictPageParam.getSearchKey())) {
|
if (ObjectUtil.isNotEmpty(devDictPageParam.getSearchKey())) {
|
||||||
queryWrapper.lambda().like(DevDict::getDictLabel, devDictPageParam.getSearchKey());
|
queryWrapper.lambda().like(DevDict::getDictLabel, devDictPageParam.getSearchKey());
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isAllNotEmpty(devDictPageParam.getSortField(), devDictPageParam.getSortOrder())) {
|
if (ObjectUtil.isAllNotEmpty(devDictPageParam.getSortField(), devDictPageParam.getSortOrder())) {
|
||||||
CommonSortOrderEnum.validate(devDictPageParam.getSortOrder());
|
CommonSortOrderEnum.validate(devDictPageParam.getSortOrder());
|
||||||
queryWrapper.orderBy(true, devDictPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
|
queryWrapper.orderBy(true, devDictPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
|
||||||
StrUtil.toUnderlineCase(devDictPageParam.getSortField()));
|
StrUtil.toUnderlineCase(devDictPageParam.getSortField()));
|
||||||
@ -74,10 +85,10 @@ public class DevDictServiceImpl extends ServiceImpl<DevDictMapper, DevDict> impl
|
|||||||
@Override
|
@Override
|
||||||
public List<DevDict> list(DevDictListParam devDictListParam) {
|
public List<DevDict> list(DevDictListParam devDictListParam) {
|
||||||
LambdaQueryWrapper<DevDict> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<DevDict> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
if(ObjectUtil.isNotEmpty(devDictListParam.getParentId())) {
|
if (ObjectUtil.isNotEmpty(devDictListParam.getParentId())) {
|
||||||
lambdaQueryWrapper.eq(DevDict::getParentId, devDictListParam.getParentId());
|
lambdaQueryWrapper.eq(DevDict::getParentId, devDictListParam.getParentId());
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isNotEmpty(devDictListParam.getCategory())) {
|
if (ObjectUtil.isNotEmpty(devDictListParam.getCategory())) {
|
||||||
lambdaQueryWrapper.eq(DevDict::getCategory, devDictListParam.getCategory());
|
lambdaQueryWrapper.eq(DevDict::getCategory, devDictListParam.getCategory());
|
||||||
}
|
}
|
||||||
return this.list(lambdaQueryWrapper);
|
return this.list(lambdaQueryWrapper);
|
||||||
@ -87,7 +98,7 @@ public class DevDictServiceImpl extends ServiceImpl<DevDictMapper, DevDict> impl
|
|||||||
public List<Tree<String>> tree(DevDictTreeParam devDictTreeParam) {
|
public List<Tree<String>> tree(DevDictTreeParam devDictTreeParam) {
|
||||||
LambdaQueryWrapper<DevDict> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<DevDict> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
lambdaQueryWrapper.orderByAsc(DevDict::getSortCode);
|
lambdaQueryWrapper.orderByAsc(DevDict::getSortCode);
|
||||||
if(ObjectUtil.isNotEmpty(devDictTreeParam.getCategory())) {
|
if (ObjectUtil.isNotEmpty(devDictTreeParam.getCategory())) {
|
||||||
lambdaQueryWrapper.eq(DevDict::getCategory, devDictTreeParam.getCategory());
|
lambdaQueryWrapper.eq(DevDict::getCategory, devDictTreeParam.getCategory());
|
||||||
}
|
}
|
||||||
List<DevDict> devDictList = this.list(lambdaQueryWrapper);
|
List<DevDict> devDictList = this.list(lambdaQueryWrapper);
|
||||||
@ -103,6 +114,7 @@ public class DevDictServiceImpl extends ServiceImpl<DevDictMapper, DevDict> impl
|
|||||||
checkParam(devDictAddParam);
|
checkParam(devDictAddParam);
|
||||||
DevDict devDict = BeanUtil.toBean(devDictAddParam, DevDict.class);
|
DevDict devDict = BeanUtil.toBean(devDictAddParam, DevDict.class);
|
||||||
this.save(devDict);
|
this.save(devDict);
|
||||||
|
refreshTransCache();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkParam(DevDictAddParam devDictAddParam) {
|
private void checkParam(DevDictAddParam devDictAddParam) {
|
||||||
@ -129,6 +141,7 @@ public class DevDictServiceImpl extends ServiceImpl<DevDictMapper, DevDict> impl
|
|||||||
checkParam(devDictEditParam);
|
checkParam(devDictEditParam);
|
||||||
BeanUtil.copyProperties(devDictEditParam, devDict);
|
BeanUtil.copyProperties(devDictEditParam, devDict);
|
||||||
this.updateById(devDict);
|
this.updateById(devDict);
|
||||||
|
refreshTransCache();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkParam(DevDictEditParam devDictEditParam) {
|
private void checkParam(DevDictEditParam devDictEditParam) {
|
||||||
@ -154,10 +167,10 @@ public class DevDictServiceImpl extends ServiceImpl<DevDictMapper, DevDict> impl
|
|||||||
@Override
|
@Override
|
||||||
public void delete(List<DevDictIdParam> devDictIdParamList) {
|
public void delete(List<DevDictIdParam> devDictIdParamList) {
|
||||||
List<String> devDictIdList = CollStreamUtil.toList(devDictIdParamList, DevDictIdParam::getId);
|
List<String> devDictIdList = CollStreamUtil.toList(devDictIdParamList, DevDictIdParam::getId);
|
||||||
if(ObjectUtil.isNotEmpty(devDictIdList)) {
|
if (ObjectUtil.isNotEmpty(devDictIdList)) {
|
||||||
boolean systemDict = this.listByIds(devDictIdList).stream().map(DevDict::getCategory)
|
boolean systemDict = this.listByIds(devDictIdList).stream().map(DevDict::getCategory)
|
||||||
.collect(Collectors.toSet()).contains(DevDictCategoryEnum.FRM.getValue());
|
.collect(Collectors.toSet()).contains(DevDictCategoryEnum.FRM.getValue());
|
||||||
if(systemDict) {
|
if (systemDict) {
|
||||||
throw new CommonException("不可删除系统内置字典");
|
throw new CommonException("不可删除系统内置字典");
|
||||||
}
|
}
|
||||||
// 删除
|
// 删除
|
||||||
@ -173,9 +186,40 @@ public class DevDictServiceImpl extends ServiceImpl<DevDictMapper, DevDict> impl
|
|||||||
@Override
|
@Override
|
||||||
public DevDict queryEntity(String id) {
|
public DevDict queryEntity(String id) {
|
||||||
DevDict devDict = this.getById(id);
|
DevDict devDict = this.getById(id);
|
||||||
if(ObjectUtil.isEmpty(devDict)) {
|
if (ObjectUtil.isEmpty(devDict)) {
|
||||||
throw new CommonException("字典不存在,id值为:{}", id);
|
throw new CommonException("字典不存在,id值为:{}", id);
|
||||||
}
|
}
|
||||||
return devDict;
|
return devDict;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterPropertiesSet() throws Exception {
|
||||||
|
refreshTransCache();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void refreshTransCache() {
|
||||||
|
// 异步不阻塞主线程,不会 增加启动用时
|
||||||
|
CompletableFuture.supplyAsync(()->{
|
||||||
|
// 使用redis能解决共享问题,但是性能没有直接取缓存的好。
|
||||||
|
dictionaryTransService.makeUseRedis();
|
||||||
|
List<DevDict> devDicts = super.list(new LambdaQueryWrapper<DevDict>());
|
||||||
|
// 非root级别的字典根据ParentId分组
|
||||||
|
Map<String,List<DevDict>> devDictGroupByPIDMap = devDicts.stream().filter(dict -> {
|
||||||
|
return !ROOT_PARENT_ID.equals(dict.getParentId());
|
||||||
|
}).collect(Collectors.groupingBy(DevDict::getParentId));
|
||||||
|
Map<String,String> parentDictIdValMap = devDicts.stream().filter(dict -> {
|
||||||
|
return ROOT_PARENT_ID.equals(dict.getParentId());
|
||||||
|
}).collect(Collectors.toMap(DevDict::getId,DevDict::getDictValue));
|
||||||
|
for (String parentId : parentDictIdValMap.keySet()) {
|
||||||
|
if(devDictGroupByPIDMap.containsKey(parentId)){
|
||||||
|
dictionaryTransService.refreshCache(parentDictIdValMap.get(parentId),devDictGroupByPIDMap.get(parentId).stream()
|
||||||
|
.collect(Collectors.toMap(DevDict::getDictValue,DevDict::getDictLabel)));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@ package vip.xiaonuo.sys.modular.org.entity;
|
|||||||
import com.baomidou.mybatisplus.annotation.FieldStrategy;
|
import com.baomidou.mybatisplus.annotation.FieldStrategy;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fhs.core.trans.vo.TransPojo;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
@ -29,7 +30,7 @@ import vip.xiaonuo.common.pojo.CommonEntity;
|
|||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@TableName("SYS_ORG")
|
@TableName("SYS_ORG")
|
||||||
public class SysOrg extends CommonEntity {
|
public class SysOrg extends CommonEntity implements TransPojo {
|
||||||
|
|
||||||
/** id */
|
/** id */
|
||||||
@ApiModelProperty(value = "id", position = 1)
|
@ApiModelProperty(value = "id", position = 1)
|
||||||
|
@ -15,6 +15,7 @@ package vip.xiaonuo.sys.modular.position.entity;
|
|||||||
import com.baomidou.mybatisplus.annotation.FieldStrategy;
|
import com.baomidou.mybatisplus.annotation.FieldStrategy;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fhs.core.trans.vo.TransPojo;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
@ -29,7 +30,7 @@ import vip.xiaonuo.common.pojo.CommonEntity;
|
|||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@TableName("SYS_POSITION")
|
@TableName("SYS_POSITION")
|
||||||
public class SysPosition extends CommonEntity {
|
public class SysPosition extends CommonEntity implements TransPojo {
|
||||||
|
|
||||||
/** id */
|
/** id */
|
||||||
@ApiModelProperty(value = "id", position = 1)
|
@ApiModelProperty(value = "id", position = 1)
|
||||||
|
@ -19,6 +19,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
|
|||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import io.swagger.annotations.ApiParam;
|
import io.swagger.annotations.ApiParam;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@ -59,6 +60,7 @@ public class SysUserController {
|
|||||||
@Resource
|
@Resource
|
||||||
private SysUserService sysUserService;
|
private SysUserService sysUserService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取用户分页
|
* 获取用户分页
|
||||||
*
|
*
|
||||||
@ -67,9 +69,8 @@ public class SysUserController {
|
|||||||
*/
|
*/
|
||||||
@ApiOperationSupport(order = 1)
|
@ApiOperationSupport(order = 1)
|
||||||
@ApiOperation("获取用户分页")
|
@ApiOperation("获取用户分页")
|
||||||
@CommonWrapper(SysUserResultWrapperImpl.class)
|
|
||||||
@GetMapping("/sys/user/page")
|
@GetMapping("/sys/user/page")
|
||||||
public CommonResult<Page<SysUserResult>> page(SysUserPageParam sysUserPageParam) {
|
public CommonResult<Page<SysUser>> page(SysUserPageParam sysUserPageParam) {
|
||||||
return CommonResult.data(sysUserService.page(sysUserPageParam));
|
return CommonResult.data(sysUserService.page(sysUserPageParam));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,11 +14,18 @@ package vip.xiaonuo.sys.modular.user.entity;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.FieldStrategy;
|
import com.baomidou.mybatisplus.annotation.FieldStrategy;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fhs.core.trans.anno.Trans;
|
||||||
|
import com.fhs.core.trans.constant.TransType;
|
||||||
|
import com.fhs.core.trans.vo.TransPojo;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
import vip.xiaonuo.common.handler.Sm4CbcTypeHandler;
|
||||||
import vip.xiaonuo.common.pojo.CommonEntity;
|
import vip.xiaonuo.common.pojo.CommonEntity;
|
||||||
|
import vip.xiaonuo.sys.modular.org.entity.SysOrg;
|
||||||
|
import vip.xiaonuo.sys.modular.position.entity.SysPosition;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
@ -30,10 +37,11 @@ import java.util.Date;
|
|||||||
**/
|
**/
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@TableName("SYS_USER")
|
@TableName(value = "SYS_USER",autoResultMap = true)
|
||||||
public class SysUser extends CommonEntity {
|
public class SysUser extends CommonEntity implements TransPojo {
|
||||||
|
|
||||||
/** id */
|
/** id */
|
||||||
|
@TableId
|
||||||
@ApiModelProperty(value = "id", position = 1)
|
@ApiModelProperty(value = "id", position = 1)
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
@ -67,6 +75,7 @@ public class SysUser extends CommonEntity {
|
|||||||
/** 性别 */
|
/** 性别 */
|
||||||
@ApiModelProperty(value = "性别", position = 8)
|
@ApiModelProperty(value = "性别", position = 8)
|
||||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@Trans(type= TransType.DICTIONARY,key = "GENDER")
|
||||||
private String gender;
|
private String gender;
|
||||||
|
|
||||||
/** 年龄 */
|
/** 年龄 */
|
||||||
@ -106,7 +115,7 @@ public class SysUser extends CommonEntity {
|
|||||||
|
|
||||||
/** 证件号码 */
|
/** 证件号码 */
|
||||||
@ApiModelProperty(value = "证件号码", position = 16)
|
@ApiModelProperty(value = "证件号码", position = 16)
|
||||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED,typeHandler = Sm4CbcTypeHandler.class)
|
||||||
private String idCardNumber;
|
private String idCardNumber;
|
||||||
|
|
||||||
/** 文化程度 */
|
/** 文化程度 */
|
||||||
@ -141,7 +150,7 @@ public class SysUser extends CommonEntity {
|
|||||||
|
|
||||||
/** 手机 */
|
/** 手机 */
|
||||||
@ApiModelProperty(value = "手机", position = 23)
|
@ApiModelProperty(value = "手机", position = 23)
|
||||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED,typeHandler = Sm4CbcTypeHandler.class)
|
||||||
private String phone;
|
private String phone;
|
||||||
|
|
||||||
/** 邮箱 */
|
/** 邮箱 */
|
||||||
@ -166,7 +175,7 @@ public class SysUser extends CommonEntity {
|
|||||||
|
|
||||||
/** 紧急联系人电话 */
|
/** 紧急联系人电话 */
|
||||||
@ApiModelProperty(value = "紧急联系人电话", position = 28)
|
@ApiModelProperty(value = "紧急联系人电话", position = 28)
|
||||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED,typeHandler = Sm4CbcTypeHandler.class)
|
||||||
private String emergencyPhone;
|
private String emergencyPhone;
|
||||||
|
|
||||||
/** 紧急联系人地址 */
|
/** 紧急联系人地址 */
|
||||||
@ -187,11 +196,14 @@ public class SysUser extends CommonEntity {
|
|||||||
/** 组织id */
|
/** 组织id */
|
||||||
@ApiModelProperty(value = "组织id", position = 32)
|
@ApiModelProperty(value = "组织id", position = 32)
|
||||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@Trans(type=TransType.SIMPLE,target = SysOrg.class,fields = "name",alias = "org",ref = "orgName")
|
||||||
private String orgId;
|
private String orgId;
|
||||||
|
|
||||||
|
|
||||||
/** 职位id */
|
/** 职位id */
|
||||||
@ApiModelProperty(value = "职位id", position = 33)
|
@ApiModelProperty(value = "职位id", position = 33)
|
||||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@Trans(type=TransType.SIMPLE,target = SysPosition.class,fields = "name",alias = "position",ref = "positionName")
|
||||||
private String positionId;
|
private String positionId;
|
||||||
|
|
||||||
/** 职级 */
|
/** 职级 */
|
||||||
@ -202,6 +214,7 @@ public class SysUser extends CommonEntity {
|
|||||||
/** 主管id */
|
/** 主管id */
|
||||||
@ApiModelProperty(value = "主管id", position = 35)
|
@ApiModelProperty(value = "主管id", position = 35)
|
||||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
||||||
|
@Trans(type=TransType.SIMPLE,target = SysUser.class,fields = "name",alias = "director",ref = "directorName")
|
||||||
private String directorId;
|
private String directorId;
|
||||||
|
|
||||||
/** 兼任信息 */
|
/** 兼任信息 */
|
||||||
@ -253,4 +266,19 @@ public class SysUser extends CommonEntity {
|
|||||||
@ApiModelProperty(value = "扩展信息", position = 47)
|
@ApiModelProperty(value = "扩展信息", position = 47)
|
||||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
||||||
private String extJson;
|
private String extJson;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "组织名称", position = 48)
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String orgName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "组织名称", position = 49)
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String positionName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "主管名称", position = 50)
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String directorName;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -30,19 +30,5 @@ import java.util.List;
|
|||||||
**/
|
**/
|
||||||
public interface SysUserMapper extends BaseMapper<SysUser> {
|
public interface SysUserMapper extends BaseMapper<SysUser> {
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取用户分页列表
|
|
||||||
*
|
|
||||||
* @author xuyuxiang
|
|
||||||
* @date 2022/7/8 13:27
|
|
||||||
**/
|
|
||||||
Page<SysUserResult> page(@Param("page") Page<SysUserResult> page, @Param("ew") QueryWrapper<SysUserResult> queryWrapper);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取要导出的用户列表
|
|
||||||
*
|
|
||||||
* @author xuyuxiang
|
|
||||||
* @date 2022/7/8 13:27
|
|
||||||
**/
|
|
||||||
List<SysUserExportResult> exportList(@Param("ew") QueryWrapper<SysUserExportResult> queryWrapper);
|
|
||||||
}
|
}
|
||||||
|
@ -2,31 +2,7 @@
|
|||||||
<!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="vip.xiaonuo.sys.modular.user.mapper.SysUserMapper">
|
<mapper namespace="vip.xiaonuo.sys.modular.user.mapper.SysUserMapper">
|
||||||
|
|
||||||
<!-- 获取用户分页 -->
|
|
||||||
<select id="page" resultType="vip.xiaonuo.sys.modular.user.result.SysUserResult">
|
|
||||||
SELECT
|
|
||||||
SYS_USER.*,
|
|
||||||
SYS_ORG.NAME AS ORG_NAME,
|
|
||||||
SYS_POSITION.NAME AS POSITION_NAME,
|
|
||||||
SYS_DIRECTOR.NAME AS DIRECTOR_NAME
|
|
||||||
FROM SYS_USER
|
|
||||||
LEFT JOIN SYS_USER SYS_DIRECTOR ON SYS_USER.ID = SYS_DIRECTOR.ID
|
|
||||||
LEFT JOIN SYS_ORG ON SYS_USER.ORG_ID = SYS_ORG.ID
|
|
||||||
LEFT JOIN SYS_POSITION ON SYS_USER.POSITION_ID = SYS_POSITION.ID
|
|
||||||
${ew.customSqlSegment}
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<!-- 获取要导出的用户列表 -->
|
|
||||||
<select id="exportList" resultType="vip.xiaonuo.sys.modular.user.result.SysUserExportResult">
|
|
||||||
SELECT
|
|
||||||
SYS_USER.*,
|
|
||||||
SYS_ORG.NAME AS ORG_NAME,
|
|
||||||
SYS_POSITION.NAME AS POSITION_NAME,
|
|
||||||
SYS_DIRECTOR.NAME AS DIRECTOR_NAME
|
|
||||||
FROM SYS_USER
|
|
||||||
LEFT JOIN SYS_USER SYS_DIRECTOR ON SYS_USER.ID = SYS_DIRECTOR.ID
|
|
||||||
LEFT JOIN SYS_ORG ON SYS_USER.ORG_ID = SYS_ORG.ID
|
|
||||||
LEFT JOIN SYS_POSITION ON SYS_USER.POSITION_ID = SYS_POSITION.ID
|
|
||||||
${ew.customSqlSegment}
|
|
||||||
</select>
|
|
||||||
</mapper>
|
</mapper>
|
@ -44,7 +44,7 @@ public class SysUserExportResult {
|
|||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
/** 昵称 */
|
/** 昵称 */
|
||||||
@Excel(name = "姓名")
|
@Excel(name = "昵称")
|
||||||
private String nickname;
|
private String nickname;
|
||||||
|
|
||||||
/** 性别 */
|
/** 性别 */
|
||||||
|
@ -74,7 +74,7 @@ public interface SysUserService extends IService<SysUser> {
|
|||||||
* @author xuyuxiang
|
* @author xuyuxiang
|
||||||
* @date 2022/4/24 20:08
|
* @date 2022/4/24 20:08
|
||||||
*/
|
*/
|
||||||
Page<SysUserResult> page(SysUserPageParam sysUserPageParam);
|
Page<SysUser> page(SysUserPageParam sysUserPageParam);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加用户
|
* 添加用户
|
||||||
|
@ -43,6 +43,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|||||||
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.fhs.trans.service.impl.TransService;
|
||||||
import org.apache.poi.ss.usermodel.Workbook;
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@ -113,6 +114,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
@Resource
|
@Resource
|
||||||
private DevSmsApi devSmsApi;
|
private DevSmsApi devSmsApi;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private TransService transService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private DevEmailApi devEmailApi;
|
private DevEmailApi devEmailApi;
|
||||||
|
|
||||||
@ -143,24 +147,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
@Override
|
@Override
|
||||||
public SysLoginUser getUserById(String id) {
|
public SysLoginUser getUserById(String id) {
|
||||||
SysUser sysUser = this.getById(id);
|
SysUser sysUser = this.getById(id);
|
||||||
if(ObjectUtil.isNotEmpty(sysUser)) {
|
if (ObjectUtil.isNotEmpty(sysUser)) {
|
||||||
SysLoginUser sysLoginUser = BeanUtil.copyProperties(sysUser, SysLoginUser.class);
|
transService.transOne(sysUser);
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getOrgId())) {
|
return BeanUtil.copyProperties(sysUser, SysLoginUser.class);
|
||||||
sysLoginUser.setOrgName(sysOrgService.queryEntity(sysLoginUser.getOrgId()).getName());
|
|
||||||
}
|
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getPositionId())) {
|
|
||||||
sysLoginUser.setPositionName(sysPositionService.queryEntity(sysLoginUser.getPositionId()).getName());
|
|
||||||
}
|
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getPhone())) {
|
|
||||||
sysLoginUser.setPhone(CommonCryptogramUtil.doSm4CbcDecrypt(sysLoginUser.getPhone()));
|
|
||||||
}
|
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getIdCardNumber())) {
|
|
||||||
sysLoginUser.setIdCardNumber(CommonCryptogramUtil.doSm4CbcDecrypt(sysLoginUser.getIdCardNumber()));
|
|
||||||
}
|
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getEmergencyPhone())) {
|
|
||||||
sysLoginUser.setIdCardNumber(CommonCryptogramUtil.doSm4CbcDecrypt(sysLoginUser.getEmergencyPhone()));
|
|
||||||
}
|
|
||||||
return sysLoginUser;
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -168,24 +157,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
@Override
|
@Override
|
||||||
public SysLoginUser getUserByAccount(String account) {
|
public SysLoginUser getUserByAccount(String account) {
|
||||||
SysUser sysUser = this.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getAccount, account));
|
SysUser sysUser = this.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getAccount, account));
|
||||||
if(ObjectUtil.isNotEmpty(sysUser)) {
|
if (ObjectUtil.isNotEmpty(sysUser)) {
|
||||||
SysLoginUser sysLoginUser = BeanUtil.copyProperties(sysUser, SysLoginUser.class);
|
transService.transOne(sysUser);
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getOrgId())) {
|
return BeanUtil.copyProperties(sysUser, SysLoginUser.class);
|
||||||
sysLoginUser.setOrgName(sysOrgService.queryEntity(sysLoginUser.getOrgId()).getName());
|
|
||||||
}
|
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getPositionId())) {
|
|
||||||
sysLoginUser.setPositionName(sysPositionService.queryEntity(sysLoginUser.getPositionId()).getName());
|
|
||||||
}
|
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getPhone())) {
|
|
||||||
sysLoginUser.setPhone(CommonCryptogramUtil.doSm4CbcDecrypt(sysLoginUser.getPhone()));
|
|
||||||
}
|
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getIdCardNumber())) {
|
|
||||||
sysLoginUser.setIdCardNumber(CommonCryptogramUtil.doSm4CbcDecrypt(sysLoginUser.getIdCardNumber()));
|
|
||||||
}
|
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getEmergencyPhone())) {
|
|
||||||
sysLoginUser.setIdCardNumber(CommonCryptogramUtil.doSm4CbcDecrypt(sysLoginUser.getEmergencyPhone()));
|
|
||||||
}
|
|
||||||
return sysLoginUser;
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -193,24 +167,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
@Override
|
@Override
|
||||||
public SysLoginUser getUserByPhone(String phone) {
|
public SysLoginUser getUserByPhone(String phone) {
|
||||||
SysUser sysUser = this.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhone, CommonCryptogramUtil.doSm4CbcEncrypt(phone)));
|
SysUser sysUser = this.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhone, CommonCryptogramUtil.doSm4CbcEncrypt(phone)));
|
||||||
if(ObjectUtil.isNotEmpty(sysUser)) {
|
if (ObjectUtil.isNotEmpty(sysUser)) {
|
||||||
SysLoginUser sysLoginUser = BeanUtil.copyProperties(sysUser, SysLoginUser.class);
|
transService.transOne(sysUser);
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getOrgId())) {
|
return BeanUtil.copyProperties(sysUser, SysLoginUser.class);
|
||||||
sysLoginUser.setOrgName(sysOrgService.queryEntity(sysLoginUser.getOrgId()).getName());
|
|
||||||
}
|
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getPositionId())) {
|
|
||||||
sysLoginUser.setPositionName(sysPositionService.queryEntity(sysLoginUser.getPositionId()).getName());
|
|
||||||
}
|
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getPhone())) {
|
|
||||||
sysLoginUser.setPhone(CommonCryptogramUtil.doSm4CbcDecrypt(sysLoginUser.getPhone()));
|
|
||||||
}
|
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getIdCardNumber())) {
|
|
||||||
sysLoginUser.setIdCardNumber(CommonCryptogramUtil.doSm4CbcDecrypt(sysLoginUser.getIdCardNumber()));
|
|
||||||
}
|
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getEmergencyPhone())) {
|
|
||||||
sysLoginUser.setIdCardNumber(CommonCryptogramUtil.doSm4CbcDecrypt(sysLoginUser.getEmergencyPhone()));
|
|
||||||
}
|
|
||||||
return sysLoginUser;
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -218,69 +177,42 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
@Override
|
@Override
|
||||||
public SysLoginUser getUserByEmail(String email) {
|
public SysLoginUser getUserByEmail(String email) {
|
||||||
SysUser sysUser = this.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getEmail, email));
|
SysUser sysUser = this.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getEmail, email));
|
||||||
if(ObjectUtil.isNotEmpty(sysUser)) {
|
if (ObjectUtil.isNotEmpty(sysUser)) {
|
||||||
SysLoginUser sysLoginUser = BeanUtil.copyProperties(sysUser, SysLoginUser.class);
|
transService.transOne(sysUser);
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getOrgId())) {
|
return BeanUtil.copyProperties(sysUser, SysLoginUser.class);
|
||||||
sysLoginUser.setOrgName(sysOrgService.queryEntity(sysLoginUser.getOrgId()).getName());
|
|
||||||
}
|
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getPositionId())) {
|
|
||||||
sysLoginUser.setPositionName(sysPositionService.queryEntity(sysLoginUser.getPositionId()).getName());
|
|
||||||
}
|
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getPhone())) {
|
|
||||||
sysLoginUser.setPhone(CommonCryptogramUtil.doSm4CbcDecrypt(sysLoginUser.getPhone()));
|
|
||||||
}
|
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getIdCardNumber())) {
|
|
||||||
sysLoginUser.setIdCardNumber(CommonCryptogramUtil.doSm4CbcDecrypt(sysLoginUser.getIdCardNumber()));
|
|
||||||
}
|
|
||||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getEmergencyPhone())) {
|
|
||||||
sysLoginUser.setIdCardNumber(CommonCryptogramUtil.doSm4CbcDecrypt(sysLoginUser.getEmergencyPhone()));
|
|
||||||
}
|
|
||||||
return sysLoginUser;
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Page<SysUserResult> page(SysUserPageParam sysUserPageParam) {
|
public Page<SysUser> page(SysUserPageParam sysUserPageParam) {
|
||||||
QueryWrapper<SysUserResult> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
|
||||||
if(ObjectUtil.isNotEmpty(sysUserPageParam.getSearchKey())) {
|
if (ObjectUtil.isNotEmpty(sysUserPageParam.getSearchKey())) {
|
||||||
queryWrapper.and(q -> q.like("SYS_USER.ACCOUNT", sysUserPageParam.getSearchKey())
|
queryWrapper.and(q -> q.like("ACCOUNT", sysUserPageParam.getSearchKey())
|
||||||
.or().like("SYS_USER.NAME", sysUserPageParam.getSearchKey()));
|
.or().like("NAME", sysUserPageParam.getSearchKey()));
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isNotEmpty(sysUserPageParam.getOrgId())) {
|
if (ObjectUtil.isNotEmpty(sysUserPageParam.getOrgId())) {
|
||||||
queryWrapper.eq("SYS_USER.ORG_ID", sysUserPageParam.getOrgId());
|
queryWrapper.eq("ORG_ID", sysUserPageParam.getOrgId());
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isNotEmpty(sysUserPageParam.getUserStatus())) {
|
if (ObjectUtil.isNotEmpty(sysUserPageParam.getUserStatus())) {
|
||||||
queryWrapper.eq("SYS_USER.USER_STATUS", sysUserPageParam.getUserStatus());
|
queryWrapper.eq("USER_STATUS", sysUserPageParam.getUserStatus());
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isAllNotEmpty(sysUserPageParam.getSortField(), sysUserPageParam.getSortOrder())) {
|
if (ObjectUtil.isAllNotEmpty(sysUserPageParam.getSortField(), sysUserPageParam.getSortOrder())) {
|
||||||
CommonSortOrderEnum.validate(sysUserPageParam.getSortOrder());
|
CommonSortOrderEnum.validate(sysUserPageParam.getSortOrder());
|
||||||
queryWrapper.orderBy(true, sysUserPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
|
queryWrapper.orderBy(true, sysUserPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
|
||||||
StrUtil.toUnderlineCase("SYS_USER." + sysUserPageParam.getSortField()));
|
StrUtil.toUnderlineCase(sysUserPageParam.getSortField()));
|
||||||
} else {
|
} else {
|
||||||
queryWrapper.orderByAsc("SYS_USER.SORT_CODE");
|
queryWrapper.orderByAsc("SORT_CODE");
|
||||||
}
|
}
|
||||||
return this.baseMapper.page(CommonPageRequest.defaultPage(), queryWrapper);
|
return this.baseMapper.selectPage(CommonPageRequest.defaultPage(), queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public void add(SysUserAddParam sysUserAddParam) {
|
public void add(SysUserAddParam sysUserAddParam) {
|
||||||
checkParam(sysUserAddParam);
|
checkParam(sysUserAddParam);
|
||||||
// 设置手机号
|
|
||||||
if(ObjectUtil.isNotEmpty(sysUserAddParam.getPhone())) {
|
|
||||||
sysUserAddParam.setPhone(CommonCryptogramUtil.doSm4CbcEncrypt(sysUserAddParam.getPhone()));
|
|
||||||
}
|
|
||||||
// 设置证件号
|
|
||||||
if(ObjectUtil.isNotEmpty(sysUserAddParam.getIdCardNumber())) {
|
|
||||||
sysUserAddParam.setIdCardNumber(CommonCryptogramUtil.doSm4CbcEncrypt(sysUserAddParam.getIdCardNumber()));
|
|
||||||
}
|
|
||||||
// 设置紧急联系人电话
|
|
||||||
if(ObjectUtil.isNotEmpty(sysUserAddParam.getEmergencyPhone())) {
|
|
||||||
sysUserAddParam.setEmergencyPhone(CommonCryptogramUtil.doSm4CbcEncrypt(sysUserAddParam.getEmergencyPhone()));
|
|
||||||
}
|
|
||||||
SysUser sysUser = BeanUtil.toBean(sysUserAddParam, SysUser.class);
|
SysUser sysUser = BeanUtil.toBean(sysUserAddParam, SysUser.class);
|
||||||
if(ObjectUtil.isEmpty(sysUser.getAvatar())) {
|
if (ObjectUtil.isEmpty(sysUser.getAvatar())) {
|
||||||
// 设置默认头像
|
// 设置默认头像
|
||||||
sysUser.setAvatar(CommonAvatarUtil.generateImg(sysUser.getName()));
|
sysUser.setAvatar(CommonAvatarUtil.generateImg(sysUser.getName()));
|
||||||
}
|
}
|
||||||
@ -296,8 +228,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
.eq(SysUser::getAccount, sysUserAddParam.getAccount())) > 0) {
|
.eq(SysUser::getAccount, sysUserAddParam.getAccount())) > 0) {
|
||||||
throw new CommonException("存在重复的账号,账号为:{}", sysUserAddParam.getAccount());
|
throw new CommonException("存在重复的账号,账号为:{}", sysUserAddParam.getAccount());
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isNotEmpty(sysUserAddParam.getPhone())) {
|
if (ObjectUtil.isNotEmpty(sysUserAddParam.getPhone())) {
|
||||||
if(!PhoneUtil.isMobile(sysUserAddParam.getPhone())) {
|
if (!PhoneUtil.isMobile(sysUserAddParam.getPhone())) {
|
||||||
throw new CommonException("手机号码:{}格式错误", sysUserAddParam.getPhone());
|
throw new CommonException("手机号码:{}格式错误", sysUserAddParam.getPhone());
|
||||||
}
|
}
|
||||||
if (this.count(new LambdaQueryWrapper<SysUser>()
|
if (this.count(new LambdaQueryWrapper<SysUser>()
|
||||||
@ -305,8 +237,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
throw new CommonException("存在重复的手机号,手机号为:{}", sysUserAddParam.getPhone());
|
throw new CommonException("存在重复的手机号,手机号为:{}", sysUserAddParam.getPhone());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isNotEmpty(sysUserAddParam.getEmail())) {
|
if (ObjectUtil.isNotEmpty(sysUserAddParam.getEmail())) {
|
||||||
if(!CommonEmailUtil.isEmail(sysUserAddParam.getEmail())) {
|
if (!CommonEmailUtil.isEmail(sysUserAddParam.getEmail())) {
|
||||||
throw new CommonException("邮箱:{}格式错误", sysUserAddParam.getPhone());
|
throw new CommonException("邮箱:{}格式错误", sysUserAddParam.getPhone());
|
||||||
}
|
}
|
||||||
if (this.count(new LambdaQueryWrapper<SysUser>()
|
if (this.count(new LambdaQueryWrapper<SysUser>()
|
||||||
@ -321,18 +253,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
public void edit(SysUserEditParam sysUserEditParam) {
|
public void edit(SysUserEditParam sysUserEditParam) {
|
||||||
SysUser sysUser = this.queryEntity(sysUserEditParam.getId());
|
SysUser sysUser = this.queryEntity(sysUserEditParam.getId());
|
||||||
checkParam(sysUserEditParam);
|
checkParam(sysUserEditParam);
|
||||||
// 设置手机号
|
|
||||||
if(ObjectUtil.isNotEmpty(sysUserEditParam.getPhone())) {
|
|
||||||
sysUserEditParam.setPhone(CommonCryptogramUtil.doSm4CbcEncrypt(sysUserEditParam.getPhone()));
|
|
||||||
}
|
|
||||||
// 设置证件号
|
|
||||||
if(ObjectUtil.isNotEmpty(sysUserEditParam.getIdCardNumber())) {
|
|
||||||
sysUserEditParam.setIdCardNumber(CommonCryptogramUtil.doSm4CbcEncrypt(sysUserEditParam.getIdCardNumber()));
|
|
||||||
}
|
|
||||||
// 设置紧急联系人电话
|
|
||||||
if(ObjectUtil.isNotEmpty(sysUserEditParam.getEmergencyPhone())) {
|
|
||||||
sysUserEditParam.setEmergencyPhone(CommonCryptogramUtil.doSm4CbcEncrypt(sysUserEditParam.getEmergencyPhone()));
|
|
||||||
}
|
|
||||||
BeanUtil.copyProperties(sysUserEditParam, sysUser);
|
BeanUtil.copyProperties(sysUserEditParam, sysUser);
|
||||||
this.updateById(sysUser);
|
this.updateById(sysUser);
|
||||||
}
|
}
|
||||||
@ -343,8 +263,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
.ne(SysUser::getId, sysUserEditParam.getId())) > 0) {
|
.ne(SysUser::getId, sysUserEditParam.getId())) > 0) {
|
||||||
throw new CommonException("存在重复的账号,账号为:{}", sysUserEditParam.getAccount());
|
throw new CommonException("存在重复的账号,账号为:{}", sysUserEditParam.getAccount());
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isNotEmpty(sysUserEditParam.getPhone())) {
|
if (ObjectUtil.isNotEmpty(sysUserEditParam.getPhone())) {
|
||||||
if(!PhoneUtil.isMobile(sysUserEditParam.getPhone())) {
|
if (!PhoneUtil.isMobile(sysUserEditParam.getPhone())) {
|
||||||
throw new CommonException("手机号码:{}格式错误", sysUserEditParam.getPhone());
|
throw new CommonException("手机号码:{}格式错误", sysUserEditParam.getPhone());
|
||||||
}
|
}
|
||||||
if (this.count(new LambdaQueryWrapper<SysUser>()
|
if (this.count(new LambdaQueryWrapper<SysUser>()
|
||||||
@ -353,8 +273,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
throw new CommonException("存在重复的手机号,手机号为:{}", sysUserEditParam.getPhone());
|
throw new CommonException("存在重复的手机号,手机号为:{}", sysUserEditParam.getPhone());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isNotEmpty(sysUserEditParam.getEmail())) {
|
if (ObjectUtil.isNotEmpty(sysUserEditParam.getEmail())) {
|
||||||
if(!CommonEmailUtil.isEmail(sysUserEditParam.getEmail())) {
|
if (!CommonEmailUtil.isEmail(sysUserEditParam.getEmail())) {
|
||||||
throw new CommonException("邮箱:{}格式错误", sysUserEditParam.getPhone());
|
throw new CommonException("邮箱:{}格式错误", sysUserEditParam.getPhone());
|
||||||
}
|
}
|
||||||
if (this.count(new LambdaQueryWrapper<SysUser>()
|
if (this.count(new LambdaQueryWrapper<SysUser>()
|
||||||
@ -369,16 +289,16 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
@Override
|
@Override
|
||||||
public void delete(List<SysUserIdParam> sysUserIdParamList) {
|
public void delete(List<SysUserIdParam> sysUserIdParamList) {
|
||||||
List<String> sysUserIdList = CollStreamUtil.toList(sysUserIdParamList, SysUserIdParam::getId);
|
List<String> sysUserIdList = CollStreamUtil.toList(sysUserIdParamList, SysUserIdParam::getId);
|
||||||
if(ObjectUtil.isNotEmpty(sysUserIdList)) {
|
if (ObjectUtil.isNotEmpty(sysUserIdList)) {
|
||||||
boolean containsSuperAdminAccount = this.listByIds(sysUserIdList).stream().map(SysUser::getAccount)
|
boolean containsSuperAdminAccount = this.listByIds(sysUserIdList).stream().map(SysUser::getAccount)
|
||||||
.collect(Collectors.toSet()).contains(SysBuildInEnum.BUILD_IN_USER_ACCOUNT.getValue());
|
.collect(Collectors.toSet()).contains(SysBuildInEnum.BUILD_IN_USER_ACCOUNT.getValue());
|
||||||
if(containsSuperAdminAccount) {
|
if (containsSuperAdminAccount) {
|
||||||
throw new CommonException("不可删除系统内置超管用户");
|
throw new CommonException("不可删除系统内置超管用户");
|
||||||
}
|
}
|
||||||
// 清除【将这些用户作为主管】的信息
|
// 清除【将这些用户作为主管】的信息
|
||||||
this.update(new LambdaUpdateWrapper<SysUser>().in(SysUser::getDirectorId, sysUserIdList).set(SysUser::getDirectorId, null));
|
this.update(new LambdaUpdateWrapper<SysUser>().in(SysUser::getDirectorId, sysUserIdList).set(SysUser::getDirectorId, null));
|
||||||
// 清除【将这些用户作为兼任职位的主管】的信息
|
// 清除【将这些用户作为兼任职位的主管】的信息
|
||||||
this.list(new LambdaQueryWrapper<SysUser>() .isNotNull(SysUser::getPositionJson)).forEach(sysUser -> {
|
this.list(new LambdaQueryWrapper<SysUser>().isNotNull(SysUser::getPositionJson)).forEach(sysUser -> {
|
||||||
List<JSONObject> handledJsonObjectList = JSONUtil.toList(JSONUtil.parseArray(sysUser.getPositionJson()),
|
List<JSONObject> handledJsonObjectList = JSONUtil.toList(JSONUtil.parseArray(sysUser.getPositionJson()),
|
||||||
JSONObject.class).stream().peek(jsonObject -> {
|
JSONObject.class).stream().peek(jsonObject -> {
|
||||||
String directorId = jsonObject.getStr("directorId");
|
String directorId = jsonObject.getStr("directorId");
|
||||||
@ -452,11 +372,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
// 依据请求号,取出缓存中的验证码进行校验
|
// 依据请求号,取出缓存中的验证码进行校验
|
||||||
Object existValidCode = commonCacheOperator.get(USER_CACHE_KEY + validCodeReqNo);
|
Object existValidCode = commonCacheOperator.get(USER_CACHE_KEY + validCodeReqNo);
|
||||||
// 为空则直接验证码错误
|
// 为空则直接验证码错误
|
||||||
if(ObjectUtil.isEmpty(existValidCode)) {
|
if (ObjectUtil.isEmpty(existValidCode)) {
|
||||||
throw new CommonException("验证码错误");
|
throw new CommonException("验证码错误");
|
||||||
}
|
}
|
||||||
// 不一致则直接验证码错误
|
// 不一致则直接验证码错误
|
||||||
if(!validCode.equals(Convert.toStr(existValidCode))) {
|
if (!validCode.equals(Convert.toStr(existValidCode))) {
|
||||||
// 移除该验证码
|
// 移除该验证码
|
||||||
commonCacheOperator.remove(USER_CACHE_KEY + validCodeReqNo);
|
commonCacheOperator.remove(USER_CACHE_KEY + validCodeReqNo);
|
||||||
throw new CommonException("验证码错误");
|
throw new CommonException("验证码错误");
|
||||||
@ -470,13 +390,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
// 手机号
|
// 手机号
|
||||||
String phone = sysUserGetPhoneValidCodeParam.getPhone();
|
String phone = sysUserGetPhoneValidCodeParam.getPhone();
|
||||||
// 验证码正确则校验手机号格式
|
// 验证码正确则校验手机号格式
|
||||||
if(!PhoneUtil.isMobile(phone)) {
|
if (!PhoneUtil.isMobile(phone)) {
|
||||||
throw new CommonException("手机号码:{}格式错误", phone);
|
throw new CommonException("手机号码:{}格式错误", phone);
|
||||||
}
|
}
|
||||||
// 执行校验验证码
|
// 执行校验验证码
|
||||||
validValidCode(sysUserGetPhoneValidCodeParam.getValidCode(), sysUserGetPhoneValidCodeParam.getValidCodeReqNo());
|
validValidCode(sysUserGetPhoneValidCodeParam.getValidCode(), sysUserGetPhoneValidCodeParam.getValidCodeReqNo());
|
||||||
// 根据手机号获取用户信息,判断用户是否存在
|
// 根据手机号获取用户信息,判断用户是否存在
|
||||||
if(ObjectUtil.isEmpty(this.getUserByPhone(phone))) {
|
if (ObjectUtil.isEmpty(this.getUserByPhone(phone))) {
|
||||||
throw new CommonException("手机码:{}不存在", phone);
|
throw new CommonException("手机码:{}不存在", phone);
|
||||||
}
|
}
|
||||||
// 生成手机验证码的值,随机6为数字
|
// 生成手机验证码的值,随机6为数字
|
||||||
@ -503,13 +423,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
// 邮箱
|
// 邮箱
|
||||||
String email = sysUserGetEmailValidCodeParam.getEmail();
|
String email = sysUserGetEmailValidCodeParam.getEmail();
|
||||||
// 验证码正确则校验手机号格式
|
// 验证码正确则校验手机号格式
|
||||||
if(!CommonEmailUtil.isEmail(email)) {
|
if (!CommonEmailUtil.isEmail(email)) {
|
||||||
throw new CommonException("邮箱:{}格式错误", email);
|
throw new CommonException("邮箱:{}格式错误", email);
|
||||||
}
|
}
|
||||||
// 执行校验验证码
|
// 执行校验验证码
|
||||||
validValidCode(sysUserGetEmailValidCodeParam.getValidCode(), sysUserGetEmailValidCodeParam.getValidCodeReqNo());
|
validValidCode(sysUserGetEmailValidCodeParam.getValidCode(), sysUserGetEmailValidCodeParam.getValidCodeReqNo());
|
||||||
// 根据手机号获取用户信息,判断用户是否存在
|
// 根据手机号获取用户信息,判断用户是否存在
|
||||||
if(ObjectUtil.isEmpty(this.getUserByEmail(email))) {
|
if (ObjectUtil.isEmpty(this.getUserByEmail(email))) {
|
||||||
throw new CommonException("邮箱:{}不存在", email);
|
throw new CommonException("邮箱:{}不存在", email);
|
||||||
}
|
}
|
||||||
// 生成邮箱验证码的值,随机6为数字
|
// 生成邮箱验证码的值,随机6为数字
|
||||||
@ -606,7 +526,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
// 获取菜单id列表
|
// 获取菜单id列表
|
||||||
List<String> menuIdList = CollectionUtil.newArrayList();
|
List<String> menuIdList = CollectionUtil.newArrayList();
|
||||||
|
|
||||||
if(ObjectUtil.isNotEmpty(roleIdList)) {
|
if (ObjectUtil.isNotEmpty(roleIdList)) {
|
||||||
menuIdList = sysRelationService.getRelationTargetIdListByObjectIdListAndCategory(roleIdList,
|
menuIdList = sysRelationService.getRelationTargetIdListByObjectIdListAndCategory(roleIdList,
|
||||||
SysRelationCategoryEnum.SYS_ROLE_HAS_RESOURCE.getValue());
|
SysRelationCategoryEnum.SYS_ROLE_HAS_RESOURCE.getValue());
|
||||||
}
|
}
|
||||||
@ -661,11 +581,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
moduleIdSet.contains(sysMenu.getId())).collect(Collectors.toList());
|
moduleIdSet.contains(sysMenu.getId())).collect(Collectors.toList());
|
||||||
|
|
||||||
// 如果一个模块都没拥有
|
// 如果一个模块都没拥有
|
||||||
if(ObjectUtil.isEmpty(moduleList)) {
|
if (ObjectUtil.isEmpty(moduleList)) {
|
||||||
// 如果系统中无模块(极端情况)
|
// 如果系统中无模块(极端情况)
|
||||||
if(ObjectUtil.isEmpty(allModuleList)) {
|
if (ObjectUtil.isEmpty(allModuleList)) {
|
||||||
// 如果系统中无单页面,则返回空列表
|
// 如果系统中无单页面,则返回空列表
|
||||||
if(ObjectUtil.isEmpty(allSpaList)) {
|
if (ObjectUtil.isEmpty(allSpaList)) {
|
||||||
return CollectionUtil.newArrayList();
|
return CollectionUtil.newArrayList();
|
||||||
} else {
|
} else {
|
||||||
// 否则构造一个模块,并添加到拥有模块
|
// 否则构造一个模块,并添加到拥有模块
|
||||||
@ -704,13 +624,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
List<JSONObject> resultJsonObjectList = resultList.stream().map(sysMenu -> {
|
List<JSONObject> resultJsonObjectList = resultList.stream().map(sysMenu -> {
|
||||||
|
|
||||||
// 将模块的父id设置为0,设置随机path
|
// 将模块的父id设置为0,设置随机path
|
||||||
if(sysMenu.getCategory().equals(SysResourceCategoryEnum.MODULE.getValue())) {
|
if (sysMenu.getCategory().equals(SysResourceCategoryEnum.MODULE.getValue())) {
|
||||||
sysMenu.setParentId("0");
|
sysMenu.setParentId("0");
|
||||||
sysMenu.setPath(StrUtil.SLASH + RandomUtil.randomString(10));
|
sysMenu.setPath(StrUtil.SLASH + RandomUtil.randomString(10));
|
||||||
}
|
}
|
||||||
// 将根菜单的父id设置为模块的id
|
// 将根菜单的父id设置为模块的id
|
||||||
if(sysMenu.getCategory().equals(SysResourceCategoryEnum.MENU.getValue())) {
|
if (sysMenu.getCategory().equals(SysResourceCategoryEnum.MENU.getValue())) {
|
||||||
if(sysMenu.getParentId().equals("0")) {
|
if (sysMenu.getParentId().equals("0")) {
|
||||||
sysMenu.setParentId(sysMenu.getModule());
|
sysMenu.setParentId(sysMenu.getModule());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -726,9 +646,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 如果是单页面
|
// 如果是单页面
|
||||||
if(sysMenu.getCategory().equals(SysResourceCategoryEnum.SPA.getValue())) {
|
if (sysMenu.getCategory().equals(SysResourceCategoryEnum.SPA.getValue())) {
|
||||||
metaJsonObject.set("type", SysResourceCategoryEnum.MENU.getValue().toLowerCase());
|
metaJsonObject.set("type", SysResourceCategoryEnum.MENU.getValue().toLowerCase());
|
||||||
if(sysMenu.getId().equals(firstSpaId)) {
|
if (sysMenu.getId().equals(firstSpaId)) {
|
||||||
// 如果是首页(第一个单页面)则设置affix
|
// 如果是首页(第一个单页面)则设置affix
|
||||||
metaJsonObject.set("affix", true);
|
metaJsonObject.set("affix", true);
|
||||||
} else {
|
} else {
|
||||||
@ -756,11 +676,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
**/
|
**/
|
||||||
private void execRecursionFindParent(List<SysMenu> originDataList, String id, List<SysMenu> resultList) {
|
private void execRecursionFindParent(List<SysMenu> originDataList, String id, List<SysMenu> resultList) {
|
||||||
originDataList.forEach(item -> {
|
originDataList.forEach(item -> {
|
||||||
if(item.getId().equals(id)) {
|
if (item.getId().equals(id)) {
|
||||||
int index = CollStreamUtil.toList(originDataList, SysMenu::getId).indexOf(id);
|
int index = CollStreamUtil.toList(originDataList, SysMenu::getId).indexOf(id);
|
||||||
SysMenu parent = index == -1?null:originDataList.get(index);
|
SysMenu parent = index == -1 ? null : originDataList.get(index);
|
||||||
if(ObjectUtil.isNotEmpty(parent)) {
|
if (ObjectUtil.isNotEmpty(parent)) {
|
||||||
if(!CollectionUtil.contains(resultList, parent)) {
|
if (!CollectionUtil.contains(resultList, parent)) {
|
||||||
resultList.add(parent);
|
resultList.add(parent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -789,8 +709,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
SysUser sysUser = this.queryEntity(sysUserIdParam.getId());
|
SysUser sysUser = this.queryEntity(sysUserIdParam.getId());
|
||||||
List<TreeNode<String>> treeNodeList = sysOrgList.stream().map(sysOrg -> {
|
List<TreeNode<String>> treeNodeList = sysOrgList.stream().map(sysOrg -> {
|
||||||
TreeNode<String> treeNode = new TreeNode<>(sysOrg.getId(), sysOrg.getParentId(), sysOrg.getName(), sysOrg.getSortCode());
|
TreeNode<String> treeNode = new TreeNode<>(sysOrg.getId(), sysOrg.getParentId(), sysOrg.getName(), sysOrg.getSortCode());
|
||||||
if(ObjectUtil.isNotEmpty(sysUser.getOrgId())) {
|
if (ObjectUtil.isNotEmpty(sysUser.getOrgId())) {
|
||||||
if(sysOrg.getId().equals(sysUser.getOrgId())) {
|
if (sysOrg.getId().equals(sysUser.getOrgId())) {
|
||||||
treeNode.setExtra(JSONUtil.createObj().set("style", JSONUtil.createObj().set("color", "#FFF")
|
treeNode.setExtra(JSONUtil.createObj().set("style", JSONUtil.createObj().set("color", "#FFF")
|
||||||
.set("background", "var(--primary-color)")));
|
.set("background", "var(--primary-color)")));
|
||||||
}
|
}
|
||||||
@ -826,7 +746,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
SysUser sysUser = this.queryEntity(sysUserIdParam.getId());
|
SysUser sysUser = this.queryEntity(sysUserIdParam.getId());
|
||||||
SysRelation sysRelation = sysRelationService.getOne(new LambdaUpdateWrapper<SysRelation>().eq(SysRelation::getObjectId, sysUser.getId())
|
SysRelation sysRelation = sysRelationService.getOne(new LambdaUpdateWrapper<SysRelation>().eq(SysRelation::getObjectId, sysUser.getId())
|
||||||
.eq(SysRelation::getCategory, SysRelationCategoryEnum.SYS_USER_WORKBENCH_DATA.getValue()));
|
.eq(SysRelation::getCategory, SysRelationCategoryEnum.SYS_USER_WORKBENCH_DATA.getValue()));
|
||||||
if(ObjectUtil.isNotEmpty(sysRelation)) {
|
if (ObjectUtil.isNotEmpty(sysRelation)) {
|
||||||
return sysRelation.getExtJson();
|
return sysRelation.getExtJson();
|
||||||
}
|
}
|
||||||
return devConfigApi.getValueByKey(SNOWY_SYS_DEFAULT_WORKBENCH_DATA_KEY);
|
return devConfigApi.getValueByKey(SNOWY_SYS_DEFAULT_WORKBENCH_DATA_KEY);
|
||||||
@ -835,7 +755,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
@Override
|
@Override
|
||||||
public SysUser queryEntity(String id) {
|
public SysUser queryEntity(String id) {
|
||||||
SysUser sysUser = this.getById(id);
|
SysUser sysUser = this.getById(id);
|
||||||
if(ObjectUtil.isEmpty(sysUser)) {
|
if (ObjectUtil.isEmpty(sysUser)) {
|
||||||
throw new CommonException("用户不存在,id值为:{}", id);
|
throw new CommonException("用户不存在,id值为:{}", id);
|
||||||
}
|
}
|
||||||
return sysUser;
|
return sysUser;
|
||||||
@ -845,7 +765,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
public List<String> getButtonCodeList(String userId) {
|
public List<String> getButtonCodeList(String userId) {
|
||||||
List<String> roleIdList = sysRelationService.getRelationTargetIdListByObjectIdAndCategory(userId,
|
List<String> roleIdList = sysRelationService.getRelationTargetIdListByObjectIdAndCategory(userId,
|
||||||
SysRelationCategoryEnum.SYS_USER_HAS_ROLE.getValue());
|
SysRelationCategoryEnum.SYS_USER_HAS_ROLE.getValue());
|
||||||
if(ObjectUtil.isNotEmpty(roleIdList)) {
|
if (ObjectUtil.isNotEmpty(roleIdList)) {
|
||||||
List<String> buttonIdList = CollectionUtil.newArrayList();
|
List<String> buttonIdList = CollectionUtil.newArrayList();
|
||||||
sysRelationService.getRelationListByObjectIdListAndCategory(roleIdList,
|
sysRelationService.getRelationListByObjectIdListAndCategory(roleIdList,
|
||||||
SysRelationCategoryEnum.SYS_ROLE_HAS_RESOURCE.getValue()).forEach(sysRelation -> {
|
SysRelationCategoryEnum.SYS_ROLE_HAS_RESOURCE.getValue()).forEach(sysRelation -> {
|
||||||
@ -853,7 +773,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
buttonIdList.addAll(JSONUtil.parseObj(sysRelation.getExtJson()).getBeanList("buttonInfo", String.class));
|
buttonIdList.addAll(JSONUtil.parseObj(sysRelation.getExtJson()).getBeanList("buttonInfo", String.class));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if(ObjectUtil.isNotEmpty(buttonIdList)) {
|
if (ObjectUtil.isNotEmpty(buttonIdList)) {
|
||||||
return sysButtonService.listByIds(buttonIdList).stream().map(SysButton::getCode).collect(Collectors.toList());
|
return sysButtonService.listByIds(buttonIdList).stream().map(SysButton::getCode).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -862,13 +782,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<JSONObject> getPermissionList(String userId, String orgId) {
|
public List<JSONObject> getPermissionList(String userId, String orgId) {
|
||||||
if(ObjectUtil.isNotEmpty(orgId)) {
|
if (ObjectUtil.isNotEmpty(orgId)) {
|
||||||
List<String> roleIdList = sysRelationService.getRelationTargetIdListByObjectIdAndCategory(userId,
|
List<String> roleIdList = sysRelationService.getRelationTargetIdListByObjectIdAndCategory(userId,
|
||||||
SysRelationCategoryEnum.SYS_USER_HAS_ROLE.getValue());
|
SysRelationCategoryEnum.SYS_USER_HAS_ROLE.getValue());
|
||||||
if(ObjectUtil.isNotEmpty(roleIdList)) {
|
if (ObjectUtil.isNotEmpty(roleIdList)) {
|
||||||
Map<String, List<SysRelation>> groupMap = sysRelationService.getRelationListByObjectIdListAndCategory(roleIdList,
|
Map<String, List<SysRelation>> groupMap = sysRelationService.getRelationListByObjectIdListAndCategory(roleIdList,
|
||||||
SysRelationCategoryEnum.SYS_ROLE_HAS_PERMISSION.getValue()).stream().collect(Collectors.groupingBy(SysRelation::getTargetId));
|
SysRelationCategoryEnum.SYS_ROLE_HAS_PERMISSION.getValue()).stream().collect(Collectors.groupingBy(SysRelation::getTargetId));
|
||||||
if(ObjectUtil.isNotEmpty(groupMap)) {
|
if (ObjectUtil.isNotEmpty(groupMap)) {
|
||||||
List<JSONObject> resultList = CollectionUtil.newArrayList();
|
List<JSONObject> resultList = CollectionUtil.newArrayList();
|
||||||
List<SysOrg> sysOrgList = sysOrgService.list();
|
List<SysOrg> sysOrgList = sysOrgService.list();
|
||||||
List<String> scopeAllList = sysOrgList.stream().map(SysOrg::getId).collect(Collectors.toList());
|
List<String> scopeAllList = sysOrgList.stream().map(SysOrg::getId).collect(Collectors.toList());
|
||||||
@ -881,12 +801,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
value.forEach(sysRelation -> {
|
value.forEach(sysRelation -> {
|
||||||
JSONObject extJsonObject = JSONUtil.parseObj(sysRelation.getExtJson());
|
JSONObject extJsonObject = JSONUtil.parseObj(sysRelation.getExtJson());
|
||||||
String scopeCategory = extJsonObject.getStr("scopeCategory");
|
String scopeCategory = extJsonObject.getStr("scopeCategory");
|
||||||
if(!scopeCategory.equals(SysRoleDataScopeCategoryEnum.SCOPE_SELF.getValue())) {
|
if (!scopeCategory.equals(SysRoleDataScopeCategoryEnum.SCOPE_SELF.getValue())) {
|
||||||
if(scopeCategory.equals(SysRoleDataScopeCategoryEnum.SCOPE_ALL.getValue())) {
|
if (scopeCategory.equals(SysRoleDataScopeCategoryEnum.SCOPE_ALL.getValue())) {
|
||||||
scopeSet.addAll(scopeAllList);
|
scopeSet.addAll(scopeAllList);
|
||||||
} else if(scopeCategory.equals(SysRoleDataScopeCategoryEnum.SCOPE_ORG.getValue())) {
|
} else if (scopeCategory.equals(SysRoleDataScopeCategoryEnum.SCOPE_ORG.getValue())) {
|
||||||
scopeSet.addAll(scopeOrgList);
|
scopeSet.addAll(scopeOrgList);
|
||||||
} else if(scopeCategory.equals(SysRoleDataScopeCategoryEnum.SCOPE_ORG_CHILD.getValue())) {
|
} else if (scopeCategory.equals(SysRoleDataScopeCategoryEnum.SCOPE_ORG_CHILD.getValue())) {
|
||||||
scopeSet.addAll(scopeOrgChildList);
|
scopeSet.addAll(scopeOrgChildList);
|
||||||
} else {
|
} else {
|
||||||
scopeSet.addAll(extJsonObject.getBeanList("scopeDefineOrgIdList", String.class));
|
scopeSet.addAll(extJsonObject.getBeanList("scopeDefineOrgIdList", String.class));
|
||||||
@ -906,7 +826,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
public List<String> getRoleCodeList(String userId) {
|
public List<String> getRoleCodeList(String userId) {
|
||||||
List<String> roleIdList = sysRelationService.getRelationTargetIdListByObjectIdAndCategory(userId,
|
List<String> roleIdList = sysRelationService.getRelationTargetIdListByObjectIdAndCategory(userId,
|
||||||
SysRelationCategoryEnum.SYS_USER_HAS_ROLE.getValue());
|
SysRelationCategoryEnum.SYS_USER_HAS_ROLE.getValue());
|
||||||
if(ObjectUtil.isNotEmpty(roleIdList)) {
|
if (ObjectUtil.isNotEmpty(roleIdList)) {
|
||||||
return sysRoleService.listByIds(roleIdList)
|
return sysRoleService.listByIds(roleIdList)
|
||||||
.stream().map(SysRole::getCode).collect(Collectors.toList());
|
.stream().map(SysRole::getCode).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
@ -922,18 +842,20 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
public void exportUser(SysUserExportParam sysUserExportParam, HttpServletResponse response) throws IOException {
|
public void exportUser(SysUserExportParam sysUserExportParam, HttpServletResponse response) throws IOException {
|
||||||
File tempFile = null;
|
File tempFile = null;
|
||||||
try {
|
try {
|
||||||
QueryWrapper<SysUserExportResult> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
|
||||||
if(ObjectUtil.isNotEmpty(sysUserExportParam.getSearchKey())) {
|
if (ObjectUtil.isNotEmpty(sysUserExportParam.getSearchKey())) {
|
||||||
queryWrapper.and(q -> q.like("SYS_USER.ACCOUNT", sysUserExportParam.getSearchKey())
|
queryWrapper.and(q -> q.like("ACCOUNT", sysUserExportParam.getSearchKey())
|
||||||
.or().like("SYS_USER.NAME", sysUserExportParam.getSearchKey())
|
.or().like("NAME", sysUserExportParam.getSearchKey())
|
||||||
.or().like("SYS_USER.PHONE", sysUserExportParam.getSearchKey()));
|
.or().like("PHONE", sysUserExportParam.getSearchKey()));
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isNotEmpty(sysUserExportParam.getUserStatus())) {
|
if (ObjectUtil.isNotEmpty(sysUserExportParam.getUserStatus())) {
|
||||||
queryWrapper.eq("SYS_USER.STATUS", sysUserExportParam.getUserStatus());
|
queryWrapper.eq("STATUS", sysUserExportParam.getUserStatus());
|
||||||
}
|
}
|
||||||
String fileName = "SNOWY2.0系统B端用户信息清单";
|
String fileName = "SNOWY2.0系统B端用户信息清单";
|
||||||
List<SysUserExportResult> sysUserExportResultList = this.baseMapper.exportList(queryWrapper).stream().peek(sysUserExportResult -> {
|
List<SysUserExportResult> sysUserExportResultList = this.baseMapper.selectList(queryWrapper).stream().map(sysUser -> {
|
||||||
if(ObjectUtil.isNotEmpty(sysUserExportResult.getAvatar())) {
|
return BeanUtil.copyProperties(sysUser, SysUserExportResult.class);
|
||||||
|
}).peek(sysUserExportResult -> {
|
||||||
|
if (ObjectUtil.isNotEmpty(sysUserExportResult.getAvatar())) {
|
||||||
sysUserExportResult.setAvatarByte(ImgUtil.toBytes(ImgUtil.toImage(StrUtil
|
sysUserExportResult.setAvatarByte(ImgUtil.toBytes(ImgUtil.toImage(StrUtil
|
||||||
.split(sysUserExportResult.getAvatar(), StrUtil.COMMA).get(1)), ImgUtil.IMAGE_TYPE_PNG));
|
.split(sysUserExportResult.getAvatar(), StrUtil.COMMA).get(1)), ImgUtil.IMAGE_TYPE_PNG));
|
||||||
}
|
}
|
||||||
@ -960,14 +882,14 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
List<SysOrg> sysOrgList = sysOrgService.list();
|
List<SysOrg> sysOrgList = sysOrgService.list();
|
||||||
String primaryOrgId = sysUser.getOrgId();
|
String primaryOrgId = sysUser.getOrgId();
|
||||||
SysOrg primarySysOrg = sysOrgService.getById(sysOrgList, primaryOrgId);
|
SysOrg primarySysOrg = sysOrgService.getById(sysOrgList, primaryOrgId);
|
||||||
if(ObjectUtil.isEmpty(primarySysOrg)) {
|
if (ObjectUtil.isEmpty(primarySysOrg)) {
|
||||||
throw new CommonException("组织不存在,id值为:{}", primaryOrgId);
|
throw new CommonException("组织不存在,id值为:{}", primaryOrgId);
|
||||||
}
|
}
|
||||||
String primaryOrgName = primarySysOrg.getName();
|
String primaryOrgName = primarySysOrg.getName();
|
||||||
List<SysPosition> sysPositionList = sysPositionService.list();
|
List<SysPosition> sysPositionList = sysPositionService.list();
|
||||||
String primaryPositionId = sysUser.getPositionId();
|
String primaryPositionId = sysUser.getPositionId();
|
||||||
SysPosition primaryPosition = sysPositionService.getById(sysPositionList, primaryPositionId);
|
SysPosition primaryPosition = sysPositionService.getById(sysPositionList, primaryPositionId);
|
||||||
if(ObjectUtil.isEmpty(primaryPosition)) {
|
if (ObjectUtil.isEmpty(primaryPosition)) {
|
||||||
throw new CommonException("职位不存在,id值为:{}", primaryPositionId);
|
throw new CommonException("职位不存在,id值为:{}", primaryPositionId);
|
||||||
}
|
}
|
||||||
String primaryPositionName = primaryPosition.getName();
|
String primaryPositionName = primaryPosition.getName();
|
||||||
@ -980,24 +902,24 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
primarySysUserPositionResult.setType("primary");
|
primarySysUserPositionResult.setType("primary");
|
||||||
sysUserPositionResultList.add(primarySysUserPositionResult);
|
sysUserPositionResultList.add(primarySysUserPositionResult);
|
||||||
String positionJson = sysUser.getPositionJson();
|
String positionJson = sysUser.getPositionJson();
|
||||||
if(ObjectUtil.isNotEmpty(positionJson)) {
|
if (ObjectUtil.isNotEmpty(positionJson)) {
|
||||||
JSONArray jsonArray = JSONUtil.parseArray(positionJson);
|
JSONArray jsonArray = JSONUtil.parseArray(positionJson);
|
||||||
if(ObjectUtil.isNotEmpty(jsonArray)) {
|
if (ObjectUtil.isNotEmpty(jsonArray)) {
|
||||||
jsonArray.forEach(obj -> {
|
jsonArray.forEach(obj -> {
|
||||||
JSONObject jsonObject = JSONUtil.parseObj(obj);
|
JSONObject jsonObject = JSONUtil.parseObj(obj);
|
||||||
String slaveOrgId = jsonObject.getStr("orgId");
|
String slaveOrgId = jsonObject.getStr("orgId");
|
||||||
String slavePositionId = jsonObject.getStr("positionId");
|
String slavePositionId = jsonObject.getStr("positionId");
|
||||||
if(ObjectUtil.hasEmpty(slaveOrgId, slavePositionId)) {
|
if (ObjectUtil.hasEmpty(slaveOrgId, slavePositionId)) {
|
||||||
throw new CommonException("兼任职位数据不完整,用户id值为:{}", sysUserIdParam.getId());
|
throw new CommonException("兼任职位数据不完整,用户id值为:{}", sysUserIdParam.getId());
|
||||||
}
|
}
|
||||||
SysOrg slaveSysOrg = sysOrgService.getById(sysOrgList, slaveOrgId);
|
SysOrg slaveSysOrg = sysOrgService.getById(sysOrgList, slaveOrgId);
|
||||||
if(ObjectUtil.isEmpty(slaveSysOrg)) {
|
if (ObjectUtil.isEmpty(slaveSysOrg)) {
|
||||||
throw new CommonException("组织不存在,id值为:{}", slaveSysOrg);
|
throw new CommonException("组织不存在,id值为:{}", slaveSysOrg);
|
||||||
}
|
}
|
||||||
String slaveOrgName = slaveSysOrg.getName();
|
String slaveOrgName = slaveSysOrg.getName();
|
||||||
|
|
||||||
SysPosition slavePosition = sysPositionService.getById(sysPositionList, slavePositionId);
|
SysPosition slavePosition = sysPositionService.getById(sysPositionList, slavePositionId);
|
||||||
if(ObjectUtil.isEmpty(slavePosition)) {
|
if (ObjectUtil.isEmpty(slavePosition)) {
|
||||||
throw new CommonException("职位不存在,id值为:{}", slavePositionId);
|
throw new CommonException("职位不存在,id值为:{}", slavePositionId);
|
||||||
}
|
}
|
||||||
String slavePositionName = slavePosition.getName();
|
String slavePositionName = slavePosition.getName();
|
||||||
@ -1034,10 +956,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
// 查询部分字段
|
// 查询部分字段
|
||||||
lambdaQueryWrapper.select(SysOrg::getId, SysOrg::getParentId, SysOrg::getName,
|
lambdaQueryWrapper.select(SysOrg::getId, SysOrg::getParentId, SysOrg::getName,
|
||||||
SysOrg::getCategory, SysOrg::getSortCode);
|
SysOrg::getCategory, SysOrg::getSortCode);
|
||||||
if(ObjectUtil.isNotEmpty(sysUserSelectorOrgListParam.getParentId())) {
|
if (ObjectUtil.isNotEmpty(sysUserSelectorOrgListParam.getParentId())) {
|
||||||
lambdaQueryWrapper.eq(SysOrg::getParentId, sysUserSelectorOrgListParam.getParentId());
|
lambdaQueryWrapper.eq(SysOrg::getParentId, sysUserSelectorOrgListParam.getParentId());
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isNotEmpty(sysUserSelectorOrgListParam.getSearchKey())) {
|
if (ObjectUtil.isNotEmpty(sysUserSelectorOrgListParam.getSearchKey())) {
|
||||||
lambdaQueryWrapper.like(SysOrg::getName, sysUserSelectorOrgListParam.getSearchKey());
|
lambdaQueryWrapper.like(SysOrg::getName, sysUserSelectorOrgListParam.getSearchKey());
|
||||||
}
|
}
|
||||||
lambdaQueryWrapper.orderByAsc(SysOrg::getSortCode);
|
lambdaQueryWrapper.orderByAsc(SysOrg::getSortCode);
|
||||||
@ -1050,10 +972,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
// 查询部分字段
|
// 查询部分字段
|
||||||
lambdaQueryWrapper.select(SysPosition::getId, SysPosition::getOrgId, SysPosition::getName,
|
lambdaQueryWrapper.select(SysPosition::getId, SysPosition::getOrgId, SysPosition::getName,
|
||||||
SysPosition::getCategory, SysPosition::getSortCode);
|
SysPosition::getCategory, SysPosition::getSortCode);
|
||||||
if(ObjectUtil.isNotEmpty(sysUserSelectorPositionParam.getOrgId())) {
|
if (ObjectUtil.isNotEmpty(sysUserSelectorPositionParam.getOrgId())) {
|
||||||
lambdaQueryWrapper.eq(SysPosition::getOrgId, sysUserSelectorPositionParam.getOrgId());
|
lambdaQueryWrapper.eq(SysPosition::getOrgId, sysUserSelectorPositionParam.getOrgId());
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isNotEmpty(sysUserSelectorPositionParam.getSearchKey())) {
|
if (ObjectUtil.isNotEmpty(sysUserSelectorPositionParam.getSearchKey())) {
|
||||||
lambdaQueryWrapper.like(SysPosition::getName, sysUserSelectorPositionParam.getSearchKey());
|
lambdaQueryWrapper.like(SysPosition::getName, sysUserSelectorPositionParam.getSearchKey());
|
||||||
}
|
}
|
||||||
lambdaQueryWrapper.orderByAsc(SysPosition::getSortCode);
|
lambdaQueryWrapper.orderByAsc(SysPosition::getSortCode);
|
||||||
@ -1065,13 +987,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
LambdaQueryWrapper<SysRole> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<SysRole> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
lambdaQueryWrapper.select(SysRole::getId, SysRole::getOrgId, SysRole::getName,
|
lambdaQueryWrapper.select(SysRole::getId, SysRole::getOrgId, SysRole::getName,
|
||||||
SysRole::getCategory, SysRole::getSortCode);
|
SysRole::getCategory, SysRole::getSortCode);
|
||||||
if(ObjectUtil.isNotEmpty(sysUserSelectorRoleParam.getOrgId())) {
|
if (ObjectUtil.isNotEmpty(sysUserSelectorRoleParam.getOrgId())) {
|
||||||
lambdaQueryWrapper.eq(SysRole::getOrgId, sysUserSelectorRoleParam.getOrgId());
|
lambdaQueryWrapper.eq(SysRole::getOrgId, sysUserSelectorRoleParam.getOrgId());
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isNotEmpty(sysUserSelectorRoleParam.getCategory())) {
|
if (ObjectUtil.isNotEmpty(sysUserSelectorRoleParam.getCategory())) {
|
||||||
lambdaQueryWrapper.eq(SysRole::getCategory, sysUserSelectorRoleParam.getCategory());
|
lambdaQueryWrapper.eq(SysRole::getCategory, sysUserSelectorRoleParam.getCategory());
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isNotEmpty(sysUserSelectorRoleParam.getSearchKey())) {
|
if (ObjectUtil.isNotEmpty(sysUserSelectorRoleParam.getSearchKey())) {
|
||||||
lambdaQueryWrapper.like(SysRole::getName, sysUserSelectorRoleParam.getSearchKey());
|
lambdaQueryWrapper.like(SysRole::getName, sysUserSelectorRoleParam.getSearchKey());
|
||||||
}
|
}
|
||||||
lambdaQueryWrapper.orderByAsc(SysRole::getSortCode);
|
lambdaQueryWrapper.orderByAsc(SysRole::getSortCode);
|
||||||
@ -1083,10 +1005,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
LambdaQueryWrapper<SysUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<SysUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
// 只查询部分字段
|
// 只查询部分字段
|
||||||
lambdaQueryWrapper.select(SysUser::getId, SysUser::getOrgId, SysUser::getAccount, SysUser::getName, SysUser::getSortCode);
|
lambdaQueryWrapper.select(SysUser::getId, SysUser::getOrgId, SysUser::getAccount, SysUser::getName, SysUser::getSortCode);
|
||||||
if(ObjectUtil.isNotEmpty(sysUserSelectorUserParam.getOrgId())) {
|
if (ObjectUtil.isNotEmpty(sysUserSelectorUserParam.getOrgId())) {
|
||||||
lambdaQueryWrapper.eq(SysUser::getOrgId, sysUserSelectorUserParam.getOrgId());
|
lambdaQueryWrapper.eq(SysUser::getOrgId, sysUserSelectorUserParam.getOrgId());
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isNotEmpty(sysUserSelectorUserParam.getSearchKey())) {
|
if (ObjectUtil.isNotEmpty(sysUserSelectorUserParam.getSearchKey())) {
|
||||||
lambdaQueryWrapper.like(SysUser::getName, sysUserSelectorUserParam.getSearchKey());
|
lambdaQueryWrapper.like(SysUser::getName, sysUserSelectorUserParam.getSearchKey());
|
||||||
}
|
}
|
||||||
lambdaQueryWrapper.orderByAsc(SysUser::getSortCode);
|
lambdaQueryWrapper.orderByAsc(SysUser::getSortCode);
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -95,7 +95,7 @@ mybatis-plus.global-config.db-config.logic-delete-field=DELETE_FLAG
|
|||||||
mybatis-plus.global-config.db-config.logic-delete-value=DELETED
|
mybatis-plus.global-config.db-config.logic-delete-value=DELETED
|
||||||
mybatis-plus.global-config.db-config.logic-not-delete-value=NOT_DELETE
|
mybatis-plus.global-config.db-config.logic-not-delete-value=NOT_DELETE
|
||||||
mybatis-plus.mapper-locations=classpath*:vip/xiaonuo/**/mapping/*.xml
|
mybatis-plus.mapper-locations=classpath*:vip/xiaonuo/**/mapping/*.xml
|
||||||
|
mybatis-plus.type-handlers-package=vip.xiaonuo.common.handler
|
||||||
#########################################
|
#########################################
|
||||||
# sa-token configuration
|
# sa-token configuration
|
||||||
#########################################
|
#########################################
|
||||||
@ -119,6 +119,13 @@ sa-token.alone-redis.lettuce.pool.max-wait=${spring.redis.lettuce.pool.max-wait}
|
|||||||
sa-token.alone-redis.lettuce.pool.max-idle=${spring.redis.lettuce.pool.max-idle}
|
sa-token.alone-redis.lettuce.pool.max-idle=${spring.redis.lettuce.pool.max-idle}
|
||||||
sa-token.alone-redis.lettuce.pool.min-idle=${spring.redis.lettuce.pool.min-idle}
|
sa-token.alone-redis.lettuce.pool.min-idle=${spring.redis.lettuce.pool.min-idle}
|
||||||
|
|
||||||
|
#########################################
|
||||||
|
# easy-trans configuration
|
||||||
|
#########################################
|
||||||
|
easy-trans.is-enable-redis=true
|
||||||
|
easy-trans.is-enable-global=true
|
||||||
|
easy-trans.is-enable-tile=true
|
||||||
|
|
||||||
#########################################
|
#########################################
|
||||||
# knife4j configuration
|
# knife4j configuration
|
||||||
#########################################
|
#########################################
|
||||||
|
Loading…
x
Reference in New Issue
Block a user