From cf238e3ac2bb6526c1b4186fd0286911126d48b7 Mon Sep 17 00:00:00 2001 From: wxz Date: Fri, 11 Jun 2021 14:07:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=88=97=E5=A2=9E=E5=8A=A0cu?= =?UTF-8?q?stomer=5Fid=E5=88=97=20=E6=97=A5=E5=BF=97=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=8C=E6=94=B9=E4=B8=BA=E6=A8=A1=E7=B3=8A?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/region/LogOperationResultDTO.java | 1 + .../com/epmet/entity/LogOperationEntity.java | 2 ++ .../listener/bean/log/LogOperationHelper.java | 2 +- .../mq/listener/bean/log/OperatorInfo.java | 1 + .../listener/AuthOperationLogListener.java | 1 + .../listener/ProjectOperationLogListener.java | 1 + .../service/impl/LogOperationServiceImpl.java | 35 +++++++++++-------- .../db/migration/V0.0.4__addlog_ope_col.sql | 1 + .../src/main/resources/logback-spring.xml | 2 +- .../main/resources/mapper/LogOperationDao.xml | 1 + .../controller/CustomerStaffController.java | 4 +-- 11 files changed, 31 insertions(+), 20 deletions(-) create mode 100644 epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.4__addlog_ope_col.sql diff --git a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/region/LogOperationResultDTO.java b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/region/LogOperationResultDTO.java index 6033b176e6..a9cca21013 100644 --- a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/region/LogOperationResultDTO.java +++ b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/region/LogOperationResultDTO.java @@ -40,6 +40,7 @@ public class LogOperationResultDTO { /** * 操作人ID */ + private String customerId; private String operatorId; private String operatorName; private String operatorMobile; diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/LogOperationEntity.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/LogOperationEntity.java index 3bbbb75841..d3f3f20402 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/LogOperationEntity.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/entity/LogOperationEntity.java @@ -65,6 +65,8 @@ public class LogOperationEntity extends BaseEpmetEntity { */ private String targetId; + private String customerId; + /** * 操作人ID */ diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/bean/log/LogOperationHelper.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/bean/log/LogOperationHelper.java index 0d390709bd..b8c82f6640 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/bean/log/LogOperationHelper.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/bean/log/LogOperationHelper.java @@ -58,6 +58,6 @@ public class LogOperationHelper implements ResultDataResolver { Result result = userOpenFeignClient.getCustomerStaffInfoByUserId(form); CustomerStaffDTO staffInfo = getResultDataOrThrowsException(result, ServiceConstant.EPMET_ADMIN_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "调用epmet-user服务获取staff信息发生异常"); - return new OperatorInfo(staffInfo.getMobile(), staffInfo.getRealName()); + return new OperatorInfo(staffInfo.getCustomerId(), staffInfo.getMobile(), staffInfo.getRealName()); } } diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/bean/log/OperatorInfo.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/bean/log/OperatorInfo.java index fe1ce2fc09..6dfd9ba7d9 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/bean/log/OperatorInfo.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/bean/log/OperatorInfo.java @@ -6,6 +6,7 @@ import lombok.Data; @Data @AllArgsConstructor public class OperatorInfo { + private String customerId; private String mobile; private String name; } diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/AuthOperationLogListener.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/AuthOperationLogListener.java index 85573d40f0..4f9e361fc5 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/AuthOperationLogListener.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/AuthOperationLogListener.java @@ -67,6 +67,7 @@ public class AuthOperationLogListener implements MessageListenerConcurrently { logEntity.setFromApp(msgObj.getFromApp()); logEntity.setFromClient(msgObj.getFromClient()); logEntity.setTargetId(""); + logEntity.setCustomerId(operatorInfo.getCustomerId()); logEntity.setOperatorId(msgObj.getUserId()); logEntity.setOperatorName(operatorInfo.getName()); logEntity.setOperatorMobile(operatorInfo.getMobile()); diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/ProjectOperationLogListener.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/ProjectOperationLogListener.java index 5240444701..13384ea62e 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/ProjectOperationLogListener.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/ProjectOperationLogListener.java @@ -63,6 +63,7 @@ public class ProjectOperationLogListener implements MessageListenerConcurrently logEntity.setIp(msgObj.getIp()); logEntity.setFromApp(msgObj.getFromApp()); logEntity.setFromClient(msgObj.getFromClient()); + logEntity.setCustomerId(operatorInfo.getCustomerId()); logEntity.setOperatorId(msgObj.getOperatorId()); logEntity.setOperatorMobile(operatorInfo.getMobile()); logEntity.setOperatorName(operatorInfo.getName()); diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/LogOperationServiceImpl.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/LogOperationServiceImpl.java index ad8a3c1d6a..09b9269063 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/LogOperationServiceImpl.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/LogOperationServiceImpl.java @@ -16,14 +16,12 @@ import com.epmet.dto.region.LogOperationResultDTO; import com.epmet.entity.LogOperationEntity; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.service.LogOperationService; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; @Service @@ -54,29 +52,35 @@ public class LogOperationServiceImpl implements LogOperationService, ResultDataR @Override public List listOperationLogs(String condition, String customerId, Integer pageNo, Integer pageSize) { // 1.条件查询 - List logDtos = listByOperatorMobile(condition, customerId, pageNo, pageSize); - if (CollectionUtils.isEmpty(logDtos)) { - logDtos = listByOperatorName(condition, pageNo, pageSize); - } - - if (CollectionUtils.isEmpty(logDtos)) { - return new ArrayList<>(); - } + //List logDtos = listByOperatorMobile(condition, customerId, pageNo, pageSize); + //if (CollectionUtils.isEmpty(logDtos)) { + // logDtos = listByOperatorName(condition, pageNo, pageSize); + //} + // + //if (CollectionUtils.isEmpty(logDtos)) { + // return new ArrayList<>(); + //} // 2.直接分页查询 // 条件查询,排序 LambdaQueryWrapper w = new LambdaQueryWrapper<>(); + if (StringUtils.isNotBlank(condition)) { + w.like(LogOperationEntity::getOperatorName, condition) + .or() + .like(LogOperationEntity::getOperatorMobile, condition); + } + w.eq(LogOperationEntity::getCustomerId, customerId); w.orderByDesc(LogOperationEntity::getOperatingTime); IPage iPage = logOperationDao.selectPage(new Page<>(pageNo, pageSize), w); List logEntities = iPage.getRecords(); - List userIds = logEntities.stream().map(l -> l.getOperatorId()).collect(Collectors.toList()); + Set userIds = logEntities.stream().map(l -> l.getOperatorId()).collect(Collectors.toSet()); return convertLogOperationEntity2DTO(logEntities, getStaffMapByUserIds(userIds)); } - private Map getStaffMapByUserIds(List userIds) { + private Map getStaffMapByUserIds(Set userIds) { CustomerStaffFormDTO form = new CustomerStaffFormDTO(); - form.setUserIds(userIds); + form.setUserIds(new ArrayList<>(userIds)); Result> result = userOpenFeignClient.list(form); List staffs = getResultDataOrThrowsException(result, ServiceConstant.EPMET_USER_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "调用user服务发生异常"); @@ -168,6 +172,7 @@ public class LogOperationServiceImpl implements LogOperationService, ResultDataR ldto.setTargetId(l.getTargetId()); ldto.setType(l.getType()); ldto.setTypeDisplay(l.getTypeDisplay()); + ldto.setCustomerId(l.getCustomerId()); ldto.setOperatorMobile(staffMap.get(l.getOperatorId()).getMobile()); ldto.setOperatorName(staffMap.get(l.getOperatorId()).getRealName()); return ldto; diff --git a/epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.4__addlog_ope_col.sql b/epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.4__addlog_ope_col.sql new file mode 100644 index 0000000000..e2bcec3b6d --- /dev/null +++ b/epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.4__addlog_ope_col.sql @@ -0,0 +1 @@ +alter table log_operation add CUSTOMER_ID varchar(64) comment '客户id' not null after OPERATOR_ID; \ No newline at end of file diff --git a/epmet-admin/epmet-admin-server/src/main/resources/logback-spring.xml b/epmet-admin/epmet-admin-server/src/main/resources/logback-spring.xml index 215a9500e7..fc97e8f1c9 100644 --- a/epmet-admin/epmet-admin-server/src/main/resources/logback-spring.xml +++ b/epmet-admin/epmet-admin-server/src/main/resources/logback-spring.xml @@ -134,7 +134,7 @@ - + diff --git a/epmet-admin/epmet-admin-server/src/main/resources/mapper/LogOperationDao.xml b/epmet-admin/epmet-admin-server/src/main/resources/mapper/LogOperationDao.xml index 0e00d21c34..5f34d339ad 100644 --- a/epmet-admin/epmet-admin-server/src/main/resources/mapper/LogOperationDao.xml +++ b/epmet-admin/epmet-admin-server/src/main/resources/mapper/LogOperationDao.xml @@ -13,6 +13,7 @@ + diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java index d488ecff59..cb9673ccf6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java @@ -424,9 +424,7 @@ public class CustomerStaffController { */ @PostMapping("list") public Result> list(@RequestBody CustomerStaffFormDTO input) { - String customerId = StringUtils.isBlank(input.getCustomerId()) ? loginUserUtil.getLoginUserCustomerId() : input.getCustomerId(); - - List staffs = customerStaffService.list(customerId, input.getRealName(), input.getMobile(), input.getUserIds()); + List staffs = customerStaffService.list(input.getCustomerId(), input.getRealName(), input.getMobile(), input.getUserIds()); return new Result>().ok(staffs); }