update 替换BeanCopyUtil用法使用mapstruct

This commit is contained in:
Yjoioooo
2023-04-26 17:11:20 +08:00
parent 5777e8c5ad
commit 49a8e2fd8f
12 changed files with 183 additions and 16 deletions

View File

@@ -0,0 +1,32 @@
package org.dromara.system.domain.convert;
import org.dromara.system.api.domain.vo.RemoteDictDataVo;
import org.dromara.system.domain.vo.SysDictDataVo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* 字典数据转换器
* @author zhujie
*/
@Mapper
public interface SysDictDataVoConvert {
SysDictDataVoConvert INSTANCE = Mappers.getMapper(SysDictDataVoConvert.class);
/**
* SysDictDataVoToRemoteDictDataVo
* @param sysDictDataVo 待转换对象
* @return 转换后对象
*/
RemoteDictDataVo convert(SysDictDataVo sysDictDataVo);
/**
* SysDictDataVoListToRemoteDictDataVoList
* @param sysDictDataVos 待转换对象
* @return 转换后对象
*/
List<RemoteDictDataVo> convertList(List<SysDictDataVo> sysDictDataVos);
}

View File

@@ -0,0 +1,23 @@
package org.dromara.system.domain.convert;
import org.dromara.system.api.domain.bo.RemoteLogininforBo;
import org.dromara.system.domain.bo.SysLogininforBo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
/**
* 登录日志转换器
* @author zhujie
*/
@Mapper
public interface SysLogininforBoConvert {
SysLogininforBoConvert INSTANCE = Mappers.getMapper(SysLogininforBoConvert.class);
/**
* RemoteLogininforBoToSysLogininforBo
* @param remoteLogininforBo 待转换对象
* @return 转换后对象
*/
SysLogininforBo convert(RemoteLogininforBo remoteLogininforBo);
}

View File

@@ -0,0 +1,25 @@
package org.dromara.system.domain.convert;
import org.dromara.system.api.domain.bo.RemoteOperLogBo;
import org.dromara.system.domain.bo.SysOperLogBo;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;
/**
* 操作日志转换器
* @author zhujie
*/
@Mapper
public interface SysOperLogBoConvert {
SysOperLogBoConvert INSTANCE = Mappers.getMapper(SysOperLogBoConvert.class);
/**
* RemoteOperLogBoToSysOperLogBo
* @param remoteOperLogBo 待转换对象
* @return 转换后对象
*/
@Mapping(target = "businessTypes", ignore = true)
SysOperLogBo convert(RemoteOperLogBo remoteOperLogBo);
}

View File

@@ -0,0 +1,32 @@
package org.dromara.system.domain.convert;
import org.dromara.system.api.domain.vo.RemoteTenantVo;
import org.dromara.system.domain.vo.SysTenantVo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* 租户转换器
* @author zhujie
*/
@Mapper
public interface SysTenantVoConvert {
SysTenantVoConvert INSTANCE = Mappers.getMapper(SysTenantVoConvert.class);
/**
* SysTenantVoToRemoteTenantVo
* @param sysTenantVo 待转换对象
* @return 转换后对象
*/
RemoteTenantVo convert(SysTenantVo sysTenantVo);
/**
* SysTenantVoListToRemoteTenantVoList
* @param sysTenantVos 待转换对象
* @return 转换后对象
*/
List<RemoteTenantVo> convertList(List<SysTenantVo> sysTenantVos);
}

View File

@@ -0,0 +1,26 @@
package org.dromara.system.domain.convert;
import org.dromara.system.api.domain.bo.RemoteUserBo;
import org.dromara.system.domain.bo.SysUserBo;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;
/**
* 用户信息转换器
* @author zhujie
*/
@Mapper
public interface SysUserBoConvert {
SysUserBoConvert INSTANCE = Mappers.getMapper(SysUserBoConvert.class);
/**
* RemoteUserBoToSysUserBo
* @param remoteUserBo 待转换对象
* @return 转换后对象
*/
@Mapping(target = "roleIds", ignore = true)
@Mapping(target = "postIds", ignore = true)
SysUserBo convert(RemoteUserBo remoteUserBo);
}

View File

@@ -2,9 +2,9 @@ package org.dromara.system.dubbo;
import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.common.core.utils.BeanCopyUtils;
import org.dromara.system.api.RemoteDictService;
import org.dromara.system.api.domain.vo.RemoteDictDataVo;
import org.dromara.system.domain.convert.SysDictDataVoConvert;
import org.dromara.system.domain.vo.SysDictDataVo;
import org.dromara.system.service.ISysDictTypeService;
import org.springframework.stereotype.Service;
@@ -27,7 +27,7 @@ public class RemoteDictServiceImpl implements RemoteDictService {
@Override
public List<RemoteDictDataVo> selectDictDataByType(String dictType) {
List<SysDictDataVo> sysDictDataVos = sysDictTypeService.selectDictDataByType(dictType);
return BeanCopyUtils.copyList(sysDictDataVos, RemoteDictDataVo.class);
return SysDictDataVoConvert.INSTANCE.convertList(sysDictDataVos);
}
}

View File

@@ -2,12 +2,13 @@ package org.dromara.system.dubbo;
import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.common.core.utils.BeanCopyUtils;
import org.dromara.system.api.RemoteLogService;
import org.dromara.system.api.domain.bo.RemoteLogininforBo;
import org.dromara.system.api.domain.bo.RemoteOperLogBo;
import org.dromara.system.domain.bo.SysLogininforBo;
import org.dromara.system.domain.bo.SysOperLogBo;
import org.dromara.system.domain.convert.SysLogininforBoConvert;
import org.dromara.system.domain.convert.SysOperLogBoConvert;
import org.dromara.system.service.ISysLogininforService;
import org.dromara.system.service.ISysOperLogService;
import org.springframework.stereotype.Service;
@@ -27,13 +28,13 @@ public class RemoteLogServiceImpl implements RemoteLogService {
@Override
public void saveLog(RemoteOperLogBo remoteOperLogBo) {
SysOperLogBo sysOperLogBo = BeanCopyUtils.copy(remoteOperLogBo, SysOperLogBo.class);
SysOperLogBo sysOperLogBo = SysOperLogBoConvert.INSTANCE.convert(remoteOperLogBo);
operLogService.insertOperlog(sysOperLogBo);
}
@Override
public void saveLogininfor(RemoteLogininforBo remoteLogininforBo) {
SysLogininforBo sysLogininforBo = BeanCopyUtils.copy(remoteLogininforBo, SysLogininforBo.class);
SysLogininforBo sysLogininforBo = SysLogininforBoConvert.INSTANCE.convert(remoteLogininforBo);
logininforService.insertLogininfor(sysLogininforBo);
}
}

View File

@@ -2,10 +2,10 @@ package org.dromara.system.dubbo;
import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.common.core.utils.BeanCopyUtils;
import org.dromara.system.api.RemoteTenantService;
import org.dromara.system.api.domain.vo.RemoteTenantVo;
import org.dromara.system.domain.bo.SysTenantBo;
import org.dromara.system.domain.convert.SysTenantVoConvert;
import org.dromara.system.domain.vo.SysTenantVo;
import org.dromara.system.service.ISysTenantService;
import org.springframework.stereotype.Service;
@@ -28,7 +28,7 @@ public class RemoteTenantServiceImpl implements RemoteTenantService {
@Override
public RemoteTenantVo queryByTenantId(String tenantId) {
SysTenantVo sysTenantVo = tenantService.queryByTenantId(tenantId);
return BeanCopyUtils.copy(sysTenantVo, RemoteTenantVo.class);
return SysTenantVoConvert.INSTANCE.convert(sysTenantVo);
}
/**
@@ -37,7 +37,7 @@ public class RemoteTenantServiceImpl implements RemoteTenantService {
@Override
public List<RemoteTenantVo> queryList() {
List<SysTenantVo> sysTenantVos = tenantService.queryList(new SysTenantBo());
return BeanCopyUtils.copyList(sysTenantVos, RemoteTenantVo.class);
return SysTenantVoConvert.INSTANCE.convertList(sysTenantVos);
}
}

View File

@@ -8,7 +8,6 @@ import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.common.core.enums.UserStatus;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.exception.user.UserException;
import org.dromara.common.core.utils.BeanCopyUtils;
import org.dromara.system.api.RemoteUserService;
import org.dromara.system.api.domain.bo.RemoteUserBo;
import org.dromara.system.api.model.LoginUser;
@@ -16,6 +15,7 @@ import org.dromara.system.api.model.RoleDTO;
import org.dromara.system.api.model.XcxLoginUser;
import org.dromara.system.domain.SysUser;
import org.dromara.system.domain.bo.SysUserBo;
import org.dromara.system.domain.convert.SysUserBoConvert;
import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.mapper.SysUserMapper;
import org.dromara.system.service.ISysConfigService;
@@ -106,7 +106,7 @@ public class RemoteUserServiceImpl implements RemoteUserService {
@Override
public Boolean registerUserInfo(RemoteUserBo remoteUserBo) {
SysUserBo sysUserBo = BeanCopyUtils.copy(remoteUserBo, SysUserBo.class);
SysUserBo sysUserBo = SysUserBoConvert.INSTANCE.convert(remoteUserBo);
String username = sysUserBo.getUserName();
if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) {
throw new ServiceException("当前系统没有开启注册功能");