From 9cb93a3f944e097b73d5b2d058b91780340b0162 Mon Sep 17 00:00:00 2001 From: dimengzhe <251008545@qq.com> Date: Mon, 24 Apr 2023 21:20:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jdbc/service/MybatisBaseService.java | 9 + .../demo/common/jdbc/service/PagerUtil.java | 61 +++ demo-common/demo-common-utils/pom.xml | 12 + .../demo/common/utils/allutils/Encodes.java | 189 +++++++++ .../common/utils/allutils/Exceptions.java | 74 ++++ .../common/utils/allutils/StringUtils.java | 395 ++++++++++++++++++ .../yxt/demo/common/utils/jwt/JWTUtil.java | 52 +++ .../src/main/resources/application.yml | 2 +- .../system/api/dict_common/DictCommon.java | 2 + .../system/api/dict_common/DictCommonDto.java | 34 ++ .../api/dict_common/DictCommonFeign.java | 45 ++ .../dict_common/DictCommonFeignFallback.java | 9 + .../api/dict_common/DictCommonQuery.java | 24 ++ .../api/dict_common/DictCommonTypeQuery.java | 21 + .../system/api/dict_common/DictCommonVo.java | 29 ++ .../demo/system/api/dict_type/DictType.java | 4 - .../system/api/dict_type/DictTypeDto.java | 30 ++ .../system/api/dict_type/DictTypeFeign.java | 40 ++ .../api/dict_type/DictTypeFeignFallback.java | 9 + .../system/api/dict_type/DictTypeQuery.java | 23 + .../demo/system/api/dict_type/DictTypeVo.java | 27 ++ .../system/api/sys_forum/SysForumFeign.java | 21 + .../api/sys_forum/SysForumFeignFallback.java | 9 + .../SysForumCommentFeign.java | 19 + .../SysForumCommentFeignFallback.java | 9 + .../system/api/sys_info/SysInfoFeign.java | 19 + .../api/sys_info/SysInfoFeignFallback.java | 12 + .../system/api/sys_menu/SysMenuFeign.java | 19 + .../api/sys_menu/SysMenuFeignFallback.java | 12 + .../system/api/sys_notice/SysNoticeFeign.java | 9 + .../system/api/sys_plan/SysPlanFeign.java | 9 + .../SysPlanScheduleFeign.java | 9 + .../api/sys_resources/SysResourcesFeign.java | 9 + .../system/api/sys_role/SysRoleFeign.java | 9 + .../system/api/sys_score/SysScoreFeign.java | 9 + .../sys_student_score/SysStudentScore.java | 16 +- .../SysStudentScoreFeign.java | 9 + .../yxt/demo/system/api/sys_user/SysUser.java | 14 +- .../demo/system/api/sys_user/SysUserDto.java | 35 ++ .../system/api/sys_user/SysUserFeign.java | 34 ++ .../api/sys_user/SysUserFeignFallback.java | 12 + .../api/sys_user/SysUserLoginQuery.java | 20 + .../system/api/sys_user_role/SysUserRole.java | 5 +- demo-system/demo-system-biz/pom.xml | 5 + .../biz/dict_common/DictCommonMapper.java | 28 ++ .../biz/dict_common/DictCommonMapper.xml | 33 ++ .../biz/dict_common/DictCommonRest.java | 58 +++ .../biz/dict_common/DictCommonService.java | 114 +++++ .../system/biz/dict_type/DictTypeMapper.java | 29 ++ .../system/biz/dict_type/DictTypeMapper.xml | 17 + .../system/biz/dict_type/DictTypeRest.java | 61 +++ .../system/biz/dict_type/DictTypeService.java | 76 ++++ .../system/biz/sys_forum/SysForumMapper.java | 9 + .../system/biz/sys_forum/SysForumMapper.xml | 4 + .../system/biz/sys_forum/SysForumRest.java | 9 + .../system/biz/sys_forum/SysForumService.java | 9 + .../SysForumCommentMapper.java | 9 + .../SysForumCommentMapper.xml | 4 + .../SysForumCommentRest.java | 9 + .../SysForumCommentService.java | 9 + .../system/biz/sys_info/SysInfoMapper.java | 17 + .../system/biz/sys_info/SysInfoMapper.xml | 10 + .../demo/system/biz/sys_info/SysInfoRest.java | 16 + .../system/biz/sys_info/SysInfoService.java | 18 + .../biz/sys_info_ship/SysInfoShipMapper.java | 12 + .../biz/sys_info_ship/SysInfoShipMapper.xml | 4 + .../biz/sys_info_ship/SysInfoShipService.java | 12 + .../system/biz/sys_menu/SysMenuMapper.java | 15 + .../system/biz/sys_menu/SysMenuMapper.xml | 4 + .../demo/system/biz/sys_menu/SysMenuRest.java | 16 + .../system/biz/sys_menu/SysMenuService.java | 16 + .../biz/sys_menu_role/SysMenuRoleMapper.java | 12 + .../biz/sys_menu_role/SysMenuRoleMapper.xml | 4 + .../biz/sys_menu_role/SysMenuRoleService.java | 12 + .../biz/sys_notice/SysNoticeMapper.java | 12 + .../system/biz/sys_notice/SysNoticeMapper.xml | 4 + .../system/biz/sys_notice/SysNoticeRest.java | 9 + .../biz/sys_notice/SysNoticeService.java | 12 + .../system/biz/sys_plan/SysPlanMapper.java | 9 + .../system/biz/sys_plan/SysPlanMapper.xml | 4 + .../demo/system/biz/sys_plan/SysPlanRest.java | 9 + .../system/biz/sys_plan/SysPlanService.java | 9 + .../SysPlanScheduleMapper.java | 9 + .../SysPlanScheduleMapper.xml | 4 + .../SysPlanScheduleRest.java | 9 + .../SysPlanScheduleService.java | 9 + .../biz/sys_resources/SysResourcesMapper.java | 9 + .../biz/sys_resources/SysResourcesMapper.xml | 4 + .../biz/sys_resources/SysResourcesRest.java | 9 + .../sys_resources/SysResourcesService.java | 9 + .../system/biz/sys_role/SysRoleMapper.java | 9 + .../system/biz/sys_role/SysRoleMapper.xml | 4 + .../demo/system/biz/sys_role/SysRoleRest.java | 9 + .../system/biz/sys_role/SysRoleService.java | 9 + .../system/biz/sys_score/SysScoreMapper.java | 9 + .../system/biz/sys_score/SysScoreMapper.xml | 4 + .../system/biz/sys_score/SysScoreRest.java | 9 + .../system/biz/sys_score/SysScoreService.java | 9 + .../SysStudentScoreMapper.java | 9 + .../SysStudentScoreMapper.xml | 4 + .../SysStudentScoreRest.java | 9 + .../SysStudentScoreService.java | 9 + .../system/biz/sys_user/SysUserMapper.java | 15 + .../system/biz/sys_user/SysUserMapper.xml | 9 + .../demo/system/biz/sys_user/SysUserRest.java | 34 ++ .../system/biz/sys_user/SysUserService.java | 80 ++++ .../biz/sys_user_role/SysUserRoleMapper.java | 9 + .../biz/sys_user_role/SysUserRoleMapper.xml | 4 + .../sys_user_role/SysUserRoleSerrvice.java | 9 + .../src/main/resources/application.yml | 4 +- doc/database/demo_system.sql | 30 +- pom.xml | 24 ++ 112 files changed, 2466 insertions(+), 36 deletions(-) create mode 100644 demo-common/demo-common-jdbc/src/main/java/com/yxt/demo/common/jdbc/service/PagerUtil.java create mode 100644 demo-common/demo-common-utils/src/main/java/com/yxt/demo/common/utils/allutils/Encodes.java create mode 100644 demo-common/demo-common-utils/src/main/java/com/yxt/demo/common/utils/allutils/Exceptions.java create mode 100644 demo-common/demo-common-utils/src/main/java/com/yxt/demo/common/utils/allutils/StringUtils.java create mode 100644 demo-common/demo-common-utils/src/main/java/com/yxt/demo/common/utils/jwt/JWTUtil.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonDto.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonFeign.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonFeignFallback.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonQuery.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonTypeQuery.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonVo.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeDto.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeFeign.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeFeignFallback.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeQuery.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeVo.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_forum/SysForumFeign.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_forum/SysForumFeignFallback.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_forum_comment/SysForumCommentFeign.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_forum_comment/SysForumCommentFeignFallback.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_info/SysInfoFeign.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_info/SysInfoFeignFallback.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuFeign.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuFeignFallback.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_notice/SysNoticeFeign.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_plan/SysPlanFeign.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_plan_schedule/SysPlanScheduleFeign.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_resources/SysResourcesFeign.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_role/SysRoleFeign.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_score/SysScoreFeign.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_student_score/SysStudentScoreFeign.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUserDto.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUserFeign.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUserFeignFallback.java create mode 100644 demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUserLoginQuery.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_common/DictCommonMapper.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_common/DictCommonMapper.xml create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_common/DictCommonRest.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_common/DictCommonService.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_type/DictTypeMapper.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_type/DictTypeMapper.xml create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_type/DictTypeRest.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_type/DictTypeService.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum/SysForumMapper.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum/SysForumMapper.xml create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum/SysForumRest.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum/SysForumService.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum_comment/SysForumCommentMapper.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum_comment/SysForumCommentMapper.xml create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum_comment/SysForumCommentRest.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum_comment/SysForumCommentService.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info/SysInfoMapper.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info/SysInfoMapper.xml create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info/SysInfoRest.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info/SysInfoService.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info_ship/SysInfoShipMapper.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info_ship/SysInfoShipMapper.xml create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info_ship/SysInfoShipService.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuMapper.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuMapper.xml create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuRest.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuService.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu_role/SysMenuRoleMapper.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu_role/SysMenuRoleMapper.xml create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu_role/SysMenuRoleService.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_notice/SysNoticeMapper.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_notice/SysNoticeMapper.xml create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_notice/SysNoticeRest.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_notice/SysNoticeService.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan/SysPlanMapper.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan/SysPlanMapper.xml create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan/SysPlanRest.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan/SysPlanService.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan_schedule/SysPlanScheduleMapper.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan_schedule/SysPlanScheduleMapper.xml create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan_schedule/SysPlanScheduleRest.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan_schedule/SysPlanScheduleService.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_resources/SysResourcesMapper.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_resources/SysResourcesMapper.xml create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_resources/SysResourcesRest.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_resources/SysResourcesService.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_role/SysRoleMapper.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_role/SysRoleMapper.xml create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_role/SysRoleRest.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_role/SysRoleService.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_score/SysScoreMapper.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_score/SysScoreMapper.xml create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_score/SysScoreRest.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_score/SysScoreService.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_student_score/SysStudentScoreMapper.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_student_score/SysStudentScoreMapper.xml create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_student_score/SysStudentScoreRest.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_student_score/SysStudentScoreService.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserMapper.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserMapper.xml create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserRest.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserService.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user_role/SysUserRoleMapper.java create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user_role/SysUserRoleMapper.xml create mode 100644 demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user_role/SysUserRoleSerrvice.java diff --git a/demo-common/demo-common-jdbc/src/main/java/com/yxt/demo/common/jdbc/service/MybatisBaseService.java b/demo-common/demo-common-jdbc/src/main/java/com/yxt/demo/common/jdbc/service/MybatisBaseService.java index 4c2c00c..1e53681 100644 --- a/demo-common/demo-common-jdbc/src/main/java/com/yxt/demo/common/jdbc/service/MybatisBaseService.java +++ b/demo-common/demo-common-jdbc/src/main/java/com/yxt/demo/common/jdbc/service/MybatisBaseService.java @@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.HashMap; +import java.util.Map; + public class MybatisBaseService, T> extends ServiceImpl { @@ -12,4 +15,10 @@ public class MybatisBaseService, T> extends ServiceImpl< qw.eq("sid", sid); return baseMapper.selectOne(qw); } + + public int deleteBySid(String sid) { + Map map = new HashMap<>(); + map.put("sid", sid); + return baseMapper.deleteByMap(map); + } } diff --git a/demo-common/demo-common-jdbc/src/main/java/com/yxt/demo/common/jdbc/service/PagerUtil.java b/demo-common/demo-common-jdbc/src/main/java/com/yxt/demo/common/jdbc/service/PagerUtil.java new file mode 100644 index 0000000..5349fc3 --- /dev/null +++ b/demo-common/demo-common-jdbc/src/main/java/com/yxt/demo/common/jdbc/service/PagerUtil.java @@ -0,0 +1,61 @@ +package com.yxt.demo.common.jdbc.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.demo.common.core.query.PagerQuery; +import com.yxt.demo.common.core.vo.PagerVo; +import com.yxt.demo.common.core.vo.Vo; + +import java.util.ArrayList; + +/** + * Project: jbsc-commons
+ * File: PagerUtil.java
+ * Class: org.jbase.jbsc.commons.base.utils.PagerUtil
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2020/9/22 上午9:35
+ * + * @author popo + * @version 1.0 + * @since 1.0 + */ +public abstract class PagerUtil { + + public static IPage queryToPage(PagerQuery pq) { + IPage page = new Page<>(); + page.setSize(pq.getSize()).setCurrent(pq.getCurrent()); + return page; + } + + public static PagerVo pageToVo(IPage pr, PagerVo pv) { + if (pv == null) { + pv = new PagerVo(); + } + pv.setCurrent(pr.getCurrent()).setSize(pr.getSize()) + .setTotal(pr.getTotal()).setPages(pr.getPages()) + .setRecords(pr.getRecords()); + return pv; + } + + /** + * 转换pagerVo + * + * @param soure + * @return + */ + public static PagerVo switchPagerVo( + PagerVo soure) { + if (soure == null) { + return null; + } + + PagerVo target = new PagerVo<>(); + target.setCurrent(soure.getCurrent()).setPages(soure.getPages()) + .setSize(soure.getSize()).setTotal(soure.getTotal()); + target.setRecords(new ArrayList()); + + return target; + } +} diff --git a/demo-common/demo-common-utils/pom.xml b/demo-common/demo-common-utils/pom.xml index 4e50365..d2f88f5 100644 --- a/demo-common/demo-common-utils/pom.xml +++ b/demo-common/demo-common-utils/pom.xml @@ -47,6 +47,18 @@ org.apache.commons commons-lang3 + + commons-io + commons-io + + + commons-codec + commons-codec + + + com.auth0 + java-jwt + diff --git a/demo-common/demo-common-utils/src/main/java/com/yxt/demo/common/utils/allutils/Encodes.java b/demo-common/demo-common-utils/src/main/java/com/yxt/demo/common/utils/allutils/Encodes.java new file mode 100644 index 0000000..b58d058 --- /dev/null +++ b/demo-common/demo-common-utils/src/main/java/com/yxt/demo/common/utils/allutils/Encodes.java @@ -0,0 +1,189 @@ +package com.yxt.demo.common.utils.allutils; + +import org.apache.commons.codec.DecoderException; +import org.apache.commons.codec.binary.Hex; +import org.apache.commons.lang3.StringEscapeUtils; +import org.apache.tomcat.util.codec.binary.Base64; + +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.net.URLEncoder; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +/** + * 封装各种格式的编码解码工具类. 1.Commons-Codec的 hex/base64 编码 2.自制的base62 编码 + * 3.Commons-Lang的xml/html escape 4.JDK提供的URLEncoder + * + * @author dimengzhe + * @date 2020/9/11 13:38 + * @description 编码解码工具类 + */ + +public class Encodes { + + private static final String DEFAULT_URL_ENCODING = "UTF-8"; + private static final char[] BASE62 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".toCharArray(); + private static final String SALT = "jlzx@yxt?"; + + /** + * Hex编码. + */ + public static String encodeHex(byte[] input) { + return new String(Hex.encodeHex(input)); + } + + /** + * Hex解码. + */ + public static byte[] decodeHex(String input) { + try { + return Hex.decodeHex(input.toCharArray()); + } catch (DecoderException e) { + throw Exceptions.unchecked(e); + } + } + + /** + * Base64编码. + */ + public static String encodeBase64(byte[] input) { + return new String(Base64.encodeBase64(input)); + } + + /** + * Base64编码. + */ + public static String encodeBase64(String input) { + try { + return new String(Base64.encodeBase64(input.getBytes(DEFAULT_URL_ENCODING))); + } catch (UnsupportedEncodingException e) { + return ""; + } + } + + /** + * Base64解码. + */ + public static byte[] decodeBase64(String input) { + return Base64.decodeBase64(input.getBytes()); + } + + /** + * Base64解码. + */ + public static String decodeBase64String(String input) { + try { + return new String(Base64.decodeBase64(input.getBytes()), DEFAULT_URL_ENCODING); + } catch (UnsupportedEncodingException e) { + return ""; + } + } + + /** + * Base62编码。 + */ + public static String encodeBase62(byte[] input) { + char[] chars = new char[input.length]; + for (int i = 0; i < input.length; i++) { + chars[i] = BASE62[((input[i] & 0xFF) % BASE62.length)]; + } + return new String(chars); + } + + /** + * Html 转码. + */ + public static String escapeHtml(String html) { + return StringEscapeUtils.escapeHtml4(html); + } + + /** + * Html 解码. + */ + public static String unescapeHtml(String htmlEscaped) { + return StringEscapeUtils.unescapeHtml4(htmlEscaped); + } + + /** + * Xml 转码. + */ + public static String escapeXml(String xml) { + return StringEscapeUtils.escapeXml10(xml); + } + + /** + * Xml 解码. + */ + public static String unescapeXml(String xmlEscaped) { + return StringEscapeUtils.unescapeXml(xmlEscaped); + } + + /** + * URL 编码, Encode默认为UTF-8. + */ + public static String urlEncode(String part) { + try { + return URLEncoder.encode(part, DEFAULT_URL_ENCODING); + } catch (UnsupportedEncodingException e) { + throw Exceptions.unchecked(e); + } + } + + /** + * URL 解码, Encode默认为UTF-8. + */ + public static String urlDecode(String part) { + + try { + return URLDecoder.decode(part, DEFAULT_URL_ENCODING); + } catch (UnsupportedEncodingException e) { + throw Exceptions.unchecked(e); + } + } + + public static String md5(String str) { + return digest("MD5", str + SALT); + } + + public static String sha1(CharSequence cs) { + return digest("SHA1", cs); + } + + public static String digest(String algorithm, CharSequence cs) { + return digest(algorithm, StringUtils.getBytesUTF8(null == cs ? "" : cs), null, 1); + } + + public static String digest(String algorithm, byte[] bytes, byte[] salt, int iterations) { + try { + MessageDigest md = MessageDigest.getInstance(algorithm); + if (salt != null) { + md.update(salt); + } + byte[] hashBytes = md.digest(bytes); + for (int i = 1; i < iterations; i++) { + md.reset(); + hashBytes = md.digest(hashBytes); + } + return fixedHexString(hashBytes); + } catch (NoSuchAlgorithmException e) { + throw Exceptions.unchecked(e); + } + } + + public static String fixedHexString(byte[] hashBytes) { + StringBuffer sb = new StringBuffer(); + for (int i = 0; i < hashBytes.length; i++) { + sb.append(Integer.toString((hashBytes[i] & 0xFF) + 256, 16).substring(1)); + } + + return sb.toString(); + } + + public static String md5(String str, boolean isShort) { + if (isShort) { + return md5(str).substring(8, 24); + } + return md5(str); + } +} diff --git a/demo-common/demo-common-utils/src/main/java/com/yxt/demo/common/utils/allutils/Exceptions.java b/demo-common/demo-common-utils/src/main/java/com/yxt/demo/common/utils/allutils/Exceptions.java new file mode 100644 index 0000000..574cc3d --- /dev/null +++ b/demo-common/demo-common-utils/src/main/java/com/yxt/demo/common/utils/allutils/Exceptions.java @@ -0,0 +1,74 @@ +package com.yxt.demo.common.utils.allutils; + +import javax.servlet.http.HttpServletRequest; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.lang.reflect.InvocationTargetException; + +/** + * 关于异常的工具类. + * + * @author dimengzhe + * @date 2020/9/11 13:44 + * @description + */ + +public class Exceptions { + + /** + * 将CheckedException转换为UncheckedException. + */ + public static RuntimeException unchecked(Throwable e) { + if ((e instanceof RuntimeException)) { + return (RuntimeException) e; + } + if ((e instanceof InvocationTargetException)) { + return unchecked(((InvocationTargetException) e).getTargetException()); + } + return new RuntimeException(e); + } + + /** + * 将ErrorStack转化为String. + */ + public static String getStackTraceAsString(Throwable e) { + if (e == null) { + return ""; + } + StringWriter stringWriter = new StringWriter(); + e.printStackTrace(new PrintWriter(stringWriter)); + return stringWriter.toString(); + } + + /** + * 判断异常是否由某些底层的异常引起. + */ + public static boolean isCausedBy(Exception ex, Class... causeExceptionClasses) { + Throwable cause = ex.getCause(); + while (cause != null) { + for (Class causeClass : causeExceptionClasses) { + if (causeClass.isInstance(cause)) { + return true; + } + } + cause = cause.getCause(); + } + return false; + } + + /** + * 在request中获取异常类 + * + * @param request + * @return + */ + public static Throwable getThrowable(HttpServletRequest request) { + Throwable ex = null; + if (request.getAttribute("exception") != null) { + ex = (Throwable) request.getAttribute("exception"); + } else if (request.getAttribute("javax.servlet.error.exception") != null) { + ex = (Throwable) request.getAttribute("javax.servlet.error.exception"); + } + return ex; + } +} diff --git a/demo-common/demo-common-utils/src/main/java/com/yxt/demo/common/utils/allutils/StringUtils.java b/demo-common/demo-common-utils/src/main/java/com/yxt/demo/common/utils/allutils/StringUtils.java new file mode 100644 index 0000000..6eb00ba --- /dev/null +++ b/demo-common/demo-common-utils/src/main/java/com/yxt/demo/common/utils/allutils/StringUtils.java @@ -0,0 +1,395 @@ +package com.yxt.demo.common.utils.allutils; + +import org.apache.commons.lang3.StringEscapeUtils; + +import javax.servlet.http.HttpServletRequest; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * @author dimengzhe + * @date 2020/9/18 9:35 + * @description + */ + +public class StringUtils extends org.apache.commons.lang3.StringUtils { + + private static final char SEPARATOR = '_'; + private static final String CHARSET_NAME = "UTF-8"; + + public static boolean isNull(Object obj) { + return obj == null; + } + + public static boolean isNotNull(Object obj) { + return !isNull(obj); + } + + /** + * 转换为字节数组 + * + * @param str 字符串 + * @return + */ + public static byte[] getBytes(String str) { + if (str != null) { + try { + return str.getBytes(CHARSET_NAME); + } catch (UnsupportedEncodingException e) { + return null; + } + } else { + return null; + } + } + + /** + * 转换为字节数组 + * + * @param bytes + * @return + */ + public static String toString(byte[] bytes) { + try { + return new String(bytes, CHARSET_NAME); + } catch (UnsupportedEncodingException e) { + return EMPTY; + } + } + + /** + * 是否包含字符串 + * + * @param str 验证字符串 + * @param strs 字符串组 + * @return 包含返回true + */ + public static boolean inString(String str, String... strs) { + if (str != null) { + for (String s : strs) { + if (str.equals(trim(s))) { + return true; + } + } + } + return false; + } + + /** + * 替换掉HTML标签方法 + */ + public static String replaceHtml(String html) { + if (isBlank(html)) { + return ""; + } + String regEx = "<.+?>"; + Pattern p = Pattern.compile(regEx); + Matcher m = p.matcher(html); + String s = m.replaceAll(""); + return s; + } + + /** + * 替换为手机识别的HTML,去掉样式及属性,保留回车。 + * + * @param html + * @return + */ + public static String replaceMobileHtml(String html) { + if (html == null) { + return ""; + } + return html.replaceAll("<([a-z]+?)\\s+?.*?>", "<$1>"); + } + + /** + * 替换为手机识别的HTML,去掉样式及属性,保留回车。 + * + * @param txt + * @return + */ + public static String toHtml(String txt) { + if (txt == null) { + return ""; + } + return replace(replace(Encodes.escapeHtml(txt), "\n", "
"), "\t", "    "); + } + + /** + * 缩略字符串(不区分中英文字符) + * + * @param str 目标字符串 + * @param length 截取长度 + * @return + */ + public static String abbr(String str, int length) { + if (str == null) { + return ""; + } + try { + StringBuilder sb = new StringBuilder(); + int currentLength = 0; + for (char c : replaceHtml(StringEscapeUtils.unescapeHtml4(str)).toCharArray()) { + currentLength += String.valueOf(c).getBytes("GBK").length; + if (currentLength <= length - 3) { + sb.append(c); + } else { + sb.append("..."); + break; + } + } + return sb.toString(); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + return ""; + } + + public static String abbr2(String param, int length) { + if (param == null) { + return ""; + } + StringBuffer result = new StringBuffer(); + int n = 0; + char temp; + boolean isCode = false; // 是不是HTML代码 + boolean isHTML = false; // 是不是HTML特殊字符,如  + for (int i = 0; i < param.length(); i++) { + temp = param.charAt(i); + if (temp == '<') { + isCode = true; + } else if (temp == '&') { + isHTML = true; + } else if (temp == '>' && isCode) { + n = n - 1; + isCode = false; + } else if (temp == ';' && isHTML) { + isHTML = false; + } + try { + if (!isCode && !isHTML) { + n += String.valueOf(temp).getBytes("GBK").length; + } + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + + if (n <= length - 3) { + result.append(temp); + } else { + result.append("..."); + break; + } + } + // 取出截取字符串中的HTML标记 + String temp_result = result.toString().replaceAll("(>)[^<>]*(]*/?>", + ""); + // 去掉成对的HTML标记 + temp_result = temp_result.replaceAll("<([a-zA-Z]+)[^<>]*>(.*?)", "$2"); + // 用正则表达式取出标记 + Pattern p = Pattern.compile("<([a-zA-Z]+)[^<>]*>"); + Matcher m = p.matcher(temp_result); + List endHTML = new ArrayList(); + while (m.find()) { + endHTML.add(m.group(1)); + } + // 补全不成对的HTML标记 + for (int i = endHTML.size() - 1; i >= 0; i--) { + result.append(""); + } + return result.toString(); + } + + /** + * 转换为Double类型 + */ + public static Double toDouble(Object val) { + if (val == null) { + return 0D; + } + try { + return Double.valueOf(trim(val.toString())); + } catch (Exception e) { + return 0D; + } + } + + /** + * 转换为Float类型 + */ + public static Float toFloat(Object val) { + return toDouble(val).floatValue(); + } + + /** + * 转换为Long类型 + */ + public static Long toLong(Object val) { + return toDouble(val).longValue(); + } + + /** + * 转换为Integer类型 + */ + public static Integer toInteger(Object val) { + return toLong(val).intValue(); + } + + /** + * 转换为BigDecimal类型 + */ + public static BigDecimal toBigDecimal(String val) { + if (StringUtils.isBlank(val)) { + return null; + } + BigDecimal bd = new BigDecimal(val); + return bd; + } + + /** + * 获得用户远程地址 + */ + public static String getRemoteAddr(HttpServletRequest request) { + String remoteAddr = request.getHeader("X-Real-IP"); + if (isNotBlank(remoteAddr)) { + remoteAddr = request.getHeader("X-Forwarded-For"); + } else if (isNotBlank(remoteAddr)) { + remoteAddr = request.getHeader("Proxy-Client-IP"); + } else if (isNotBlank(remoteAddr)) { + remoteAddr = request.getHeader("WL-Proxy-Client-IP"); + } + return remoteAddr != null ? remoteAddr : request.getRemoteAddr(); + } + + /** + * 驼峰命名法工具 + * + * @return toCamelCase(" hello_world ") == "helloWorld" + * toCapitalizeCamelCase("hello_world") == "HelloWorld" + * toUnderScoreCase("helloWorld") = "hello_world" + */ + public static String toCamelCase(String s) { + if (s == null) { + return null; + } + + s = s.toLowerCase(); + + StringBuilder sb = new StringBuilder(s.length()); + boolean upperCase = false; + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + + if (c == SEPARATOR) { + upperCase = true; + } else if (upperCase) { + sb.append(Character.toUpperCase(c)); + upperCase = false; + } else { + sb.append(c); + } + } + + return sb.toString(); + } + + /** + * 驼峰命名法工具 + * + * @return toCamelCase(" hello_world ") == "helloWorld" + * toCapitalizeCamelCase("hello_world") == "HelloWorld" + * toUnderScoreCase("helloWorld") = "hello_world" + */ + public static String toCapitalizeCamelCase(String s) { + if (s == null) { + return null; + } + s = toCamelCase(s); + return s.substring(0, 1).toUpperCase() + s.substring(1); + } + + /** + * 驼峰命名法工具 + * + * @return toCamelCase(" hello_world ") == "helloWorld" + * toCapitalizeCamelCase("hello_world") == "HelloWorld" + * toUnderScoreCase("helloWorld") = "hello_world" + */ + public static String toUnderScoreCase(String s) { + if (s == null) { + return null; + } + + StringBuilder sb = new StringBuilder(); + boolean upperCase = false; + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + + boolean nextUpperCase = true; + + if (i < (s.length() - 1)) { + nextUpperCase = Character.isUpperCase(s.charAt(i + 1)); + } + + if ((i > 0) && Character.isUpperCase(c)) { + if (!upperCase || !nextUpperCase) { + sb.append(SEPARATOR); + } + upperCase = true; + } else { + upperCase = false; + } + + sb.append(Character.toLowerCase(c)); + } + + return sb.toString(); + } + + /** + * 如果不为空,则设置值 + * + * @param target + * @param source + */ + public static void setValueIfNotBlank(String target, String source) { + if (isNotBlank(source)) { + target = source; + } + } + + /** + * 转换为JS获取对象值,生成三目运算返回结果 + * + * @param objectString 对象串 例如:row.user.id + * 返回:!row?'':!row.user?'':!row.user.id?'':row.user.id + */ + public static String jsGetVal(String objectString) { + StringBuilder result = new StringBuilder(); + StringBuilder val = new StringBuilder(); + String[] vals = split(objectString, "."); + for (int i = 0; i < vals.length; i++) { + val.append("." + vals[i]); + result.append("!" + (val.substring(1)) + "?'':"); + } + result.append(val.substring(1)); + return result.toString(); + } + + public static byte[] getBytesUTF8(CharSequence cs) { + try { + return cs.toString().getBytes("UTF-8"); + } catch (UnsupportedEncodingException e) { + throw Exceptions.unchecked(e); + } + } +} diff --git a/demo-common/demo-common-utils/src/main/java/com/yxt/demo/common/utils/jwt/JWTUtil.java b/demo-common/demo-common-utils/src/main/java/com/yxt/demo/common/utils/jwt/JWTUtil.java new file mode 100644 index 0000000..f3c7a89 --- /dev/null +++ b/demo-common/demo-common-utils/src/main/java/com/yxt/demo/common/utils/jwt/JWTUtil.java @@ -0,0 +1,52 @@ +package com.yxt.demo.common.utils.jwt; + +import com.auth0.jwt.JWT; +import com.auth0.jwt.algorithms.Algorithm; +import com.auth0.jwt.interfaces.DecodedJWT; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; + +import java.util.Date; + +@Data +@Slf4j +public class JWTUtil { + + private static final String TOKEN_SECRET = "yXtJLzxh2bGciO5iJIUzI1NiJ9"; + private static final String ISS = "WBK"; + private static final String USERNO = "userNo"; + private static final Long TIME = 24 * 3600 * 1000L; // 1天 + + //创建Token + public static String create(String userNo) { + try { + return JWT + .create() + .withIssuer(ISS) + .withClaim(USERNO, userNo) + .withExpiresAt(new Date(System.currentTimeMillis() + TIME)) + .sign(Algorithm.HMAC256(TOKEN_SECRET)); + } catch (Exception e) { + log.error("JWT生成失败", e); + return e.getMessage(); + } + } + + //解析Token + public static DecodedJWT verify(String token) throws Exception { + return JWT + .require(Algorithm.HMAC256(TOKEN_SECRET)) + .withIssuer(ISS) + .build() + .verify(token); + } + + //根据解析生成的Token返回userNo + public static Long getUserNo(DecodedJWT decodedJWT) { + return Long.parseLong(decodedJWT.getClaim(USERNO).asString()); + } + + public static String getUserSid(DecodedJWT decodedJWT) { + return decodedJWT.getClaim(USERNO).asString(); + } +} diff --git a/demo-gateway/src/main/resources/application.yml b/demo-gateway/src/main/resources/application.yml index 26cf53e..0f1b521 100644 --- a/demo-gateway/src/main/resources/application.yml +++ b/demo-gateway/src/main/resources/application.yml @@ -7,7 +7,7 @@ hystrix: thread: timeoutInMilliseconds: 300000 server: - port: 8111 + port: 9111 spring: application: name: gateway-server diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommon.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommon.java index 524e8c9..544fcd1 100644 --- a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommon.java +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommon.java @@ -20,4 +20,6 @@ public class DictCommon extends BaseEntity { private String dictKey; @ApiModelProperty("value") private String dictValue; + @ApiModelProperty("父级sid") + private String parentSid; } diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonDto.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonDto.java new file mode 100644 index 0000000..a3ecca4 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonDto.java @@ -0,0 +1,34 @@ +package com.yxt.demo.system.api.dict_common; + +import com.yxt.demo.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2023/4/24 15:34 + * @Description + */ +@Data +public class DictCommonDto implements Dto { + + private String sid; + + @ApiModelProperty(value = "数据项值", required = true) + @NotBlank(message = "数据项值不能为空") + private String dictKey; + + @ApiModelProperty(value = "数据类型", required = true) + @NotBlank(message = "数据类型不能为空") + private String dictType; + + @ApiModelProperty(value = "数据项相对应的value值", required = true) + @NotBlank(message = "数据项相对应的value值不能为空") + private String dictValue; + + @ApiModelProperty(value = "数据项的父级sid", required = true) + @NotBlank(message = "数据项的父级sid不能为空") + private String parentSid; +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonFeign.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonFeign.java new file mode 100644 index 0000000..d7314b7 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonFeign.java @@ -0,0 +1,45 @@ +package com.yxt.demo.system.api.dict_common; + +import com.yxt.demo.common.core.query.PagerQuery; +import com.yxt.demo.common.core.result.ResultBean; +import com.yxt.demo.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:16 + * @Description + */ +@Api(tags = "数据字典数据项") +@FeignClient( + contextId = "demo-system-DictCommon", + name = "demo-system", + path = "v1/DictCommon", + fallback = DictCommonFeignFallback.class) +public interface DictCommonFeign { + + @PostMapping(value = "/save") + @ApiOperation(value = "数据字典数据项保存") + ResultBean save(@Valid @RequestBody DictCommonDto dictCommonDto); + + @DeleteMapping("/delete/{sid}") + @ApiOperation(value = "删除") + ResultBean delete(@ApiParam(value = "数据项sid", required = true) @PathVariable("sid") String sid); + + @PostMapping("/pageList") + @ApiOperation(value = "数据字典数据项分页列表") + ResultBean> pageList(@RequestBody PagerQuery pagerQuery); + + @GetMapping("/typeValues") + @ApiOperation("下拉框的获取") + ResultBean> getTypeValues(@RequestParam("type") String type, @RequestParam(value = "psid", defaultValue = "0") String psid); + + +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonFeignFallback.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonFeignFallback.java new file mode 100644 index 0000000..6b37934 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonFeignFallback.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.api.dict_common; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:46 + * @Description + */ +public class DictCommonFeignFallback { +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonQuery.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonQuery.java new file mode 100644 index 0000000..cbc37e9 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonQuery.java @@ -0,0 +1,24 @@ +package com.yxt.demo.system.api.dict_common; + +import com.yxt.demo.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2023/4/24 16:20 + * @Description + */ +@Data +public class DictCommonQuery implements Query { + private static final long serialVersionUID = 6235063340152975098L; + + @ApiModelProperty(value = "数据字典条目key", required = false) + private String dictKey; + + @ApiModelProperty(value = "数据字典文本", required = false) + private String dictValue; + + @ApiModelProperty(value = "dictType") + private String dictType; +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonTypeQuery.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonTypeQuery.java new file mode 100644 index 0000000..e79bea7 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonTypeQuery.java @@ -0,0 +1,21 @@ +package com.yxt.demo.system.api.dict_common; + +import com.yxt.demo.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author dimengzhe + * @date 2021/9/30 15:33 + * @description 下拉框条件 + */ +@Data +public class DictCommonTypeQuery implements Query { + private static final long serialVersionUID = 139959085226402464L; + + @ApiModelProperty(value = "数据字典类型", required = true) + private String type; + + @ApiModelProperty(value = "psid", required = false, example = "0") + private String psid; +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonVo.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonVo.java new file mode 100644 index 0000000..cc1b092 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_common/DictCommonVo.java @@ -0,0 +1,29 @@ +package com.yxt.demo.system.api.dict_common; + +import com.yxt.demo.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2023/4/24 16:19 + * @Description + */ +@Data +public class DictCommonVo implements Vo { + + private static final long serialVersionUID = 5516430679944504663L; + @ApiModelProperty(value = "数据字典项key") + private String dictKey; + + @ApiModelProperty(value = "数据字典类型") + private String dictType; + + @ApiModelProperty(value = "数据字典项名称") + private String dictValue; + @ApiModelProperty(value = "父级sid:0为第一级") + private String parentSid; + + private String sid; + +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictType.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictType.java index 2b93d1d..015e235 100644 --- a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictType.java +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictType.java @@ -17,8 +17,4 @@ public class DictType extends BaseEntity { private String dictTypeCode; @ApiModelProperty("类型名称") private String dictTypeName; - @ApiModelProperty("级别") - private String dictTypeLevel; - @ApiModelProperty("名称") - private String name; } diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeDto.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeDto.java new file mode 100644 index 0000000..70837a7 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeDto.java @@ -0,0 +1,30 @@ +package com.yxt.demo.system.api.dict_type; + +import com.yxt.demo.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2023/4/24 16:48 + * @Description + */ +@Data +public class DictTypeDto implements Dto { + private static final long serialVersionUID = -7638091202643596231L; + + @ApiModelProperty(value = "类型代码", required = true) + @NotBlank(message = "类型代码不能为空") + private String dictTypeCode; + + @ApiModelProperty(value = "类型名称", required = true) + @NotBlank(message = "类型名称不能为空") + private String dictTypeName; + + @ApiModelProperty(value = "类型说明", required = false) + private String remarks; + + private String sid; +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeFeign.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeFeign.java new file mode 100644 index 0000000..e271a1c --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeFeign.java @@ -0,0 +1,40 @@ +package com.yxt.demo.system.api.dict_type; + +import com.yxt.demo.common.core.query.PagerQuery; +import com.yxt.demo.common.core.result.ResultBean; +import com.yxt.demo.common.core.vo.PagerVo; +import com.yxt.demo.system.api.dict_common.DictCommonFeignFallback; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:21 + * @Description + */ +@Api(tags = "数据字典数据项") +@FeignClient( + contextId = "demo-system-DictType", + name = "demo-system", + path = "v1/DictType", + fallback = DictTypeFeignFallback.class) +public interface DictTypeFeign { + + @PostMapping(value = "/save") + @ResponseBody + @ApiOperation(value = "数据字典类型保存") + ResultBean save(@Valid @RequestBody DictTypeDto dictTypeDto); + + @PostMapping("/pageList") + @ApiOperation(value = "数据字典类型分页列表") + ResultBean> pageList(@RequestBody PagerQuery pagerQuery); + + @DeleteMapping("/delete/{sid}") + @ApiOperation(value = "数据字典类型删除") + ResultBean delete(@ApiParam(value = "sid", required = true) @PathVariable("sid") String sid); +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeFeignFallback.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeFeignFallback.java new file mode 100644 index 0000000..6602aa8 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeFeignFallback.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.api.dict_type; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:47 + * @Description + */ +public class DictTypeFeignFallback { +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeQuery.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeQuery.java new file mode 100644 index 0000000..c70386e --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeQuery.java @@ -0,0 +1,23 @@ +package com.yxt.demo.system.api.dict_type; + +import com.yxt.demo.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2023/4/24 17:15 + * @Description + */ +@Data +public class DictTypeQuery implements Query { + + @ApiModelProperty(value = "数据字典code", required = false) + private String dictTypeCode; + + @ApiModelProperty(value = "数据分类名称", required = false) + private String dictTypeName; + + @ApiModelProperty(value = "说明", required = false) + private String remarks; +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeVo.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeVo.java new file mode 100644 index 0000000..90a14dd --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/dict_type/DictTypeVo.java @@ -0,0 +1,27 @@ +package com.yxt.demo.system.api.dict_type; + +import com.yxt.demo.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2023/4/24 17:16 + * @Description + */ +@Data +public class DictTypeVo implements Vo { + private static final long serialVersionUID = -3404457483419237424L; + + @ApiModelProperty(value = "数据类型sid") + private String sid; + + @ApiModelProperty(value = "类型代码") + private String dictTypeCode; + + @ApiModelProperty(value = "类型名称") + private String dictTypeName; + + @ApiModelProperty(value = "说明") + private String remarks; +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_forum/SysForumFeign.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_forum/SysForumFeign.java new file mode 100644 index 0000000..a7f1516 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_forum/SysForumFeign.java @@ -0,0 +1,21 @@ +package com.yxt.demo.system.api.sys_forum; + +import com.yxt.demo.system.api.dict_type.DictTypeFeignFallback; +import io.swagger.annotations.Api; +import org.springframework.cloud.openfeign.FeignClient; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:21 + * @Description + */ +@Api(tags = "论坛") +@FeignClient( + contextId = "demo-system-SysForum", + name = "demo-system", + path = "v1/sysforum", + fallback = SysForumFeignFallback.class) +public interface SysForumFeign { + + +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_forum/SysForumFeignFallback.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_forum/SysForumFeignFallback.java new file mode 100644 index 0000000..27855f4 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_forum/SysForumFeignFallback.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.api.sys_forum; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:47 + * @Description + */ +public class SysForumFeignFallback { +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_forum_comment/SysForumCommentFeign.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_forum_comment/SysForumCommentFeign.java new file mode 100644 index 0000000..b53ec83 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_forum_comment/SysForumCommentFeign.java @@ -0,0 +1,19 @@ +package com.yxt.demo.system.api.sys_forum_comment; + +import com.yxt.demo.system.api.sys_forum.SysForumFeignFallback; +import io.swagger.annotations.Api; +import org.springframework.cloud.openfeign.FeignClient; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:22 + * @Description + */ +@Api(tags = "论坛评论") +@FeignClient( + contextId = "demo-system-SysForumComment", + name = "demo-system", + path = "v1/SysForumComment", + fallback = SysForumCommentFeignFallback.class) +public interface SysForumCommentFeign { +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_forum_comment/SysForumCommentFeignFallback.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_forum_comment/SysForumCommentFeignFallback.java new file mode 100644 index 0000000..f7f0ca6 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_forum_comment/SysForumCommentFeignFallback.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.api.sys_forum_comment; + +/** + * @Author dimengzhe + * @Date 2023/4/24 15:25 + * @Description + */ +public class SysForumCommentFeignFallback { +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_info/SysInfoFeign.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_info/SysInfoFeign.java new file mode 100644 index 0000000..c3cbbc1 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_info/SysInfoFeign.java @@ -0,0 +1,19 @@ +package com.yxt.demo.system.api.sys_info; + +import com.yxt.demo.system.api.sys_user.SysUserFeignFallback; +import io.swagger.annotations.Api; +import org.springframework.cloud.openfeign.FeignClient; + +/** + * @Author dimengzhe + * @Date 2023/4/24 11:50 + * @Description + */ +@Api(tags = "基础信息") +@FeignClient( + contextId = "demo-system-SysInfo", + name = "demo-system", + path = "v1/sysinfo", + fallback = SysInfoFeignFallback.class) +public interface SysInfoFeign { +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_info/SysInfoFeignFallback.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_info/SysInfoFeignFallback.java new file mode 100644 index 0000000..ffe02da --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_info/SysInfoFeignFallback.java @@ -0,0 +1,12 @@ +package com.yxt.demo.system.api.sys_info; + +import org.springframework.stereotype.Component; + +/** + * @Author dimengzhe + * @Date 2023/4/24 11:53 + * @Description + */ +@Component +public class SysInfoFeignFallback { +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuFeign.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuFeign.java new file mode 100644 index 0000000..34a538a --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuFeign.java @@ -0,0 +1,19 @@ +package com.yxt.demo.system.api.sys_menu; + +import com.yxt.demo.system.api.sys_info.SysInfoFeignFallback; +import io.swagger.annotations.Api; +import org.springframework.cloud.openfeign.FeignClient; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:08 + * @Description + */ +@Api(tags = "菜单表") +@FeignClient( + contextId = "demo-system-SysMenu", + name = "demo-system", + path = "v1/sysmenu", + fallback = SysMenuFeignFallback.class) +public interface SysMenuFeign { +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuFeignFallback.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuFeignFallback.java new file mode 100644 index 0000000..9ba57e9 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_menu/SysMenuFeignFallback.java @@ -0,0 +1,12 @@ +package com.yxt.demo.system.api.sys_menu; + +import org.springframework.stereotype.Component; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:09 + * @Description + */ +@Component +public class SysMenuFeignFallback { +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_notice/SysNoticeFeign.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_notice/SysNoticeFeign.java new file mode 100644 index 0000000..72beb7f --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_notice/SysNoticeFeign.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.api.sys_notice; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:23 + * @Description + */ +public interface SysNoticeFeign { +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_plan/SysPlanFeign.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_plan/SysPlanFeign.java new file mode 100644 index 0000000..e657883 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_plan/SysPlanFeign.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.api.sys_plan; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:24 + * @Description + */ +public interface SysPlanFeign { +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_plan_schedule/SysPlanScheduleFeign.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_plan_schedule/SysPlanScheduleFeign.java new file mode 100644 index 0000000..180e273 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_plan_schedule/SysPlanScheduleFeign.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.api.sys_plan_schedule; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:25 + * @Description + */ +public interface SysPlanScheduleFeign { +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_resources/SysResourcesFeign.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_resources/SysResourcesFeign.java new file mode 100644 index 0000000..1b16345 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_resources/SysResourcesFeign.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.api.sys_resources; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:26 + * @Description + */ +public interface SysResourcesFeign { +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_role/SysRoleFeign.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_role/SysRoleFeign.java new file mode 100644 index 0000000..3a6dd55 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_role/SysRoleFeign.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.api.sys_role; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:27 + * @Description + */ +public interface SysRoleFeign { +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_score/SysScoreFeign.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_score/SysScoreFeign.java new file mode 100644 index 0000000..334aa0e --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_score/SysScoreFeign.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.api.sys_score; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:28 + * @Description + */ +public interface SysScoreFeign { +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_student_score/SysStudentScore.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_student_score/SysStudentScore.java index 9d66f26..6614b70 100644 --- a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_student_score/SysStudentScore.java +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_student_score/SysStudentScore.java @@ -1,6 +1,7 @@ package com.yxt.demo.system.api.sys_student_score; import com.yxt.demo.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -12,21 +13,22 @@ import lombok.Data; public class SysStudentScore extends BaseEntity { private static final long serialVersionUID = -3123378722999542918L; + @ApiModelProperty("类别") private String type; private String typeKey; - + @ApiModelProperty("学号") private String studentNo; - + @ApiModelProperty("四级") private String fourScore; - + @ApiModelProperty("六级") private String sixScore; - + @ApiModelProperty("计算机成绩") private String computerScore; - + @ApiModelProperty("是否就业:1是,0否") private int employment; - + @ApiModelProperty("是否升学") private int enterSchool; - + @ApiModelProperty("是否考公通过") private int kaoGong; } diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_student_score/SysStudentScoreFeign.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_student_score/SysStudentScoreFeign.java new file mode 100644 index 0000000..1b54b2b --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_student_score/SysStudentScoreFeign.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.api.sys_student_score; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:29 + * @Description + */ +public interface SysStudentScoreFeign { +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUser.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUser.java index f729b65..5c102e3 100644 --- a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUser.java +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUser.java @@ -1,6 +1,7 @@ package com.yxt.demo.system.api.sys_user; import com.yxt.demo.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -11,15 +12,18 @@ import lombok.Data; @Data public class SysUser extends BaseEntity { private static final long serialVersionUID = -4151693504419808527L; - + @ApiModelProperty("用户名工号") private String userName; - + @ApiModelProperty("姓名") + private String name; + @ApiModelProperty("昵称") private String nickName; - + @ApiModelProperty("密码") private String password; - + @ApiModelProperty("基础信息sid") private String infoSid; - + @ApiModelProperty("类型:0学生、1教师、2管理员") private int type; + @ApiModelProperty("是否已激活:0未激活,1已激活") private int hasActivated; } diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUserDto.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUserDto.java new file mode 100644 index 0000000..4c43438 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUserDto.java @@ -0,0 +1,35 @@ +package com.yxt.demo.system.api.sys_user; + +import com.yxt.demo.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2023/4/24 11:28 + * @Description + */ +@Data +public class SysUserDto implements Dto { + private static final long serialVersionUID = 2068661415449582838L; + + @ApiModelProperty("学号") + @NotBlank(message = "学号不能为空") + private String userName; + @ApiModelProperty("姓名") + @NotBlank(message = "姓名不能为空") + private String name; + @ApiModelProperty("密码") + @NotBlank(message = "密码不能为空") + private String password; + @ApiModelProperty("确认密码") + @NotBlank(message = "确认密码不能为空") + private String confirmPassword; + @ApiModelProperty("手机号") + @NotBlank(message = "手机号不能为空") + private String mobile; + + +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUserFeign.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUserFeign.java new file mode 100644 index 0000000..453e4a2 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUserFeign.java @@ -0,0 +1,34 @@ +package com.yxt.demo.system.api.sys_user; + +import com.yxt.demo.common.core.result.ResultBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @Author dimengzhe + * @Date 2023/4/24 11:26 + * @Description + */ +@Api(tags = "用户表") +@FeignClient( + contextId = "demo-system-SysUser", + name = "demo-system", + path = "v1/sysuser", + fallback = SysUserFeignFallback.class) +public interface SysUserFeign { + + @ApiOperation(value = "学生注册") + @PostMapping("/register") + ResultBean register(@RequestBody SysUserDto dto); + + + @ApiOperation(value = "登录") + @PostMapping("/login") + ResultBean login(@RequestBody SysUserLoginQuery query); + + +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUserFeignFallback.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUserFeignFallback.java new file mode 100644 index 0000000..24c684b --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUserFeignFallback.java @@ -0,0 +1,12 @@ +package com.yxt.demo.system.api.sys_user; + +import org.springframework.stereotype.Component; + +/** + * @Author dimengzhe + * @Date 2023/4/24 11:28 + * @Description + */ +@Component +public class SysUserFeignFallback { +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUserLoginQuery.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUserLoginQuery.java new file mode 100644 index 0000000..cbe0ec7 --- /dev/null +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user/SysUserLoginQuery.java @@ -0,0 +1,20 @@ +package com.yxt.demo.system.api.sys_user; + +import com.yxt.demo.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2023/4/24 13:36 + * @Description + */ +@Data +public class SysUserLoginQuery implements Query { + private static final long serialVersionUID = 4963834204184842445L; + + @ApiModelProperty("工号") + private String userName; + @ApiModelProperty("密码") + private String password; +} diff --git a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user_role/SysUserRole.java b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user_role/SysUserRole.java index 51e2a6a..65795d7 100644 --- a/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user_role/SysUserRole.java +++ b/demo-system/demo-system-api/src/main/java/com/yxt/demo/system/api/sys_user_role/SysUserRole.java @@ -1,6 +1,7 @@ package com.yxt.demo.system.api.sys_user_role; import com.yxt.demo.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -11,8 +12,8 @@ import lombok.Data; @Data public class SysUserRole extends BaseEntity { private static final long serialVersionUID = 1275775509946006356L; - + @ApiModelProperty("用户sid") private String userSid; - + @ApiModelProperty("角色sid") private String roleSid; } diff --git a/demo-system/demo-system-biz/pom.xml b/demo-system/demo-system-biz/pom.xml index ba7bc9f..74732a2 100644 --- a/demo-system/demo-system-biz/pom.xml +++ b/demo-system/demo-system-biz/pom.xml @@ -43,6 +43,11 @@ demo-common-jdbc 0.0.1 + + com.yxt.demo + demo-common-utils + 0.0.1 + diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_common/DictCommonMapper.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_common/DictCommonMapper.java new file mode 100644 index 0000000..77a055b --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_common/DictCommonMapper.java @@ -0,0 +1,28 @@ +package com.yxt.demo.system.biz.dict_common; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.demo.system.api.dict_common.DictCommon; +import com.yxt.demo.system.api.dict_common.DictCommonVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:17 + * @Description + */ +@Mapper +public interface DictCommonMapper extends BaseMapper { + DictCommon selectSize(@Param("dictKey") String dictKey, @Param("dictType") String dictType, @Param("parentSid") String parentSid); + + IPage listPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List getValue(@Param(Constants.WRAPPER) QueryWrapper qw); + + List selectByType(String dictTypeCode); +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_common/DictCommonMapper.xml b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_common/DictCommonMapper.xml new file mode 100644 index 0000000..d4a22e5 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_common/DictCommonMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_common/DictCommonRest.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_common/DictCommonRest.java new file mode 100644 index 0000000..a4b4c86 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_common/DictCommonRest.java @@ -0,0 +1,58 @@ +package com.yxt.demo.system.biz.dict_common; + +import com.yxt.demo.common.core.query.PagerQuery; +import com.yxt.demo.common.core.result.ResultBean; +import com.yxt.demo.common.core.vo.PagerVo; +import com.yxt.demo.system.api.dict_common.*; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Collections; +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:16 + * @Description + */ +@Api(tags = "数据字典数据项") +@RestController +@RequestMapping("v1/DictCommon") +public class DictCommonRest implements DictCommonFeign { + + @Autowired + private DictCommonService dictCommonService; + + @Override + public ResultBean save(DictCommonDto dictCommonDto) { + return dictCommonService.saveOrUpdates(dictCommonDto); + } + + @Override + public ResultBean delete(String sid) { + return dictCommonService.delete(sid); + } + + @Override + public ResultBean> pageList(PagerQuery pagerQuery) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = dictCommonService.listPageVo(pagerQuery); + return rb.success().setData(pv); + } + + @Override + public ResultBean> getTypeValues(String type, String psid) { + ResultBean> rb = ResultBean.fireFail(); + DictCommonTypeQuery query = new DictCommonTypeQuery(); + query.setType(type); + query.setPsid(psid); + List dictCommonVoList = dictCommonService.getValue(query); + dictCommonVoList.removeAll(Collections.singleton(null)); + if (dictCommonVoList.isEmpty()) { + return rb.setMsg("该类型无数据项"); + } + return rb.success().setData(dictCommonVoList); + } +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_common/DictCommonService.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_common/DictCommonService.java new file mode 100644 index 0000000..3c7f02b --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_common/DictCommonService.java @@ -0,0 +1,114 @@ +package com.yxt.demo.system.biz.dict_common; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.demo.common.core.query.PagerQuery; +import com.yxt.demo.common.core.result.ResultBean; +import com.yxt.demo.common.core.vo.PagerVo; +import com.yxt.demo.common.jdbc.service.MybatisBaseService; +import com.yxt.demo.common.jdbc.service.PagerUtil; +import com.yxt.demo.common.utils.convert.StringUtil; +import com.yxt.demo.system.api.dict_common.*; +import com.yxt.demo.system.api.sys_user.SysUser; +import com.yxt.demo.system.biz.dict_type.DictTypeService; +import com.yxt.demo.system.biz.sys_user.SysUserMapper; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:17 + * @Description + */ +@Service +public class DictCommonService extends MybatisBaseService { + + @Autowired + private DictTypeService dictTypeService; + + public ResultBean saveOrUpdates(DictCommonDto dictCommonDto) { + ResultBean rb = ResultBean.fireFail(); + //数据类型 + String dictType = dictCommonDto.getDictType(); + //数据项值 + String dictKey = dictCommonDto.getDictKey(); + //父级sid + String parentSid = dictCommonDto.getParentSid(); + if (StringUtils.isBlank(dictCommonDto.getSid())) { + int size = dictTypeService.selectSize(dictType); + if (size > 0) { + //根据数据类型和数据项值查询是否已存在 + DictCommon dc = baseMapper.selectSize(dictKey, dictType, parentSid); + if (dc != null) { + return rb.setMsg(dictType + "此类型的数据项已存在"); + } + //新增 + DictCommon dictCommon = new DictCommon(); + BeanUtil.copyProperties(dictCommonDto, dictCommon, "sid"); + baseMapper.insert(dictCommon); + } else { + return rb.setMsg("数据字典类型不存在"); + } + } else { + int size = dictTypeService.selectSize(dictType); + if (size > 0) { + //根据数据类型和数据项值查询是否已存在 + DictCommon dictCommon = fetchBySid(dictCommonDto.getSid()); + if (dictCommon == null) { + return rb.setMsg(dictType + "此类型的数据项不存在"); + } else { + if (!dictCommonDto.getSid().equals(dictCommon.getSid())) { + return rb.setMsg(dictType + "此类型的数据项已存在"); + } + } + BeanUtil.copyProperties(dictCommonDto, dictCommon, "sid"); + baseMapper.updateById(dictCommon); + } else { + return rb.setMsg("数据字典类型不存在"); + } + } + return rb.success(); + } + + public ResultBean delete(String sid) { + ResultBean rb = ResultBean.fireFail(); + DictCommon dictCommon = fetchBySid(sid); + if (dictCommon == null) { + return rb.setMsg("该数据项不存在"); + } + deleteBySid(sid); + return rb.success(); + } + + public PagerVo listPageVo(PagerQuery pagerQuery) { + IPage page = PagerUtil.queryToPage(pagerQuery); + DictCommonQuery params = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (params != null) { + + } + IPage pagging = baseMapper.listPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List getValue(DictCommonTypeQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getType())) {//类型 + qw.eq("dc.dictType", query.getType()); + } + if (StringUtils.isNotBlank(query.getPsid())) {//父级sid + qw.eq("dc.parentSid", query.getPsid()); + } + return baseMapper.getValue(qw); + } + + public List selectByType(String dictTypeCode) { + return baseMapper.selectByType(dictTypeCode); + } +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_type/DictTypeMapper.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_type/DictTypeMapper.java new file mode 100644 index 0000000..24b0bd2 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_type/DictTypeMapper.java @@ -0,0 +1,29 @@ +package com.yxt.demo.system.biz.dict_type; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.demo.system.api.dict_common.DictCommon; +import com.yxt.demo.system.api.dict_type.DictType; +import com.yxt.demo.system.api.dict_type.DictTypeVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:20 + * @Description + */ +@Mapper +public interface DictTypeMapper extends BaseMapper { + /** + * 查询该类型代码存在的数量 + * + * @param dictType 类型代码 + * @return + */ + int selectSize(String dictType); + + IPage listPageVo(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw); +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_type/DictTypeMapper.xml b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_type/DictTypeMapper.xml new file mode 100644 index 0000000..f07766c --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_type/DictTypeMapper.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_type/DictTypeRest.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_type/DictTypeRest.java new file mode 100644 index 0000000..f74b123 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_type/DictTypeRest.java @@ -0,0 +1,61 @@ +package com.yxt.demo.system.biz.dict_type; + +import com.yxt.demo.common.core.query.PagerQuery; +import com.yxt.demo.common.core.result.ResultBean; +import com.yxt.demo.common.core.vo.PagerVo; +import com.yxt.demo.system.api.dict_common.DictCommon; +import com.yxt.demo.system.api.dict_common.DictCommonVo; +import com.yxt.demo.system.api.dict_type.*; +import com.yxt.demo.system.biz.dict_common.DictCommonService; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:20 + * @Description + */ +@Api(tags = "数据字典数据类型") +@RestController +@RequestMapping("v1/DictType") +public class DictTypeRest implements DictTypeFeign { + + @Autowired + private DictTypeService dictTypeService; + @Autowired + private DictCommonService dictCommonService; + + @Override + public ResultBean save(DictTypeDto dictTypeDto) { + return dictTypeService.saveOrUpdates(dictTypeDto); + } + + @Override + public ResultBean> pageList(PagerQuery pagerQuery) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = dictTypeService.listPageVo(pagerQuery); + return rb.success().setData(pv); + } + + @Override + public ResultBean delete(String sid) { + ResultBean rb = ResultBean.fireFail(); + DictType dictType = dictTypeService.fetchBySid(sid); + if (null == dictType) { + return rb.setMsg("该数据字典类型不存在"); + } + //查询该类型下是否存在数据项 + List dictCommon = dictCommonService.selectByType(dictType.getDictTypeCode()); + if (dictCommon.size() > 0) { + return rb.setMsg("该数据字典类型下存在数据项,请先删除该类下的数据项"); + } + if (0 == dictTypeService.deleteBySid(sid)) { + return rb.setMsg("删除失败"); + } + return rb.setMsg("删除成功"); + } +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_type/DictTypeService.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_type/DictTypeService.java new file mode 100644 index 0000000..fdc5440 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/dict_type/DictTypeService.java @@ -0,0 +1,76 @@ +package com.yxt.demo.system.biz.dict_type; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.demo.common.core.query.PagerQuery; +import com.yxt.demo.common.core.result.ResultBean; +import com.yxt.demo.common.core.vo.PagerVo; +import com.yxt.demo.common.jdbc.service.MybatisBaseService; +import com.yxt.demo.common.jdbc.service.PagerUtil; +import com.yxt.demo.system.api.dict_common.DictCommon; +import com.yxt.demo.system.api.dict_common.DictCommonQuery; +import com.yxt.demo.system.api.dict_common.DictCommonVo; +import com.yxt.demo.system.api.dict_type.DictType; +import com.yxt.demo.system.api.dict_type.DictTypeDto; +import com.yxt.demo.system.api.dict_type.DictTypeQuery; +import com.yxt.demo.system.api.dict_type.DictTypeVo; +import org.apache.commons.lang.StringUtils; +import org.springframework.stereotype.Service; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:20 + * @Description + */ +@Service +public class DictTypeService extends MybatisBaseService { + /** + * 查询该类型代码存在的数量 + * + * @param dictType 类型代码 + * @return + */ + public int selectSize(String dictType) { + return baseMapper.selectSize(dictType); + } + + public ResultBean saveOrUpdates(DictTypeDto dictTypeDto) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(dictTypeDto.getSid())) { + //判断数据字典类型是否已存在 + String dictTypeCode = dictTypeDto.getDictTypeCode(); + int size = baseMapper.selectSize(dictTypeCode); + if (size > 0) { + return rb.setMsg("数据类型代码已存在"); + } + DictType dictType = new DictType(); + BeanUtil.copyProperties(dictTypeDto, dictType, "sid"); + baseMapper.insert(dictType); + } else { + DictType dictType = fetchBySid(dictTypeDto.getSid()); + if (dictType == null) { + return rb.setMsg("数据类型不存在"); + } + if (!dictTypeDto.getDictTypeCode().equals(dictType.getDictTypeCode())) { + return rb.setMsg("数据字典类型的code值不允许修改"); + } + BeanUtil.copyProperties(dictTypeDto, dictType, "sid"); + baseMapper.updateById(dictType); + + } + return rb.success(); + } + + public PagerVo listPageVo(PagerQuery pagerQuery) { + IPage page = PagerUtil.queryToPage(pagerQuery); + DictTypeQuery params = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (params != null) { + + } + IPage pagging = baseMapper.listPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum/SysForumMapper.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum/SysForumMapper.java new file mode 100644 index 0000000..29a892c --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum/SysForumMapper.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_forum; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:21 + * @Description + */ +public interface SysForumMapper { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum/SysForumMapper.xml b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum/SysForumMapper.xml new file mode 100644 index 0000000..f38bfce --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum/SysForumMapper.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum/SysForumRest.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum/SysForumRest.java new file mode 100644 index 0000000..0e0a7b2 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum/SysForumRest.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_forum; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:21 + * @Description + */ +public class SysForumRest { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum/SysForumService.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum/SysForumService.java new file mode 100644 index 0000000..91ab117 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum/SysForumService.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_forum; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:21 + * @Description + */ +public class SysForumService { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum_comment/SysForumCommentMapper.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum_comment/SysForumCommentMapper.java new file mode 100644 index 0000000..accb37d --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum_comment/SysForumCommentMapper.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_forum_comment; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:22 + * @Description + */ +public interface SysForumCommentMapper { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum_comment/SysForumCommentMapper.xml b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum_comment/SysForumCommentMapper.xml new file mode 100644 index 0000000..abcdbfc --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum_comment/SysForumCommentMapper.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum_comment/SysForumCommentRest.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum_comment/SysForumCommentRest.java new file mode 100644 index 0000000..7e6839f --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum_comment/SysForumCommentRest.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_forum_comment; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:22 + * @Description + */ +public class SysForumCommentRest { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum_comment/SysForumCommentService.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum_comment/SysForumCommentService.java new file mode 100644 index 0000000..9dce01c --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_forum_comment/SysForumCommentService.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_forum_comment; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:22 + * @Description + */ +public class SysForumCommentService { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info/SysInfoMapper.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info/SysInfoMapper.java new file mode 100644 index 0000000..00c77ed --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info/SysInfoMapper.java @@ -0,0 +1,17 @@ +package com.yxt.demo.system.biz.sys_info; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.demo.system.api.sys_info.SysInfo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @Author dimengzhe + * @Date 2023/4/24 11:51 + * @Description + */ +@Mapper +public interface SysInfoMapper extends BaseMapper { + + SysInfo selectByNoAndName(@Param("userName") String userName, @Param("name") String name); +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info/SysInfoMapper.xml b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info/SysInfoMapper.xml new file mode 100644 index 0000000..157dd2d --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info/SysInfoMapper.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info/SysInfoRest.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info/SysInfoRest.java new file mode 100644 index 0000000..87b0eab --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info/SysInfoRest.java @@ -0,0 +1,16 @@ +package com.yxt.demo.system.biz.sys_info; + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Author dimengzhe + * @Date 2023/4/24 11:51 + * @Description + */ +@Api(tags = "基础信息表") +@RestController +@RequestMapping("v1/sysinfo") +public class SysInfoRest { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info/SysInfoService.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info/SysInfoService.java new file mode 100644 index 0000000..e2849c5 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info/SysInfoService.java @@ -0,0 +1,18 @@ +package com.yxt.demo.system.biz.sys_info; + +import com.yxt.demo.common.jdbc.service.MybatisBaseService; +import com.yxt.demo.system.api.sys_info.SysInfo; +import org.springframework.stereotype.Service; + +/** + * @Author dimengzhe + * @Date 2023/4/24 11:51 + * @Description + */ +@Service +public class SysInfoService extends MybatisBaseService { + + public SysInfo selectByNoAndName(String userName, String name) { + return baseMapper.selectByNoAndName(userName, name); + } +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info_ship/SysInfoShipMapper.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info_ship/SysInfoShipMapper.java new file mode 100644 index 0000000..af02fc2 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info_ship/SysInfoShipMapper.java @@ -0,0 +1,12 @@ +package com.yxt.demo.system.biz.sys_info_ship; + +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:15 + * @Description + */ +@Mapper +public interface SysInfoShipMapper { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info_ship/SysInfoShipMapper.xml b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info_ship/SysInfoShipMapper.xml new file mode 100644 index 0000000..8ff360d --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info_ship/SysInfoShipMapper.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info_ship/SysInfoShipService.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info_ship/SysInfoShipService.java new file mode 100644 index 0000000..9d2c44d --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_info_ship/SysInfoShipService.java @@ -0,0 +1,12 @@ +package com.yxt.demo.system.biz.sys_info_ship; + +import org.springframework.stereotype.Service; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:15 + * @Description + */ +@Service +public class SysInfoShipService { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuMapper.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuMapper.java new file mode 100644 index 0000000..49b7edc --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuMapper.java @@ -0,0 +1,15 @@ +package com.yxt.demo.system.biz.sys_menu; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.demo.system.api.sys_info.SysInfo; +import com.yxt.demo.system.api.sys_menu.SysMenu; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:09 + * @Description + */ +@Mapper +public interface SysMenuMapper extends BaseMapper { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuMapper.xml b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuMapper.xml new file mode 100644 index 0000000..fdd7318 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuMapper.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuRest.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuRest.java new file mode 100644 index 0000000..18f06d3 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuRest.java @@ -0,0 +1,16 @@ +package com.yxt.demo.system.biz.sys_menu; + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:09 + * @Description + */ +@Api(tags = "菜单") +@RestController +@RequestMapping("v1/sysmenu") +public class SysMenuRest { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuService.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuService.java new file mode 100644 index 0000000..af90233 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu/SysMenuService.java @@ -0,0 +1,16 @@ +package com.yxt.demo.system.biz.sys_menu; + +import com.yxt.demo.common.jdbc.service.MybatisBaseService; +import com.yxt.demo.system.api.sys_info.SysInfo; +import com.yxt.demo.system.api.sys_menu.SysMenu; +import com.yxt.demo.system.biz.sys_info.SysInfoMapper; +import org.springframework.stereotype.Service; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:09 + * @Description + */ +@Service +public class SysMenuService extends MybatisBaseService { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu_role/SysMenuRoleMapper.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu_role/SysMenuRoleMapper.java new file mode 100644 index 0000000..4f887c3 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu_role/SysMenuRoleMapper.java @@ -0,0 +1,12 @@ +package com.yxt.demo.system.biz.sys_menu_role; + +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:12 + * @Description + */ +@Mapper +public interface SysMenuRoleMapper { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu_role/SysMenuRoleMapper.xml b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu_role/SysMenuRoleMapper.xml new file mode 100644 index 0000000..6ae423f --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu_role/SysMenuRoleMapper.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu_role/SysMenuRoleService.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu_role/SysMenuRoleService.java new file mode 100644 index 0000000..8d74b80 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_menu_role/SysMenuRoleService.java @@ -0,0 +1,12 @@ +package com.yxt.demo.system.biz.sys_menu_role; + +import org.springframework.stereotype.Service; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:12 + * @Description + */ +@Service +public class SysMenuRoleService { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_notice/SysNoticeMapper.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_notice/SysNoticeMapper.java new file mode 100644 index 0000000..6fe6fc8 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_notice/SysNoticeMapper.java @@ -0,0 +1,12 @@ +package com.yxt.demo.system.biz.sys_notice; + +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:14 + * @Description + */ +@Mapper +public interface SysNoticeMapper { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_notice/SysNoticeMapper.xml b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_notice/SysNoticeMapper.xml new file mode 100644 index 0000000..a408d62 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_notice/SysNoticeMapper.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_notice/SysNoticeRest.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_notice/SysNoticeRest.java new file mode 100644 index 0000000..2a10230 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_notice/SysNoticeRest.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_notice; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:23 + * @Description + */ +public class SysNoticeRest { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_notice/SysNoticeService.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_notice/SysNoticeService.java new file mode 100644 index 0000000..228b15a --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_notice/SysNoticeService.java @@ -0,0 +1,12 @@ +package com.yxt.demo.system.biz.sys_notice; + +import org.springframework.stereotype.Service; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:13 + * @Description + */ +@Service +public class SysNoticeService { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan/SysPlanMapper.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan/SysPlanMapper.java new file mode 100644 index 0000000..427792d --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan/SysPlanMapper.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_plan; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:24 + * @Description + */ +public interface SysPlanMapper { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan/SysPlanMapper.xml b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan/SysPlanMapper.xml new file mode 100644 index 0000000..f38bfce --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan/SysPlanMapper.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan/SysPlanRest.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan/SysPlanRest.java new file mode 100644 index 0000000..413f3b5 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan/SysPlanRest.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_plan; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:24 + * @Description + */ +public class SysPlanRest { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan/SysPlanService.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan/SysPlanService.java new file mode 100644 index 0000000..a1dd611 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan/SysPlanService.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_plan; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:24 + * @Description + */ +public class SysPlanService { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan_schedule/SysPlanScheduleMapper.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan_schedule/SysPlanScheduleMapper.java new file mode 100644 index 0000000..2c738a4 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan_schedule/SysPlanScheduleMapper.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_plan_schedule; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:25 + * @Description + */ +public interface SysPlanScheduleMapper { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan_schedule/SysPlanScheduleMapper.xml b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan_schedule/SysPlanScheduleMapper.xml new file mode 100644 index 0000000..c20c158 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan_schedule/SysPlanScheduleMapper.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan_schedule/SysPlanScheduleRest.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan_schedule/SysPlanScheduleRest.java new file mode 100644 index 0000000..bd6766f --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan_schedule/SysPlanScheduleRest.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_plan_schedule; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:25 + * @Description + */ +public class SysPlanScheduleRest { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan_schedule/SysPlanScheduleService.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan_schedule/SysPlanScheduleService.java new file mode 100644 index 0000000..b638c7d --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_plan_schedule/SysPlanScheduleService.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_plan_schedule; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:25 + * @Description + */ +public class SysPlanScheduleService { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_resources/SysResourcesMapper.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_resources/SysResourcesMapper.java new file mode 100644 index 0000000..a50d707 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_resources/SysResourcesMapper.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_resources; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:26 + * @Description + */ +public interface SysResourcesMapper { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_resources/SysResourcesMapper.xml b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_resources/SysResourcesMapper.xml new file mode 100644 index 0000000..9013903 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_resources/SysResourcesMapper.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_resources/SysResourcesRest.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_resources/SysResourcesRest.java new file mode 100644 index 0000000..6818cff --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_resources/SysResourcesRest.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_resources; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:26 + * @Description + */ +public class SysResourcesRest { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_resources/SysResourcesService.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_resources/SysResourcesService.java new file mode 100644 index 0000000..786a7a4 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_resources/SysResourcesService.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_resources; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:26 + * @Description + */ +public class SysResourcesService { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_role/SysRoleMapper.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_role/SysRoleMapper.java new file mode 100644 index 0000000..2fe9a14 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_role/SysRoleMapper.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_role; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:27 + * @Description + */ +public interface SysRoleMapper { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_role/SysRoleMapper.xml b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_role/SysRoleMapper.xml new file mode 100644 index 0000000..6c1ece7 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_role/SysRoleMapper.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_role/SysRoleRest.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_role/SysRoleRest.java new file mode 100644 index 0000000..f982653 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_role/SysRoleRest.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_role; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:27 + * @Description + */ +public class SysRoleRest { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_role/SysRoleService.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_role/SysRoleService.java new file mode 100644 index 0000000..26474c3 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_role/SysRoleService.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_role; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:27 + * @Description + */ +public class SysRoleService { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_score/SysScoreMapper.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_score/SysScoreMapper.java new file mode 100644 index 0000000..d59dd69 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_score/SysScoreMapper.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_score; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:28 + * @Description + */ +public interface SysScoreMapper { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_score/SysScoreMapper.xml b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_score/SysScoreMapper.xml new file mode 100644 index 0000000..8743fb1 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_score/SysScoreMapper.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_score/SysScoreRest.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_score/SysScoreRest.java new file mode 100644 index 0000000..2a20d49 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_score/SysScoreRest.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_score; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:28 + * @Description + */ +public class SysScoreRest { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_score/SysScoreService.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_score/SysScoreService.java new file mode 100644 index 0000000..56ee731 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_score/SysScoreService.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_score; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:28 + * @Description + */ +public class SysScoreService { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_student_score/SysStudentScoreMapper.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_student_score/SysStudentScoreMapper.java new file mode 100644 index 0000000..3dd69aa --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_student_score/SysStudentScoreMapper.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_student_score; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:31 + * @Description + */ +public interface SysStudentScoreMapper { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_student_score/SysStudentScoreMapper.xml b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_student_score/SysStudentScoreMapper.xml new file mode 100644 index 0000000..467347c --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_student_score/SysStudentScoreMapper.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_student_score/SysStudentScoreRest.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_student_score/SysStudentScoreRest.java new file mode 100644 index 0000000..ec4dab2 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_student_score/SysStudentScoreRest.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_student_score; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:29 + * @Description + */ +public class SysStudentScoreRest { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_student_score/SysStudentScoreService.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_student_score/SysStudentScoreService.java new file mode 100644 index 0000000..f855ab9 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_student_score/SysStudentScoreService.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_student_score; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:31 + * @Description + */ +public class SysStudentScoreService { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserMapper.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserMapper.java new file mode 100644 index 0000000..9136ace --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserMapper.java @@ -0,0 +1,15 @@ +package com.yxt.demo.system.biz.sys_user; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.demo.system.api.sys_user.SysUser; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Author dimengzhe + * @Date 2023/4/24 11:40 + * @Description + */ +@Mapper +public interface SysUserMapper extends BaseMapper { + SysUser selectByNo(String userName); +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserMapper.xml b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserMapper.xml new file mode 100644 index 0000000..5605f7d --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserMapper.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserRest.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserRest.java new file mode 100644 index 0000000..f4f5f77 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserRest.java @@ -0,0 +1,34 @@ +package com.yxt.demo.system.biz.sys_user; + +import com.yxt.demo.common.core.result.ResultBean; +import com.yxt.demo.system.api.sys_user.SysUserDto; +import com.yxt.demo.system.api.sys_user.SysUserFeign; +import com.yxt.demo.system.api.sys_user.SysUserLoginQuery; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Author dimengzhe + * @Date 2023/4/24 11:40 + * @Description + */ +@Api(tags = "用户表") +@RestController +@RequestMapping("v1/sysuser") +public class SysUserRest implements SysUserFeign { + + @Autowired + private SysUserService sysUserService; + + @Override + public ResultBean register(SysUserDto dto) { + return sysUserService.register(dto); + } + + @Override + public ResultBean login(SysUserLoginQuery query) { + return sysUserService.login(query); + } +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserService.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserService.java new file mode 100644 index 0000000..e17f212 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user/SysUserService.java @@ -0,0 +1,80 @@ +package com.yxt.demo.system.biz.sys_user; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.demo.common.core.result.ResultBean; +import com.yxt.demo.common.jdbc.service.MybatisBaseService; +import com.yxt.demo.common.redis.service.RedisService; +import com.yxt.demo.common.utils.allutils.Encodes; +import com.yxt.demo.common.utils.jwt.JWTUtil; +import com.yxt.demo.system.api.sys_info.SysInfo; +import com.yxt.demo.system.api.sys_user.SysUser; +import com.yxt.demo.system.api.sys_user.SysUserDto; +import com.yxt.demo.system.api.sys_user.SysUserLoginQuery; +import com.yxt.demo.system.biz.sys_info.SysInfoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Author dimengzhe + * @Date 2023/4/24 11:40 + * @Description + */ +@Service +public class SysUserService extends MybatisBaseService { + + public static final long USERS_REDIS_SESSION_TL_PC = 60; + @Autowired + private SysInfoService sysInfoService; + @Autowired + private RedisService redisService; + + public ResultBean register(SysUserDto dto) { + ResultBean rb = ResultBean.fireFail(); + //验证学号+姓名是否存在 + String userName = dto.getUserName(); + String name = dto.getName(); + SysInfo sysInfo = sysInfoService.selectByNoAndName(userName, name); + if (sysInfo == null) { + return rb.setMsg("学号或姓名错误"); + } + //查看该账号是否已激活 + SysUser sysUser = baseMapper.selectByNo(userName); + if (sysUser != null) { + if (sysUser.getHasActivated() == 1) { + return rb.setMsg("该账号已注册"); + } + } + sysUser = new SysUser(); + BeanUtil.copyProperties(dto, sysUser); + String md5Password = Encodes.md5(dto.getPassword()); + sysUser.setPassword(md5Password); + baseMapper.insert(sysUser); + sysInfo.setUserSid(sysUser.getSid()); + sysInfoService.updateById(sysInfo); + return rb.success(); + } + + public ResultBean login(SysUserLoginQuery query) { + ResultBean rb = ResultBean.fireFail(); + //验证输入的账号密码是否存在 + SysUser sysUser = baseMapper.selectByNo(query.getUserName()); + if (sysUser == null) { + return rb.setMsg("账号密码错误"); + } else { + String md5Password = Encodes.md5(query.getPassword()); + if (!query.getPassword().equals(md5Password)) { + return rb.setMsg("账号密码错误"); + } + //验证是否激活状态 + if (sysUser.getHasActivated() == 0) { + return rb.setMsg("该账号已失效"); + } + } + // 生成token + String uniqueToken = JWTUtil.create(sysUser.getSid() + ""); + // redis中缓存token + redisService.set(uniqueToken, sysUser.getUserName(), + USERS_REDIS_SESSION_TL_PC); + return rb.success().setData(sysUser); + } +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user_role/SysUserRoleMapper.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user_role/SysUserRoleMapper.java new file mode 100644 index 0000000..6011d46 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user_role/SysUserRoleMapper.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_user_role; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:31 + * @Description + */ +public interface SysUserRoleMapper { +} diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user_role/SysUserRoleMapper.xml b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user_role/SysUserRoleMapper.xml new file mode 100644 index 0000000..fceccd0 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user_role/SysUserRoleMapper.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user_role/SysUserRoleSerrvice.java b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user_role/SysUserRoleSerrvice.java new file mode 100644 index 0000000..3ec2532 --- /dev/null +++ b/demo-system/demo-system-biz/src/main/java/com/yxt/demo/system/biz/sys_user_role/SysUserRoleSerrvice.java @@ -0,0 +1,9 @@ +package com.yxt.demo.system.biz.sys_user_role; + +/** + * @Author dimengzhe + * @Date 2023/4/24 14:31 + * @Description + */ +public class SysUserRoleSerrvice { +} diff --git a/demo-system/demo-system-biz/src/main/resources/application.yml b/demo-system/demo-system-biz/src/main/resources/application.yml index dc9cd1c..35e4b78 100644 --- a/demo-system/demo-system-biz/src/main/resources/application.yml +++ b/demo-system/demo-system-biz/src/main/resources/application.yml @@ -2,7 +2,7 @@ spring: application: name: demo-system profiles: - active: devv + active: dev messages: # 国际化资源文件路径 basename: i18n/messages @@ -22,7 +22,7 @@ spring: server: - port: 7003 + port: 9112 max-http-header-size: 102400 tomcat: max-http-form-post-size: -1 diff --git a/doc/database/demo_system.sql b/doc/database/demo_system.sql index e533680..72c5c16 100644 --- a/doc/database/demo_system.sql +++ b/doc/database/demo_system.sql @@ -14,6 +14,7 @@ CREATE TABLE `sys_user` `createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid', `updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid', `userName` VARCHAR(200) DEFAULT NULL COMMENT '用户名(学号、工号)', + `name` VARCHAR(200) DEFAULT NULL COMMENT '姓名', `nickName` varchar(500) DEFAULT NULL COMMENT '昵称', `password` varchar(64) DEFAULT NULL COMMENT '密码', `infoSid` varchar(64) DEFAULT NULL COMMENT '基础信息sid', @@ -43,6 +44,7 @@ CREATE TABLE `sys_info` `userSid` VARCHAR(64) DEFAULT NULL COMMENT '用户sid', `infoId` varchar(500) DEFAULT NULL COMMENT '学号、工号', `name` varchar(64) DEFAULT NULL COMMENT '姓名', + `mobile` varchar(64) DEFAULT NULL COMMENT '手机号', `sex` varchar(64) DEFAULT NULL COMMENT '性别', `sexKey` varchar(64) DEFAULT NULL COMMENT '性别key', `studyYear` varchar(200) DEFAULT NULL COMMENT '入学年份', @@ -182,21 +184,19 @@ CREATE TABLE `dict_common` DROP TABLE IF EXISTS `dict_type`; CREATE TABLE `dict_type` ( - `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id', - `sid` varchar(50) NOT NULL COMMENT 'sid', - `lockVersion` int(11) NOT NULL DEFAULT '0' COMMENT '记录版本,锁', - `isEnable` int(11) NOT NULL DEFAULT '0' COMMENT '记录是否可用,0:可用,1:不可用', - `isDelete` int(11) NOT NULL DEFAULT '0' COMMENT '记录是否被删除,0:未删除,1:已经删除', - `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间', - `modifyTime` timestamp NULL DEFAULT NULL COMMENT '记录修改时间', - `state` int(11) NOT NULL DEFAULT '0' COMMENT '状态值', - `remarks` varchar(1024) DEFAULT NULL COMMENT '备注', - `createBySid` varchar(36) DEFAULT NULL COMMENT '创建者', - `updateBySid` varchar(36) DEFAULT NULL COMMENT '更新者', - `dictTypeCode` varchar(36) NOT NULL COMMENT '类型代码', - `dictTypeName` varchar(50) NOT NULL COMMENT '类型名称', - `dictTypeLevel` varchar(50) DEFAULT NULL COMMENT '级别', - `name` varchar(200) DEFAULT NULL COMMENT '名称', + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id', + `sid` varchar(50) NOT NULL COMMENT 'sid', + `lockVersion` int(11) NOT NULL DEFAULT '0' COMMENT '记录版本,锁', + `isEnable` int(11) NOT NULL DEFAULT '0' COMMENT '记录是否可用,0:可用,1:不可用', + `isDelete` int(11) NOT NULL DEFAULT '0' COMMENT '记录是否被删除,0:未删除,1:已经删除', + `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间', + `modifyTime` timestamp NULL DEFAULT NULL COMMENT '记录修改时间', + `state` int(11) NOT NULL DEFAULT '0' COMMENT '状态值', + `remarks` varchar(1024) DEFAULT NULL COMMENT '备注', + `createBySid` varchar(36) DEFAULT NULL COMMENT '创建者', + `updateBySid` varchar(36) DEFAULT NULL COMMENT '更新者', + `dictTypeCode` varchar(36) NOT NULL COMMENT '类型代码', + `dictTypeName` varchar(50) NOT NULL COMMENT '类型名称', PRIMARY KEY (`id`), KEY `id` (`id`) ) ENGINE = INNODB diff --git a/pom.xml b/pom.xml index 626d6bf..bffa7a0 100644 --- a/pom.xml +++ b/pom.xml @@ -46,6 +46,12 @@ 3.4.0 1.4.2 + + 2.5 + 1.14 + + 3.10.1 + @@ -157,6 +163,24 @@ ${seata.version} + + + commons-io + commons-io + ${commons.io.version} + + + commons-codec + commons-codec + ${commons-codec.version} + + + + + com.auth0 + java-jwt + ${java-jwt.version} +