mirror of https://gitee.com/xiaonuobase/snowy
Merge branch 'master' of https://gitee.com/xiaonuobase/snowy
Conflicts: snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/modular/user/service/impl/SysUserServiceImpl.javapull/43/head
commit
605a3877bd
|
@ -149,14 +149,12 @@
|
|||
const param = parameterChanges(formData.value)
|
||||
submitLoading.value = true
|
||||
spaApi.submitForm(param, !param.id).then(() => {
|
||||
submitLoading.value = false
|
||||
visible = false
|
||||
emit('successful')
|
||||
})
|
||||
})
|
||||
.catch(() => {
|
||||
}).finally(() => {
|
||||
submitLoading.value = false
|
||||
})
|
||||
})
|
||||
}
|
||||
const parameterChanges = (data) => {
|
||||
if (!data.component) {
|
||||
|
|
|
@ -132,7 +132,7 @@
|
|||
},
|
||||
{
|
||||
title: '性别',
|
||||
dataIndex: 'gender',
|
||||
dataIndex: 'genderName',
|
||||
width: '50px'
|
||||
},
|
||||
{
|
||||
|
|
|
@ -17,7 +17,8 @@
|
|||
<properties>
|
||||
<lombok.versin>1.18.22</lombok.versin>
|
||||
<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>
|
||||
<hutool.version>5.7.22</hutool.version>
|
||||
<pinyin.version>2.5.1</pinyin.version>
|
||||
|
@ -79,6 +80,43 @@
|
|||
<version>${mybatis.plus.version}</version>
|
||||
</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 -->
|
||||
<dependency>
|
||||
<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.extension.plugins.pagination.Page;
|
||||
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 vip.xiaonuo.common.enums.CommonSortOrderEnum;
|
||||
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.service.DevDictService;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
@ -44,7 +50,12 @@ import java.util.stream.Collectors;
|
|||
* @date 2022/4/22 10:41
|
||||
**/
|
||||
@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
|
||||
public Page<DevDict> page(DevDictPageParam devDictPageParam) {
|
||||
|
@ -103,6 +114,7 @@ public class DevDictServiceImpl extends ServiceImpl<DevDictMapper, DevDict> impl
|
|||
checkParam(devDictAddParam);
|
||||
DevDict devDict = BeanUtil.toBean(devDictAddParam, DevDict.class);
|
||||
this.save(devDict);
|
||||
refreshTransCache();
|
||||
}
|
||||
|
||||
private void checkParam(DevDictAddParam devDictAddParam) {
|
||||
|
@ -129,6 +141,7 @@ public class DevDictServiceImpl extends ServiceImpl<DevDictMapper, DevDict> impl
|
|||
checkParam(devDictEditParam);
|
||||
BeanUtil.copyProperties(devDictEditParam, devDict);
|
||||
this.updateById(devDict);
|
||||
refreshTransCache();
|
||||
}
|
||||
|
||||
private void checkParam(DevDictEditParam devDictEditParam) {
|
||||
|
@ -178,4 +191,35 @@ public class DevDictServiceImpl extends ServiceImpl<DevDictMapper, DevDict> impl
|
|||
}
|
||||
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.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fhs.core.trans.vo.TransPojo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
@ -29,7 +30,7 @@ import vip.xiaonuo.common.pojo.CommonEntity;
|
|||
@Getter
|
||||
@Setter
|
||||
@TableName("SYS_ORG")
|
||||
public class SysOrg extends CommonEntity {
|
||||
public class SysOrg extends CommonEntity implements TransPojo {
|
||||
|
||||
/** id */
|
||||
@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.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fhs.core.trans.vo.TransPojo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
@ -29,7 +30,7 @@ import vip.xiaonuo.common.pojo.CommonEntity;
|
|||
@Getter
|
||||
@Setter
|
||||
@TableName("SYS_POSITION")
|
||||
public class SysPosition extends CommonEntity {
|
||||
public class SysPosition extends CommonEntity implements TransPojo {
|
||||
|
||||
/** id */
|
||||
@ApiModelProperty(value = "id", position = 1)
|
||||
|
|
|
@ -41,7 +41,6 @@ public class SysSpaAddParam {
|
|||
|
||||
/** 别名 */
|
||||
@ApiModelProperty(value = "别名", required = true, position = 3)
|
||||
@NotBlank(message = "name不能为空")
|
||||
private String name;
|
||||
|
||||
/** 路径 */
|
||||
|
@ -51,12 +50,10 @@ public class SysSpaAddParam {
|
|||
|
||||
/** 组件 */
|
||||
@ApiModelProperty(value = "组件", required = true, position = 5)
|
||||
@NotBlank(message = "component不能为空")
|
||||
private String component;
|
||||
|
||||
/** 图标 */
|
||||
@ApiModelProperty(value = "图标", required = true, position = 6)
|
||||
@NotBlank(message = "icon不能为空")
|
||||
private String icon;
|
||||
|
||||
/** 排序码 */
|
||||
|
|
|
@ -46,7 +46,6 @@ public class SysSpaEditParam {
|
|||
|
||||
/** 别名 */
|
||||
@ApiModelProperty(value = "别名", required = true, position = 4)
|
||||
@NotBlank(message = "name不能为空")
|
||||
private String name;
|
||||
|
||||
/** 路径 */
|
||||
|
@ -56,12 +55,10 @@ public class SysSpaEditParam {
|
|||
|
||||
/** 组件 */
|
||||
@ApiModelProperty(value = "组件", required = true, position = 6)
|
||||
@NotBlank(message = "component不能为空")
|
||||
private String component;
|
||||
|
||||
/** 图标 */
|
||||
@ApiModelProperty(value = "图标", required = true, position = 7)
|
||||
@NotBlank(message = "icon不能为空")
|
||||
private String icon;
|
||||
|
||||
/** 排序码 */
|
||||
|
|
|
@ -28,6 +28,7 @@ import vip.xiaonuo.common.page.CommonPageRequest;
|
|||
import vip.xiaonuo.sys.core.enums.SysBuildInEnum;
|
||||
import vip.xiaonuo.sys.modular.resource.entity.SysSpa;
|
||||
import vip.xiaonuo.sys.modular.resource.enums.SysResourceCategoryEnum;
|
||||
import vip.xiaonuo.sys.modular.resource.enums.SysResourceMenuTypeEnum;
|
||||
import vip.xiaonuo.sys.modular.resource.mapper.SysSpaMapper;
|
||||
import vip.xiaonuo.sys.modular.resource.param.spa.SysSpaAddParam;
|
||||
import vip.xiaonuo.sys.modular.resource.param.spa.SysSpaEditParam;
|
||||
|
@ -66,6 +67,7 @@ public class SysSpaServiceImpl extends ServiceImpl<SysSpaMapper, SysSpa> impleme
|
|||
|
||||
@Override
|
||||
public void add(SysSpaAddParam sysSpaAddParam) {
|
||||
checkParam(sysSpaAddParam);
|
||||
SysSpa sysSpa = BeanUtil.toBean(sysSpaAddParam, SysSpa.class);
|
||||
boolean repeatTitle = this.count(new LambdaQueryWrapper<SysSpa>().eq(SysSpa::getCategory,
|
||||
SysResourceCategoryEnum.SPA.getValue()).eq(SysSpa::getTitle, sysSpa.getTitle())) > 0;
|
||||
|
@ -77,9 +79,30 @@ public class SysSpaServiceImpl extends ServiceImpl<SysSpaMapper, SysSpa> impleme
|
|||
this.save(sysSpa);
|
||||
}
|
||||
|
||||
@SuppressWarnings("all")
|
||||
private void checkParam(SysSpaAddParam sysSpaAddParam) {
|
||||
SysResourceMenuTypeEnum.validate(sysSpaAddParam.getMenuType());
|
||||
if(SysResourceMenuTypeEnum.MENU.getValue().equals(sysSpaAddParam.getMenuType())) {
|
||||
if(ObjectUtil.isEmpty(sysSpaAddParam.getName())) {
|
||||
throw new CommonException("name不能为空");
|
||||
}
|
||||
if(ObjectUtil.isEmpty(sysSpaAddParam.getComponent())) {
|
||||
throw new CommonException("component不能为空");
|
||||
}
|
||||
} else if(SysResourceMenuTypeEnum.IFRAME.getValue().equals(sysSpaAddParam.getMenuType()) ||
|
||||
SysResourceMenuTypeEnum.LINK.getValue().equals(sysSpaAddParam.getMenuType())) {
|
||||
sysSpaAddParam.setName(RandomUtil.randomNumbers(10));
|
||||
sysSpaAddParam.setComponent(null);
|
||||
} else {
|
||||
sysSpaAddParam.setName(null);
|
||||
sysSpaAddParam.setComponent(null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(SysSpaEditParam sysSpaEditParam) {
|
||||
SysSpa sysSpa = this.queryEntity(sysSpaEditParam.getId());
|
||||
checkParam(sysSpaEditParam);
|
||||
BeanUtil.copyProperties(sysSpaEditParam, sysSpa);
|
||||
boolean repeatTitle = this.count(new LambdaQueryWrapper<SysSpa>().eq(SysSpa::getCategory,
|
||||
SysResourceCategoryEnum.SPA.getValue()).eq(SysSpa::getTitle, sysSpa.getTitle())
|
||||
|
@ -90,6 +113,26 @@ public class SysSpaServiceImpl extends ServiceImpl<SysSpaMapper, SysSpa> impleme
|
|||
this.updateById(sysSpa);
|
||||
}
|
||||
|
||||
@SuppressWarnings("all")
|
||||
private void checkParam(SysSpaEditParam sysSpaEditParam) {
|
||||
SysResourceMenuTypeEnum.validate(sysSpaEditParam.getMenuType());
|
||||
if(SysResourceMenuTypeEnum.MENU.getValue().equals(sysSpaEditParam.getMenuType())) {
|
||||
if(ObjectUtil.isEmpty(sysSpaEditParam.getName())) {
|
||||
throw new CommonException("name不能为空");
|
||||
}
|
||||
if(ObjectUtil.isEmpty(sysSpaEditParam.getComponent())) {
|
||||
throw new CommonException("component不能为空");
|
||||
}
|
||||
} else if(SysResourceMenuTypeEnum.IFRAME.getValue().equals(sysSpaEditParam.getMenuType()) ||
|
||||
SysResourceMenuTypeEnum.LINK.getValue().equals(sysSpaEditParam.getMenuType())) {
|
||||
sysSpaEditParam.setName(RandomUtil.randomNumbers(10));
|
||||
sysSpaEditParam.setComponent(null);
|
||||
} else {
|
||||
sysSpaEditParam.setName(null);
|
||||
sysSpaEditParam.setComponent(null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delete(List<SysSpaIdParam> sysSpaIdParamList) {
|
||||
List<String> sysSpaIdList = CollStreamUtil.toList(sysSpaIdParamList, SysSpaIdParam::getId);
|
||||
|
|
|
@ -19,6 +19,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
|
|||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
@ -59,6 +60,7 @@ public class SysUserController {
|
|||
@Resource
|
||||
private SysUserService sysUserService;
|
||||
|
||||
|
||||
/**
|
||||
* 获取用户分页
|
||||
*
|
||||
|
@ -67,9 +69,8 @@ public class SysUserController {
|
|||
*/
|
||||
@ApiOperationSupport(order = 1)
|
||||
@ApiOperation("获取用户分页")
|
||||
@CommonWrapper(SysUserResultWrapperImpl.class)
|
||||
@GetMapping("/sys/user/page")
|
||||
public CommonResult<Page<SysUserResult>> page(SysUserPageParam sysUserPageParam) {
|
||||
public CommonResult<Page<SysUser>> page(SysUserPageParam 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.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
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 lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import vip.xiaonuo.common.handler.Sm4CbcTypeHandler;
|
||||
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;
|
||||
|
||||
|
@ -30,10 +37,11 @@ import java.util.Date;
|
|||
**/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("SYS_USER")
|
||||
public class SysUser extends CommonEntity {
|
||||
@TableName(value = "SYS_USER",autoResultMap = true)
|
||||
public class SysUser extends CommonEntity implements TransPojo {
|
||||
|
||||
/** id */
|
||||
@TableId
|
||||
@ApiModelProperty(value = "id", position = 1)
|
||||
private String id;
|
||||
|
||||
|
@ -67,6 +75,7 @@ public class SysUser extends CommonEntity {
|
|||
/** 性别 */
|
||||
@ApiModelProperty(value = "性别", position = 8)
|
||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
||||
@Trans(type= TransType.DICTIONARY,key = "GENDER")
|
||||
private String gender;
|
||||
|
||||
/** 年龄 */
|
||||
|
@ -106,7 +115,7 @@ public class SysUser extends CommonEntity {
|
|||
|
||||
/** 证件号码 */
|
||||
@ApiModelProperty(value = "证件号码", position = 16)
|
||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED,typeHandler = Sm4CbcTypeHandler.class)
|
||||
private String idCardNumber;
|
||||
|
||||
/** 文化程度 */
|
||||
|
@ -141,7 +150,7 @@ public class SysUser extends CommonEntity {
|
|||
|
||||
/** 手机 */
|
||||
@ApiModelProperty(value = "手机", position = 23)
|
||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED,typeHandler = Sm4CbcTypeHandler.class)
|
||||
private String phone;
|
||||
|
||||
/** 邮箱 */
|
||||
|
@ -166,7 +175,7 @@ public class SysUser extends CommonEntity {
|
|||
|
||||
/** 紧急联系人电话 */
|
||||
@ApiModelProperty(value = "紧急联系人电话", position = 28)
|
||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED,typeHandler = Sm4CbcTypeHandler.class)
|
||||
private String emergencyPhone;
|
||||
|
||||
/** 紧急联系人地址 */
|
||||
|
@ -187,11 +196,14 @@ public class SysUser extends CommonEntity {
|
|||
/** 组织id */
|
||||
@ApiModelProperty(value = "组织id", position = 32)
|
||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
||||
@Trans(type=TransType.SIMPLE,target = SysOrg.class,fields = "name",alias = "org",ref = "orgName")
|
||||
private String orgId;
|
||||
|
||||
|
||||
/** 职位id */
|
||||
@ApiModelProperty(value = "职位id", position = 33)
|
||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
||||
@Trans(type=TransType.SIMPLE,target = SysPosition.class,fields = "name",alias = "position",ref = "positionName")
|
||||
private String positionId;
|
||||
|
||||
/** 职级 */
|
||||
|
@ -202,6 +214,7 @@ public class SysUser extends CommonEntity {
|
|||
/** 主管id */
|
||||
@ApiModelProperty(value = "主管id", position = 35)
|
||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
||||
@Trans(type=TransType.SIMPLE,target = SysUser.class,fields = "name",alias = "director",ref = "directorName")
|
||||
private String directorId;
|
||||
|
||||
/** 兼任信息 */
|
||||
|
@ -253,4 +266,19 @@ public class SysUser extends CommonEntity {
|
|||
@ApiModelProperty(value = "扩展信息", position = 47)
|
||||
@TableField(insertStrategy = FieldStrategy.IGNORED, updateStrategy = FieldStrategy.IGNORED)
|
||||
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> {
|
||||
|
||||
/**
|
||||
* 获取用户分页列表
|
||||
*
|
||||
* @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">
|
||||
<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>
|
|
@ -44,7 +44,7 @@ public class SysUserExportResult {
|
|||
private String name;
|
||||
|
||||
/** 昵称 */
|
||||
@Excel(name = "姓名")
|
||||
@Excel(name = "昵称")
|
||||
private String nickname;
|
||||
|
||||
/** 性别 */
|
||||
|
|
|
@ -74,7 +74,7 @@ public interface SysUserService extends IService<SysUser> {
|
|||
* @author xuyuxiang
|
||||
* @date 2022/4/24 20:08
|
||||
*/
|
||||
Page<SysUserResult> page(SysUserPageParam sysUserPageParam);
|
||||
Page<SysUser> page(SysUserPageParam sysUserPageParam);
|
||||
|
||||
/**
|
||||
* 添加用户
|
||||
|
|
|
@ -43,12 +43,12 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|||
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.fhs.trans.service.impl.TransService;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import vip.xiaonuo.common.cache.CommonCacheOperator;
|
||||
import vip.xiaonuo.common.enums.CommonDeleteFlagEnum;
|
||||
import vip.xiaonuo.common.enums.CommonSortOrderEnum;
|
||||
import vip.xiaonuo.common.exception.CommonException;
|
||||
import vip.xiaonuo.common.page.CommonPageRequest;
|
||||
|
@ -114,6 +114,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||
@Resource
|
||||
private DevSmsApi devSmsApi;
|
||||
|
||||
@Resource
|
||||
private TransService transService;
|
||||
|
||||
@Resource
|
||||
private DevEmailApi devEmailApi;
|
||||
|
||||
|
@ -145,23 +148,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||
public SysLoginUser getUserById(String id) {
|
||||
SysUser sysUser = this.getById(id);
|
||||
if (ObjectUtil.isNotEmpty(sysUser)) {
|
||||
SysLoginUser sysLoginUser = BeanUtil.copyProperties(sysUser, SysLoginUser.class);
|
||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getOrgId())) {
|
||||
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;
|
||||
transService.transOne(sysUser);
|
||||
return BeanUtil.copyProperties(sysUser, SysLoginUser.class);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
@ -170,23 +158,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||
public SysLoginUser getUserByAccount(String account) {
|
||||
SysUser sysUser = this.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getAccount, account));
|
||||
if (ObjectUtil.isNotEmpty(sysUser)) {
|
||||
SysLoginUser sysLoginUser = BeanUtil.copyProperties(sysUser, SysLoginUser.class);
|
||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getOrgId())) {
|
||||
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;
|
||||
transService.transOne(sysUser);
|
||||
return BeanUtil.copyProperties(sysUser, SysLoginUser.class);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
@ -195,23 +168,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||
public SysLoginUser getUserByPhone(String phone) {
|
||||
SysUser sysUser = this.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhone, CommonCryptogramUtil.doSm4CbcEncrypt(phone)));
|
||||
if (ObjectUtil.isNotEmpty(sysUser)) {
|
||||
SysLoginUser sysLoginUser = BeanUtil.copyProperties(sysUser, SysLoginUser.class);
|
||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getOrgId())) {
|
||||
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;
|
||||
transService.transOne(sysUser);
|
||||
return BeanUtil.copyProperties(sysUser, SysLoginUser.class);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
@ -220,68 +178,39 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||
public SysLoginUser getUserByEmail(String email) {
|
||||
SysUser sysUser = this.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getEmail, email));
|
||||
if (ObjectUtil.isNotEmpty(sysUser)) {
|
||||
SysLoginUser sysLoginUser = BeanUtil.copyProperties(sysUser, SysLoginUser.class);
|
||||
if(ObjectUtil.isNotEmpty(sysLoginUser.getOrgId())) {
|
||||
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;
|
||||
transService.transOne(sysUser);
|
||||
return BeanUtil.copyProperties(sysUser, SysLoginUser.class);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<SysUserResult> page(SysUserPageParam sysUserPageParam) {
|
||||
QueryWrapper<SysUserResult> queryWrapper = new QueryWrapper<>();
|
||||
public Page<SysUser> page(SysUserPageParam sysUserPageParam) {
|
||||
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
|
||||
if (ObjectUtil.isNotEmpty(sysUserPageParam.getSearchKey())) {
|
||||
queryWrapper.and(q -> q.like("SYS_USER.ACCOUNT", sysUserPageParam.getSearchKey())
|
||||
.or().like("SYS_USER.NAME", sysUserPageParam.getSearchKey()));
|
||||
queryWrapper.and(q -> q.like("ACCOUNT", sysUserPageParam.getSearchKey())
|
||||
.or().like("NAME", sysUserPageParam.getSearchKey()));
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(sysUserPageParam.getOrgId())) {
|
||||
queryWrapper.eq("SYS_USER.ORG_ID", sysUserPageParam.getOrgId());
|
||||
queryWrapper.eq("ORG_ID", sysUserPageParam.getOrgId());
|
||||
}
|
||||
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())) {
|
||||
CommonSortOrderEnum.validate(sysUserPageParam.getSortOrder());
|
||||
queryWrapper.orderBy(true, sysUserPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
|
||||
StrUtil.toUnderlineCase("SYS_USER." + sysUserPageParam.getSortField()));
|
||||
StrUtil.toUnderlineCase(sysUserPageParam.getSortField()));
|
||||
} else {
|
||||
queryWrapper.orderByAsc("SYS_USER.SORT_CODE");
|
||||
queryWrapper.orderByAsc("SORT_CODE");
|
||||
}
|
||||
// 去除已删除的
|
||||
queryWrapper.ne("SYS_USER.DELETE_FLAG", CommonDeleteFlagEnum.DELETED.name());
|
||||
return this.baseMapper.page(CommonPageRequest.defaultPage(), queryWrapper);
|
||||
return this.baseMapper.selectPage(CommonPageRequest.defaultPage(), queryWrapper);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public void add(SysUserAddParam 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);
|
||||
if (ObjectUtil.isEmpty(sysUser.getAvatar())) {
|
||||
// 设置默认头像
|
||||
|
@ -324,18 +253,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||
public void edit(SysUserEditParam sysUserEditParam) {
|
||||
SysUser sysUser = this.queryEntity(sysUserEditParam.getId());
|
||||
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);
|
||||
this.updateById(sysUser);
|
||||
}
|
||||
|
@ -925,17 +842,19 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||
public void exportUser(SysUserExportParam sysUserExportParam, HttpServletResponse response) throws IOException {
|
||||
File tempFile = null;
|
||||
try {
|
||||
QueryWrapper<SysUserExportResult> queryWrapper = new QueryWrapper<>();
|
||||
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
|
||||
if (ObjectUtil.isNotEmpty(sysUserExportParam.getSearchKey())) {
|
||||
queryWrapper.and(q -> q.like("SYS_USER.ACCOUNT", sysUserExportParam.getSearchKey())
|
||||
.or().like("SYS_USER.NAME", sysUserExportParam.getSearchKey())
|
||||
.or().like("SYS_USER.PHONE", sysUserExportParam.getSearchKey()));
|
||||
queryWrapper.and(q -> q.like("ACCOUNT", sysUserExportParam.getSearchKey())
|
||||
.or().like("NAME", sysUserExportParam.getSearchKey())
|
||||
.or().like("PHONE", sysUserExportParam.getSearchKey()));
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(sysUserExportParam.getUserStatus())) {
|
||||
queryWrapper.eq("SYS_USER.STATUS", sysUserExportParam.getUserStatus());
|
||||
queryWrapper.eq("STATUS", sysUserExportParam.getUserStatus());
|
||||
}
|
||||
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 -> {
|
||||
return BeanUtil.copyProperties(sysUser, SysUserExportResult.class);
|
||||
}).peek(sysUserExportResult -> {
|
||||
if (ObjectUtil.isNotEmpty(sysUserExportResult.getAvatar())) {
|
||||
sysUserExportResult.setAvatarByte(ImgUtil.toBytes(ImgUtil.toImage(StrUtil
|
||||
.split(sysUserExportResult.getAvatar(), StrUtil.COMMA).get(1)), ImgUtil.IMAGE_TYPE_PNG));
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -25,7 +25,7 @@ spring.servlet.multipart.max-file-size=100MB
|
|||
spring.datasource.dynamic.datasource.master.driver-class-name=com.mysql.cj.jdbc.Driver
|
||||
spring.datasource.dynamic.datasource.master.url=jdbc:mysql://localhost:3306/snowy?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&useInformationSchema=true
|
||||
spring.datasource.dynamic.datasource.master.username=root
|
||||
spring.datasource.dynamic.datasource.master.password=12345678
|
||||
spring.datasource.dynamic.datasource.master.password=123456
|
||||
spring.datasource.dynamic.strict=true
|
||||
|
||||
# oracle
|
||||
|
@ -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-not-delete-value=NOT_DELETE
|
||||
mybatis-plus.mapper-locations=classpath*:vip/xiaonuo/**/mapping/*.xml
|
||||
|
||||
mybatis-plus.type-handlers-package=vip.xiaonuo.common.handler
|
||||
#########################################
|
||||
# sa-token configuration
|
||||
#########################################
|
||||
|
@ -120,6 +120,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.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
|
||||
#########################################
|
||||
|
|
Loading…
Reference in New Issue