diff --git a/.gitignore b/.gitignore
index 480bdf5..cc1b162 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,4 +36,7 @@ build/
.vscode/
### Mac OS ###
-.DS_Store
\ No newline at end of file
+.DS_Store
+/logs/
+/.idea/
+/.mvn/
diff --git a/start/src/main/resources/nacos.yml b/start/src/main/resources/nacos.yml
index af260d4..99249ca 100644
--- a/start/src/main/resources/nacos.yml
+++ b/start/src/main/resources/nacos.yml
@@ -2,10 +2,10 @@ nacos:
url: 192.168.20.100:30290
namespace: jjb-dragon
application:
- name: jjb-saas-zcloud-risk
+ name: jjb-saas-zcloud-domain
version:
- gateway: risk
- cn-name: 风险中心
+ gateway: domain
+ cn-name: 专项领域管理
spring:
application:
name: ${application.name}${application.version}
@@ -20,7 +20,7 @@ spring:
file-extension: yml
shared-configs:
- config-common.yml
- - config-port.yml
+# - config-port.yml
- config-mq.yml
- config-log.yml
- config-sdk-server.yml
@@ -36,3 +36,5 @@ spring:
discovery:
server-addr: ${spring.cloud.nacos.config.server-addr}
namespace: ${spring.cloud.nacos.config.namespace}
+server:
+ port: 8080
\ No newline at end of file
diff --git a/web-adapter/pom.xml b/web-adapter/pom.xml
index bdd0200..ca1df3a 100644
--- a/web-adapter/pom.xml
+++ b/web-adapter/pom.xml
@@ -26,5 +26,9 @@
com.zcloud.domain
web-client
+
+ com.jjb.saas
+ jjb-saas-framework-job
+
diff --git a/web-adapter/src/main/java/com/zcloud/domain/job/ProjectTaskStatusJob.java b/web-adapter/src/main/java/com/zcloud/domain/job/ProjectTaskStatusJob.java
new file mode 100644
index 0000000..3a315cf
--- /dev/null
+++ b/web-adapter/src/main/java/com/zcloud/domain/job/ProjectTaskStatusJob.java
@@ -0,0 +1,30 @@
+package com.zcloud.domain.job;
+
+import com.jjb.saas.framework.job.Job;
+import com.jjb.saas.framework.job.annotation.JobRegister;
+import com.xxl.job.core.biz.model.ReturnT;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import com.zcloud.domain.api.ProjectTaskScoreInfoServiceI;
+import com.zcloud.domain.api.ProjectTaskServiceI;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+@RequiredArgsConstructor
+@Component
+@Slf4j
+public class ProjectTaskStatusJob implements Job {
+
+ private final ProjectTaskServiceI projectTaskServiceI;
+
+
+ @Override
+ @JobRegister(cron = "0 1 0 * * ?", jobDesc = "课题任务状态",triggerStatus = 1)
+ @XxlJob("com.zcloud.domain.job.ProjectTaskStatusJob")
+ public ReturnT execute(String param) {
+
+ projectTaskServiceI.updatExecuteStatusJob();
+
+ return null;
+ }
+}
diff --git a/web-adapter/src/main/java/com/zcloud/domain/web/DomainDepartmentController.java b/web-adapter/src/main/java/com/zcloud/domain/web/DomainDepartmentController.java
new file mode 100644
index 0000000..bd8cd99
--- /dev/null
+++ b/web-adapter/src/main/java/com/zcloud/domain/web/DomainDepartmentController.java
@@ -0,0 +1,85 @@
+package com.zcloud.domain.web;
+
+
+import com.alibaba.cola.dto.MultiResponse;
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.Response;
+import com.alibaba.cola.dto.SingleResponse;
+import com.jjb.saas.framework.auth.model.SSOUser;
+import com.jjb.saas.framework.auth.utils.AuthContext;
+import com.zcloud.domain.api.DomainDepartmentServiceI;
+import com.zcloud.domain.dto.DomainDepartmentAddCmd;
+import com.zcloud.domain.dto.DomainDepartmentPageQry;
+import com.zcloud.domain.dto.DomainDepartmentUpdateCmd;
+import com.zcloud.domain.dto.clientobject.DomainDepartmentCO;
+import com.zcloud.domain.dto.clientobject.DomainDepartmentListCO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * web-adapter
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:28:51
+ */
+@Api(tags = "领域部门")
+@RequestMapping("/${application.gateway}/domainDepartment")
+@RestController
+@AllArgsConstructor
+public class DomainDepartmentController {
+ private final DomainDepartmentServiceI domainDepartmentService;
+
+ @ApiOperation("领域部门新增")
+ @PostMapping("/save")
+ public SingleResponse add(@Validated @RequestBody DomainDepartmentAddCmd cmd) {
+ return domainDepartmentService.add(cmd);
+ }
+
+ @ApiOperation("分页")
+ @PostMapping("/list")
+ public PageResponse page(@RequestBody DomainDepartmentPageQry qry) {
+ return domainDepartmentService.listPage(qry);
+ }
+
+ @ApiOperation("所有数据")
+ @PostMapping("/listAll")
+ public MultiResponse listAll() {
+ List domainDepartmentCOList = domainDepartmentService.listAll();
+ return MultiResponse.of(domainDepartmentCOList);
+ }
+
+ @ApiOperation("领域部门详情")
+ @GetMapping("/getInfoById/{id}")
+ public SingleResponse getInfoById(@PathVariable("id") Long id) {
+ return SingleResponse.of(domainDepartmentService.getInfoById(id));
+ }
+ @ApiOperation("领域部门修改")
+ @PostMapping("/edit")
+ public SingleResponse edit(@Validated @RequestBody DomainDepartmentUpdateCmd domainDepartmentUpdateCmd) {
+ domainDepartmentService.edit(domainDepartmentUpdateCmd);
+ return SingleResponse.buildSuccess();
+ }
+
+ @ApiOperation("删除")
+ @GetMapping("/remove/{id}")
+ public Response remove(@PathVariable("id") Long id) {
+ domainDepartmentService.remove(id);
+ return SingleResponse.buildSuccess();
+ }
+
+/* @ApiOperation("删除多个")
+ @DeleteMapping("/ids")
+ public Response removeBatch(@RequestParam Long[] ids) {
+ domainDepartmentService.removeBatch(ids);
+ return SingleResponse.buildSuccess();
+ }*/
+
+
+}
+
diff --git a/web-adapter/src/main/java/com/zcloud/domain/web/DomainDepartmentUserController.java b/web-adapter/src/main/java/com/zcloud/domain/web/DomainDepartmentUserController.java
new file mode 100644
index 0000000..45c9da9
--- /dev/null
+++ b/web-adapter/src/main/java/com/zcloud/domain/web/DomainDepartmentUserController.java
@@ -0,0 +1,54 @@
+package com.zcloud.domain.web;
+
+
+import com.alibaba.cola.dto.MultiResponse;
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.Response;
+import com.alibaba.cola.dto.SingleResponse;
+import com.jjb.saas.framework.auth.model.SSOUser;
+import com.jjb.saas.framework.auth.utils.AuthContext;
+import com.zcloud.domain.api.DomainDepartmentUserServiceI;
+import com.zcloud.domain.dto.DomainDepartmentUserAddCmd;
+import com.zcloud.domain.dto.DomainDepartmentUserPageQry;
+import com.zcloud.domain.dto.DomainDepartmentUserUpdateCmd;
+import com.zcloud.domain.dto.clientobject.DomainDepartmentUserCO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.ArrayList;
+
+/**
+ * web-adapter
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:09
+ */
+@Api(tags = "领域部门审核人员")
+@RequestMapping("/${application.gateway}/domainDepartmentUser")
+@RestController
+@AllArgsConstructor
+public class DomainDepartmentUserController {
+ private final DomainDepartmentUserServiceI domainDepartmentUserService;
+
+
+
+ @ApiOperation("领域部门下审核人员分页")
+ @PostMapping("/list")
+ public PageResponse page(@RequestBody DomainDepartmentUserPageQry qry) {
+ return domainDepartmentUserService.listPage(qry);
+ }
+
+ @ApiOperation("领域部门下审核人员所有数据")
+ @PostMapping("/listAll")
+ public MultiResponse listAll(@RequestBody DomainDepartmentUserPageQry qry) {
+ return MultiResponse.of(domainDepartmentUserService.listAll(qry));
+ }
+
+
+
+}
+
diff --git a/web-adapter/src/main/java/com/zcloud/domain/web/DomainGroupController.java b/web-adapter/src/main/java/com/zcloud/domain/web/DomainGroupController.java
new file mode 100644
index 0000000..bdd0d55
--- /dev/null
+++ b/web-adapter/src/main/java/com/zcloud/domain/web/DomainGroupController.java
@@ -0,0 +1,77 @@
+package com.zcloud.domain.web;
+
+
+import com.alibaba.cola.dto.MultiResponse;
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.Response;
+import com.alibaba.cola.dto.SingleResponse;
+import com.jjb.saas.framework.auth.model.SSOUser;
+import com.jjb.saas.framework.auth.utils.AuthContext;
+import com.zcloud.domain.api.DomainGroupServiceI;
+import com.zcloud.domain.dto.DomainGroupAddCmd;
+import com.zcloud.domain.dto.DomainGroupPageQry;
+import com.zcloud.domain.dto.DomainGroupQry;
+import com.zcloud.domain.dto.DomainGroupUpdateCmd;
+import com.zcloud.domain.dto.clientobject.DomainGroupCO;
+import com.zcloud.domain.dto.clientobject.DomainGroupInfoCO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+
+/**
+ * web-adapter
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:27
+ */
+@Api(tags = "领域组")
+@RequestMapping("/${application.gateway}/domainGroup")
+@RestController
+@AllArgsConstructor
+public class DomainGroupController {
+ private final DomainGroupServiceI domainGroupService;
+
+ @ApiOperation("领域组新增")
+ @PostMapping("/save")
+ public SingleResponse add(@Validated @RequestBody DomainGroupAddCmd cmd) {
+ return domainGroupService.add(cmd);
+ }
+ @ApiOperation("领域组修改")
+ @PostMapping("/edit")
+ public SingleResponse edit(@Validated @RequestBody DomainGroupUpdateCmd domainGroupUpdateCmd) {
+ domainGroupService.edit(domainGroupUpdateCmd);
+ return SingleResponse.buildSuccess();
+ }
+
+ @ApiOperation("领域组分页")
+ @PostMapping("/list")
+ public PageResponse page(@RequestBody DomainGroupPageQry qry) {
+ return domainGroupService.listPage(qry);
+ }
+
+ @ApiOperation("所有数据")
+ @PostMapping("/listAll")
+ public MultiResponse listAll(@RequestBody DomainGroupQry qry) {
+ return MultiResponse.of(domainGroupService.listAll(qry));
+ }
+
+ @ApiOperation("详情")
+ @GetMapping("/getInfoById/{id}")
+ public SingleResponse getInfoById(@PathVariable("id") Long id) {
+ return SingleResponse.of(domainGroupService.getInfoById(id));
+ }
+
+ @ApiOperation("删除")
+ @GetMapping("/remove/{id}")
+ public Response remove(@PathVariable("id") Long id) {
+ domainGroupService.remove(id);
+ return SingleResponse.buildSuccess();
+ }
+
+
+}
+
diff --git a/web-adapter/src/main/java/com/zcloud/domain/web/DomainGroupUserController.java b/web-adapter/src/main/java/com/zcloud/domain/web/DomainGroupUserController.java
new file mode 100644
index 0000000..474f0da
--- /dev/null
+++ b/web-adapter/src/main/java/com/zcloud/domain/web/DomainGroupUserController.java
@@ -0,0 +1,53 @@
+package com.zcloud.domain.web;
+
+
+import com.alibaba.cola.dto.MultiResponse;
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.Response;
+import com.alibaba.cola.dto.SingleResponse;
+import com.jjb.saas.framework.auth.model.SSOUser;
+import com.jjb.saas.framework.auth.utils.AuthContext;
+import com.zcloud.domain.api.DomainGroupUserServiceI;
+import com.zcloud.domain.dto.DomainGroupUserAddCmd;
+import com.zcloud.domain.dto.DomainGroupUserPageQry;
+import com.zcloud.domain.dto.DomainGroupUserUpdateCmd;
+import com.zcloud.domain.dto.clientobject.DomainGroupUserCO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.ArrayList;
+
+/**
+ * web-adapter
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:42
+ */
+@Api(tags = "领域组人员")
+@RequestMapping("/${application.gateway}/domainGroupUser")
+@RestController
+@AllArgsConstructor
+public class DomainGroupUserController {
+ private final DomainGroupUserServiceI domainGroupUserService;
+
+
+
+ @ApiOperation("领域组人员分页")
+ @PostMapping("/list")
+ public PageResponse page(@RequestBody DomainGroupUserPageQry qry) {
+ return domainGroupUserService.listPage(qry);
+ }
+
+ @ApiOperation("领域组人员所有数据")
+ @PostMapping("/listAll")
+ public MultiResponse listAll(@RequestBody DomainGroupUserPageQry qry) {
+ return MultiResponse.of(domainGroupUserService.listAll(qry));
+ }
+
+
+}
+
diff --git a/web-adapter/src/main/java/com/zcloud/domain/web/ProjectTaskController.java b/web-adapter/src/main/java/com/zcloud/domain/web/ProjectTaskController.java
new file mode 100644
index 0000000..3e8721b
--- /dev/null
+++ b/web-adapter/src/main/java/com/zcloud/domain/web/ProjectTaskController.java
@@ -0,0 +1,83 @@
+package com.zcloud.domain.web;
+
+
+import com.alibaba.cola.dto.MultiResponse;
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.Response;
+import com.alibaba.cola.dto.SingleResponse;
+import com.jjb.saas.framework.auth.model.SSOUser;
+import com.jjb.saas.framework.auth.utils.AuthContext;
+import com.zcloud.domain.api.ProjectTaskServiceI;
+import com.zcloud.domain.dto.ProjectTaskAddCmd;
+import com.zcloud.domain.dto.ProjectTaskPageQry;
+import com.zcloud.domain.dto.ProjectTaskUpdateCmd;
+import com.zcloud.domain.dto.clientobject.ProjectTaskCO;
+import com.zcloud.domain.dto.clientobject.ProjectTaskDetailsCO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+
+/**
+ * web-adapter
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:57
+ */
+@Api(tags = "课题任务管理")
+@RequestMapping("/${application.gateway}/projectTask")
+@RestController
+@AllArgsConstructor
+public class ProjectTaskController {
+ private final ProjectTaskServiceI projectTaskService;
+
+ @ApiOperation("课题任务新增")
+ @PostMapping("/save")
+ public SingleResponse add(@Validated @RequestBody ProjectTaskAddCmd cmd) {
+ return projectTaskService.add(cmd);
+ }
+
+ @ApiOperation("课题任务分页")
+ @PostMapping("/projectpage")
+ public PageResponse listPage(@RequestBody ProjectTaskPageQry qry) {
+ return projectTaskService.listPage(qry);
+ }
+
+ @ApiOperation("课题评分分页")
+ @PostMapping("/projectScorepage")
+ public PageResponse projectScorepage(@RequestBody ProjectTaskPageQry qry) {
+ return projectTaskService.listPage(qry);
+ }
+
+
+ @ApiOperation("课题任务详情")
+ @GetMapping("/getInfoById/{id}")
+ public SingleResponse getInfoById(@PathVariable("id") Long id) {
+ return SingleResponse.of(projectTaskService.getInfoById(id));
+ }
+
+ @ApiOperation("删除")
+ @GetMapping("/remove/{id}")
+ public Response remove(@PathVariable("id") Long id) {
+ projectTaskService.remove(id);
+ return SingleResponse.buildSuccess();
+ }
+
+ /* @ApiOperation("删除多个")
+ @DeleteMapping("/ids")
+ public Response removeBatch(@RequestParam Long[] ids) {
+ projectTaskService.removeBatch(ids);
+ return SingleResponse.buildSuccess();
+ }*/
+
+ @ApiOperation("修改")
+ @PostMapping("/edit")
+ public SingleResponse edit(@Validated @RequestBody ProjectTaskUpdateCmd projectTaskUpdateCmd) {
+ projectTaskService.edit(projectTaskUpdateCmd);
+ return SingleResponse.buildSuccess();
+ }
+}
+
diff --git a/web-adapter/src/main/java/com/zcloud/domain/web/ProjectTaskGroupUserController.java b/web-adapter/src/main/java/com/zcloud/domain/web/ProjectTaskGroupUserController.java
new file mode 100644
index 0000000..0902e47
--- /dev/null
+++ b/web-adapter/src/main/java/com/zcloud/domain/web/ProjectTaskGroupUserController.java
@@ -0,0 +1,82 @@
+package com.zcloud.domain.web;
+
+
+import com.alibaba.cola.dto.MultiResponse;
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.Response;
+import com.alibaba.cola.dto.SingleResponse;
+import com.jjb.saas.framework.auth.model.SSOUser;
+import com.jjb.saas.framework.auth.utils.AuthContext;
+import com.zcloud.domain.api.ProjectTaskGroupUserServiceI;
+import com.zcloud.domain.dto.ProjectTaskDetailAddCmd;
+import com.zcloud.domain.dto.ProjectTaskGroupUserAddCmd;
+import com.zcloud.domain.dto.ProjectTaskGroupUserPageQry;
+import com.zcloud.domain.dto.ProjectTaskGroupUserUpdateCmd;
+import com.zcloud.domain.dto.clientobject.ProjectTaskGroupUserCO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+
+/**
+ * web-adapter
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:09
+ */
+@Api(tags = "课题任务-管理组-用户关系")
+@RequestMapping("/${application.gateway}/projectTaskGroupUser")
+@RestController
+@AllArgsConstructor
+public class ProjectTaskGroupUserController {
+ private final ProjectTaskGroupUserServiceI projectTaskGroupUserService;
+
+ @ApiOperation("新增课题组成员")
+ @PostMapping("/saveGroupUser")
+ public SingleResponse saveGroupUser(@Validated @RequestBody ProjectTaskDetailAddCmd cmd) {
+ return projectTaskGroupUserService.saveGroupUser(cmd);
+ }
+/*
+ @ApiOperation("分页")
+ @PostMapping("/list")
+ public PageResponse page(@RequestBody ProjectTaskGroupUserPageQry qry) {
+ return projectTaskGroupUserService.listPage(qry);
+ }
+
+ @ApiOperation("所有数据")
+ @GetMapping("/listAll")
+ public MultiResponse listAll() {
+ return MultiResponse.of(new ArrayList());
+ }
+
+ @ApiOperation("详情")
+ @GetMapping("/{id}")
+ public SingleResponse getInfoById(@PathVariable("id") Long id) {
+ return SingleResponse.of(new ProjectTaskGroupUserCO());
+ }
+
+ @ApiOperation("删除")
+ @DeleteMapping("/{id}")
+ public Response remove(@PathVariable("id") Long id) {
+ projectTaskGroupUserService.remove(id);
+ return SingleResponse.buildSuccess();
+ }
+
+ @ApiOperation("删除多个")
+ @DeleteMapping("/ids")
+ public Response removeBatch(@RequestParam Long[] ids) {
+ projectTaskGroupUserService.removeBatch(ids);
+ return SingleResponse.buildSuccess();
+ }
+
+ @ApiOperation("修改")
+ @PutMapping("/edit")
+ public SingleResponse edit(@Validated @RequestBody ProjectTaskGroupUserUpdateCmd projectTaskGroupUserUpdateCmd) {
+ projectTaskGroupUserService.edit(projectTaskGroupUserUpdateCmd);
+ return SingleResponse.buildSuccess();
+ }*/
+}
+
diff --git a/web-adapter/src/main/java/com/zcloud/domain/web/ProjectTaskInfoController.java b/web-adapter/src/main/java/com/zcloud/domain/web/ProjectTaskInfoController.java
new file mode 100644
index 0000000..6cf8774
--- /dev/null
+++ b/web-adapter/src/main/java/com/zcloud/domain/web/ProjectTaskInfoController.java
@@ -0,0 +1,84 @@
+package com.zcloud.domain.web;
+
+
+import com.alibaba.cola.dto.MultiResponse;
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.Response;
+import com.alibaba.cola.dto.SingleResponse;
+import com.jjb.saas.framework.auth.model.SSOUser;
+import com.jjb.saas.framework.auth.utils.AuthContext;
+import com.zcloud.domain.api.ProjectTaskInfoServiceI;
+import com.zcloud.domain.dto.ProjectTaskInfoAddCmd;
+import com.zcloud.domain.dto.ProjectTaskInfoPageQry;
+import com.zcloud.domain.dto.ProjectTaskInfoUpdateCmd;
+import com.zcloud.domain.dto.clientobject.ProjectTaskInfoCO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.ArrayList;
+
+/**
+ * web-adapter
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:29
+ */
+@Api(tags = "课题任务详情")
+@RequestMapping("/${application.gateway}/projectTaskInfo")
+@RestController
+@AllArgsConstructor
+public class ProjectTaskInfoController {
+ private final ProjectTaskInfoServiceI projectTaskInfoService;
+ @ApiOperation("新增课题反馈任务项")
+ @PutMapping("/edit")
+ public SingleResponse edit(@Validated @RequestBody ProjectTaskInfoUpdateCmd projectTaskInfoUpdateCmd) {
+ projectTaskInfoService.edit(projectTaskInfoUpdateCmd);
+ return SingleResponse.buildSuccess();
+ }
+ /*
+ @ApiOperation("新增")
+ @PostMapping("/save")
+ public SingleResponse add(@Validated @RequestBody ProjectTaskInfoAddCmd cmd) {
+ SSOUser ssoUser = AuthContext.getCurrentUser();
+ return projectTaskInfoService.add(cmd);
+ }
+
+ @ApiOperation("分页")
+ @PostMapping("/list")
+ public PageResponse page(@RequestBody ProjectTaskInfoPageQry qry) {
+ return projectTaskInfoService.listPage(qry);
+ }
+
+ @ApiOperation("所有数据")
+ @GetMapping("/listAll")
+ public MultiResponse listAll() {
+ return MultiResponse.of(new ArrayList());
+ }
+
+ @ApiOperation("详情")
+ @GetMapping("/{id}")
+ public SingleResponse getInfoById(@PathVariable("id") Long id) {
+ return SingleResponse.of(new ProjectTaskInfoCO());
+ }
+
+ @ApiOperation("删除")
+ @DeleteMapping("/{id}")
+ public Response remove(@PathVariable("id") Long id) {
+ projectTaskInfoService.remove(id);
+ return SingleResponse.buildSuccess();
+ }
+
+ @ApiOperation("删除多个")
+ @DeleteMapping("/ids")
+ public Response removeBatch(@RequestParam Long[] ids) {
+ projectTaskInfoService.removeBatch(ids);
+ return SingleResponse.buildSuccess();
+ }*/
+
+
+}
+
diff --git a/web-adapter/src/main/java/com/zcloud/domain/web/ProjectTaskScoreInfoController.java b/web-adapter/src/main/java/com/zcloud/domain/web/ProjectTaskScoreInfoController.java
new file mode 100644
index 0000000..e577eb5
--- /dev/null
+++ b/web-adapter/src/main/java/com/zcloud/domain/web/ProjectTaskScoreInfoController.java
@@ -0,0 +1,81 @@
+package com.zcloud.domain.web;
+
+
+import com.alibaba.cola.dto.MultiResponse;
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.Response;
+import com.alibaba.cola.dto.SingleResponse;
+import com.jjb.saas.framework.auth.model.SSOUser;
+import com.jjb.saas.framework.auth.utils.AuthContext;
+import com.zcloud.domain.api.ProjectTaskScoreInfoServiceI;
+import com.zcloud.domain.dto.*;
+import com.zcloud.domain.dto.clientobject.ProjectTaskScoreInfoCO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.ArrayList;
+
+/**
+ * web-adapter
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:45
+ */
+@Api(tags = "课题任务评分详情")
+@RequestMapping("/${application.gateway}/projectTaskScoreInfo")
+@RestController
+@AllArgsConstructor
+public class ProjectTaskScoreInfoController {
+ private final ProjectTaskScoreInfoServiceI projectTaskScoreInfoService;
+ @ApiOperation("设置评分")
+ @PostMapping("/setScore")
+ public SingleResponse setScore(@Validated @RequestBody ProjectTaskSetScoreCmd projectTaskSetScoreCmd) {
+ projectTaskScoreInfoService.setScore(projectTaskSetScoreCmd);
+ return SingleResponse.buildSuccess();
+ }
+
+ @ApiOperation("新增任务评审人员")
+ @PostMapping("/saveScoreUser")
+ public SingleResponse saveScoreUser(@Validated @RequestBody ProjectTaskDetailAddCmd cmd) {
+ return projectTaskScoreInfoService.saveScoreUser(cmd);
+ }
+
+ /* @ApiOperation("分页")
+ @PostMapping("/list")
+ public PageResponse page(@RequestBody ProjectTaskScoreInfoPageQry qry) {
+ return projectTaskScoreInfoService.listPage(qry);
+ }
+
+ @ApiOperation("所有数据")
+ @GetMapping("/listAll")
+ public MultiResponse listAll() {
+ return MultiResponse.of(new ArrayList());
+ }
+
+ @ApiOperation("详情")
+ @GetMapping("/{id}")
+ public SingleResponse getInfoById(@PathVariable("id") Long id) {
+ return SingleResponse.of(new ProjectTaskScoreInfoCO());
+ }
+
+ @ApiOperation("删除")
+ @DeleteMapping("/{id}")
+ public Response remove(@PathVariable("id") Long id) {
+ projectTaskScoreInfoService.remove(id);
+ return SingleResponse.buildSuccess();
+ }
+
+ @ApiOperation("删除多个")
+ @DeleteMapping("/ids")
+ public Response removeBatch(@RequestParam Long[] ids) {
+ projectTaskScoreInfoService.removeBatch(ids);
+ return SingleResponse.buildSuccess();
+ }*/
+
+
+}
+
diff --git a/web-adapter/src/main/java/com/zcloud/domain/web/RiskPointController.java b/web-adapter/src/main/java/com/zcloud/domain/web/RiskPointController.java
deleted file mode 100644
index b88cab8..0000000
--- a/web-adapter/src/main/java/com/zcloud/domain/web/RiskPointController.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.zcloud.domain.web;
-
-
-import com.alibaba.cola.dto.MultiResponse;
-import com.alibaba.cola.dto.PageResponse;
-import com.alibaba.cola.dto.Response;
-import com.alibaba.cola.dto.SingleResponse;
-import com.zcloud.domain.api.RiskPointServiceI;
-import com.zcloud.domain.dto.RiskPointAddCmd;
-import com.zcloud.domain.dto.RiskPointPageQry;
-import com.zcloud.domain.dto.RiskPointUpdateCmd;
-import com.zcloud.domain.dto.clientobject.RiskPointCo;
-import com.jjb.saas.framework.auth.model.SSOUser;
-import com.jjb.saas.framework.auth.utils.AuthContext;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.AllArgsConstructor;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.ArrayList;
-
-/**
- * @author lin
- */
-@Api(tags = "风险点管理")
-@RequestMapping("/risk/riskPoint")
-@RestController
-@AllArgsConstructor
-public class RiskPointController {
- private final RiskPointServiceI riskPointService;
-
- @ApiOperation("新增")
- @PostMapping("/save")
- public SingleResponse add(@Validated @RequestBody RiskPointAddCmd cmd) {
- SSOUser ssoUser = AuthContext.getCurrentUser();
- return riskPointService.add(cmd);
- }
-
- @ApiOperation("分页")
- @PostMapping("/list")
- public PageResponse page(@RequestBody RiskPointPageQry qry) {
- return riskPointService.listPage(qry);
- }
-
- @ApiOperation("所有数据")
- @GetMapping("/listAll")
- public MultiResponse listAll() {
- return MultiResponse.of(new ArrayList());
- }
-
- @ApiOperation("详情")
- @GetMapping("/{id}")
- public SingleResponse getInfoById(@PathVariable("id") Long id) {
- return SingleResponse.of(new RiskPointCo());
- }
-
- @ApiOperation("删除")
- @DeleteMapping("/{id}")
- public Response remove(@PathVariable("id") Long id) {
- riskPointService.remove(id);
- return SingleResponse.buildSuccess();
- }
-
- @ApiOperation("删除多个")
- @DeleteMapping("/ids")
- public Response removeBatch(@RequestParam Long[] ids) {
- riskPointService.removeBatch(ids);
- return SingleResponse.buildSuccess();
- }
-
- @ApiOperation("修改")
- @PutMapping("/edit")
- public SingleResponse edit(@Validated @RequestBody RiskPointUpdateCmd riskPointUpdateCmd) {
- riskPointService.edit(riskPointUpdateCmd);
- return SingleResponse.buildSuccess();
- }
-}
diff --git a/web-app/src/main/java/com/zcloud/domain/command/DomainDepartmentAddExe.java b/web-app/src/main/java/com/zcloud/domain/command/DomainDepartmentAddExe.java
new file mode 100644
index 0000000..a41f5ec
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/DomainDepartmentAddExe.java
@@ -0,0 +1,63 @@
+package com.zcloud.domain.command;
+
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.command.convertor.DomainDepartmentUserCoConvertor;
+import com.zcloud.domain.domain.gateway.DomainDepartmentGateway;
+import com.zcloud.domain.domain.gateway.DomainDepartmentUserGateway;
+import com.zcloud.domain.domain.model.DomainDepartmentE;
+import com.zcloud.domain.dto.DomainDepartmentAddCmd;
+import com.zcloud.domain.dto.DomainDepartmentUserAddCmd;
+import com.zcloud.domain.persistence.dataobject.DomainDepartmentUserDO;
+import com.zcloud.domain.persistence.repository.DomainDepartmentRepository;
+import com.zcloud.domain.persistence.repository.DomainDepartmentUserRepository;
+import com.zcloud.gbscommon.utils.Tools;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:28:51
+ */
+@Component
+@AllArgsConstructor
+public class DomainDepartmentAddExe {
+ private final DomainDepartmentGateway domainDepartmentGateway;
+ private final DomainDepartmentRepository domainDepartmentRepository;
+ private final DomainDepartmentUserRepository domainDepartmentUserRepository;
+ private final DomainDepartmentUserCoConvertor domainDepartmentUserCoConvertor;
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(DomainDepartmentAddCmd cmd) {
+ //查询领域类型是否存在
+ domainDepartmentRepository.checkDomainType(cmd.getDomainType());
+ DomainDepartmentE domainDepartmentE = new DomainDepartmentE();
+ BeanUtils.copyProperties(cmd, domainDepartmentE);
+ boolean res = false;
+ try {
+ res = domainDepartmentGateway.add(domainDepartmentE);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ if (!res) {
+ throw new BizException("保存失败");
+ }
+ List domainDepartmentUserAddCmdList = cmd.getDomainDepartmentUserAddCmdList();
+ List domainDepartmentUserDOList = domainDepartmentUserCoConvertor.converCmdsToDOs(domainDepartmentUserAddCmdList);
+ domainDepartmentUserDOList.forEach(
+ domainDepartmentUserDO -> {
+ domainDepartmentUserDO.setDomainDepartmentUserId(Tools.get32UUID());
+ domainDepartmentUserDO.setDomainDepartmentId(domainDepartmentE.getDomainDepartmentId());
+ }
+ );
+ domainDepartmentUserRepository.saveBatch(domainDepartmentUserDOList);
+ return true;
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/DomainDepartmentRemoveExe.java b/web-app/src/main/java/com/zcloud/domain/command/DomainDepartmentRemoveExe.java
new file mode 100644
index 0000000..c0510de
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/DomainDepartmentRemoveExe.java
@@ -0,0 +1,39 @@
+package com.zcloud.domain.command;
+
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.domain.gateway.DomainDepartmentGateway;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:28:51
+ */
+@Component
+@AllArgsConstructor
+public class DomainDepartmentRemoveExe {
+ private final DomainDepartmentGateway domainDepartmentGateway;
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(Long id) {
+ boolean res = domainDepartmentGateway.deletedDomainDepartmentById(id);
+ if (!res) {
+ throw new BizException("删除失败");
+ }
+ return true;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(Long[] ids) {
+ boolean res = domainDepartmentGateway.deletedDomainDepartmentByIds(ids);
+ if (!res) {
+ throw new BizException("删除失败");
+ }
+ return true;
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/DomainDepartmentUpdateExe.java b/web-app/src/main/java/com/zcloud/domain/command/DomainDepartmentUpdateExe.java
new file mode 100644
index 0000000..160df4c
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/DomainDepartmentUpdateExe.java
@@ -0,0 +1,89 @@
+package com.zcloud.domain.command;
+
+import cn.hutool.core.collection.CollUtil;
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.command.convertor.DomainDepartmentUserCoConvertor;
+import com.zcloud.domain.domain.gateway.DomainDepartmentGateway;
+import com.zcloud.domain.domain.model.DomainDepartmentE;
+import com.zcloud.domain.dto.DomainDepartmentUpdateCmd;
+import com.zcloud.domain.dto.DomainDepartmentUserAddCmd;
+import com.zcloud.domain.persistence.dataobject.DomainDepartmentDO;
+import com.zcloud.domain.persistence.dataobject.DomainDepartmentUserDO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO;
+import com.zcloud.domain.persistence.repository.DomainDepartmentRepository;
+import com.zcloud.domain.persistence.repository.DomainDepartmentUserRepository;
+import com.zcloud.domain.persistence.repository.ProjectTaskScoreInfoRepository;
+import com.zcloud.gbscommon.utils.Tools;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:28:52
+ */
+@Component
+@AllArgsConstructor
+public class DomainDepartmentUpdateExe {
+ private final DomainDepartmentGateway domainDepartmentGateway;
+ private final DomainDepartmentRepository domainDepartmentRepository;
+ private final DomainDepartmentUserRepository domainDepartmentUserRepository;
+ private final DomainDepartmentUserCoConvertor domainDepartmentUserCoConvertor;
+ private final ProjectTaskScoreInfoRepository projectTaskScoreInfoRepository;
+
+ @Transactional(rollbackFor = Exception.class)
+ public void execute(DomainDepartmentUpdateCmd domainDepartmentUpdateCmd) {
+ //查询是否存在
+ DomainDepartmentDO info = domainDepartmentRepository.getById(domainDepartmentUpdateCmd.getId());
+ if (info == null) {
+ throw new BizException("领域管理部门不存在");
+ }
+ DomainDepartmentE domainDepartmentE = new DomainDepartmentE();
+ BeanUtils.copyProperties(domainDepartmentUpdateCmd, domainDepartmentE);
+ boolean res = domainDepartmentGateway.update(domainDepartmentE);
+ if (!res) {
+ throw new BizException("修改失败");
+ }
+ // 如果删除的用户存在未完成的课题任务,不能删除
+ List listByDomainDepartmentId = domainDepartmentUserRepository.getListByDomainDepartmentId(info.getDomainDepartmentId());
+ //获取所有userId
+ List oldUserIdList = listByDomainDepartmentId.stream().map(DomainDepartmentUserDO::getUserId).collect(Collectors.toList());
+ List domainDepartmentUserAddCmdList = domainDepartmentUpdateCmd.getDomainDepartmentUserAddCmdList();
+ List newUserIdList = domainDepartmentUserAddCmdList.stream().map(DomainDepartmentUserAddCmd::getUserId).collect(Collectors.toList());
+
+ if(CollUtil.isNotEmpty(oldUserIdList)){
+ //获取删除的用户id,newUserIdList中不在oldUserIdList中的用户id
+ List deleteUserIdList = oldUserIdList.stream().filter(userId -> !newUserIdList.contains(userId)).collect(Collectors.toList());
+ // TODO
+ if(CollUtil.isNotEmpty(deleteUserIdList)){
+ List projectTaskScoreInfoDOList =projectTaskScoreInfoRepository.getListByUserIdList(deleteUserIdList);
+ if(CollUtil.isNotEmpty(projectTaskScoreInfoDOList)){
+ //获取按照userId去重,然后获取所有用户名称
+ List userNameList = projectTaskScoreInfoDOList.stream().map(ProjectTaskScoreInfoDO::getUserName).distinct().collect(Collectors.toList());
+ throw new BizException(userNameList+"下有未完成课题任务,不能删除");
+ }
+ }
+ }
+
+ //删除人员信息
+ domainDepartmentUserRepository.deleteByDomainDepartmentId(info.getDomainDepartmentId());
+
+
+ List domainDepartmentUserDOList =domainDepartmentUserCoConvertor.converCmdsToDOs(domainDepartmentUserAddCmdList);
+ domainDepartmentUserDOList.forEach(
+ domainDepartmentUserDO-> {
+ domainDepartmentUserDO.setDomainDepartmentId(info.getDomainDepartmentId());
+ domainDepartmentUserDO.setDomainDepartmentUserId(Tools.get32UUID());
+ }
+ );
+ domainDepartmentUserRepository.saveBatch(domainDepartmentUserDOList);
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/DomainDepartmentUserAddExe.java b/web-app/src/main/java/com/zcloud/domain/command/DomainDepartmentUserAddExe.java
new file mode 100644
index 0000000..c9f4374
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/DomainDepartmentUserAddExe.java
@@ -0,0 +1,40 @@
+package com.zcloud.domain.command;
+
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.domain.gateway.DomainDepartmentUserGateway;
+import com.zcloud.domain.domain.model.DomainDepartmentUserE;
+import com.zcloud.domain.dto.DomainDepartmentUserAddCmd;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:09
+ */
+@Component
+@AllArgsConstructor
+public class DomainDepartmentUserAddExe {
+ private final DomainDepartmentUserGateway domainDepartmentUserGateway;
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(DomainDepartmentUserAddCmd cmd) {
+ DomainDepartmentUserE domainDepartmentUserE = new DomainDepartmentUserE();
+ BeanUtils.copyProperties(cmd, domainDepartmentUserE);
+ boolean res = false;
+ try {
+ res = domainDepartmentUserGateway.add(domainDepartmentUserE);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ if (!res) {
+ throw new BizException("保存失败");
+ }
+ return true;
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/DomainDepartmentUserRemoveExe.java b/web-app/src/main/java/com/zcloud/domain/command/DomainDepartmentUserRemoveExe.java
new file mode 100644
index 0000000..55f0f52
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/DomainDepartmentUserRemoveExe.java
@@ -0,0 +1,39 @@
+package com.zcloud.domain.command;
+
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.domain.gateway.DomainDepartmentUserGateway;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:09
+ */
+@Component
+@AllArgsConstructor
+public class DomainDepartmentUserRemoveExe {
+ private final DomainDepartmentUserGateway domainDepartmentUserGateway;
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(Long id) {
+ boolean res = domainDepartmentUserGateway.deletedDomainDepartmentUserById(id);
+ if (!res) {
+ throw new BizException("删除失败");
+ }
+ return true;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(Long[] ids) {
+ boolean res = domainDepartmentUserGateway.deletedDomainDepartmentUserByIds(ids);
+ if (!res) {
+ throw new BizException("删除失败");
+ }
+ return true;
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/DomainDepartmentUserUpdateExe.java b/web-app/src/main/java/com/zcloud/domain/command/DomainDepartmentUserUpdateExe.java
new file mode 100644
index 0000000..7770c85
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/DomainDepartmentUserUpdateExe.java
@@ -0,0 +1,34 @@
+package com.zcloud.domain.command;
+
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.domain.gateway.DomainDepartmentUserGateway;
+import com.zcloud.domain.domain.model.DomainDepartmentUserE;
+import com.zcloud.domain.dto.DomainDepartmentUserUpdateCmd;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:09
+ */
+@Component
+@AllArgsConstructor
+public class DomainDepartmentUserUpdateExe {
+ private final DomainDepartmentUserGateway domainDepartmentUserGateway;
+
+ @Transactional(rollbackFor = Exception.class)
+ public void execute(DomainDepartmentUserUpdateCmd domainDepartmentUserUpdateCmd) {
+ DomainDepartmentUserE domainDepartmentUserE = new DomainDepartmentUserE();
+ BeanUtils.copyProperties(domainDepartmentUserUpdateCmd, domainDepartmentUserE);
+ boolean res = domainDepartmentUserGateway.update(domainDepartmentUserE);
+ if (!res) {
+ throw new BizException("修改失败");
+ }
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/DomainGroupAddExe.java b/web-app/src/main/java/com/zcloud/domain/command/DomainGroupAddExe.java
new file mode 100644
index 0000000..efc3137
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/DomainGroupAddExe.java
@@ -0,0 +1,61 @@
+package com.zcloud.domain.command;
+
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.command.convertor.DomainGroupUserCoConvertor;
+import com.zcloud.domain.domain.gateway.DomainGroupGateway;
+import com.zcloud.domain.domain.model.DomainGroupE;
+import com.zcloud.domain.dto.DomainDepartmentUserAddCmd;
+import com.zcloud.domain.dto.DomainGroupAddCmd;
+import com.zcloud.domain.dto.DomainGroupUserAddCmd;
+import com.zcloud.domain.persistence.dataobject.DomainDepartmentUserDO;
+import com.zcloud.domain.persistence.dataobject.DomainGroupUserDO;
+import com.zcloud.domain.persistence.repository.DomainGroupUserRepository;
+import com.zcloud.gbscommon.utils.Tools;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:27
+ */
+@Component
+@AllArgsConstructor
+public class DomainGroupAddExe {
+ private final DomainGroupGateway domainGroupGateway;
+ private final DomainGroupUserRepository domainGroupUserRepository;
+ private final DomainGroupUserCoConvertor domainDepartmentUserCoConvertor;
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(DomainGroupAddCmd cmd) {
+ DomainGroupE domainGroupE = new DomainGroupE();
+ BeanUtils.copyProperties(cmd, domainGroupE);
+ boolean res = false;
+ try {
+ res = domainGroupGateway.add(domainGroupE);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ if (!res) {
+ throw new BizException("保存失败");
+ }
+ List domainGroupUserAddCmdList = cmd.getDomainGroupUserAddCmdList();
+
+ List domainGroupUserDOList =domainDepartmentUserCoConvertor.converCmdsToDOs(domainGroupUserAddCmdList);
+ domainGroupUserDOList.forEach(
+ domainGroupUserDO -> {
+ domainGroupUserDO.setDomainGroupId(domainGroupE.getDomainGroupId());
+ domainGroupUserDO.setDomainGroupUserId(Tools.get32UUID());
+ }
+ );
+ domainGroupUserRepository.saveBatch(domainGroupUserDOList);
+ return true;
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/RiskPointRemoveExe.java b/web-app/src/main/java/com/zcloud/domain/command/DomainGroupRemoveExe.java
similarity index 61%
rename from web-app/src/main/java/com/zcloud/domain/command/RiskPointRemoveExe.java
rename to web-app/src/main/java/com/zcloud/domain/command/DomainGroupRemoveExe.java
index 4812f0d..389fa74 100644
--- a/web-app/src/main/java/com/zcloud/domain/command/RiskPointRemoveExe.java
+++ b/web-app/src/main/java/com/zcloud/domain/command/DomainGroupRemoveExe.java
@@ -1,33 +1,39 @@
package com.zcloud.domain.command;
import com.alibaba.cola.exception.BizException;
-import com.zcloud.domain.domain.gateway.RiskPointGateway;
+import com.zcloud.domain.domain.gateway.DomainGroupGateway;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
+
/**
- * 风险点新增执行器
- * @author lin
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:27
*/
@Component
@AllArgsConstructor
-public class RiskPointRemoveExe {
- private final RiskPointGateway riskPointGateway;
+public class DomainGroupRemoveExe {
+ private final DomainGroupGateway domainGroupGateway;
+
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long id) {
- boolean res = riskPointGateway.deletedRiskPointById(id);
- if(!res){
+ boolean res = domainGroupGateway.deletedDomainGroupById(id);
+ if (!res) {
throw new BizException("删除失败");
}
return true;
}
+
@Transactional(rollbackFor = Exception.class)
public boolean execute(Long[] ids) {
- boolean res = riskPointGateway.deletedRiskPointByIds(ids);
- if(!res){
+ boolean res = domainGroupGateway.deletedDomainGroupByIds(ids);
+ if (!res) {
throw new BizException("删除失败");
}
return true;
}
}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/DomainGroupUpdateExe.java b/web-app/src/main/java/com/zcloud/domain/command/DomainGroupUpdateExe.java
new file mode 100644
index 0000000..2698074
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/DomainGroupUpdateExe.java
@@ -0,0 +1,85 @@
+package com.zcloud.domain.command;
+
+import cn.hutool.core.collection.CollUtil;
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.command.convertor.DomainGroupUserCoConvertor;
+import com.zcloud.domain.domain.gateway.DomainGroupGateway;
+import com.zcloud.domain.domain.model.DomainGroupE;
+import com.zcloud.domain.dto.DomainDepartmentUserAddCmd;
+import com.zcloud.domain.dto.DomainGroupUpdateCmd;
+import com.zcloud.domain.dto.DomainGroupUserAddCmd;
+import com.zcloud.domain.persistence.dataobject.*;
+import com.zcloud.domain.persistence.repository.DomainGroupRepository;
+import com.zcloud.domain.persistence.repository.DomainGroupUserRepository;
+import com.zcloud.domain.persistence.repository.ProjectTaskGroupUserRepository;
+import com.zcloud.gbscommon.utils.Tools;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:28
+ */
+@Component
+@AllArgsConstructor
+public class DomainGroupUpdateExe {
+ private final DomainGroupGateway domainGroupGateway;
+ private final DomainGroupRepository domainGroupRepository;
+ private final DomainGroupUserCoConvertor domainDepartmentUserCoConvertor;
+ private final DomainGroupUserRepository domainGroupUserRepository;
+ private final ProjectTaskGroupUserRepository projectTaskGroupUserRepository;
+
+ @Transactional(rollbackFor = Exception.class)
+ public void execute(DomainGroupUpdateCmd domainGroupUpdateCmd) {
+ DomainGroupDO info = domainGroupRepository.getById(domainGroupUpdateCmd.getId());
+ if (info == null) {
+ throw new BizException("领域组不存在");
+ }
+ DomainGroupE domainGroupE = new DomainGroupE();
+ BeanUtils.copyProperties(domainGroupUpdateCmd, domainGroupE);
+ boolean res = domainGroupGateway.update(domainGroupE);
+ if (!res) {
+ throw new BizException("修改失败");
+ }
+ // 如果删除的用户存在未完成的课题任务,不能删除
+ List domainGroupUserDOList = domainGroupUserRepository.getListByGroupId(info.getDomainGroupId());
+ //获取所有userId
+ List oldUserIdList = domainGroupUserDOList.stream().map(DomainGroupUserDO::getUserId).collect(Collectors.toList());
+ List domainGroupUserAddCmdList1 = domainGroupUpdateCmd.getDomainGroupUserAddCmdList();
+ List newUserIdList = domainGroupUserAddCmdList1.stream().map(DomainGroupUserAddCmd::getUserId).collect(Collectors.toList());
+
+ if(CollUtil.isNotEmpty(oldUserIdList)){
+ //获取删除的用户id,newUserIdList中不在oldUserIdList中的用户id
+ List deleteUserIdList = oldUserIdList.stream().filter(userId -> !newUserIdList.contains(userId)).collect(Collectors.toList());
+ //
+ List projectTaskGroupUserDOList =projectTaskGroupUserRepository.getListByUserIdList(deleteUserIdList);
+ if(CollUtil.isNotEmpty(projectTaskGroupUserDOList)){
+ //获取按照userId去重,然后获取所有用户名称
+ List userNameList = projectTaskGroupUserDOList.stream().map(ProjectTaskGroupUserDO::getUserName).distinct().collect(Collectors.toList());
+ throw new BizException(userNameList+"下有未完成课题任务,不能删除");
+ }
+ }
+
+ //删除
+ domainGroupUserRepository.deleteByDomainGroupId(info.getDomainGroupId());
+ List domainGroupUserAddCmdList = domainGroupUpdateCmd.getDomainGroupUserAddCmdList();
+
+ List domainGroupUserDOListResp =domainDepartmentUserCoConvertor.converCmdsToDOs(domainGroupUserAddCmdList);
+ domainGroupUserDOListResp.forEach(
+ domainGroupUserDO -> {
+ domainGroupUserDO.setDomainGroupId(info.getDomainGroupId());
+ domainGroupUserDO.setDomainGroupUserId(Tools.get32UUID());
+ }
+ );
+ domainGroupUserRepository.saveBatch(domainGroupUserDOListResp);
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/RiskPointAddExe.java b/web-app/src/main/java/com/zcloud/domain/command/DomainGroupUserAddExe.java
similarity index 51%
rename from web-app/src/main/java/com/zcloud/domain/command/RiskPointAddExe.java
rename to web-app/src/main/java/com/zcloud/domain/command/DomainGroupUserAddExe.java
index f58d972..5d0ec58 100644
--- a/web-app/src/main/java/com/zcloud/domain/command/RiskPointAddExe.java
+++ b/web-app/src/main/java/com/zcloud/domain/command/DomainGroupUserAddExe.java
@@ -1,31 +1,33 @@
package com.zcloud.domain.command;
import com.alibaba.cola.exception.BizException;
-import com.zcloud.domain.domain.gateway.RiskPointGateway;
-import com.zcloud.domain.domain.model.RiskPointE;
-import com.zcloud.domain.dto.RiskPointAddCmd;
+import com.zcloud.domain.domain.gateway.DomainGroupUserGateway;
+import com.zcloud.domain.domain.model.DomainGroupUserE;
+import com.zcloud.domain.dto.DomainGroupUserAddCmd;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
+
/**
- * 风险点新增执行器
+ * web-app
*
- * @author lin
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:42
*/
@Component
@AllArgsConstructor
-public class RiskPointAddExe {
- private final RiskPointGateway riskPointGateway;
+public class DomainGroupUserAddExe {
+ private final DomainGroupUserGateway domainGroupUserGateway;
@Transactional(rollbackFor = Exception.class)
- public boolean execute(RiskPointAddCmd cmd) {
- RiskPointE examTypeE = new RiskPointE();
- BeanUtils.copyProperties(cmd, examTypeE);
+ public boolean execute(DomainGroupUserAddCmd cmd) {
+ DomainGroupUserE domainGroupUserE = new DomainGroupUserE();
+ BeanUtils.copyProperties(cmd, domainGroupUserE);
boolean res = false;
try {
- res = riskPointGateway.add(examTypeE);
+ res = domainGroupUserGateway.add(domainGroupUserE);
} catch (Exception e) {
throw new RuntimeException(e);
}
@@ -35,3 +37,4 @@ public class RiskPointAddExe {
return true;
}
}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/DomainGroupUserRemoveExe.java b/web-app/src/main/java/com/zcloud/domain/command/DomainGroupUserRemoveExe.java
new file mode 100644
index 0000000..122dff4
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/DomainGroupUserRemoveExe.java
@@ -0,0 +1,39 @@
+package com.zcloud.domain.command;
+
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.domain.gateway.DomainGroupUserGateway;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:43
+ */
+@Component
+@AllArgsConstructor
+public class DomainGroupUserRemoveExe {
+ private final DomainGroupUserGateway domainGroupUserGateway;
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(Long id) {
+ boolean res = domainGroupUserGateway.deletedDomainGroupUserById(id);
+ if (!res) {
+ throw new BizException("删除失败");
+ }
+ return true;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(Long[] ids) {
+ boolean res = domainGroupUserGateway.deletedDomainGroupUserByIds(ids);
+ if (!res) {
+ throw new BizException("删除失败");
+ }
+ return true;
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/DomainGroupUserUpdateExe.java b/web-app/src/main/java/com/zcloud/domain/command/DomainGroupUserUpdateExe.java
new file mode 100644
index 0000000..1f14854
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/DomainGroupUserUpdateExe.java
@@ -0,0 +1,34 @@
+package com.zcloud.domain.command;
+
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.domain.gateway.DomainGroupUserGateway;
+import com.zcloud.domain.domain.model.DomainGroupUserE;
+import com.zcloud.domain.dto.DomainGroupUserUpdateCmd;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:43
+ */
+@Component
+@AllArgsConstructor
+public class DomainGroupUserUpdateExe {
+ private final DomainGroupUserGateway domainGroupUserGateway;
+
+ @Transactional(rollbackFor = Exception.class)
+ public void execute(DomainGroupUserUpdateCmd domainGroupUserUpdateCmd) {
+ DomainGroupUserE domainGroupUserE = new DomainGroupUserE();
+ BeanUtils.copyProperties(domainGroupUserUpdateCmd, domainGroupUserE);
+ boolean res = domainGroupUserGateway.update(domainGroupUserE);
+ if (!res) {
+ throw new BizException("修改失败");
+ }
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskAddExe.java b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskAddExe.java
new file mode 100644
index 0000000..18e7617
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskAddExe.java
@@ -0,0 +1,128 @@
+package com.zcloud.domain.command;
+
+import cn.hutool.core.collection.CollUtil;
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.command.convertor.ProjectTaskGroupUserCoConvertor;
+import com.zcloud.domain.command.convertor.ProjectTaskInfoCoConvertor;
+import com.zcloud.domain.command.convertor.ProjectTaskScoreInfoCoConvertor;
+import com.zcloud.domain.domain.enums.CommonFlagEnum;
+import com.zcloud.domain.domain.enums.ProjectTaskExecuteStatusEnum;
+import com.zcloud.domain.domain.gateway.ProjectTaskGateway;
+import com.zcloud.domain.domain.model.ProjectTaskE;
+import com.zcloud.domain.dto.ProjectTaskAddCmd;
+import com.zcloud.domain.dto.ProjectTaskGroupUserAddCmd;
+import com.zcloud.domain.dto.ProjectTaskInfoAddCmd;
+import com.zcloud.domain.dto.ProjectTaskScoreInfoAddCmd;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskGroupUserDO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskInfoDO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO;
+import com.zcloud.domain.persistence.repository.ProjectTaskGroupUserRepository;
+import com.zcloud.domain.persistence.repository.ProjectTaskInfoRepository;
+import com.zcloud.domain.persistence.repository.ProjectTaskScoreInfoRepository;
+import com.zcloud.gbscommon.utils.Tools;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:41
+ */
+@Component
+@AllArgsConstructor
+public class ProjectTaskAddExe {
+ private final ProjectTaskGateway projectTaskGateway;
+ private final ProjectTaskGroupUserCoConvertor projectTaskGroupUserCoConvertor;
+ private final ProjectTaskGroupUserRepository projectTaskGroupUserRepository;
+ private final ProjectTaskInfoCoConvertor projectTaskInfoCoConvertor;
+ private final ProjectTaskInfoRepository projectTaskInfoRepository;
+ private final ProjectTaskScoreInfoRepository projectTaskScoreInfoRepository;
+ private final ProjectTaskScoreInfoCoConvertor projectTaskScoreInfoCoConvertor;
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(ProjectTaskAddCmd cmd) {
+ ProjectTaskE projectTaskE = new ProjectTaskE();
+ BeanUtils.copyProperties(cmd, projectTaskE);
+ boolean res = false;
+ try {
+ res = projectTaskGateway.add(projectTaskE);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ if (!res) {
+ throw new BizException("保存失败");
+ }
+ //新增详细信息
+ List projectTaskInfoAddCmdList = cmd.getProjectTaskInfoAddCmdList();
+ List projectTaskGroupUserAddCmdList = cmd.getProjectTaskGroupUserAddCmdList();
+ List projectTaskScoreInfoAddCmdList = cmd.getProjectTaskScoreInfoAddCmdList();
+ if(CollUtil.isEmpty(projectTaskGroupUserAddCmdList) && CollUtil.isEmpty(projectTaskScoreInfoAddCmdList)){
+ throw new BizException("请选择对应人员信息");
+ }
+ if(CollUtil.isNotEmpty(projectTaskInfoAddCmdList)){
+
+ List projectTaskInfoDOList =projectTaskInfoCoConvertor.converCmdsToDOs(projectTaskInfoAddCmdList);
+ projectTaskInfoDOList.forEach(
+ info -> {
+ info.setProjectTaskId(projectTaskE.getProjectTaskId());
+ info.setProjectTaskInfoId(Tools.get32UUID());
+ }
+ );
+ projectTaskInfoRepository.saveBatch(projectTaskInfoDOList);
+ }
+ if(CollUtil.isNotEmpty(projectTaskGroupUserAddCmdList)){
+ List projectTaskGroupUserDOList =projectTaskGroupUserCoConvertor.converCmdsToDOs(projectTaskGroupUserAddCmdList);
+ projectTaskGroupUserDOList.forEach(
+ info -> {
+ info.setProjectTaskId(projectTaskE.getProjectTaskId());
+ info.setExecuteCorpinfoId(projectTaskE.getExecuteCorpinfoId());
+ info.setDomainGroupId(projectTaskE.getDomainGroupId());
+ info.setProjectTaskGroupUserId(Tools.get32UUID());
+ }
+ );
+ projectTaskGroupUserRepository.saveBatch(projectTaskGroupUserDOList);
+ }
+
+ //新增领域组人员信息
+ if(CollUtil.isNotEmpty(projectTaskScoreInfoAddCmdList)){
+ //新增评审人员信息
+ List projectTaskScoreInfoDOList = projectTaskScoreInfoCoConvertor.converCmdsToDOs(projectTaskScoreInfoAddCmdList);
+ projectTaskScoreInfoDOList.forEach(
+ info -> {
+ info.setProjectTaskId(projectTaskE.getProjectTaskId());
+ info.setProjectTaskScoreInfoId(Tools.get32UUID());
+ }
+ );
+ projectTaskScoreInfoRepository.saveBatch(projectTaskScoreInfoDOList);
+ }
+
+ //修改状态
+ if (CollUtil.isNotEmpty(projectTaskGroupUserAddCmdList) && CollUtil.isNotEmpty(projectTaskScoreInfoAddCmdList)) {
+ // 两个列表都不为空,设置为WAIT_PERFECT状态
+ //如果当前时间大于开始时间,状态是开始状态
+ if (new Date().compareTo(projectTaskE.getExecutedStartDate()) >= 0) {
+ projectTaskE.setExecuteStatus(ProjectTaskExecuteStatusEnum.EXECUTING.getCode());
+ }else{
+ projectTaskE.setExecuteStatus(ProjectTaskExecuteStatusEnum.WAIT_PERFECT.getCode());
+ }
+ } else if (CollUtil.isNotEmpty(projectTaskGroupUserAddCmdList) && CollUtil.isEmpty(projectTaskScoreInfoAddCmdList)) {
+ // 只有group user列表不为空,等待评分设置
+ projectTaskE.setExecuteStatus(ProjectTaskExecuteStatusEnum.SCORE_WAIT_SET.getCode());
+ } else if (CollUtil.isEmpty(projectTaskGroupUserAddCmdList) && CollUtil.isNotEmpty(projectTaskScoreInfoAddCmdList)) {
+ // 只有score info列表不为空,等待项目组设置
+ projectTaskE.setExecuteStatus(ProjectTaskExecuteStatusEnum.PROJECT_GROUP_WAIT_SET.getCode());
+ }
+
+ projectTaskGateway.update(projectTaskE);
+ return true;
+
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskGroupUserAddExe.java b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskGroupUserAddExe.java
new file mode 100644
index 0000000..900c85e
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskGroupUserAddExe.java
@@ -0,0 +1,89 @@
+package com.zcloud.domain.command;
+
+import cn.hutool.core.collection.CollUtil;
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.command.convertor.ProjectTaskGroupUserCoConvertor;
+import com.zcloud.domain.domain.enums.ProjectTaskExecuteStatusEnum;
+import com.zcloud.domain.domain.gateway.ProjectTaskGroupUserGateway;
+import com.zcloud.domain.domain.model.ProjectTaskGroupUserE;
+import com.zcloud.domain.dto.ProjectTaskDetailAddCmd;
+import com.zcloud.domain.dto.ProjectTaskGroupUserAddCmd;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskGroupUserDO;
+import com.zcloud.domain.persistence.repository.ProjectTaskGroupUserRepository;
+import com.zcloud.domain.persistence.repository.ProjectTaskRepository;
+import com.zcloud.gbscommon.utils.Tools;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:09
+ */
+@Component
+@AllArgsConstructor
+public class ProjectTaskGroupUserAddExe {
+ private final ProjectTaskGroupUserGateway projectTaskGroupUserGateway;
+ private final ProjectTaskGroupUserCoConvertor projectTaskGroupUserCoConvertor;
+ private final ProjectTaskGroupUserRepository projectTaskGroupUserRepository;
+ private final ProjectTaskRepository projectTaskRepository;
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(ProjectTaskGroupUserAddCmd cmd) {
+ ProjectTaskGroupUserE projectTaskGroupUserE = new ProjectTaskGroupUserE();
+ BeanUtils.copyProperties(cmd, projectTaskGroupUserE);
+ boolean res = false;
+ try {
+ res = projectTaskGroupUserGateway.add(projectTaskGroupUserE);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ if (!res) {
+ throw new BizException("保存失败");
+ }
+ return true;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public void saveGroupUser(ProjectTaskDetailAddCmd cmd) {
+
+ List projectTaskGroupUserAddCmdList = cmd.getProjectTaskGroupUserAddCmdList();
+ if(CollUtil.isEmpty(projectTaskGroupUserAddCmdList)){
+ throw new BizException("请选择领域组成员");
+ }
+ List projectTaskGroupUserDOList = projectTaskGroupUserCoConvertor.converCmdsToDOs(projectTaskGroupUserAddCmdList);
+ projectTaskGroupUserDOList.forEach(
+ info -> {
+ info.setProjectTaskGroupUserId(Tools.get32UUID());
+ info.setProjectTaskId(cmd.getProjectTaskId());
+ info.setDomainGroupId(cmd.getDomainGroupId());
+ info.setExecuteCorpinfoId(cmd.getExecuteCorpinfoId());
+ }
+ );
+ projectTaskGroupUserRepository.saveBatch(projectTaskGroupUserDOList);
+
+
+ ProjectTaskDO projectTaskDO = projectTaskRepository.getInfoByTaskId(cmd.getProjectTaskId());
+ if(projectTaskDO== null){
+ throw new BizException("课题任务不存在");
+ }
+ Integer code = projectTaskDO.getExecuteStatus();
+ if (new Date().compareTo(projectTaskDO.getExecutedStartDate()) >= 0) {
+ code = ProjectTaskExecuteStatusEnum.EXECUTING.getCode();
+ }else{
+ code = ProjectTaskExecuteStatusEnum.WAIT_PERFECT.getCode();
+ }
+ projectTaskRepository.updateExecuteStatusBatchById(code, Arrays.asList(projectTaskDO.getId()));
+
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskGroupUserRemoveExe.java b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskGroupUserRemoveExe.java
new file mode 100644
index 0000000..d0e5636
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskGroupUserRemoveExe.java
@@ -0,0 +1,39 @@
+package com.zcloud.domain.command;
+
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.domain.gateway.ProjectTaskGroupUserGateway;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:09
+ */
+@Component
+@AllArgsConstructor
+public class ProjectTaskGroupUserRemoveExe {
+ private final ProjectTaskGroupUserGateway projectTaskGroupUserGateway;
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(Long id) {
+ boolean res = projectTaskGroupUserGateway.deletedProjectTaskGroupUserById(id);
+ if (!res) {
+ throw new BizException("删除失败");
+ }
+ return true;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(Long[] ids) {
+ boolean res = projectTaskGroupUserGateway.deletedProjectTaskGroupUserByIds(ids);
+ if (!res) {
+ throw new BizException("删除失败");
+ }
+ return true;
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskGroupUserUpdateExe.java b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskGroupUserUpdateExe.java
new file mode 100644
index 0000000..de9f401
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskGroupUserUpdateExe.java
@@ -0,0 +1,34 @@
+package com.zcloud.domain.command;
+
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.domain.gateway.ProjectTaskGroupUserGateway;
+import com.zcloud.domain.domain.model.ProjectTaskGroupUserE;
+import com.zcloud.domain.dto.ProjectTaskGroupUserUpdateCmd;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:09
+ */
+@Component
+@AllArgsConstructor
+public class ProjectTaskGroupUserUpdateExe {
+ private final ProjectTaskGroupUserGateway projectTaskGroupUserGateway;
+
+ @Transactional(rollbackFor = Exception.class)
+ public void execute(ProjectTaskGroupUserUpdateCmd projectTaskGroupUserUpdateCmd) {
+ ProjectTaskGroupUserE projectTaskGroupUserE = new ProjectTaskGroupUserE();
+ BeanUtils.copyProperties(projectTaskGroupUserUpdateCmd, projectTaskGroupUserE);
+ boolean res = projectTaskGroupUserGateway.update(projectTaskGroupUserE);
+ if (!res) {
+ throw new BizException("修改失败");
+ }
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskInfoAddExe.java b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskInfoAddExe.java
new file mode 100644
index 0000000..1601c2d
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskInfoAddExe.java
@@ -0,0 +1,40 @@
+package com.zcloud.domain.command;
+
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.domain.gateway.ProjectTaskInfoGateway;
+import com.zcloud.domain.domain.model.ProjectTaskInfoE;
+import com.zcloud.domain.dto.ProjectTaskInfoAddCmd;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:29
+ */
+@Component
+@AllArgsConstructor
+public class ProjectTaskInfoAddExe {
+ private final ProjectTaskInfoGateway projectTaskInfoGateway;
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(ProjectTaskInfoAddCmd cmd) {
+ ProjectTaskInfoE projectTaskInfoE = new ProjectTaskInfoE();
+ BeanUtils.copyProperties(cmd, projectTaskInfoE);
+ boolean res = false;
+ try {
+ res = projectTaskInfoGateway.add(projectTaskInfoE);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ if (!res) {
+ throw new BizException("保存失败");
+ }
+ return true;
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskInfoRemoveExe.java b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskInfoRemoveExe.java
new file mode 100644
index 0000000..b70c70e
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskInfoRemoveExe.java
@@ -0,0 +1,39 @@
+package com.zcloud.domain.command;
+
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.domain.gateway.ProjectTaskInfoGateway;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:29
+ */
+@Component
+@AllArgsConstructor
+public class ProjectTaskInfoRemoveExe {
+ private final ProjectTaskInfoGateway projectTaskInfoGateway;
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(Long id) {
+ boolean res = projectTaskInfoGateway.deletedProjectTaskInfoById(id);
+ if (!res) {
+ throw new BizException("删除失败");
+ }
+ return true;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(Long[] ids) {
+ boolean res = projectTaskInfoGateway.deletedProjectTaskInfoByIds(ids);
+ if (!res) {
+ throw new BizException("删除失败");
+ }
+ return true;
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskInfoUpdateExe.java b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskInfoUpdateExe.java
new file mode 100644
index 0000000..d4f970f
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskInfoUpdateExe.java
@@ -0,0 +1,34 @@
+package com.zcloud.domain.command;
+
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.domain.gateway.ProjectTaskInfoGateway;
+import com.zcloud.domain.domain.model.ProjectTaskInfoE;
+import com.zcloud.domain.dto.ProjectTaskInfoUpdateCmd;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:30
+ */
+@Component
+@AllArgsConstructor
+public class ProjectTaskInfoUpdateExe {
+ private final ProjectTaskInfoGateway projectTaskInfoGateway;
+
+ @Transactional(rollbackFor = Exception.class)
+ public void execute(ProjectTaskInfoUpdateCmd projectTaskInfoUpdateCmd) {
+ ProjectTaskInfoE projectTaskInfoE = new ProjectTaskInfoE();
+ BeanUtils.copyProperties(projectTaskInfoUpdateCmd, projectTaskInfoE);
+ boolean res = projectTaskInfoGateway.update(projectTaskInfoE);
+ if (!res) {
+ throw new BizException("修改失败");
+ }
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskRemoveExe.java b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskRemoveExe.java
new file mode 100644
index 0000000..2e03ee0
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskRemoveExe.java
@@ -0,0 +1,51 @@
+package com.zcloud.domain.command;
+
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.domain.enums.ProjectTaskExecuteStatusEnum;
+import com.zcloud.domain.domain.gateway.ProjectTaskGateway;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
+import com.zcloud.domain.persistence.repository.ProjectTaskRepository;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:41
+ */
+@Component
+@AllArgsConstructor
+public class ProjectTaskRemoveExe {
+ private final ProjectTaskGateway projectTaskGateway;
+ private final ProjectTaskRepository projectTaskRepository;
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(Long id) {
+ ProjectTaskDO info = projectTaskRepository.getById(id);
+ if (info == null) {
+ throw new BizException("数据不存在");
+ }
+ if(ProjectTaskExecuteStatusEnum.FINISHED.getCode().equals(info.getExecuteStatus())){
+ throw new BizException("已结束的课题不能删除");
+ }
+
+ boolean res = projectTaskGateway.deletedProjectTaskById(id);
+ if (!res) {
+ throw new BizException("删除失败");
+ }
+ return true;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(Long[] ids) {
+ boolean res = projectTaskGateway.deletedProjectTaskByIds(ids);
+ if (!res) {
+ throw new BizException("删除失败");
+ }
+ return true;
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskScoreInfoAddExe.java b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskScoreInfoAddExe.java
new file mode 100644
index 0000000..d602b72
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskScoreInfoAddExe.java
@@ -0,0 +1,90 @@
+package com.zcloud.domain.command;
+
+import cn.hutool.core.collection.CollUtil;
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.command.convertor.ProjectTaskScoreInfoCoConvertor;
+import com.zcloud.domain.domain.enums.ProjectTaskExecuteStatusEnum;
+import com.zcloud.domain.domain.gateway.ProjectTaskScoreInfoGateway;
+import com.zcloud.domain.domain.model.ProjectTaskScoreInfoE;
+import com.zcloud.domain.dto.ProjectTaskDetailAddCmd;
+import com.zcloud.domain.dto.ProjectTaskGroupUserAddCmd;
+import com.zcloud.domain.dto.ProjectTaskScoreInfoAddCmd;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskGroupUserDO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO;
+import com.zcloud.domain.persistence.repository.ProjectTaskRepository;
+import com.zcloud.domain.persistence.repository.ProjectTaskScoreInfoRepository;
+import com.zcloud.gbscommon.utils.Tools;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:45
+ */
+@Component
+@AllArgsConstructor
+public class ProjectTaskScoreInfoAddExe {
+ private final ProjectTaskScoreInfoGateway projectTaskScoreInfoGateway;
+ private final ProjectTaskScoreInfoCoConvertor projectTaskScoreInfoCoConvertor;
+ private final ProjectTaskScoreInfoRepository projectTaskScoreInfoRepository;
+ private final ProjectTaskRepository projectTaskRepository;
+
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(ProjectTaskScoreInfoAddCmd cmd) {
+ ProjectTaskScoreInfoE projectTaskScoreInfoE = new ProjectTaskScoreInfoE();
+ BeanUtils.copyProperties(cmd, projectTaskScoreInfoE);
+ boolean res = false;
+ try {
+ res = projectTaskScoreInfoGateway.add(projectTaskScoreInfoE);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ if (!res) {
+ throw new BizException("保存失败");
+ }
+ return true;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public void saveScoreUser(ProjectTaskDetailAddCmd cmd) {
+
+ List projectTaskScoreInfoAddCmdList = cmd.getProjectTaskScoreInfoAddCmdList();
+ if(CollUtil.isEmpty(projectTaskScoreInfoAddCmdList)){
+ throw new BizException("请选择评分组成员");
+ }
+ List projectTaskScoreInfoDOList = projectTaskScoreInfoCoConvertor.converCmdsToDOs(projectTaskScoreInfoAddCmdList);
+ projectTaskScoreInfoDOList.forEach(
+ info -> {
+ info.setProjectTaskScoreInfoId(Tools.get32UUID());
+ info.setProjectTaskId(cmd.getProjectTaskId());
+ }
+ );
+ projectTaskScoreInfoRepository.saveBatch(projectTaskScoreInfoDOList);
+
+
+ ProjectTaskDO projectTaskDO = projectTaskRepository.getInfoByTaskId(cmd.getProjectTaskId());
+ if(projectTaskDO== null){
+ throw new BizException("课题任务不存在");
+ }
+ Integer code = projectTaskDO.getExecuteStatus();
+ if (new Date().compareTo(projectTaskDO.getExecutedStartDate()) >= 0) {
+ code = ProjectTaskExecuteStatusEnum.EXECUTING.getCode();
+ }else{
+ code = ProjectTaskExecuteStatusEnum.WAIT_PERFECT.getCode();
+ }
+ projectTaskRepository.updateExecuteStatusBatchById(code, Arrays.asList(projectTaskDO.getId()));
+
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskScoreInfoRemoveExe.java b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskScoreInfoRemoveExe.java
new file mode 100644
index 0000000..a93020c
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskScoreInfoRemoveExe.java
@@ -0,0 +1,39 @@
+package com.zcloud.domain.command;
+
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.domain.gateway.ProjectTaskScoreInfoGateway;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:46
+ */
+@Component
+@AllArgsConstructor
+public class ProjectTaskScoreInfoRemoveExe {
+ private final ProjectTaskScoreInfoGateway projectTaskScoreInfoGateway;
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(Long id) {
+ boolean res = projectTaskScoreInfoGateway.deletedProjectTaskScoreInfoById(id);
+ if (!res) {
+ throw new BizException("删除失败");
+ }
+ return true;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean execute(Long[] ids) {
+ boolean res = projectTaskScoreInfoGateway.deletedProjectTaskScoreInfoByIds(ids);
+ if (!res) {
+ throw new BizException("删除失败");
+ }
+ return true;
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskScoreInfoUpdateExe.java b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskScoreInfoUpdateExe.java
new file mode 100644
index 0000000..14b89d9
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskScoreInfoUpdateExe.java
@@ -0,0 +1,70 @@
+package com.zcloud.domain.command;
+
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.domain.enums.CommonFlagEnum;
+import com.zcloud.domain.domain.gateway.ProjectTaskScoreInfoGateway;
+import com.zcloud.domain.domain.model.ProjectTaskScoreInfoE;
+import com.zcloud.domain.dto.ProjectTaskScoreInfoUpdateCmd;
+import com.zcloud.domain.dto.ProjectTaskSetScoreCmd;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO;
+import com.zcloud.domain.persistence.repository.ProjectTaskRepository;
+import com.zcloud.domain.persistence.repository.ProjectTaskScoreInfoRepository;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.List;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:46
+ */
+@Component
+@AllArgsConstructor
+public class ProjectTaskScoreInfoUpdateExe {
+ private final ProjectTaskScoreInfoGateway projectTaskScoreInfoGateway;
+ private final ProjectTaskScoreInfoRepository projectTaskScoreInfoRepository;
+ private final ProjectTaskRepository projectTaskRepository;
+
+ @Transactional(rollbackFor = Exception.class)
+ public void execute(ProjectTaskScoreInfoUpdateCmd projectTaskScoreInfoUpdateCmd) {
+ ProjectTaskScoreInfoE projectTaskScoreInfoE = new ProjectTaskScoreInfoE();
+ BeanUtils.copyProperties(projectTaskScoreInfoUpdateCmd, projectTaskScoreInfoE);
+ boolean res = projectTaskScoreInfoGateway.update(projectTaskScoreInfoE);
+ if (!res) {
+ throw new BizException("修改失败");
+ }
+ }
+
+ public void setScore(ProjectTaskSetScoreCmd projectTaskSetScoreCmd) {
+ ProjectTaskScoreInfoDO info = projectTaskScoreInfoRepository.getById(projectTaskSetScoreCmd.getId());
+ if(info == null){
+ throw new BizException("数据不存在");
+ }
+ ProjectTaskScoreInfoE projectTaskScoreInfoE = new ProjectTaskScoreInfoE();
+ BeanUtils.copyProperties(projectTaskSetScoreCmd, projectTaskScoreInfoE);
+ boolean res = projectTaskScoreInfoGateway.update(projectTaskScoreInfoE);
+ if (!res) {
+ throw new BizException("评分失败");
+ }
+ //判断是否所有人都评分完成,如果完成则修改任务状态为完成
+ List listByTaskId = projectTaskScoreInfoRepository.getListByTaskId(info.getProjectTaskId());
+ if(listByTaskId.size()==listByTaskId.stream().filter(item -> item.getScore() != null).count()){
+ BigDecimal totalScore = listByTaskId.stream()
+ .map(ProjectTaskScoreInfoDO::getScore)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+
+ // 计算平均分并保留两位小数
+ BigDecimal averageScore = totalScore.divide(new BigDecimal(listByTaskId.size()),2,RoundingMode.HALF_UP);
+
+ projectTaskRepository.updateScoreStatus(info.getProjectTaskId(), CommonFlagEnum.YES.getCode(),averageScore);
+ }
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskUpdateExe.java b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskUpdateExe.java
new file mode 100644
index 0000000..a2c6eaa
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskUpdateExe.java
@@ -0,0 +1,170 @@
+package com.zcloud.domain.command;
+
+import cn.hutool.core.collection.CollUtil;
+import com.alibaba.cola.exception.BizException;
+import com.zcloud.domain.command.convertor.ProjectTaskGroupUserCoConvertor;
+import com.zcloud.domain.command.convertor.ProjectTaskInfoCoConvertor;
+import com.zcloud.domain.command.convertor.ProjectTaskScoreInfoCoConvertor;
+import com.zcloud.domain.domain.enums.CommonFlagEnum;
+import com.zcloud.domain.domain.enums.ProjectTaskExecuteStatusEnum;
+import com.zcloud.domain.domain.gateway.ProjectTaskGateway;
+import com.zcloud.domain.domain.model.ProjectTaskE;
+import com.zcloud.domain.dto.ProjectTaskGroupUserAddCmd;
+import com.zcloud.domain.dto.ProjectTaskInfoAddCmd;
+import com.zcloud.domain.dto.ProjectTaskScoreInfoAddCmd;
+import com.zcloud.domain.dto.ProjectTaskUpdateCmd;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskGroupUserDO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskInfoDO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO;
+import com.zcloud.domain.persistence.repository.ProjectTaskGroupUserRepository;
+import com.zcloud.domain.persistence.repository.ProjectTaskInfoRepository;
+import com.zcloud.domain.persistence.repository.ProjectTaskRepository;
+import com.zcloud.domain.persistence.repository.ProjectTaskScoreInfoRepository;
+import com.zcloud.gbscommon.utils.Tools;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:41
+ */
+@Component
+@AllArgsConstructor
+public class ProjectTaskUpdateExe {
+ private final ProjectTaskGateway projectTaskGateway;
+ private final ProjectTaskRepository projectTaskRepository;
+ private final ProjectTaskGroupUserCoConvertor projectTaskGroupUserCoConvertor;
+ private final ProjectTaskGroupUserRepository projectTaskGroupUserRepository;
+ private final ProjectTaskInfoCoConvertor projectTaskInfoCoConvertor;
+ private final ProjectTaskInfoRepository projectTaskInfoRepository;
+ private final ProjectTaskScoreInfoRepository projectTaskScoreInfoRepository;
+ private final ProjectTaskScoreInfoCoConvertor projectTaskScoreInfoCoConvertor;
+
+ @Transactional(rollbackFor = Exception.class)
+ public void execute(ProjectTaskUpdateCmd projectTaskUpdateCmd) {
+ ProjectTaskDO projectTaskDO = projectTaskRepository.getById(projectTaskUpdateCmd.getId());
+ if (projectTaskDO == null) {
+ throw new BizException("数据不存在");
+ }
+ if(ProjectTaskExecuteStatusEnum.FINISHED.getCode().equals(projectTaskDO.getExecuteStatus())){
+ throw new BizException("已结束的课题不能删除");
+ }
+
+ ProjectTaskE projectTaskE = new ProjectTaskE();
+ BeanUtils.copyProperties(projectTaskUpdateCmd, projectTaskE);
+ boolean res = projectTaskGateway.update(projectTaskE);
+ if (!res) {
+ throw new BizException("修改失败");
+ }
+
+
+ List projectTaskInfoAddCmdList = projectTaskUpdateCmd.getProjectTaskInfoAddCmdList();
+ List projectTaskGroupUserAddCmdList = projectTaskUpdateCmd.getProjectTaskGroupUserAddCmdList();
+ List projectTaskScoreInfoAddCmdList = projectTaskUpdateCmd.getProjectTaskScoreInfoAddCmdList();
+
+ if(CollUtil.isNotEmpty(projectTaskInfoAddCmdList)){
+ projectTaskInfoRepository.deleteByProjectTaskId(projectTaskDO.getProjectTaskId());
+
+ List projectTaskInfoDOList =projectTaskInfoCoConvertor.converCmdsToDOs(projectTaskInfoAddCmdList);
+ projectTaskInfoDOList.forEach(
+ info -> {
+ info.setProjectTaskId(projectTaskDO.getProjectTaskId());
+ info.setProjectTaskInfoId(Tools.get32UUID());
+ }
+ );
+ projectTaskInfoRepository.saveBatch(projectTaskInfoDOList);
+ }
+ if(CollUtil.isNotEmpty(projectTaskGroupUserAddCmdList)){
+ projectTaskGroupUserRepository.deleteByProjectTaskId(projectTaskDO.getProjectTaskId());
+ List projectTaskGroupUserDOList =projectTaskGroupUserCoConvertor.converCmdsToDOs(projectTaskGroupUserAddCmdList);
+ projectTaskGroupUserDOList.forEach(
+ info -> {
+ info.setProjectTaskId(projectTaskDO.getProjectTaskId());
+ info.setExecuteCorpinfoId(projectTaskE.getExecuteCorpinfoId());
+ info.setDomainGroupId(projectTaskE.getDomainGroupId());
+ info.setProjectTaskGroupUserId(Tools.get32UUID());
+ }
+ );
+ projectTaskGroupUserRepository.saveBatch(projectTaskGroupUserDOList);
+ }
+
+ //新增领域组人员信息
+ if(CollUtil.isNotEmpty(projectTaskScoreInfoAddCmdList)){
+ projectTaskScoreInfoRepository.deleteByProjectTaskId(projectTaskDO.getProjectTaskId());
+ //新增评审人员信息
+ List projectTaskScoreInfoDOList = projectTaskScoreInfoCoConvertor.converCmdsToDOs(projectTaskScoreInfoAddCmdList);
+ projectTaskScoreInfoDOList.forEach(
+ info -> {
+ info.setProjectTaskId(projectTaskDO.getProjectTaskId());
+ info.setProjectTaskScoreInfoId(Tools.get32UUID());
+ }
+ );
+ projectTaskScoreInfoRepository.saveBatch(projectTaskScoreInfoDOList);
+ }
+
+ //修改状态
+ if (CollUtil.isNotEmpty(projectTaskGroupUserAddCmdList) && CollUtil.isNotEmpty(projectTaskScoreInfoAddCmdList)) {
+ // 两个列表都不为空,设置为WAIT_PERFECT状态
+ //如果当前时间大于开始时间,状态是开始状态
+ if (projectTaskE.getExecutedStartDate().before(new Date())) {
+ projectTaskE.setExecuteStatus(ProjectTaskExecuteStatusEnum.EXECUTING.getCode());
+ }else{
+ projectTaskE.setExecuteStatus(ProjectTaskExecuteStatusEnum.WAIT_PERFECT.getCode());
+ }
+ } else if (CollUtil.isNotEmpty(projectTaskGroupUserAddCmdList) && CollUtil.isEmpty(projectTaskScoreInfoAddCmdList)) {
+ // 只有group user列表不为空,等待评分设置
+ projectTaskE.setExecuteStatus(ProjectTaskExecuteStatusEnum.SCORE_WAIT_SET.getCode());
+ } else if (CollUtil.isEmpty(projectTaskGroupUserAddCmdList) && CollUtil.isNotEmpty(projectTaskScoreInfoAddCmdList)) {
+ // 只有score info列表不为空,等待项目组设置
+ projectTaskE.setExecuteStatus(ProjectTaskExecuteStatusEnum.PROJECT_GROUP_WAIT_SET.getCode());
+ }
+
+ projectTaskGateway.update(projectTaskE);
+
+
+
+ }
+
+ public void updatExecuteStatusJob() {
+ /** 定时修改执行状态
+ * 1.查找已完善待执行的,修改为执行中
+ * 2. 查找执行中的,修改为已结束
+ */
+
+ List projectTaskDOList =projectTaskRepository.getWaitPerfectList();
+ if(CollUtil.isNotEmpty(projectTaskDOList)){
+ projectTaskDOList.forEach(info->{
+ info.setExecuteStatus(ProjectTaskExecuteStatusEnum.EXECUTING.getCode());
+ });
+ //获取id list
+ List idList = projectTaskDOList.stream().map(ProjectTaskDO::getId).collect(Collectors.toList());
+ projectTaskRepository.updateExecuteStatusBatchById(ProjectTaskExecuteStatusEnum.EXECUTING.getCode(),idList);
+ }
+
+
+ //评分状态
+ List projectTaskDOExecutingList =projectTaskRepository.getExecutingList();
+
+
+ if(CollUtil.isNotEmpty(projectTaskDOExecutingList)){
+ projectTaskDOExecutingList.forEach(info->{
+ info.setExecuteStatus(ProjectTaskExecuteStatusEnum.FINISHED.getCode());
+ });
+ List idFinishedList = projectTaskDOExecutingList.stream().map(ProjectTaskDO::getId).collect(Collectors.toList());
+ projectTaskRepository.updateExecuteStatusBatchById(ProjectTaskExecuteStatusEnum.FINISHED.getCode(),idFinishedList);
+ }
+
+
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/RiskPointUpdateExe.java b/web-app/src/main/java/com/zcloud/domain/command/RiskPointUpdateExe.java
deleted file mode 100644
index 8b4da3c..0000000
--- a/web-app/src/main/java/com/zcloud/domain/command/RiskPointUpdateExe.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.zcloud.domain.command;
-
-import com.alibaba.cola.exception.BizException;
-import com.zcloud.domain.domain.gateway.RiskPointGateway;
-import com.zcloud.domain.domain.model.RiskPointE;
-import com.zcloud.domain.dto.RiskPointUpdateCmd;
-import lombok.AllArgsConstructor;
-import org.springframework.beans.BeanUtils;
-import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
-
-/**
- * 风险点修改执行器
- *
- * @author lin
- */
-@Component
-@AllArgsConstructor
-public class RiskPointUpdateExe {
- private final RiskPointGateway riskPointGateway;
-
- @Transactional(rollbackFor = Exception.class)
- public void execute(RiskPointUpdateCmd riskPointUpdateCmd) {
- RiskPointE riskPointE = new RiskPointE();
- BeanUtils.copyProperties(riskPointUpdateCmd, riskPointE);
- boolean res = riskPointGateway.update(riskPointE);
- if (!res) {
- throw new BizException("修改失败");
- }
- }
-}
diff --git a/web-app/src/main/java/com/zcloud/domain/command/convertor/DomainDepartmentCoConvertor.java b/web-app/src/main/java/com/zcloud/domain/command/convertor/DomainDepartmentCoConvertor.java
new file mode 100644
index 0000000..2ee05ee
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/convertor/DomainDepartmentCoConvertor.java
@@ -0,0 +1,27 @@
+package com.zcloud.domain.command.convertor;
+
+import com.zcloud.domain.dto.clientobject.DomainDepartmentCO;
+import com.zcloud.domain.dto.clientobject.DomainDepartmentListCO;
+import com.zcloud.domain.persistence.dataobject.DomainDepartmentDO;
+import org.mapstruct.Mapper;
+
+import java.util.List;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:28:51
+ */
+@Mapper(componentModel = "spring")
+public interface DomainDepartmentCoConvertor {
+ /**
+ * @param domainDepartmentDOs
+ * @return
+ */
+ List converDOsToCOs(List domainDepartmentDOs);
+
+ List converDOsToListCOs(List data);
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/convertor/DomainDepartmentUserCoConvertor.java b/web-app/src/main/java/com/zcloud/domain/command/convertor/DomainDepartmentUserCoConvertor.java
new file mode 100644
index 0000000..9c00010
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/convertor/DomainDepartmentUserCoConvertor.java
@@ -0,0 +1,27 @@
+package com.zcloud.domain.command.convertor;
+
+import com.zcloud.domain.dto.DomainDepartmentUserAddCmd;
+import com.zcloud.domain.dto.clientobject.DomainDepartmentUserCO;
+import com.zcloud.domain.persistence.dataobject.DomainDepartmentUserDO;
+import org.mapstruct.Mapper;
+
+import java.util.List;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:09
+ */
+@Mapper(componentModel = "spring")
+public interface DomainDepartmentUserCoConvertor {
+ /**
+ * @param domainDepartmentUserDOs
+ * @return
+ */
+ List converDOsToCOs(List domainDepartmentUserDOs);
+
+ List converCmdsToDOs(List domainDepartmentUserAddCmdList);
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/convertor/DomainGroupCoConvertor.java b/web-app/src/main/java/com/zcloud/domain/command/convertor/DomainGroupCoConvertor.java
new file mode 100644
index 0000000..734c89a
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/convertor/DomainGroupCoConvertor.java
@@ -0,0 +1,27 @@
+package com.zcloud.domain.command.convertor;
+
+import com.zcloud.domain.dto.clientobject.DomainGroupCO;
+import com.zcloud.domain.dto.clientobject.DomainGroupInfoCO;
+import com.zcloud.domain.persistence.dataobject.DomainGroupDO;
+import org.mapstruct.Mapper;
+
+import java.util.List;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:27
+ */
+@Mapper(componentModel = "spring")
+public interface DomainGroupCoConvertor {
+ /**
+ * @param domainGroupDOs
+ * @return
+ */
+ List converDOsToCOs(List domainGroupDOs);
+
+ DomainGroupInfoCO converDOToInfoCO(DomainGroupDO domainGroupDO);
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/convertor/DomainGroupUserCoConvertor.java b/web-app/src/main/java/com/zcloud/domain/command/convertor/DomainGroupUserCoConvertor.java
new file mode 100644
index 0000000..23b7192
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/convertor/DomainGroupUserCoConvertor.java
@@ -0,0 +1,27 @@
+package com.zcloud.domain.command.convertor;
+
+import com.zcloud.domain.dto.DomainGroupUserAddCmd;
+import com.zcloud.domain.dto.clientobject.DomainGroupUserCO;
+import com.zcloud.domain.persistence.dataobject.DomainGroupUserDO;
+import org.mapstruct.Mapper;
+
+import java.util.List;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:42
+ */
+@Mapper(componentModel = "spring")
+public interface DomainGroupUserCoConvertor {
+ /**
+ * @param domainGroupUserDOs
+ * @return
+ */
+ List converDOsToCOs(List domainGroupUserDOs);
+
+ List converCmdsToDOs(List domainGroupUserAddCmdList);
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/convertor/ProjectTaskCoConvertor.java b/web-app/src/main/java/com/zcloud/domain/command/convertor/ProjectTaskCoConvertor.java
new file mode 100644
index 0000000..839c170
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/convertor/ProjectTaskCoConvertor.java
@@ -0,0 +1,27 @@
+package com.zcloud.domain.command.convertor;
+
+import com.zcloud.domain.dto.clientobject.ProjectTaskCO;
+import com.zcloud.domain.dto.clientobject.ProjectTaskDetailsCO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
+import org.mapstruct.Mapper;
+
+import java.util.List;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:41
+ */
+@Mapper(componentModel = "spring")
+public interface ProjectTaskCoConvertor {
+ /**
+ * @param projectTaskDOs
+ * @return
+ */
+ List converDOsToCOs(List projectTaskDOs);
+
+ ProjectTaskDetailsCO converDOToDetailsCO(ProjectTaskDO projectTaskDO);
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/convertor/ProjectTaskGroupUserCoConvertor.java b/web-app/src/main/java/com/zcloud/domain/command/convertor/ProjectTaskGroupUserCoConvertor.java
new file mode 100644
index 0000000..8b961fc
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/convertor/ProjectTaskGroupUserCoConvertor.java
@@ -0,0 +1,29 @@
+package com.zcloud.domain.command.convertor;
+
+import com.zcloud.domain.domain.model.ProjectTaskGroupUserE;
+import com.zcloud.domain.dto.ProjectTaskGroupUserAddCmd;
+import com.zcloud.domain.dto.clientobject.ProjectTaskGroupUserCO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskGroupUserDO;
+import org.mapstruct.Mapper;
+
+import java.util.List;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:09
+ */
+@Mapper(componentModel = "spring")
+public interface ProjectTaskGroupUserCoConvertor {
+ /**
+ * @param projectTaskGroupUserDOs
+ * @return
+ */
+ List converDOsToCOs(List projectTaskGroupUserDOs);
+
+ List converCmdsToDOs(List projectTaskGroupUserAddCmdList);
+
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/convertor/ProjectTaskInfoCoConvertor.java b/web-app/src/main/java/com/zcloud/domain/command/convertor/ProjectTaskInfoCoConvertor.java
new file mode 100644
index 0000000..bbe6e7b
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/convertor/ProjectTaskInfoCoConvertor.java
@@ -0,0 +1,27 @@
+package com.zcloud.domain.command.convertor;
+
+import com.zcloud.domain.dto.ProjectTaskInfoAddCmd;
+import com.zcloud.domain.dto.clientobject.ProjectTaskInfoCO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskInfoDO;
+import org.mapstruct.Mapper;
+
+import java.util.List;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:29
+ */
+@Mapper(componentModel = "spring")
+public interface ProjectTaskInfoCoConvertor {
+ /**
+ * @param projectTaskInfoDOs
+ * @return
+ */
+ List converDOsToCOs(List projectTaskInfoDOs);
+
+ List converCmdsToDOs(List projectTaskInfoAddCmdList);
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/convertor/ProjectTaskScoreInfoCoConvertor.java b/web-app/src/main/java/com/zcloud/domain/command/convertor/ProjectTaskScoreInfoCoConvertor.java
new file mode 100644
index 0000000..9e61b09
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/convertor/ProjectTaskScoreInfoCoConvertor.java
@@ -0,0 +1,28 @@
+package com.zcloud.domain.command.convertor;
+
+import com.zcloud.domain.dto.ProjectTaskScoreInfoAddCmd;
+import com.zcloud.domain.dto.clientobject.ProjectTaskScoreInfoCO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO;
+import org.mapstruct.Mapper;
+
+import java.util.Collection;
+import java.util.List;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:45
+ */
+@Mapper(componentModel = "spring")
+public interface ProjectTaskScoreInfoCoConvertor {
+ /**
+ * @param projectTaskScoreInfoDOs
+ * @return
+ */
+ List converDOsToCOs(List projectTaskScoreInfoDOs);
+
+ List converCmdsToDOs(List projectTaskScoreInfoAddCmdList);
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/convertor/RiskPointCoConvertor.java b/web-app/src/main/java/com/zcloud/domain/command/convertor/RiskPointCoConvertor.java
deleted file mode 100644
index 3b1d646..0000000
--- a/web-app/src/main/java/com/zcloud/domain/command/convertor/RiskPointCoConvertor.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.zcloud.domain.command.convertor;
-
-import com.zcloud.domain.dto.clientobject.RiskPointCo;
-import com.zcloud.domain.persistence.dataobject.RiskPointDO;
-import org.mapstruct.Mapper;
-
-import java.util.List;
-
-@Mapper(componentModel = "spring")
-public interface RiskPointCoConvertor {
- /**
- * @param riskPointE
- * @return
- */
- List converDOsToCOs(List riskPointE);
-}
diff --git a/web-app/src/main/java/com/zcloud/domain/command/query/DomainDepartmentQueryExe.java b/web-app/src/main/java/com/zcloud/domain/command/query/DomainDepartmentQueryExe.java
new file mode 100644
index 0000000..3fdd54d
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/query/DomainDepartmentQueryExe.java
@@ -0,0 +1,73 @@
+package com.zcloud.domain.command.query;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.zcloud.domain.command.convertor.DomainDepartmentCoConvertor;
+import com.zcloud.domain.command.convertor.DomainDepartmentUserCoConvertor;
+import com.zcloud.domain.dto.DomainDepartmentPageQry;
+import com.zcloud.domain.dto.clientobject.DomainDepartmentCO;
+import com.zcloud.domain.dto.clientobject.DomainDepartmentListCO;
+import com.zcloud.domain.dto.clientobject.DomainDepartmentUserCO;
+import com.zcloud.domain.persistence.dataobject.DomainDepartmentDO;
+import com.zcloud.domain.persistence.dataobject.DomainDepartmentUserDO;
+import com.zcloud.domain.persistence.repository.DomainDepartmentRepository;
+import com.zcloud.domain.persistence.repository.DomainDepartmentUserRepository;
+import com.zcloud.gbscommon.utils.PageQueryHelper;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:28:51
+ */
+@Component
+@AllArgsConstructor
+public class DomainDepartmentQueryExe {
+ private final DomainDepartmentRepository domainDepartmentRepository;
+ private final DomainDepartmentCoConvertor domainDepartmentCoConvertor;
+ private final DomainDepartmentUserRepository domainDepartmentUserRepository;
+ private final DomainDepartmentUserCoConvertor domainDepartmentUserCoConvertor;
+
+ /**
+ * 分页
+ *
+ * @param domainDepartmentPageQry
+ * @return
+ */
+ public PageResponse execute(DomainDepartmentPageQry domainDepartmentPageQry) {
+ Map params = PageQueryHelper.toHashMap(domainDepartmentPageQry);
+ PageResponse pageResponse = domainDepartmentRepository.listPage(params);
+ List examCenterCOS = domainDepartmentCoConvertor.converDOsToListCOs(pageResponse.getData());
+ //补充数量
+
+ return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
+ }
+
+ public DomainDepartmentCO getInfoById(Long id) {
+ DomainDepartmentDO domainDepartmentDO =domainDepartmentRepository.getInfoById(id);
+ if(domainDepartmentDO == null){
+ return null;
+ }
+ DomainDepartmentCO domainDepartmentCO = new DomainDepartmentCO();
+ BeanUtils.copyProperties(domainDepartmentDO, domainDepartmentCO);
+ //赋值 用户信息
+ List domainDepartmentUserDOList =domainDepartmentUserRepository.getListByDomainDepartmentId(domainDepartmentDO.getDomainDepartmentId());
+ List domainDepartmentUserCOList = domainDepartmentUserCoConvertor.converDOsToCOs(domainDepartmentUserDOList);
+ domainDepartmentCO.setDomainDepartmentUserList(domainDepartmentUserCOList);
+ return domainDepartmentCO;
+
+ }
+
+ public List listAll() {
+ List domainDepartmentDOList =domainDepartmentRepository.listAll();
+ List domainDepartmentCOList = domainDepartmentCoConvertor.converDOsToCOs(domainDepartmentDOList);
+ return domainDepartmentCOList;
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/query/DomainDepartmentUserQueryExe.java b/web-app/src/main/java/com/zcloud/domain/command/query/DomainDepartmentUserQueryExe.java
new file mode 100644
index 0000000..d5a2eb4
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/query/DomainDepartmentUserQueryExe.java
@@ -0,0 +1,48 @@
+package com.zcloud.domain.command.query;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.zcloud.domain.command.convertor.DomainDepartmentUserCoConvertor;
+import com.zcloud.domain.dto.DomainDepartmentUserPageQry;
+import com.zcloud.domain.dto.clientobject.DomainDepartmentUserCO;
+import com.zcloud.domain.persistence.dataobject.DomainDepartmentUserDO;
+import com.zcloud.domain.persistence.repository.DomainDepartmentUserRepository;
+import com.zcloud.gbscommon.utils.PageQueryHelper;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:09
+ */
+@Component
+@AllArgsConstructor
+public class DomainDepartmentUserQueryExe {
+ private final DomainDepartmentUserRepository domainDepartmentUserRepository;
+ private final DomainDepartmentUserCoConvertor domainDepartmentUserCoConvertor;
+
+ /**
+ * 分页
+ *
+ * @param domainDepartmentUserPageQry
+ * @return
+ */
+ public PageResponse execute(DomainDepartmentUserPageQry domainDepartmentUserPageQry) {
+ Map params = PageQueryHelper.toHashMap(domainDepartmentUserPageQry);
+ PageResponse pageResponse = domainDepartmentUserRepository.listPage(params);
+ List examCenterCOS = domainDepartmentUserCoConvertor.converDOsToCOs(pageResponse.getData());
+ return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
+ }
+
+ public List listAll(DomainDepartmentUserPageQry qry) {
+
+ List listByDomainDepartmentId = domainDepartmentUserRepository.getListByDomainDepartmentId(qry.getDomainDepartmentId());
+ return domainDepartmentUserCoConvertor.converDOsToCOs(listByDomainDepartmentId);
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/query/DomainGroupQueryExe.java b/web-app/src/main/java/com/zcloud/domain/command/query/DomainGroupQueryExe.java
new file mode 100644
index 0000000..60de18a
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/query/DomainGroupQueryExe.java
@@ -0,0 +1,70 @@
+package com.zcloud.domain.command.query;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.zcloud.domain.command.convertor.DomainGroupCoConvertor;
+import com.zcloud.domain.command.convertor.DomainGroupUserCoConvertor;
+import com.zcloud.domain.dto.DomainGroupPageQry;
+import com.zcloud.domain.dto.DomainGroupQry;
+import com.zcloud.domain.dto.clientobject.DomainGroupCO;
+import com.zcloud.domain.dto.clientobject.DomainGroupInfoCO;
+import com.zcloud.domain.dto.clientobject.DomainGroupUserCO;
+import com.zcloud.domain.persistence.dataobject.DomainGroupDO;
+import com.zcloud.domain.persistence.dataobject.DomainGroupUserDO;
+import com.zcloud.domain.persistence.repository.DomainGroupRepository;
+import com.zcloud.domain.persistence.repository.DomainGroupUserRepository;
+import com.zcloud.gbscommon.utils.PageQueryHelper;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:27
+ */
+@Component
+@AllArgsConstructor
+public class DomainGroupQueryExe {
+ private final DomainGroupRepository domainGroupRepository;
+ private final DomainGroupCoConvertor domainGroupCoConvertor;
+ private final DomainGroupUserRepository domainGroupUserRepository;
+ private final DomainGroupUserCoConvertor domainGroupUserCoConvertor;
+
+ /**
+ * 分页
+ *
+ * @param domainGroupPageQry
+ * @return
+ */
+ public PageResponse execute(DomainGroupPageQry domainGroupPageQry) {
+ Map params = PageQueryHelper.toHashMap(domainGroupPageQry);
+ PageResponse pageResponse = domainGroupRepository.listPage(params);
+ List examCenterCOS = domainGroupCoConvertor.converDOsToCOs(pageResponse.getData());
+ return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
+ }
+
+ public DomainGroupInfoCO getInfoById(Long id) {
+ DomainGroupDO domainGroupDO = domainGroupRepository.getInfoById(id);
+ if(domainGroupDO == null){
+ return null;
+ }
+ DomainGroupInfoCO domainGroupInfoCO =domainGroupCoConvertor.converDOToInfoCO(domainGroupDO);
+ //用户信息
+ List domainGroupUserDOList =domainGroupUserRepository.getListByGroupId(domainGroupInfoCO.getDomainGroupId());
+ List domainGroupUserCOS = domainGroupUserCoConvertor.converDOsToCOs(domainGroupUserDOList);
+ domainGroupInfoCO.setDomainGroupUserList(domainGroupUserCOS);
+ return domainGroupInfoCO;
+ }
+
+ public List listAll(DomainGroupQry qry) {
+ Map params = PageQueryHelper.toHashMap(qry);
+ List response = domainGroupRepository.listAll(params);
+ List examCenterCOS = domainGroupCoConvertor.converDOsToCOs(response);
+ return examCenterCOS;
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/query/DomainGroupUserQueryExe.java b/web-app/src/main/java/com/zcloud/domain/command/query/DomainGroupUserQueryExe.java
new file mode 100644
index 0000000..d2c0117
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/query/DomainGroupUserQueryExe.java
@@ -0,0 +1,47 @@
+package com.zcloud.domain.command.query;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.zcloud.domain.command.convertor.DomainGroupUserCoConvertor;
+import com.zcloud.domain.dto.DomainGroupUserPageQry;
+import com.zcloud.domain.dto.clientobject.DomainGroupUserCO;
+import com.zcloud.domain.persistence.dataobject.DomainGroupUserDO;
+import com.zcloud.domain.persistence.repository.DomainGroupUserRepository;
+import com.zcloud.gbscommon.utils.PageQueryHelper;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:43
+ */
+@Component
+@AllArgsConstructor
+public class DomainGroupUserQueryExe {
+ private final DomainGroupUserRepository domainGroupUserRepository;
+ private final DomainGroupUserCoConvertor domainGroupUserCoConvertor;
+
+ /**
+ * 分页
+ *
+ * @param domainGroupUserPageQry
+ * @return
+ */
+ public PageResponse execute(DomainGroupUserPageQry domainGroupUserPageQry) {
+ Map params = PageQueryHelper.toHashMap(domainGroupUserPageQry);
+ PageResponse pageResponse = domainGroupUserRepository.listPage(params);
+ List examCenterCOS = domainGroupUserCoConvertor.converDOsToCOs(pageResponse.getData());
+ return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
+ }
+
+ public List listAll(DomainGroupUserPageQry qry) {
+ List listByGroupId = domainGroupUserRepository.getListByGroupId(qry.getDomainGroupId());
+ return domainGroupUserCoConvertor.converDOsToCOs(listByGroupId);
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/query/ProjectTaskGroupUserQueryExe.java b/web-app/src/main/java/com/zcloud/domain/command/query/ProjectTaskGroupUserQueryExe.java
new file mode 100644
index 0000000..37fb167
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/query/ProjectTaskGroupUserQueryExe.java
@@ -0,0 +1,42 @@
+package com.zcloud.domain.command.query;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.zcloud.domain.command.convertor.ProjectTaskGroupUserCoConvertor;
+import com.zcloud.domain.dto.ProjectTaskGroupUserPageQry;
+import com.zcloud.domain.dto.clientobject.ProjectTaskGroupUserCO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskGroupUserDO;
+import com.zcloud.domain.persistence.repository.ProjectTaskGroupUserRepository;
+import com.zcloud.gbscommon.utils.PageQueryHelper;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:09
+ */
+@Component
+@AllArgsConstructor
+public class ProjectTaskGroupUserQueryExe {
+ private final ProjectTaskGroupUserRepository projectTaskGroupUserRepository;
+ private final ProjectTaskGroupUserCoConvertor projectTaskGroupUserCoConvertor;
+
+ /**
+ * 分页
+ *
+ * @param projectTaskGroupUserPageQry
+ * @return
+ */
+ public PageResponse execute(ProjectTaskGroupUserPageQry projectTaskGroupUserPageQry) {
+ Map params = PageQueryHelper.toHashMap(projectTaskGroupUserPageQry);
+ PageResponse pageResponse = projectTaskGroupUserRepository.listPage(params);
+ List examCenterCOS = projectTaskGroupUserCoConvertor.converDOsToCOs(pageResponse.getData());
+ return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/query/ProjectTaskInfoQueryExe.java b/web-app/src/main/java/com/zcloud/domain/command/query/ProjectTaskInfoQueryExe.java
new file mode 100644
index 0000000..5f89613
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/query/ProjectTaskInfoQueryExe.java
@@ -0,0 +1,42 @@
+package com.zcloud.domain.command.query;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.zcloud.domain.command.convertor.ProjectTaskInfoCoConvertor;
+import com.zcloud.domain.dto.ProjectTaskInfoPageQry;
+import com.zcloud.domain.dto.clientobject.ProjectTaskInfoCO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskInfoDO;
+import com.zcloud.domain.persistence.repository.ProjectTaskInfoRepository;
+import com.zcloud.gbscommon.utils.PageQueryHelper;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:29
+ */
+@Component
+@AllArgsConstructor
+public class ProjectTaskInfoQueryExe {
+ private final ProjectTaskInfoRepository projectTaskInfoRepository;
+ private final ProjectTaskInfoCoConvertor projectTaskInfoCoConvertor;
+
+ /**
+ * 分页
+ *
+ * @param projectTaskInfoPageQry
+ * @return
+ */
+ public PageResponse execute(ProjectTaskInfoPageQry projectTaskInfoPageQry) {
+ Map params = PageQueryHelper.toHashMap(projectTaskInfoPageQry);
+ PageResponse pageResponse = projectTaskInfoRepository.listPage(params);
+ List examCenterCOS = projectTaskInfoCoConvertor.converDOsToCOs(pageResponse.getData());
+ return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/query/ProjectTaskQueryExe.java b/web-app/src/main/java/com/zcloud/domain/command/query/ProjectTaskQueryExe.java
new file mode 100644
index 0000000..ed18197
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/query/ProjectTaskQueryExe.java
@@ -0,0 +1,102 @@
+package com.zcloud.domain.command.query;
+
+import cn.hutool.core.collection.CollUtil;
+import com.alibaba.cola.dto.PageResponse;
+import com.jjb.saas.framework.auth.utils.AuthContext;
+import com.zcloud.domain.command.convertor.ProjectTaskCoConvertor;
+import com.zcloud.domain.command.convertor.ProjectTaskGroupUserCoConvertor;
+import com.zcloud.domain.command.convertor.ProjectTaskInfoCoConvertor;
+import com.zcloud.domain.command.convertor.ProjectTaskScoreInfoCoConvertor;
+import com.zcloud.domain.domain.model.CorpInfoE;
+import com.zcloud.domain.dto.ProjectTaskPageQry;
+import com.zcloud.domain.dto.clientobject.*;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskGroupUserDO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskInfoDO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO;
+import com.zcloud.domain.persistence.repository.ProjectTaskGroupUserRepository;
+import com.zcloud.domain.persistence.repository.ProjectTaskInfoRepository;
+import com.zcloud.domain.persistence.repository.ProjectTaskRepository;
+import com.zcloud.domain.persistence.repository.ProjectTaskScoreInfoRepository;
+import com.zcloud.gbscommon.utils.PageQueryHelper;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:41
+ */
+@Component
+@AllArgsConstructor
+public class ProjectTaskQueryExe {
+ private final ProjectTaskRepository projectTaskRepository;
+ private final ProjectTaskCoConvertor projectTaskCoConvertor;
+ private final ProjectTaskInfoRepository projectTaskInfoRepository;
+ private final ProjectTaskInfoCoConvertor projectTaskInfoCoConvertor;
+ private final ProjectTaskScoreInfoRepository projectTaskScoreInfoRepository;
+ private final ProjectTaskScoreInfoCoConvertor projectTaskScoreInfoCoConvertor;
+ private final ProjectTaskGroupUserRepository projectTaskGroupUserRepository;
+ private final ProjectTaskGroupUserCoConvertor projectTaskGroupUserCoConvertor;
+
+ /**
+ * 分页
+ *
+ * @param projectTaskPageQry
+ * @return
+ */
+ public PageResponse execute(ProjectTaskPageQry projectTaskPageQry) {
+ Map params = PageQueryHelper.toHashMap(projectTaskPageQry);
+ PageResponse pageResponse = projectTaskRepository.listPage(params);
+ List examCenterCOS = projectTaskCoConvertor.converDOsToCOs(pageResponse.getData());
+ return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
+ }
+
+ public ProjectTaskDetailsCO getInfoById(Long id) {
+
+ ProjectTaskDO projectTaskDO = projectTaskRepository.getInfoById(id);
+ if (projectTaskDO == null){
+ return null;
+ }
+ ProjectTaskDetailsCO projectTaskDetailsCO = projectTaskCoConvertor.converDOToDetailsCO(projectTaskDO);
+ //查询课题信息
+ List projectTaskInfoDOList =projectTaskInfoRepository.getListByTaskId(projectTaskDetailsCO.getProjectTaskId());
+ if(CollUtil.isNotEmpty(projectTaskInfoDOList)){
+ List projectTaskInfoCOS = projectTaskInfoCoConvertor.converDOsToCOs(projectTaskInfoDOList);
+ projectTaskDetailsCO.setProjectTaskInfoCOList(projectTaskInfoCOS);
+ }
+
+ //课题领域组人员信息
+ List projectTaskGroupUserDOList =projectTaskGroupUserRepository.getListByTaskId(projectTaskDetailsCO.getProjectTaskId());
+ if(CollUtil.isNotEmpty(projectTaskGroupUserDOList)){
+ List projectTaskGroupUserCOS = projectTaskGroupUserCoConvertor.converDOsToCOs(projectTaskGroupUserDOList);
+ projectTaskDetailsCO.setProjectTaskGroupUserCOList(projectTaskGroupUserCOS);
+ }
+ //查询课题评审人员信息
+ List projectTaskScoreInfoDOList =projectTaskScoreInfoRepository.getListByTaskId(projectTaskDetailsCO.getProjectTaskId());
+ if(CollUtil.isNotEmpty(projectTaskScoreInfoDOList)){
+ List projectTaskScoreInfoCOS = projectTaskScoreInfoCoConvertor.converDOsToCOs(projectTaskScoreInfoDOList);
+ projectTaskScoreInfoCOS.forEach(projectTaskScoreInfoCO -> {
+ if(projectTaskScoreInfoCO.getScore()!=null){
+ projectTaskScoreInfoCO.setIsScore(true);
+ }else{
+ projectTaskScoreInfoCO.setIsScore(false);
+ }
+ //判断不是企业,并且不是自己
+ if(!CorpInfoE.isCorp() && !AuthContext.getUserId().equals(projectTaskScoreInfoCO.getUserId())) {
+ projectTaskScoreInfoCO.setScore(null);
+ }
+
+ });
+ projectTaskDetailsCO.setProjectTaskScoreInfoCOList(projectTaskScoreInfoCOS);
+ }
+ return projectTaskDetailsCO;
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/query/ProjectTaskScoreInfoQueryExe.java b/web-app/src/main/java/com/zcloud/domain/command/query/ProjectTaskScoreInfoQueryExe.java
new file mode 100644
index 0000000..37ca768
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/command/query/ProjectTaskScoreInfoQueryExe.java
@@ -0,0 +1,42 @@
+package com.zcloud.domain.command.query;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.zcloud.domain.command.convertor.ProjectTaskScoreInfoCoConvertor;
+import com.zcloud.domain.dto.ProjectTaskScoreInfoPageQry;
+import com.zcloud.domain.dto.clientobject.ProjectTaskScoreInfoCO;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO;
+import com.zcloud.domain.persistence.repository.ProjectTaskScoreInfoRepository;
+import com.zcloud.gbscommon.utils.PageQueryHelper;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:46
+ */
+@Component
+@AllArgsConstructor
+public class ProjectTaskScoreInfoQueryExe {
+ private final ProjectTaskScoreInfoRepository projectTaskScoreInfoRepository;
+ private final ProjectTaskScoreInfoCoConvertor projectTaskScoreInfoCoConvertor;
+
+ /**
+ * 分页
+ *
+ * @param projectTaskScoreInfoPageQry
+ * @return
+ */
+ public PageResponse execute(ProjectTaskScoreInfoPageQry projectTaskScoreInfoPageQry) {
+ Map params = PageQueryHelper.toHashMap(projectTaskScoreInfoPageQry);
+ PageResponse pageResponse = projectTaskScoreInfoRepository.listPage(params);
+ List examCenterCOS = projectTaskScoreInfoCoConvertor.converDOsToCOs(pageResponse.getData());
+ return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/command/query/RiskPointQueryExe.java b/web-app/src/main/java/com/zcloud/domain/command/query/RiskPointQueryExe.java
deleted file mode 100644
index 5abe6a5..0000000
--- a/web-app/src/main/java/com/zcloud/domain/command/query/RiskPointQueryExe.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.zcloud.domain.command.query;
-
-import com.alibaba.cola.dto.PageResponse;
-import com.zcloud.domain.command.convertor.RiskPointCoConvertor;
-import com.zcloud.domain.dto.RiskPointPageQry;
-import com.zcloud.domain.dto.clientobject.RiskPointCo;
-import com.zcloud.domain.persistence.dataobject.RiskPointDO;
-import com.zcloud.domain.persistence.repository.RiskPointRepository;
-import lombok.AllArgsConstructor;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-/**
- * 风险点新增执行器
- *
- * @author lin
- */
-@Component
-@AllArgsConstructor
-public class RiskPointQueryExe {
- private final RiskPointRepository riskPointRepository;
- private final RiskPointCoConvertor riskPointCoConvertor;
-
- /**
- * 分页
- *
- * @param riskPointPageQry
- * @return
- */
- public PageResponse execute(RiskPointPageQry riskPointPageQry) {
- PageResponse pageResponse = riskPointRepository.listRiskPointPage(riskPointPageQry.toHashMap());
- List examCenterCOS = riskPointCoConvertor.converDOsToCOs(pageResponse.getData());
- return PageResponse.of(examCenterCOS, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
- }
-}
diff --git a/web-app/src/main/java/com/zcloud/domain/service/DomainDepartmentServiceImpl.java b/web-app/src/main/java/com/zcloud/domain/service/DomainDepartmentServiceImpl.java
new file mode 100644
index 0000000..f270eeb
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/service/DomainDepartmentServiceImpl.java
@@ -0,0 +1,73 @@
+package com.zcloud.domain.service;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.SingleResponse;
+import com.zcloud.domain.api.DomainDepartmentServiceI;
+import com.zcloud.domain.command.DomainDepartmentAddExe;
+import com.zcloud.domain.command.DomainDepartmentRemoveExe;
+import com.zcloud.domain.command.DomainDepartmentUpdateExe;
+import com.zcloud.domain.command.query.DomainDepartmentQueryExe;
+import com.zcloud.domain.dto.DomainDepartmentAddCmd;
+import com.zcloud.domain.dto.DomainDepartmentPageQry;
+import com.zcloud.domain.dto.DomainDepartmentUpdateCmd;
+import com.zcloud.domain.dto.clientobject.DomainDepartmentCO;
+import com.zcloud.domain.dto.clientobject.DomainDepartmentListCO;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:28:52
+ */
+@Service
+@AllArgsConstructor
+public class DomainDepartmentServiceImpl implements DomainDepartmentServiceI {
+ private final DomainDepartmentAddExe domainDepartmentAddExe;
+ private final DomainDepartmentUpdateExe domainDepartmentUpdateExe;
+ private final DomainDepartmentRemoveExe domainDepartmentRemoveExe;
+ private final DomainDepartmentQueryExe domainDepartmentQueryExe;
+
+ @Override
+ public PageResponse listPage(DomainDepartmentPageQry qry) {
+
+ return domainDepartmentQueryExe.execute(qry);
+ }
+
+ @Override
+ public SingleResponse add(DomainDepartmentAddCmd cmd) {
+
+ domainDepartmentAddExe.execute(cmd);
+ return SingleResponse.buildSuccess();
+ }
+
+ @Override
+ public void edit(DomainDepartmentUpdateCmd domainDepartmentUpdateCmd) {
+ domainDepartmentUpdateExe.execute(domainDepartmentUpdateCmd);
+ }
+
+ @Override
+ public void remove(Long id) {
+ domainDepartmentRemoveExe.execute(id);
+ }
+
+ @Override
+ public void removeBatch(Long[] ids) {
+ domainDepartmentRemoveExe.execute(ids);
+ }
+
+ @Override
+ public DomainDepartmentCO getInfoById(Long id) {
+ return domainDepartmentQueryExe.getInfoById(id);
+ }
+
+ @Override
+ public List listAll() {
+ return domainDepartmentQueryExe.listAll();
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/service/DomainDepartmentUserServiceImpl.java b/web-app/src/main/java/com/zcloud/domain/service/DomainDepartmentUserServiceImpl.java
new file mode 100644
index 0000000..148b75f
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/service/DomainDepartmentUserServiceImpl.java
@@ -0,0 +1,66 @@
+package com.zcloud.domain.service;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.SingleResponse;
+import com.zcloud.domain.api.DomainDepartmentUserServiceI;
+import com.zcloud.domain.command.DomainDepartmentUserAddExe;
+import com.zcloud.domain.command.DomainDepartmentUserRemoveExe;
+import com.zcloud.domain.command.DomainDepartmentUserUpdateExe;
+import com.zcloud.domain.command.query.DomainDepartmentUserQueryExe;
+import com.zcloud.domain.dto.DomainDepartmentUserAddCmd;
+import com.zcloud.domain.dto.DomainDepartmentUserPageQry;
+import com.zcloud.domain.dto.DomainDepartmentUserUpdateCmd;
+import com.zcloud.domain.dto.clientobject.DomainDepartmentUserCO;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:09
+ */
+@Service
+@AllArgsConstructor
+public class DomainDepartmentUserServiceImpl implements DomainDepartmentUserServiceI {
+ private final DomainDepartmentUserAddExe domainDepartmentUserAddExe;
+ private final DomainDepartmentUserUpdateExe domainDepartmentUserUpdateExe;
+ private final DomainDepartmentUserRemoveExe domainDepartmentUserRemoveExe;
+ private final DomainDepartmentUserQueryExe domainDepartmentUserQueryExe;
+
+ @Override
+ public PageResponse listPage(DomainDepartmentUserPageQry qry) {
+
+ return domainDepartmentUserQueryExe.execute(qry);
+ }
+
+ @Override
+ public SingleResponse add(DomainDepartmentUserAddCmd cmd) {
+
+ domainDepartmentUserAddExe.execute(cmd);
+ return SingleResponse.buildSuccess();
+ }
+
+ @Override
+ public void edit(DomainDepartmentUserUpdateCmd domainDepartmentUserUpdateCmd) {
+ domainDepartmentUserUpdateExe.execute(domainDepartmentUserUpdateCmd);
+ }
+
+ @Override
+ public void remove(Long id) {
+ domainDepartmentUserRemoveExe.execute(id);
+ }
+
+ @Override
+ public void removeBatch(Long[] ids) {
+ domainDepartmentUserRemoveExe.execute(ids);
+ }
+
+ @Override
+ public List listAll(DomainDepartmentUserPageQry qry) {
+ return domainDepartmentUserQueryExe.listAll(qry);
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/service/DomainGroupServiceImpl.java b/web-app/src/main/java/com/zcloud/domain/service/DomainGroupServiceImpl.java
new file mode 100644
index 0000000..730dbe8
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/service/DomainGroupServiceImpl.java
@@ -0,0 +1,73 @@
+package com.zcloud.domain.service;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.SingleResponse;
+import com.zcloud.domain.api.DomainGroupServiceI;
+import com.zcloud.domain.command.DomainGroupAddExe;
+import com.zcloud.domain.command.DomainGroupRemoveExe;
+import com.zcloud.domain.command.DomainGroupUpdateExe;
+import com.zcloud.domain.command.query.DomainGroupQueryExe;
+import com.zcloud.domain.dto.DomainGroupAddCmd;
+import com.zcloud.domain.dto.DomainGroupPageQry;
+import com.zcloud.domain.dto.DomainGroupQry;
+import com.zcloud.domain.dto.DomainGroupUpdateCmd;
+import com.zcloud.domain.dto.clientobject.DomainGroupCO;
+import com.zcloud.domain.dto.clientobject.DomainGroupInfoCO;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:28
+ */
+@Service
+@AllArgsConstructor
+public class DomainGroupServiceImpl implements DomainGroupServiceI {
+ private final DomainGroupAddExe domainGroupAddExe;
+ private final DomainGroupUpdateExe domainGroupUpdateExe;
+ private final DomainGroupRemoveExe domainGroupRemoveExe;
+ private final DomainGroupQueryExe domainGroupQueryExe;
+
+ @Override
+ public PageResponse listPage(DomainGroupPageQry qry) {
+ return domainGroupQueryExe.execute(qry);
+ }
+
+ @Override
+ public SingleResponse add(DomainGroupAddCmd cmd) {
+
+ domainGroupAddExe.execute(cmd);
+ return SingleResponse.buildSuccess();
+ }
+
+ @Override
+ public void edit(DomainGroupUpdateCmd domainGroupUpdateCmd) {
+ domainGroupUpdateExe.execute(domainGroupUpdateCmd);
+ }
+
+ @Override
+ public void remove(Long id) {
+ domainGroupRemoveExe.execute(id);
+ }
+
+ @Override
+ public void removeBatch(Long[] ids) {
+ domainGroupRemoveExe.execute(ids);
+ }
+
+ @Override
+ public DomainGroupInfoCO getInfoById(Long id) {
+ return domainGroupQueryExe.getInfoById(id);
+ }
+
+ @Override
+ public List listAll(DomainGroupQry qry) {
+ return domainGroupQueryExe.listAll(qry);
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/service/DomainGroupUserServiceImpl.java b/web-app/src/main/java/com/zcloud/domain/service/DomainGroupUserServiceImpl.java
new file mode 100644
index 0000000..dbed763
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/service/DomainGroupUserServiceImpl.java
@@ -0,0 +1,67 @@
+package com.zcloud.domain.service;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.SingleResponse;
+import com.zcloud.domain.api.DomainGroupUserServiceI;
+import com.zcloud.domain.command.DomainGroupUserAddExe;
+import com.zcloud.domain.command.DomainGroupUserRemoveExe;
+import com.zcloud.domain.command.DomainGroupUserUpdateExe;
+import com.zcloud.domain.command.query.DomainGroupUserQueryExe;
+import com.zcloud.domain.dto.DomainGroupUserAddCmd;
+import com.zcloud.domain.dto.DomainGroupUserPageQry;
+import com.zcloud.domain.dto.DomainGroupUserUpdateCmd;
+import com.zcloud.domain.dto.clientobject.DomainGroupUserCO;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:43
+ */
+@Service
+@AllArgsConstructor
+public class DomainGroupUserServiceImpl implements DomainGroupUserServiceI {
+ private final DomainGroupUserAddExe domainGroupUserAddExe;
+ private final DomainGroupUserUpdateExe domainGroupUserUpdateExe;
+ private final DomainGroupUserRemoveExe domainGroupUserRemoveExe;
+ private final DomainGroupUserQueryExe domainGroupUserQueryExe;
+
+ @Override
+ public PageResponse listPage(DomainGroupUserPageQry qry) {
+
+ return domainGroupUserQueryExe.execute(qry);
+ }
+
+ @Override
+ public SingleResponse add(DomainGroupUserAddCmd cmd) {
+
+ domainGroupUserAddExe.execute(cmd);
+ return SingleResponse.buildSuccess();
+ }
+
+ @Override
+ public void edit(DomainGroupUserUpdateCmd domainGroupUserUpdateCmd) {
+ domainGroupUserUpdateExe.execute(domainGroupUserUpdateCmd);
+ }
+
+ @Override
+ public void remove(Long id) {
+ domainGroupUserRemoveExe.execute(id);
+ }
+
+ @Override
+ public void removeBatch(Long[] ids) {
+ domainGroupUserRemoveExe.execute(ids);
+ }
+
+ @Override
+ public List listAll(DomainGroupUserPageQry qry) {
+ return domainGroupUserQueryExe.listAll(qry);
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/service/ProjectTaskGroupUserServiceImpl.java b/web-app/src/main/java/com/zcloud/domain/service/ProjectTaskGroupUserServiceImpl.java
new file mode 100644
index 0000000..a0f78c4
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/service/ProjectTaskGroupUserServiceImpl.java
@@ -0,0 +1,66 @@
+package com.zcloud.domain.service;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.SingleResponse;
+import com.zcloud.domain.api.ProjectTaskGroupUserServiceI;
+import com.zcloud.domain.command.ProjectTaskGroupUserAddExe;
+import com.zcloud.domain.command.ProjectTaskGroupUserRemoveExe;
+import com.zcloud.domain.command.ProjectTaskGroupUserUpdateExe;
+import com.zcloud.domain.command.query.ProjectTaskGroupUserQueryExe;
+import com.zcloud.domain.dto.ProjectTaskDetailAddCmd;
+import com.zcloud.domain.dto.ProjectTaskGroupUserAddCmd;
+import com.zcloud.domain.dto.ProjectTaskGroupUserPageQry;
+import com.zcloud.domain.dto.ProjectTaskGroupUserUpdateCmd;
+import com.zcloud.domain.dto.clientobject.ProjectTaskGroupUserCO;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:09
+ */
+@Service
+@AllArgsConstructor
+public class ProjectTaskGroupUserServiceImpl implements ProjectTaskGroupUserServiceI {
+ private final ProjectTaskGroupUserAddExe projectTaskGroupUserAddExe;
+ private final ProjectTaskGroupUserUpdateExe projectTaskGroupUserUpdateExe;
+ private final ProjectTaskGroupUserRemoveExe projectTaskGroupUserRemoveExe;
+ private final ProjectTaskGroupUserQueryExe projectTaskGroupUserQueryExe;
+
+ @Override
+ public PageResponse listPage(ProjectTaskGroupUserPageQry qry) {
+
+ return projectTaskGroupUserQueryExe.execute(qry);
+ }
+
+ @Override
+ public SingleResponse add(ProjectTaskGroupUserAddCmd cmd) {
+
+ projectTaskGroupUserAddExe.execute(cmd);
+ return SingleResponse.buildSuccess();
+ }
+
+ @Override
+ public void edit(ProjectTaskGroupUserUpdateCmd projectTaskGroupUserUpdateCmd) {
+ projectTaskGroupUserUpdateExe.execute(projectTaskGroupUserUpdateCmd);
+ }
+
+ @Override
+ public void remove(Long id) {
+ projectTaskGroupUserRemoveExe.execute(id);
+ }
+
+ @Override
+ public void removeBatch(Long[] ids) {
+ projectTaskGroupUserRemoveExe.execute(ids);
+ }
+
+ @Override
+ public SingleResponse saveGroupUser(ProjectTaskDetailAddCmd cmd) {
+ projectTaskGroupUserAddExe.saveGroupUser(cmd);
+ return SingleResponse.buildSuccess();
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/service/ProjectTaskInfoServiceImpl.java b/web-app/src/main/java/com/zcloud/domain/service/ProjectTaskInfoServiceImpl.java
new file mode 100644
index 0000000..8604f35
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/service/ProjectTaskInfoServiceImpl.java
@@ -0,0 +1,59 @@
+package com.zcloud.domain.service;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.SingleResponse;
+import com.zcloud.domain.api.ProjectTaskInfoServiceI;
+import com.zcloud.domain.command.ProjectTaskInfoAddExe;
+import com.zcloud.domain.command.ProjectTaskInfoRemoveExe;
+import com.zcloud.domain.command.ProjectTaskInfoUpdateExe;
+import com.zcloud.domain.command.query.ProjectTaskInfoQueryExe;
+import com.zcloud.domain.dto.ProjectTaskInfoAddCmd;
+import com.zcloud.domain.dto.ProjectTaskInfoPageQry;
+import com.zcloud.domain.dto.ProjectTaskInfoUpdateCmd;
+import com.zcloud.domain.dto.clientobject.ProjectTaskInfoCO;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:30
+ */
+@Service
+@AllArgsConstructor
+public class ProjectTaskInfoServiceImpl implements ProjectTaskInfoServiceI {
+ private final ProjectTaskInfoAddExe projectTaskInfoAddExe;
+ private final ProjectTaskInfoUpdateExe projectTaskInfoUpdateExe;
+ private final ProjectTaskInfoRemoveExe projectTaskInfoRemoveExe;
+ private final ProjectTaskInfoQueryExe projectTaskInfoQueryExe;
+
+ @Override
+ public PageResponse listPage(ProjectTaskInfoPageQry qry) {
+
+ return projectTaskInfoQueryExe.execute(qry);
+ }
+
+ @Override
+ public SingleResponse add(ProjectTaskInfoAddCmd cmd) {
+
+ projectTaskInfoAddExe.execute(cmd);
+ return SingleResponse.buildSuccess();
+ }
+
+ @Override
+ public void edit(ProjectTaskInfoUpdateCmd projectTaskInfoUpdateCmd) {
+ projectTaskInfoUpdateExe.execute(projectTaskInfoUpdateCmd);
+ }
+
+ @Override
+ public void remove(Long id) {
+ projectTaskInfoRemoveExe.execute(id);
+ }
+
+ @Override
+ public void removeBatch(Long[] ids) {
+ projectTaskInfoRemoveExe.execute(ids);
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/service/ProjectTaskScoreInfoServiceImpl.java b/web-app/src/main/java/com/zcloud/domain/service/ProjectTaskScoreInfoServiceImpl.java
new file mode 100644
index 0000000..6a3af24
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/service/ProjectTaskScoreInfoServiceImpl.java
@@ -0,0 +1,68 @@
+package com.zcloud.domain.service;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.SingleResponse;
+import com.zcloud.domain.api.ProjectTaskScoreInfoServiceI;
+import com.zcloud.domain.command.ProjectTaskScoreInfoAddExe;
+import com.zcloud.domain.command.ProjectTaskScoreInfoRemoveExe;
+import com.zcloud.domain.command.ProjectTaskScoreInfoUpdateExe;
+import com.zcloud.domain.command.query.ProjectTaskScoreInfoQueryExe;
+import com.zcloud.domain.dto.*;
+import com.zcloud.domain.dto.clientobject.ProjectTaskScoreInfoCO;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:46
+ */
+@Service
+@AllArgsConstructor
+public class ProjectTaskScoreInfoServiceImpl implements ProjectTaskScoreInfoServiceI {
+ private final ProjectTaskScoreInfoAddExe projectTaskScoreInfoAddExe;
+ private final ProjectTaskScoreInfoUpdateExe projectTaskScoreInfoUpdateExe;
+ private final ProjectTaskScoreInfoRemoveExe projectTaskScoreInfoRemoveExe;
+ private final ProjectTaskScoreInfoQueryExe projectTaskScoreInfoQueryExe;
+
+ @Override
+ public PageResponse listPage(ProjectTaskScoreInfoPageQry qry) {
+
+ return projectTaskScoreInfoQueryExe.execute(qry);
+ }
+
+ @Override
+ public SingleResponse add(ProjectTaskScoreInfoAddCmd cmd) {
+
+ projectTaskScoreInfoAddExe.execute(cmd);
+ return SingleResponse.buildSuccess();
+ }
+
+ @Override
+ public void edit(ProjectTaskScoreInfoUpdateCmd projectTaskScoreInfoUpdateCmd) {
+ projectTaskScoreInfoUpdateExe.execute(projectTaskScoreInfoUpdateCmd);
+ }
+
+ @Override
+ public void remove(Long id) {
+ projectTaskScoreInfoRemoveExe.execute(id);
+ }
+
+ @Override
+ public void removeBatch(Long[] ids) {
+ projectTaskScoreInfoRemoveExe.execute(ids);
+ }
+
+ @Override
+ public void setScore(ProjectTaskSetScoreCmd projectTaskSetScoreCmd) {
+ projectTaskScoreInfoUpdateExe.setScore(projectTaskSetScoreCmd);
+ }
+
+ @Override
+ public SingleResponse saveScoreUser(ProjectTaskDetailAddCmd cmd) {
+ projectTaskScoreInfoAddExe.saveScoreUser(cmd);
+ return SingleResponse.buildSuccess();
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/service/ProjectTaskServiceImpl.java b/web-app/src/main/java/com/zcloud/domain/service/ProjectTaskServiceImpl.java
new file mode 100644
index 0000000..fa1d3a6
--- /dev/null
+++ b/web-app/src/main/java/com/zcloud/domain/service/ProjectTaskServiceImpl.java
@@ -0,0 +1,70 @@
+package com.zcloud.domain.service;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.SingleResponse;
+import com.zcloud.domain.api.ProjectTaskServiceI;
+import com.zcloud.domain.command.ProjectTaskAddExe;
+import com.zcloud.domain.command.ProjectTaskRemoveExe;
+import com.zcloud.domain.command.ProjectTaskUpdateExe;
+import com.zcloud.domain.command.query.ProjectTaskQueryExe;
+import com.zcloud.domain.dto.ProjectTaskAddCmd;
+import com.zcloud.domain.dto.ProjectTaskPageQry;
+import com.zcloud.domain.dto.ProjectTaskUpdateCmd;
+import com.zcloud.domain.dto.clientobject.ProjectTaskCO;
+import com.zcloud.domain.dto.clientobject.ProjectTaskDetailsCO;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+/**
+ * web-app
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:41
+ */
+@Service
+@AllArgsConstructor
+public class ProjectTaskServiceImpl implements ProjectTaskServiceI {
+ private final ProjectTaskAddExe projectTaskAddExe;
+ private final ProjectTaskUpdateExe projectTaskUpdateExe;
+ private final ProjectTaskRemoveExe projectTaskRemoveExe;
+ private final ProjectTaskQueryExe projectTaskQueryExe;
+
+ @Override
+ public PageResponse listPage(ProjectTaskPageQry qry) {
+
+ return projectTaskQueryExe.execute(qry);
+ }
+
+ @Override
+ public SingleResponse add(ProjectTaskAddCmd cmd) {
+
+ projectTaskAddExe.execute(cmd);
+ return SingleResponse.buildSuccess();
+ }
+
+ @Override
+ public void edit(ProjectTaskUpdateCmd projectTaskUpdateCmd) {
+ projectTaskUpdateExe.execute(projectTaskUpdateCmd);
+ }
+
+ @Override
+ public void remove(Long id) {
+ projectTaskRemoveExe.execute(id);
+ }
+
+ @Override
+ public void removeBatch(Long[] ids) {
+ projectTaskRemoveExe.execute(ids);
+ }
+
+ @Override
+ public ProjectTaskDetailsCO getInfoById(Long id) {
+ return projectTaskQueryExe.getInfoById(id);
+ }
+
+ @Override
+ public void updatExecuteStatusJob() {
+ projectTaskUpdateExe.updatExecuteStatusJob();
+ }
+}
+
diff --git a/web-app/src/main/java/com/zcloud/domain/service/RiskPointServiceImpl.java b/web-app/src/main/java/com/zcloud/domain/service/RiskPointServiceImpl.java
deleted file mode 100644
index bd5449f..0000000
--- a/web-app/src/main/java/com/zcloud/domain/service/RiskPointServiceImpl.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package com.zcloud.domain.service;
-
-import com.alibaba.cola.dto.PageResponse;
-import com.alibaba.cola.dto.SingleResponse;
-import com.zcloud.domain.api.RiskPointServiceI;
-import com.zcloud.domain.command.RiskPointAddExe;
-import com.zcloud.domain.command.RiskPointRemoveExe;
-import com.zcloud.domain.command.RiskPointUpdateExe;
-import com.zcloud.domain.command.query.RiskPointQueryExe;
-import com.zcloud.domain.dto.RiskPointAddCmd;
-import com.zcloud.domain.dto.RiskPointPageQry;
-import com.zcloud.domain.dto.RiskPointUpdateCmd;
-import com.zcloud.domain.dto.clientobject.RiskPointCo;
-import lombok.AllArgsConstructor;
-import org.springframework.stereotype.Service;
-
-/**
- * @author lin
- */
-@Service
-@AllArgsConstructor
-public class RiskPointServiceImpl implements RiskPointServiceI {
- private final RiskPointAddExe riskPointAddExe;
- private final RiskPointUpdateExe riskPointUpdateExe;
- private final RiskPointRemoveExe riskPointRemoveExe;
- private final RiskPointQueryExe riskPointQueryExe;
-
- @Override
- public PageResponse listPage(RiskPointPageQry qry){
-
- return riskPointQueryExe.execute(qry);
- }
-
- @Override
- public SingleResponse add(RiskPointAddCmd cmd) {
-
- riskPointAddExe.execute(cmd);
- return SingleResponse.buildSuccess();
- }
-
- @Override
- public void edit(RiskPointUpdateCmd riskPointUpdateCmd) {
- riskPointUpdateExe.execute(riskPointUpdateCmd);
- }
-
- @Override
- public void remove(Long id) {
- riskPointRemoveExe.execute(id);
- }
-
- @Override
- public void removeBatch(Long[] ids) {
- riskPointRemoveExe.execute(ids);
- }
-
-}
diff --git a/web-client/src/main/java/com/zcloud/domain/api/DomainDepartmentServiceI.java b/web-client/src/main/java/com/zcloud/domain/api/DomainDepartmentServiceI.java
new file mode 100644
index 0000000..b7c7d1b
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/api/DomainDepartmentServiceI.java
@@ -0,0 +1,34 @@
+package com.zcloud.domain.api;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.SingleResponse;
+import com.zcloud.domain.dto.DomainDepartmentAddCmd;
+import com.zcloud.domain.dto.DomainDepartmentPageQry;
+import com.zcloud.domain.dto.DomainDepartmentUpdateCmd;
+import com.zcloud.domain.dto.clientobject.DomainDepartmentCO;
+import com.zcloud.domain.dto.clientobject.DomainDepartmentListCO;
+
+import java.util.List;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:28:52
+ */
+public interface DomainDepartmentServiceI {
+ PageResponse listPage(DomainDepartmentPageQry qry);
+
+ SingleResponse add(DomainDepartmentAddCmd cmd);
+
+ void edit(DomainDepartmentUpdateCmd cmd);
+
+ void remove(Long id);
+
+ void removeBatch(Long[] ids);
+
+ DomainDepartmentCO getInfoById(Long id);
+
+ List listAll();
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/api/DomainDepartmentUserServiceI.java b/web-client/src/main/java/com/zcloud/domain/api/DomainDepartmentUserServiceI.java
new file mode 100644
index 0000000..3c0c240
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/api/DomainDepartmentUserServiceI.java
@@ -0,0 +1,32 @@
+package com.zcloud.domain.api;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.SingleResponse;
+import com.zcloud.domain.dto.DomainDepartmentUserAddCmd;
+import com.zcloud.domain.dto.DomainDepartmentUserPageQry;
+import com.zcloud.domain.dto.DomainDepartmentUserUpdateCmd;
+import com.zcloud.domain.dto.clientobject.DomainDepartmentUserCO;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:09
+ */
+public interface DomainDepartmentUserServiceI {
+ PageResponse listPage(DomainDepartmentUserPageQry qry);
+
+ SingleResponse add(DomainDepartmentUserAddCmd cmd);
+
+ void edit(DomainDepartmentUserUpdateCmd cmd);
+
+ void remove(Long id);
+
+ void removeBatch(Long[] ids);
+
+ List listAll(DomainDepartmentUserPageQry qry);
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/api/DomainGroupServiceI.java b/web-client/src/main/java/com/zcloud/domain/api/DomainGroupServiceI.java
new file mode 100644
index 0000000..6564960
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/api/DomainGroupServiceI.java
@@ -0,0 +1,36 @@
+package com.zcloud.domain.api;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.SingleResponse;
+import com.zcloud.domain.dto.DomainGroupAddCmd;
+import com.zcloud.domain.dto.DomainGroupPageQry;
+import com.zcloud.domain.dto.DomainGroupQry;
+import com.zcloud.domain.dto.DomainGroupUpdateCmd;
+import com.zcloud.domain.dto.clientobject.DomainGroupCO;
+import com.zcloud.domain.dto.clientobject.DomainGroupInfoCO;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:28
+ */
+public interface DomainGroupServiceI {
+ PageResponse listPage(DomainGroupPageQry qry);
+
+ SingleResponse add(DomainGroupAddCmd cmd);
+
+ void edit(DomainGroupUpdateCmd cmd);
+
+ void remove(Long id);
+
+ void removeBatch(Long[] ids);
+
+ DomainGroupInfoCO getInfoById(Long id);
+
+ List listAll(DomainGroupQry qry);
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/api/DomainGroupUserServiceI.java b/web-client/src/main/java/com/zcloud/domain/api/DomainGroupUserServiceI.java
new file mode 100644
index 0000000..883bb68
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/api/DomainGroupUserServiceI.java
@@ -0,0 +1,32 @@
+package com.zcloud.domain.api;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.SingleResponse;
+import com.zcloud.domain.dto.DomainGroupUserAddCmd;
+import com.zcloud.domain.dto.DomainGroupUserPageQry;
+import com.zcloud.domain.dto.DomainGroupUserUpdateCmd;
+import com.zcloud.domain.dto.clientobject.DomainGroupUserCO;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:43
+ */
+public interface DomainGroupUserServiceI {
+ PageResponse listPage(DomainGroupUserPageQry qry);
+
+ SingleResponse add(DomainGroupUserAddCmd cmd);
+
+ void edit(DomainGroupUserUpdateCmd cmd);
+
+ void remove(Long id);
+
+ void removeBatch(Long[] ids);
+
+ List listAll(DomainGroupUserPageQry qry);
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/api/ProjectTaskGroupUserServiceI.java b/web-client/src/main/java/com/zcloud/domain/api/ProjectTaskGroupUserServiceI.java
new file mode 100644
index 0000000..c5b6c2a
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/api/ProjectTaskGroupUserServiceI.java
@@ -0,0 +1,30 @@
+package com.zcloud.domain.api;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.SingleResponse;
+import com.zcloud.domain.dto.ProjectTaskDetailAddCmd;
+import com.zcloud.domain.dto.ProjectTaskGroupUserAddCmd;
+import com.zcloud.domain.dto.ProjectTaskGroupUserPageQry;
+import com.zcloud.domain.dto.ProjectTaskGroupUserUpdateCmd;
+import com.zcloud.domain.dto.clientobject.ProjectTaskGroupUserCO;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:35:20
+ */
+public interface ProjectTaskGroupUserServiceI {
+ PageResponse listPage(ProjectTaskGroupUserPageQry qry);
+
+ SingleResponse add(ProjectTaskGroupUserAddCmd cmd);
+
+ void edit(ProjectTaskGroupUserUpdateCmd cmd);
+
+ void remove(Long id);
+
+ void removeBatch(Long[] ids);
+
+ SingleResponse saveGroupUser(ProjectTaskDetailAddCmd cmd);
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/api/ProjectTaskInfoServiceI.java b/web-client/src/main/java/com/zcloud/domain/api/ProjectTaskInfoServiceI.java
new file mode 100644
index 0000000..4a3fa3d
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/api/ProjectTaskInfoServiceI.java
@@ -0,0 +1,27 @@
+package com.zcloud.domain.api;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.SingleResponse;
+import com.zcloud.domain.dto.ProjectTaskInfoAddCmd;
+import com.zcloud.domain.dto.ProjectTaskInfoPageQry;
+import com.zcloud.domain.dto.ProjectTaskInfoUpdateCmd;
+import com.zcloud.domain.dto.clientobject.ProjectTaskInfoCO;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:30
+ */
+public interface ProjectTaskInfoServiceI {
+ PageResponse listPage(ProjectTaskInfoPageQry qry);
+
+ SingleResponse add(ProjectTaskInfoAddCmd cmd);
+
+ void edit(ProjectTaskInfoUpdateCmd cmd);
+
+ void remove(Long id);
+
+ void removeBatch(Long[] ids);
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/api/ProjectTaskScoreInfoServiceI.java b/web-client/src/main/java/com/zcloud/domain/api/ProjectTaskScoreInfoServiceI.java
new file mode 100644
index 0000000..0d1866d
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/api/ProjectTaskScoreInfoServiceI.java
@@ -0,0 +1,29 @@
+package com.zcloud.domain.api;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.SingleResponse;
+import com.zcloud.domain.dto.*;
+import com.zcloud.domain.dto.clientobject.ProjectTaskScoreInfoCO;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:46
+ */
+public interface ProjectTaskScoreInfoServiceI {
+ PageResponse listPage(ProjectTaskScoreInfoPageQry qry);
+
+ SingleResponse add(ProjectTaskScoreInfoAddCmd cmd);
+
+ void edit(ProjectTaskScoreInfoUpdateCmd cmd);
+
+ void remove(Long id);
+
+ void removeBatch(Long[] ids);
+
+ void setScore(ProjectTaskSetScoreCmd projectTaskSetScoreCmd);
+
+ SingleResponse saveScoreUser(ProjectTaskDetailAddCmd cmd);
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/api/ProjectTaskServiceI.java b/web-client/src/main/java/com/zcloud/domain/api/ProjectTaskServiceI.java
new file mode 100644
index 0000000..4d15240
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/api/ProjectTaskServiceI.java
@@ -0,0 +1,32 @@
+package com.zcloud.domain.api;
+
+import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.SingleResponse;
+import com.zcloud.domain.dto.ProjectTaskAddCmd;
+import com.zcloud.domain.dto.ProjectTaskPageQry;
+import com.zcloud.domain.dto.ProjectTaskUpdateCmd;
+import com.zcloud.domain.dto.clientobject.ProjectTaskCO;
+import com.zcloud.domain.dto.clientobject.ProjectTaskDetailsCO;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:58
+ */
+public interface ProjectTaskServiceI {
+ PageResponse listPage(ProjectTaskPageQry qry);
+
+ SingleResponse add(ProjectTaskAddCmd cmd);
+
+ void edit(ProjectTaskUpdateCmd cmd);
+
+ void remove(Long id);
+
+ void removeBatch(Long[] ids);
+
+ ProjectTaskDetailsCO getInfoById(Long id);
+
+ void updatExecuteStatusJob();
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/api/RiskPointServiceI.java b/web-client/src/main/java/com/zcloud/domain/api/RiskPointServiceI.java
deleted file mode 100644
index 8e21ba6..0000000
--- a/web-client/src/main/java/com/zcloud/domain/api/RiskPointServiceI.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.zcloud.domain.api;
-
-import com.alibaba.cola.dto.PageResponse;
-import com.alibaba.cola.dto.SingleResponse;
-import com.zcloud.domain.dto.RiskPointAddCmd;
-import com.zcloud.domain.dto.RiskPointPageQry;
-import com.zcloud.domain.dto.RiskPointUpdateCmd;
-import com.zcloud.domain.dto.clientobject.RiskPointCo;
-
-public interface RiskPointServiceI {
- PageResponse listPage(RiskPointPageQry qry);
- SingleResponse add(RiskPointAddCmd cmd);
-
- void edit(RiskPointUpdateCmd riskPointUpdateCmd);
-
- void remove(Long id);
-
- void removeBatch(Long[] ids);
-
-}
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentAddCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentAddCmd.java
new file mode 100644
index 0000000..4c1964c
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentAddCmd.java
@@ -0,0 +1,45 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.Command;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:28:51
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class DomainDepartmentAddCmd {
+ @ApiModelProperty(value = "领域类型", name = "domainType", required = true)
+ @NotEmpty(message = "领域类型不能为空")
+ private String domainType;
+
+ @ApiModelProperty(value = "领域类型名称", name = "domainTypeName", required = true)
+ @NotEmpty(message = "领域类型名称不能为空")
+ private String domainTypeName;
+
+ @ApiModelProperty(value = "主责部门id", name = "masterDepartmentId", required = true)
+ @NotNull(message = "主责部门id不能为空")
+ private Long masterDepartmentId;
+
+ @ApiModelProperty(value = "领域负责人", name = "masterUserId", required = true)
+ @NotNull(message = "领域负责人不能为空")
+ private Long masterUserId;
+
+ @ApiModelProperty(value = "领域部门人员列表", name = "domainDepartmentUserAddCmdList")
+ @NotNull(message = "领域部门评审人员不能为空")
+ private List domainDepartmentUserAddCmdList;
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentPageQry.java b/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentPageQry.java
new file mode 100644
index 0000000..74a1fa0
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentPageQry.java
@@ -0,0 +1,28 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.PageQuery;
+import lombok.Data;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:28:51
+ */
+@Data
+public class DomainDepartmentPageQry extends PageQuery {
+
+ /**
+ * 查询条件操作前缀,支持以下几种数据库查询操作:
+ * - `like`: 模糊匹配查询,对应SQL的LIKE操作符
+ * - `eq`: 等值查询,对应SQL的=操作符
+ * - `gt`: 大于比较查询
+ * - `lt`: 小于比较查询
+ * - `ge`: 大于等于比较查询
+ * - `le`: 小于等于比较查询
+ * - `ne`: 不等比较查询,对应SQL的!=操作符
+ */
+ private String departmentName;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentUpdateCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentUpdateCmd.java
new file mode 100644
index 0000000..9d0cde8
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentUpdateCmd.java
@@ -0,0 +1,47 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.Command;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:28:52
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class DomainDepartmentUpdateCmd {
+ @ApiModelProperty(value = "主键", name = "id", required = true)
+ @NotNull(message = "主键不能为空")
+ private Long id;
+ @ApiModelProperty(value = "业务主键id", name = "domainDepartmentId", required = true)
+ private String domainDepartmentId;
+ @ApiModelProperty(value = "领域类型", name = "domainType", required = true)
+ @NotEmpty(message = "领域类型不能为空")
+ private String domainType;
+ @ApiModelProperty(value = "领域类型名称", name = "domainTypeName", required = true)
+ @NotEmpty(message = "领域类型名称不能为空")
+ private String domainTypeName;
+ @ApiModelProperty(value = "主责部门id", name = "masterDepartmentId", required = true)
+ @NotNull(message = "主责部门id不能为空")
+ private Long masterDepartmentId;
+ @ApiModelProperty(value = "领域负责人", name = "masterUserId", required = true)
+ @NotNull(message = "领域负责人不能为空")
+ private Long masterUserId;
+
+ @ApiModelProperty(value = "领域部门人员列表", name = "domainDepartmentUserAddCmdList")
+ @NotNull(message = "领域部门评审人员不能为空")
+ private List domainDepartmentUserAddCmdList;
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentUserAddCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentUserAddCmd.java
new file mode 100644
index 0000000..adaa39e
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentUserAddCmd.java
@@ -0,0 +1,35 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.Command;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:08
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class DomainDepartmentUserAddCmd {
+ @ApiModelProperty(value = "领域部门id", name = "domainDepartmentId", required = true)
+ private String domainDepartmentId;
+
+ @ApiModelProperty(value = "部门id", name = "departmentId", required = true)
+ @NotNull(message = "部门id不能为空")
+ private Long departmentId;
+
+ @ApiModelProperty(value = "人员id", name = "userId", required = true)
+ @NotNull(message = "人员id不能为空")
+ private Long userId;
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentUserPageQry.java b/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentUserPageQry.java
new file mode 100644
index 0000000..598b645
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentUserPageQry.java
@@ -0,0 +1,31 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.PageQuery;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:09
+ */
+@Data
+public class DomainDepartmentUserPageQry extends PageQuery {
+
+ /**
+ * 查询条件操作前缀,支持以下几种数据库查询操作:
+ * - `like`: 模糊匹配查询,对应SQL的LIKE操作符
+ * - `eq`: 等值查询,对应SQL的=操作符
+ * - `gt`: 大于比较查询
+ * - `lt`: 小于比较查询
+ * - `ge`: 大于等于比较查询
+ * - `le`: 小于等于比较查询
+ * - `ne`: 不等比较查询,对应SQL的!=操作符
+ */
+ @ApiModelProperty(value = "领域部门id", name = "domainDepartmentId")
+ private String domainDepartmentId;
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentUserUpdateCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentUserUpdateCmd.java
new file mode 100644
index 0000000..c77fe00
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/DomainDepartmentUserUpdateCmd.java
@@ -0,0 +1,40 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.Command;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:09
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class DomainDepartmentUserUpdateCmd extends Command {
+ @ApiModelProperty(value = "主键", name = "id", required = true)
+ @NotNull(message = "主键不能为空")
+ private Long id;
+ @ApiModelProperty(value = "业务主键id", name = "domainDepartmentUserId", required = true)
+ @NotEmpty(message = "业务主键id不能为空")
+ private String domainDepartmentUserId;
+ @ApiModelProperty(value = "领域部门id", name = "domainDepartmentId", required = true)
+ @NotEmpty(message = "领域部门id不能为空")
+ private String domainDepartmentId;
+ @ApiModelProperty(value = "部门id", name = "departmentId", required = true)
+ @NotNull(message = "部门id不能为空")
+ private Long departmentId;
+ @ApiModelProperty(value = "人员id", name = "userId", required = true)
+ @NotNull(message = "人员id不能为空")
+ private Long userId;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupAddCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupAddCmd.java
new file mode 100644
index 0000000..9d5bc10
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupAddCmd.java
@@ -0,0 +1,54 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.Command;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:27
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class DomainGroupAddCmd implements Serializable {
+
+ //主责企业id
+ @ApiModelProperty(value = "主责企业", name = "corpinfoId", required = true)
+ @NotNull(message = "主责企业不能为空")
+ private Long corpinfoId;
+ @ApiModelProperty(value = "领域组名称", name = "domainGroupName", required = true)
+ @NotEmpty(message = "领域组名称不能为空")
+ private String domainGroupName;
+
+ @ApiModelProperty(value = "领域类型", name = "domainType", required = true)
+ @NotEmpty(message = "领域类型不能为空")
+ private String domainType;
+
+ @ApiModelProperty(value = "领域类型名称", name = "domainTypeName", required = true)
+ @NotEmpty(message = "领域类型名称不能为空")
+ private String domainTypeName;
+
+ @ApiModelProperty(value = "组长部门id", name = "teamDepartmentId", required = true)
+ @NotNull(message = "组长部门id不能为空")
+ private Long teamDepartmentId;
+
+ @ApiModelProperty(value = "组长人员id", name = "teamUserId", required = true)
+ @NotNull(message = "组长人员id不能为空")
+ private Long teamUserId;
+
+ @ApiModelProperty(value = "领域组人员列表", name = "domainGroupUserAddCmdList")
+ private List domainGroupUserAddCmdList;
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupPageQry.java b/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupPageQry.java
new file mode 100644
index 0000000..fcd4c1b
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupPageQry.java
@@ -0,0 +1,32 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.PageQuery;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:27
+ */
+@Data
+public class DomainGroupPageQry extends PageQuery {
+
+ /**
+ * 查询条件操作前缀,支持以下几种数据库查询操作:
+ * - `like`: 模糊匹配查询,对应SQL的LIKE操作符
+ * - `eq`: 等值查询,对应SQL的=操作符
+ * - `gt`: 大于比较查询
+ * - `lt`: 小于比较查询
+ * - `ge`: 大于等于比较查询
+ * - `le`: 小于等于比较查询
+ * - `ne`: 不等比较查询,对应SQL的!=操作符
+ */
+ @ApiModelProperty(value = "领域组类型")
+ private String domainType;
+ @ApiModelProperty(value = "领域管理组名称")
+ private String domainGroupName;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupQry.java b/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupQry.java
new file mode 100644
index 0000000..eeb53b8
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupQry.java
@@ -0,0 +1,32 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.PageQuery;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:27
+ */
+@Data
+public class DomainGroupQry{
+
+ /**
+ * 查询条件操作前缀,支持以下几种数据库查询操作:
+ * - `like`: 模糊匹配查询,对应SQL的LIKE操作符
+ * - `eq`: 等值查询,对应SQL的=操作符
+ * - `gt`: 大于比较查询
+ * - `lt`: 小于比较查询
+ * - `ge`: 大于等于比较查询
+ * - `le`: 小于等于比较查询
+ * - `ne`: 不等比较查询,对应SQL的!=操作符
+ */
+ @ApiModelProperty(value = "领域组类型")
+ private String domainType;
+ @ApiModelProperty(value = "领域管理组名称")
+ private String domainGroupName;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupUpdateCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupUpdateCmd.java
new file mode 100644
index 0000000..707b1c3
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupUpdateCmd.java
@@ -0,0 +1,51 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.Command;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:28
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class DomainGroupUpdateCmd implements Serializable {
+ @ApiModelProperty(value = "主键", name = "id", required = true)
+ @NotNull(message = "主键不能为空")
+ private Long id;
+
+ @ApiModelProperty(value = "主责企业id", name = "corpinfoId", required = true)
+ @NotNull(message = "主责企业id不能为空")
+ private Long corpinfoId;
+ @ApiModelProperty(value = "领域组名称", name = "domainGroupName", required = true)
+ @NotEmpty(message = "领域组名称不能为空")
+ private String domainGroupName;
+ @ApiModelProperty(value = "领域类型", name = "domainType", required = true)
+ @NotEmpty(message = "领域类型不能为空")
+ private String domainType;
+ @ApiModelProperty(value = "领域类型名称", name = "domainTypeName", required = true)
+ @NotEmpty(message = "领域类型名称不能为空")
+ private String domainTypeName;
+ @ApiModelProperty(value = "组长部门id", name = "teamDepartmentId", required = true)
+ @NotNull(message = "组长部门id不能为空")
+ private Long teamDepartmentId;
+ @ApiModelProperty(value = "组长人员id", name = "teamUserId", required = true)
+ @NotNull(message = "组长人员id不能为空")
+ private Long teamUserId;
+
+ @ApiModelProperty(value = "领域组人员列表", name = "domainGroupUserAddCmdList")
+ private List domainGroupUserAddCmdList;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupUserAddCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupUserAddCmd.java
new file mode 100644
index 0000000..53829cb
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupUserAddCmd.java
@@ -0,0 +1,36 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.Command;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:42
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class DomainGroupUserAddCmd implements Serializable {
+ @ApiModelProperty(value = "领域组id", name = "domainGroupId", required = true)
+ private String domainGroupId;
+
+ @ApiModelProperty(value = "部门id", name = "departmentId", required = true)
+ @NotNull(message = "部门id不能为空")
+ private Long departmentId;
+
+ @ApiModelProperty(value = "人员id", name = "userId", required = true)
+ @NotNull(message = "人员id不能为空")
+ private Long userId;
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupUserPageQry.java b/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupUserPageQry.java
new file mode 100644
index 0000000..18bdc00
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupUserPageQry.java
@@ -0,0 +1,30 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.PageQuery;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:43
+ */
+@Data
+public class DomainGroupUserPageQry extends PageQuery {
+
+ /**
+ * 查询条件操作前缀,支持以下几种数据库查询操作:
+ * - `like`: 模糊匹配查询,对应SQL的LIKE操作符
+ * - `eq`: 等值查询,对应SQL的=操作符
+ * - `gt`: 大于比较查询
+ * - `lt`: 小于比较查询
+ * - `ge`: 大于等于比较查询
+ * - `le`: 小于等于比较查询
+ * - `ne`: 不等比较查询,对应SQL的!=操作符
+ */
+ @ApiModelProperty(value = "领域组id", name = "domainGroupId", required = true)
+ private String domainGroupId;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupUserUpdateCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupUserUpdateCmd.java
new file mode 100644
index 0000000..807c473
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/DomainGroupUserUpdateCmd.java
@@ -0,0 +1,40 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.Command;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:43
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class DomainGroupUserUpdateCmd extends Command {
+ @ApiModelProperty(value = "主键", name = "id", required = true)
+ @NotNull(message = "主键不能为空")
+ private Long id;
+ @ApiModelProperty(value = "业务主键id", name = "domainGroupUserId", required = true)
+ @NotEmpty(message = "业务主键id不能为空")
+ private String domainGroupUserId;
+ @ApiModelProperty(value = "领域组id", name = "domainGroupId", required = true)
+ @NotEmpty(message = "领域组id不能为空")
+ private String domainGroupId;
+ @ApiModelProperty(value = "部门id", name = "departmentId", required = true)
+ @NotNull(message = "部门id不能为空")
+ private Long departmentId;
+ @ApiModelProperty(value = "人员id", name = "userId", required = true)
+ @NotNull(message = "人员id不能为空")
+ private Long userId;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskAddCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskAddCmd.java
new file mode 100644
index 0000000..40c5c70
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskAddCmd.java
@@ -0,0 +1,73 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.Command;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 15:47:57
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ProjectTaskAddCmd implements Serializable {
+ @ApiModelProperty(value = "领域类型", name = "domainType", required = true)
+ @NotEmpty(message = "领域类型不能为空")
+ private String domainType;
+
+ @ApiModelProperty(value = "领域类型名称", name = "domainTypeName", required = true)
+ @NotEmpty(message = "领域类型名称不能为空")
+ private String domainTypeName;
+
+ @ApiModelProperty(value = "领域部门主键id", name = "domainDepartmentId", required = true)
+ @NotNull(message = "领域部门不能为空")
+ private String domainDepartmentId;
+
+ @ApiModelProperty(value = "课题名称", name = "projectName", required = true)
+ @NotEmpty(message = "课题名称不能为空")
+ private String projectName;
+
+ @ApiModelProperty(value = "课题执行开始时间", name = "executedStartDate", required = true)
+ @NotNull(message = "课题执行开始时间不能为空")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date executedStartDate;
+
+ @ApiModelProperty(value = "课题执行结束时间", name = "executedEndDate", required = true)
+ @NotNull(message = "课题执行结束时间不能为空")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date executedEndDate;
+
+ @ApiModelProperty(value = "领域组id", name = "domainGroupId", required = true)
+ @NotEmpty(message = "领域组不能为空")
+ private String domainGroupId;
+
+ @ApiModelProperty(value = "课题执行企业id", name = "executeCorpinfoId", required = true)
+ @NotNull(message = "课题执行企业不能为空")
+ private Long executeCorpinfoId;
+
+
+ @ApiModelProperty(value = "课题信息", name = "projectTaskInfoAddCmdList")
+ private List projectTaskInfoAddCmdList;
+
+ @ApiModelProperty(value = "课题领域组人员信息", name = "projectTaskGroupUserAddCmdList")
+ private List projectTaskGroupUserAddCmdList;
+
+ @ApiModelProperty(value = "课题评审人员信息", name = "projectTaskScoreInfoAddCmdList")
+ private List projectTaskScoreInfoAddCmdList;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskDetailAddCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskDetailAddCmd.java
new file mode 100644
index 0000000..5e23f25
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskDetailAddCmd.java
@@ -0,0 +1,49 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.Command;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 15:47:57
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ProjectTaskDetailAddCmd implements Serializable {
+
+ @ApiModelProperty(value = "课题任务主键id", name = "projectTaskId", required = true)
+ @NotEmpty(message = "课题任务不能为空")
+ private String projectTaskId;
+
+
+ @ApiModelProperty(value = "领域组id", name = "domainGroupId", required = true)
+ @NotEmpty(message = "领域组不能为空")
+ private String domainGroupId;
+
+ @ApiModelProperty(value = "课题执行企业id", name = "executeCorpinfoId", required = true)
+ @NotNull(message = "课题执行企业不能为空")
+ private Long executeCorpinfoId;
+
+
+
+ @ApiModelProperty(value = "课题领域组人员信息", name = "projectTaskGroupUserAddCmdList")
+ private List projectTaskGroupUserAddCmdList;
+
+ @ApiModelProperty(value = "课题评审人员信息", name = "projectTaskScoreInfoAddCmdList")
+ private List projectTaskScoreInfoAddCmdList;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskGroupUserAddCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskGroupUserAddCmd.java
new file mode 100644
index 0000000..002fc6b
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskGroupUserAddCmd.java
@@ -0,0 +1,36 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.Command;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:08
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ProjectTaskGroupUserAddCmd implements Serializable {
+ @ApiModelProperty(value = "课题任务主键id", name = "projectTaskId", required = true)
+ private String projectTaskId;
+
+ @ApiModelProperty(value = "部门主键id", name = "departmentId", required = true)
+ @NotNull(message = "部门主键id不能为空")
+ private Long departmentId;
+
+ @ApiModelProperty(value = "人员id", name = "userId", required = true)
+ @NotNull(message = "人员id不能为空")
+ private Long userId;
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskGroupUserPageQry.java b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskGroupUserPageQry.java
new file mode 100644
index 0000000..e0eb727
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskGroupUserPageQry.java
@@ -0,0 +1,28 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.PageQuery;
+import lombok.Data;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:09
+ */
+@Data
+public class ProjectTaskGroupUserPageQry extends PageQuery {
+
+ /**
+ * 查询条件操作前缀,支持以下几种数据库查询操作:
+ * - `like`: 模糊匹配查询,对应SQL的LIKE操作符
+ * - `eq`: 等值查询,对应SQL的=操作符
+ * - `gt`: 大于比较查询
+ * - `lt`: 小于比较查询
+ * - `ge`: 大于等于比较查询
+ * - `le`: 小于等于比较查询
+ * - `ne`: 不等比较查询,对应SQL的!=操作符
+ */
+ private String likeProjectTaskGroupUserId;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskGroupUserUpdateCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskGroupUserUpdateCmd.java
new file mode 100644
index 0000000..f2447ec
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskGroupUserUpdateCmd.java
@@ -0,0 +1,46 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.Command;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:09
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ProjectTaskGroupUserUpdateCmd extends Command {
+ @ApiModelProperty(value = "主键", name = "id", required = true)
+ @NotNull(message = "主键不能为空")
+ private Long id;
+ @ApiModelProperty(value = "业务主键id", name = "projectTaskGroupUserId", required = true)
+ @NotEmpty(message = "业务主键id不能为空")
+ private String projectTaskGroupUserId;
+ @ApiModelProperty(value = "课题任务主键id", name = "projectTaskId", required = true)
+ @NotEmpty(message = "课题任务主键id不能为空")
+ private String projectTaskId;
+ @ApiModelProperty(value = "领域组id", name = "domainGroupId", required = true)
+ @NotEmpty(message = "领域组id不能为空")
+ private String domainGroupId;
+ @ApiModelProperty(value = "课题执行企业id", name = "executeCorpinfoId", required = true)
+ @NotNull(message = "课题执行企业id不能为空")
+ private Long executeCorpinfoId;
+ @ApiModelProperty(value = "部门主键id", name = "departmentId", required = true)
+ @NotNull(message = "部门主键id不能为空")
+ private Long departmentId;
+ @ApiModelProperty(value = "人员id", name = "userId", required = true)
+ @NotNull(message = "人员id不能为空")
+ private Long userId;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskInfoAddCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskInfoAddCmd.java
new file mode 100644
index 0000000..2950898
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskInfoAddCmd.java
@@ -0,0 +1,34 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.Command;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import java.io.Serializable;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:29
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ProjectTaskInfoAddCmd implements Serializable {
+ @ApiModelProperty(value = "课题任务主键id", name = "projectTaskId", required = true)
+ private String projectTaskId;
+
+ @ApiModelProperty(value = "任务名称", name = "workName", required = true)
+ @NotEmpty(message = "任务名称不能为空")
+ private String workName;
+
+ @ApiModelProperty(value = "任务附件url", name = "workUrl", required = true)
+ private String workUrl;
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskInfoPageQry.java b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskInfoPageQry.java
new file mode 100644
index 0000000..1feb924
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskInfoPageQry.java
@@ -0,0 +1,28 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.PageQuery;
+import lombok.Data;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:29
+ */
+@Data
+public class ProjectTaskInfoPageQry extends PageQuery {
+
+ /**
+ * 查询条件操作前缀,支持以下几种数据库查询操作:
+ * - `like`: 模糊匹配查询,对应SQL的LIKE操作符
+ * - `eq`: 等值查询,对应SQL的=操作符
+ * - `gt`: 大于比较查询
+ * - `lt`: 小于比较查询
+ * - `ge`: 大于等于比较查询
+ * - `le`: 小于等于比较查询
+ * - `ne`: 不等比较查询,对应SQL的!=操作符
+ */
+ private String likeProjectTaskInfoId;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskInfoUpdateCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskInfoUpdateCmd.java
new file mode 100644
index 0000000..f3662b3
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskInfoUpdateCmd.java
@@ -0,0 +1,40 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.Command;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:30
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ProjectTaskInfoUpdateCmd implements Serializable {
+ @ApiModelProperty(value = "主键", name = "id", required = true)
+ @NotNull(message = "主键不能为空")
+ private Long id;
+ @ApiModelProperty(value = "业务主键id", name = "projectTaskInfoId", required = true)
+ @NotEmpty(message = "业务主键id不能为空")
+ private String projectTaskInfoId;
+ @ApiModelProperty(value = "课题任务主键id", name = "projectTaskId", required = true)
+ @NotEmpty(message = "课题任务主键id不能为空")
+ private String projectTaskId;
+ @ApiModelProperty(value = "任务名称", name = "workName", required = true)
+ @NotEmpty(message = "任务名称不能为空")
+ private String workName;
+ @ApiModelProperty(value = "任务附件url", name = "workUrl", required = true)
+ @NotEmpty(message = "任务附件url不能为空")
+ private String workUrl;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskPageQry.java b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskPageQry.java
new file mode 100644
index 0000000..4515a6f
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskPageQry.java
@@ -0,0 +1,47 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.PageQuery;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 15:47:57
+ */
+@Data
+public class ProjectTaskPageQry extends PageQuery {
+ /**
+ * 查询条件操作前缀,支持以下几种数据库查询操作:
+ * - `like`: 模糊匹配查询,对应SQL的LIKE操作符
+ * - `eq`: 等值查询,对应SQL的=操作符
+ * - `gt`: 大于比较查询
+ * - `lt`: 小于比较查询
+ * - `ge`: 大于等于比较查询
+ * - `le`: 小于等于比较查询
+ * - `ne`: 不等比较查询,对应SQL的!=操作符
+ */
+ @ApiModelProperty(value = "企业id")
+ private Long corpinfoId;
+ @ApiModelProperty(value = "领域类型")
+ private String domainType;
+ @ApiModelProperty(value = "课题执行单位id")
+ private Long executeCorpinfoId;
+ @ApiModelProperty(value = "课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)")
+ private Integer executeStatus;
+
+ @ApiModelProperty(value = "评分状态(0:未评分,1:已评分)")
+ private Integer scoreStatus;
+
+ @ApiModelProperty(value = "课题名称")
+ private String projectName;
+ //开始时间
+ @ApiModelProperty(value = "开始时间")
+ private String startDate;
+ //结束时间
+ @ApiModelProperty(value = "结束时间")
+ private String endDate;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskScoreInfoAddCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskScoreInfoAddCmd.java
new file mode 100644
index 0000000..cf47d38
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskScoreInfoAddCmd.java
@@ -0,0 +1,44 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.Command;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:45
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ProjectTaskScoreInfoAddCmd implements Serializable {
+ @ApiModelProperty(value = "课题任务主键id", name = "projectTaskId", required = true)
+ private String projectTaskId;
+
+ @ApiModelProperty(value = "部门主键id", name = "departmentId", required = true)
+ @NotNull(message = "部门主键id不能为空")
+ private Long departmentId;
+
+
+
+ @ApiModelProperty(value = "人员id", name = "userId", required = true)
+ @NotNull(message = "人员id不能为空")
+ private Long userId;
+
+
+
+ @ApiModelProperty(value = "评分", name = "score", required = true)
+ private BigDecimal score;
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskScoreInfoPageQry.java b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskScoreInfoPageQry.java
new file mode 100644
index 0000000..1955b3d
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskScoreInfoPageQry.java
@@ -0,0 +1,28 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.PageQuery;
+import lombok.Data;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:45
+ */
+@Data
+public class ProjectTaskScoreInfoPageQry extends PageQuery {
+
+ /**
+ * 查询条件操作前缀,支持以下几种数据库查询操作:
+ * - `like`: 模糊匹配查询,对应SQL的LIKE操作符
+ * - `eq`: 等值查询,对应SQL的=操作符
+ * - `gt`: 大于比较查询
+ * - `lt`: 小于比较查询
+ * - `ge`: 大于等于比较查询
+ * - `le`: 小于等于比较查询
+ * - `ne`: 不等比较查询,对应SQL的!=操作符
+ */
+ private String likeProjectTaskScoreInfoId;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskScoreInfoUpdateCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskScoreInfoUpdateCmd.java
new file mode 100644
index 0000000..39dfefc
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskScoreInfoUpdateCmd.java
@@ -0,0 +1,49 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.Command;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:46
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ProjectTaskScoreInfoUpdateCmd extends Command {
+ @ApiModelProperty(value = "主键", name = "id", required = true)
+ @NotNull(message = "主键不能为空")
+ private Long id;
+ @ApiModelProperty(value = "业务主键id", name = "projectTaskScoreInfoId", required = true)
+ private String projectTaskScoreInfoId;
+ @ApiModelProperty(value = "课题任务主键id", name = "projectTaskId", required = true)
+ @NotEmpty(message = "课题任务主键id不能为空")
+ private String projectTaskId;
+ @ApiModelProperty(value = "部门主键id", name = "departmentId", required = true)
+ @NotNull(message = "部门主键id不能为空")
+ private Long departmentId;
+ @ApiModelProperty(value = "部门名称", name = "departmentName", required = true)
+ @NotEmpty(message = "部门名称不能为空")
+ private String departmentName;
+ @ApiModelProperty(value = "人员id", name = "userId", required = true)
+ @NotNull(message = "人员id不能为空")
+ private Long userId;
+ @ApiModelProperty(value = "人员名称", name = "userName", required = true)
+ @NotEmpty(message = "人员名称不能为空")
+ private String userName;
+ @ApiModelProperty(value = "评分", name = "score", required = true)
+ @NotNull(message = "评分不能为空")
+ private BigDecimal score;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskSetScoreCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskSetScoreCmd.java
new file mode 100644
index 0000000..64172ca
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskSetScoreCmd.java
@@ -0,0 +1,33 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.Command;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:46
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ProjectTaskSetScoreCmd implements Serializable {
+ @ApiModelProperty(value = "主键", name = "id", required = true)
+ @NotNull(message = "主键不能为空")
+ private Long id;
+
+ @ApiModelProperty(value = "评分", name = "score", required = true)
+ @NotNull(message = "评分不能为空")
+ private BigDecimal score;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskUpdateCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskUpdateCmd.java
new file mode 100644
index 0000000..d122a4c
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/ProjectTaskUpdateCmd.java
@@ -0,0 +1,75 @@
+package com.zcloud.domain.dto;
+
+import com.alibaba.cola.dto.Command;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 15:47:58
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ProjectTaskUpdateCmd extends Command {
+ @ApiModelProperty(value = "主键", name = "id", required = true)
+ @NotNull(message = "主键不能为空")
+ private Long id;
+ @ApiModelProperty(value = "业务主键id", name = "projectTaskId", required = true)
+ private String projectTaskId;
+ @ApiModelProperty(value = "领域类型", name = "domainType", required = true)
+ @NotEmpty(message = "领域类型不能为空")
+ private String domainType;
+ @ApiModelProperty(value = "领域类型名称", name = "domainTypeName", required = true)
+ @NotEmpty(message = "领域类型名称不能为空")
+ private String domainTypeName;
+ @ApiModelProperty(value = "领域部门主键id", name = "domainDepartmentId", required = true)
+ @NotNull(message = "领域部门主键id不能为空")
+ private String domainDepartmentId;
+ @ApiModelProperty(value = "课题名称", name = "projectName", required = true)
+ @NotEmpty(message = "课题名称不能为空")
+ private String projectName;
+ @ApiModelProperty(value = "课题执行开始时间", name = "executedStartDate", required = true)
+ @NotNull(message = "课题执行开始时间不能为空")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date executedStartDate;
+ @ApiModelProperty(value = "课题执行结束时间", name = "executedEndDate", required = true)
+ @NotNull(message = "课题执行结束时间不能为空")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date executedEndDate;
+ @ApiModelProperty(value = "领域组id", name = "domainGroupId", required = true)
+ @NotEmpty(message = "领域组id不能为空")
+ private String domainGroupId;
+ @ApiModelProperty(value = "课题执行企业id", name = "executeCorpinfoId", required = true)
+ @NotNull(message = "课题执行企业id不能为空")
+ private Long executeCorpinfoId;
+ @ApiModelProperty(value = "课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)", name = "executeStatus", required = true)
+ @NotNull(message = "课题执行状态不能为空")
+ private Integer executeStatus;
+
+
+ @ApiModelProperty(value = "课题信息", name = "projectTaskInfoAddCmdList")
+ private List projectTaskInfoAddCmdList;
+
+ @ApiModelProperty(value = "课题领域组人员信息", name = "projectTaskGroupUserAddCmdList")
+ private List projectTaskGroupUserAddCmdList;
+
+ @ApiModelProperty(value = "课题评审人员信息", name = "projectTaskScoreInfoAddCmdList")
+ private List projectTaskScoreInfoAddCmdList;
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/RiskPointAddCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/RiskPointAddCmd.java
deleted file mode 100644
index 2bcb014..0000000
--- a/web-client/src/main/java/com/zcloud/domain/dto/RiskPointAddCmd.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.zcloud.domain.dto;
-
-import com.alibaba.cola.dto.Command;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
-
-import javax.validation.constraints.NotEmpty;
-
-/**
- *
- * @author lin
- */
-@EqualsAndHashCode(callSuper = true)
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-public class RiskPointAddCmd extends Command {
- @ApiModelProperty(value = "风险点名字", name = "riskPointName", required = true)
- @NotEmpty(message = "风险点名字不能为空")
- private String riskPointName;
-// @ApiModelProperty(value = "部门Id", name = "deptId", required = true)
-// @NotEmpty
-// private String deptId;
- @NotEmpty(message = "部门名字不能为空")
- @ApiModelProperty(value = "部门名字", name = "deptName", required = true)
- private String deptName;
-}
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/RiskPointPageQry.java b/web-client/src/main/java/com/zcloud/domain/dto/RiskPointPageQry.java
deleted file mode 100644
index c44eb19..0000000
--- a/web-client/src/main/java/com/zcloud/domain/dto/RiskPointPageQry.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.zcloud.domain.dto;
-
-import com.alibaba.cola.dto.PageQuery;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.lang.reflect.Field;
-import java.util.HashMap;
-import java.util.Map;
-
-@Data
-public class RiskPointPageQry extends PageQuery {
- @ApiModelProperty(value = "风险点名称")
- private String likeRiskPointName;
- @ApiModelProperty(value = "部门名称")
- private String eqDeptName;
-
- public Map toHashMap() {
- Map map = new HashMap<>();
- Class> clazz = this.getClass();
-
- Field[] fields = clazz.getDeclaredFields();
- for (Field field : fields) {
- try {
- field.setAccessible(true);
- map.put(field.getName(), field.get(this));
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- }
-
- Class> superClass = clazz.getSuperclass();
- if (superClass != null) {
- Field[] superFields = superClass.getDeclaredFields();
- for (Field field : superFields) {
- try {
- field.setAccessible(true);
- map.put(field.getName(), field.get(this));
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- }
- }
- return map;
- }
-}
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/RiskPointUpdateCmd.java b/web-client/src/main/java/com/zcloud/domain/dto/RiskPointUpdateCmd.java
deleted file mode 100644
index 15e484d..0000000
--- a/web-client/src/main/java/com/zcloud/domain/dto/RiskPointUpdateCmd.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.zcloud.domain.dto;
-
-import com.alibaba.cola.dto.Command;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
-
-import javax.validation.constraints.NotEmpty;
-
-/**
- *
- * @author lin
- */
-@EqualsAndHashCode(callSuper = true)
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-public class RiskPointUpdateCmd extends Command {
- @ApiModelProperty(value = "风险点id", name = "id", required = true)
- @NotEmpty
- private String id;
- @ApiModelProperty(value = "风险点名字", name = "riskPointName", required = true)
- @NotEmpty
- private String riskPointName;
-
- @NotEmpty
- @ApiModelProperty(value = "部门名字", name = "deptName", required = true)
- private String deptName;
-}
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/clientobject/DomainDepartmentCO.java b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/DomainDepartmentCO.java
new file mode 100644
index 0000000..9bf05ed
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/DomainDepartmentCO.java
@@ -0,0 +1,58 @@
+package com.zcloud.domain.dto.clientobject;
+
+import com.alibaba.cola.dto.ClientObject;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:28:51
+ */
+@Data
+public class DomainDepartmentCO {
+ //主键
+ @ApiModelProperty(value = "主键")
+ private Long id;
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String domainDepartmentId;
+ //领域类型
+ @ApiModelProperty(value = "领域类型")
+ private String domainType;
+ //领域类型名称
+ @ApiModelProperty(value = "领域类型名称")
+ private String domainTypeName;
+ //主责部门id
+ @ApiModelProperty(value = "主责部门id")
+ private Long masterDepartmentId;
+ @ApiModelProperty(value = "主责部门名称")
+ private String masterDepartmentName;
+ //领域负责人
+ @ApiModelProperty(value = "领域负责人id")
+ private Long masterUserId;
+ @ApiModelProperty(value = "领域负责人名称")
+ private String masterUserName;
+
+ //创建人
+ @ApiModelProperty(value = "创建人")
+ private Long createId;
+ //创建人姓名
+ @ApiModelProperty(value = "创建人姓名")
+ private String createName;
+ //创建时间
+ @ApiModelProperty(value = "创建时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty(value = "领域部门人员列表")
+ private List domainDepartmentUserList;
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/clientobject/DomainDepartmentListCO.java b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/DomainDepartmentListCO.java
new file mode 100644
index 0000000..eafca0f
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/DomainDepartmentListCO.java
@@ -0,0 +1,49 @@
+package com.zcloud.domain.dto.clientobject;
+
+import com.alibaba.cola.dto.ClientObject;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:28:51
+ */
+@Data
+public class DomainDepartmentListCO {
+ //主键
+ @ApiModelProperty(value = "主键")
+ private Long id;
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String domainDepartmentId;
+ //领域类型
+ @ApiModelProperty(value = "领域类型")
+ private String domainType;
+ //领域类型名称
+ @ApiModelProperty(value = "领域类型名称")
+ private String domainTypeName;
+ //主责部门id
+ @ApiModelProperty(value = "主责部门id")
+ private Long masterDepartmentId;
+ @ApiModelProperty(value = "主责部门名称")
+ private String masterDepartmentName;
+ //领域负责人
+ @ApiModelProperty(value = "领域负责人id")
+ private Long masterUserId;
+ @ApiModelProperty(value = "领域负责人名称")
+ private String masterUserName;
+
+ @ApiModelProperty(value = "领域课题数")
+ private Long projectTaskCount;
+
+ @ApiModelProperty(value = "领域评审人员数")
+ private Long domainDepartmentUserCount;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/clientobject/DomainDepartmentUserCO.java b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/DomainDepartmentUserCO.java
new file mode 100644
index 0000000..3bb2e8a
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/DomainDepartmentUserCO.java
@@ -0,0 +1,39 @@
+package com.zcloud.domain.dto.clientobject;
+
+import com.alibaba.cola.dto.ClientObject;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:09
+ */
+@Data
+public class DomainDepartmentUserCO {
+ //主键
+ @ApiModelProperty(value = "主键")
+ private Long id;
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String domainDepartmentUserId;
+ //领域部门id
+ @ApiModelProperty(value = "领域部门id")
+ private String domainDepartmentId;
+ //部门id
+ @ApiModelProperty(value = "部门id")
+ private Long departmentId;
+ @ApiModelProperty(value = "部门名称")
+ private String departmentName;
+ //人员id
+ @ApiModelProperty(value = "人员id")
+ private Long userId;
+ @ApiModelProperty(value = "人员名称")
+ private String userName;
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/clientobject/DomainGroupCO.java b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/DomainGroupCO.java
new file mode 100644
index 0000000..823f184
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/DomainGroupCO.java
@@ -0,0 +1,56 @@
+package com.zcloud.domain.dto.clientobject;
+
+import com.alibaba.cola.dto.ClientObject;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:27
+ */
+@Data
+public class DomainGroupCO implements Serializable {
+ //主键
+ @ApiModelProperty(value = "主键")
+ private Long id;
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String domainGroupId;
+ //主责企业id
+ @ApiModelProperty(value = "主责企业id")
+ private Long corpinfoId;
+
+
+ //领域组名称
+ @ApiModelProperty(value = "领域组名称")
+ private String domainGroupName;
+ //领域类型
+ @ApiModelProperty(value = "领域类型")
+ private String domainType;
+ //领域类型名称
+ @ApiModelProperty(value = "领域类型名称")
+ private String domainTypeName;
+ //组长部门id
+ @ApiModelProperty(value = "组长部门id")
+ private Long teamDepartmentId;
+
+ //组长人员id
+ @ApiModelProperty(value = "组长人员id")
+ private Long teamUserId;
+ @ApiModelProperty(value = "主责企业名称")
+ private String corpinfoName;
+ @ApiModelProperty(value = "组长部门名称")
+ private String teamDepartmentName;
+ @ApiModelProperty(value = "组长人员姓名")
+ private String teamUserName;
+ @ApiModelProperty(value = "领域课题数")
+ private Long projectTaskCount;
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/clientobject/DomainGroupInfoCO.java b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/DomainGroupInfoCO.java
new file mode 100644
index 0000000..ee0ff01
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/DomainGroupInfoCO.java
@@ -0,0 +1,56 @@
+package com.zcloud.domain.dto.clientobject;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:27
+ */
+@Data
+public class DomainGroupInfoCO implements Serializable {
+ //主键
+ @ApiModelProperty(value = "主键")
+ private Long id;
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String domainGroupId;
+ //主责企业id
+ @ApiModelProperty(value = "主责企业id")
+ private Long corpinfoId;
+
+
+ //领域组名称
+ @ApiModelProperty(value = "领域组名称")
+ private String domainGroupName;
+ //领域类型
+ @ApiModelProperty(value = "领域类型")
+ private String domainType;
+ //领域类型名称
+ @ApiModelProperty(value = "领域类型名称")
+ private String domainTypeName;
+ //组长部门id
+ @ApiModelProperty(value = "组长部门id")
+ private Long teamDepartmentId;
+
+ //组长人员id
+ @ApiModelProperty(value = "组长人员id")
+ private Long teamUserId;
+ @ApiModelProperty(value = "主责企业名称")
+ private String corpinfoName;
+ @ApiModelProperty(value = "组长部门名称")
+ private String teamDepartmentName;
+ @ApiModelProperty(value = "组长人员姓名")
+ private String teamUserName;
+
+ @ApiModelProperty(value = "领域组人员信息")
+ private List domainGroupUserList;
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/clientobject/DomainGroupUserCO.java b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/DomainGroupUserCO.java
new file mode 100644
index 0000000..da7f5a1
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/DomainGroupUserCO.java
@@ -0,0 +1,41 @@
+package com.zcloud.domain.dto.clientobject;
+
+import com.alibaba.cola.dto.ClientObject;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:42
+ */
+@Data
+public class DomainGroupUserCO implements Serializable {
+ //主键
+ @ApiModelProperty(value = "主键")
+ private Long id;
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String domainGroupUserId;
+ //领域组id
+ @ApiModelProperty(value = "领域组id")
+ private String domainGroupId;
+ //部门id
+ @ApiModelProperty(value = "部门id")
+ private Long departmentId;
+ //部门名称
+ @ApiModelProperty(value = "部门名称")
+ private String departmentName;
+ //人员id
+ @ApiModelProperty(value = "人员id")
+ private Long userId;
+ @ApiModelProperty(value = "人员名称")
+ private String userName;
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/clientobject/ProjectTaskCO.java b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/ProjectTaskCO.java
new file mode 100644
index 0000000..a4dda97
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/ProjectTaskCO.java
@@ -0,0 +1,69 @@
+package com.zcloud.domain.dto.clientobject;
+
+import com.alibaba.cola.dto.ClientObject;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 15:47:57
+ */
+@Data
+public class ProjectTaskCO implements Serializable {
+ //主键
+ @ApiModelProperty(value = "主键")
+ private Long id;
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String projectTaskId;
+ //领域类型
+ @ApiModelProperty(value = "领域类型")
+ private String domainType;
+ //领域类型名称
+ @ApiModelProperty(value = "领域类型名称")
+ private String domainTypeName;
+ //领域部门主键id
+ @ApiModelProperty(value = "领域部门主键id")
+ private String domainDepartmentId;
+ //课题名称
+ @ApiModelProperty(value = "课题名称")
+ private String projectName;
+ //课题执行开始时间
+ @ApiModelProperty(value = "课题执行开始时间")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date executedStartDate;
+ //课题执行结束时间
+ @ApiModelProperty(value = "课题执行结束时间")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date executedEndDate;
+ //领域组id
+ @ApiModelProperty(value = "领域组id")
+ private String domainGroupId;
+ //课题执行企业id
+ @ApiModelProperty(value = "课题执行企业id")
+ private Long executeCorpinfoId;
+ @ApiModelProperty(value = "课题执行企业名称")
+ private String executeCorpinfoName;
+ //课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)
+ @ApiModelProperty(value = "课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)")
+ private Integer executeStatus;
+ //评分状态(0:未评分,1:已评分)
+ @ApiModelProperty(value = "评分状态(0:未评分,1:已评分)")
+ private Integer scoreStatus;
+ //评分
+ @ApiModelProperty(value = "评分")
+ private BigDecimal score;
+ @ApiModelProperty(value = "领域主管部门名称")
+ private String masterDepartmentName;
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/clientobject/ProjectTaskDetailsCO.java b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/ProjectTaskDetailsCO.java
new file mode 100644
index 0000000..c0e2678
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/ProjectTaskDetailsCO.java
@@ -0,0 +1,88 @@
+package com.zcloud.domain.dto.clientobject;
+
+import com.alibaba.cola.dto.ClientObject;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zcloud.domain.dto.ProjectTaskGroupUserAddCmd;
+import com.zcloud.domain.dto.ProjectTaskInfoAddCmd;
+import com.zcloud.domain.dto.ProjectTaskScoreInfoAddCmd;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 15:47:57
+ */
+@Data
+public class ProjectTaskDetailsCO implements Serializable {
+ //主键
+ @ApiModelProperty(value = "主键")
+ private Long id;
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String projectTaskId;
+ //领域类型
+ @ApiModelProperty(value = "领域类型")
+ private String domainType;
+ //领域类型名称
+ @ApiModelProperty(value = "领域类型名称")
+ private String domainTypeName;
+ //领域部门主键id
+ @ApiModelProperty(value = "领域部门主键id")
+ private String domainDepartmentId;
+ //课题名称
+ @ApiModelProperty(value = "课题名称")
+ private String projectName;
+ //课题执行开始时间
+ @ApiModelProperty(value = "课题执行开始时间")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date executedStartDate;
+ //课题执行结束时间
+ @ApiModelProperty(value = "课题执行结束时间")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date executedEndDate;
+ //领域组id
+ @ApiModelProperty(value = "领域组id")
+ private String domainGroupId;
+ //课题执行企业id
+ @ApiModelProperty(value = "课题执行企业id")
+ private Long executeCorpinfoId;
+ @ApiModelProperty(value = "课题执行企业名称")
+ private String executeCorpinfoName;
+ //课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)
+ @ApiModelProperty(value = "课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)")
+ private Integer executeStatus;
+ //评分状态(0:未评分,1:已评分)
+ @ApiModelProperty(value = "评分状态(0:未评分,1:已评分)")
+ private Integer scoreStatus;
+ //评分
+ @ApiModelProperty(value = "评分")
+ private BigDecimal score;
+ @ApiModelProperty(value = "领域主管部门名称")
+ private String masterDepartmentName;
+ //领域组id
+ @ApiModelProperty(value = "领域组名称")
+ private String domainGroupName;
+
+
+ @ApiModelProperty(value = "课题信息", name = "projectTaskInfoCOList", required = true)
+ private List projectTaskInfoCOList;
+
+ @ApiModelProperty(value = "课题领域组人员信息", name = "projectTaskGroupUserCOList")
+ private List projectTaskGroupUserCOList;
+
+ @ApiModelProperty(value = "课题评审人员信息", name = "projectTaskScoreInfoCOList")
+ private List projectTaskScoreInfoCOList;
+
+
+
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/clientobject/ProjectTaskGroupUserCO.java b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/ProjectTaskGroupUserCO.java
new file mode 100644
index 0000000..59c3d53
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/ProjectTaskGroupUserCO.java
@@ -0,0 +1,46 @@
+package com.zcloud.domain.dto.clientobject;
+
+import com.alibaba.cola.dto.ClientObject;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:09
+ */
+@Data
+public class ProjectTaskGroupUserCO implements Serializable {
+ //主键
+ @ApiModelProperty(value = "主键")
+ private Long id;
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String projectTaskGroupUserId;
+ //课题任务主键id
+ @ApiModelProperty(value = "课题任务主键id")
+ private String projectTaskId;
+ //领域组id
+ @ApiModelProperty(value = "领域组id")
+ private String domainGroupId;
+ //课题执行企业id
+ @ApiModelProperty(value = "课题执行企业id")
+ private Long executeCorpinfoId;
+ //部门主键id
+ @ApiModelProperty(value = "部门主键id")
+ private Long departmentId;
+ //人员id
+ @ApiModelProperty(value = "人员id")
+ private Long userId;
+ @ApiModelProperty(value = "部门名称")
+ private String departmentName;
+ //人员名称
+ @ApiModelProperty(value = "人员名称")
+ private String userName;
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/clientobject/ProjectTaskInfoCO.java b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/ProjectTaskInfoCO.java
new file mode 100644
index 0000000..84a8745
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/ProjectTaskInfoCO.java
@@ -0,0 +1,36 @@
+package com.zcloud.domain.dto.clientobject;
+
+import com.alibaba.cola.dto.ClientObject;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:29
+ */
+@Data
+public class ProjectTaskInfoCO implements Serializable {
+ //主键
+ @ApiModelProperty(value = "主键")
+ private Long id;
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String projectTaskInfoId;
+ //课题任务主键id
+ @ApiModelProperty(value = "课题任务主键id")
+ private String projectTaskId;
+ //任务名称
+ @ApiModelProperty(value = "任务名称")
+ private String workName;
+ //任务附件url
+ @ApiModelProperty(value = "任务附件url")
+ private String workUrl;
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/clientobject/ProjectTaskScoreInfoCO.java b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/ProjectTaskScoreInfoCO.java
new file mode 100644
index 0000000..a6089a0
--- /dev/null
+++ b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/ProjectTaskScoreInfoCO.java
@@ -0,0 +1,49 @@
+package com.zcloud.domain.dto.clientobject;
+
+import com.alibaba.cola.dto.ClientObject;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+
+/**
+ * web-client
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:45
+ */
+@Data
+public class ProjectTaskScoreInfoCO implements Serializable {
+ //主键
+ @ApiModelProperty(value = "主键")
+ private Long id;
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String projectTaskScoreInfoId;
+ //课题任务主键id
+ @ApiModelProperty(value = "课题任务主键id")
+ private String projectTaskId;
+ //部门主键id
+ @ApiModelProperty(value = "部门主键id")
+ private Long departmentId;
+ //部门名称
+ @ApiModelProperty(value = "部门名称")
+ private String departmentName;
+ //人员id
+ @ApiModelProperty(value = "人员id")
+ private Long userId;
+ //人员名称
+ @ApiModelProperty(value = "人员名称")
+ private String userName;
+ //评分
+ @ApiModelProperty(value = "评分")
+ private BigDecimal score;
+
+ @ApiModelProperty(value = "是否评分")
+ private Boolean isScore;
+
+}
+
diff --git a/web-client/src/main/java/com/zcloud/domain/dto/clientobject/RiskPointCo.java b/web-client/src/main/java/com/zcloud/domain/dto/clientobject/RiskPointCo.java
deleted file mode 100644
index 6f89097..0000000
--- a/web-client/src/main/java/com/zcloud/domain/dto/clientobject/RiskPointCo.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.zcloud.domain.dto.clientobject;
-
-import com.alibaba.cola.dto.ClientObject;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-public class RiskPointCo extends ClientObject {
- @ApiModelProperty(value = "id")
- private Long id;
- @ApiModelProperty(value = "风险点名称")
- private String riskPointName;
- @ApiModelProperty(value = "部门名称")
- private String deptName;
- @ApiModelProperty(value = "创建人")
- private String createName;
-}
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/enums/CommonFlagEnum.java b/web-domain/src/main/java/com/zcloud/domain/domain/enums/CommonFlagEnum.java
new file mode 100644
index 0000000..9ae89cb
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/enums/CommonFlagEnum.java
@@ -0,0 +1,17 @@
+package com.zcloud.domain.domain.enums;
+
+import lombok.Getter;
+
+@Getter
+public enum CommonFlagEnum {
+ NO(0,"否"),
+ YES(1,"是"),
+ ;
+ private final Integer code;
+ private final String name;
+
+ CommonFlagEnum(Integer code, String name) {
+ this.code = code;
+ this.name = name;
+ }
+}
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/enums/ProjectTaskExecuteStatusEnum.java b/web-domain/src/main/java/com/zcloud/domain/domain/enums/ProjectTaskExecuteStatusEnum.java
new file mode 100644
index 0000000..6e6dad4
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/enums/ProjectTaskExecuteStatusEnum.java
@@ -0,0 +1,25 @@
+package com.zcloud.domain.domain.enums;
+
+import lombok.Getter;
+
+/**
+ * 课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)
+ */
+@Getter
+public enum ProjectTaskExecuteStatusEnum {
+ SCORE_WAIT_SET(0, "评分人员待制定"),
+ PROJECT_GROUP_WAIT_SET(1, "课题组人员待制定"),
+ WAIT_PERFECT(2, "已完善待执行"),
+ EXECUTING(3, "执行中"),
+ FINISHED(4, "已结束")
+
+ ;
+
+ private final Integer code;
+ private final String name;
+
+ ProjectTaskExecuteStatusEnum(Integer code, String name) {
+ this.code = code;
+ this.name = name;
+ }
+}
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/gateway/DomainDepartmentGateway.java b/web-domain/src/main/java/com/zcloud/domain/domain/gateway/DomainDepartmentGateway.java
new file mode 100644
index 0000000..e06d33f
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/gateway/DomainDepartmentGateway.java
@@ -0,0 +1,30 @@
+package com.zcloud.domain.domain.gateway;
+
+import com.zcloud.domain.domain.model.DomainDepartmentE;
+
+/**
+ * web-domain
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:28:51
+ */
+public interface DomainDepartmentGateway {
+
+ /**
+ * 新增
+ */
+ Boolean add(DomainDepartmentE domainDepartmentE);
+
+ /**
+ * 修改
+ */
+ Boolean update(DomainDepartmentE domainDepartmentE);
+
+ /**
+ * 删除
+ */
+ Boolean deletedDomainDepartmentById(Long id);
+
+ Boolean deletedDomainDepartmentByIds(Long[] id);
+}
+
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/gateway/DomainDepartmentUserGateway.java b/web-domain/src/main/java/com/zcloud/domain/domain/gateway/DomainDepartmentUserGateway.java
new file mode 100644
index 0000000..2e71492
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/gateway/DomainDepartmentUserGateway.java
@@ -0,0 +1,30 @@
+package com.zcloud.domain.domain.gateway;
+
+import com.zcloud.domain.domain.model.DomainDepartmentUserE;
+
+/**
+ * web-domain
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:09
+ */
+public interface DomainDepartmentUserGateway {
+
+ /**
+ * 新增
+ */
+ Boolean add(DomainDepartmentUserE domainDepartmentUserE);
+
+ /**
+ * 修改
+ */
+ Boolean update(DomainDepartmentUserE domainDepartmentUserE);
+
+ /**
+ * 删除
+ */
+ Boolean deletedDomainDepartmentUserById(Long id);
+
+ Boolean deletedDomainDepartmentUserByIds(Long[] id);
+}
+
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/gateway/DomainGroupGateway.java b/web-domain/src/main/java/com/zcloud/domain/domain/gateway/DomainGroupGateway.java
new file mode 100644
index 0000000..f2567fa
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/gateway/DomainGroupGateway.java
@@ -0,0 +1,30 @@
+package com.zcloud.domain.domain.gateway;
+
+import com.zcloud.domain.domain.model.DomainGroupE;
+
+/**
+ * web-domain
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:27
+ */
+public interface DomainGroupGateway {
+
+ /**
+ * 新增
+ */
+ Boolean add(DomainGroupE domainGroupE);
+
+ /**
+ * 修改
+ */
+ Boolean update(DomainGroupE domainGroupE);
+
+ /**
+ * 删除
+ */
+ Boolean deletedDomainGroupById(Long id);
+
+ Boolean deletedDomainGroupByIds(Long[] id);
+}
+
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/gateway/DomainGroupUserGateway.java b/web-domain/src/main/java/com/zcloud/domain/domain/gateway/DomainGroupUserGateway.java
new file mode 100644
index 0000000..c0b9f49
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/gateway/DomainGroupUserGateway.java
@@ -0,0 +1,30 @@
+package com.zcloud.domain.domain.gateway;
+
+import com.zcloud.domain.domain.model.DomainGroupUserE;
+
+/**
+ * web-domain
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:42
+ */
+public interface DomainGroupUserGateway {
+
+ /**
+ * 新增
+ */
+ Boolean add(DomainGroupUserE domainGroupUserE);
+
+ /**
+ * 修改
+ */
+ Boolean update(DomainGroupUserE domainGroupUserE);
+
+ /**
+ * 删除
+ */
+ Boolean deletedDomainGroupUserById(Long id);
+
+ Boolean deletedDomainGroupUserByIds(Long[] id);
+}
+
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/gateway/ProjectTaskGateway.java b/web-domain/src/main/java/com/zcloud/domain/domain/gateway/ProjectTaskGateway.java
new file mode 100644
index 0000000..17538fd
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/gateway/ProjectTaskGateway.java
@@ -0,0 +1,30 @@
+package com.zcloud.domain.domain.gateway;
+
+import com.zcloud.domain.domain.model.ProjectTaskE;
+
+/**
+ * web-domain
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:41
+ */
+public interface ProjectTaskGateway {
+
+ /**
+ * 新增
+ */
+ Boolean add(ProjectTaskE projectTaskE);
+
+ /**
+ * 修改
+ */
+ Boolean update(ProjectTaskE projectTaskE);
+
+ /**
+ * 删除
+ */
+ Boolean deletedProjectTaskById(Long id);
+
+ Boolean deletedProjectTaskByIds(Long[] id);
+}
+
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/gateway/ProjectTaskGroupUserGateway.java b/web-domain/src/main/java/com/zcloud/domain/domain/gateway/ProjectTaskGroupUserGateway.java
new file mode 100644
index 0000000..a2bb7a0
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/gateway/ProjectTaskGroupUserGateway.java
@@ -0,0 +1,33 @@
+package com.zcloud.domain.domain.gateway;
+
+import com.zcloud.domain.domain.model.ProjectTaskGroupUserE;
+
+import java.util.List;
+
+/**
+ * web-domain
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:09
+ */
+public interface ProjectTaskGroupUserGateway {
+
+ /**
+ * 新增
+ */
+ Boolean add(ProjectTaskGroupUserE projectTaskGroupUserE);
+
+ /**
+ * 修改
+ */
+ Boolean update(ProjectTaskGroupUserE projectTaskGroupUserE);
+
+ /**
+ * 删除
+ */
+ Boolean deletedProjectTaskGroupUserById(Long id);
+
+ Boolean deletedProjectTaskGroupUserByIds(Long[] id);
+
+}
+
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/gateway/ProjectTaskInfoGateway.java b/web-domain/src/main/java/com/zcloud/domain/domain/gateway/ProjectTaskInfoGateway.java
new file mode 100644
index 0000000..0f5a10f
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/gateway/ProjectTaskInfoGateway.java
@@ -0,0 +1,30 @@
+package com.zcloud.domain.domain.gateway;
+
+import com.zcloud.domain.domain.model.ProjectTaskInfoE;
+
+/**
+ * web-domain
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:29
+ */
+public interface ProjectTaskInfoGateway {
+
+ /**
+ * 新增
+ */
+ Boolean add(ProjectTaskInfoE projectTaskInfoE);
+
+ /**
+ * 修改
+ */
+ Boolean update(ProjectTaskInfoE projectTaskInfoE);
+
+ /**
+ * 删除
+ */
+ Boolean deletedProjectTaskInfoById(Long id);
+
+ Boolean deletedProjectTaskInfoByIds(Long[] id);
+}
+
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/gateway/ProjectTaskScoreInfoGateway.java b/web-domain/src/main/java/com/zcloud/domain/domain/gateway/ProjectTaskScoreInfoGateway.java
new file mode 100644
index 0000000..6739c0e
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/gateway/ProjectTaskScoreInfoGateway.java
@@ -0,0 +1,30 @@
+package com.zcloud.domain.domain.gateway;
+
+import com.zcloud.domain.domain.model.ProjectTaskScoreInfoE;
+
+/**
+ * web-domain
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:45
+ */
+public interface ProjectTaskScoreInfoGateway {
+
+ /**
+ * 新增
+ */
+ Boolean add(ProjectTaskScoreInfoE projectTaskScoreInfoE);
+
+ /**
+ * 修改
+ */
+ Boolean update(ProjectTaskScoreInfoE projectTaskScoreInfoE);
+
+ /**
+ * 删除
+ */
+ Boolean deletedProjectTaskScoreInfoById(Long id);
+
+ Boolean deletedProjectTaskScoreInfoByIds(Long[] id);
+}
+
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/gateway/RiskPointGateway.java b/web-domain/src/main/java/com/zcloud/domain/domain/gateway/RiskPointGateway.java
deleted file mode 100644
index 74ab59f..0000000
--- a/web-domain/src/main/java/com/zcloud/domain/domain/gateway/RiskPointGateway.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.zcloud.domain.domain.gateway;
-
-
-import com.zcloud.domain.domain.model.RiskPointE;
-
-/**
- * 领域getway
- * @author lin
- */
-public interface RiskPointGateway {
-
- /**
- * 新增
- * @param riskPointE 准考证管理
- * @return 结果
- */
- Boolean add(RiskPointE riskPointE) ;
-
- /**
- * 修改
- * @param riskPointE 准考证管理
- * @return 结果
- */
- Boolean update(RiskPointE riskPointE);
-
- /**
- * 删除
- * @param id
- * @return 结果
- */
- Boolean deletedRiskPointById(Long id);
- Boolean deletedRiskPointByIds(Long[] id);
-}
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/model/CorpInfoE.java b/web-domain/src/main/java/com/zcloud/domain/domain/model/CorpInfoE.java
new file mode 100644
index 0000000..23c6b88
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/model/CorpInfoE.java
@@ -0,0 +1,167 @@
+package com.zcloud.domain.domain.model;
+
+import com.alibaba.cola.domain.Entity;
+import com.jjb.saas.framework.auth.utils.AuthContext;
+import com.jjb.saas.framework.domain.model.BaseE;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+/**
+ * web-domain
+ *
+ * @Author zhaokai
+ * @Date 2025-10-30 15:12:49
+ */
+@Data
+@Entity
+@EqualsAndHashCode(callSuper = true)
+public class CorpInfoE extends BaseE {
+ //主键
+ private Long id;
+ //企业id
+ private String corpinfoId;
+ //企业名称
+ private String corpName;
+
+ //企业类型(0-普通企业,1-集团单位,2-股份单位,3-相关方企业,4-货主单位,5-驻港单位)
+ private Integer type;
+ //相关方等级,1 一级相关方,2 二级相关方
+ private Integer xgfLevel;
+ //企业再列表中的排序
+ private Integer corpOrder;
+ //是否启用,1:启用,0:关闭
+ private Integer useFlag;
+ //统一社会信用代码
+ private String code;
+ //通讯地址
+ private String address;
+ //邮编
+ private String postalCode;
+ //所属区域
+ private String companyArea;
+ //规模
+ private String scale;
+ //规模名称
+ private String scaleName;
+ //成立时间
+ private LocalDate createDate;
+ //企业状态
+ private String corpState;
+ //企业状态名称
+ private String corpStateName;
+ //资产总额(万元)
+ private BigDecimal totalAssets;
+ //注册资金(万元)
+ private BigDecimal regcapital;
+ //企事业单位经营地址
+ private String addressBusiness;
+ //企事业单位办公地址
+ private String addressOffice;
+ //经济类型
+ private String ecoType;
+ private String ecoTypeName;
+ //主要负责人
+ private String contacts;
+ //主要负责人手机号
+ private String contactsPhone;
+ //安全负责人
+ private String safetyName;
+ //安全负责人手机号
+ private String safetyPhone;
+ //是否规模以上,1:是,0:否
+ private Integer scaleType;
+ //占地面积
+ private BigDecimal areaCovered;
+ //职工人数
+ private Integer employees;
+ //经度
+ private String longitude;
+ //纬度
+ private String latitude;
+
+ private String areaName;
+
+ private String areaCode;
+ //法定代表人
+ private String lrName;
+ //法人手机号
+ private String lrMobile;
+ //行业分类
+ private String corpType;
+ //行业分类名称
+ private String corpTypeName;
+ //行业分类
+ private String corpType2;
+ //行业分类名称
+ private String corpType2Name;
+ //行业分类
+ private String corpType3;
+ //行业分类名称
+ private String corpType3Name;
+ //行业分类
+ private String corpType4;
+ //行业分类名称
+ private String corpType4Name;
+ //所属省名称
+ private String provinceName;
+ //所属省编码
+ private String province;
+ //所属市级名称
+ private String cityName;
+ //所属市级编码
+ private String city;
+ //所属区县名称
+ private String countryName;
+ //所属区县编码
+ private String country;
+ //所属乡镇名称
+ private String villageName;
+ //所属乡镇编码
+ private String village;
+ //所属街道名称
+ private String streetName;
+ //所属街道编码
+ private String street;
+
+ //营业执照开始时间
+ private LocalDate licenseStart;
+ //营业执照结束时间
+ private LocalDate licenseEnd;
+ //有无职业卫生信息,1:是,0:否
+ private Integer whetherHygieneFlag;
+ //有无重大危险源,1:是,0:否
+ private Integer whetherHazardsFlag;
+ //是否有稀缺大型应急物资或设施,1:是,0:否
+ private Integer whetherScarceFlag;
+ //是否涉及危化品,1:是,0:否
+ private Integer whetherChemicalsFlag;
+ //有无特种设备,1:是,0:否
+ private Integer whetherSpecialequipmentFlag;
+ //有无特存种作业人员,1:是,0:否
+ private Integer whetherSpecialpeopleFlag;
+ //是否涉及煤气,1:是,0:否
+ private Integer whetherCoalgasFlag;
+ //是否属于消防重点单位,1:是,0:否
+ private Integer whetherFireFlag;
+ //是否在有限空间作业,1:是,0:否
+ private Integer whetherConfinedFlag;
+ //是否存在涉爆粉尘作业,1:是,0:否
+ private Integer whetherPowderFlag;
+ //是否涉及防雷防静电,1:是,0:否
+ private Integer whetherLightningFlag;
+ //是否涉及危化品管道,1:是,0:否
+ private Integer whetherPipelineFlag;
+ //是否持有放射源,1:是,0:否
+ private Integer whetherActinogenFlag;
+ //是否涉及液氨制冷,1:是,0:否
+ private Integer whetherLiquidammoniaFlag;
+
+
+ public static Boolean isCorp() {
+ return AuthContext.getTenantId().equals(AuthContext.getUserId());
+ }
+}
+
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/model/DomainDepartmentE.java b/web-domain/src/main/java/com/zcloud/domain/domain/model/DomainDepartmentE.java
new file mode 100644
index 0000000..219312f
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/model/DomainDepartmentE.java
@@ -0,0 +1,53 @@
+package com.zcloud.domain.domain.model;
+
+import com.jjb.saas.framework.domain.model.BaseE;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * web-domain
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:28:51
+ */
+@Data
+public class DomainDepartmentE extends BaseE {
+ //主键
+ private Long id;
+ //业务主键id
+ private String domainDepartmentId;
+ //领域类型
+ private String domainType;
+ //领域类型名称
+ private String domainTypeName;
+ //主责部门id
+ private Long masterDepartmentId;
+ //领域负责人
+ private Long masterUserId;
+ //乐观锁
+ private Integer version;
+ //创建人
+ private Long createId;
+ //创建人姓名
+ private String createName;
+ //创建时间
+ private LocalDateTime createTime;
+ //更新人
+ private Long updateId;
+ //修改人名称
+ private String updateName;
+ //更新时间
+ private LocalDateTime updateTime;
+ //描述
+ private String remarks;
+ //是否删除
+ private String deleteEnum;
+ //租户id
+ private Long tenantId;
+ //机构id
+ private Long orgId;
+ //环境
+ private String env;
+}
+
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/model/DomainDepartmentUserE.java b/web-domain/src/main/java/com/zcloud/domain/domain/model/DomainDepartmentUserE.java
new file mode 100644
index 0000000..609729d
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/model/DomainDepartmentUserE.java
@@ -0,0 +1,51 @@
+package com.zcloud.domain.domain.model;
+
+import com.jjb.saas.framework.domain.model.BaseE;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * web-domain
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:09
+ */
+@Data
+public class DomainDepartmentUserE extends BaseE {
+ //主键
+ private Long id;
+ //业务主键id
+ private String domainDepartmentUserId;
+ //领域部门id
+ private String domainDepartmentId;
+ //部门id
+ private Long departmentId;
+ //人员id
+ private Long userId;
+ //乐观锁
+ private Integer version;
+ //创建人
+ private Long createId;
+ //创建人姓名
+ private String createName;
+ //创建时间
+ private LocalDateTime createTime;
+ //更新人
+ private Long updateId;
+ //修改人名称
+ private String updateName;
+ //更新时间
+ private LocalDateTime updateTime;
+ //描述
+ private String remarks;
+ //是否删除
+ private String deleteEnum;
+ //租户id
+ private Long tenantId;
+ //机构id
+ private Long orgId;
+ //环境
+ private String env;
+}
+
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/model/DomainGroupE.java b/web-domain/src/main/java/com/zcloud/domain/domain/model/DomainGroupE.java
new file mode 100644
index 0000000..4131d6d
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/model/DomainGroupE.java
@@ -0,0 +1,57 @@
+package com.zcloud.domain.domain.model;
+
+import com.jjb.saas.framework.domain.model.BaseE;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * web-domain
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:27
+ */
+@Data
+public class DomainGroupE extends BaseE {
+ //主键
+ private Long id;
+ //业务主键id
+ private String domainGroupId;
+ //主责企业id
+ private Long corpinfoId;
+ //领域组名称
+ private String domainGroupName;
+ //领域类型
+ private String domainType;
+ //领域类型名称
+ private String domainTypeName;
+ //组长部门id
+ private Long teamDepartmentId;
+ //组长人员id
+ private Long teamUserId;
+ //乐观锁
+ private Integer version;
+ //创建人
+ private Long createId;
+ //创建人姓名
+ private String createName;
+ //创建时间
+ private LocalDateTime createTime;
+ //更新人
+ private Long updateId;
+ //修改人名称
+ private String updateName;
+ //更新时间
+ private LocalDateTime updateTime;
+ //描述
+ private String remarks;
+ //是否删除
+ private String deleteEnum;
+ //租户id
+ private Long tenantId;
+ //机构id
+ private Long orgId;
+ //环境
+ private String env;
+}
+
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/model/DomainGroupUserE.java b/web-domain/src/main/java/com/zcloud/domain/domain/model/DomainGroupUserE.java
new file mode 100644
index 0000000..12457a9
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/model/DomainGroupUserE.java
@@ -0,0 +1,51 @@
+package com.zcloud.domain.domain.model;
+
+import com.jjb.saas.framework.domain.model.BaseE;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * web-domain
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:42
+ */
+@Data
+public class DomainGroupUserE extends BaseE {
+ //主键
+ private Long id;
+ //业务主键id
+ private String domainGroupUserId;
+ //领域组id
+ private String domainGroupId;
+ //部门id
+ private Long departmentId;
+ //人员id
+ private Long userId;
+ //乐观锁
+ private Integer version;
+ //创建人
+ private Long createId;
+ //创建人姓名
+ private String createName;
+ //创建时间
+ private LocalDateTime createTime;
+ //更新人
+ private Long updateId;
+ //修改人名称
+ private String updateName;
+ //更新时间
+ private LocalDateTime updateTime;
+ //描述
+ private String remarks;
+ //是否删除
+ private String deleteEnum;
+ //租户id
+ private Long tenantId;
+ //机构id
+ private Long orgId;
+ //环境
+ private String env;
+}
+
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/model/ProjectTaskE.java b/web-domain/src/main/java/com/zcloud/domain/domain/model/ProjectTaskE.java
new file mode 100644
index 0000000..2b61fad
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/model/ProjectTaskE.java
@@ -0,0 +1,70 @@
+package com.zcloud.domain.domain.model;
+
+import com.jjb.saas.framework.domain.model.BaseE;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * web-domain
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 15:47:57
+ */
+@Data
+public class ProjectTaskE extends BaseE {
+ //主键
+ private Long id;
+ //业务主键id
+ private String projectTaskId;
+ //领域类型
+ private String domainType;
+ //领域类型名称
+ private String domainTypeName;
+ //领域部门主键id
+ private String domainDepartmentId;
+ //课题名称
+ private String projectName;
+ //课题执行开始时间
+ private Date executedStartDate;
+ //课题执行结束时间
+ private Date executedEndDate;
+ //领域组id
+ private String domainGroupId;
+ //课题执行企业id
+ private Long executeCorpinfoId;
+ //课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)
+ private Integer executeStatus;
+
+ //评分状态(0:未评分,1:已评分)
+ private Integer scoreStatus;
+ //评分
+ private BigDecimal score;
+ //乐观锁
+ private Integer version;
+ //创建人
+ private Long createId;
+ //创建人姓名
+ private String createName;
+ //创建时间
+ private LocalDateTime createTime;
+ //更新人
+ private Long updateId;
+ //修改人名称
+ private String updateName;
+ //更新时间
+ private LocalDateTime updateTime;
+ //描述
+ private String remarks;
+ //是否删除
+ private String deleteEnum;
+ //租户id
+ private Long tenantId;
+ //机构id
+ private Long orgId;
+ //环境
+ private String env;
+}
+
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/model/ProjectTaskGroupUserE.java b/web-domain/src/main/java/com/zcloud/domain/domain/model/ProjectTaskGroupUserE.java
new file mode 100644
index 0000000..a6e10ef
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/model/ProjectTaskGroupUserE.java
@@ -0,0 +1,55 @@
+package com.zcloud.domain.domain.model;
+
+import com.jjb.saas.framework.domain.model.BaseE;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * web-domain
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:09
+ */
+@Data
+public class ProjectTaskGroupUserE extends BaseE {
+ //主键
+ private Long id;
+ //业务主键id
+ private String projectTaskGroupUserId;
+ //课题任务主键id
+ private String projectTaskId;
+ //领域组id
+ private String domainGroupId;
+ //课题执行企业id
+ private Long executeCorpinfoId;
+ //部门主键id
+ private Long departmentId;
+ //人员id
+ private Long userId;
+ //乐观锁
+ private Integer version;
+ //创建人
+ private Long createId;
+ //创建人姓名
+ private String createName;
+ //创建时间
+ private LocalDateTime createTime;
+ //更新人
+ private Long updateId;
+ //修改人名称
+ private String updateName;
+ //更新时间
+ private LocalDateTime updateTime;
+ //描述
+ private String remarks;
+ //是否删除
+ private String deleteEnum;
+ //租户id
+ private Long tenantId;
+ //机构id
+ private Long orgId;
+ //环境
+ private String env;
+}
+
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/model/ProjectTaskInfoE.java b/web-domain/src/main/java/com/zcloud/domain/domain/model/ProjectTaskInfoE.java
new file mode 100644
index 0000000..212857f
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/model/ProjectTaskInfoE.java
@@ -0,0 +1,51 @@
+package com.zcloud.domain.domain.model;
+
+import com.jjb.saas.framework.domain.model.BaseE;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * web-domain
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:29
+ */
+@Data
+public class ProjectTaskInfoE extends BaseE {
+ //主键
+ private Long id;
+ //业务主键id
+ private String projectTaskInfoId;
+ //课题任务主键id
+ private String projectTaskId;
+ //任务名称
+ private String workName;
+ //任务附件url
+ private String workUrl;
+ //乐观锁
+ private Integer version;
+ //创建人
+ private Long createId;
+ //创建人姓名
+ private String createName;
+ //创建时间
+ private LocalDateTime createTime;
+ //更新人
+ private Long updateId;
+ //修改人名称
+ private String updateName;
+ //更新时间
+ private LocalDateTime updateTime;
+ //描述
+ private String remarks;
+ //是否删除
+ private String deleteEnum;
+ //租户id
+ private Long tenantId;
+ //机构id
+ private Long orgId;
+ //环境
+ private String env;
+}
+
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/model/ProjectTaskScoreInfoE.java b/web-domain/src/main/java/com/zcloud/domain/domain/model/ProjectTaskScoreInfoE.java
new file mode 100644
index 0000000..9923912
--- /dev/null
+++ b/web-domain/src/main/java/com/zcloud/domain/domain/model/ProjectTaskScoreInfoE.java
@@ -0,0 +1,58 @@
+package com.zcloud.domain.domain.model;
+
+import com.jjb.saas.framework.domain.model.BaseE;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * web-domain
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:45
+ */
+@Data
+public class ProjectTaskScoreInfoE extends BaseE {
+ //主键
+ private Long id;
+ //业务主键id
+ private String projectTaskScoreInfoId;
+ //课题任务主键id
+ private String projectTaskId;
+ //部门主键id
+ private Long departmentId;
+ //部门名称
+ private String departmentName;
+ //人员id
+ private Long userId;
+ //人员名称
+ private String userName;
+ //评分
+ private BigDecimal score;
+ //乐观锁
+ private Integer version;
+ //创建人
+ private Long createId;
+ //创建人姓名
+ private String createName;
+ //创建时间
+ private LocalDateTime createTime;
+ //更新人
+ private Long updateId;
+ //修改人名称
+ private String updateName;
+ //更新时间
+ private LocalDateTime updateTime;
+ //描述
+ private String remarks;
+ //是否删除
+ private String deleteEnum;
+ //租户id
+ private Long tenantId;
+ //机构id
+ private Long orgId;
+ //环境
+ private String env;
+}
+
diff --git a/web-domain/src/main/java/com/zcloud/domain/domain/model/RiskPointE.java b/web-domain/src/main/java/com/zcloud/domain/domain/model/RiskPointE.java
deleted file mode 100644
index 44db321..0000000
--- a/web-domain/src/main/java/com/zcloud/domain/domain/model/RiskPointE.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.zcloud.domain.domain.model;
-
-import com.alibaba.cola.domain.Entity;
-import com.jjb.saas.framework.domain.model.BaseE;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-/**
- * 领域模型,根据领域模型驱动设计
- *
- * @author lin
- */
-@Data
-@Entity
-@EqualsAndHashCode(callSuper = true)
-public class RiskPointE extends BaseE {
- private Long id;
- private String riskPointName;
- private String deptName;
-}
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/DomainDepartmentGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/DomainDepartmentGatewayImpl.java
new file mode 100644
index 0000000..07ae97c
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/DomainDepartmentGatewayImpl.java
@@ -0,0 +1,57 @@
+package com.zcloud.domain.gatewayimpl;
+
+import com.jjb.saas.framework.auth.utils.AuthContext;
+import com.zcloud.domain.domain.gateway.DomainDepartmentGateway;
+import com.zcloud.domain.domain.model.DomainDepartmentE;
+import com.zcloud.domain.persistence.dataobject.DomainDepartmentDO;
+import com.zcloud.domain.persistence.repository.DomainDepartmentRepository;
+import com.zcloud.gbscommon.utils.Tools;
+import lombok.AllArgsConstructor;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+import java.util.Collections;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:28:51
+ */
+@Service
+@AllArgsConstructor
+public class DomainDepartmentGatewayImpl implements DomainDepartmentGateway {
+ private final DomainDepartmentRepository domainDepartmentRepository;
+
+ @Override
+ public Boolean add(DomainDepartmentE domainDepartmentE) {
+ if(StringUtils.isEmpty(domainDepartmentE.getDomainDepartmentId())){
+ domainDepartmentE.setDomainDepartmentId(Tools.get32UUID());
+ }
+ DomainDepartmentDO d = new DomainDepartmentDO();
+ BeanUtils.copyProperties(domainDepartmentE, d);
+ domainDepartmentRepository.save(d);
+ return true;
+ }
+
+ @Override
+ public Boolean update(DomainDepartmentE domainDepartmentE) {
+ DomainDepartmentDO d = new DomainDepartmentDO();
+ BeanUtils.copyProperties(domainDepartmentE, d);
+ domainDepartmentRepository.updateById(d);
+ return true;
+ }
+
+ @Override
+ public Boolean deletedDomainDepartmentById(Long id) {
+ return domainDepartmentRepository.removeById(id);
+ }
+
+ @Override
+ public Boolean deletedDomainDepartmentByIds(Long[] ids) {
+ return domainDepartmentRepository.removeByIds(Arrays.asList(ids));
+ }
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/DomainDepartmentUserGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/DomainDepartmentUserGatewayImpl.java
new file mode 100644
index 0000000..ce23c49
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/DomainDepartmentUserGatewayImpl.java
@@ -0,0 +1,50 @@
+package com.zcloud.domain.gatewayimpl;
+
+import com.zcloud.domain.domain.gateway.DomainDepartmentUserGateway;
+import com.zcloud.domain.domain.model.DomainDepartmentUserE;
+import com.zcloud.domain.persistence.dataobject.DomainDepartmentUserDO;
+import com.zcloud.domain.persistence.repository.DomainDepartmentUserRepository;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:09
+ */
+@Service
+@AllArgsConstructor
+public class DomainDepartmentUserGatewayImpl implements DomainDepartmentUserGateway {
+ private final DomainDepartmentUserRepository domainDepartmentUserRepository;
+
+ @Override
+ public Boolean add(DomainDepartmentUserE domainDepartmentUserE) {
+ DomainDepartmentUserDO d = new DomainDepartmentUserDO();
+ BeanUtils.copyProperties(domainDepartmentUserE, d);
+ domainDepartmentUserRepository.save(d);
+ return true;
+ }
+
+ @Override
+ public Boolean update(DomainDepartmentUserE domainDepartmentUserE) {
+ DomainDepartmentUserDO d = new DomainDepartmentUserDO();
+ BeanUtils.copyProperties(domainDepartmentUserE, d);
+ domainDepartmentUserRepository.updateById(d);
+ return true;
+ }
+
+ @Override
+ public Boolean deletedDomainDepartmentUserById(Long id) {
+ return domainDepartmentUserRepository.removeById(id);
+ }
+
+ @Override
+ public Boolean deletedDomainDepartmentUserByIds(Long[] ids) {
+ return domainDepartmentUserRepository.removeByIds(Collections.singletonList(ids));
+ }
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/DomainGroupGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/DomainGroupGatewayImpl.java
new file mode 100644
index 0000000..9d1eeae
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/DomainGroupGatewayImpl.java
@@ -0,0 +1,55 @@
+package com.zcloud.domain.gatewayimpl;
+
+import com.zcloud.domain.domain.gateway.DomainGroupGateway;
+import com.zcloud.domain.domain.model.DomainGroupE;
+import com.zcloud.domain.persistence.dataobject.DomainGroupDO;
+import com.zcloud.domain.persistence.repository.DomainGroupRepository;
+import com.zcloud.gbscommon.utils.Tools;
+import lombok.AllArgsConstructor;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:27
+ */
+@Service
+@AllArgsConstructor
+public class DomainGroupGatewayImpl implements DomainGroupGateway {
+ private final DomainGroupRepository domainGroupRepository;
+
+ @Override
+ public Boolean add(DomainGroupE domainGroupE) {
+ if(StringUtils.isEmpty(domainGroupE.getDomainGroupId())){
+ domainGroupE.setDomainGroupId(Tools.get32UUID());
+ }
+ DomainGroupDO d = new DomainGroupDO();
+ BeanUtils.copyProperties(domainGroupE, d);
+ domainGroupRepository.save(d);
+ return true;
+ }
+
+ @Override
+ public Boolean update(DomainGroupE domainGroupE) {
+ DomainGroupDO d = new DomainGroupDO();
+ BeanUtils.copyProperties(domainGroupE, d);
+ domainGroupRepository.updateById(d);
+ return true;
+ }
+
+ @Override
+ public Boolean deletedDomainGroupById(Long id) {
+ return domainGroupRepository.removeById(id);
+ }
+
+ @Override
+ public Boolean deletedDomainGroupByIds(Long[] ids) {
+ return domainGroupRepository.removeByIds(Collections.singletonList(ids));
+ }
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/DomainGroupUserGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/DomainGroupUserGatewayImpl.java
new file mode 100644
index 0000000..eca2e34
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/DomainGroupUserGatewayImpl.java
@@ -0,0 +1,50 @@
+package com.zcloud.domain.gatewayimpl;
+
+import com.zcloud.domain.domain.gateway.DomainGroupUserGateway;
+import com.zcloud.domain.domain.model.DomainGroupUserE;
+import com.zcloud.domain.persistence.dataobject.DomainGroupUserDO;
+import com.zcloud.domain.persistence.repository.DomainGroupUserRepository;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:42
+ */
+@Service
+@AllArgsConstructor
+public class DomainGroupUserGatewayImpl implements DomainGroupUserGateway {
+ private final DomainGroupUserRepository domainGroupUserRepository;
+
+ @Override
+ public Boolean add(DomainGroupUserE domainGroupUserE) {
+ DomainGroupUserDO d = new DomainGroupUserDO();
+ BeanUtils.copyProperties(domainGroupUserE, d);
+ domainGroupUserRepository.save(d);
+ return true;
+ }
+
+ @Override
+ public Boolean update(DomainGroupUserE domainGroupUserE) {
+ DomainGroupUserDO d = new DomainGroupUserDO();
+ BeanUtils.copyProperties(domainGroupUserE, d);
+ domainGroupUserRepository.updateById(d);
+ return true;
+ }
+
+ @Override
+ public Boolean deletedDomainGroupUserById(Long id) {
+ return domainGroupUserRepository.removeById(id);
+ }
+
+ @Override
+ public Boolean deletedDomainGroupUserByIds(Long[] ids) {
+ return domainGroupUserRepository.removeByIds(Collections.singletonList(ids));
+ }
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/ProjectTaskGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/ProjectTaskGatewayImpl.java
new file mode 100644
index 0000000..89eaf4d
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/ProjectTaskGatewayImpl.java
@@ -0,0 +1,56 @@
+package com.zcloud.domain.gatewayimpl;
+
+import com.zcloud.domain.domain.gateway.ProjectTaskGateway;
+import com.zcloud.domain.domain.model.ProjectTaskE;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
+import com.zcloud.domain.persistence.repository.ProjectTaskRepository;
+import com.zcloud.gbscommon.utils.Tools;
+import lombok.AllArgsConstructor;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:41
+ */
+@Service
+@AllArgsConstructor
+public class ProjectTaskGatewayImpl implements ProjectTaskGateway {
+ private final ProjectTaskRepository projectTaskRepository;
+
+ @Override
+ public Boolean add(ProjectTaskE projectTaskE) {
+ if(StringUtils.isEmpty(projectTaskE.getProjectTaskId())){
+ projectTaskE.setProjectTaskId(Tools.get32UUID());
+ }
+ ProjectTaskDO d = new ProjectTaskDO();
+ BeanUtils.copyProperties(projectTaskE, d);
+ projectTaskRepository.save(d);
+ projectTaskE.setId(d.getId());
+ return true;
+ }
+
+ @Override
+ public Boolean update(ProjectTaskE projectTaskE) {
+ ProjectTaskDO d = new ProjectTaskDO();
+ BeanUtils.copyProperties(projectTaskE, d);
+ projectTaskRepository.updateById(d);
+ return true;
+ }
+
+ @Override
+ public Boolean deletedProjectTaskById(Long id) {
+ return projectTaskRepository.removeById(id);
+ }
+
+ @Override
+ public Boolean deletedProjectTaskByIds(Long[] ids) {
+ return projectTaskRepository.removeByIds(Arrays.asList(ids));
+ }
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/ProjectTaskGroupUserGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/ProjectTaskGroupUserGatewayImpl.java
new file mode 100644
index 0000000..0ad9c03
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/ProjectTaskGroupUserGatewayImpl.java
@@ -0,0 +1,52 @@
+package com.zcloud.domain.gatewayimpl;
+
+import com.zcloud.domain.domain.gateway.ProjectTaskGroupUserGateway;
+import com.zcloud.domain.domain.model.ProjectTaskGroupUserE;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskGroupUserDO;
+import com.zcloud.domain.persistence.repository.ProjectTaskGroupUserRepository;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:09
+ */
+@Service
+@AllArgsConstructor
+public class ProjectTaskGroupUserGatewayImpl implements ProjectTaskGroupUserGateway {
+ private final ProjectTaskGroupUserRepository projectTaskGroupUserRepository;
+
+ @Override
+ public Boolean add(ProjectTaskGroupUserE projectTaskGroupUserE) {
+ ProjectTaskGroupUserDO d = new ProjectTaskGroupUserDO();
+ BeanUtils.copyProperties(projectTaskGroupUserE, d);
+ projectTaskGroupUserRepository.save(d);
+ return true;
+ }
+
+ @Override
+ public Boolean update(ProjectTaskGroupUserE projectTaskGroupUserE) {
+ ProjectTaskGroupUserDO d = new ProjectTaskGroupUserDO();
+ BeanUtils.copyProperties(projectTaskGroupUserE, d);
+ projectTaskGroupUserRepository.updateById(d);
+ return true;
+ }
+
+ @Override
+ public Boolean deletedProjectTaskGroupUserById(Long id) {
+ return projectTaskGroupUserRepository.removeById(id);
+ }
+
+ @Override
+ public Boolean deletedProjectTaskGroupUserByIds(Long[] ids) {
+ return projectTaskGroupUserRepository.removeByIds(Collections.singletonList(ids));
+ }
+
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/ProjectTaskInfoGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/ProjectTaskInfoGatewayImpl.java
new file mode 100644
index 0000000..3c9bf8e
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/ProjectTaskInfoGatewayImpl.java
@@ -0,0 +1,50 @@
+package com.zcloud.domain.gatewayimpl;
+
+import com.zcloud.domain.domain.gateway.ProjectTaskInfoGateway;
+import com.zcloud.domain.domain.model.ProjectTaskInfoE;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskInfoDO;
+import com.zcloud.domain.persistence.repository.ProjectTaskInfoRepository;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:29
+ */
+@Service
+@AllArgsConstructor
+public class ProjectTaskInfoGatewayImpl implements ProjectTaskInfoGateway {
+ private final ProjectTaskInfoRepository projectTaskInfoRepository;
+
+ @Override
+ public Boolean add(ProjectTaskInfoE projectTaskInfoE) {
+ ProjectTaskInfoDO d = new ProjectTaskInfoDO();
+ BeanUtils.copyProperties(projectTaskInfoE, d);
+ projectTaskInfoRepository.save(d);
+ return true;
+ }
+
+ @Override
+ public Boolean update(ProjectTaskInfoE projectTaskInfoE) {
+ ProjectTaskInfoDO d = new ProjectTaskInfoDO();
+ BeanUtils.copyProperties(projectTaskInfoE, d);
+ projectTaskInfoRepository.updateById(d);
+ return true;
+ }
+
+ @Override
+ public Boolean deletedProjectTaskInfoById(Long id) {
+ return projectTaskInfoRepository.removeById(id);
+ }
+
+ @Override
+ public Boolean deletedProjectTaskInfoByIds(Long[] ids) {
+ return projectTaskInfoRepository.removeByIds(Collections.singletonList(ids));
+ }
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/ProjectTaskScoreInfoGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/ProjectTaskScoreInfoGatewayImpl.java
new file mode 100644
index 0000000..413a98e
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/ProjectTaskScoreInfoGatewayImpl.java
@@ -0,0 +1,50 @@
+package com.zcloud.domain.gatewayimpl;
+
+import com.zcloud.domain.domain.gateway.ProjectTaskScoreInfoGateway;
+import com.zcloud.domain.domain.model.ProjectTaskScoreInfoE;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO;
+import com.zcloud.domain.persistence.repository.ProjectTaskScoreInfoRepository;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:45
+ */
+@Service
+@AllArgsConstructor
+public class ProjectTaskScoreInfoGatewayImpl implements ProjectTaskScoreInfoGateway {
+ private final ProjectTaskScoreInfoRepository projectTaskScoreInfoRepository;
+
+ @Override
+ public Boolean add(ProjectTaskScoreInfoE projectTaskScoreInfoE) {
+ ProjectTaskScoreInfoDO d = new ProjectTaskScoreInfoDO();
+ BeanUtils.copyProperties(projectTaskScoreInfoE, d);
+ projectTaskScoreInfoRepository.save(d);
+ return true;
+ }
+
+ @Override
+ public Boolean update(ProjectTaskScoreInfoE projectTaskScoreInfoE) {
+ ProjectTaskScoreInfoDO d = new ProjectTaskScoreInfoDO();
+ BeanUtils.copyProperties(projectTaskScoreInfoE, d);
+ projectTaskScoreInfoRepository.updateById(d);
+ return true;
+ }
+
+ @Override
+ public Boolean deletedProjectTaskScoreInfoById(Long id) {
+ return projectTaskScoreInfoRepository.removeById(id);
+ }
+
+ @Override
+ public Boolean deletedProjectTaskScoreInfoByIds(Long[] ids) {
+ return projectTaskScoreInfoRepository.removeByIds(Collections.singletonList(ids));
+ }
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/RiskPointGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/RiskPointGatewayImpl.java
deleted file mode 100644
index 43b4e37..0000000
--- a/web-infrastructure/src/main/java/com/zcloud/domain/gatewayimpl/RiskPointGatewayImpl.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.zcloud.domain.gatewayimpl;
-
-import com.zcloud.domain.domain.gateway.RiskPointGateway;
-import com.zcloud.domain.domain.model.RiskPointE;
-import com.zcloud.domain.persistence.dataobject.RiskPointDO;
-import com.zcloud.domain.persistence.repository.RiskPointRepository;
-import lombok.AllArgsConstructor;
-import org.springframework.beans.BeanUtils;
-import org.springframework.stereotype.Service;
-
-import java.util.Arrays;
-
-/**
- * 持久层实现
- *
- * @author lin
- */
-
-@Service
-@AllArgsConstructor
-public class RiskPointGatewayImpl implements RiskPointGateway {
- private final RiskPointRepository riskPointRepository;
-
- @Override
- public Boolean add(RiskPointE riskPointE) {
- RiskPointDO d = new RiskPointDO();
- BeanUtils.copyProperties(riskPointE, d);
- riskPointRepository.save(d);
- return true;
- }
-
- @Override
- public Boolean update(RiskPointE riskPointE) {
- RiskPointDO d = new RiskPointDO();
- BeanUtils.copyProperties(riskPointE, d);
- riskPointRepository.updateById(d);
- return true;
- }
-
- @Override
- public Boolean deletedRiskPointById(Long id) {
- return riskPointRepository.removeById(id);
- }
-
- @Override
- public Boolean deletedRiskPointByIds(Long[] ids) {
- return riskPointRepository.removeByIds(Arrays.asList(ids));
- }
-
-
-}
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/CorpInfoDO.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/CorpInfoDO.java
new file mode 100644
index 0000000..0ab607c
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/CorpInfoDO.java
@@ -0,0 +1,229 @@
+package com.zcloud.domain.persistence.dataobject;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jjb.saas.framework.repository.basedo.BaseDO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2025-10-30 15:12:49
+ */
+@Data
+@TableName("corp_info")
+@EqualsAndHashCode(callSuper = true)
+public class CorpInfoDO extends BaseDO {
+
+ //企业id
+ @ApiModelProperty(value = "企业id")
+ private String corpinfoId;
+ //企业名称
+ @ApiModelProperty(value = "企业名称")
+ private String corpName;
+
+ //企业类型(0-普通企业,1-集团单位,2-股份单位,3-相关方企业,4-货主单位,5-驻港单位)
+ @ApiModelProperty(value = "企业类型(0-普通企业,1-集团单位,2-股份单位,3-相关方企业,4-货主单位,5-驻港单位)")
+ private Integer type;
+ //相关方等级,1 一级相关方,2 二级相关方
+ @ApiModelProperty(value = "相关方等级,1 一级相关方,2 二级相关方")
+ private Integer xgfLevel;
+ //企业再列表中的排序
+ @ApiModelProperty(value = "企业再列表中的排序")
+ private Integer corpOrder;
+ //是否启用,1:启用,2:关闭
+ @ApiModelProperty(value = "是否启用,1:启用,0:关闭")
+ private Integer useFlag;
+ //统一社会信用代码
+ @ApiModelProperty(value = "统一社会信用代码")
+ private String code;
+ //通讯地址
+ @ApiModelProperty(value = "通讯地址")
+ private String address;
+ //邮编
+ @ApiModelProperty(value = "邮编")
+ private String postalCode;
+ //所属区域
+ @ApiModelProperty(value = "所属区域")
+ private String companyArea;
+
+ //规模
+ @ApiModelProperty(value = "规模")
+ private String scale;
+ @ApiModelProperty(value = "规模名称")
+ private String scaleName;
+ //成立时间
+ @ApiModelProperty(value = "成立时间")
+ private LocalDate createDate;
+ //企业状态
+ @ApiModelProperty(value = "企业状态")
+ private String corpState;
+ //企业状态名称
+ @ApiModelProperty(value = "企业状态名称")
+ private String corpStateName;
+ //资产总额(万元)
+ @ApiModelProperty(value = "资产总额(万元)")
+ private BigDecimal totalAssets;
+ //注册资金(万元)
+ @ApiModelProperty(value = "注册资金(万元)")
+ private BigDecimal regcapital;
+ //企事业单位经营地址
+ @ApiModelProperty(value = "企事业单位经营地址")
+ private String addressBusiness;
+ //企事业单位办公地址
+ @ApiModelProperty(value = "企事业单位办公地址")
+ private String addressOffice;
+ //经济类型
+ @ApiModelProperty(value = "经济类型")
+ private String ecoType;
+ @ApiModelProperty(value = "经济类型名称")
+ private String ecoTypeName;
+ //主要负责人
+ @ApiModelProperty(value = "主要负责人")
+ private String contacts;
+ //主要负责人手机号
+ @ApiModelProperty(value = "主要负责人手机号")
+ private String contactsPhone;
+ //安全负责人
+ @ApiModelProperty(value = "安全负责人")
+ private String safetyName;
+ //安全负责人手机号
+ @ApiModelProperty(value = "安全负责人手机号")
+ private String safetyPhone;
+ //是否规模以上,1:是,0:否
+ @ApiModelProperty(value = "是否规模以上,1:是,0:否")
+ private Integer scaleType;
+ //占地面积
+ @ApiModelProperty(value = "占地面积")
+ private BigDecimal areaCovered;
+ //职工人数
+ @ApiModelProperty(value = "职工人数")
+ private Integer employees;
+ //经度
+ @ApiModelProperty(value = "经度")
+ private String longitude;
+ //纬度
+ @ApiModelProperty(value = "纬度")
+ private String latitude;
+ @ApiModelProperty(value = "所属区域名称")
+ private String areaName;
+ @ApiModelProperty(value = "所属区域编码")
+ private String areaCode;
+ //法定代表人
+ @ApiModelProperty(value = "法定代表人")
+ private String lrName;
+ //法人手机号
+ @ApiModelProperty(value = "法人手机号")
+ private String lrMobile;
+ //行业分类
+ @ApiModelProperty(value = "行业分类")
+ private String corpType;
+ //行业分类名称
+ @ApiModelProperty(value = "行业分类名称")
+ private String corpTypeName;
+ //行业分类
+ @ApiModelProperty(value = "行业分类")
+ private String corpType2;
+ //行业分类名称
+ @ApiModelProperty(value = "行业分类名称")
+ private String corpType2Name;
+ //行业分类
+ @ApiModelProperty(value = "行业分类")
+ private String corpType3;
+ //行业分类名称
+ @ApiModelProperty(value = "行业分类名称")
+ private String corpType3Name;
+ //行业分类
+ @ApiModelProperty(value = "行业分类")
+ private String corpType4;
+ //行业分类名称
+ @ApiModelProperty(value = "行业分类名称")
+ private String corpType4Name;
+ //所属省名称
+ @ApiModelProperty(value = "所属省名称")
+ private String provinceName;
+ //所属省编码
+ @ApiModelProperty(value = "所属省编码")
+ private String province;
+ //所属市级名称
+ @ApiModelProperty(value = "所属市级名称")
+ private String cityName;
+ //所属市级编码
+ @ApiModelProperty(value = "所属市级编码")
+ private String city;
+ //所属区县名称
+ @ApiModelProperty(value = "所属区县名称")
+ private String countryName;
+ //所属区县编码
+ @ApiModelProperty(value = "所属区县编码")
+ private String country;
+ //所属乡镇名称
+ @ApiModelProperty(value = "所属乡镇名称")
+ private String villageName;
+ //所属乡镇编码
+ @ApiModelProperty(value = "所属乡镇编码")
+ private String village;
+ //所属街道名称
+ @ApiModelProperty(value = "所属街道名称")
+ private String streetName;
+ //所属街道编码
+ @ApiModelProperty(value = "所属街道编码")
+ private String street;
+
+ //营业执照开始时间
+ @ApiModelProperty(value = "营业执照开始时间")
+ private LocalDate licenseStart;
+ //营业执照结束时间
+ @ApiModelProperty(value = "营业执照结束时间")
+ private LocalDate licenseEnd;
+ //有无职业卫生信息,1:是,0:否
+ @ApiModelProperty(value = "有无职业卫生信息,1:是,0:否")
+ private Integer whetherHygieneFlag;
+ //有无重大危险源,1:是,0:否
+ @ApiModelProperty(value = "有无重大危险源,1:是,0:否")
+ private Integer whetherHazardsFlag;
+ //是否有稀缺大型应急物资或设施,1:是,0:否
+ @ApiModelProperty(value = "是否有稀缺大型应急物资或设施,1:是,0:否")
+ private Integer whetherScarceFlag;
+ //是否涉及危化品,1:是,0:否
+ @ApiModelProperty(value = "是否涉及危化品,1:是,0:否")
+ private Integer whetherChemicalsFlag;
+ //有无特种设备,1:是,0:否
+ @ApiModelProperty(value = "有无特种设备,1:是,0:否")
+ private Integer whetherSpecialequipmentFlag;
+ //有无特存种作业人员,1:是,0:否
+ @ApiModelProperty(value = "有无特存种作业人员,1:是,0:否")
+ private Integer whetherSpecialpeopleFlag;
+ //是否涉及煤气,1:是,0:否
+ @ApiModelProperty(value = "是否涉及煤气,1:是,0:否")
+ private Integer whetherCoalgasFlag;
+ //是否属于消防重点单位,1:是,0:否
+ @ApiModelProperty(value = "是否属于消防重点单位,1:是,0:否")
+ private Integer whetherFireFlag;
+ //是否在有限空间作业,1:是,0:否
+ @ApiModelProperty(value = "是否在有限空间作业,1:是,0:否")
+ private Integer whetherConfinedFlag;
+ //是否存在涉爆粉尘作业,1:是,0:否
+ @ApiModelProperty(value = "是否存在涉爆粉尘作业,1:是,0:否")
+ private Integer whetherPowderFlag;
+ //是否涉及防雷防静电,1:是,0:否
+ @ApiModelProperty(value = "是否涉及防雷防静电,1:是,0:否")
+ private Integer whetherLightningFlag;
+ //是否涉及危化品管道,1:是,0:否
+ @ApiModelProperty(value = "是否涉及危化品管道,1:是,0:否")
+ private Integer whetherPipelineFlag;
+ //是否持有放射源,1:是,0:否
+ @ApiModelProperty(value = "是否持有放射源,1:是,0:否")
+ private Integer whetherActinogenFlag;
+ //是否涉及液氨制冷,1:是,0:否
+ @ApiModelProperty(value = "是否涉及液氨制冷,1:是,0:否")
+ private Integer whetherLiquidammoniaFlag;
+
+
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/DomainDepartmentDO.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/DomainDepartmentDO.java
new file mode 100644
index 0000000..c24b025
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/DomainDepartmentDO.java
@@ -0,0 +1,58 @@
+package com.zcloud.domain.persistence.dataobject;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jjb.saas.framework.repository.basedo.BaseDO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:28:51
+ */
+@Data
+@TableName("domain_department")
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+public class DomainDepartmentDO extends BaseDO {
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String domainDepartmentId;
+ //领域类型
+ @ApiModelProperty(value = "领域类型")
+ private String domainType;
+ //领域类型名称
+ @ApiModelProperty(value = "领域类型名称")
+ private String domainTypeName;
+ //主责部门id
+ @ApiModelProperty(value = "主责部门id")
+ private Long masterDepartmentId;
+
+ @ApiModelProperty(value = "主责部门名称")
+ @TableField(exist = false)
+ private String masterDepartmentName;
+ //领域负责人
+ @ApiModelProperty(value = "领域负责人")
+ private Long masterUserId;
+ @ApiModelProperty(value = "领域负责人名称")
+ @TableField(exist = false)
+ private String masterUserName;
+ @ApiModelProperty(value = "领域课题数")
+ @TableField(exist = false)
+ private Long projectTaskCount;
+
+ @ApiModelProperty(value = "领域评审人员数")
+ @TableField(exist = false)
+ private Long domainDepartmentUserCount;
+
+
+ public DomainDepartmentDO(String domainDepartmentId) {
+ this.domainDepartmentId = domainDepartmentId;
+ }
+
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/DomainDepartmentUserDO.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/DomainDepartmentUserDO.java
new file mode 100644
index 0000000..8c6c690
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/DomainDepartmentUserDO.java
@@ -0,0 +1,47 @@
+package com.zcloud.domain.persistence.dataobject;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jjb.saas.framework.repository.basedo.BaseDO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:09
+ */
+@Data
+@TableName("domain_department_user")
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+public class DomainDepartmentUserDO extends BaseDO {
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String domainDepartmentUserId;
+ //领域部门id
+ @ApiModelProperty(value = "领域部门id")
+ private String domainDepartmentId;
+ //部门id
+ @ApiModelProperty(value = "部门id")
+ private Long departmentId;
+ //人员id
+ @ApiModelProperty(value = "人员id")
+ private Long userId;
+
+ @ApiModelProperty(value = "部门名称")
+ @TableField(exist = false)
+ private String departmentName;
+ @ApiModelProperty(value = "人员名称")
+ @TableField(exist = false)
+ private String userName;
+
+ public DomainDepartmentUserDO(String domainDepartmentUserId) {
+ this.domainDepartmentUserId = domainDepartmentUserId;
+ }
+
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/DomainGroupDO.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/DomainGroupDO.java
new file mode 100644
index 0000000..dc79962
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/DomainGroupDO.java
@@ -0,0 +1,62 @@
+package com.zcloud.domain.persistence.dataobject;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jjb.saas.framework.repository.basedo.BaseDO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:27
+ */
+@Data
+@TableName("domain_group")
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+public class DomainGroupDO extends BaseDO {
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String domainGroupId;
+ //主责企业id
+ @ApiModelProperty(value = "主责企业id")
+ private Long corpinfoId;
+ //领域组名称
+ @ApiModelProperty(value = "领域组名称")
+ private String domainGroupName;
+ //领域类型
+ @ApiModelProperty(value = "领域类型")
+ private String domainType;
+ //领域类型名称
+ @ApiModelProperty(value = "领域类型名称")
+ private String domainTypeName;
+ //组长部门id
+ @ApiModelProperty(value = "组长部门id")
+ private Long teamDepartmentId;
+ //组长人员id
+ @ApiModelProperty(value = "组长人员id")
+ private Long teamUserId;
+
+ @ApiModelProperty(value = "主责企业名称")
+ @TableField(exist = false)
+ private String corpinfoName;
+ @ApiModelProperty(value = "组长部门名称")
+ @TableField(exist = false)
+ private String teamDepartmentName;
+ @ApiModelProperty(value = "组长人员姓名")
+ @TableField(exist = false)
+ private String teamUserName;
+ @ApiModelProperty(value = "领域课题数")
+ @TableField(exist = false)
+ private Long projectTaskCount;
+
+ public DomainGroupDO(String domainGroupId) {
+ this.domainGroupId = domainGroupId;
+ }
+
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/DomainGroupUserDO.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/DomainGroupUserDO.java
new file mode 100644
index 0000000..8471e81
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/DomainGroupUserDO.java
@@ -0,0 +1,48 @@
+package com.zcloud.domain.persistence.dataobject;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jjb.saas.framework.repository.basedo.BaseDO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:42
+ */
+@Data
+@TableName("domain_group_user")
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+public class DomainGroupUserDO extends BaseDO {
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String domainGroupUserId;
+ //领域组id
+ @ApiModelProperty(value = "领域组id")
+ private String domainGroupId;
+ //部门id
+ @ApiModelProperty(value = "部门id")
+ private Long departmentId;
+ //人员id
+ @ApiModelProperty(value = "人员id")
+ private Long userId;
+ //部门名称
+ @ApiModelProperty(value = "部门名称")
+ @TableField(exist = false)
+ private String departmentName;
+
+ @ApiModelProperty(value = "人员名称")
+ @TableField(exist = false)
+ private String userName;
+
+ public DomainGroupUserDO(String domainGroupUserId) {
+ this.domainGroupUserId = domainGroupUserId;
+ }
+
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/ProjectTaskDO.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/ProjectTaskDO.java
new file mode 100644
index 0000000..575c881
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/ProjectTaskDO.java
@@ -0,0 +1,80 @@
+package com.zcloud.domain.persistence.dataobject;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jjb.saas.framework.repository.basedo.BaseDO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 15:47:57
+ */
+@Data
+@TableName("project_task")
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+public class ProjectTaskDO extends BaseDO {
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String projectTaskId;
+ //领域类型
+ @ApiModelProperty(value = "领域类型")
+ private String domainType;
+ //领域类型名称
+ @ApiModelProperty(value = "领域类型名称")
+ private String domainTypeName;
+ //领域部门主键id
+ @ApiModelProperty(value = "领域部门主键id")
+ private String domainDepartmentId;
+ //课题名称
+ @ApiModelProperty(value = "课题名称")
+ private String projectName;
+ //课题执行开始时间
+ @ApiModelProperty(value = "课题执行开始时间")
+ private Date executedStartDate;
+ //课题执行结束时间
+ @ApiModelProperty(value = "课题执行结束时间")
+ private Date executedEndDate;
+ //领域组id
+ @ApiModelProperty(value = "领域组id")
+ private String domainGroupId;
+ //课题执行企业id
+ @ApiModelProperty(value = "课题执行企业id")
+ private Long executeCorpinfoId;
+ //课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)
+ @ApiModelProperty(value = "课题执行状态(0:评分人员待制定,1:课题组人员待制定,2:已完善待执行,3:执行中,4:已结束)")
+ private Integer executeStatus;
+ //评分状态(0:未评分,1:已评分)
+ @ApiModelProperty(value = "评分状态(0:未评分,1:已评分)")
+ private Integer scoreStatus;
+ //评分
+ @ApiModelProperty(value = "评分")
+ private BigDecimal score;
+
+ @ApiModelProperty(value = "课题执行企业名称")
+ @TableField(exist = false)
+ private String executeCorpinfoName;
+
+ @ApiModelProperty(value = "领域主管部门名称")
+ @TableField(exist = false)
+ private String masterDepartmentName;
+
+ @ApiModelProperty(value = "领域组名称")
+ @TableField(exist = false)
+ private String domainGroupName;
+
+ public ProjectTaskDO(String projectTaskId) {
+ this.projectTaskId = projectTaskId;
+ }
+
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/ProjectTaskGroupUserDO.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/ProjectTaskGroupUserDO.java
new file mode 100644
index 0000000..4a59144
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/ProjectTaskGroupUserDO.java
@@ -0,0 +1,55 @@
+package com.zcloud.domain.persistence.dataobject;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jjb.saas.framework.repository.basedo.BaseDO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:09
+ */
+@Data
+@TableName("project_task_group_user")
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+public class ProjectTaskGroupUserDO extends BaseDO {
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String projectTaskGroupUserId;
+ //课题任务主键id
+ @ApiModelProperty(value = "课题任务主键id")
+ private String projectTaskId;
+ //领域组id
+ @ApiModelProperty(value = "领域组id")
+ private String domainGroupId;
+ //课题执行企业id
+ @ApiModelProperty(value = "课题执行企业id")
+ private Long executeCorpinfoId;
+ //部门主键id
+ @ApiModelProperty(value = "部门主键id")
+ private Long departmentId;
+ //人员id
+ @ApiModelProperty(value = "人员id")
+ private Long userId;
+
+ @ApiModelProperty(value = "课题执行企业名称")
+ @TableField(exist = false)
+ private String executeCorpinfoName;
+ @ApiModelProperty(value = "部门名称")
+ @TableField(exist = false)
+ private String departmentName;
+ @ApiModelProperty(value = "人员名称")
+ @TableField(exist = false)
+ private String userName;
+ public ProjectTaskGroupUserDO(String projectTaskGroupUserId) {
+ this.projectTaskGroupUserId = projectTaskGroupUserId;
+ }
+
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/ProjectTaskInfoDO.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/ProjectTaskInfoDO.java
new file mode 100644
index 0000000..fd190c3
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/ProjectTaskInfoDO.java
@@ -0,0 +1,39 @@
+package com.zcloud.domain.persistence.dataobject;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jjb.saas.framework.repository.basedo.BaseDO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:29
+ */
+@Data
+@TableName("project_task_info")
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+public class ProjectTaskInfoDO extends BaseDO {
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String projectTaskInfoId;
+ //课题任务主键id
+ @ApiModelProperty(value = "课题任务主键id")
+ private String projectTaskId;
+ //任务名称
+ @ApiModelProperty(value = "任务名称")
+ private String workName;
+ //任务附件url
+ @ApiModelProperty(value = "任务附件url")
+ private String workUrl;
+
+ public ProjectTaskInfoDO(String projectTaskInfoId) {
+ this.projectTaskInfoId = projectTaskInfoId;
+ }
+
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/ProjectTaskScoreInfoDO.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/ProjectTaskScoreInfoDO.java
new file mode 100644
index 0000000..abd8b41
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/ProjectTaskScoreInfoDO.java
@@ -0,0 +1,53 @@
+package com.zcloud.domain.persistence.dataobject;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jjb.saas.framework.repository.basedo.BaseDO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:45
+ */
+@Data
+@TableName("project_task_score_info")
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = true)
+public class ProjectTaskScoreInfoDO extends BaseDO {
+ //业务主键id
+ @ApiModelProperty(value = "业务主键id")
+ private String projectTaskScoreInfoId;
+ //课题任务主键id
+ @ApiModelProperty(value = "课题任务主键id")
+ private String projectTaskId;
+ //部门主键id
+ @ApiModelProperty(value = "部门主键id")
+ private Long departmentId;
+ //部门名称
+ @ApiModelProperty(value = "部门名称")
+ @TableField(exist = false)
+ private String departmentName;
+ //人员id
+ @ApiModelProperty(value = "人员id")
+ private Long userId;
+ //人员名称
+ @ApiModelProperty(value = "人员名称")
+ @TableField(exist = false)
+ private String userName;
+ //评分
+ @ApiModelProperty(value = "评分")
+ private BigDecimal score;
+
+ public ProjectTaskScoreInfoDO(String projectTaskScoreInfoId) {
+ this.projectTaskScoreInfoId = projectTaskScoreInfoId;
+ }
+
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/RiskPointDO.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/RiskPointDO.java
deleted file mode 100644
index b88ac1c..0000000
--- a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/dataobject/RiskPointDO.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.zcloud.domain.persistence.dataobject;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.jjb.saas.framework.repository.basedo.BaseDO;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-@Data
-@EqualsAndHashCode(callSuper = true)
-@TableName("risk_point")
-public class RiskPointDO extends BaseDO {
-
- private String riskPointName;
-
- private String deptName;
-}
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/domainobject/RiskPointDO.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/domainobject/RiskPointDO.java
deleted file mode 100644
index a7472cd..0000000
--- a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/domainobject/RiskPointDO.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.zcloud.domain.persistence.domainobject;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.jjb.saas.framework.repository.basedo.BaseDO;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-@Data
-@EqualsAndHashCode(callSuper = true)
-@TableName("risk_point")
-public class RiskPointDO extends BaseDO {
-
- private String riskPointName;
-
- private String deptName;
-}
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/CorpInfoMapper.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/CorpInfoMapper.java
new file mode 100644
index 0000000..808b67e
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/CorpInfoMapper.java
@@ -0,0 +1,17 @@
+package com.zcloud.domain.persistence.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zcloud.domain.persistence.dataobject.CorpInfoDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2025-10-29 16:02:16
+ */
+@Mapper
+public interface CorpInfoMapper extends BaseMapper {
+
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainDepartmentMapper.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainDepartmentMapper.java
new file mode 100644
index 0000000..ec481f7
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainDepartmentMapper.java
@@ -0,0 +1,26 @@
+package com.zcloud.domain.persistence.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zcloud.domain.persistence.dataobject.DomainDepartmentDO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:28:51
+ */
+@Mapper
+public interface DomainDepartmentMapper extends BaseMapper {
+
+ DomainDepartmentDO getInfoById(Long id);
+
+ IPage listPage(IPage iPage, Map params);
+
+ List listAll();
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainDepartmentUserMapper.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainDepartmentUserMapper.java
new file mode 100644
index 0000000..dcf950e
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainDepartmentUserMapper.java
@@ -0,0 +1,24 @@
+package com.zcloud.domain.persistence.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zcloud.domain.persistence.dataobject.DomainDepartmentUserDO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:09
+ */
+@Mapper
+public interface DomainDepartmentUserMapper extends BaseMapper {
+
+ List getListByDomainDepartmentId(String domainDepartmentId);
+
+ IPage listPage(IPage iPage, Map params);
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainGroupMapper.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainGroupMapper.java
new file mode 100644
index 0000000..6bec0f1
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainGroupMapper.java
@@ -0,0 +1,26 @@
+package com.zcloud.domain.persistence.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zcloud.domain.persistence.dataobject.DomainGroupDO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:27
+ */
+@Mapper
+public interface DomainGroupMapper extends BaseMapper {
+
+ IPage listPage(IPage iPage, Map params);
+
+ DomainGroupDO getInfoById(Long id);
+
+ List listAll(Map params);
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainGroupUserMapper.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainGroupUserMapper.java
new file mode 100644
index 0000000..857d78f
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainGroupUserMapper.java
@@ -0,0 +1,24 @@
+package com.zcloud.domain.persistence.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zcloud.domain.persistence.dataobject.DomainGroupUserDO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:29:42
+ */
+@Mapper
+public interface DomainGroupUserMapper extends BaseMapper {
+
+ List getListByGroupId(String domainGroupId);
+
+ IPage listPage(IPage iPage, Map params);
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/ProjectTaskGroupUserMapper.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/ProjectTaskGroupUserMapper.java
new file mode 100644
index 0000000..4ee979f
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/ProjectTaskGroupUserMapper.java
@@ -0,0 +1,22 @@
+package com.zcloud.domain.persistence.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskGroupUserDO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:09
+ */
+@Mapper
+public interface ProjectTaskGroupUserMapper extends BaseMapper {
+
+ List getListByUserIdList(List userIdList);
+
+ List getListByTaskId(String projectTaskId);
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/ProjectTaskInfoMapper.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/ProjectTaskInfoMapper.java
new file mode 100644
index 0000000..8c13632
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/ProjectTaskInfoMapper.java
@@ -0,0 +1,17 @@
+package com.zcloud.domain.persistence.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskInfoDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-27 11:30:29
+ */
+@Mapper
+public interface ProjectTaskInfoMapper extends BaseMapper {
+
+}
+
diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/ProjectTaskMapper.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/ProjectTaskMapper.java
new file mode 100644
index 0000000..01f2396
--- /dev/null
+++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/ProjectTaskMapper.java
@@ -0,0 +1,29 @@
+package com.zcloud.domain.persistence.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * web-infrastructure
+ *
+ * @Author zhaokai
+ * @Date 2026-01-29 11:28:41
+ */
+@Mapper
+public interface ProjectTaskMapper extends BaseMapper {
+
+ IPage listPage(IPage iPage, Map