Ver Fonte

iscs模块初始化

车车 há 4 meses atrás
pai
commit
9c612add49

+ 1 - 0
pom.xml

@@ -25,6 +25,7 @@
 <!--        <module>yudao-module-erp</module>-->
 <!--        <module>yudao-module-ai</module>-->
 <!--        <module>yudao-module-iot</module>-->
+        <module>yudao-module-iscs</module>
     </modules>
 
     <name>${project.artifactId}</name>

+ 71 - 0
yudao-module-iscs/pom.xml

@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <groupId>cn.iocoder.boot</groupId>
+        <artifactId>yudao</artifactId>
+        <version>${revision}</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>yudao-module-iscs</artifactId>
+    <packaging>jar</packaging>
+
+    <name>${project.artifactId}</name>
+    <description>
+       新业务模块iscs
+    </description>
+
+
+    <dependencies>
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-system</artifactId>
+            <version>${revision}</version>
+        </dependency>
+
+        <!-- 业务组件 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId>
+        </dependency>
+
+        <!-- Web 相关 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-security</artifactId>
+        </dependency>
+
+        <!-- DB 相关 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-mybatis</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-redis</artifactId>
+        </dependency>
+
+        <!-- Job 定时任务相关 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-job</artifactId>
+        </dependency>
+
+        <!-- Test 测试相关 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <!-- 工具类相关 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-excel</artifactId>
+        </dependency>
+
+    </dependencies>
+
+</project>

+ 102 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/unit/UnitController.java

@@ -0,0 +1,102 @@
+package cn.iocoder.yudao.module.iscs.controller.admin.unit;
+
+import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
+import cn.iocoder.yudao.module.iscs.controller.admin.unit.vo.UnitPageReqVO;
+import cn.iocoder.yudao.module.iscs.controller.admin.unit.vo.UnitRespVO;
+import cn.iocoder.yudao.module.iscs.controller.admin.unit.vo.UnitSaveReqVO;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.unit.UnitDO;
+import cn.iocoder.yudao.module.iscs.service.unit.UnitService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.util.List;
+
+import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "iscs - 单位管理")
+@RestController
+@RequestMapping("/iscs/unit")
+@Validated
+public class UnitController {
+
+    @Resource
+    private UnitService unitService;
+
+    @PostMapping("/create")
+    @Operation(summary = "创建单位管理")
+    @PreAuthorize("@ss.hasPermission('iscs:unit:create')")
+    public CommonResult<Long> createUnit(@Valid @RequestBody UnitSaveReqVO createReqVO) {
+        return success(unitService.createUnit(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "更新单位管理")
+    @PreAuthorize("@ss.hasPermission('iscs:unit:update')")
+    public CommonResult<Boolean> updateUnit(@Valid @RequestBody UnitSaveReqVO updateReqVO) {
+        unitService.updateUnit(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "删除单位管理")
+    @Parameter(name = "id", description = "编号", required = true)
+    @PreAuthorize("@ss.hasPermission('iscs:unit:delete')")
+    public CommonResult<Boolean> deleteUnit(@RequestParam("id") Long id) {
+        unitService.deleteUnit(id);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete-list")
+    @Parameter(name = "ids", description = "编号", required = true)
+    @Operation(summary = "批量删除单位管理")
+                @PreAuthorize("@ss.hasPermission('iscs:unit:delete')")
+    public CommonResult<Boolean> deleteUnitList(@RequestParam("ids") List<Long> ids) {
+        unitService.deleteUnitListByIds(ids);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "获得单位管理")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('iscs:unit:query')")
+    public CommonResult<UnitRespVO> getUnit(@RequestParam("id") Long id) {
+        UnitDO unit = unitService.getUnit(id);
+        return success(BeanUtils.toBean(unit, UnitRespVO.class));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "获得单位管理分页")
+    @PreAuthorize("@ss.hasPermission('iscs:unit:query')")
+    public CommonResult<PageResult<UnitRespVO>> getUnitPage(@Valid UnitPageReqVO pageReqVO) {
+        PageResult<UnitDO> pageResult = unitService.getUnitPage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, UnitRespVO.class));
+    }
+
+    @GetMapping("/export-excel")
+    @Operation(summary = "导出单位管理 Excel")
+    @PreAuthorize("@ss.hasPermission('iscs:unit:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportUnitExcel(@Valid UnitPageReqVO pageReqVO,
+              HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<UnitDO> list = unitService.getUnitPage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "单位管理.xls", "数据", UnitRespVO.class,
+                        BeanUtils.toBean(list, UnitRespVO.class));
+    }
+
+}

+ 41 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/unit/vo/UnitPageReqVO.java

@@ -0,0 +1,41 @@
+package cn.iocoder.yudao.module.iscs.controller.admin.unit.vo;
+
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 单位管理分页 Request VO")
+@Data
+public class UnitPageReqVO extends PageParam {
+
+    @Schema(description = "单位名称", example = "赵六")
+    private String unitName;
+
+    @Schema(description = "单位类型", example = "2")
+    private String unitType;
+
+    @Schema(description = "父部门id", example = "18830")
+    private Long parentId;
+
+    @Schema(description = "祖级列表")
+    private String ancestors;
+
+    @Schema(description = "显示顺序")
+    private Integer orderNum;
+
+    @Schema(description = "状态", example = "1")
+    private String status;
+
+    @Schema(description = "备注 ", example = "你说的对")
+    private String remark;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

+ 51 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/unit/vo/UnitRespVO.java

@@ -0,0 +1,51 @@
+package cn.iocoder.yudao.module.iscs.controller.admin.unit.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 单位管理 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class UnitRespVO {
+
+    @Schema(description = "单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23895")
+    @ExcelProperty("单位ID")
+    private Long id;
+
+    @Schema(description = "单位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
+    @ExcelProperty("单位名称")
+    private String unitName;
+
+    @Schema(description = "单位类型", example = "2")
+    @ExcelProperty("单位类型")
+    private String unitType;
+
+    @Schema(description = "父部门id", example = "18830")
+    @ExcelProperty("父部门id")
+    private Long parentId;
+
+    @Schema(description = "祖级列表")
+    @ExcelProperty("祖级列表")
+    private String ancestors;
+
+    @Schema(description = "显示顺序")
+    @ExcelProperty("显示顺序")
+    private Integer orderNum;
+
+    @Schema(description = "状态", example = "1")
+    @ExcelProperty("状态")
+    private String status;
+
+    @Schema(description = "备注 ", example = "你说的对")
+    @ExcelProperty("备注 ")
+    private String remark;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+}

+ 36 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/unit/vo/UnitSaveReqVO.java

@@ -0,0 +1,36 @@
+package cn.iocoder.yudao.module.iscs.controller.admin.unit.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotEmpty;
+import lombok.Data;
+
+@Schema(description = "管理后台 - 单位管理新增/修改 Request VO")
+@Data
+public class UnitSaveReqVO {
+
+    @Schema(description = "单位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23895")
+    private Long id;
+
+    @Schema(description = "单位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
+    @NotEmpty(message = "单位名称不能为空")
+    private String unitName;
+
+    @Schema(description = "单位类型", example = "2")
+    private String unitType;
+
+    @Schema(description = "父部门id", example = "18830")
+    private Long parentId;
+
+    @Schema(description = "祖级列表")
+    private String ancestors;
+
+    @Schema(description = "显示顺序")
+    private Integer orderNum;
+
+    @Schema(description = "状态", example = "1")
+    private String status;
+
+    @Schema(description = "备注 ", example = "你说的对")
+    private String remark;
+
+}

+ 59 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/dataobject/unit/UnitDO.java

@@ -0,0 +1,59 @@
+package cn.iocoder.yudao.module.iscs.dal.dataobject.unit;
+
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
+
+/**
+ * 单位管理 DO
+ *
+ * @author iscs
+ */
+@TableName("isc_unit")
+@KeySequence("isc_unit_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class UnitDO extends BaseDO {
+
+    /**
+     * 单位ID
+     */
+    @TableId
+    private Long id;
+    /**
+     * 单位名称
+     */
+    private String unitName;
+    /**
+     * 单位类型
+     */
+    private String unitType;
+    /**
+     * 父部门id
+     */
+    private Long parentId;
+    /**
+     * 祖级列表
+     */
+    private String ancestors;
+    /**
+     * 显示顺序
+     */
+    private Integer orderNum;
+    /**
+     * 状态
+     */
+    private String status;
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 31 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/mysql/unit/UnitMapper.java

@@ -0,0 +1,31 @@
+package cn.iocoder.yudao.module.iscs.dal.mysql.unit;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.module.iscs.controller.admin.unit.vo.UnitPageReqVO;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.unit.UnitDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 单位管理 Mapper
+ *
+ * @author iscs
+ */
+@Mapper
+public interface UnitMapper extends BaseMapperX<UnitDO> {
+
+    default PageResult<UnitDO> selectPage(UnitPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<UnitDO>()
+                .likeIfPresent(UnitDO::getUnitName, reqVO.getUnitName())
+                .eqIfPresent(UnitDO::getUnitType, reqVO.getUnitType())
+                .eqIfPresent(UnitDO::getParentId, reqVO.getParentId())
+                .eqIfPresent(UnitDO::getAncestors, reqVO.getAncestors())
+                .eqIfPresent(UnitDO::getOrderNum, reqVO.getOrderNum())
+                .eqIfPresent(UnitDO::getStatus, reqVO.getStatus())
+                .eqIfPresent(UnitDO::getRemark, reqVO.getRemark())
+                .betweenIfPresent(UnitDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(UnitDO::getId));
+    }
+
+}

+ 8 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/enums/ErrorCodeConstants.java

@@ -0,0 +1,8 @@
+package cn.iocoder.yudao.module.iscs.enums;
+import cn.iocoder.yudao.framework.common.exception.ErrorCode;
+
+public interface ErrorCodeConstants {
+
+    // ========== 单位管理 ==========
+    ErrorCode UNIT_NOT_EXISTS = new ErrorCode(2_001_000_001, "单位管理不存在");
+}

+ 24 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/framework/web/config/IscsWebConfiguration.java

@@ -0,0 +1,24 @@
+package cn.iocoder.yudao.module.iscs.framework.web.config;
+
+import cn.iocoder.yudao.framework.swagger.config.YudaoSwaggerAutoConfiguration;
+import org.springdoc.core.models.GroupedOpenApi;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * iscs 模块的 web 组件的 Configuration
+ *
+ * @author iscs
+ */
+@Configuration(proxyBeanMethods = false)
+public class IscsWebConfiguration {
+
+    /**
+     * iscs 模块的 API 分组
+     */
+    @Bean
+    public GroupedOpenApi iscsGroupedOpenApi() {
+        return YudaoSwaggerAutoConfiguration.buildGroupedOpenApi("iscs");
+    }
+
+}

+ 63 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/unit/UnitService.java

@@ -0,0 +1,63 @@
+package cn.iocoder.yudao.module.iscs.service.unit;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.iscs.controller.admin.unit.vo.UnitPageReqVO;
+import cn.iocoder.yudao.module.iscs.controller.admin.unit.vo.UnitSaveReqVO;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.unit.UnitDO;
+import jakarta.validation.Valid;
+
+import java.util.List;
+
+/**
+ * 单位管理 Service 接口
+ *
+ * @author iscs
+ */
+public interface UnitService {
+
+    /**
+     * 创建单位管理
+     *
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    Long createUnit(@Valid UnitSaveReqVO createReqVO);
+
+    /**
+     * 更新单位管理
+     *
+     * @param updateReqVO 更新信息
+     */
+    void updateUnit(@Valid UnitSaveReqVO updateReqVO);
+
+    /**
+     * 删除单位管理
+     *
+     * @param id 编号
+     */
+    void deleteUnit(Long id);
+
+    /**
+    * 批量删除单位管理
+    *
+    * @param ids 编号
+    */
+    void deleteUnitListByIds(List<Long> ids);
+
+    /**
+     * 获得单位管理
+     *
+     * @param id 编号
+     * @return 单位管理
+     */
+    UnitDO getUnit(Long id);
+
+    /**
+     * 获得单位管理分页
+     *
+     * @param pageReqVO 分页查询
+     * @return 单位管理分页
+     */
+    PageResult<UnitDO> getUnitPage(UnitPageReqVO pageReqVO);
+
+}

+ 89 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/unit/UnitServiceImpl.java

@@ -0,0 +1,89 @@
+package cn.iocoder.yudao.module.iscs.service.unit;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.iscs.controller.admin.unit.vo.UnitPageReqVO;
+import cn.iocoder.yudao.module.iscs.controller.admin.unit.vo.UnitSaveReqVO;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.unit.UnitDO;
+import cn.iocoder.yudao.module.iscs.dal.mysql.unit.UnitMapper;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import java.util.List;
+
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.iocoder.yudao.module.iscs.enums.ErrorCodeConstants.UNIT_NOT_EXISTS;
+
+/**
+ * 单位管理 Service 实现类
+ *
+ * @author iscs
+ */
+@Service
+@Validated
+public class UnitServiceImpl implements UnitService {
+
+    @Resource
+    private UnitMapper unitMapper;
+
+    @Override
+    public Long createUnit(UnitSaveReqVO createReqVO) {
+        // 插入
+        UnitDO unit = BeanUtils.toBean(createReqVO, UnitDO.class);
+        unitMapper.insert(unit);
+
+        // 返回
+        return unit.getId();
+    }
+
+    @Override
+    public void updateUnit(UnitSaveReqVO updateReqVO) {
+        // 校验存在
+        validateUnitExists(updateReqVO.getId());
+        // 更新
+        UnitDO updateObj = BeanUtils.toBean(updateReqVO, UnitDO.class);
+        unitMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deleteUnit(Long id) {
+        // 校验存在
+        validateUnitExists(id);
+        // 删除
+        unitMapper.deleteById(id);
+    }
+
+    @Override
+        public void deleteUnitListByIds(List<Long> ids) {
+        // 校验存在
+        validateUnitExists(ids);
+        // 删除
+        unitMapper.deleteByIds(ids);
+        }
+
+    private void validateUnitExists(List<Long> ids) {
+        List<UnitDO> list = unitMapper.selectByIds(ids);
+        if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
+            throw exception(UNIT_NOT_EXISTS);
+        }
+    }
+
+    private void validateUnitExists(Long id) {
+        if (unitMapper.selectById(id) == null) {
+            throw exception(UNIT_NOT_EXISTS);
+        }
+    }
+
+    @Override
+    public UnitDO getUnit(Long id) {
+        return unitMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<UnitDO> getUnitPage(UnitPageReqVO pageReqVO) {
+        return unitMapper.selectPage(pageReqVO);
+    }
+
+}

+ 12 - 0
yudao-module-iscs/src/main/java/resources/mapper/UnitMapper.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.iocoder.yudao.module.iscs.dal.mysql.unit.UnitMapper">
+
+    <!--
+        一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
+        无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
+        代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
+        文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
+     -->
+
+</mapper>

+ 72 - 65
yudao-server/pom.xml

@@ -33,87 +33,94 @@
         </dependency>
 
         <!-- 会员中心。默认注释,保证编译速度 -->
-<!--        <dependency>-->
-<!--            <groupId>cn.iocoder.boot</groupId>-->
-<!--            <artifactId>yudao-module-member</artifactId>-->
-<!--            <version>${revision}</version>-->
-<!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>cn.iocoder.boot</groupId>-->
+        <!--            <artifactId>yudao-module-member</artifactId>-->
+        <!--            <version>${revision}</version>-->
+        <!--        </dependency>-->
 
         <!-- 数据报表。默认注释,保证编译速度 -->
-<!--        <dependency>-->
-<!--            <groupId>cn.iocoder.boot</groupId>-->
-<!--            <artifactId>yudao-module-report</artifactId>-->
-<!--            <version>${revision}</version>-->
-<!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>cn.iocoder.boot</groupId>-->
+        <!--            <artifactId>yudao-module-report</artifactId>-->
+        <!--            <version>${revision}</version>-->
+        <!--        </dependency>-->
         <!-- 工作流。默认注释,保证编译速度 -->
-<!--        <dependency>-->
-<!--            <groupId>cn.iocoder.boot</groupId>-->
-<!--            <artifactId>yudao-module-bpm</artifactId>-->
-<!--            <version>${revision}</version>-->
-<!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>cn.iocoder.boot</groupId>-->
+        <!--            <artifactId>yudao-module-bpm</artifactId>-->
+        <!--            <version>${revision}</version>-->
+        <!--        </dependency>-->
         <!-- 支付服务。默认注释,保证编译速度 -->
-<!--        <dependency>-->
-<!--            <groupId>cn.iocoder.boot</groupId>-->
-<!--            <artifactId>yudao-module-pay</artifactId>-->
-<!--            <version>${revision}</version>-->
-<!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>cn.iocoder.boot</groupId>-->
+        <!--            <artifactId>yudao-module-pay</artifactId>-->
+        <!--            <version>${revision}</version>-->
+        <!--        </dependency>-->
 
         <!-- 微信公众号模块。默认注释,保证编译速度 -->
-<!--        <dependency>-->
-<!--            <groupId>cn.iocoder.boot</groupId>-->
-<!--            <artifactId>yudao-module-mp</artifactId>-->
-<!--            <version>${revision}</version>-->
-<!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>cn.iocoder.boot</groupId>-->
+        <!--            <artifactId>yudao-module-mp</artifactId>-->
+        <!--            <version>${revision}</version>-->
+        <!--        </dependency>-->
 
         <!-- 商城相关模块。默认注释,保证编译速度-->
-<!--        <dependency>-->
-<!--            <groupId>cn.iocoder.boot</groupId>-->
-<!--            <artifactId>yudao-module-product</artifactId>-->
-<!--            <version>${revision}</version>-->
-<!--        </dependency>-->
-<!--        <dependency>-->
-<!--            <groupId>cn.iocoder.boot</groupId>-->
-<!--            <artifactId>yudao-module-promotion</artifactId>-->
-<!--            <version>${revision}</version>-->
-<!--        </dependency>-->
-<!--        <dependency>-->
-<!--            <groupId>cn.iocoder.boot</groupId>-->
-<!--            <artifactId>yudao-module-trade</artifactId>-->
-<!--            <version>${revision}</version>-->
-<!--        </dependency>-->
-<!--        <dependency>-->
-<!--            <groupId>cn.iocoder.boot</groupId>-->
-<!--            <artifactId>yudao-module-statistics</artifactId>-->
-<!--            <version>${revision}</version>-->
-<!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>cn.iocoder.boot</groupId>-->
+        <!--            <artifactId>yudao-module-product</artifactId>-->
+        <!--            <version>${revision}</version>-->
+        <!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>cn.iocoder.boot</groupId>-->
+        <!--            <artifactId>yudao-module-promotion</artifactId>-->
+        <!--            <version>${revision}</version>-->
+        <!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>cn.iocoder.boot</groupId>-->
+        <!--            <artifactId>yudao-module-trade</artifactId>-->
+        <!--            <version>${revision}</version>-->
+        <!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>cn.iocoder.boot</groupId>-->
+        <!--            <artifactId>yudao-module-statistics</artifactId>-->
+        <!--            <version>${revision}</version>-->
+        <!--        </dependency>-->
 
         <!-- CRM 相关模块。默认注释,保证编译速度 -->
-<!--        <dependency>-->
-<!--            <groupId>cn.iocoder.boot</groupId>-->
-<!--            <artifactId>yudao-module-crm</artifactId>-->
-<!--            <version>${revision}</version>-->
-<!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>cn.iocoder.boot</groupId>-->
+        <!--            <artifactId>yudao-module-crm</artifactId>-->
+        <!--            <version>${revision}</version>-->
+        <!--        </dependency>-->
 
         <!-- ERP 相关模块。默认注释,保证编译速度 -->
-<!--        <dependency>-->
-<!--            <groupId>cn.iocoder.boot</groupId>-->
-<!--            <artifactId>yudao-module-erp</artifactId>-->
-<!--            <version>${revision}</version>-->
-<!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>cn.iocoder.boot</groupId>-->
+        <!--            <artifactId>yudao-module-erp</artifactId>-->
+        <!--            <version>${revision}</version>-->
+        <!--        </dependency>-->
 
         <!-- AI 大模型相关模块。默认注释,保证编译速度 -->
-<!--        <dependency>-->
-<!--            <groupId>cn.iocoder.boot</groupId>-->
-<!--            <artifactId>yudao-module-ai</artifactId>-->
-<!--            <version>${revision}</version>-->
-<!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>cn.iocoder.boot</groupId>-->
+        <!--            <artifactId>yudao-module-ai</artifactId>-->
+        <!--            <version>${revision}</version>-->
+        <!--        </dependency>-->
 
         <!-- IoT 物联网相关模块。默认注释,保证编译速度 -->
-<!--        <dependency>-->
-<!--            <groupId>cn.iocoder.boot</groupId>-->
-<!--            <artifactId>yudao-module-iot-biz</artifactId>-->
-<!--            <version>${revision}</version>-->
-<!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>cn.iocoder.boot</groupId>-->
+        <!--            <artifactId>yudao-module-iot-biz</artifactId>-->
+        <!--            <version>${revision}</version>-->
+        <!--        </dependency>-->
+
+        <!-- 新业务模块iscs -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-iscs</artifactId>
+            <version>${revision}</version>
+        </dependency>
 
         <!-- spring boot 配置所需依赖 -->
         <dependency>

+ 1 - 0
yudao-server/src/main/resources/application-local.yaml

@@ -187,6 +187,7 @@ logging:
     cn.iocoder.yudao.module.iot.dal.mysql: debug
     cn.iocoder.yudao.module.iot.dal.tdengine: DEBUG
     cn.iocoder.yudao.module.ai.dal.mysql: debug
+    n.iocoder.yudao.module.iscs.dal.mysql: debug
     org.springframework.context.support.PostProcessorRegistrationDelegate: ERROR # TODO 芋艿:先禁用,Spring Boot 3.X 存在部分错误的 WARN 提示
 
 debug: false