错误码的 Starter 的初始化,完成
This commit is contained in:
@@ -1,31 +0,0 @@
|
||||
package cn.iocoder.mall.system.biz.bo.errorcode;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 错误码模块 - 错误码信息 BO
|
||||
* @author ding
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class ErrorCodeBO {
|
||||
/**
|
||||
* 错误码编号
|
||||
*/
|
||||
private Integer id;
|
||||
/**
|
||||
* 错误码编码
|
||||
*/
|
||||
private Integer code;
|
||||
/**
|
||||
* 错误码错误信息
|
||||
*/
|
||||
private String message;
|
||||
/**
|
||||
* 添加时间
|
||||
*/
|
||||
private Date createTime;
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
package cn.iocoder.mall.system.biz.config;
|
||||
|
||||
import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
|
||||
import com.baomidou.mybatisplus.core.injector.ISqlInjector;
|
||||
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
@Configuration
|
||||
@MapperScan("cn.iocoder.mall.system.biz.dao") // 扫描对应的 Mapper 接口
|
||||
@EnableTransactionManagement(proxyTargetClass = true) // 启动事务管理。为什么使用 proxyTargetClass 参数,参见 https://blog.csdn.net/huang_550/article/details/76492600
|
||||
public class DatabaseConfiguration {
|
||||
|
||||
// 数据库连接池 Druid
|
||||
|
||||
@Bean
|
||||
public ISqlInjector sqlInjector() {
|
||||
return new DefaultSqlInjector(); // MyBatis Plus 逻辑删除
|
||||
}
|
||||
|
||||
@Bean
|
||||
public PaginationInterceptor paginationInterceptor() {
|
||||
return new PaginationInterceptor(); // MyBatis Plus 分页插件
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
package cn.iocoder.mall.system.biz.config;
|
||||
|
||||
import cn.iocoder.common.framework.util.ServiceExceptionUtil;
|
||||
import cn.iocoder.mall.system.biz.enums.SystemErrorCodeEnum;
|
||||
import cn.iocoder.mall.system.biz.service.errorcode.ErrorCodeService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.event.EventListener;
|
||||
|
||||
@Configuration
|
||||
public class ServiceExceptionConfiguration {
|
||||
|
||||
// TODO FROM 芋艿 to 鱿鱼须:这块的实现,微信一起沟通下哈。大体是说,要调用 RPC 接口,不然别的模块无法使用哟。最终,我们是要做成 starter,提供给各个模块用。
|
||||
@Autowired
|
||||
private ErrorCodeService errorCodeService;
|
||||
|
||||
@EventListener(ApplicationReadyEvent.class) // 可参考 https://www.cnblogs.com/ssslinppp/p/7607509.html
|
||||
public void initMessages() {
|
||||
// TODO FROM 芋艿 to 芋艿:暂时注释掉,有问题的。
|
||||
// errorCodeService.deleteSyStemErrorCode(SystemErrorCodeEnum.ADMIN_NOT_FOUND.getGroup());
|
||||
// errorCodeService.addSystemErrorCodeList(SystemErrorCodeEnum.values());
|
||||
for (SystemErrorCodeEnum item : SystemErrorCodeEnum.values()) {
|
||||
ServiceExceptionUtil.put(item.getCode(), item.getMessage());
|
||||
}
|
||||
// TODO FROM 芋艿 to 芋艿:暂时注释掉,有问题的。
|
||||
// for (ErrorCodeBO bo : errorCodeService.getErrorCodeByGroup(SystemErrorCodeEnum.ADMIN_NOT_FOUND.getGroup())) {
|
||||
// ServiceExceptionUtil.put(bo.getCode(),bo.getMessage());
|
||||
// }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
package cn.iocoder.mall.system.biz.convert.errorcode;
|
||||
|
||||
import cn.iocoder.common.framework.vo.PageResult;
|
||||
import cn.iocoder.mall.system.biz.bo.errorcode.ErrorCodeBO;
|
||||
import cn.iocoder.mall.system.biz.dataobject.errorcode.ErrorCodeDO;
|
||||
import cn.iocoder.mall.system.biz.dto.errorcode.ErrorCodeAddDTO;
|
||||
import cn.iocoder.mall.system.biz.dto.errorcode.ErrorCodeDTO;
|
||||
import cn.iocoder.mall.system.biz.dto.errorcode.ErrorCodeUpdateDTO;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.mapstruct.factory.Mappers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author ding
|
||||
*/
|
||||
@Mapper
|
||||
public interface ErrorCodeConvert {
|
||||
|
||||
ErrorCodeConvert INSTANCE = Mappers.getMapper(ErrorCodeConvert.class);
|
||||
|
||||
ErrorCodeDO convert(ErrorCodeDTO bean);
|
||||
|
||||
ErrorCodeBO convert(ErrorCodeDO bean);
|
||||
|
||||
List<ErrorCodeBO> convertList(List<ErrorCodeDO> beans);
|
||||
|
||||
@Mapping(source = "records", target = "list")
|
||||
PageResult<ErrorCodeBO> convertPage(IPage<ErrorCodeDO> page);
|
||||
|
||||
ErrorCodeDO convert(ErrorCodeAddDTO bean);
|
||||
|
||||
ErrorCodeDO convert(ErrorCodeUpdateDTO bean);
|
||||
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
package cn.iocoder.mall.system.biz.dao.errorcode;
|
||||
|
||||
import cn.iocoder.mall.mybatis.core.query.QueryWrapperX;
|
||||
import cn.iocoder.mall.system.biz.dataobject.authorization.RoleDO;
|
||||
import cn.iocoder.mall.system.biz.dataobject.authorization.RoleResourceDO;
|
||||
import cn.iocoder.mall.system.biz.dataobject.errorcode.ErrorCodeDO;
|
||||
import cn.iocoder.mall.system.biz.dto.authorization.RolePageDTO;
|
||||
import cn.iocoder.mall.system.biz.dto.errorcode.ErrorCodePageDTO;
|
||||
import cn.iocoder.mall.system.biz.enums.SystemErrorCodeEnum;
|
||||
import cn.iocoder.mall.system.biz.enums.errorcode.ErrorCodeTypeEnum;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author ding
|
||||
*/
|
||||
@Repository
|
||||
public interface ErrorCodeMapper extends BaseMapper<ErrorCodeDO> {
|
||||
|
||||
default ErrorCodeDO selectByCode(Integer code){
|
||||
return selectOne(new QueryWrapperX<ErrorCodeDO>().eqIfPresent("code", code));
|
||||
}
|
||||
|
||||
default IPage<ErrorCodeDO> selectPage(ErrorCodePageDTO errorCodePageDTO) {
|
||||
return selectPage(new Page<>(errorCodePageDTO.getPageNo(), errorCodePageDTO.getPageSize()),
|
||||
new QueryWrapperX<ErrorCodeDO>().likeIfPresent("message", errorCodePageDTO.getMessage()));
|
||||
}
|
||||
|
||||
default List<ErrorCodeDO> selectListByIds(Collection<Integer> ids) {
|
||||
return selectList(new QueryWrapperX<ErrorCodeDO>().inIfPresent("id", ids));
|
||||
}
|
||||
|
||||
default List<ErrorCodeDO> selectByGroup(Integer group) {
|
||||
return selectList(new QueryWrapperX<ErrorCodeDO>().eqIfPresent("group", group));
|
||||
}
|
||||
|
||||
|
||||
default int deleteSyStemErrorCode(int group){
|
||||
return delete(new QueryWrapper<ErrorCodeDO>().eq("group", group));
|
||||
}
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
package cn.iocoder.mall.system.biz.dto.errorcode;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 角色模块 - 添加角色 DTO
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class ErrorCodeAddDTO {
|
||||
|
||||
@NotNull(message = "错误码编码")
|
||||
private Integer code;
|
||||
|
||||
@NotEmpty(message = "错误码错误信息")
|
||||
private String message;
|
||||
|
||||
@NotNull(message = "错误码分组id")
|
||||
private Integer group;
|
||||
|
||||
/**
|
||||
* 错误码备注
|
||||
*/
|
||||
private String remark;
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
package cn.iocoder.mall.system.biz.dto.errorcode;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* @author ding
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class ErrorCodeDTO {
|
||||
/**
|
||||
* 错误码编号
|
||||
*/
|
||||
private Integer id;
|
||||
/**
|
||||
* 错误码编码
|
||||
*/
|
||||
private Integer code;
|
||||
/**
|
||||
* 错误码错误信息
|
||||
*/
|
||||
private String message;
|
||||
/**
|
||||
* 错误码类型
|
||||
*/
|
||||
private Integer type;
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
package cn.iocoder.mall.system.biz.dto.errorcode;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 只可以删除自定义错误码
|
||||
* @author ding
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class ErrorCodeDeleteDTO {
|
||||
@NotNull(message = "错误码编号不能为空")
|
||||
private Integer id;
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
package cn.iocoder.mall.system.biz.dto.errorcode;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* todo 考虑是否删除
|
||||
* @author ding
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class ErrorCodeGetListDTO {
|
||||
/**
|
||||
* 错误码编号数组
|
||||
*
|
||||
* 如果传入空,则不进行错误码编号的过滤
|
||||
*/
|
||||
private Collection<Integer> ids;
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
package cn.iocoder.mall.system.biz.dto.errorcode;
|
||||
|
||||
import cn.iocoder.common.framework.vo.PageParam;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author ding
|
||||
*/
|
||||
@Data
|
||||
public class ErrorCodePageDTO extends PageParam {
|
||||
/**
|
||||
* 错误码信息
|
||||
*/
|
||||
private String message;
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
package cn.iocoder.mall.system.biz.dto.errorcode;
|
||||
|
||||
import cn.iocoder.mall.system.biz.enums.errorcode.ErrorCodeTypeEnum;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* @author ding
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class ErrorCodeUpdateDTO {
|
||||
|
||||
// TODO FROM 芋艿 to 鱿鱼丝:必要的参数校验噢
|
||||
@NotNull(message = "错误码id不能为空")
|
||||
private Integer id;
|
||||
|
||||
@NotNull(message = "错误码编码不能为空")
|
||||
private Integer code;
|
||||
/**
|
||||
* 错误码错误信息
|
||||
*/
|
||||
private String message;
|
||||
/**
|
||||
* 错误码类型 {@link ErrorCodeTypeEnum}
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 错误码分组
|
||||
*/
|
||||
private Integer group;
|
||||
|
||||
/**
|
||||
* 错误码备注
|
||||
*/
|
||||
private String remark;
|
||||
}
|
||||
@@ -1,81 +0,0 @@
|
||||
package cn.iocoder.mall.system.biz.service.errorcode;
|
||||
|
||||
import cn.iocoder.common.framework.util.ServiceExceptionUtil;
|
||||
import cn.iocoder.common.framework.vo.PageResult;
|
||||
import cn.iocoder.mall.system.biz.bo.errorcode.ErrorCodeBO;
|
||||
import cn.iocoder.mall.system.biz.dataobject.errorcode.ErrorCodeDO;
|
||||
import cn.iocoder.mall.system.biz.dto.errorcode.*;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author ding
|
||||
*/
|
||||
public interface ErrorCodeService extends IService<ErrorCodeDO>{
|
||||
/**
|
||||
* 根据code查询错误码
|
||||
* @param code code
|
||||
* @return 错误码信息
|
||||
*/
|
||||
ErrorCodeBO getErrorCode(Integer code);
|
||||
|
||||
/**
|
||||
* 从db取出错误码列表数据
|
||||
* @return db错误码列表
|
||||
*/
|
||||
List<ErrorCodeBO> getErrorCodeList(ErrorCodeGetListDTO errorCodeGetListDTO);
|
||||
|
||||
/**
|
||||
* 取出所有错误码列表数据
|
||||
* @param group 分组标示
|
||||
* @return 所有错误码列表
|
||||
*/
|
||||
List<ErrorCodeBO> getErrorCodeByGroup(Integer group);
|
||||
|
||||
/**
|
||||
* 分页取出所有错误码列表数据
|
||||
* @param pageDTO 分页数据
|
||||
* @return 错误码列表
|
||||
*/
|
||||
PageResult<ErrorCodeBO> getErrorCodePage(ErrorCodePageDTO pageDTO);
|
||||
|
||||
/**
|
||||
* 新增
|
||||
* @param errorCodeAddDTO 错误码信息,默认类型为自定义错误码
|
||||
* @return
|
||||
*/
|
||||
Integer addErrorCode(ErrorCodeAddDTO errorCodeAddDTO);
|
||||
|
||||
/**
|
||||
* 批量添加错误码信息
|
||||
* @param list 错误码集合
|
||||
* @return
|
||||
*/
|
||||
Boolean addErrorCodeList(List<ErrorCodeAddDTO> list);
|
||||
|
||||
/**
|
||||
* 批量添加错误码信息,项目启动时初始化错误码信息。
|
||||
* @param enumerable 错误码枚举类
|
||||
* @return 是否成功
|
||||
*/
|
||||
Boolean addSystemErrorCodeList(ServiceExceptionUtil.Enumerable[] enumerable);
|
||||
|
||||
/**
|
||||
* 更新错误码,系统内置错误码是不允许更新
|
||||
* @param errorCodeUpdateDTO 错误码信息
|
||||
*/
|
||||
void updateErrorCode(ErrorCodeUpdateDTO errorCodeUpdateDTO);
|
||||
|
||||
/**
|
||||
* 删除错误码
|
||||
* @param errorCodeDeleteDTO 只允许删除自定义错误码
|
||||
*/
|
||||
void deleteErrorCode(ErrorCodeDeleteDTO errorCodeDeleteDTO);
|
||||
|
||||
/**
|
||||
* 删除分组下的错误码,只提供给服务初始化时候
|
||||
* @param group 分组
|
||||
*/
|
||||
void deleteSyStemErrorCode(int group);
|
||||
}
|
||||
@@ -1,155 +0,0 @@
|
||||
package cn.iocoder.mall.system.biz.service.errorcode;
|
||||
|
||||
import cn.iocoder.common.framework.util.ServiceExceptionUtil;
|
||||
import cn.iocoder.common.framework.vo.PageResult;
|
||||
import cn.iocoder.mall.mybatis.core.enums.DeletedStatusEnum;
|
||||
import cn.iocoder.mall.system.biz.bo.errorcode.ErrorCodeBO;
|
||||
import cn.iocoder.mall.system.biz.convert.errorcode.ErrorCodeConvert;
|
||||
import cn.iocoder.mall.system.biz.dao.errorcode.ErrorCodeMapper;
|
||||
import cn.iocoder.mall.system.biz.dataobject.errorcode.ErrorCodeDO;
|
||||
import cn.iocoder.mall.system.biz.dto.errorcode.*;
|
||||
import cn.iocoder.mall.system.biz.enums.SystemErrorCodeEnum;
|
||||
import cn.iocoder.mall.system.biz.enums.errorcode.ErrorCodeTypeEnum;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author ding
|
||||
*/
|
||||
@Service
|
||||
public class ErrorCodeServiceImpl extends ServiceImpl<ErrorCodeMapper, ErrorCodeDO> implements ErrorCodeService {
|
||||
|
||||
@Autowired
|
||||
private ErrorCodeMapper errorCodeMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public ErrorCodeBO getErrorCode(Integer code) {
|
||||
return ErrorCodeConvert.INSTANCE.convert(errorCodeMapper.selectByCode(code));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ErrorCodeBO> getErrorCodeList(ErrorCodeGetListDTO errorCodeGetListDTO) {
|
||||
return ErrorCodeConvert.INSTANCE.convertList(errorCodeMapper.selectListByIds(errorCodeGetListDTO.getIds()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ErrorCodeBO> getErrorCodeByGroup(Integer group) {
|
||||
List<ErrorCodeDO> list = errorCodeMapper.selectByGroup(group);
|
||||
// TODO FROM 芋艿 to 鱿鱼丝:这块微信交流一波哈。
|
||||
return ErrorCodeConvert.INSTANCE.convertList(list);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public PageResult<ErrorCodeBO> getErrorCodePage(ErrorCodePageDTO pageDTO) {
|
||||
IPage<ErrorCodeDO> list = errorCodeMapper.selectPage(pageDTO);
|
||||
return ErrorCodeConvert.INSTANCE.convertPage(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer addErrorCode(ErrorCodeAddDTO errorCodeAddDTO) {
|
||||
// 校验错误码
|
||||
checkDuplicateErrorCode(errorCodeAddDTO.getCode(), null);
|
||||
// 保存到数据库
|
||||
ErrorCodeDO errorCode = ErrorCodeConvert.INSTANCE.convert(errorCodeAddDTO);
|
||||
errorCode.setCreateTime(new Date());
|
||||
errorCode.setDeleted(DeletedStatusEnum.DELETED_NO.getValue());
|
||||
errorCodeMapper.insert(errorCode);
|
||||
// TODO 插入操作日志
|
||||
// 返回成功
|
||||
return errorCode.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean addErrorCodeList(List<ErrorCodeAddDTO> list) {
|
||||
List<ErrorCodeDO> doList = new ArrayList<>();
|
||||
for (ErrorCodeAddDTO errorCodeAddDTO:list
|
||||
) {
|
||||
// 校验错误码
|
||||
checkDuplicateErrorCode(errorCodeAddDTO.getCode(), null);
|
||||
ErrorCodeDO errorCode = ErrorCodeConvert.INSTANCE.convert(errorCodeAddDTO);
|
||||
errorCode.setCreateTime(new Date());
|
||||
errorCode.setDeleted(DeletedStatusEnum.DELETED_NO.getValue());
|
||||
doList.add(errorCode);
|
||||
}
|
||||
// TODO 插入操作日志
|
||||
return this.saveBatch(doList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean addSystemErrorCodeList(ServiceExceptionUtil.Enumerable[] enumerable) {
|
||||
List<ErrorCodeDO> doList = new ArrayList<>();
|
||||
for (ServiceExceptionUtil.Enumerable errorCodeEnum : enumerable){
|
||||
ErrorCodeDO errorCode = new ErrorCodeDO().setCode(errorCodeEnum.getCode()).
|
||||
setMessage(errorCodeEnum.getMessage()).setType(ErrorCodeTypeEnum.SYSTEM.getType())
|
||||
.setGroup(errorCodeEnum.getGroup());
|
||||
errorCode.setCreateTime(new Date());
|
||||
errorCode.setDeleted(DeletedStatusEnum.DELETED_NO.getValue());
|
||||
doList.add(errorCode);
|
||||
}
|
||||
// TODO 插入操作日志
|
||||
return this.saveBatch(doList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateErrorCode(ErrorCodeUpdateDTO errorCodeUpdateDTO) {
|
||||
// 校验错误码是否存在
|
||||
ErrorCodeDO errorCodeDO = errorCodeMapper.selectByCode(errorCodeUpdateDTO.getCode());
|
||||
if (errorCodeDO == null) {
|
||||
throw ServiceExceptionUtil.exception(SystemErrorCodeEnum.ERROR_CODE_NOT_EXISTS);
|
||||
}
|
||||
// 内置错误码,写死在枚举类中,不允许修改
|
||||
if (ErrorCodeTypeEnum.SYSTEM.getType().equals(errorCodeDO.getType())) {
|
||||
throw ServiceExceptionUtil.exception(SystemErrorCodeEnum.ERROR_CAN_NOT_UPDATE_SYSTEM_TYPE_ERROR);
|
||||
}
|
||||
// 校验角色的唯一字段是否重复
|
||||
checkDuplicateErrorCode(errorCodeDO.getCode(), errorCodeDO.getId());
|
||||
// 更新到数据库
|
||||
ErrorCodeDO updateRole = ErrorCodeConvert.INSTANCE.convert(errorCodeUpdateDTO);
|
||||
errorCodeMapper.updateById(updateRole);
|
||||
// TODO 插入操作日志
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteErrorCode(ErrorCodeDeleteDTO errorCodeDeleteDTO) {
|
||||
// 校验错误码是否存在
|
||||
ErrorCodeDO errorCodeDO = errorCodeMapper.selectById(errorCodeDeleteDTO.getId());
|
||||
if (errorCodeDO == null) {
|
||||
throw ServiceExceptionUtil.exception(SystemErrorCodeEnum.ERROR_CODE_NOT_EXISTS);
|
||||
}
|
||||
// 内置错误码,不允许删除
|
||||
if (ErrorCodeTypeEnum.SYSTEM.getType().equals(errorCodeDO.getType())) {
|
||||
throw ServiceExceptionUtil.exception(SystemErrorCodeEnum.ERROR_CAN_NOT_UPDATE_SYSTEM_TYPE_ERROR);
|
||||
}
|
||||
// 更新到数据库,标记删除
|
||||
errorCodeMapper.deleteById(errorCodeDO.getId());
|
||||
ServiceExceptionUtil.delete(errorCodeDO.getCode(),errorCodeDO.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteSyStemErrorCode(int group) {
|
||||
errorCodeMapper.deleteSyStemErrorCode(group);
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验错误码的唯一字段是否重复
|
||||
*
|
||||
* 是否存在相同编码的错误码
|
||||
*
|
||||
* @param code 错误码编码
|
||||
* @param id 错误码编号
|
||||
*/
|
||||
private void checkDuplicateErrorCode(Integer code, Integer id) {
|
||||
ErrorCodeDO errorCodeDO = errorCodeMapper.selectByCode(code);
|
||||
if (errorCodeDO != null && !errorCodeDO.getId().equals(id)) {
|
||||
throw ServiceExceptionUtil.exception(SystemErrorCodeEnum.ERROR_CODE_DUPLICATE, errorCodeDO.getCode());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user