将 mall-spring-boot-starter-web 接入新的 system-service 服务

This commit is contained in:
YunaiV
2020-07-04 21:00:34 +08:00
parent c1ca5f7dc5
commit 301e2c5720
49 changed files with 382 additions and 631 deletions

View File

@@ -1,26 +0,0 @@
package cn.iocoder.mall.system.biz.bo.account;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 账号模块 - 账号信息 BO
*/
@Data
@Accessors(chain = true)
public class AccountBO {
/**
* 账号编号
*/
private Integer id;
/**
* 登陆账号
*/
private String username;
/**
* 登陆密码
*/
private String password;
}

View File

@@ -1,22 +0,0 @@
package cn.iocoder.mall.system.biz.bo.account;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 账号模块 - 用户名登陆 BO
*/
@Data
@Accessors(chain = true)
public class AccountUsernameAuthorizeBO {
/**
* 用户名
*/
private String username;
/**
* 密码
*/
private String password;
}

View File

@@ -1,40 +0,0 @@
package cn.iocoder.mall.system.biz.bo.admin;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* 管理员模块 - 账号信息 BO
*/
@Data
@Accessors(chain = true)
public class AdminBO {
/**
* 管理员编号
*/
private Integer id;
/**
* 账号编号
*/
private Integer accountId;
/**
* 真实名字
*/
private String name;
/**
* 部门编号
*/
private Integer departmentId;
/**
* 在职状态
*/
private Integer status;
/**
* 创建时间
*/
private Date createTime;
}

View File

@@ -1,32 +0,0 @@
package cn.iocoder.mall.system.biz.bo.ouath2;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* 认证模块 - 认证结果 BO
*/
@Data
@Accessors(chain = true)
public class OAuth2AuthenticateBO {
/**
* 访问令牌
*/
private String accessToken;
/**
* 刷新令牌
*/
private String refreshToken;
/**
* 账号编号
*/
private Integer accountId;
/**
* 过期时间
*/
private Date expiresTime;
}

View File

@@ -1,41 +0,0 @@
package cn.iocoder.mall.system.biz.bo.systemlog;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/** // TODO FROM 芋艿 to 2447007062最好加下字段的注释哈
* @author:mac
* @descriptio
* @create: 2020-5-12 204300
*/
@Data
@Accessors(chain = true)
public class AccessLogBO implements Serializable {
private String traceId;
private Integer accountId;
private String applicationName;
private String uri;
private String queryString;
private String method;
private String userAgent;
private String ip;
private Date startTime;
private Integer responseTime;
private Integer errorCode;
private String errorMessage;
}

View File

@@ -1,15 +0,0 @@
package cn.iocoder.mall.system.biz.bo.user;
import cn.iocoder.mall.system.biz.bo.ouath2.OAuth2AuthenticateBO;
import lombok.Data;
import lombok.experimental.Accessors;
@Data
@Accessors(chain = true)
public class UserAuthenticateBO {
private UserBO user;
private OAuth2AuthenticateBO token;
}

View File

@@ -1,35 +0,0 @@
package cn.iocoder.mall.system.biz.bo.user;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* User 模块 - User 信息 BO
*/
@Data
@Accessors(chain = true)
public class UserBO {
/**
* 用户编号
*/
private Integer id;
/**
* 昵称
*/
private String nickname;
/**
* 手机号
*/
private String mobile;
/**
* 头像
*/
private String avatar;
/**
* 用户状态 1 - 开启2 - 禁用
*/
private Integer status;
}

View File

@@ -1,18 +0,0 @@
package cn.iocoder.mall.system.biz.convert.account;
import cn.iocoder.mall.system.biz.bo.account.AccountBO;
import cn.iocoder.mall.system.biz.dataobject.account.AccountDO;
import cn.iocoder.mall.system.biz.dto.account.AccountCreateDTO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
@Mapper
public interface AccountConvert {
AccountConvert INSTANCE = Mappers.getMapper(AccountConvert.class);
AccountBO convert(AccountDO bean);
AccountDO convert(AccountCreateDTO bean);
}

View File

@@ -1,21 +0,0 @@
package cn.iocoder.mall.system.biz.convert.admin;
import cn.iocoder.common.framework.vo.PageResult;
import cn.iocoder.mall.system.biz.bo.admin.AdminBO;
import cn.iocoder.mall.system.biz.dataobject.admin.AdminDO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;
@Mapper
public interface AdminConvert {
AdminConvert INSTANCE = Mappers.getMapper(AdminConvert.class);
AdminBO convert(AdminDO bean);
@Mapping(source = "records", target = "list")
PageResult<AdminBO> convertPage(IPage<AdminDO> bean);
}

View File

@@ -1,17 +0,0 @@
package cn.iocoder.mall.system.biz.convert.oauth2;
import cn.iocoder.mall.system.biz.bo.ouath2.OAuth2AuthenticateBO;
import cn.iocoder.mall.system.biz.dataobject.oauth2.OAuth2AccessTokenDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;
@Mapper
public interface OAuth2Convert {
OAuth2Convert INSTANCE = Mappers.getMapper(OAuth2Convert.class);
@Mapping(source = "id", target = "accessToken")
OAuth2AuthenticateBO convert(OAuth2AccessTokenDO bean);
}

View File

@@ -1,27 +0,0 @@
package cn.iocoder.mall.system.biz.convert.systemlog;
import cn.iocoder.common.framework.vo.PageResult;
import cn.iocoder.mall.system.biz.bo.systemlog.AccessLogBO;
import cn.iocoder.mall.system.biz.dataobject.systemlog.AccessLogDO;
import cn.iocoder.mall.system.biz.dataobject.systemlog.ExceptionLogDO;
import cn.iocoder.mall.system.biz.dto.system.AccessLogAddDTO;
import cn.iocoder.mall.system.biz.dto.system.ExceptionLogAddDTO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;
@Mapper
public interface SystemLogConvert {
SystemLogConvert INSTANCE = Mappers.getMapper(SystemLogConvert.class);
AccessLogDO convert(AccessLogAddDTO bean);
ExceptionLogDO convert(ExceptionLogAddDTO bean);
@Mapping(source = "records", target = "list")
PageResult<AccessLogBO> convertPage(IPage<AccessLogDO> page);
AccessLogBO convert(AccessLogDO bean);
}

View File

@@ -1,25 +0,0 @@
package cn.iocoder.mall.system.biz.dao.system;
import cn.iocoder.mall.mybatis.query.QueryWrapperX;
import cn.iocoder.mall.system.biz.dataobject.systemlog.AccessLogDO;
import cn.iocoder.mall.system.biz.dto.system.AccessLogPageDTO;
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;
/**
* 访问日志
* @author:mac
* @descriptio
* @create: 2020-5-12 204300
*/
@Repository
public interface AccessLogMapper extends BaseMapper<AccessLogDO> {
default IPage<AccessLogDO> selectPage(AccessLogPageDTO accessLogPageDTO) {
return selectPage(new Page<>(accessLogPageDTO.getPageNo(), accessLogPageDTO.getPageSize()),
new QueryWrapperX<AccessLogDO>().eqIfPresent("account_id", accessLogPageDTO.getAccountId()));
}
}

View File

@@ -1,10 +0,0 @@
package cn.iocoder.mall.system.biz.dao.system;
import cn.iocoder.mall.system.biz.dataobject.systemlog.ExceptionLogDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
@Repository
public interface ExceptionLogMapper extends BaseMapper<ExceptionLogDO> {
}

View File

@@ -1,89 +0,0 @@
package cn.iocoder.mall.system.biz.dataobject.systemlog;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.mall.mybatis.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* 访问日志 DO
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("access_log")
public class AccessLogDO extends BaseDO {
/**
* 账号编号 - 空
*/
public static final Integer ACCOUNT_ID_NULL = 0;
/**
* 编号
*/
private Integer id;
/**
* 账号编号
*
* 空值 {@link #ACCOUNT_ID_NULL}
*/
private Integer accountId;
/**
* 链路追踪编号
*
* 一般来说通过链路追踪编号可以将访问日志错误日志链路追踪日志logger 打印日志等,结合在一起,从而进行排错。
*/
private String traceId;
/**
* 应用名
*
* 目前读取 `spring.application.name` 配置项
*/
private String applicationName;
/**
* 访问地址
*/
private String uri;
/**
* 参数
*/
private String queryString;
/**
* http 方法
*/
private String method;
/**
* userAgent
*/
private String userAgent;
/**
* ip
*/
private String ip;
/**
* 请求时间
*/
private Date startTime;
/**
* 响应时长 -- 毫秒级
*/
private Integer responseTime;
/**
* 错误码
*
* 目前的结果,是使用 {@link CommonResult#getCode()} 属性
*/
private Integer errorCode;
/**
* 错误提示
*
* 目前的结果,是使用 {@link CommonResult#getMessage()} 属性
*/
private String errorMessage;
}

View File

@@ -1,120 +0,0 @@
package cn.iocoder.mall.system.biz.dataobject.systemlog;
import cn.iocoder.mall.mybatis.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* 异常日志 DO
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("exception_log")
public class ExceptionLogDO extends BaseDO {
/**
* 账号编号 - 空
*/
public static final Integer ACCOUNT_ID_NULL = 0;
/**
* 编号
*/
private Integer id;
/**
* 账号编号
*
* 空值 {@link #ACCOUNT_ID_NULL}
*/
private Integer accountId;
/**
* 链路追踪编号
*
* 一般来说通过链路追踪编号可以将访问日志错误日志链路追踪日志logger 打印日志等,结合在一起,从而进行排错。
*/
private String traceId;
/**
* 应用名
*
* 目前读取 spring.application.name
*/
private String applicationName;
/**
* 访问地址
*/
private String uri;
/**
* 参数
*/
private String queryString;
/**
* http 方法
*/
private String method;
/**
* userAgent
*/
private String userAgent;
/**
* ip
*/
private String ip;
/**
* 异常发生时间
*/
private Date exceptionTime;
/**
* 异常名
*
* {@link Throwable#getClass()} 的类全名
*/
private String exceptionName;
/**
* 异常导致的消息
*
* {@link cn.iocoder.common.framework.util.ExceptionUtil#getMessage(Throwable)}
*/
private String exceptionMessage;
/**
* 异常导致的根消息
*
* {@link cn.iocoder.common.framework.util.ExceptionUtil#getRootCauseMessage(Throwable)}
*/
private String exceptionRootCauseMessage;
/**
* 异常的栈轨迹
*
* {@link cn.iocoder.common.framework.util.ExceptionUtil#getServiceException(Exception)}
*/
private String exceptionStackTrace;
/**
* 异常发生的类全名
*
* {@link StackTraceElement#getClassName()}
*/
private String exceptionClassName;
/**
* 异常发生的类文件
*
* {@link StackTraceElement#getFileName()}
*/
private String exceptionFileName;
/**
* 异常发生的方法名
*
* {@link StackTraceElement#getMethodName()}
*/
private String exceptionMethodName;
/**
* 异常发生的方法所在行
*
* {@link StackTraceElement#getLineNumber()}
*/
private Integer exceptionLineNumber;
}

View File

@@ -1,19 +0,0 @@
package cn.iocoder.mall.system.biz.service.account;
import cn.iocoder.mall.system.biz.bo.account.AccountBO;
import cn.iocoder.mall.system.biz.dto.account.AccountCreateDTO;
/**
* 账号模块 - Service 接口
*/
public interface AccountService {
AccountBO getByUsername(String username);
AccountBO getByMobile(String mobile);
boolean matchPassword(String rawPassword, String encodedPassword);
AccountBO create(AccountCreateDTO createDTO);
}

View File

@@ -1,49 +0,0 @@
package cn.iocoder.mall.system.biz.service.account;
import cn.iocoder.common.framework.enums.CommonStatusEnum;
import cn.iocoder.mall.system.biz.bo.account.AccountBO;
import cn.iocoder.mall.system.biz.convert.account.AccountConvert;
import cn.iocoder.mall.system.biz.dao.account.AccountMapper;
import cn.iocoder.mall.system.biz.dataobject.account.AccountDO;
import cn.iocoder.mall.system.biz.dto.account.AccountCreateDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.Objects;
@Service
public class AccountServiceImpl implements AccountService {
@Autowired
private AccountMapper accountMapper;
@Override
public AccountBO getByUsername(String username) {
AccountDO accountDO = accountMapper.selectByUsername(username);
return AccountConvert.INSTANCE.convert(accountDO);
}
@Override
public AccountBO getByMobile(String mobile) {
AccountDO accountDO = accountMapper.selectByMobile(mobile);
return AccountConvert.INSTANCE.convert(accountDO);
}
@Override
public boolean matchPassword(String rawPassword, String encodedPassword) {
return Objects.equals(rawPassword, encodedPassword);
}
@Override
public AccountBO create(AccountCreateDTO createDTO) {
// 插入
AccountDO accountDO = AccountConvert.INSTANCE.convert(createDTO);
accountDO.setStatus(CommonStatusEnum.ENABLE.getValue());
accountDO.setCreateTime(new Date());
accountMapper.insert(accountDO);
// 转换返回
return AccountConvert.INSTANCE.convert(accountDO);
}
}

View File

@@ -1,30 +0,0 @@
package cn.iocoder.mall.system.biz.service.admin;
import cn.iocoder.common.framework.vo.PageResult;
import cn.iocoder.mall.system.biz.bo.admin.AdminBO;
import cn.iocoder.mall.system.biz.dto.admin.AdminPageDTO;
/**
* 管理员模块 - Service 接口
*/
public interface AdminService {
/**
* 根据编号获得管理员信息
*
* @param id 编号
* @return 管理员
*/
AdminBO getAdmin(Integer id);
/**
* 获得账号编号获得管理员信息
*
* @param accountId 账号编号
* @return 管理员
*/
AdminBO getAdminByAccountId(Integer accountId);
PageResult<AdminBO> getAdminPage(AdminPageDTO pageDTO);
}

View File

@@ -1,19 +0,0 @@
package cn.iocoder.mall.system.biz.service.admin;
import cn.iocoder.common.framework.vo.PageResult;
import cn.iocoder.mall.system.biz.bo.admin.AdminBO;
import cn.iocoder.mall.system.biz.convert.admin.AdminConvert;
import cn.iocoder.mall.system.biz.dao.admin.AdminMapper;
import cn.iocoder.mall.system.biz.dto.admin.AdminPageDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class AdminServiceImpl implements AdminService {
@Override
public PageResult<AdminBO> getAdminPage(AdminPageDTO pageDTO) {
return AdminConvert.INSTANCE.convertPage(adminMapper.selectPage(pageDTO));
}
}

View File

@@ -1,17 +0,0 @@
package cn.iocoder.mall.system.biz.service.systemlog;
import cn.iocoder.common.framework.vo.PageResult;
import cn.iocoder.mall.system.biz.bo.systemlog.AccessLogBO;
import cn.iocoder.mall.system.biz.dto.system.AccessLogAddDTO;
import cn.iocoder.mall.system.biz.dto.system.AccessLogPageDTO;
import cn.iocoder.mall.system.biz.dto.system.ExceptionLogAddDTO;
public interface SystemLogService {
void addAccessLog(AccessLogAddDTO accessLogAddDTO);
void addExceptionLog(ExceptionLogAddDTO exceptionLogAddDTO);
PageResult<AccessLogBO> getAccessLogPage(AccessLogPageDTO accessLogPageDTO);
}

View File

@@ -1,54 +0,0 @@
package cn.iocoder.mall.system.biz.service.systemlog;
import cn.iocoder.common.framework.vo.PageResult;
import cn.iocoder.mall.system.biz.bo.systemlog.AccessLogBO;
import cn.iocoder.mall.system.biz.convert.systemlog.SystemLogConvert;
import cn.iocoder.mall.system.biz.dao.system.AccessLogMapper;
import cn.iocoder.mall.system.biz.dao.system.ExceptionLogMapper;
import cn.iocoder.mall.system.biz.dataobject.systemlog.AccessLogDO;
import cn.iocoder.mall.system.biz.dataobject.systemlog.ExceptionLogDO;
import cn.iocoder.mall.system.biz.dto.system.AccessLogAddDTO;
import cn.iocoder.mall.system.biz.dto.system.AccessLogPageDTO;
import cn.iocoder.mall.system.biz.dto.system.ExceptionLogAddDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
@Service
public class SystemLogServiceImpl implements SystemLogService {
@Autowired
private AccessLogMapper accessLogMapper;
@Autowired
private ExceptionLogMapper exceptionLogMapper;
@Override
public void addAccessLog(AccessLogAddDTO accessLogAddDTO) {
AccessLogDO logDO = SystemLogConvert.INSTANCE.convert(accessLogAddDTO);
if (logDO.getAccountId() == null) {
logDO.setAccountId(AccessLogDO.ACCOUNT_ID_NULL);
}
logDO.setCreateTime(new Date());
accessLogMapper.insert(logDO);
}
@Override
public void addExceptionLog(ExceptionLogAddDTO exceptionLogAddDTO) {
ExceptionLogDO logDO = SystemLogConvert.INSTANCE.convert(exceptionLogAddDTO);
if (logDO.getAccountId() == null) {
logDO.setAccountId(ExceptionLogDO.ACCOUNT_ID_NULL);
}
logDO.setCreateTime(new Date());
exceptionLogMapper.insert(logDO);
}
@Override
@SuppressWarnings("Duplicates")
public PageResult<AccessLogBO> getAccessLogPage(AccessLogPageDTO accessLogPageDTO) {
PageResult<AccessLogBO> accessLogPageBOPageResult = SystemLogConvert.INSTANCE.convertPage(
accessLogMapper.selectPage(accessLogPageDTO)); // TODO FROM 芋艿 to 2447007062可以考虑直接 return简洁 + IDEA 不告警;
return accessLogPageBOPageResult;
}
}

View File

@@ -1,13 +0,0 @@
package cn.iocoder.mall.system.rpc.api.systemlog;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.mall.system.rpc.request.systemlog.AccessLogAddRequest;
import cn.iocoder.mall.system.rpc.request.systemlog.ExceptionLogAddRequest;
public interface SystemLogRPC {
CommonResult<Boolean> addAccessLog(AccessLogAddRequest accessLogAddRequest);
CommonResult<Boolean> addExceptionLog(ExceptionLogAddRequest exceptionLogAddRequest);
}

View File

@@ -1,53 +0,0 @@
package cn.iocoder.mall.system.rpc.request.systemlog;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* 访问日志添加 Request
*/
@Data
@Accessors(chain = true)
public class AccessLogAddRequest implements Serializable {
/**
* 用户编号 - 空
*/
public static final Integer ACCOUNT_ID_NULL = 0;
/**
* 链路追踪编号
*/
private String traceId;
/**
* 账号编号
*/
private Integer accountId;
@NotNull(message = "应用名不能为空")
private String applicationName;
@NotNull(message = "访问地址不能为空")
private String uri;
@NotNull(message = "请求参数不能为空")
private String queryString;
@NotNull(message = "http 请求方法不能为空")
private String method;
@NotNull(message = "User-Agent 不能为空")
private String userAgent;
@NotNull(message = "ip 不能为空")
private String ip;
@NotNull(message = "请求时间不能为空")
private Date startTime;
@NotNull(message = "响应时长不能为空")
private Integer responseTime;
@NotNull(message = "错误码不能为空")
private Integer errorCode;
/**
* 错误提示
*/
private String errorMessage;
}

View File

@@ -1,56 +0,0 @@
package cn.iocoder.mall.system.rpc.request.systemlog;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* 异常日志添加 Request
*/
@Data
@Accessors(chain = true)
public class ExceptionLogAddRequest implements Serializable {
/**
* 账号编号
*/
private Integer accountId;
/**
* 链路编号
*/
private String traceId;
@NotNull(message = "应用名不能为空")
private String applicationName;
@NotNull(message = "访问地址不能为空")
private String uri;
@NotNull(message = "请求参数不能为空")
private String queryString;
@NotNull(message = "http 请求方法不能为空")
private String method;
@NotNull(message = "User-Agent 不能为空")
private String userAgent;
@NotNull(message = "ip 不能为空")
private String ip;
@NotNull(message = "异常时间不能为空")
private Date exceptionTime;
@NotNull(message = "异常名不能为空")
private String exceptionName;
@NotNull(message = "异常发生的类全名不能为空")
private String exceptionClassName;
@NotNull(message = "异常发生的类文件不能为空")
private String exceptionFileName;
@NotNull(message = "异常发生的方法名不能为空")
private String exceptionMethodName;
@NotNull(message = "异常发生的方法所在行不能为空")
private Integer exceptionLineNumber;
@NotNull(message = "异常的栈轨迹不能为空")
private String exceptionStackTrace;
@NotNull(message = "异常导致的根消息不能为空")
private String exceptionRootCauseMessage;
@NotNull(message = "异常导致的消息不能为空")
private String exceptionMessage;
}

View File

@@ -1,34 +0,0 @@
package cn.iocoder.mall.system.rpc.rpc.systemlog;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.mall.system.biz.dto.system.AccessLogAddDTO;
import cn.iocoder.mall.system.biz.dto.system.ExceptionLogAddDTO;
import cn.iocoder.mall.system.biz.service.systemlog.SystemLogService;
import cn.iocoder.mall.system.rpc.api.systemlog.SystemLogRPC;
import cn.iocoder.mall.system.rpc.convert.systemlog.SystemLogConvert;
import cn.iocoder.mall.system.rpc.request.systemlog.AccessLogAddRequest;
import cn.iocoder.mall.system.rpc.request.systemlog.ExceptionLogAddRequest;
import org.apache.dubbo.config.annotation.Service;
import org.springframework.beans.factory.annotation.Autowired;
@Service(version = "${dubbo.provider.SystemLogRPC.version}", validation = "true")
public class SystemLogRPCImpl implements SystemLogRPC {
@Autowired
private SystemLogService systemLogService;
@Override
public CommonResult<Boolean> addAccessLog(AccessLogAddRequest accessLogAddRequest) {
AccessLogAddDTO accessLogAddDTO = SystemLogConvert.INSTANCE.convert(accessLogAddRequest);
systemLogService.addAccessLog(accessLogAddDTO);
return CommonResult.success(true);
}
@Override
public CommonResult<Boolean> addExceptionLog(ExceptionLogAddRequest exceptionLogAddRequest) {
ExceptionLogAddDTO exceptionLogAddDTO = SystemLogConvert.INSTANCE.convert(exceptionLogAddRequest);
systemLogService.addExceptionLog(exceptionLogAddDTO);
return CommonResult.success(true);
}
}