From 5d03b0cc49ca6ec340dd15c0809c663c44a41e6a Mon Sep 17 00:00:00 2001 From: wjt Date: Tue, 30 May 2023 18:40:45 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/telemarkting/dao/AllCallInfoRepository.java | 5 +++-- .../telemarkting/service/impl/TelephoneCallServiceImpl.java | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/AllCallInfoRepository.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/AllCallInfoRepository.java index 2e010156..7a552b2a 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/AllCallInfoRepository.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/AllCallInfoRepository.java @@ -46,10 +46,11 @@ public interface AllCallInfoRepository extends JpaRepository, * @param status * @param duration * @param id + * @param createTime */ @Modifying - @Query(value = "update AllCallInfo d set d.status =?1 , d.duration = ?2 where d.id =?3") - void updateByDurationAndStatus(Integer status, Integer duration, Long id); + @Query(value = "update AllCallInfo d set d.status =?1 , d.duration = ?2 ,d.createTime=?4 where d.id =?3") + void updateByDurationAndStatus(Integer status, Integer duration, Long id, String createTime); /** diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/TelephoneCallServiceImpl.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/TelephoneCallServiceImpl.java index e2f2e218..2b600670 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/TelephoneCallServiceImpl.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/TelephoneCallServiceImpl.java @@ -310,7 +310,7 @@ public class TelephoneCallServiceImpl implements TelephoneCallService { if (StrUtil.isNotBlank(rollCallBackDTO.getCallee_answer_time())) { //表示接通,更新线索状态 callClueRepository.updateByStatus(DefaultNumberConstants.TWO_NUMBER, allCallInfo.getClueId()); - allCallInfoRepository.updateByDurationAndStatus(DefaultNumberConstants.TWO_NUMBER, Integer.valueOf(rollCallBackDTO.getDuration()), allCallInfo.getId()); + allCallInfoRepository.updateByDurationAndStatus(DefaultNumberConstants.TWO_NUMBER, Integer.valueOf(rollCallBackDTO.getDuration()), allCallInfo.getId(), DateUtil.now()); //更新资源通话状态 CompletableFuture.runAsync(() -> updateSourceCallStatus(allCallInfo.getClueId(), DefaultNumberConstants.TWO_NUMBER, allCallInfo.getClueType(), traceId)); //实时扣除话费 From 09f3654240e5ccf30e73e9e016e6ecc95702ce81 Mon Sep 17 00:00:00 2001 From: wjt Date: Tue, 30 May 2023 18:48:37 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=80=9A=E8=AF=9D?= =?UTF-8?q?=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../telemarkting/dao/AllCallInfoRepository.java | 10 +++++----- .../service/impl/TelephoneCallServiceImpl.java | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/AllCallInfoRepository.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/AllCallInfoRepository.java index 7a552b2a..6ce8888e 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/AllCallInfoRepository.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/AllCallInfoRepository.java @@ -35,10 +35,11 @@ public interface AllCallInfoRepository extends JpaRepository, * @param recordFlag * @param recordFileDownloadUrl * @param id + * @param createTime */ @Modifying - @Query(value = "update AllCallInfo d set d.recordFlag =?1 , d.recordFileDownloadUrl = ?2 where d.id =?3") - void updateByRecord(Integer recordFlag, String recordFileDownloadUrl, Long id); + @Query(value = "update AllCallInfo d set d.recordFlag =?1 , d.recordFileDownloadUrl = ?2 ,d.createTime=?4 where d.id =?3") + void updateByRecord(Integer recordFlag, String recordFileDownloadUrl, Long id, String createTime); /** * 修改状态和录音时间 @@ -46,11 +47,10 @@ public interface AllCallInfoRepository extends JpaRepository, * @param status * @param duration * @param id - * @param createTime */ @Modifying - @Query(value = "update AllCallInfo d set d.status =?1 , d.duration = ?2 ,d.createTime=?4 where d.id =?3") - void updateByDurationAndStatus(Integer status, Integer duration, Long id, String createTime); + @Query(value = "update AllCallInfo d set d.status =?1 , d.duration = ?2 where d.id =?3") + void updateByDurationAndStatus(Integer status, Integer duration, Long id); /** diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/TelephoneCallServiceImpl.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/TelephoneCallServiceImpl.java index 2b600670..bee870f1 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/TelephoneCallServiceImpl.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/TelephoneCallServiceImpl.java @@ -300,7 +300,7 @@ public class TelephoneCallServiceImpl implements TelephoneCallService { //相同说明是分机号的回调 if (sessionId.equals(otherLeg) && StrUtil.isNotBlank(rollCallBackDTO.getRecord_file_url())) { CommonLog.infoBusinessPartyTypeNewTraceId("分机回调-点呼:" + rollCallBackDTO, BusinessPartyType.DB, traceId); - allCallInfoRepository.updateByRecord(DefaultNumberConstants.ONE_NUMBER, rollCallBackDTO.getRecord_file_url(), allCallInfo.getId()); + allCallInfoRepository.updateByRecord(DefaultNumberConstants.ONE_NUMBER, rollCallBackDTO.getRecord_file_url(), allCallInfo.getId(), DateUtil.now()); } else { CommonLog.infoBusinessPartyType("被叫回调-点呼:" + rollCallBackDTO, BusinessPartyType.DB); UserDto user = userService.findById(allCallInfo.getMemberId()); @@ -310,7 +310,7 @@ public class TelephoneCallServiceImpl implements TelephoneCallService { if (StrUtil.isNotBlank(rollCallBackDTO.getCallee_answer_time())) { //表示接通,更新线索状态 callClueRepository.updateByStatus(DefaultNumberConstants.TWO_NUMBER, allCallInfo.getClueId()); - allCallInfoRepository.updateByDurationAndStatus(DefaultNumberConstants.TWO_NUMBER, Integer.valueOf(rollCallBackDTO.getDuration()), allCallInfo.getId(), DateUtil.now()); + allCallInfoRepository.updateByDurationAndStatus(DefaultNumberConstants.TWO_NUMBER, Integer.valueOf(rollCallBackDTO.getDuration()), allCallInfo.getId()); //更新资源通话状态 CompletableFuture.runAsync(() -> updateSourceCallStatus(allCallInfo.getClueId(), DefaultNumberConstants.TWO_NUMBER, allCallInfo.getClueType(), traceId)); //实时扣除话费 From ec0f954d1d8bfffe14a5cf11bcccd6da8b9dcded Mon Sep 17 00:00:00 2001 From: yqy Date: Wed, 31 May 2023 10:21:30 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=97=A5=E5=BF=97=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aspect/BadRequestExceptionAspect.java | 72 +++++++++---------- .../main/java/com/baiye/aspect/LogAspect.java | 38 +++++----- .../system/service/impl/LogServiceImpl.java | 4 +- .../com/baiye/timed/ElasticsearchTask.java | 35 +++++++++ .../main/java/com/baiye/task/FileTask.java | 4 +- 5 files changed, 94 insertions(+), 59 deletions(-) create mode 100644 ad-platform-manage/ad-platform-management/src/main/java/com/baiye/timed/ElasticsearchTask.java diff --git a/ad-platform-common/ad-platform-common-log/src/main/java/com/baiye/aspect/BadRequestExceptionAspect.java b/ad-platform-common/ad-platform-common-log/src/main/java/com/baiye/aspect/BadRequestExceptionAspect.java index b5eab87f..d474b232 100644 --- a/ad-platform-common/ad-platform-common-log/src/main/java/com/baiye/aspect/BadRequestExceptionAspect.java +++ b/ad-platform-common/ad-platform-common-log/src/main/java/com/baiye/aspect/BadRequestExceptionAspect.java @@ -1,36 +1,36 @@ -package com.baiye.aspect; - -import com.baiye.common.CommonLog; -import lombok.extern.slf4j.Slf4j; -import org.aspectj.lang.JoinPoint; -import org.aspectj.lang.annotation.*; -import org.springframework.stereotype.Component; - -import java.util.Arrays; - -/** - * @Author YQY - * @Date 2023/5/24 - */ -@Component -@Aspect -@Slf4j -public class BadRequestExceptionAspect { - - /** - * 配置切入点 - */ - @Pointcut("execution(* com.baiye.exception.handler.GlobalExceptionHandler.badRequestException(..))") - public void badRequestExceptionPointcut() { - } - - @Before("badRequestExceptionPointcut()") - public void bb(JoinPoint joinPoint) { - Object[] args = joinPoint.getArgs(); - if (args.length > 0) { - String str = Arrays.toString(args); - int index = str.indexOf(':'); - if (index != -1) CommonLog.error(str.substring(index + 1, str.length() - 1)); - } - } -} +//package com.baiye.aspect; +// +//import com.baiye.common.CommonLog; +//import lombok.extern.slf4j.Slf4j; +//import org.aspectj.lang.JoinPoint; +//import org.aspectj.lang.annotation.*; +//import org.springframework.stereotype.Component; +// +//import java.util.Arrays; +// +///** +// * @Author YQY +// * @Date 2023/5/24 +// */ +//@Component +//@Aspect +//@Slf4j +//public class BadRequestExceptionAspect { +// +// /** +// * 配置切入点 +// */ +// @Pointcut("execution(* com.baiye.exception.handler.GlobalExceptionHandler.badRequestException(..))") +// public void badRequestExceptionPointcut() { +// } +// +// @Before("badRequestExceptionPointcut()") +// public void badRequestExceptionBefore(JoinPoint joinPoint) { +// Object[] args = joinPoint.getArgs(); +// if (args.length > 0) { +// String str = Arrays.toString(args); +// int index = str.indexOf(':'); +// if (index != -1) CommonLog.error(str.substring(index + 1, str.length() - 1)); +// } +// } +//} diff --git a/ad-platform-common/ad-platform-common-log/src/main/java/com/baiye/aspect/LogAspect.java b/ad-platform-common/ad-platform-common-log/src/main/java/com/baiye/aspect/LogAspect.java index 1fdb09e2..b2596cf2 100644 --- a/ad-platform-common/ad-platform-common-log/src/main/java/com/baiye/aspect/LogAspect.java +++ b/ad-platform-common/ad-platform-common-log/src/main/java/com/baiye/aspect/LogAspect.java @@ -38,6 +38,7 @@ public class LogAspect { private final SystemClient systemClient; ThreadLocal currentTime = new ThreadLocal<>(); + private final String SYSTEM_TYPE = "systemType"; public LogAspect(SystemClient systemClient) { this.systemClient = systemClient; @@ -86,8 +87,8 @@ public class LogAspect { String ip = RequestUtils.getIp(request); // 插入数据库的日志 + LogReqDTO logReqDTO = this.install(joinPoint, controllerLog, ip, e); if (controllerLog.isSaveMySQL()) { - LogReqDTO logReqDTO = this.install(joinPoint, null, ip, e); logReqDTO.setLogType(LogType.ERROR); logReqDTO.setTime(System.currentTimeMillis() - currentTime.get()); logReqDTO.setBrowser(RequestUtils.getBrowser(request)); @@ -107,25 +108,22 @@ public class LogAspect { Object[] args = joinPoint.getArgs(); // 方法路径 String methodName = joinPoint.getTarget().getClass().getName() + "." + signature.getName() + "()"; - String reqParam = argsArrayToString(args); String reqParams = StringUtils.substring(reqParam, 0, 2000); - String reqMethod = ServletUtil.getRequest().getMethod(); - - if (e == null) { - MDC.put("userId", this.getUserId()); - MDC.put("userName", this.getUsername()); - MDC.put("reqIp", ip); - MDC.put("method", methodName); - MDC.put("params", reqParams); - MDC.put("reqMethod", reqMethod); - MDC.put("reqUrl", Objects.requireNonNull(ServletUtil.getRequest()).getRequestURI()); - if (controllerLog != null) { - MDC.put("businessPartyType", controllerLog.BusinessPartyType()); - logReqDTO.setDescription(controllerLog.value()); - } + MDC.put("userId", this.getUserId()); + MDC.put("userName", this.getUsername()); + MDC.put("reqIp", ip); + MDC.put("method", methodName); + MDC.put("params", reqParams); + MDC.put("reqMethod", reqMethod); + MDC.put("reqUrl", Objects.requireNonNull(ServletUtil.getRequest()).getRequestURI()); + MDC.put(SYSTEM_TYPE, String.valueOf(DefaultNumberConstants.ONE_NUMBER)); + if (controllerLog != null) { + MDC.put("businessPartyType", controllerLog.BusinessPartyType()); + logReqDTO.setDescription(controllerLog.value()); } + StringBuilder params = new StringBuilder("{"); //参数值 List argValues = new ArrayList<>(Arrays.asList(args)); @@ -143,10 +141,12 @@ public class LogAspect { logReqDTO.setUsername(getUsername()); if (e == null) { - MDC.put("systemType", String.valueOf(DefaultNumberConstants.ONE_NUMBER)); - log.info("{}", controllerLog.value()); - MDC.remove("systemType"); + if (controllerLog != null) log.info("{}", controllerLog.value()); + }else { +// if (controllerLog != null) log.error("{}", controllerLog.value() + "失败\n错误信息:" + ThrowableUtil.getStackTrace(e).substring(0, 2000)); + if (controllerLog != null) log.error("{}", controllerLog.value() + "失败;\n错误信息:" + e.getMessage()); } + MDC.remove(SYSTEM_TYPE); return logReqDTO; } diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/LogServiceImpl.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/LogServiceImpl.java index af9c4375..5b646c70 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/LogServiceImpl.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/LogServiceImpl.java @@ -75,7 +75,7 @@ public class LogServiceImpl implements LogService { return PageUtil.toPage(page.map(logSmallMapper::toDto)); } - // @Override +// @Override // @Transactional(rollbackFor = Exception.class) // public void save(String username, String browser, String ip, ProceedingJoinPoint joinPoint, LogEntity logEntity) { // @@ -211,7 +211,7 @@ public class LogServiceImpl implements LogService { filter.must(QueryBuilders.termQuery("businessPartyType", query.getBusinessPartyType())); } if (StringUtils.isNotBlank(query.getUserName())) { - filter.must(QueryBuilders.matchQuery("userName", query.getUserName())); + filter.must(QueryBuilders.matchPhraseQuery("userName", query.getUserName())); } if (StringUtils.isNotBlank(query.getSystemType())) { filter.must(QueryBuilders.termQuery("systemType", query.getSystemType())); diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/timed/ElasticsearchTask.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/timed/ElasticsearchTask.java new file mode 100644 index 00000000..619f1a06 --- /dev/null +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/timed/ElasticsearchTask.java @@ -0,0 +1,35 @@ +package com.baiye.timed; + +import cn.hutool.core.date.DateUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.time.DateUtils; +import org.springframework.data.elasticsearch.core.ElasticsearchOperations; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.util.Date; + +/** + * @Author YQY + * @Date 2023/5/29 + */ +@Component +@RequiredArgsConstructor +@Slf4j +public class ElasticsearchTask { + + private final ElasticsearchOperations elasticsearchOperations; + + /** + * 删除一个月前es索引,索引规则在logstash应用中的规则创建 + */ + @Scheduled(cron = "0 0 2 * * ?") + public void removeIndex() { + log.info("定时任务删除es索引开始"); + Date startDate = DateUtils.addDays(new Date(), -30); + String format = DateUtil.format(startDate, "yyyy.MM.dd"); + elasticsearchOperations.deleteIndex("logstash-" + format); + log.info("删除es索引结束"); + } +} diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/task/FileTask.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/task/FileTask.java index b98ba2a4..421fc7b7 100644 --- a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/task/FileTask.java +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/task/FileTask.java @@ -32,7 +32,7 @@ public class FileTask { @Scheduled(cron = "0 0 3 * * ? ") @Transactional(rollbackFor = Exception.class) public void compress() throws Exception { - CommonLog.info("---开始压缩文件夹---"); + log.info("---开始压缩文件夹---"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); DateTime date = DateUtil.yesterday(); String path = URL + dateFormat.format(date); @@ -48,7 +48,7 @@ public class FileTask { @Scheduled(cron = "0 0 1 * * ? ") @Transactional(rollbackFor = Exception.class) public void emptyLog(){ - CommonLog.info("---清空日志---"); + log.info("---清空日志---"); turnCrmLogRepository.deleteAll(); } } From 8b711c217518801631823452f2441dc9372048b4 Mon Sep 17 00:00:00 2001 From: wjt Date: Wed, 31 May 2023 14:48:32 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=B6=E9=97=B4bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/telemarkting/api/TelephoneCallController.java | 2 +- .../baiye/modules/telemarkting/dao/AllCallInfoRepository.java | 3 ++- .../telemarkting/service/impl/TelephoneCallServiceImpl.java | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/TelephoneCallController.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/TelephoneCallController.java index 19feaecf..fe022c76 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/TelephoneCallController.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/TelephoneCallController.java @@ -144,7 +144,7 @@ public class TelephoneCallController { } telephoneCallService.rollCallBack(rollCallBackDTO); } catch (Exception e) { - CommonLog.error("点呼回调话单错误:" + json); + CommonLog.error("点呼回调,处理错误:" + json); return CommonResponse.createByError(); } return CommonResponse.createBySuccess(); diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/AllCallInfoRepository.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/AllCallInfoRepository.java index 6ce8888e..1ef8867a 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/AllCallInfoRepository.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/AllCallInfoRepository.java @@ -7,6 +7,7 @@ import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; +import java.util.Date; import java.util.List; /** @@ -39,7 +40,7 @@ public interface AllCallInfoRepository extends JpaRepository, */ @Modifying @Query(value = "update AllCallInfo d set d.recordFlag =?1 , d.recordFileDownloadUrl = ?2 ,d.createTime=?4 where d.id =?3") - void updateByRecord(Integer recordFlag, String recordFileDownloadUrl, Long id, String createTime); + void updateByRecord(Integer recordFlag, String recordFileDownloadUrl, Long id, Date createTime); /** * 修改状态和录音时间 diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/TelephoneCallServiceImpl.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/TelephoneCallServiceImpl.java index bee870f1..07f83ac4 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/TelephoneCallServiceImpl.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/service/impl/TelephoneCallServiceImpl.java @@ -300,7 +300,7 @@ public class TelephoneCallServiceImpl implements TelephoneCallService { //相同说明是分机号的回调 if (sessionId.equals(otherLeg) && StrUtil.isNotBlank(rollCallBackDTO.getRecord_file_url())) { CommonLog.infoBusinessPartyTypeNewTraceId("分机回调-点呼:" + rollCallBackDTO, BusinessPartyType.DB, traceId); - allCallInfoRepository.updateByRecord(DefaultNumberConstants.ONE_NUMBER, rollCallBackDTO.getRecord_file_url(), allCallInfo.getId(), DateUtil.now()); + allCallInfoRepository.updateByRecord(DefaultNumberConstants.ONE_NUMBER, rollCallBackDTO.getRecord_file_url(), allCallInfo.getId(), DateUtil.date()); } else { CommonLog.infoBusinessPartyType("被叫回调-点呼:" + rollCallBackDTO, BusinessPartyType.DB); UserDto user = userService.findById(allCallInfo.getMemberId());