liulin
2024-08-02 12c82c37acb998a3c269871e22e339d66b9f1c1d
src/test/java/com/lunhan/xxx/host/GenCodeGauss.java
@@ -79,7 +79,7 @@
    private static final Integer SET_PO_Getter = 1;
    //endregion
    //region po类头部文字设置
    //region 类头部文字设置
    private static final String SET_BEFORE_TEXT =
            "/**\n" +
                    "#                                                    __----~~~~~~~~~~~------___\n" +
@@ -105,6 +105,8 @@
                    "*/";
    //endregion
    //region import依赖架包
    //region po类 import 内容设置
    private static final String[] SET_PO_IMPORT = new String[]{
            "import com.baomidou.mybatisplus.annotation.*;",
@@ -122,7 +124,7 @@
    };
    //endregion
    //region 实体映射类 import 内容设置
    //region 实体属性映射类 import 内容设置
    private static final String[] SET_CONVERT_IMPORT = new String[]{
            "import org.mapstruct.Mapper;" +
                    "import org.mapstruct.factory.Mappers;" +
@@ -131,18 +133,15 @@
    };
    //endregion
    //region dao类 import 内容设置
    private static final String[] SET_DAO_IMPORT = new String[]{
    //region mapper实现类 import 内容设置
    private static final String[] SET_MAPPER_IMPL_IMPORT = new String[]{
            "import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;",
            "import com.baomidou.mybatisplus.extension.plugins.pagination.Page;",
            "import com.lunhan.xxx.common.PagerResult;",
            "import com.lunhan.xxx.common.enums.EYesOrNo;",
            "import com.lunhan.xxx.common.util.ListUtil;",
            "import com.lunhan.xxx.common.util.NumericUtil;",
            "import com.lunhan.xxx.common.util.StringUtil;",
            "import com.lunhan.xxx.entity.dto.OrderByDTO;",
            "import com.lunhan.xxx.entity.dto.SearchBasicDTO;",
            "import com.lunhan.xxx.entity.enums.EOrderBy;",
            "import com.lunhan.xxx.common.util.*;",
            "import com.lunhan.xxx.entity.dto.*;",
            "import com.lunhan.xxx.entity.enums.*;",
            "import com.lunhan.xxx.repository.BasicMapperImpl;",
            "import org.springframework.stereotype.Repository;"
    };
@@ -181,6 +180,8 @@
    private static final String[] SET_SEARCH_IMPORT = new String[]{
            "import " + GenCodeGauss.PackageSet.SEARCH.replaceAll("\\.search", "") + ".SearchBasicDTO;",
    };
    //endregion
    //endregion
    //region 类注释模版
@@ -241,7 +242,7 @@
     * 只生成以下配置的表
     */
    private static final List<String> ONLY_TABLES = Arrays.asList(
            "water_meter_apply"
            "admin_menus"
    );
    public static void main(String[] args) {
@@ -265,7 +266,7 @@
            genSearch(columns, tableDesc);
            genMapper(columns, tableDesc);
            genModifyDto(columns, tableName, tableDesc);
            genDao(tableName, tableDesc);
            genMapperImpl(tableName, tableDesc);
            genConvertMapper(tableName, tableDesc);
            genService(tableName, tableDesc);
            genController(tableName, tableDesc);
@@ -521,7 +522,7 @@
        writeFile(GenCodeGauss.OutSet.SEARCH + "/", searchName + ".java", content.toString());
    }
    private static void genDao(String tableName, String tableDesc) {
    private static void genMapperImpl(String tableName, String tableDesc) {
        String modelName = underline2Camel(tableName, true);
        String mapperName = modelName + SuffixSet.MAPPER;
        String daoName = modelName + GenCodeGauss.SuffixSet.MAPPER_IMPL;
@@ -537,9 +538,9 @@
        content.append(GenCodeGauss.PackageSet.MAPPER_IMPL);
        content.append(ConstantFactory.STR_SEMICOLON);
        content.append(ConstantFactory.STR_NEWLINE);
        if (SET_DAO_IMPORT.length > 0) {
        if (SET_MAPPER_IMPL_IMPORT.length > 0) {
            content.append(ConstantFactory.STR_NEWLINE);
            for (String s : SET_DAO_IMPORT) {
            for (String s : SET_MAPPER_IMPL_IMPORT) {
                content.append(s);
                content.append(ConstantFactory.STR_NEWLINE);
            }
@@ -574,7 +575,7 @@
        content.append("\t}\n");
        content.append(ConstantFactory.STR_NEWLINE);
        content.append("\t@Override\n" +
                "\tpublic PagerResult<" + poName + "> search(" + searchName + " request) {\n" +
                "\tpublic PagerResult<" + poName + "> search(SearchBasicDTO request) {\n" +
                "\t\t// 还原查询条件真实类型\n" +
                "\t\t" + searchName + " search = (" + searchName + ")request;\n" +
                "\t\t// 查询条件\n" +
@@ -591,12 +592,12 @@
                "\t\t// 数据创建时间-截止\n" +
                "\t\tqueryWrapper.le(NumericUtil.tryParseLong(search.getCreateTimeEnd()).compareTo(0L) > 0, " + poName + "::getCreateTime, search.getCreateTimeEnd());\n" +
                "\t\t// 关键字\n" +
                "\t\tif (StringUtil.isNotNullOrEmpty(search.getKeywords())) {\n" +
                "\t\t\tqueryWrapper.and(q ->\n" +
                "\t\t\t\tq.like(" + poName + "::getName, search.getKeywords())\n" +
                "\t\t\t\t.or().like(" + poName + "::getPhone, search.getKeywords())\n" +
                "\t\t\t);\n" +
                "\t\t}\n" +
                "\t\t//if (StringUtil.isNotNullOrEmpty(search.getKeywords())) {\n" +
                "\t\t//\tqueryWrapper.and(q ->\n" +
                "\t\t//\t\tq.like(" + poName + "::getName, search.getKeywords())\n" +
                "\t\t//\t\t.or().like(" + poName + "::getPhone, search.getKeywords())\n" +
                "\t\t//\t);\n" +
                "\t\t//}\n" +
                "\n" +
                "\t\t// 排序处理\n" +
                "\t\tif (ListUtil.isNotNullOrEmpty(search.getOrderBy())) {\n" +
@@ -980,7 +981,7 @@
        content.append(serviceName);
        content.append(" extends BaseService {\n");
        content.append("    @Autowired\n" +
                "    private " + daoName + " dao;\n");
                "    private " + daoName + " mapper;\n");
        content.append(ConstantFactory.STR_NEWLINE);
        content.append("    public ExecutedResult<Long> create(" + createDTOName + " request) {\n" +
                "        // 转换po\n" +
@@ -992,8 +993,8 @@
                "        // 是否删除(逻辑删除)初始值\n" +
                "        //item.setIsDelete(EYesOrNo.NO.getValue());\n" +
                "\n" +
                "        Boolean result = this.dao.add(item);\n" +
                "        if (BooleanUtils.isFalse(result)) {\n" +
                "        int rowCount = mapper.insert(item);\n" +
                "        if (rowCount != 1) {\n" +
                "            return ExecutedResult.failed(\"创建[" + tableDesc + "]失败。\");\n" +
                "        }\n" +
                "        return ExecutedResult.success(item.getId());\n" +
@@ -1008,8 +1009,8 @@
                "        // 转换po\n" +
                "        " + poName + " item = CopierUtil.mapTo(request, " + poName + ".class);\n" +
                "\n" +
                "        Boolean result = this.dao.modify(item);\n" +
                "        if (BooleanUtils.isFalse(result)) {\n" +
                "        int rowCount = mapper.updateById(item);\n" +
                "        if (rowCount != 1) {\n" +
                "            return ExecutedResult.failed(\"编辑[" + tableDesc + "]失败。\");\n" +
                "        }\n" +
                "        return ExecutedResult.success();\n" +
@@ -1018,7 +1019,7 @@
                "    public ExecutedResult<" + responseDTOName + "> get(Long id) {\n" +
                "        " + responseDTOName + " result = new " + responseDTOName + "();\n" +
                "\n" +
                "        " + poName + " find = dao.getById(id);\n" +
                "        " + poName + " find = mapper.get(id);\n" +
                "        if (null != find) {\n" +
                "            result = CopierUtil.mapTo(find, " + responseDTOName + ".class);\n" +
                "        }\n" +
@@ -1035,8 +1036,8 @@
                "//        item.setId(id);\n" +
                "//        item.setStatus(EState.DISABLED.getValue());\n" +
                "//\n" +
                "//       Boolean result = this.dao.modify(item);\n" +
                "//       if (BooleanUtils.isFalse(result)) {\n" +
                "//        int rowCount = mapper.updateById(item);\n" +
                "//        if (rowCount != 1) {\n" +
                "//           return ExecutedResult.failed(\"停用[" + tableDesc + "]失败。\");\n" +
                "//       }\n" +
                "//       return ExecutedResult.success();\n" +
@@ -1052,8 +1053,8 @@
                "//        item.setId(id);\n" +
                "//        item.setStatus(EState.NORMAL.getValue());\n" +
                "//\n" +
                "//        Boolean result = this.dao.modify(item);\n" +
                "//        if (BooleanUtils.isFalse(result)) {\n" +
                "//        int rowCount = mapper.updateById(item);\\n\" +\n" +
                "//        if (rowCount != 1) {\n" +
                "//            return ExecutedResult.failed(\"启用[" + tableDesc + "]失败。\");\n" +
                "//        }\n" +
                "//        return ExecutedResult.success();\n" +
@@ -1069,15 +1070,39 @@
                "//        item.setId(request.getId());\n" +
                "//        item.setSort(request.getSort());\n" +
                "//\n" +
                "//        Boolean result = this.dao.modify(item);\n" +
                "//        if (BooleanUtils.isFalse(result)) {\n" +
                "//        int rowCount = mapper.updateById(item);\\n\" +\n" +
                "//        if (rowCount != 1) {\n" +
                "//            return ExecutedResult.failed(\"设置[" + tableDesc + "]排序值失败。\");\n" +
                "//        }\n" +
                "//        return ExecutedResult.success();\n" +
                "//    }\n" +
                "//\n" +
                "//    public ExecutedResult<String> listSetSort(ReqListSetSort request) {\n" +
                "//        // id列表\n" +
                "//        List<Long> listId = request.getList().stream().map(ReqSetSort::getId).collect(Collectors.toList());\n" +
                "//        // 验证记录是否存在\n" +
                "//        ExecutedResult<List<" + poName + ">> checkExists = this.check4Id(listId);\n" +
                "//        if (checkExists.isFailed()) {\n" +
                "//            return ExecutedResult.failed(checkExists.getMsg());\n" +
                "//        }\n" +
                "//\n" +
                "//        List<" + poName + "> listUpdate = request.getList().stream()\n" +
                "//                .map(c -> {\n" +
                "//                    " + poName + " item = new " + poName + "();\n" +
                "//                    item.setId(c.getId());\n" +
                "//                    item.setSort(c.getSort());\n" +
                "//                    return item;\n" +
                "//                })\n" +
                "//                .collect(Collectors.toList());\n" +
                "//        Boolean result = mapper.modifyList(listUpdate);\n" +
                "//        if (result) {\n" +
                "//            return ExecutedResult.success();\n" +
                "//        }\n" +
                "//        return ExecutedResult.failed(\"[" + tableDesc + "]设置排序值失败\");\n" +
                "//    }\n" +
                "//\n" +
                "//    public ExecutedResult<String> remove(Long id) {\n" +
                "//        Boolean result = this.dao.remove(id);\n" +
                "//        Boolean result = mapper.deleteLogic(id);\n" +
                "//        if (BooleanUtils.isFalse(result)) {\n" +
                "//            return ExecutedResult.failed(\"删除[" + tableDesc + "]失败。\");\n" +
                "//        }\n" +
@@ -1085,7 +1110,7 @@
                "//    }\n" +
                "//\n" +
                "//    public ExecutedResult<String> removeList(List<Long> ids) {\n" +
                "//        Boolean result = this.dao.removeByListId(ids);\n" +
                "//        Boolean result = mapper.deleteLogic(ids);\n" +
                "//        if (BooleanUtils.isFalse(result)) {\n" +
                "//            return ExecutedResult.failed(\"删除[" + tableDesc + "]失败。\");\n" +
                "//        }\n" +
@@ -1095,7 +1120,7 @@
                "    public ExecutedResult<List<" + responseDTOName + ">> getList(List<Long> listId) {\n" +
                "        List<" + responseDTOName + "> result = new ArrayList<>();\n" +
                "\n" +
                "        List<" + poName + "> list = this.dao.getListById(listId);\n" +
                "        List<" + poName + "> list = mapper.getList(listId);\n" +
                "        if (ListUtil.isNotNullOrEmpty(list)) {\n" +
                "            result = CopierUtil.mapTo(list, " + responseDTOName + ".class);\n" +
                "        }\n" +
@@ -1112,7 +1137,7 @@
                "            search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime());\n" +
                "        }\n" +
                "\n" +
                "        PagerResult<" + poName + "> pageList = dao.search(search);\n" +
                "        PagerResult<" + poName + "> pageList = mapper.search(search);\n" +
                "        List<" + responseDTOName + "> listVo = new ArrayList<>();\n" +
                "        List<" + poName + "> list = pageList.getList();\n" +
                "        if (ListUtil.isNotNullOrEmpty(list)) {\n" +
@@ -1126,12 +1151,30 @@
                "    }\n" +
                "\n" +
                "    protected ExecutedResult<" + poName + "> check4Id(Long id) {\n" +
                "        " + poName + " exists = dao.getById(id);\n" +
                "        " + poName + " exists = mapper.get(id);\n" +
                "        if (Objects.isNull(exists)) {\n" +
                "            return ExecutedResult.failed(\"[" + tableDesc + "]不存在:\" + id);\n" +
                "        }\n" +
                "        return ExecutedResult.success(exists);\n" +
                "    }\n");
                "    }\n"+
                "    protected ExecutedResult<List<" + poName + ">> check4Id(List<Long> listId) {\n" +
                "        // 从数据库查找" + tableDesc + "\n" +
                "        List<" + poName + "> list = mapper.getList(listId);\n" +
                "        if (ListUtil.isNullOrEmpty(list)) {\n" +
                "            return ExecutedResult.failed(\"[" + tableDesc + "]不存在.\" + listId);\n" +
                "        }\n" +
                "        // 数据库找到的id列表\n" +
                "        List<Long> listIdFind = list.stream().map(" + poName + "::getId).collect(Collectors.toList());\n" +
                "        // 数量不一致\n" +
                "        if (listId.size() != listIdFind.size()) {\n" +
                "            // 筛选数据库不存在的" + tableDesc + "\n" +
                "            List<Long> listIdNotFound = listId.stream().filter(c -> !listIdFind.contains(c)).collect(Collectors.toList());\n" +
                "            if (ListUtil.isNullOrEmpty(list)) {\n" +
                "                return ExecutedResult.failed(\"[" + tableDesc + "]不存在.\" + listIdNotFound);\n" +
                "            }\n" +
                "        }\n" +
                "        return ExecutedResult.success(list);\n" +
                "    }");
        content.append("}");
        if (new File(GenCodeGauss.OutSet.SERVICE + serviceName + ".java").exists()) {
@@ -1264,16 +1307,6 @@
                .replaceAll("\\{\\#\\=date\\}", LocalDateTimeUtil.todayStr().replaceAll("\\-", "/"))
        );
        content.append(ConstantFactory.STR_NEWLINE);
        content.append("    @PostMapping(value = \"getList\")\n" +
                "    public ExecutedResult<List<" + voName + ">> getList(@RequestBody ReqListId request) {\n" +
                "        return this.service.getList(request.getListId());\n" +
                "    }\n\n");
        content.append(SET_METHOD_DESC_TPL
                .replaceAll("\\{\\#\\=desc\\}", "查询[" + tableDesc + "]")
                .replaceAll("\\{\\#\\=author\\}", AUTHOR)
                .replaceAll("\\{\\#\\=date\\}", LocalDateTimeUtil.todayStr().replaceAll("\\-", "/"))
        );
        content.append(ConstantFactory.STR_NEWLINE);
        content.append("    @PostMapping(value = \"search\")\n" +
                "    public ExecutedResult<PagerResult<" + voName + ">> search(@RequestBody " + searchName + " request) {\n" +
                "        return this.service.search(request);\n" +
@@ -1312,6 +1345,7 @@
        content.append(ConstantFactory.STR_SEMICOLON);
        content.append(ConstantFactory.STR_NEWLINE);
        content.append(ConstantFactory.STR_NEWLINE);
        content.append(String.format("import %s.BasicMapper;", PackageSet.MAPPER.replace(".mapper", "")));
        content.append(String.format("import %s.%s%s;", GenCodeGauss.PackageSet.PO, modelName, GenCodeGauss.SuffixSet.PO));
        content.append(ConstantFactory.STR_NEWLINE);
        content.append(ConstantFactory.STR_NEWLINE);