diff --git a/pom.xml b/pom.xml index d7a72db75..d7c0e9aea 100644 --- a/pom.xml +++ b/pom.xml @@ -21,6 +21,9 @@ pqs-prepare pqs-process pqs-influx + pqs-bpm + pqs-supervision + pom 灿能微服务生态系统 diff --git a/pqs-gateway/src/main/resources/bootstrap.yml b/pqs-gateway/src/main/resources/bootstrap.yml index 985a2e1a3..5775a5a12 100644 --- a/pqs-gateway/src/main/resources/bootstrap.yml +++ b/pqs-gateway/src/main/resources/bootstrap.yml @@ -179,6 +179,14 @@ spring: filters: - SwaggerHeaderFilter - StripPrefix=1 + - id: supervision-boot + uri: lb://supervision-boot + predicates: + - Path=/supervision-boot/** + filters: + - SwaggerHeaderFilter + - StripPrefix=1 + #项目日志的配置 logging: config: http://@nacos.url@/nacos/v1/cs/configs?tenant=@nacos.namespace@&group=DEFAULT_GROUP&dataId=logback.xml @@ -221,6 +229,7 @@ whitelist: - /process-boot/** - /bpm-boot/** - /system-boot/** + - /supervision-boot/** - /user-boot/** - /user-boot/user/listAllUserByDeptId diff --git a/pqs-supervision/pom.xml b/pqs-supervision/pom.xml new file mode 100644 index 000000000..9e88c3d9b --- /dev/null +++ b/pqs-supervision/pom.xml @@ -0,0 +1,25 @@ + + + 4.0.0 + + com.njcn + pqs + 1.0.0 + + + supervision-api + supervision-boot + + pom + + pqs-supervision + + + 8 + 8 + UTF-8 + + + \ No newline at end of file diff --git a/pqs-supervision/supervision-api/pom.xml b/pqs-supervision/supervision-api/pom.xml new file mode 100644 index 000000000..32d4514e4 --- /dev/null +++ b/pqs-supervision/supervision-api/pom.xml @@ -0,0 +1,43 @@ + + + 4.0.0 + + com.njcn + pqs-supervision + 1.0.0 + + + supervision-api + + + 8 + 8 + UTF-8 + + + + + com.njcn + common-core + ${project.version} + + + com.njcn + common-db + ${project.version} + + + com.njcn + common-microservice + ${project.version} + + + com.njcn + common-poi + ${project.version} + + + + \ No newline at end of file diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/enums/SupervisionResponseEnum.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/enums/SupervisionResponseEnum.java new file mode 100644 index 000000000..4c475afbd --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/enums/SupervisionResponseEnum.java @@ -0,0 +1,29 @@ +package com.njcn.supervision.enums; + +import lombok.Getter; + +/** + * 异常处理类 + * @author qijian + * @version 1.0.0 + * @date 2022年11月11日 09:56 + */ +@Getter +public enum SupervisionResponseEnum { + + /** + * 过程监督异常响应码的范围: + * A00550 ~ A00649 + */ + SUPERVISION_COMMON_ERROR("A00550","监督管理模块异常"), + ; + + private final String code; + + private final String message; + + SupervisionResponseEnum(String code, String message) { + this.code = code; + this.message = message; + } +} diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/utils/SupervisionEnumUtil.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/utils/SupervisionEnumUtil.java new file mode 100644 index 000000000..932b60f27 --- /dev/null +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/utils/SupervisionEnumUtil.java @@ -0,0 +1,44 @@ +package com.njcn.supervision.utils; + +import cn.hutool.core.util.StrUtil; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.EnumUtils; +import com.njcn.supervision.enums.SupervisionResponseEnum; + +import javax.validation.constraints.NotNull; +import java.util.Objects; + +/** + * @author hongawen + * @version 1.0.0 + * @date 2021年12月20日 10:03 + */ +public class SupervisionEnumUtil { + + + public static SupervisionResponseEnum getHarmonicEnumResponseEnumByMessage(@NotNull Object value) { + SupervisionResponseEnum harmonicResponseEnum; + try { + String message = value.toString(); + if(message.indexOf(StrUtil.C_COMMA)>0){ + value = message.substring(message.indexOf(StrUtil.C_COMMA)+1); + } + harmonicResponseEnum = EnumUtils.valueOf(SupervisionResponseEnum.class, value, SupervisionResponseEnum.class.getMethod(BusinessException.GET_MESSAGE_METHOD)); + return Objects.isNull(harmonicResponseEnum) ? SupervisionResponseEnum.SUPERVISION_COMMON_ERROR : harmonicResponseEnum; + } catch (NoSuchMethodException e) { + throw new BusinessException(CommonResponseEnum.INTERNAL_ERROR); + } + } + public static Enum getExceptionEnum(HttpResult result){ + //如果返回错误,且为内部错误,则直接抛出异常 + CommonResponseEnum commonResponseEnum = EnumUtils.getCommonResponseEnumByCode(result.getCode()); + if (commonResponseEnum == CommonResponseEnum.DEVICE_RESPONSE_ENUM) { + return getHarmonicEnumResponseEnumByMessage(result.getMessage()); + } + return commonResponseEnum; + } + + +} diff --git a/pqs-supervision/supervision-boot/pom.xml b/pqs-supervision/supervision-boot/pom.xml new file mode 100644 index 000000000..93aef070c --- /dev/null +++ b/pqs-supervision/supervision-boot/pom.xml @@ -0,0 +1,94 @@ + + + 4.0.0 + + com.njcn + pqs-supervision + 1.0.0 + + + supervision-boot + + + 8 + 8 + UTF-8 + + + + + com.njcn + supervision-api + ${project.version} + + + + com.njcn + common-web + ${project.version} + + + + + supervision-boot + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.0 + + -Xlint:unchecked + + + + org.springframework.boot + spring-boot-maven-plugin + + + package + + repackage + + + + + + + com.spotify + docker-maven-plugin + 1.0.0 + + + build-image + ${docker.operate} + + build + + + + + + http://${docker.repostory} + + ${docker.repostory}/${docker.registry.name}/${project.artifactId} + + latest + + ${docker.url} + ${basedir}/ + + + /ROOT + ${project.build.directory} + ${project.build.finalName}.jar + + + + + + + + + \ No newline at end of file diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/SupervisionBootMain.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/SupervisionBootMain.java new file mode 100644 index 000000000..130f98956 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/SupervisionBootMain.java @@ -0,0 +1,24 @@ +package com.njcn.supervision; + +import lombok.extern.slf4j.Slf4j; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.DependsOn; + +/** + * @author hongawen + * @version 1.0.0 + * @createTime 2021年05月14日 15:14 + */ +@Slf4j +@DependsOn("proxyMapperRegister") +@MapperScan("com.njcn.**.mapper") +@EnableFeignClients(basePackages = "com.njcn") +@SpringBootApplication(scanBasePackages = "com.njcn") +public class SupervisionBootMain { + public static void main(String[] args) { + SpringApplication.run(SupervisionBootMain.class, args); + } +} diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/user/UserReportPOMapper.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/user/UserReportPOMapper.java new file mode 100644 index 000000000..27edc75d9 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/user/UserReportPOMapper.java @@ -0,0 +1,20 @@ +package com.njcn.supervision.mapper.user; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.supervision.pojo.po.user.UserReportPO; +import com.njcn.supervision.pojo.vo.user.UserReportVO; +import org.apache.ibatis.annotations.Param; + +/** + * + * Description: + * Date: 2024/4/25 10:07【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface UserReportPOMapper extends BaseMapper { + Page page(@Param("page")Page objectPage, @Param("ew") QueryWrapper userReportVOQueryWrapper); +} \ No newline at end of file diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/UserReportPOService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/UserReportPOService.java new file mode 100644 index 000000000..1a4f4f089 --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/UserReportPOService.java @@ -0,0 +1,28 @@ +package com.njcn.supervision.service.user; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.supervision.pojo.param.user.UserReportParam; +import com.njcn.supervision.pojo.po.user.UserReportPO; +import com.njcn.supervision.pojo.vo.user.UserReportVO; + +import java.util.List; + +/** + * Description: + * Date: 2024/4/25 10:07【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface UserReportPOService extends IService { + + + boolean addUserReport(UserReportParam userReportParam); + + boolean auditUserReport(UserReportParam.UserReportUpdate userReportUpdate); + + Page getUserReport(UserReportParam.UserReportQueryParam userReportQueryParam); + + Boolean removeUserReport(List ids); +} diff --git a/pqs-supervision/supervision-boot/src/main/resources/bootstrap.yml b/pqs-supervision/supervision-boot/src/main/resources/bootstrap.yml new file mode 100644 index 000000000..d89da9bdc --- /dev/null +++ b/pqs-supervision/supervision-boot/src/main/resources/bootstrap.yml @@ -0,0 +1,48 @@ +#当前服务的基本信息 +microservice: + ename: @artifactId@ + name: '@name@' + version: @version@ + sentinel: + url: @sentinel.url@ + gateway: + url: @gateway.url@ +server: + port: 10232 + max-http-header-size: 1048576 +#feign接口开启服务熔断降级处理 +feign: + sentinel: + enabled: true +spring: + application: + name: @artifactId@ + #nacos注册中心以及配置中心的指定 + cloud: + nacos: + discovery: + ip: @service.server.url@ + server-addr: @nacos.url@ + namespace: @nacos.namespace@ + config: + server-addr: @nacos.url@ + namespace: @nacos.namespace@ + file-extension: yaml + shared-configs: + - data-id: share-config.yaml + refresh: true + - data-Id: share-config-datasource-db.yaml + refresh: true + main: + allow-bean-definition-overriding: true +#项目日志的配置 +logging: + config: http://@nacos.url@/nacos/v1/cs/configs?tenant=@nacos.namespace@&group=DEFAULT_GROUP&dataId=logback.xml + level: + root: info +#mybatis配置信息 +mybatis-plus: + type-aliases-package: com.njcn.supervision.pojo +mqtt: + client-id: @artifactId@${random.value} +