Commit acd9a71d authored by 杨钧's avatar 杨钧

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

parent 7ff74ee3
package cn.quantgroup.customer.aop;
import cn.quantgroup.customer.entity.User;
import cn.quantgroup.customer.model.user.OperateLogModel;
import cn.quantgroup.customer.service.IKaService;
import cn.quantgroup.customer.entity.OperateLogModel;
import cn.quantgroup.customer.service.IOperateLogService;
import cn.quantgroup.customer.util.DateUtil;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
......@@ -13,13 +12,6 @@ import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
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 java.lang.reflect.Method;
......@@ -35,9 +27,9 @@ import java.util.Objects;
@Component
@Slf4j
public class OperateLogAspect {
@Autowired
private IKaService kaService;
@Autowired
private IOperateLogService operateLogService;
@Pointcut("@annotation(cn.quantgroup.customer.aop.OperateLog)")
public void operateLog() {
......@@ -100,10 +92,10 @@ public class OperateLogAspect {
.moduleName(moduleName)
.request(reqStrBuffer.toString())
.response(String.valueOf(result))
.createAt(DateUtil.getCurrentTimestamp())
.createdAt(DateUtil.getCurrentTimestamp())
.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;
import cn.quantgroup.customer.model.kaordermapping.ChannelConfigurationResult;
import cn.quantgroup.customer.model.kaordermapping.LoanOrderMapping;
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.vo.JsonResult;
......@@ -47,9 +46,4 @@ public interface IKaService {
*/
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;
import cn.quantgroup.customer.model.kaordermapping.ChannelConfigurationResult;
import cn.quantgroup.customer.model.kaordermapping.LoanOrderMapping;
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.vo.JsonResult;
import cn.quantgroup.customer.service.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