diff --git a/src/main/java/neatlogic/module/process/aop/MethodTimingAspect.java b/src/main/java/neatlogic/module/process/aop/MethodTimingAspect.java new file mode 100644 index 0000000000000000000000000000000000000000..821cb6287fc095cbc2c7d2424b18685bd8abcec7 --- /dev/null +++ b/src/main/java/neatlogic/module/process/aop/MethodTimingAspect.java @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2024 深圳极向量科技有限公司 All Rights Reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package neatlogic.module.process.aop; + +import com.alibaba.fastjson.JSON; +import neatlogic.framework.common.config.Config; +import neatlogic.framework.util.UuidUtil; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import java.time.Duration; +import java.time.Instant; +import java.util.Arrays; + +@Aspect +@Component +public class MethodTimingAspect { + + private final static Logger logger = LoggerFactory.getLogger(MethodTimingAspect.class); + + @Around("execution(* neatlogic.module.process.api..*(..))") + public Object logExecutionTime0(ProceedingJoinPoint joinPoint) throws Throwable { + return log(joinPoint); + } + @Around("execution(* neatlogic.module.process.service..*(..))") + public Object logExecutionTime1(ProceedingJoinPoint joinPoint) throws Throwable { + return log(joinPoint); + } + @Around("execution(* neatlogic.module.process.dao.mapper..*(..))") + public Object logExecutionTime2(ProceedingJoinPoint joinPoint) throws Throwable { + return log(joinPoint); + } + @Around("execution(* neatlogic.module.process.stephandler..*(..))") + public Object logExecutionTime3(ProceedingJoinPoint joinPoint) throws Throwable { + return log(joinPoint); + } + @Around("execution(* neatlogic.framework.process.stephandler..*(..))") + public Object logExecutionTime4(ProceedingJoinPoint joinPoint) throws Throwable { + return log(joinPoint); + } + @Around("execution(* neatlogic.framework.process.operationauth..*(..))") + public Object logExecutionTime5(ProceedingJoinPoint joinPoint) throws Throwable { + return log(joinPoint); + } + @Around("execution(* neatlogic.module.process.operationauth..*(..))") + public Object logExecutionTime6(ProceedingJoinPoint joinPoint) throws Throwable { + return log(joinPoint); + } + + private Object log(ProceedingJoinPoint joinPoint) throws Throwable { + if (!Config.ENABLE_METHOD_TIMING_ASPECT()) { + return joinPoint.proceed(); + } + String uuid = UuidUtil.randomUuid(); + Instant start = Instant.now(); + Object[] args = joinPoint.getArgs(); + logger.error(" " + uuid + " " + joinPoint.getSignature().toShortString() + " 参数: " + JSON.toJSONString(Arrays.asList(args))); + Object result = joinPoint.proceed(); // 继续执行目标方法 + Instant finish = Instant.now(); + long timeElapsed = Duration.between(start, finish).toMillis(); + String format = (timeElapsed < 100 ? " " : "* ") + "% 5d ms %s %s -> %s"; + logger.error(String.format(format, timeElapsed, uuid, joinPoint.getSignature().toShortString(), joinPoint.getSignature().toLongString())); + return result; + } +} diff --git a/src/main/java/neatlogic/module/process/dao/mapper/process/ProcessMapper.java b/src/main/java/neatlogic/module/process/dao/mapper/process/ProcessMapper.java index 2840bcf12238e9c559843950b498e404facdd48e..f050fa3f3e96dc3fe3d1a8d1ebee5bb48aa96ec2 100644 --- a/src/main/java/neatlogic/module/process/dao/mapper/process/ProcessMapper.java +++ b/src/main/java/neatlogic/module/process/dao/mapper/process/ProcessMapper.java @@ -94,6 +94,8 @@ public interface ProcessMapper extends IProcessCrossoverMapper { List getProcessStepTagIdListByProcessStepUuid(String processStepUuid); + List getProcessStepTagListByProcessUuid(String processUuid); + int insertProcess(ProcessVo processVo); int insertProcessStep(ProcessStepVo processStepVo); diff --git a/src/main/java/neatlogic/module/process/dao/mapper/process/ProcessMapper.xml b/src/main/java/neatlogic/module/process/dao/mapper/process/ProcessMapper.xml index eeb5d14d54895a32a41d9538e745508d483c7de2..8e680c0b18f24a5dc56c77af9518e36387e159b5 100644 --- a/src/main/java/neatlogic/module/process/dao/mapper/process/ProcessMapper.xml +++ b/src/main/java/neatlogic/module/process/dao/mapper/process/ProcessMapper.xml @@ -441,6 +441,15 @@ SELECT `tag_id` FROM `process_step_tag` WHERE `process_step_uuid` = #{value} + + INSERT INTO `process_sla` ( `uuid`, diff --git a/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.java b/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.java index 70fa4b7e79e5241ad0edd5e9f4b52d9a3456de9e..e30aff40bf24ea421e26e17e9fa75f1b0ef9809a 100644 --- a/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.java +++ b/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.java @@ -191,8 +191,6 @@ public interface ProcessTaskMapper extends IProcessTaskCrossoverMapper { List getProcessTaskStepListByIdList(List processTaskStepIdList); -// ProcessTaskStepNotifyPolicyVo getProcessTaskStepNotifyPolicy(ProcessTaskStepNotifyPolicyVo processTaskStepNotifyPolicyVo); - Map getProcessTaskOldFormAndPropByTaskId(Long processTaskId); List> getWorkloadByTeamUuid(String teamUuid); @@ -385,6 +383,8 @@ public interface ProcessTaskMapper extends IProcessTaskCrossoverMapper { int insertProcessTaskStep(ProcessTaskStepVo processTaskStepVo); + int insertProcessTaskStepList(List processTaskStepList); + int replaceProcessTaskStep(ProcessTaskStepVo processTaskStepVo); int insertProcessTaskStepUser(ProcessTaskStepUserVo processTaskStepUserVo); @@ -393,8 +393,12 @@ public interface ProcessTaskMapper extends IProcessTaskCrossoverMapper { int insertProcessTaskStepWorkerPolicy(ProcessTaskStepWorkerPolicyVo processTaskStepWorkerPolicyVo); + int insertProcessTaskStepWorkerPolicyList(List processTaskStepWorkerPolicyList); + int insertProcessTaskStepRel(ProcessTaskStepRelVo processTaskStepRelVo); + int insertProcessTaskStepRelList(List processTaskStepRelList); + int insertProcessTaskStepContent(ProcessTaskStepContentVo processTaskStepContentVo); int insertProcessTaskOperationContent(ProcessTaskOperationContentVo processTaskOperationContentVo); @@ -417,20 +421,23 @@ public interface ProcessTaskMapper extends IProcessTaskCrossoverMapper { int insertIgnoreProcessTaskStepConfig(ProcessTaskStepConfigVo processTaskStepConfigVo); -// int insertProcessTaskStepFormAttribute( -// ProcessTaskStepFormAttributeVo processTaskStepFormAttributeVo); + int insertIgnoreProcessTaskStepConfigList(List processTaskStepConfigList); int insertProcessTaskFormAttribute(ProcessTaskFormAttributeDataVo processTaskFromAttributeDataVo); + int insertProcessTaskFormAttributeList(List processTaskFromAttributeDataList); + int insertProcessTaskExtendFormAttribute(ProcessTaskFormAttributeDataVo processTaskFormAttributeDataVo); + int insertProcessTaskExtendFormAttributeList(List processTaskFormAttributeDataList); + int insertProcessTaskStepFile(ProcessTaskStepFileVo processTaskStepFileVo); int insertProcessTaskAssignWorker(ProcessTaskAssignWorkerVo processTaskAssignWorkerVo); -// int insertIgnoreProcessTaskStepNotifyPolicyConfig(ProcessTaskStepNotifyPolicyVo processTaskStepNotifyPolicyVo); +// int insertProcessTaskStepNotifyPolicy(ProcessTaskStepNotifyPolicyVo processTaskStepNotifyPolicyVo); - int insertProcessTaskStepNotifyPolicy(ProcessTaskStepNotifyPolicyVo processTaskStepNotifyPolicyVo); +// int insertProcessTaskStepNotifyPolicyList(List processTaskStepNotifyPolicyList); int insertProcessTaskTransferReport(ProcessTaskTransferReportVo processTaskTransferReportVo); @@ -455,6 +462,8 @@ public interface ProcessTaskMapper extends IProcessTaskCrossoverMapper { int insertProcessTaskStepTag(ProcessTaskStepTagVo processTaskStepTagVo); + int insertProcessTaskStepTagList(List processTaskStepTagList); + int replaceProcessTaskRepeatList(List processTaskRepeatList); int replaceProcessTaskRepeat(ProcessTaskRepeatVo processTaskRepeatVo); diff --git a/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.xml b/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.xml index dff853de9dc65ccf3fea256f4cdfb5df02895b0a..c8af7dd745ee53f3cdb4a79856b52f366621e63a 100644 --- a/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.xml +++ b/src/main/java/neatlogic/module/process/dao/mapper/processtask/ProcessTaskMapper.xml @@ -1299,22 +1299,6 @@ - -