Commit acd9a71d authored by 杨钧's avatar 杨钧

客服系统增加记录操作日志注解

parent 7ff74ee3
package cn.quantgroup.customer.aop; package cn.quantgroup.customer.aop;
import cn.quantgroup.customer.entity.User; import cn.quantgroup.customer.entity.OperateLogModel;
import cn.quantgroup.customer.model.user.OperateLogModel; import cn.quantgroup.customer.service.IOperateLogService;
import cn.quantgroup.customer.service.IKaService;
import cn.quantgroup.customer.util.DateUtil; import cn.quantgroup.customer.util.DateUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -13,13 +12,6 @@ import org.aspectj.lang.annotation.Aspect; ...@@ -13,13 +12,6 @@ import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut; import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature; import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.expression.Expression;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.security.authentication.AbstractAuthenticationToken;
import org.springframework.security.authentication.AnonymousAuthenticationToken;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.lang.reflect.Method; import java.lang.reflect.Method;
...@@ -35,9 +27,9 @@ import java.util.Objects; ...@@ -35,9 +27,9 @@ import java.util.Objects;
@Component @Component
@Slf4j @Slf4j
public class OperateLogAspect { public class OperateLogAspect {
@Autowired
private IKaService kaService;
@Autowired
private IOperateLogService operateLogService;
@Pointcut("@annotation(cn.quantgroup.customer.aop.OperateLog)") @Pointcut("@annotation(cn.quantgroup.customer.aop.OperateLog)")
public void operateLog() { public void operateLog() {
...@@ -100,10 +92,10 @@ public class OperateLogAspect { ...@@ -100,10 +92,10 @@ public class OperateLogAspect {
.moduleName(moduleName) .moduleName(moduleName)
.request(reqStrBuffer.toString()) .request(reqStrBuffer.toString())
.response(String.valueOf(result)) .response(String.valueOf(result))
.createAt(DateUtil.getCurrentTimestamp()) .createdAt(DateUtil.getCurrentTimestamp())
.build(); .build();
kaService.saveOperateLog(model); operateLogService.saveOperateLog(model);
} }
......
package cn.quantgroup.customer.entity;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import javax.persistence.*;
import java.sql.Timestamp;
/**
* @author yangjun
* @Date 2020/4/13 17:37
* @Desc
* @Update
*/
@Entity
@Table(name = "user")
@ToString
@Builder
public class OperateLogModel {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "user_no")
private String userNo;
@Column(name = "user_name")
private String userName;
@Column(name = "module")
private String module;
@Column(name = "module_name")
private String moduleName;
@Column(name = "request")
private String request;
@Column(name = "response")
private String response;
@Column(name = "created_at")
private Timestamp createdAt;
public OperateLogModel() {
}
public String getUserNo() {
return userNo;
}
public void setUserNo(String userNo) {
this.userNo = userNo;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getModule() {
return module;
}
public void setModule(String module) {
this.module = module;
}
public String getModuleName() {
return moduleName;
}
public void setModuleName(String moduleName) {
this.moduleName = moduleName;
}
public String getRequest() {
return request;
}
public void setRequest(String request) {
this.request = request;
}
public String getResponse() {
return response;
}
public void setResponse(String response) {
this.response = response;
}
public Timestamp getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Timestamp createdAt) {
this.createdAt = createdAt;
}
}
package cn.quantgroup.customer.model.order;
import lombok.Data;
import java.math.BigDecimal;
import java.sql.Timestamp;
/**
* @author yangjun
* @Date 2020/4/13 17:37
* @Desc
* @Update
*/
@Data
public class OperateLog {
private Timestamp createAt;
private String name;
private String opName;
private String remark;
private String account;
}
package cn.quantgroup.customer.model.user;
import lombok.Builder;
import lombok.Data;
import java.sql.Timestamp;
/**
* @author yangjun
* @Date 2020/4/14 18:51
* @Desc
* @Update
*/
@Data
@Builder
public class OperateLogModel {
private String userNo;
private String userName;
private String module;
private String moduleName;
private String request;
private String response;
private Timestamp createAt;
}
package cn.quantgroup.customer.repo;
import cn.quantgroup.customer.entity.OperateLogModel;
import org.springframework.data.jpa.repository.JpaRepository;
public interface OperateLogRepo extends JpaRepository<OperateLogModel, Long> {
}
...@@ -4,7 +4,6 @@ import cn.quantgroup.customer.model.kaordermapping.ApplyRequestHistory; ...@@ -4,7 +4,6 @@ import cn.quantgroup.customer.model.kaordermapping.ApplyRequestHistory;
import cn.quantgroup.customer.model.kaordermapping.ChannelConfigurationResult; import cn.quantgroup.customer.model.kaordermapping.ChannelConfigurationResult;
import cn.quantgroup.customer.model.kaordermapping.LoanOrderMapping; import cn.quantgroup.customer.model.kaordermapping.LoanOrderMapping;
import cn.quantgroup.customer.model.order.CallbackRecordList; import cn.quantgroup.customer.model.order.CallbackRecordList;
import cn.quantgroup.customer.model.user.OperateLogModel;
import cn.quantgroup.customer.rest.param.ordermapping.OrderQueryParam; import cn.quantgroup.customer.rest.param.ordermapping.OrderQueryParam;
import cn.quantgroup.customer.rest.vo.JsonResult; import cn.quantgroup.customer.rest.vo.JsonResult;
...@@ -47,9 +46,4 @@ public interface IKaService { ...@@ -47,9 +46,4 @@ public interface IKaService {
*/ */
JsonResult<ApplyRequestHistory> queryLatestChannelRequestFlows(String applyNo, Long channelId); JsonResult<ApplyRequestHistory> queryLatestChannelRequestFlows(String applyNo, Long channelId);
/**
* 保存操作记录
* @param model
*/
void saveOperateLog(OperateLogModel model);
} }
package cn.quantgroup.customer.service;
import cn.quantgroup.customer.entity.OperateLogModel;
public interface IOperateLogService {
void saveOperateLog(OperateLogModel logModel);
}
...@@ -6,7 +6,6 @@ import cn.quantgroup.customer.model.kaordermapping.ApplyRequestHistory; ...@@ -6,7 +6,6 @@ import cn.quantgroup.customer.model.kaordermapping.ApplyRequestHistory;
import cn.quantgroup.customer.model.kaordermapping.ChannelConfigurationResult; import cn.quantgroup.customer.model.kaordermapping.ChannelConfigurationResult;
import cn.quantgroup.customer.model.kaordermapping.LoanOrderMapping; import cn.quantgroup.customer.model.kaordermapping.LoanOrderMapping;
import cn.quantgroup.customer.model.order.CallbackRecordList; import cn.quantgroup.customer.model.order.CallbackRecordList;
import cn.quantgroup.customer.model.user.OperateLogModel;
import cn.quantgroup.customer.rest.param.ordermapping.OrderQueryParam; import cn.quantgroup.customer.rest.param.ordermapping.OrderQueryParam;
import cn.quantgroup.customer.rest.vo.JsonResult; import cn.quantgroup.customer.rest.vo.JsonResult;
import cn.quantgroup.customer.service.IKaService; import cn.quantgroup.customer.service.IKaService;
...@@ -240,25 +239,4 @@ public class KaServiceImpl implements IKaService { ...@@ -240,25 +239,4 @@ public class KaServiceImpl implements IKaService {
} }
} }
@Override
public void saveOperateLog(OperateLogModel model) {
String logPre = "[KaServiceImpl.saveOperateLog] 保存用户操作记录";
log.info("{}, model={}", logPre, model);
String url = kaSysUrl + "/external/saveOperateLog";
try {
Map<String, Object> param = JSONTools.toMap(model);
String result = null;
try {
result = httpService.get(url, param);
} catch (Exception e) {
log.error(" {} http请求异常 url={},param={}", logPre, url, param, e);
}
log.info("{} 请求ka系统返回值:{}", logPre, result);
} catch (Exception e) {
log.error("{} 网络通讯异常,model={},ex:{}", model, ExceptionUtils.getStackTrace(e));
throw new BusinessException(ErrorCodeEnum.NET_ERROR);
}
}
} }
package cn.quantgroup.customer.service.impl;
import cn.quantgroup.customer.entity.OperateLogModel;
import cn.quantgroup.customer.repo.OperateLogRepo;
import cn.quantgroup.customer.service.IOperateLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author yangjun
* @Date 2020/4/15 12:00
* @Desc
* @Update
*/
@Service("operateLogService")
public class OperateLogServiceImpl implements IOperateLogService{
@Autowired
private OperateLogRepo operateLogRepo;
@Override
public void saveOperateLog(OperateLogModel logModel) {
operateLogRepo.save(logModel);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment