From 0b361628c58a0eaa21a8a7ae28370285836a3cf1 Mon Sep 17 00:00:00 2001 From: zhanghonghao Date: Wed, 8 Jan 2025 16:58:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(REQ-3488):=20=E5=88=9B=E5=BB=BA=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=8F=AD=E7=BB=84=E6=97=A5=E5=BF=97=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../team/feign/OrgProjectTeamLogApi.java | 23 +++ .../team/req/ProjectTeamLogSaveReq.java | 84 +++++++++++ .../team/dao/OrgProjectTeamLogDao.java | 16 ++ .../team/entity/OrgProjectTeamLog.java | 137 ++++++++++++++++++ .../team/mapper/OrgProjectTeamLogMapper.java | 9 ++ .../OrgProjectTeamLogUpsertRepository.java | 8 + ...OrgProjectTeamLogUpsertRepositoryImpl.java | 25 ++++ .../OrgProjectTeamLogController.java | 27 ++++ .../ProjectTeamLogFoundationService.java | 9 ++ .../ProjectTeamLogFoundationServiceImpl.java | 28 ++++ .../team/service/ProjectTeamLogService.java | 8 + .../impl/ProjectTeamLogServiceImpl.java | 30 ++++ .../processor/OrgProjectTeamLogProcessor.java | 47 ++++++ .../impl/OrgProjectTeamLogSaveProcessor.java | 28 ++++ 14 files changed, 479 insertions(+) create mode 100644 orgmanax-api/src/main/java/cn/axzo/orgmanax/api/project/team/feign/OrgProjectTeamLogApi.java create mode 100644 orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/ProjectTeamLogSaveReq.java create mode 100644 orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/dao/OrgProjectTeamLogDao.java create mode 100644 orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/entity/OrgProjectTeamLog.java create mode 100644 orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/mapper/OrgProjectTeamLogMapper.java create mode 100644 orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/repository/OrgProjectTeamLogUpsertRepository.java create mode 100644 orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/repository/impl/OrgProjectTeamLogUpsertRepositoryImpl.java create mode 100644 orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/controller/OrgProjectTeamLogController.java create mode 100644 orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/foundation/ProjectTeamLogFoundationService.java create mode 100644 orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/foundation/impl/ProjectTeamLogFoundationServiceImpl.java create mode 100644 orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/service/ProjectTeamLogService.java create mode 100644 orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/service/impl/ProjectTeamLogServiceImpl.java create mode 100644 orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/service/processor/OrgProjectTeamLogProcessor.java create mode 100644 orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/service/processor/impl/OrgProjectTeamLogSaveProcessor.java diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/project/team/feign/OrgProjectTeamLogApi.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/project/team/feign/OrgProjectTeamLogApi.java new file mode 100644 index 0000000..9951a9e --- /dev/null +++ b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/project/team/feign/OrgProjectTeamLogApi.java @@ -0,0 +1,23 @@ +package cn.axzo.orgmanax.api.project.team.feign; + +import cn.axzo.foundation.result.ApiResult; +import cn.axzo.orgmanax.dto.project.team.req.ProjectTeamLogSaveReq; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * @author : zhanghonghao@axzo.cn + * @since : 2025/1/8 + */ +@FeignClient( + value = "orgmanax", + url = "${axzo.service.orgmanax:http://orgmanax:8080}") +public interface OrgProjectTeamLogApi { + /** + * 创建项目班组日志 + */ + @PostMapping("/api/project/team-log/create") + ApiResult create(@RequestBody ProjectTeamLogSaveReq req); + +} \ No newline at end of file diff --git a/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/ProjectTeamLogSaveReq.java b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/ProjectTeamLogSaveReq.java new file mode 100644 index 0000000..967e89d --- /dev/null +++ b/orgmanax-dto/src/main/java/cn/axzo/orgmanax/dto/project/team/req/ProjectTeamLogSaveReq.java @@ -0,0 +1,84 @@ +package cn.axzo.orgmanax.dto.project.team.req; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @author : zhanghonghao@axzo.cn + * @since : 2025/1/8 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class ProjectTeamLogSaveReq { + + /** + * 项目内班组id + */ + private Long projectTeamId; + + /** + * 邀请/申请id + */ + private Long inviteId; + + /** + * 变更前状态 + */ + private Integer preStatus; + + /** + * 当前状态 + */ + private Integer nowStatus; + + /** + * 变更前状态描述 + */ + private String preStatusDesc; + + /** + * 当前状态描述 + */ + private String nowStatusDesc; + + /** + * 变更描述 + */ + private String content; + + /** + * 操作人姓名 + */ + private String operatorName; + + /** + * 操作人身份 + */ + private String operatorIdentity; + + /** + * 操作事件 JOIN_PROJECT:加入项目 QUIT_PROJECT:退出项目 TEAM_INVITE:邀请班组 TEAM_APPLY:班组申请 + */ + private String actionType; + + /** + * 操作人手机号 + */ + private String operatorPhone; + + /** + * 操作人标签 + */ + private String operatorTag; + + /** + * 当前事件事件 + */ + private Date eventTime; +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/dao/OrgProjectTeamLogDao.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/dao/OrgProjectTeamLogDao.java new file mode 100644 index 0000000..166d526 --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/dao/OrgProjectTeamLogDao.java @@ -0,0 +1,16 @@ +package cn.axzo.orgmanax.infra.dao.project.team.dao; + +import cn.axzo.orgmanax.infra.dao.project.team.entity.OrgProjectTeamLog; +import cn.axzo.orgmanax.infra.dao.project.team.mapper.OrgProjectTeamLogMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Repository; + +/** + * @author : zhanghonghao@axzo.cn + * @since : 2025/1/8 + */ +@Repository +public class OrgProjectTeamLogDao extends ServiceImpl { + + +} \ No newline at end of file diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/entity/OrgProjectTeamLog.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/entity/OrgProjectTeamLog.java new file mode 100644 index 0000000..6f92141 --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/entity/OrgProjectTeamLog.java @@ -0,0 +1,137 @@ +package cn.axzo.orgmanax.infra.dao.project.team.entity; + +import cn.axzo.trade.datasecurity.core.annotation.CryptField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 班组变更日志表 + *

+ * + * @author zhangtianyu + * @since 2022-07-12 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = false) +@TableName(value = "org_project_team_log", autoResultMap = true) +public class OrgProjectTeamLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 项目内班组id + */ + @TableField("project_team_id") + private Long projectTeamId; + + /** + * 邀请/申请id + */ + @TableField("invite_id") + private Long inviteId; + + /** + * 变更前状态 + */ + @TableField("pre_status") + private Integer preStatus; + + /** + * 当前状态 + */ + @TableField("now_status") + private Integer nowStatus; + + /** + * 变更前状态描述 + */ + @TableField("pre_status_desc") + private String preStatusDesc; + + /** + * 当前状态描述 + */ + @TableField("now_status_desc") + private String nowStatusDesc; + + /** + * 变更描述 + */ + @TableField("content") + private String content; + + /** + * 是否删除 0否1是 + */ + @TableField("is_delete") + private Long isDelete; + + /** + * 创建时间 + */ + @TableField("create_at") + private Date createAt; + + /** + * 更新时间 + */ + @TableField("update_at") + private Date updateAt; + + /** + * 操作人姓名 + */ + @TableField("operator_name") + private String operatorName; + + /** + * 操作人身份 + */ + @TableField("operator_identity") + private String operatorIdentity; + + /** + * 操作事件 JOIN_PROJECT:加入项目 QUIT_PROJECT:退出项目 TEAM_INVITE:邀请班组 TEAM_APPLY:班组申请 + */ + @TableField("action_type") + private String actionType; + + /** + * 操作人手机号 + */ + @TableField("operator_phone") + @CryptField + private String operatorPhone; + + /** + * 操作人标签 + */ + @TableField("operator_tag") + private String operatorTag; + /** + * 当前事件事件 + */ + @TableField("event_time") + private Date eventTime; + +} \ No newline at end of file diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/mapper/OrgProjectTeamLogMapper.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/mapper/OrgProjectTeamLogMapper.java new file mode 100644 index 0000000..7895bfb --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/mapper/OrgProjectTeamLogMapper.java @@ -0,0 +1,9 @@ +package cn.axzo.orgmanax.infra.dao.project.team.mapper; + +import cn.axzo.orgmanax.infra.dao.project.team.entity.OrgProjectTeamLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OrgProjectTeamLogMapper extends BaseMapper { +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/repository/OrgProjectTeamLogUpsertRepository.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/repository/OrgProjectTeamLogUpsertRepository.java new file mode 100644 index 0000000..28fa6ed --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/repository/OrgProjectTeamLogUpsertRepository.java @@ -0,0 +1,8 @@ +package cn.axzo.orgmanax.infra.dao.project.team.repository; + +import cn.axzo.orgmanax.infra.dao.project.team.entity.OrgProjectTeamLog; + +public interface OrgProjectTeamLogUpsertRepository { + + Long save(OrgProjectTeamLog orgProjectTeamLog); +} diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/repository/impl/OrgProjectTeamLogUpsertRepositoryImpl.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/repository/impl/OrgProjectTeamLogUpsertRepositoryImpl.java new file mode 100644 index 0000000..c1ed65a --- /dev/null +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/project/team/repository/impl/OrgProjectTeamLogUpsertRepositoryImpl.java @@ -0,0 +1,25 @@ +package cn.axzo.orgmanax.infra.dao.project.team.repository.impl; + +import cn.axzo.orgmanax.infra.dao.project.team.dao.OrgProjectTeamLogDao; +import cn.axzo.orgmanax.infra.dao.project.team.entity.OrgProjectTeamLog; +import cn.axzo.orgmanax.infra.dao.project.team.repository.OrgProjectTeamLogUpsertRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Repository; + +/** + * @author : zhanghonghao@axzo.cn + * @since : 2025/1/8 + */ +@RequiredArgsConstructor +@Repository +public class OrgProjectTeamLogUpsertRepositoryImpl implements OrgProjectTeamLogUpsertRepository { + + private final OrgProjectTeamLogDao orgProjectTeamLogDao; + + @Override + public Long save(OrgProjectTeamLog orgProjectTeamLog) { + orgProjectTeamLogDao.save(orgProjectTeamLog); + return orgProjectTeamLog.getId(); + } + +} \ No newline at end of file diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/controller/OrgProjectTeamLogController.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/controller/OrgProjectTeamLogController.java new file mode 100644 index 0000000..5c1b0a1 --- /dev/null +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/controller/OrgProjectTeamLogController.java @@ -0,0 +1,27 @@ +package cn.axzo.orgmanax.server.project.team.controller; + +import cn.axzo.foundation.result.ApiResult; +import cn.axzo.orgmanax.api.project.team.feign.OrgProjectTeamLogApi; +import cn.axzo.orgmanax.dto.project.team.req.ProjectTeamLogSaveReq; +import cn.axzo.orgmanax.server.project.team.service.ProjectTeamLogService; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author : zhanghonghao@axzo.cn + * @since : 2025/1/8 + */ +@RestController +@RequestMapping +@RequiredArgsConstructor +public class OrgProjectTeamLogController implements OrgProjectTeamLogApi { + + private final ProjectTeamLogService projectTeamLogService; + + @Override + public ApiResult create(ProjectTeamLogSaveReq req) { + return ApiResult.success(projectTeamLogService.save(req)); + } + +} \ No newline at end of file diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/foundation/ProjectTeamLogFoundationService.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/foundation/ProjectTeamLogFoundationService.java new file mode 100644 index 0000000..704af33 --- /dev/null +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/foundation/ProjectTeamLogFoundationService.java @@ -0,0 +1,9 @@ +package cn.axzo.orgmanax.server.project.team.foundation; + +import cn.axzo.orgmanax.dto.project.team.req.ProjectTeamLogSaveReq; + + +public interface ProjectTeamLogFoundationService { + + Long save(ProjectTeamLogSaveReq req); +} \ No newline at end of file diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/foundation/impl/ProjectTeamLogFoundationServiceImpl.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/foundation/impl/ProjectTeamLogFoundationServiceImpl.java new file mode 100644 index 0000000..23954de --- /dev/null +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/foundation/impl/ProjectTeamLogFoundationServiceImpl.java @@ -0,0 +1,28 @@ +package cn.axzo.orgmanax.server.project.team.foundation.impl; + +import cn.axzo.orgmanax.infra.dao.project.team.entity.OrgProjectTeamLog; +import cn.axzo.orgmanax.infra.dao.project.team.repository.OrgProjectTeamLogUpsertRepository; +import cn.axzo.orgmanax.server.project.team.foundation.ProjectTeamLogFoundationService; +import cn.axzo.orgmanax.dto.project.team.req.ProjectTeamLogSaveReq; +import cn.hutool.core.bean.BeanUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @author : zhanghonghao@axzo.cn + * @since : 2025/1/8 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class ProjectTeamLogFoundationServiceImpl implements ProjectTeamLogFoundationService { + + private final OrgProjectTeamLogUpsertRepository orgProjectTeamLogUpsertRepository; + + @Override + public Long save(ProjectTeamLogSaveReq req) { + OrgProjectTeamLog orgProjectTeamLog = BeanUtil.copyProperties(req, OrgProjectTeamLog.class); + return orgProjectTeamLogUpsertRepository.save(orgProjectTeamLog); + } +} diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/service/ProjectTeamLogService.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/service/ProjectTeamLogService.java new file mode 100644 index 0000000..77aa379 --- /dev/null +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/service/ProjectTeamLogService.java @@ -0,0 +1,8 @@ +package cn.axzo.orgmanax.server.project.team.service; + +import cn.axzo.orgmanax.dto.project.team.req.ProjectTeamLogSaveReq; + +public interface ProjectTeamLogService { + + Long save(ProjectTeamLogSaveReq req); +} \ No newline at end of file diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/service/impl/ProjectTeamLogServiceImpl.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/service/impl/ProjectTeamLogServiceImpl.java new file mode 100644 index 0000000..4526741 --- /dev/null +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/service/impl/ProjectTeamLogServiceImpl.java @@ -0,0 +1,30 @@ +package cn.axzo.orgmanax.server.project.team.service.impl; + +import cn.axzo.orgmanax.dto.project.team.req.ProjectTeamLogSaveReq; +import cn.axzo.orgmanax.server.project.team.service.ProjectTeamLogService; +import cn.axzo.orgmanax.server.project.team.service.processor.OrgProjectTeamLogProcessor; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @author : zhanghonghao@axzo.cn + * @since : 2025/1/8 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class ProjectTeamLogServiceImpl implements ProjectTeamLogService { + + + @Override + public Long save(ProjectTeamLogSaveReq req) { + OrgProjectTeamLogProcessor.ProcessContext processContext = OrgProjectTeamLogProcessor.ProcessContext.builder() + .action(OrgProjectTeamLogProcessor.Action.CREATE) + .params(req) + .build(); + OrgProjectTeamLogProcessor projectTeamLogProcessor = processContext.getProcessor(); + OrgProjectTeamLogProcessor.ProcessResult processResult = projectTeamLogProcessor.process(processContext); + return processResult.getResult(); + } +} diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/service/processor/OrgProjectTeamLogProcessor.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/service/processor/OrgProjectTeamLogProcessor.java new file mode 100644 index 0000000..8b2a28a --- /dev/null +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/service/processor/OrgProjectTeamLogProcessor.java @@ -0,0 +1,47 @@ +package cn.axzo.orgmanax.server.project.team.service.processor; + +import cn.axzo.orgmanax.server.project.team.service.processor.impl.OrgProjectTeamLogSaveProcessor; +import cn.hutool.extra.spring.SpringUtil; +import lombok.*; +import org.springframework.beans.factory.config.BeanPostProcessor; +import org.springframework.transaction.annotation.Transactional; + +public interface OrgProjectTeamLogProcessor extends BeanPostProcessor { + + + @Transactional(rollbackFor = Throwable.class) + OrgProjectTeamLogProcessor.ProcessResult process(OrgProjectTeamLogProcessor.ProcessContext context); + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + class ProcessContext { + private OrgProjectTeamLogProcessor.Action action; + private T params; + + public OrgProjectTeamLogProcessor getProcessor() { + SpringUtil.getBean(action.getProcessorClass()); + return SpringUtil.getBean(action.getProcessorClass()); + } + } + + @Data + @Builder + @NoArgsConstructor + @AllArgsConstructor + class ProcessResult { + private R result; + } + + @Getter + @AllArgsConstructor + enum Action { + CREATE("创建", OrgProjectTeamLogSaveProcessor.class) + ; + + private String desc; + private Class processorClass; + } + +} \ No newline at end of file diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/service/processor/impl/OrgProjectTeamLogSaveProcessor.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/service/processor/impl/OrgProjectTeamLogSaveProcessor.java new file mode 100644 index 0000000..0c31ec1 --- /dev/null +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/project/team/service/processor/impl/OrgProjectTeamLogSaveProcessor.java @@ -0,0 +1,28 @@ +package cn.axzo.orgmanax.server.project.team.service.processor.impl; + +import cn.axzo.orgmanax.server.project.team.foundation.ProjectTeamLogFoundationService; +import cn.axzo.orgmanax.dto.project.team.req.ProjectTeamLogSaveReq; +import cn.axzo.orgmanax.server.project.team.service.processor.OrgProjectTeamLogProcessor; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @author : zhanghonghao@axzo.cn + * @since : 2025/1/8 + */ +@Service +@Slf4j +@AllArgsConstructor +public class OrgProjectTeamLogSaveProcessor implements OrgProjectTeamLogProcessor { + + private final ProjectTeamLogFoundationService foundationService; + + @Override + public ProcessResult process(ProcessContext context) { + ProjectTeamLogSaveReq saveReq = context.getParams(); + Long id = foundationService.save(saveReq); + return OrgProjectTeamLogSaveProcessor.ProcessResult.builder().result(id).build(); + } + +} \ No newline at end of file