From e25c93afbe0c25dbc51ec7c95b099d6c79934923 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E5=B9=B4=E6=A2=A6=E4=B8=8E=E7=A0=96?= <2847127106@qq.com> Date: Thu, 22 Aug 2024 21:32:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=A8=A1=E5=9D=97=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 36 +++++ Dockerfile | 15 ++ muyu-quest-client/pom.xml | 27 ++++ muyu-quest-common/pom.xml | 26 +++ .../main/java/com/muyu/quest/domain/Node.java | 149 ++++++++++++++++++ .../main/java/com/muyu/quest/domain/Task.java | 141 +++++++++++++++++ muyu-quest-remote/pom.xml | 27 ++++ .../quest/remote/RemoteDataSourceService.java | 18 +++ .../factory/RemoteDataSourceFactory.java | 19 +++ ...ot.autoconfigure.AutoConfiguration.imports | 1 + muyu-quest-server/pom.xml | 133 ++++++++++++++++ .../com/muyu/quest/MyTaskApplication.java | 31 ++++ .../muyu/quest/controller/TaskController.java | 106 +++++++++++++ .../com/muyu/quest/mapper/TaskMapper.java | 18 +++ .../com/muyu/quest/service/TaskService.java | 42 +++++ .../quest/service/impl/TaskServiceImpl.java | 99 ++++++++++++ .../src/main/resources/banner.txt | 2 + .../src/main/resources/bootstrap.yml | 45 ++++++ .../src/main/resources/logback/dev.xml | 74 +++++++++ .../src/main/resources/logback/prod.xml | 81 ++++++++++ .../src/main/resources/logback/test.xml | 81 ++++++++++ pom.xml | 29 ++++ 22 files changed, 1200 insertions(+) create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 muyu-quest-client/pom.xml create mode 100644 muyu-quest-common/pom.xml create mode 100644 muyu-quest-common/src/main/java/com/muyu/quest/domain/Node.java create mode 100644 muyu-quest-common/src/main/java/com/muyu/quest/domain/Task.java create mode 100644 muyu-quest-remote/pom.xml create mode 100644 muyu-quest-remote/src/main/java/com/muyu/quest/remote/RemoteDataSourceService.java create mode 100644 muyu-quest-remote/src/main/java/com/muyu/quest/remote/factory/RemoteDataSourceFactory.java create mode 100644 muyu-quest-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports create mode 100644 muyu-quest-server/pom.xml create mode 100644 muyu-quest-server/src/main/java/com/muyu/quest/MyTaskApplication.java create mode 100644 muyu-quest-server/src/main/java/com/muyu/quest/controller/TaskController.java create mode 100644 muyu-quest-server/src/main/java/com/muyu/quest/mapper/TaskMapper.java create mode 100644 muyu-quest-server/src/main/java/com/muyu/quest/service/TaskService.java create mode 100644 muyu-quest-server/src/main/java/com/muyu/quest/service/impl/TaskServiceImpl.java create mode 100644 muyu-quest-server/src/main/resources/banner.txt create mode 100644 muyu-quest-server/src/main/resources/bootstrap.yml create mode 100644 muyu-quest-server/src/main/resources/logback/dev.xml create mode 100644 muyu-quest-server/src/main/resources/logback/prod.xml create mode 100644 muyu-quest-server/src/main/resources/logback/test.xml create mode 100644 pom.xml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6d0ca4f --- /dev/null +++ b/.gitignore @@ -0,0 +1,36 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea +logs +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f32152d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +#指定构建镜像的起始镜像 +FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/dragonwell:17.0.4.0.4.8-standard-ga-8.6 +#定义时区参数 +ENV TZ=Asia/Shanghai +#设置时区 +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone + +#挂载目录 +VOLUME ["/home/logs/muyu-quest"] + +#拷贝执行jar报 +COPY ./muyu-quest-server/target/muyu-quest.jar /home/app.jar + +ENTRYPOINT ["java","-Dfile.encoding=utf-8","-jar"] +CMD ["/home/app.jar"] diff --git a/muyu-quest-client/pom.xml b/muyu-quest-client/pom.xml new file mode 100644 index 0000000..7db02c4 --- /dev/null +++ b/muyu-quest-client/pom.xml @@ -0,0 +1,27 @@ + + + 4.0.0 + + com.muyu + muyu-quest + 3.6.5 + + + muyu-quest-client + 3.6.5 + + + 17 + 17 + UTF-8 + + + + com.muyu + muyu-quest-common + + + + diff --git a/muyu-quest-common/pom.xml b/muyu-quest-common/pom.xml new file mode 100644 index 0000000..d6bfd56 --- /dev/null +++ b/muyu-quest-common/pom.xml @@ -0,0 +1,26 @@ + + + 4.0.0 + + com.muyu + muyu-quest + 3.6.5 + + + muyu-quest-common + 3.6.5 + + 17 + 17 + UTF-8 + + + + + com.muyu + cloud-common-core + + + diff --git a/muyu-quest-common/src/main/java/com/muyu/quest/domain/Node.java b/muyu-quest-common/src/main/java/com/muyu/quest/domain/Node.java new file mode 100644 index 0000000..bfd41e4 --- /dev/null +++ b/muyu-quest-common/src/main/java/com/muyu/quest/domain/Node.java @@ -0,0 +1,149 @@ +package com.muyu.quest.domain; + +import com.muyu.common.core.annotation.Excel; +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.*; +import lombok.experimental.SuperBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 节点对象 node_source + * + * @author 2112A + * @date 2024-08-22 + */ + +@Data +@Setter +@Getter +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class Node extends BaseEntity{ + private static final long serialVersionUID = 1L; + + /** 自增主键 */ + private Long id; + + /** 节点编码 */ + @Excel(name = "节点编码") + private String nodeCode; + + /** 节点名称 */ + @Excel(name = "节点名称") + private String nodeName; + + /** 节点入参 */ + @Excel(name = "节点入参") + private String nodeReq; + + /** 节点出参 */ + @Excel(name = "节点出参") + private String nodeResp; + + /** 上一级节点 */ + @Excel(name = "上一级节点") + private String nodePreCode; + + /** 下一级节点 */ + @Excel(name = "下一级节点") + private String nodeNextCode; + + /** 启用状态 */ + @Excel(name = "启用状态") + private String state; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setNodeCode(String nodeCode) + { + this.nodeCode = nodeCode; + } + + public String getNodeCode() + { + return nodeCode; + } + public void setNodeName(String nodeName) + { + this.nodeName = nodeName; + } + + public String getNodeName() + { + return nodeName; + } + public void setNodeReq(String nodeReq) + { + this.nodeReq = nodeReq; + } + + public String getNodeReq() + { + return nodeReq; + } + public void setNodeResp(String nodeResp) + { + this.nodeResp = nodeResp; + } + + public String getNodeResp() + { + return nodeResp; + } + public void setNodePreCode(String nodePreCode) + { + this.nodePreCode = nodePreCode; + } + + public String getNodePreCode() + { + return nodePreCode; + } + public void setNodeNextCode(String nodeNextCode) + { + this.nodeNextCode = nodeNextCode; + } + + public String getNodeNextCode() + { + return nodeNextCode; + } + public void setState(String state) + { + this.state = state; + } + + public String getState() + { + return state; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("nodeCode", getNodeCode()) + .append("nodeName", getNodeName()) + .append("nodeReq", getNodeReq()) + .append("nodeResp", getNodeResp()) + .append("nodePreCode", getNodePreCode()) + .append("nodeNextCode", getNodeNextCode()) + .append("state", getState()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/muyu-quest-common/src/main/java/com/muyu/quest/domain/Task.java b/muyu-quest-common/src/main/java/com/muyu/quest/domain/Task.java new file mode 100644 index 0000000..81beaf6 --- /dev/null +++ b/muyu-quest-common/src/main/java/com/muyu/quest/domain/Task.java @@ -0,0 +1,141 @@ +package com.muyu.quest.domain; + + + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.common.core.annotation.Excel; +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.*; +import lombok.experimental.SuperBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + + +/** + * 任务对象 task_source + * + * @author 2112A + * @date 2024-08-22 + */ + +@EqualsAndHashCode(callSuper = true) +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@TableName("task_source") +public class Task extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 自增主键 */ + @TableId( type = IdType.AUTO) + private Long id; + + /** 任务编码 */ + @Excel(name = "任务编码") + private String taskCode; + + /** 任务名称 */ + @Excel(name = "任务名称") + private String taskName; + + /** 任务触发器 */ + @Excel(name = "任务触发器") + private String taskWebhook; + + /** 规则编码 */ + @Excel(name = "规则编码") + private String ruleCode; + + /** 任务类型 */ + @Excel(name = "任务类型") + private String taskType; + + /** 启用状态 */ + @Excel(name = "启用状态") + private String state; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setTaskCode(String taskCode) + { + this.taskCode = taskCode; + } + + public String getTaskCode() + { + return taskCode; + } + public void setTaskName(String taskName) + { + this.taskName = taskName; + } + + public String getTaskName() + { + return taskName; + } + public void setTaskWebhook(String taskWebhook) + { + this.taskWebhook = taskWebhook; + } + + public String getTaskWebhook() + { + return taskWebhook; + } + public void setRuleCode(String ruleCode) + { + this.ruleCode = ruleCode; + } + + public String getRuleCode() + { + return ruleCode; + } + public void setTaskType(String taskType) + { + this.taskType = taskType; + } + + public String getTaskType() + { + return taskType; + } + public void setState(String state) + { + this.state = state; + } + + public String getState() + { + return state; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("taskCode", getTaskCode()) + .append("taskName", getTaskName()) + .append("taskWebhook", getTaskWebhook()) + .append("ruleCode", getRuleCode()) + .append("taskType", getTaskType()) + .append("state", getState()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/muyu-quest-remote/pom.xml b/muyu-quest-remote/pom.xml new file mode 100644 index 0000000..a2bdf38 --- /dev/null +++ b/muyu-quest-remote/pom.xml @@ -0,0 +1,27 @@ + + + 4.0.0 + + com.muyu + muyu-quest + 3.6.5 + + + muyu-quest-remote + 3.6.5 + + + 17 + 17 + UTF-8 + + + + com.muyu + muyu-quest-common + + + + diff --git a/muyu-quest-remote/src/main/java/com/muyu/quest/remote/RemoteDataSourceService.java b/muyu-quest-remote/src/main/java/com/muyu/quest/remote/RemoteDataSourceService.java new file mode 100644 index 0000000..64c5fcc --- /dev/null +++ b/muyu-quest-remote/src/main/java/com/muyu/quest/remote/RemoteDataSourceService.java @@ -0,0 +1,18 @@ +//package com.muyu.source.remote; +// +//import com.muyu.source.remote.factory.RemoteDataSourceFactory; +//import org.springframework.cloud.openfeign.FeignClient; +//import com.muyu.common.core.constant.ServiceNameConstants; +// +///** +// * @ Tool:IntelliJ IDEA +// * @ Author:CHX +// * @ Date:2024-08-21-10:50 +// * @ Version:1.0 +// * @ Description:数据源远程调用 +// * @author Lenovo +// */ +//@FeignClient(contextId = "RemoteDataSourceService",value = ServiceNameConstants.SOURCE_SERVICE,fallbackFactory = RemoteDataSourceFactory.class, path = "/dataSource") +//public interface RemoteDataSourceService { +// +//} diff --git a/muyu-quest-remote/src/main/java/com/muyu/quest/remote/factory/RemoteDataSourceFactory.java b/muyu-quest-remote/src/main/java/com/muyu/quest/remote/factory/RemoteDataSourceFactory.java new file mode 100644 index 0000000..8ee072a --- /dev/null +++ b/muyu-quest-remote/src/main/java/com/muyu/quest/remote/factory/RemoteDataSourceFactory.java @@ -0,0 +1,19 @@ +//package com.muyu.source.remote.factory; +// +//import com.muyu.source.remote.RemoteDataSourceService; +//import org.springframework.cloud.openfeign.FallbackFactory; +// +///** +// * @ Tool:IntelliJ IDEA +// * @ Author:CHX +// * @ Date:2024-08-21-10:54 +// * @ Version:1.0 +// * @ Description: +// * @author Lenovo +// */ +//public class RemoteDataSourceFactory implements FallbackFactory { +// @Override +// public RemoteDataSourceService create(Throwable cause) { +// return null; +// } +//} diff --git a/muyu-quest-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/muyu-quest-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..70c20bf --- /dev/null +++ b/muyu-quest-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +#com.muyu.source.remote.factory.RemoteDataSourceFactory diff --git a/muyu-quest-server/pom.xml b/muyu-quest-server/pom.xml new file mode 100644 index 0000000..1c497d3 --- /dev/null +++ b/muyu-quest-server/pom.xml @@ -0,0 +1,133 @@ + + + 4.0.0 + + com.muyu + muyu-quest + 3.6.5 + + + muyu-quest-server + 3.6.5 + + + 17 + 17 + UTF-8 + + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + com.mysql + mysql-connector-j + + + + + com.muyu + cloud-common-datasource + + + + + com.muyu + cloud-common-datascope + + + + + + + + + + + com.muyu + cloud-common-api-doc + + + + + com.muyu + cloud-common-xxl + + + + + + + + + + com.muyu + muyu-quest-common + + + + + + muyu-quest + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 3.8.1 + + 16 + 16 + + -parameters + + + + + + diff --git a/muyu-quest-server/src/main/java/com/muyu/quest/MyTaskApplication.java b/muyu-quest-server/src/main/java/com/muyu/quest/MyTaskApplication.java new file mode 100644 index 0000000..8b308e2 --- /dev/null +++ b/muyu-quest-server/src/main/java/com/muyu/quest/MyTaskApplication.java @@ -0,0 +1,31 @@ +package com.muyu.quest; + +import com.muyu.common.security.annotation.EnableCustomConfig; +import com.muyu.common.security.annotation.EnableMyFeignClients; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ComponentScan; + +/** + * @Author: 胡杨 + * @Name: MyTask + * @Description: 任务模块启动器 + * @CreatedDate: 2024/8/22 下午6:23 + * @FilePath: com.muyu.quest + */ + +@EnableCustomConfig +//@EnableCustomSwagger2 +@EnableMyFeignClients +@SpringBootApplication +public class MyTaskApplication { + public static void main(String[] args) { + try { + SpringApplication.run(MyTaskApplication.class, args); + } catch (Exception e) { + throw new RuntimeException(e); + } + System.out.println("MyTask 模块启动成功!"); + } +} diff --git a/muyu-quest-server/src/main/java/com/muyu/quest/controller/TaskController.java b/muyu-quest-server/src/main/java/com/muyu/quest/controller/TaskController.java new file mode 100644 index 0000000..b6a83d7 --- /dev/null +++ b/muyu-quest-server/src/main/java/com/muyu/quest/controller/TaskController.java @@ -0,0 +1,106 @@ +package com.muyu.quest.controller; + +import java.util.Arrays; +import java.util.List; + +import com.muyu.common.security.utils.SecurityUtils; +import com.muyu.quest.domain.Task; + +import javax.annotation.Resource; + +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.muyu.common.security.annotation.RequiresPermissions; + +import com.muyu.quest.service.TaskService; +import com.muyu.common.core.web.controller.BaseController; +import com.muyu.common.core.domain.Result; +import com.muyu.common.core.web.page.TableDataInfo; + +/** + * 任务Controller + * + * @author 2112A + * @date 2024-08-22 + */ +@RestController +@RequestMapping("/quest") +public class TaskController extends BaseController +{ + @Resource + private TaskService taskService; + + /** + * 查询任务列表 + */ +// @RequiresPermissions("quest:quest:list") + @GetMapping("/list") + public Result> list(Task task) + { + startPage(); + List list = taskService.selectTaskList(task); + return getDataTable(list); + } + + /** + * 获取任务详细信息 + */ +// @RequiresPermissions("quest:quest:query") + @GetMapping(value = "selectTaskByTaskCode/{taskCode}") + public Result> getInfo(@PathVariable("taskCode") String taskCode) { + return success(taskService.selectTaskByTaskCode(taskCode)); + } + + /** + * 获取任务详细信息 + */ +// @RequiresPermissions("quest:quest:query") + @GetMapping(value = "selectTaskById/{id}") + public Result> getInfo(@PathVariable("id") Long id) { + return success(taskService.selectTaskById(id)); + } + + /** + * 新增任务 + */ +// @RequiresPermissions("quest:quest:quest") + @PostMapping + public Result add (@Validated @RequestBody Task task) { + if (taskService.checkTaskCodeUnique(task)) { + return error("新增参数'" + task.getTaskName() + "'失败,任务已存在"); + } + task.setCreateBy(SecurityUtils.getUsername()); + return toAjax(taskService.save(task)); + } + + /** + * 修改参数配置 + */ +// @RequiresPermissions("quest:quest:quest") + @PutMapping + public Result edit (@Validated @RequestBody Task task) { + if (!taskService.checkIdUnique(task)) { + return error("修改参数'" + task.getTaskName() + "'失败,任务不存在"); + } + task.setUpdateBy(SecurityUtils.getUsername()); + return toAjax(taskService.updateById(task)); + } + + /** + * 删除参数配置 + */ +// @RequiresPermissions("system:task:remove") + @DeleteMapping("/{taskIds}") + public Result remove (@PathVariable("taskIds") Long[] taskIds) { + taskService.removeBatchByIds(Arrays.asList(taskIds)); + return success(); + } + +} diff --git a/muyu-quest-server/src/main/java/com/muyu/quest/mapper/TaskMapper.java b/muyu-quest-server/src/main/java/com/muyu/quest/mapper/TaskMapper.java new file mode 100644 index 0000000..b910d12 --- /dev/null +++ b/muyu-quest-server/src/main/java/com/muyu/quest/mapper/TaskMapper.java @@ -0,0 +1,18 @@ +package com.muyu.quest.mapper; + +import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.quest.domain.Task; +import org.apache.ibatis.annotations.Mapper; + +/** + * 任务Mapper接口 + * + * @author 2112A + * @date 2024-08-22 + */ +@Mapper +public interface TaskMapper extends BaseMapper { + +} diff --git a/muyu-quest-server/src/main/java/com/muyu/quest/service/TaskService.java b/muyu-quest-server/src/main/java/com/muyu/quest/service/TaskService.java new file mode 100644 index 0000000..1d30bc5 --- /dev/null +++ b/muyu-quest-server/src/main/java/com/muyu/quest/service/TaskService.java @@ -0,0 +1,42 @@ +package com.muyu.quest.service; + +import java.util.List; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.quest.domain.Task; + +/** + * 任务Service接口 + * + * @author 2112A + * @date 2024-08-22 + */ +public interface TaskService extends IService { + /** + * 查询任务 + * + * @param taskCode 任务编码 + * @return 任务 + */ + public Task selectTaskByTaskCode(String taskCode); + + /** + * 查询任务列表 + * + * @param task 任务 + * @return 任务集合 + */ + public List selectTaskList(Task task); + + + Task selectTaskById(Long id); + + Boolean checkTaskCodeUnique(Task task); + + /** + * 判断id是否唯一 + * @param task 实体 + * @return 结果 + */ + Boolean checkIdUnique(Task task); +} diff --git a/muyu-quest-server/src/main/java/com/muyu/quest/service/impl/TaskServiceImpl.java b/muyu-quest-server/src/main/java/com/muyu/quest/service/impl/TaskServiceImpl.java new file mode 100644 index 0000000..22c506a --- /dev/null +++ b/muyu-quest-server/src/main/java/com/muyu/quest/service/impl/TaskServiceImpl.java @@ -0,0 +1,99 @@ +package com.muyu.quest.service.impl; + +import java.util.List; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.common.core.utils.StringUtils; +import org.springframework.stereotype.Service; +import com.muyu.quest.mapper.TaskMapper; +import com.muyu.quest.domain.Task; +import com.muyu.quest.service.TaskService; +import org.springframework.util.Assert; + +/** + * 任务Service业务层处理 + * + * @author 2112A + * @date 2024-08-22 + */ +@Service +public class TaskServiceImpl extends ServiceImpl + implements TaskService { + + /** + * 查询任务 + * + * @param taskCode 任务编码 + * @return 任务 + */ + @Override + public Task selectTaskByTaskCode(String taskCode) + { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + Assert.notNull(taskCode, "taskCode不可为空"); + queryWrapper.eq(Task::getTaskCode, taskCode); + return this.getOne(queryWrapper); + } + + /** + * 查询任务 + * + * @param id 任务主键 + * @return 任务 + */ + @Override + public Task selectTaskById(Long id) + { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + Assert.notNull(id, "id不可为空"); + queryWrapper.eq(Task::getId, id); + return this.getOne(queryWrapper); + } + + /** + * 唯一编码判断 + * @param task + * @return + */ + @Override + public Boolean checkTaskCodeUnique(Task task) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Task::getTaskCode, task.getTaskCode()); + return this.count(queryWrapper) > 0; + } + + @Override + public Boolean checkIdUnique(Task task) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Task::getId, task.getId()); + return this.count(queryWrapper) > 0; + } + + /** + * 查询任务列表 + * + * @param task 任务 + * @return 任务 + */ + @Override + public List selectTaskList(Task task) + { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (StringUtils.isNotEmpty(task.getTaskName())){ + queryWrapper.like(Task::getTaskName, task.getTaskName()); + } + if (StringUtils.isNotEmpty(task.getRuleCode())){ + queryWrapper.eq(Task::getRuleCode, task.getRuleCode()); + } + if (StringUtils.isNotEmpty(task.getState())){ + queryWrapper.eq(Task::getState, task.getState()); + } + if (StringUtils.isNotEmpty(task.getTaskType())){ + queryWrapper.eq(Task::getTaskType, task.getTaskType()); + } + return this.list(queryWrapper); + } + + +} diff --git a/muyu-quest-server/src/main/resources/banner.txt b/muyu-quest-server/src/main/resources/banner.txt new file mode 100644 index 0000000..0dd5eee --- /dev/null +++ b/muyu-quest-server/src/main/resources/banner.txt @@ -0,0 +1,2 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} diff --git a/muyu-quest-server/src/main/resources/bootstrap.yml b/muyu-quest-server/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..286ae1b --- /dev/null +++ b/muyu-quest-server/src/main/resources/bootstrap.yml @@ -0,0 +1,45 @@ +# Tomcat +server: + port: 8080 + +# nacos线上地址 +nacos: + addr: 10.0.1.97:8848 + user-name: nacos + password: nacos + namespace: cloud-2112 + + +# Spring +spring: + main: + allow-bean-definition-overriding: true + application: + # 应用名称 + name: muyu-quest + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: ${nacos.addr} + namespace: ${nacos.namespace} + config: + # 服务注册地址 + server-addr: ${nacos.addr} + namespace: ${nacos.namespace} + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + # 系统共享配置 + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + # 系统环境Config共享配置 + - application-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + # xxl-job 配置文件 + - application-xxl-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + # rabbit 配置文件 +# - application-rabbit-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + diff --git a/muyu-quest-server/src/main/resources/logback/dev.xml b/muyu-quest-server/src/main/resources/logback/dev.xml new file mode 100644 index 0000000..e979886 --- /dev/null +++ b/muyu-quest-server/src/main/resources/logback/dev.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + diff --git a/muyu-quest-server/src/main/resources/logback/prod.xml b/muyu-quest-server/src/main/resources/logback/prod.xml new file mode 100644 index 0000000..499b043 --- /dev/null +++ b/muyu-quest-server/src/main/resources/logback/prod.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + ${log.sky.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + + + ERROR + + ACCEPT + + DENY + + + + + + + + ${log.sky.pattern} + + + + + + + + + + + + + + + + + + + + diff --git a/muyu-quest-server/src/main/resources/logback/test.xml b/muyu-quest-server/src/main/resources/logback/test.xml new file mode 100644 index 0000000..499b043 --- /dev/null +++ b/muyu-quest-server/src/main/resources/logback/test.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + ${log.sky.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + + + ERROR + + ACCEPT + + DENY + + + + + + + + ${log.sky.pattern} + + + + + + + + + + + + + + + + + + + + diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..775e8c8 --- /dev/null +++ b/pom.xml @@ -0,0 +1,29 @@ + + + 4.0.0 + + + com.muyu + cloud-server-parent + 3.6.5 + + muyu-quest + 3.6.5 + pom + + muyu-quest-remote + muyu-quest-server + muyu-quest-client + muyu-quest-common + + + + 17 + 17 + UTF-8 + + + +