From f6b0410fda09b68989acce8eef0acd89a5c4c975 Mon Sep 17 00:00:00 2001 From: tangweijie <877588133@qq.com> Date: Fri, 16 Jan 2026 20:13:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(prison):=20=E6=96=B0=E5=A2=9E=E8=AF=84?= =?UTF-8?q?=E4=BC=B0=E6=8A=A5=E5=91=8A=E7=AD=89=E6=A8=A1=E5=9D=97=EF=BC=8C?= =?UTF-8?q?=E9=9B=86=E6=88=90=E9=97=AE=E5=8D=B7=E4=B8=8E=E5=8D=B1=E9=99=A9?= =?UTF-8?q?=E8=AF=84=E4=BC=B0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 核心变更: 1. 新增模块 - 评估报告模块 (evaluationreport): 报告生成与编辑 - 快捷评语模块 (quickcomment): 常用评语管理 - 报告模板模块 (reporttemplate): 报告模板配置 - 预警模块 (warning): 风险预警功能 - 风险模块 (risk): 风险分析功能 - 情况模块 (situation): 服刑情况跟踪 2. 功能增强 - 危险评估模块完善: 支持多种评估方法 - 问卷模块重构: 调查问卷整合到答题记录 - 罪犯模块: 新增Workbench工作台页面 - 计分考核: 新增计分规则管理 3. 枚举与配置 - 新增评估相关枚举: AssessmentType, EvaluationCycle等 - 统一风险等级枚举 - 更新字典数据类型常量 4. 数据库 - 新增 evaluation_report.sql - 新增 report_module.sql - 新增 prison_situation_warning_risk.sql Co-Authored-By: Claude --- sql/prison_dict_data.sql | 17 +- yudao-module-prison/pom.xml | 15 + .../admin/area/PrisonAreaController.java | 41 +- .../controller/admin/area/vo/AreaRespVO.java | 3 +- .../admin/cell/PrisonCellController.java | 14 + .../controller/admin/cell/vo/CellRespVO.java | 2 + .../PrisonConsumptionController.java | 22 +- .../consumption/vo/ConsumptionPageReqVO.java | 9 + .../consumption/vo/ConsumptionRespVO.java | 26 ++ .../admin/dashboard/vo/ProvinceChartVO.java | 4 +- .../EvaluationReportController.java | 387 ++++++++++++++++++ .../vo/EvaluationDimensionDataPageReqVO.java | 29 ++ .../vo/EvaluationDimensionDataRespVO.java | 78 ++++ .../vo/EvaluationDimensionDataSaveReqVO.java | 62 +++ .../vo/EvaluationDimensionPageReqVO.java | 39 ++ .../vo/EvaluationDimensionRespVO.java | 79 ++++ .../vo/EvaluationDimensionSaveReqVO.java | 69 ++++ .../vo/EvaluationReportAuditReqVO.java | 22 + .../vo/EvaluationReportPageReqVO.java | 55 +++ .../vo/EvaluationReportRespVO.java | 134 ++++++ .../vo/EvaluationReportSaveReqVO.java | 94 +++++ .../vo/EvaluationTemplatePageReqVO.java | 38 ++ .../vo/EvaluationTemplateRespVO.java | 69 ++++ .../vo/EvaluationTemplateSaveReqVO.java | 57 +++ .../vo/ReportCommentPageReqVO.java | 35 ++ .../vo/ReportCommentRespVO.java | 63 +++ .../vo/ReportCommentSaveReqVO.java | 46 +++ .../admin/prisoner/PrisonerController.java | 73 +--- .../admin/prisoner/vo/PrisonerPageReqVO.java | 2 +- .../admin/prisoner/vo/PrisonerRespVO.java | 13 +- .../admin/prisoner/vo/PrisonerSaveReqVO.java | 2 +- .../question/PrisonQuestionController.java | 15 +- .../admin/question/vo/QuestionRespVO.java | 2 + .../PrisonQuestionnaireController.java | 12 +- .../questionnaire/vo/QuestionnaireRespVO.java | 2 + .../PrisonQuestionnaireRecordController.java | 12 +- .../vo/QuestionnaireRecordRespVO.java | 11 + .../CommentCategoryController.java | 49 +++ .../quickcomment/QuickCommentController.java | 115 ++++++ .../vo/CommentCategoryPageReqVO.java | 32 ++ .../vo/CommentCategoryRespVO.java | 35 ++ .../vo/CommentCategorySaveReqVO.java | 30 ++ .../vo/QuickCommentPageReqVO.java | 32 ++ .../quickcomment/vo/QuickCommentRespVO.java | 43 ++ .../vo/QuickCommentSaveReqVO.java | 30 ++ .../admin/release/vo/ReleaseRespVO.java | 2 + .../admin/report/ReportController.java | 102 +++++ .../admin/report/vo/ReportConvert.java | 20 + .../admin/report/vo/ReportPageReqVO.java | 49 +++ .../admin/report/vo/ReportRespVO.java | 126 ++++++ .../admin/report/vo/ReportSaveReqVO.java | 66 +++ .../ReportTemplateController.java | 129 ++++++ .../vo/ReportTemplateConvert.java | 21 + .../vo/ReportTemplatePageReqVO.java | 35 ++ .../vo/ReportTemplateRespVO.java | 59 +++ .../vo/ReportTemplateSaveReqVO.java | 45 ++ .../controller/admin/risk/RiskController.java | 103 +++++ .../admin/risk/vo/RiskPageReqVO.java | 64 +++ .../controller/admin/risk/vo/RiskRespVO.java | 105 +++++ .../admin/risk/vo/RiskSaveReqVO.java | 79 ++++ .../RiskAssessmentController.java | 102 +++++ .../vo/RiskAssessmentPageReqVO.java | 3 + .../vo/RiskAssessmentRespVO.java | 8 + .../vo/RiskAssessmentSaveReqVO.java | 2 +- .../admin/score/PrisonScoreController.java | 13 +- .../admin/score/vo/ScorePageReqVO.java | 9 + .../admin/score/vo/ScoreRespVO.java | 25 ++ .../scorerecord/vo/ScoreDetailRespVO.java | 3 + .../admin/scorerule/ScoreRuleController.java | 21 +- .../admin/situation/SituationController.java | 112 +++++ .../situation/vo/SituationPageReqVO.java | 56 +++ .../admin/situation/vo/SituationRespVO.java | 84 ++++ .../situation/vo/SituationSaveReqVO.java | 68 +++ .../admin/warning/WarningController.java | 103 +++++ .../admin/warning/vo/WarningPageReqVO.java | 66 +++ .../admin/warning/vo/WarningRespVO.java | 123 ++++++ .../admin/warning/vo/WarningSaveReqVO.java | 92 +++++ .../EvaluationReportConvert.java | 55 +++ .../convert/prisoner/PrisonerConvert.java | 116 ++++-- .../convert/question/QuestionConvert.java | 29 ++ .../questionnaire/QuestionnaireConvert.java | 29 ++ .../QuestionnaireRecordConvert.java | 29 ++ .../prison/convert/risk/RiskConvert.java | 29 ++ .../riskassessment/RiskAssessmentConvert.java | 62 +++ .../convert/situation/SituationConvert.java | 29 ++ .../convert/warning/WarningConvert.java | 29 ++ .../prison/dal/dataobject/PrisonerDO.java | 2 +- .../dataobject/consumption/ConsumptionDO.java | 1 + .../consumption/ConsumptionDetailDO.java | 1 + .../EvaluationDimensionDO.java | 87 ++++ .../EvaluationDimensionDataDO.java | 87 ++++ .../evaluationreport/EvaluationReportDO.java | 147 +++++++ .../EvaluationTemplateDO.java | 80 ++++ .../evaluationreport/ReportCommentDO.java | 70 ++++ .../QuestionnaireRecordDO.java | 4 + .../quickcomment/CommentCategoryDO.java | 50 +++ .../quickcomment/QuickCommentDO.java | 55 +++ .../dal/dataobject/report/ReportDO.java | 166 ++++++++ .../reporttemplate/ReportTemplateDO.java | 80 ++++ .../prison/dal/dataobject/risk/RiskDO.java | 124 ++++++ .../dal/dataobject/situation/SituationDO.java | 101 +++++ .../dal/dataobject/warning/WarningDO.java | 141 +++++++ .../mysql/consumption/ConsumptionMapper.java | 91 ++++ .../dashboard/PrisonDashboardMapper.java | 6 + .../EvaluationDimensionDataMapper.java | 42 ++ .../EvaluationDimensionMapper.java | 40 ++ .../EvaluationReportMapper.java | 50 +++ .../EvaluationTemplateMapper.java | 32 ++ .../evaluationreport/ReportCommentMapper.java | 49 +++ .../quickcomment/CommentCategoryMapper.java | 27 ++ .../quickcomment/QuickCommentMapper.java | 109 +++++ .../prison/dal/mysql/report/ReportMapper.java | 229 +++++++++++ .../reporttemplate/ReportTemplateMapper.java | 29 ++ .../prison/dal/mysql/risk/RiskMapper.java | 38 ++ .../riskassessment/RiskAssessmentMapper.java | 90 ++++ .../prison/dal/mysql/score/ScoreMapper.java | 105 +++++ .../dal/mysql/situation/SituationMapper.java | 36 ++ .../dal/mysql/warning/WarningMapper.java | 39 ++ .../module/prison/enums/AreaTypeEnum.java | 12 +- .../module/prison/enums/AssessMethodEnum.java | 37 ++ .../prison/enums/AssessmentTypeEnum.java | 37 ++ .../prison/enums/DictTypeConstants.java | 20 + .../module/prison/enums/EducationEnum.java | 10 + .../prison/enums/ErrorCodeConstants.java | 20 + .../prison/enums/EvaluationAiStatusEnum.java | 36 ++ .../prison/enums/EvaluationCycleEnum.java | 38 ++ .../enums/EvaluationDimensionTypeEnum.java | 38 ++ .../prison/enums/EvaluationLevelEnum.java | 37 ++ .../enums/EvaluationReportStatusEnum.java | 36 ++ .../enums/EvaluationTemplateTypeEnum.java | 36 ++ .../yudao/module/prison/enums/GenderEnum.java | 1 + .../prison/enums/PrisonerStatusEnum.java | 1 + .../module/prison/enums/ReleaseTypeEnum.java | 10 + .../prison/enums/ReportCommentTypeEnum.java | 39 ++ .../module/prison/enums/RiskLevelEnum.java | 7 +- .../module/prison/enums/ScoreLevelEnum.java | 37 ++ .../prison/enums/ScoreRuleCategoryEnum.java | 55 +++ .../prison/enums/ScoreRuleStatusEnum.java | 51 +++ .../prison/enums/SupervisionLevelEnum.java | 1 + .../enums/questionnaire/RiskLevelEnum.java | 37 -- .../prison/service/cell/CellServiceImpl.java | 2 + .../consumption/ConsumptionService.java | 11 +- .../consumption/ConsumptionServiceImpl.java | 14 +- .../impl/PrisonDashboardServiceImpl.java | 88 ++-- .../EvaluationReportService.java | 217 ++++++++++ .../EvaluationReportServiceImpl.java | 386 +++++++++++++++++ .../service/impl/PrisonerServiceImpl.java | 26 +- .../service/question/QuestionServiceImpl.java | 7 +- .../QuestionnaireServiceImpl.java | 8 +- .../QuestionnaireRecordServiceImpl.java | 20 +- .../quickcomment/CommentCategoryService.java | 32 ++ .../quickcomment/QuickCommentService.java | 51 +++ .../impl/CommentCategoryServiceImpl.java | 160 ++++++++ .../impl/QuickCommentServiceImpl.java | 110 +++++ .../release/impl/ReleaseServiceImpl.java | 3 +- .../prison/service/report/ReportService.java | 61 +++ .../report/impl/ReportServiceImpl.java | 85 ++++ .../reporttemplate/ReportTemplateService.java | 85 ++++ .../impl/ReportTemplateServiceImpl.java | 142 +++++++ .../prison/service/risk/RiskService.java | 62 +++ .../service/risk/impl/RiskServiceImpl.java | 82 ++++ .../riskassessment/RiskAssessmentService.java | 4 +- .../RiskAssessmentServiceImpl.java | 90 +++- .../prison/service/score/ScoreService.java | 10 +- .../service/score/ScoreServiceImpl.java | 14 +- .../service/situation/SituationService.java | 62 +++ .../situation/impl/SituationServiceImpl.java | 82 ++++ .../service/warning/WarningService.java | 62 +++ .../warning/impl/WarningServiceImpl.java | 82 ++++ .../resources/mapper/ConsumptionMapper.xml | 25 ++ .../resources/mapper/RiskAssessmentMapper.xml | 28 ++ .../src/main/resources/mapper/ScoreMapper.xml | 29 ++ .../main/resources/sql/evaluation_report.sql | 244 +++++++++++ .../src/main/resources/sql/prison_module.sql | 263 +++++++++++- .../sql/prison_situation_warning_risk.sql | 264 ++++++++++++ .../src/main/resources/sql/report_module.sql | 261 ++++++++++++ .../PrisonConsumptionControllerTest.java | 230 ----------- .../consumption/ConsumptionServiceTest.java | 283 ------------- yudao-module-system/bin/pom.xml | 119 ++++++ .../module/system/api/dept/DeptApi.class | Bin 0 -> 2356 bytes .../module/system/api/dept/DeptApiImpl.class | Bin 0 -> 5076 bytes .../module/system/api/dept/PostApi.class | Bin 0 -> 2163 bytes .../module/system/api/dept/PostApiImpl.class | Bin 0 -> 3329 bytes .../system/api/dept/dto/DeptRespDTO.class | Bin 0 -> 7504 bytes .../system/api/dept/dto/PostRespDTO.class | Bin 0 -> 7465 bytes .../module/system/api/dict/DictDataApi.class | Bin 0 -> 1243 bytes .../system/api/dict/DictDataApiImpl.class | Bin 0 -> 3505 bytes .../system/api/logger/LoginLogApi.class | Bin 0 -> 1072 bytes .../system/api/logger/LoginLogApiImpl.class | Bin 0 -> 2157 bytes .../system/api/logger/OperateLogApi.class | Bin 0 -> 1376 bytes .../system/api/logger/OperateLogApiImpl.class | Bin 0 -> 3720 bytes .../api/logger/dto/LoginLogCreateReqDTO.class | Bin 0 -> 9164 bytes .../api/logger/dto/OperateLogPageReqDTO.class | Bin 0 -> 5941 bytes .../api/logger/dto/OperateLogRespDTO.class | Bin 0 -> 10150 bytes .../module/system/api/mail/MailSendApi.class | Bin 0 -> 1317 bytes .../system/api/mail/MailSendApiImpl.class | Bin 0 -> 2692 bytes .../mail/dto/MailSendSingleToUserReqDTO.class | Bin 0 -> 8951 bytes .../api/notify/NotifyMessageSendApi.class | Bin 0 -> 1355 bytes .../api/notify/NotifyMessageSendApiImpl.class | Bin 0 -> 2721 bytes .../dto/NotifySendSingleToUserReqDTO.class | Bin 0 -> 7126 bytes .../api/notify/dto/NotifyTemplateReqDTO.class | Bin 0 -> 8650 bytes .../api/oauth2/OAuth2TokenApiImpl.class | Bin 0 -> 5282 bytes .../module/system/api/package-info.class | Bin 0 -> 154 bytes .../system/api/permission/PermissionApi.class | Bin 0 -> 1313 bytes .../api/permission/PermissionApiImpl.class | Bin 0 -> 3887 bytes .../system/api/permission/RoleApi.class | Bin 0 -> 1008 bytes .../system/api/permission/RoleApiImpl.class | Bin 0 -> 2125 bytes .../module/system/api/sms/SmsCodeApi.class | Bin 0 -> 1501 bytes .../system/api/sms/SmsCodeApiImpl.class | Bin 0 -> 3314 bytes .../module/system/api/sms/SmsSendApi.class | Bin 0 -> 1306 bytes .../system/api/sms/SmsSendApiImpl.class | Bin 0 -> 2661 bytes .../api/sms/dto/code/SmsCodeSendReqDTO.class | Bin 0 -> 6381 bytes .../api/sms/dto/code/SmsCodeUseReqDTO.class | Bin 0 -> 7296 bytes .../sms/dto/code/SmsCodeValidateReqDTO.class | Bin 0 -> 6433 bytes .../dto/send/SmsSendSingleToUserReqDTO.class | Bin 0 -> 7912 bytes .../system/api/social/SocialClientApi.class | Bin 0 -> 2978 bytes .../api/social/SocialClientApiImpl.class | Bin 0 -> 10550 bytes .../system/api/social/SocialUserApi.class | Bin 0 -> 2042 bytes .../system/api/social/SocialUserApiImpl.class | Bin 0 -> 4797 bytes .../api/social/dto/SocialUserBindReqDTO.class | Bin 0 -> 8159 bytes .../api/social/dto/SocialUserRespDTO.class | Bin 0 -> 7500 bytes .../social/dto/SocialUserUnbindReqDTO.class | Bin 0 -> 7784 bytes .../dto/SocialWxJsapiSignatureRespDTO.class | Bin 0 -> 7939 bytes .../dto/SocialWxPhoneNumberInfoRespDTO.class | Bin 0 -> 6089 bytes .../api/social/dto/SocialWxQrcodeReqDTO.class | Bin 0 -> 8467 bytes ...alWxaOrderNotifyConfirmReceiveReqDTO.class | Bin 0 -> 5653 bytes ...cialWxaOrderUploadShippingInfoReqDTO.class | Bin 0 -> 9648 bytes .../SocialWxaSubscribeMessageSendReqDTO.class | Bin 0 -> 9036 bytes .../SocialWxaSubscribeTemplateRespDTO.class | Bin 0 -> 8026 bytes .../system/api/tenant/TenantApiImpl.class | Bin 0 -> 2645 bytes .../module/system/api/user/AdminUserApi.class | Bin 0 -> 3029 bytes .../system/api/user/AdminUserApiImpl.class | Bin 0 -> 8039 bytes .../api/user/dto/AdminUserRespDTO.class | Bin 0 -> 8719 bytes .../admin/auth/AuthController.class | Bin 0 -> 9817 bytes .../controller/admin/auth/AuthController.http | 51 +++ ...AuthLoginReqVO$AuthLoginReqVOBuilder.class | Bin 0 -> 7595 bytes .../admin/auth/vo/AuthLoginReqVO.class | Bin 0 -> 8149 bytes ...thLoginRespVO$AuthLoginRespVOBuilder.class | Bin 0 -> 7926 bytes .../admin/auth/vo/AuthLoginRespVO.class | Bin 0 -> 8075 bytes ...AuthMenuRespVO$AuthMenuRespVOBuilder.class | Bin 0 -> 8702 bytes .../admin/auth/vo/AuthMenuRespVO.class | Bin 0 -> 9458 bytes ...spVO$AuthPermissionInfoRespVOBuilder.class | Bin 0 -> 7941 bytes ...ssionInfoRespVO$MenuVO$MenuVOBuilder.class | Bin 0 -> 8097 bytes .../vo/AuthPermissionInfoRespVO$MenuVO.class | Bin 0 -> 9863 bytes ...ssionInfoRespVO$UserVO$UserVOBuilder.class | Bin 0 -> 7228 bytes .../vo/AuthPermissionInfoRespVO$UserVO.class | Bin 0 -> 7697 bytes .../auth/vo/AuthPermissionInfoRespVO.class | Bin 0 -> 9109 bytes .../admin/auth/vo/AuthRegisterReqVO.class | Bin 0 -> 6571 bytes ...dReqVO$AuthResetPasswordReqVOBuilder.class | Bin 0 -> 7427 bytes .../auth/vo/AuthResetPasswordReqVO.class | Bin 0 -> 7673 bytes ...sLoginReqVO$AuthSmsLoginReqVOBuilder.class | Bin 0 -> 7046 bytes .../admin/auth/vo/AuthSmsLoginReqVO.class | Bin 0 -> 7175 bytes ...SmsSendReqVO$AuthSmsSendReqVOBuilder.class | Bin 0 -> 6954 bytes .../admin/auth/vo/AuthSmsSendReqVO.class | Bin 0 -> 7263 bytes ...ginReqVO$AuthSocialLoginReqVOBuilder.class | Bin 0 -> 7522 bytes .../admin/auth/vo/AuthSocialLoginReqVO.class | Bin 0 -> 7717 bytes ...chaVerificationReqVO$CodeEnableGroup.class | Bin 0 -> 383 bytes .../auth/vo/CaptchaVerificationReqVO.class | Bin 0 -> 4463 bytes .../admin/captcha/CaptchaController.class | Bin 0 -> 4301 bytes .../admin/dept/DeptController.class | Bin 0 -> 9930 bytes .../admin/dept/PostController.class | Bin 0 -> 9783 bytes .../admin/dept/vo/dept/DeptListReqVO.class | Bin 0 -> 5081 bytes .../admin/dept/vo/dept/DeptRespVO.class | Bin 0 -> 8990 bytes .../admin/dept/vo/dept/DeptSaveReqVO.class | Bin 0 -> 8487 bytes .../admin/dept/vo/dept/DeptSimpleRespVO.class | Bin 0 -> 6989 bytes .../admin/dept/vo/post/PostPageReqVO.class | Bin 0 -> 8121 bytes .../admin/dept/vo/post/PostRespVO.class | Bin 0 -> 8469 bytes .../admin/dept/vo/post/PostSaveReqVO.class | Bin 0 -> 8271 bytes .../admin/dept/vo/post/PostSimpleRespVO.class | Bin 0 -> 5299 bytes .../admin/dict/DictDataController.class | Bin 0 -> 10137 bytes .../admin/dict/DictDataController.http | 4 + .../admin/dict/DictTypeController.class | Bin 0 -> 10259 bytes .../dict/vo/data/DictDataPageReqVO.class | Bin 0 -> 8604 bytes .../admin/dict/vo/data/DictDataRespVO.class | Bin 0 -> 8963 bytes .../dict/vo/data/DictDataSaveReqVO.class | Bin 0 -> 8715 bytes .../dict/vo/data/DictDataSimpleRespVO.class | Bin 0 -> 7777 bytes .../dict/vo/type/DictTypePageReqVO.class | Bin 0 -> 9261 bytes .../admin/dict/vo/type/DictTypeRespVO.class | Bin 0 -> 8478 bytes .../dict/vo/type/DictTypeSaveReqVO.class | Bin 0 -> 7971 bytes .../dict/vo/type/DictTypeSimpleRespVO.class | Bin 0 -> 6302 bytes .../controller/admin/ip/AreaController.class | Bin 0 -> 4334 bytes .../controller/admin/ip/AreaController.http | 5 + .../admin/ip/vo/AreaNodeRespVO.class | Bin 0 -> 6676 bytes .../admin/logger/LoginLogController.class | Bin 0 -> 6714 bytes .../admin/logger/OperateLogController.class | Bin 0 -> 7483 bytes .../admin/logger/OperateLogController.http | 4 + .../vo/loginlog/LoginLogPageReqVO.class | Bin 0 -> 9502 bytes .../logger/vo/loginlog/LoginLogRespVO.class | Bin 0 -> 8985 bytes .../vo/operatelog/OperateLogPageReqVO.class | Bin 0 -> 8577 bytes .../vo/operatelog/OperateLogRespVO.class | Bin 0 -> 9354 bytes .../admin/mail/MailAccountController.class | Bin 0 -> 10525 bytes .../admin/mail/MailLogController.class | Bin 0 -> 4933 bytes .../admin/mail/MailTemplateController.class | Bin 0 -> 10904 bytes .../admin/mail/MailTemplateController.http | 14 + .../vo/account/MailAccountPageReqVO.class | Bin 0 -> 7352 bytes .../mail/vo/account/MailAccountRespVO.class | Bin 0 -> 9262 bytes .../vo/account/MailAccountSaveReqVO.class | Bin 0 -> 8969 bytes .../vo/account/MailAccountSimpleRespVO.class | Bin 0 -> 5289 bytes .../admin/mail/vo/log/MailLogPageReqVO.class | Bin 0 -> 8237 bytes .../admin/mail/vo/log/MailLogRespVO.class | Bin 0 -> 10768 bytes .../vo/template/MailTemplatePageReqVO.class | Bin 0 -> 9594 bytes .../mail/vo/template/MailTemplateRespVO.class | Bin 0 -> 9714 bytes .../vo/template/MailTemplateSaveReqVO.class | Bin 0 -> 8968 bytes .../vo/template/MailTemplateSendReqVO.class | Bin 0 -> 8772 bytes .../template/MailTemplateSimpleRespVO.class | Bin 0 -> 5311 bytes .../admin/notice/NoticeController.class | Bin 0 -> 9939 bytes .../admin/notice/vo/NoticePageReqVO.class | Bin 0 -> 6794 bytes .../admin/notice/vo/NoticeRespVO.class | Bin 0 -> 8394 bytes .../admin/notice/vo/NoticeSaveReqVO.class | Bin 0 -> 7912 bytes .../notify/NotifyMessageController.class | Bin 0 -> 10454 bytes .../notify/NotifyTemplateController.class | Bin 0 -> 10556 bytes .../vo/message/NotifyMessageMyPageReqVO.class | Bin 0 -> 7930 bytes .../vo/message/NotifyMessagePageReqVO.class | Bin 0 -> 9746 bytes .../vo/message/NotifyMessageRespVO.class | Bin 0 -> 10372 bytes .../vo/template/NotifyTemplatePageReqVO.class | Bin 0 -> 10110 bytes .../vo/template/NotifyTemplateRespVO.class | Bin 0 -> 9626 bytes .../vo/template/NotifyTemplateSaveReqVO.class | Bin 0 -> 8784 bytes .../vo/template/NotifyTemplateSendReqVO.class | Bin 0 -> 8309 bytes .../admin/oauth2/OAuth2ClientController.class | Bin 0 -> 9715 bytes .../admin/oauth2/OAuth2ClientController.http | 23 ++ .../admin/oauth2/OAuth2OpenController.class | Bin 0 -> 10133 bytes .../admin/oauth2/OAuth2OpenController.http | 62 +++ .../admin/oauth2/OAuth2TokenController.class | Bin 0 -> 6426 bytes .../admin/oauth2/OAuth2UserController.class | Bin 0 -> 6697 bytes .../admin/oauth2/OAuth2UserController.http | 14 + .../vo/client/OAuth2ClientPageReqVO.class | Bin 0 -> 7325 bytes .../oauth2/vo/client/OAuth2ClientRespVO.class | Bin 0 -> 10254 bytes .../vo/client/OAuth2ClientSaveReqVO.class | Bin 0 -> 10025 bytes .../vo/open/OAuth2OpenAccessTokenRespVO.class | Bin 0 -> 8465 bytes ...OAuth2OpenAuthorizeInfoRespVO$Client.class | Bin 0 -> 6969 bytes .../open/OAuth2OpenAuthorizeInfoRespVO.class | Bin 0 -> 8009 bytes .../vo/open/OAuth2OpenCheckTokenRespVO.class | Bin 0 -> 9303 bytes .../vo/token/OAuth2AccessTokenPageReqVO.class | Bin 0 -> 8885 bytes .../vo/token/OAuth2AccessTokenRespVO.class | Bin 0 -> 9359 bytes .../vo/user/OAuth2UserInfoRespVO$Dept.class | Bin 0 -> 6804 bytes .../vo/user/OAuth2UserInfoRespVO$Post.class | Bin 0 -> 6804 bytes .../oauth2/vo/user/OAuth2UserInfoRespVO.class | Bin 0 -> 10246 bytes .../vo/user/OAuth2UserUpdateReqVO.class | Bin 0 -> 7778 bytes .../admin/permission/MenuController.class | Bin 0 -> 9786 bytes .../admin/permission/MenuController.http | 4 + .../permission/PermissionController.class | Bin 0 -> 8300 bytes .../admin/permission/RoleController.class | Bin 0 -> 9854 bytes .../admin/permission/RoleController.http | 42 ++ .../permission/vo/menu/MenuListReqVO.class | Bin 0 -> 5117 bytes .../admin/permission/vo/menu/MenuRespVO.class | Bin 0 -> 9595 bytes .../admin/permission/vo/menu/MenuSaveVO.class | Bin 0 -> 9536 bytes .../permission/vo/menu/MenuSimpleRespVO.class | Bin 0 -> 7494 bytes .../PermissionAssignRoleDataScopeReqVO.class | Bin 0 -> 7724 bytes .../PermissionAssignRoleMenuReqVO.class | Bin 0 -> 6013 bytes .../PermissionAssignUserRoleReqVO.class | Bin 0 -> 6013 bytes .../permission/vo/role/RolePageReqVO.class | Bin 0 -> 9314 bytes .../admin/permission/vo/role/RoleRespVO.class | Bin 0 -> 9070 bytes .../permission/vo/role/RoleSaveReqVO.class | Bin 0 -> 8201 bytes .../permission/vo/role/RoleSimpleRespVO.class | Bin 0 -> 5308 bytes .../admin/sms/SmsCallbackController.class | Bin 0 -> 6189 bytes .../admin/sms/SmsChannelController.class | Bin 0 -> 10411 bytes .../admin/sms/SmsLogController.class | Bin 0 -> 6938 bytes .../admin/sms/SmsTemplateController.class | Bin 0 -> 10487 bytes .../admin/sms/SmsTemplateController.http | 14 + .../sms/vo/channel/SmsChannelPageReqVO.class | Bin 0 -> 9348 bytes .../sms/vo/channel/SmsChannelRespVO.class | Bin 0 -> 9041 bytes .../sms/vo/channel/SmsChannelSaveReqVO.class | Bin 0 -> 9006 bytes .../vo/channel/SmsChannelSimpleRespVO.class | Bin 0 -> 6389 bytes .../admin/sms/vo/log/SmsLogPageReqVO.class | Bin 0 -> 8361 bytes .../admin/sms/vo/log/SmsLogRespVO.class | Bin 0 -> 11691 bytes .../vo/template/SmsTemplatePageReqVO.class | Bin 0 -> 8333 bytes .../sms/vo/template/SmsTemplateRespVO.class | Bin 0 -> 9069 bytes .../vo/template/SmsTemplateSaveReqVO.class | Bin 0 -> 8884 bytes .../vo/template/SmsTemplateSendReqVO.class | Bin 0 -> 7254 bytes .../admin/socail/SocialClientController.class | Bin 0 -> 10439 bytes .../admin/socail/SocialClientController.http | 20 + .../admin/socail/SocialUserController.class | Bin 0 -> 8925 bytes .../vo/client/SocialClientPageReqVO.class | Bin 0 -> 9700 bytes .../socail/vo/client/SocialClientRespVO.class | Bin 0 -> 9390 bytes .../vo/client/SocialClientSaveReqVO.class | Bin 0 -> 8812 bytes ...BindReqVO$SocialUserBindReqVOBuilder.class | Bin 0 -> 7551 bytes .../socail/vo/user/SocialUserBindReqVO.class | Bin 0 -> 7748 bytes .../socail/vo/user/SocialUserPageReqVO.class | Bin 0 -> 9982 bytes .../socail/vo/user/SocialUserRespVO.class | Bin 0 -> 9463 bytes ...ndReqVO$SocialUserUnbindReqVOBuilder.class | Bin 0 -> 7257 bytes .../vo/user/SocialUserUnbindReqVO.class | Bin 0 -> 7476 bytes .../admin/tenant/TenantController.class | Bin 0 -> 10331 bytes .../admin/tenant/TenantController.http | 21 + .../tenant/TenantPackageController.class | Bin 0 -> 10529 bytes .../vo/packages/TenantPackagePageReqVO.class | Bin 0 -> 10094 bytes .../vo/packages/TenantPackageRespVO.class | Bin 0 -> 9021 bytes .../vo/packages/TenantPackageSaveReqVO.class | Bin 0 -> 8500 bytes .../packages/TenantPackageSimpleRespVO.class | Bin 0 -> 5484 bytes .../tenant/vo/tenant/TenantPageReqVO.class | Bin 0 -> 9375 bytes .../admin/tenant/vo/tenant/TenantRespVO.class | Bin 0 -> 9280 bytes .../tenant/vo/tenant/TenantSaveReqVO.class | Bin 0 -> 9589 bytes .../admin/user/UserController.class | Bin 0 -> 10605 bytes .../controller/admin/user/UserController.http | 11 + .../admin/user/UserProfileController.class | Bin 0 -> 7999 bytes .../admin/user/UserProfileController.http | 4 + .../user/vo/profile/UserProfileRespVO.class | Bin 0 -> 10444 bytes .../UserProfileUpdatePasswordReqVO.class | Bin 0 -> 5676 bytes .../vo/profile/UserProfileUpdateReqVO.class | Bin 0 -> 8037 bytes ...portExcelVO$UserImportExcelVOBuilder.class | Bin 0 -> 8373 bytes .../user/vo/user/UserImportExcelVO.class | Bin 0 -> 8327 bytes ...ImportRespVO$UserImportRespVOBuilder.class | Bin 0 -> 7915 bytes .../admin/user/vo/user/UserImportRespVO.class | Bin 0 -> 11160 bytes .../admin/user/vo/user/UserPageReqVO.class | Bin 0 -> 8087 bytes .../admin/user/vo/user/UserRespVO.class | Bin 0 -> 9444 bytes .../admin/user/vo/user/UserSaveReqVO.class | Bin 0 -> 9108 bytes .../admin/user/vo/user/UserSimpleRespVO.class | Bin 0 -> 7517 bytes .../vo/user/UserUpdatePasswordReqVO.class | Bin 0 -> 5606 bytes .../user/vo/user/UserUpdateStatusReqVO.class | Bin 0 -> 5764 bytes .../app/dict/AppDictDataController.class | Bin 0 -> 3926 bytes .../app/dict/vo/AppDictDataRespVO.class | Bin 0 -> 7501 bytes .../controller/app/ip/AppAreaController.class | Bin 0 -> 3128 bytes .../app/ip/vo/AppAreaNodeRespVO.class | Bin 0 -> 6729 bytes .../app/tenant/AppTenantController.class | Bin 0 -> 3872 bytes .../app/tenant/vo/AppTenantRespVO.class | Bin 0 -> 5113 bytes .../system/controller/package-info.class | Bin 0 -> 161 bytes .../system/convert/auth/AuthConvert.class | Bin 0 -> 4157 bytes .../convert/oauth2/OAuth2OpenConvert.class | Bin 0 -> 3753 bytes .../module/system/convert/package-info.class | Bin 0 -> 158 bytes .../system/convert/tenant/TenantConvert.class | Bin 0 -> 1541 bytes .../system/convert/user/UserConvert.class | Bin 0 -> 3943 bytes ...道 Spring Boot 对象转换 MapStruct 入门》.md | 1 + .../system/dal/dataobject/dept/DeptDO.class | Bin 0 -> 7773 bytes .../system/dal/dataobject/dept/PostDO.class | Bin 0 -> 8210 bytes .../dal/dataobject/dept/UserPostDO.class | Bin 0 -> 7792 bytes .../dal/dataobject/dict/DictDataDO.class | Bin 0 -> 8137 bytes .../dict/DictTypeDO$DictTypeDOBuilder.class | Bin 0 -> 7803 bytes .../dal/dataobject/dict/DictTypeDO.class | Bin 0 -> 7995 bytes .../dal/dataobject/logger/LoginLogDO.class | Bin 0 -> 8154 bytes .../dal/dataobject/logger/OperateLogDO.class | Bin 0 -> 9504 bytes .../dal/dataobject/mail/MailAccountDO.class | Bin 0 -> 8075 bytes .../mail/MailLogDO$MailLogDOBuilder.class | Bin 0 -> 10663 bytes .../dal/dataobject/mail/MailLogDO.class | Bin 0 -> 11587 bytes .../dal/dataobject/mail/MailTemplateDO.class | Bin 0 -> 8744 bytes .../dal/dataobject/notice/NoticeDO.class | Bin 0 -> 8856 bytes ...tifyMessageDO$NotifyMessageDOBuilder.class | Bin 0 -> 8980 bytes .../dataobject/notify/NotifyMessageDO.class | Bin 0 -> 9693 bytes ...fyTemplateDO$NotifyTemplateDOBuilder.class | Bin 0 -> 8484 bytes .../dataobject/notify/NotifyTemplateDO.class | Bin 0 -> 8782 bytes .../oauth2/OAuth2AccessTokenDO.class | Bin 0 -> 9311 bytes .../dataobject/oauth2/OAuth2ApproveDO.class | Bin 0 -> 8228 bytes .../dataobject/oauth2/OAuth2ClientDO.class | Bin 0 -> 10372 bytes .../dal/dataobject/oauth2/OAuth2CodeDO.class | Bin 0 -> 8690 bytes .../oauth2/OAuth2RefreshTokenDO.class | Bin 0 -> 9419 bytes .../dal/dataobject/permission/MenuDO.class | Bin 0 -> 9383 bytes .../dal/dataobject/permission/RoleDO.class | Bin 0 -> 8407 bytes .../dataobject/permission/RoleMenuDO.class | Bin 0 -> 7818 bytes .../dataobject/permission/UserRoleDO.class | Bin 0 -> 7788 bytes .../dal/dataobject/sms/SmsChannelDO.class | Bin 0 -> 7970 bytes .../sms/SmsCodeDO$SmsCodeDOBuilder.class | Bin 0 -> 8630 bytes .../system/dal/dataobject/sms/SmsCodeDO.class | Bin 0 -> 8618 bytes .../sms/SmsLogDO$SmsLogDOBuilder.class | Bin 0 -> 11059 bytes .../system/dal/dataobject/sms/SmsLogDO.class | Bin 0 -> 12091 bytes .../dal/dataobject/sms/SmsTemplateDO.class | Bin 0 -> 9091 bytes ...SocialClientDO$SocialClientDOBuilder.class | Bin 0 -> 8303 bytes .../dataobject/social/SocialClientDO.class | Bin 0 -> 8341 bytes ...alUserBindDO$SocialUserBindDOBuilder.class | Bin 0 -> 7340 bytes .../dataobject/social/SocialUserBindDO.class | Bin 0 -> 7516 bytes .../SocialUserDO$SocialUserDOBuilder.class | Bin 0 -> 8317 bytes .../dal/dataobject/social/SocialUserDO.class | Bin 0 -> 8358 bytes .../tenant/TenantDO$TenantDOBuilder.class | Bin 0 -> 8517 bytes .../dal/dataobject/tenant/TenantDO.class | Bin 0 -> 9138 bytes ...nantPackageDO$TenantPackageDOBuilder.class | Bin 0 -> 7752 bytes .../dataobject/tenant/TenantPackageDO.class | Bin 0 -> 8029 bytes .../user/AdminUserDO$AdminUserDOBuilder.class | Bin 0 -> 9256 bytes .../dal/dataobject/user/AdminUserDO.class | Bin 0 -> 9937 bytes .../system/dal/mysql/dept/DeptMapper.class | Bin 0 -> 3062 bytes .../system/dal/mysql/dept/PostMapper.class | Bin 0 -> 3039 bytes .../dal/mysql/dept/UserPostMapper.class | Bin 0 -> 2808 bytes .../dal/mysql/dict/DictDataMapper.class | Bin 0 -> 4116 bytes .../dal/mysql/dict/DictTypeMapper.class | Bin 0 -> 2931 bytes .../dal/mysql/logger/LoginLogMapper.class | Bin 0 -> 2318 bytes .../dal/mysql/logger/OperateLogMapper.class | Bin 0 -> 2726 bytes .../dal/mysql/mail/MailAccountMapper.class | Bin 0 -> 2012 bytes .../system/dal/mysql/mail/MailLogMapper.class | Bin 0 -> 2197 bytes .../dal/mysql/mail/MailTemplateMapper.class | Bin 0 -> 2619 bytes .../dal/mysql/notice/NoticeMapper.class | Bin 0 -> 1940 bytes .../mysql/notify/NotifyMessageMapper.class | Bin 0 -> 5144 bytes .../mysql/notify/NotifyTemplateMapper.class | Bin 0 -> 2409 bytes .../oauth2/OAuth2AccessTokenMapper.class | Bin 0 -> 3503 bytes .../mysql/oauth2/OAuth2ApproveMapper.class | Bin 0 -> 2511 bytes .../dal/mysql/oauth2/OAuth2ClientMapper.class | Bin 0 -> 2301 bytes .../dal/mysql/oauth2/OAuth2CodeMapper.class | Bin 0 -> 1607 bytes .../oauth2/OAuth2RefreshTokenMapper.class | Bin 0 -> 2119 bytes .../system/dal/mysql/package-info.class | Bin 0 -> 160 bytes .../dal/mysql/permission/MenuMapper.class | Bin 0 -> 2937 bytes .../dal/mysql/permission/RoleMapper.class | Bin 0 -> 3053 bytes .../dal/mysql/permission/RoleMenuMapper.class | Bin 0 -> 3284 bytes .../dal/mysql/permission/UserRoleMapper.class | Bin 0 -> 3071 bytes .../dal/mysql/sms/SmsChannelMapper.class | Bin 0 -> 2280 bytes .../system/dal/mysql/sms/SmsCodeMapper.class | Bin 0 -> 1779 bytes .../system/dal/mysql/sms/SmsLogMapper.class | Bin 0 -> 2323 bytes .../dal/mysql/sms/SmsTemplateMapper.class | Bin 0 -> 2660 bytes .../dal/mysql/social/SocialClientMapper.class | Bin 0 -> 2484 bytes .../mysql/social/SocialUserBindMapper.class | Bin 0 -> 3667 bytes .../dal/mysql/social/SocialUserMapper.class | Bin 0 -> 2842 bytes .../dal/mysql/tenant/TenantMapper.class | Bin 0 -> 3560 bytes .../mysql/tenant/TenantPackageMapper.class | Bin 0 -> 2765 bytes .../dal/mysql/user/AdminUserMapper.class | Bin 0 -> 4141 bytes .../system/dal/redis/RedisKeyConstants.class | Bin 0 -> 1978 bytes .../oauth2/OAuth2AccessTokenRedisDAO.class | Bin 0 -> 4848 bytes .../system/enums/DictTypeConstants.class | Bin 0 -> 1657 bytes .../system/enums/ErrorCodeConstants.class | Bin 0 -> 8519 bytes .../system/enums/LogRecordConstants.class | Bin 0 -> 2624 bytes .../module/system/enums/common/SexEnum.class | Bin 0 -> 2341 bytes .../enums/logger/LoginLogTypeEnum.class | Bin 0 -> 2516 bytes .../system/enums/logger/LoginResultEnum.class | Bin 0 -> 2422 bytes .../enums/mail/MailSendStatusEnum.class | Bin 0 -> 1752 bytes .../system/enums/notice/NoticeTypeEnum.class | Bin 0 -> 2097 bytes .../enums/notify/NotifyTemplateTypeEnum.class | Bin 0 -> 2153 bytes .../enums/oauth2/OAuth2ClientConstants.class | Bin 0 -> 840 bytes .../enums/oauth2/OAuth2GrantTypeEnum.class | Bin 0 -> 2975 bytes .../enums/permission/DataScopeEnum.class | Bin 0 -> 3134 bytes .../enums/permission/MenuTypeEnum.class | Bin 0 -> 2183 bytes .../enums/permission/RoleCodeEnum.class | Bin 0 -> 2989 bytes .../enums/permission/RoleTypeEnum.class | Bin 0 -> 2097 bytes .../enums/sms/SmsReceiveStatusEnum.class | Bin 0 -> 1737 bytes .../system/enums/sms/SmsSceneEnum.class | Bin 0 -> 4670 bytes .../system/enums/sms/SmsSendStatusEnum.class | Bin 0 -> 1745 bytes .../enums/sms/SmsTemplateTypeEnum.class | Bin 0 -> 1744 bytes .../system/enums/social/SocialTypeEnum.class | Bin 0 -> 4191 bytes .../config/YudaoCaptchaConfiguration.class | Bin 0 -> 3023 bytes .../core/PictureWordCaptchaServiceImpl.class | Bin 0 -> 10163 bytes .../core/RedisCaptchaServiceImpl.class | Bin 0 -> 4968 bytes .../framework/captcha/package-info.class | Bin 0 -> 168 bytes .../config/DataPermissionConfiguration.class | Bin 0 -> 1991 bytes .../datapermission/package-info.class | Bin 0 -> 175 bytes .../config/YudaoJustAuthConfiguration.class | Bin 0 -> 3577 bytes .../justauth/core/AuthRequestFactory.class | Bin 0 -> 6227 bytes .../framework/justauth/package-info.class | Bin 0 -> 169 bytes .../core/AdminUserParseFunction.class | Bin 0 -> 3745 bytes .../operatelog/core/AreaParseFunction.class | Bin 0 -> 3495 bytes .../core/BooleanParseFunction.class | Bin 0 -> 3585 bytes .../operatelog/core/DeptParseFunction.class | Bin 0 -> 3489 bytes .../operatelog/core/PostParseFunction.class | Bin 0 -> 3489 bytes .../operatelog/core/SexParseFunction.class | Bin 0 -> 3553 bytes .../framework/operatelog/package-info.class | Bin 0 -> 171 bytes .../system/framework/package-info.class | Bin 0 -> 160 bytes .../sms/config/SmsCodeProperties.class | Bin 0 -> 8151 bytes .../sms/config/SmsConfiguration.class | Bin 0 -> 1918 bytes .../framework/sms/core/client/SmsClient.class | Bin 0 -> 2289 bytes .../sms/core/client/SmsClientFactory.class | Bin 0 -> 1417 bytes .../core/client/dto/SmsReceiveRespDTO.class | Bin 0 -> 8935 bytes .../sms/core/client/dto/SmsSendRespDTO.class | Bin 0 -> 7689 bytes .../core/client/dto/SmsTemplateRespDTO.class | Bin 0 -> 7040 bytes .../core/client/impl/AbstractSmsClient.class | Bin 0 -> 3236 bytes .../core/client/impl/AliyunSmsClient.class | Bin 0 -> 9123 bytes .../client/impl/DebugDingTalkSmsClient.class | Bin 0 -> 7436 bytes .../core/client/impl/HuaweiSmsClient.class | Bin 0 -> 9064 bytes .../sms/core/client/impl/QiniuSmsClient.class | Bin 0 -> 9263 bytes .../client/impl/SmsClientFactoryImpl.class | Bin 0 -> 6058 bytes .../core/client/impl/TencentSmsClient.class | Bin 0 -> 9698 bytes .../sms/core/enums/SmsChannelEnum.class | Bin 0 -> 3223 bytes .../enums/SmsTemplateAuditStatusEnum.class | Bin 0 -> 2494 bytes .../core/property/SmsChannelProperties.class | Bin 0 -> 8333 bytes .../web/config/SystemWebConfiguration.class | Bin 0 -> 1788 bytes .../system/framework/web/package-info.class | Bin 0 -> 164 bytes .../yudao/module/system/job/DemoJob.class | Bin 0 -> 2505 bytes .../module/system/job/package-info.class | Bin 0 -> 154 bytes .../mq/consumer/mail/MailSendConsumer.class | Bin 0 -> 2514 bytes .../mq/consumer/sms/SmsSendConsumer.class | Bin 0 -> 2497 bytes .../mq/message/mail/MailSendMessage.class | Bin 0 -> 8997 bytes .../mq/message/sms/SmsSendMessage.class | Bin 0 -> 8103 bytes .../mq/producer/mail/MailProducer.class | Bin 0 -> 3516 bytes .../system/mq/producer/sms/SmsProducer.class | Bin 0 -> 3116 bytes .../yudao/module/system/package-info.class | Bin 0 -> 150 bytes .../service/auth/AdminAuthService.class | Bin 0 -> 2554 bytes .../service/auth/AdminAuthServiceImpl.class | Bin 0 -> 9835 bytes .../system/service/dept/DeptService.class | Bin 0 -> 3572 bytes .../system/service/dept/DeptServiceImpl.class | Bin 0 -> 10357 bytes .../system/service/dept/PostService.class | Bin 0 -> 2877 bytes .../system/service/dept/PostServiceImpl.class | Bin 0 -> 10504 bytes .../system/service/dict/DictDataService.class | Bin 0 -> 3361 bytes .../service/dict/DictDataServiceImpl.class | Bin 0 -> 10759 bytes .../system/service/dict/DictTypeService.class | Bin 0 -> 2191 bytes .../service/dict/DictTypeServiceImpl.class | Bin 0 -> 10326 bytes .../service/logger/LoginLogService.class | Bin 0 -> 1650 bytes .../service/logger/LoginLogServiceImpl.class | Bin 0 -> 4040 bytes .../service/logger/OperateLogService.class | Bin 0 -> 1854 bytes .../logger/OperateLogServiceImpl.class | Bin 0 -> 5351 bytes .../service/mail/MailAccountService.class | Bin 0 -> 2420 bytes .../service/mail/MailAccountServiceImpl.class | Bin 0 -> 9607 bytes .../system/service/mail/MailLogService.class | Bin 0 -> 2842 bytes .../service/mail/MailLogServiceImpl.class | Bin 0 -> 7496 bytes .../system/service/mail/MailSendService.class | Bin 0 -> 3463 bytes .../service/mail/MailSendServiceImpl.class | Bin 0 -> 9425 bytes .../service/mail/MailTemplateService.class | Bin 0 -> 3017 bytes .../mail/MailTemplateServiceImpl.class | Bin 0 -> 11217 bytes .../system/service/member/MemberService.class | Bin 0 -> 951 bytes .../service/member/MemberServiceImpl.class | Bin 0 -> 3926 bytes .../system/service/member/package-info.class | Bin 0 -> 165 bytes .../system/service/notice/NoticeService.class | Bin 0 -> 1862 bytes .../service/notice/NoticeServiceImpl.class | Bin 0 -> 6473 bytes .../service/notify/NotifyMessageService.class | Bin 0 -> 3538 bytes .../notify/NotifyMessageServiceImpl.class | Bin 0 -> 9345 bytes .../service/notify/NotifySendService.class | Bin 0 -> 2791 bytes .../notify/NotifySendServiceImpl.class | Bin 0 -> 6757 bytes .../notify/NotifyTemplateService.class | Bin 0 -> 2828 bytes .../notify/NotifyTemplateServiceImpl.class | Bin 0 -> 11054 bytes .../service/oauth2/OAuth2ApproveService.class | Bin 0 -> 2151 bytes .../oauth2/OAuth2ApproveServiceImpl.class | Bin 0 -> 8254 bytes .../service/oauth2/OAuth2ClientService.class | Bin 0 -> 3242 bytes .../oauth2/OAuth2ClientServiceImpl.class | Bin 0 -> 10954 bytes .../service/oauth2/OAuth2CodeService.class | Bin 0 -> 1664 bytes .../oauth2/OAuth2CodeServiceImpl.class | Bin 0 -> 5117 bytes .../service/oauth2/OAuth2GrantService.class | Bin 0 -> 3415 bytes .../oauth2/OAuth2GrantServiceImpl.class | Bin 0 -> 9187 bytes .../service/oauth2/OAuth2TokenService.class | Bin 0 -> 2510 bytes .../oauth2/OAuth2TokenServiceImpl.class | Bin 0 -> 10239 bytes .../service/permission/MenuService.class | Bin 0 -> 2815 bytes .../service/permission/MenuServiceImpl.class | Bin 0 -> 10453 bytes .../permission/PermissionService.class | Bin 0 -> 3489 bytes .../permission/PermissionServiceImpl.class | Bin 0 -> 10444 bytes .../service/permission/RoleService.class | Bin 0 -> 3654 bytes .../service/permission/RoleServiceImpl.class | Bin 0 -> 10426 bytes .../service/sms/SmsChannelService.class | Bin 0 -> 2633 bytes .../service/sms/SmsChannelServiceImpl.class | Bin 0 -> 9809 bytes .../system/service/sms/SmsCodeService.class | Bin 0 -> 1553 bytes .../service/sms/SmsCodeServiceImpl.class | Bin 0 -> 7803 bytes .../system/service/sms/SmsLogService.class | Bin 0 -> 2887 bytes .../service/sms/SmsLogServiceImpl.class | Bin 0 -> 8703 bytes .../system/service/sms/SmsSendService.class | Bin 0 -> 3325 bytes .../service/sms/SmsSendServiceImpl.class | Bin 0 -> 9790 bytes .../service/sms/SmsTemplateService.class | Bin 0 -> 2901 bytes .../service/sms/SmsTemplateServiceImpl.class | Bin 0 -> 10973 bytes .../service/social/SocialClientService.class | Bin 0 -> 4765 bytes .../social/SocialClientServiceImpl.class | Bin 0 -> 10148 bytes .../service/social/SocialUserService.class | Bin 0 -> 3028 bytes .../social/SocialUserServiceImpl.class | Bin 0 -> 10156 bytes .../service/tenant/TenantPackageService.class | Bin 0 -> 2584 bytes .../tenant/TenantPackageServiceImpl.class | Bin 0 -> 11164 bytes .../system/service/tenant/TenantService.class | Bin 0 -> 3688 bytes .../service/tenant/TenantServiceImpl.class | Bin 0 -> 10492 bytes .../tenant/handler/TenantInfoHandler.class | Bin 0 -> 947 bytes .../tenant/handler/TenantMenuHandler.class | Bin 0 -> 1017 bytes .../service/user/AdminUserService.class | Bin 0 -> 6095 bytes .../service/user/AdminUserServiceImpl.class | Bin 0 -> 12317 bytes .../system/util/oauth2/OAuth2Utils.class | Bin 0 -> 7341 bytes .../module/system/util/package-info.class | Bin 0 -> 155 bytes ...m.anji.captcha.service.CaptchaCacheService | 1 + .../com.anji.captcha.service.CaptchaService | 1 + .../resources/images/jigsaw/original/bg1.png | Bin 0 -> 17827 bytes .../resources/images/jigsaw/original/bg2.png | Bin 0 -> 28732 bytes .../resources/images/jigsaw/original/bg3.png | Bin 0 -> 25814 bytes .../resources/images/jigsaw/original/bg4.png | Bin 0 -> 27859 bytes .../resources/images/jigsaw/original/bg5.png | Bin 0 -> 24036 bytes .../resources/images/jigsaw/original/bg6.png | Bin 0 -> 19160 bytes .../resources/images/jigsaw/original/bg7.png | Bin 0 -> 21445 bytes .../resources/images/jigsaw/original/bg8.png | Bin 0 -> 30332 bytes .../resources/images/jigsaw/original/bg9.png | Bin 0 -> 26977 bytes .../images/jigsaw/slidingBlock/1.png | Bin 0 -> 2158 bytes .../images/jigsaw/slidingBlock/11/10.png | Bin 0 -> 1657 bytes .../images/jigsaw/slidingBlock/11/11.png | Bin 0 -> 1657 bytes .../images/jigsaw/slidingBlock/11/12.png | Bin 0 -> 1657 bytes .../images/jigsaw/slidingBlock/11/13.png | Bin 0 -> 1873 bytes .../images/jigsaw/slidingBlock/11/14.png | Bin 0 -> 1872 bytes .../images/jigsaw/slidingBlock/11/15.png | Bin 0 -> 1872 bytes .../images/jigsaw/slidingBlock/11/16.png | Bin 0 -> 1838 bytes .../images/jigsaw/slidingBlock/11/17.png | Bin 0 -> 1839 bytes .../images/jigsaw/slidingBlock/11/18.png | Bin 0 -> 1836 bytes .../images/jigsaw/slidingBlock/11/19.png | Bin 0 -> 1838 bytes .../images/jigsaw/slidingBlock/11/8.png | Bin 0 -> 1657 bytes .../images/jigsaw/slidingBlock/11/9.png | Bin 0 -> 1657 bytes .../images/jigsaw/slidingBlock/2.png | Bin 0 -> 2297 bytes .../images/jigsaw/slidingBlock/3.png | Bin 0 -> 2241 bytes .../images/jigsaw/slidingBlock/4.png | Bin 0 -> 2255 bytes .../main/resources/images/pic-click/bg1.png | Bin 0 -> 24041 bytes .../main/resources/images/pic-click/bg10.png | Bin 0 -> 27872 bytes .../main/resources/images/pic-click/bg2.png | Bin 0 -> 28394 bytes .../main/resources/images/pic-click/bg3.png | Bin 0 -> 23407 bytes .../main/resources/images/pic-click/bg4.png | Bin 0 -> 25379 bytes .../main/resources/images/pic-click/bg5.png | Bin 0 -> 16422 bytes .../main/resources/images/pic-click/bg6.png | Bin 0 -> 23607 bytes .../main/resources/images/pic-click/bg7.png | Bin 0 -> 26113 bytes .../main/resources/images/pic-click/bg8.png | Bin 0 -> 27260 bytes .../main/resources/images/pic-click/bg9.png | Bin 0 -> 29878 bytes yudao-server/bin/Dockerfile | 23 ++ yudao-server/bin/pom.xml | 160 ++++++++ .../yudao/server/YudaoServerApplication.class | Bin 0 -> 1709 bytes .../server/controller/DefaultController.class | Bin 0 -> 5749 bytes .../src/main/resources/application-dev.yaml | 212 ++++++++++ .../src/main/resources/application-local.yaml | 298 ++++++++++++++ .../bin/src/main/resources/application.yaml | 353 ++++++++++++++++ .../bin/src/main/resources/logback-spring.xml | 56 +++ .../cn/iocoder/yudao/ProjectReactor.class | Bin 0 -> 8820 bytes 684 files changed, 11481 insertions(+), 846 deletions(-) create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/EvaluationReportController.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionDataPageReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionDataRespVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionDataSaveReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionPageReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionRespVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionSaveReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationReportAuditReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationReportPageReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationReportRespVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationReportSaveReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationTemplatePageReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationTemplateRespVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationTemplateSaveReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/ReportCommentPageReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/ReportCommentRespVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/ReportCommentSaveReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/CommentCategoryController.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/QuickCommentController.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/CommentCategoryPageReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/CommentCategoryRespVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/CommentCategorySaveReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/QuickCommentPageReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/QuickCommentRespVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/QuickCommentSaveReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/ReportController.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/vo/ReportConvert.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/vo/ReportPageReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/vo/ReportRespVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/vo/ReportSaveReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/ReportTemplateController.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/vo/ReportTemplateConvert.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/vo/ReportTemplatePageReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/vo/ReportTemplateRespVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/vo/ReportTemplateSaveReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/risk/RiskController.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/risk/vo/RiskPageReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/risk/vo/RiskRespVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/risk/vo/RiskSaveReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/riskassessment/RiskAssessmentController.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/situation/SituationController.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/situation/vo/SituationPageReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/situation/vo/SituationRespVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/situation/vo/SituationSaveReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/warning/WarningController.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/warning/vo/WarningPageReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/warning/vo/WarningRespVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/warning/vo/WarningSaveReqVO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/evaluationreport/EvaluationReportConvert.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/question/QuestionConvert.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/questionnaire/QuestionnaireConvert.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/questionnairerecord/QuestionnaireRecordConvert.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/risk/RiskConvert.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/riskassessment/RiskAssessmentConvert.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/situation/SituationConvert.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/warning/WarningConvert.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/EvaluationDimensionDO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/EvaluationDimensionDataDO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/EvaluationReportDO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/EvaluationTemplateDO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/ReportCommentDO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/quickcomment/CommentCategoryDO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/quickcomment/QuickCommentDO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/report/ReportDO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/reporttemplate/ReportTemplateDO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/risk/RiskDO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/situation/SituationDO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/warning/WarningDO.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/EvaluationDimensionDataMapper.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/EvaluationDimensionMapper.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/EvaluationReportMapper.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/EvaluationTemplateMapper.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/ReportCommentMapper.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/quickcomment/CommentCategoryMapper.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/quickcomment/QuickCommentMapper.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/report/ReportMapper.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/reporttemplate/ReportTemplateMapper.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/risk/RiskMapper.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/situation/SituationMapper.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/warning/WarningMapper.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/AssessMethodEnum.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/AssessmentTypeEnum.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationAiStatusEnum.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationCycleEnum.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationDimensionTypeEnum.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationLevelEnum.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationReportStatusEnum.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationTemplateTypeEnum.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ReportCommentTypeEnum.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ScoreLevelEnum.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ScoreRuleCategoryEnum.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ScoreRuleStatusEnum.java delete mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/questionnaire/RiskLevelEnum.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/evaluationreport/EvaluationReportService.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/evaluationreport/EvaluationReportServiceImpl.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/quickcomment/CommentCategoryService.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/quickcomment/QuickCommentService.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/quickcomment/impl/CommentCategoryServiceImpl.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/quickcomment/impl/QuickCommentServiceImpl.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/report/ReportService.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/report/impl/ReportServiceImpl.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/reporttemplate/ReportTemplateService.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/reporttemplate/impl/ReportTemplateServiceImpl.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/risk/RiskService.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/risk/impl/RiskServiceImpl.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/situation/SituationService.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/situation/impl/SituationServiceImpl.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/warning/WarningService.java create mode 100644 yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/warning/impl/WarningServiceImpl.java create mode 100644 yudao-module-prison/src/main/resources/mapper/ConsumptionMapper.xml create mode 100644 yudao-module-prison/src/main/resources/mapper/RiskAssessmentMapper.xml create mode 100644 yudao-module-prison/src/main/resources/mapper/ScoreMapper.xml create mode 100644 yudao-module-prison/src/main/resources/sql/evaluation_report.sql create mode 100644 yudao-module-prison/src/main/resources/sql/prison_situation_warning_risk.sql create mode 100644 yudao-module-prison/src/main/resources/sql/report_module.sql delete mode 100644 yudao-module-prison/src/test/java/cn/iocoder/yudao/module/prison/controller/admin/consumption/PrisonConsumptionControllerTest.java delete mode 100644 yudao-module-prison/src/test/java/cn/iocoder/yudao/module/prison/service/consumption/ConsumptionServiceTest.java create mode 100644 yudao-module-system/bin/pom.xml create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApi.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApiImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dept/dto/DeptRespDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dept/dto/PostRespDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dict/DictDataApi.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dict/DictDataApiImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/logger/LoginLogApi.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/logger/LoginLogApiImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/logger/OperateLogApi.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/logger/OperateLogApiImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/logger/dto/LoginLogCreateReqDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/logger/dto/OperateLogPageReqDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/logger/dto/OperateLogRespDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/mail/MailSendApi.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/mail/MailSendApiImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/mail/dto/MailSendSingleToUserReqDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/notify/NotifyMessageSendApi.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/notify/NotifyMessageSendApiImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/notify/dto/NotifySendSingleToUserReqDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/notify/dto/NotifyTemplateReqDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/oauth2/OAuth2TokenApiImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/package-info.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/permission/PermissionApi.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/permission/PermissionApiImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApi.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApiImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsCodeApi.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsCodeApiImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApi.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApiImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeSendReqDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeUseReqDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeValidateReqDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/send/SmsSendSingleToUserReqDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApi.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApiImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialUserApi.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialUserApiImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialUserBindReqDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialUserRespDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialUserUnbindReqDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxJsapiSignatureRespDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxPhoneNumberInfoRespDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxQrcodeReqDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxaOrderNotifyConfirmReceiveReqDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxaOrderUploadShippingInfoReqDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxaSubscribeMessageSendReqDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxaSubscribeTemplateRespDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/tenant/TenantApiImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApi.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApiImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/user/dto/AdminUserRespDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.http create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthLoginReqVO$AuthLoginReqVOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthLoginReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthLoginRespVO$AuthLoginRespVOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthLoginRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthMenuRespVO$AuthMenuRespVOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthMenuRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO$AuthPermissionInfoRespVOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO$MenuVO$MenuVOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO$MenuVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO$UserVO$UserVOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO$UserVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthRegisterReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthResetPasswordReqVO$AuthResetPasswordReqVOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthResetPasswordReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSmsLoginReqVO$AuthSmsLoginReqVOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSmsLoginReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSmsSendReqVO$AuthSmsSendReqVOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSmsSendReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSocialLoginReqVO$AuthSocialLoginReqVOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSocialLoginReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/CaptchaVerificationReqVO$CodeEnableGroup.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/CaptchaVerificationReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/captcha/CaptchaController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/DeptController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/PostController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptListReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSaveReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostPageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostSaveReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostSimpleRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/DictDataController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/DictDataController.http create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/DictTypeController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataPageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataSaveReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataSimpleRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypePageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeSaveReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeSimpleRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ip/AreaController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ip/AreaController.http create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ip/vo/AreaNodeRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/LoginLogController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/OperateLogController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/OperateLogController.http create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/loginlog/LoginLogPageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/loginlog/LoginLogRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogPageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailAccountController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailLogController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailTemplateController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailTemplateController.http create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountPageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountSaveReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountSimpleRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/log/MailLogPageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/log/MailLogRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplatePageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateSaveReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateSendReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateSimpleRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/NoticeController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticePageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticeRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticeSaveReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/NotifyMessageController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/NotifyTemplateController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessageMyPageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessagePageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessageRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplatePageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateSaveReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateSendReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2ClientController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2ClientController.http create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2OpenController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2OpenController.http create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2TokenController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2UserController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2UserController.http create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientPageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientSaveReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAccessTokenRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAuthorizeInfoRespVO$Client.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAuthorizeInfoRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenCheckTokenRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenPageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/user/OAuth2UserInfoRespVO$Dept.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/user/OAuth2UserInfoRespVO$Post.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/user/OAuth2UserInfoRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/user/OAuth2UserUpdateReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/MenuController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/MenuController.http create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/PermissionController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/RoleController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/RoleController.http create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuListReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSaveVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSimpleRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleDataScopeReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/permission/PermissionAssignRoleMenuReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/permission/PermissionAssignUserRoleReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RolePageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleSaveReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleSimpleRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsCallbackController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsChannelController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsLogController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsTemplateController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsTemplateController.http create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelPageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelSaveReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelSimpleRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/log/SmsLogPageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/log/SmsLogRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplatePageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateSaveReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateSendReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/SocialClientController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/SocialClientController.http create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/SocialUserController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/client/SocialClientPageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/client/SocialClientRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/client/SocialClientSaveReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/user/SocialUserBindReqVO$SocialUserBindReqVOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/user/SocialUserBindReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/user/SocialUserPageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/user/SocialUserRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/user/SocialUserUnbindReqVO$SocialUserUnbindReqVOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/user/SocialUserUnbindReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/TenantController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/TenantController.http create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/TenantPackageController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackagePageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageSaveReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/packages/TenantPackageSimpleRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantPageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantSaveReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.http create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserProfileController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserProfileController.http create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileUpdatePasswordReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileUpdateReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserImportExcelVO$UserImportExcelVOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserImportExcelVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserImportRespVO$UserImportRespVOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserImportRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserPageReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserSaveReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserSimpleRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserUpdatePasswordReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserUpdateStatusReqVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/app/dict/AppDictDataController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/app/dict/vo/AppDictDataRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/app/ip/AppAreaController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/app/ip/vo/AppAreaNodeRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/app/tenant/AppTenantController.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/app/tenant/vo/AppTenantRespVO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/package-info.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/convert/auth/AuthConvert.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/convert/oauth2/OAuth2OpenConvert.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/convert/package-info.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/convert/tenant/TenantConvert.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/convert/user/UserConvert.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/convert/《芋道 Spring Boot 对象转换 MapStruct 入门》.md create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dept/DeptDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dept/PostDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dept/UserPostDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dict/DictDataDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dict/DictTypeDO$DictTypeDOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dict/DictTypeDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/logger/LoginLogDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/logger/OperateLogDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailAccountDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailLogDO$MailLogDOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailLogDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailTemplateDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/notice/NoticeDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/notify/NotifyMessageDO$NotifyMessageDOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/notify/NotifyMessageDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/notify/NotifyTemplateDO$NotifyTemplateDOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/notify/NotifyTemplateDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2AccessTokenDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2ApproveDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2ClientDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2CodeDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2RefreshTokenDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/permission/MenuDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/permission/RoleDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/permission/RoleMenuDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/permission/UserRoleDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsChannelDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsCodeDO$SmsCodeDOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsCodeDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsLogDO$SmsLogDOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsLogDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsTemplateDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/social/SocialClientDO$SocialClientDOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/social/SocialClientDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/social/SocialUserBindDO$SocialUserBindDOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/social/SocialUserBindDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/social/SocialUserDO$SocialUserDOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/social/SocialUserDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenant/TenantDO$TenantDOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenant/TenantDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenant/TenantPackageDO$TenantPackageDOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenant/TenantPackageDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/user/AdminUserDO$AdminUserDOBuilder.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/user/AdminUserDO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/dept/DeptMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/dept/PostMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/dept/UserPostMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/dict/DictDataMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/dict/DictTypeMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/logger/LoginLogMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/logger/OperateLogMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/mail/MailAccountMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/mail/MailLogMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/mail/MailTemplateMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/notice/NoticeMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/notify/NotifyMessageMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/notify/NotifyTemplateMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/oauth2/OAuth2AccessTokenMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/oauth2/OAuth2ApproveMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/oauth2/OAuth2ClientMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/oauth2/OAuth2CodeMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/oauth2/OAuth2RefreshTokenMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/package-info.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/MenuMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/RoleMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/RoleMenuMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/UserRoleMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/sms/SmsChannelMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/sms/SmsCodeMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/sms/SmsLogMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/sms/SmsTemplateMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/social/SocialClientMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/social/SocialUserBindMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/social/SocialUserMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/tenant/TenantMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/tenant/TenantPackageMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/redis/RedisKeyConstants.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/redis/oauth2/OAuth2AccessTokenRedisDAO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/DictTypeConstants.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/LogRecordConstants.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/common/SexEnum.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/logger/LoginLogTypeEnum.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/logger/LoginResultEnum.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/mail/MailSendStatusEnum.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/notice/NoticeTypeEnum.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/notify/NotifyTemplateTypeEnum.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/oauth2/OAuth2ClientConstants.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/oauth2/OAuth2GrantTypeEnum.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/permission/DataScopeEnum.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/permission/MenuTypeEnum.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/permission/RoleCodeEnum.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/permission/RoleTypeEnum.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/sms/SmsReceiveStatusEnum.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/sms/SmsSceneEnum.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/sms/SmsSendStatusEnum.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/sms/SmsTemplateTypeEnum.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/social/SocialTypeEnum.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/captcha/config/YudaoCaptchaConfiguration.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/captcha/core/PictureWordCaptchaServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/captcha/core/RedisCaptchaServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/captcha/package-info.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/datapermission/config/DataPermissionConfiguration.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/datapermission/package-info.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/justauth/config/YudaoJustAuthConfiguration.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/justauth/core/AuthRequestFactory.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/justauth/package-info.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/AdminUserParseFunction.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/AreaParseFunction.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/BooleanParseFunction.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/DeptParseFunction.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/PostParseFunction.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/SexParseFunction.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/package-info.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/package-info.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/config/SmsCodeProperties.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/config/SmsConfiguration.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/SmsClient.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/SmsClientFactory.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/dto/SmsReceiveRespDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/dto/SmsSendRespDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/dto/SmsTemplateRespDTO.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/AbstractSmsClient.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/AliyunSmsClient.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/DebugDingTalkSmsClient.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/HuaweiSmsClient.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/QiniuSmsClient.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/SmsClientFactoryImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/TencentSmsClient.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/enums/SmsChannelEnum.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/enums/SmsTemplateAuditStatusEnum.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/property/SmsChannelProperties.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/web/config/SystemWebConfiguration.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/web/package-info.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/job/DemoJob.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/job/package-info.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/mq/consumer/mail/MailSendConsumer.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/mq/consumer/sms/SmsSendConsumer.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/mq/message/mail/MailSendMessage.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/mq/message/sms/SmsSendMessage.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/mq/producer/mail/MailProducer.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/mq/producer/sms/SmsProducer.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/package-info.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/dept/PostService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/dept/PostServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/dict/DictDataService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/dict/DictDataServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/dict/DictTypeService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/dict/DictTypeServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/logger/LoginLogService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/logger/LoginLogServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/logger/OperateLogService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/logger/OperateLogServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailAccountService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailAccountServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailLogService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailLogServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailSendService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailSendServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailTemplateService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/mail/MailTemplateServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/member/MemberService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/member/MemberServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/member/package-info.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/notice/NoticeService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/notice/NoticeServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifyMessageService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifyMessageServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifySendService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifySendServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifyTemplateService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/notify/NotifyTemplateServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ApproveService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ApproveServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ClientService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ClientServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2CodeService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2CodeServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2GrantService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2GrantServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2TokenService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2TokenServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/permission/MenuService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/permission/MenuServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/permission/PermissionService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/permission/PermissionServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsChannelService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsChannelServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsCodeService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsCodeServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsLogService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsLogServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsSendService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsSendServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/sms/SmsTemplateServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/social/SocialClientService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/social/SocialClientServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/social/SocialUserService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/social/SocialUserServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/tenant/TenantPackageService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/tenant/TenantPackageServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/tenant/TenantService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/tenant/TenantServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/tenant/handler/TenantInfoHandler.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/tenant/handler/TenantMenuHandler.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/util/oauth2/OAuth2Utils.class create mode 100644 yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/util/package-info.class create mode 100644 yudao-module-system/bin/src/main/resources/META-INF/services/com.anji.captcha.service.CaptchaCacheService create mode 100644 yudao-module-system/bin/src/main/resources/META-INF/services/com.anji.captcha.service.CaptchaService create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/original/bg1.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/original/bg2.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/original/bg3.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/original/bg4.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/original/bg5.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/original/bg6.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/original/bg7.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/original/bg8.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/original/bg9.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/slidingBlock/1.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/slidingBlock/11/10.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/slidingBlock/11/11.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/slidingBlock/11/12.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/slidingBlock/11/13.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/slidingBlock/11/14.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/slidingBlock/11/15.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/slidingBlock/11/16.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/slidingBlock/11/17.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/slidingBlock/11/18.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/slidingBlock/11/19.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/slidingBlock/11/8.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/slidingBlock/11/9.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/slidingBlock/2.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/slidingBlock/3.png create mode 100644 yudao-module-system/bin/src/main/resources/images/jigsaw/slidingBlock/4.png create mode 100644 yudao-module-system/bin/src/main/resources/images/pic-click/bg1.png create mode 100644 yudao-module-system/bin/src/main/resources/images/pic-click/bg10.png create mode 100644 yudao-module-system/bin/src/main/resources/images/pic-click/bg2.png create mode 100644 yudao-module-system/bin/src/main/resources/images/pic-click/bg3.png create mode 100644 yudao-module-system/bin/src/main/resources/images/pic-click/bg4.png create mode 100644 yudao-module-system/bin/src/main/resources/images/pic-click/bg5.png create mode 100644 yudao-module-system/bin/src/main/resources/images/pic-click/bg6.png create mode 100644 yudao-module-system/bin/src/main/resources/images/pic-click/bg7.png create mode 100644 yudao-module-system/bin/src/main/resources/images/pic-click/bg8.png create mode 100644 yudao-module-system/bin/src/main/resources/images/pic-click/bg9.png create mode 100644 yudao-server/bin/Dockerfile create mode 100644 yudao-server/bin/pom.xml create mode 100644 yudao-server/bin/src/main/java/cn/iocoder/yudao/server/YudaoServerApplication.class create mode 100644 yudao-server/bin/src/main/java/cn/iocoder/yudao/server/controller/DefaultController.class create mode 100644 yudao-server/bin/src/main/resources/application-dev.yaml create mode 100644 yudao-server/bin/src/main/resources/application-local.yaml create mode 100644 yudao-server/bin/src/main/resources/application.yaml create mode 100644 yudao-server/bin/src/main/resources/logback-spring.xml create mode 100644 yudao-server/bin/src/test/java/cn/iocoder/yudao/ProjectReactor.class diff --git a/sql/prison_dict_data.sql b/sql/prison_dict_data.sql index d784b715d9..ee1473fd34 100644 --- a/sql/prison_dict_data.sql +++ b/sql/prison_dict_data.sql @@ -58,7 +58,9 @@ VALUES (201201, 1, '单选', '1', 'primary', '', 'prison_question_type', '0', '单选题', 'admin', NOW(), 'admin', NOW(), 0), (201202, 2, '多选', '2', 'success', '', 'prison_question_type', '0', '多选题', 'admin', NOW(), 'admin', NOW(), 0), (201203, 3, '填空', '3', 'warning', '', 'prison_question_type', '0', '填空题', 'admin', NOW(), 'admin', NOW(), 0), -(201204, 4, '评分', '4', 'info', '', 'prison_question_type', '0', '评分题', 'admin', NOW(), 'admin', NOW(), 0); +(201204, 4, '评分', '4', 'info', '', 'prison_question_type', '0', '评分题', 'admin', NOW(), 'admin', NOW(), 0), +(201205, 5, '日期', '5', 'primary', '', 'prison_question_type', '0', '日期选择题', 'admin', NOW(), 'admin', NOW(), 0), +(201206, 6, '数字', '6', 'success', '', 'prison_question_type', '0', '数字输入题', 'admin', NOW(), 'admin', NOW(), 0); -- 6. 问卷状态 (prison_questionnaire_status) INSERT IGNORE INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted) @@ -86,9 +88,11 @@ VALUES (2014, '消费类型', 'prison_consumption_type', '0', '消费记录类 INSERT IGNORE INTO system_dict_data (id, sort, label, value, color_type, css_class, dict_type, status, remark, creator, create_time, updater, update_time, deleted) VALUES -(201401, 1, '存款', '1', 'success', '', 'prison_consumption_type', '0', '存款', 'admin', NOW(), 'admin', NOW(), 0), -(201402, 2, '消费', '2', 'primary', '', 'prison_consumption_type', '0', '消费', 'admin', NOW(), 'admin', NOW(), 0), -(201403, 3, '转账', '3', 'warning', '', 'prison_consumption_type', '0', '转账', 'admin', NOW(), 'admin', NOW(), 0); +(201401, 1, '购物', '1', 'success', '', 'prison_consumption_type', '0', '购物消费', 'admin', NOW(), 'admin', NOW(), 0), +(201402, 2, '餐饮', '2', 'primary', '', 'prison_consumption_type', '0', '餐饮消费', 'admin', NOW(), 'admin', NOW(), 0), +(201403, 3, '医疗', '3', 'warning', '', 'prison_consumption_type', '0', '医疗消费', 'admin', NOW(), 'admin', NOW(), 0), +(201404, 4, '通讯', '4', 'info', '', 'prison_consumption_type', '0', '通讯消费', 'admin', NOW(), 'admin', NOW(), 0), +(201405, 5, '其他', '5', 'primary', '', 'prison_consumption_type', '0', '其他消费', 'admin', NOW(), 'admin', NOW(), 0); -- 8. 消费状态 (prison_consumption_status) INSERT IGNORE INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted) @@ -105,9 +109,10 @@ VALUES (2016, '评估类型', 'prison_assessment_type', '0', '危险评估类型 INSERT IGNORE INTO system_dict_data (id, sort, label, value, color_type, css_class, dict_type, status, remark, creator, create_time, updater, update_time, deleted) VALUES -(201601, 1, '入狱评估', '1', 'primary', '', 'prison_assessment_type', '0', '入狱时评估', 'admin', NOW(), 'admin', NOW(), 0), +(201601, 1, '入监评估', '1', 'primary', '', 'prison_assessment_type', '0', '入监时评估', 'admin', NOW(), 'admin', NOW(), 0), (201602, 2, '定期评估', '2', 'success', '', 'prison_assessment_type', '0', '定期评估', 'admin', NOW(), 'admin', NOW(), 0), -(201603, 3, '专项评估', '3', 'warning', '', 'prison_assessment_type', '0', '专项评估', 'admin', NOW(), 'admin', NOW(), 0); +(201603, 3, '专项评估', '3', 'warning', '', 'prison_assessment_type', '0', '专项评估', 'admin', NOW(), 'admin', NOW(), 0), +(201604, 4, '出监评估', '4', 'info', '', 'prison_assessment_type', '0', '出监时评估', 'admin', NOW(), 'admin', NOW(), 0); -- 10. 考核等级 (prison_score_level) INSERT IGNORE INTO system_dict_type (id, name, type, status, remark, creator, create_time, updater, update_time, deleted) diff --git a/yudao-module-prison/pom.xml b/yudao-module-prison/pom.xml index 387934634e..f47a1824cd 100644 --- a/yudao-module-prison/pom.xml +++ b/yudao-module-prison/pom.xml @@ -72,6 +72,21 @@ spring-boot-starter-test test + + org.springframework.security + spring-security-test + test + + + org.mockito + mockito-core + test + + + org.mockito + mockito-junit-jupiter + test + diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/area/PrisonAreaController.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/area/PrisonAreaController.java index 2f75f5c4fd..dee240e0bf 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/area/PrisonAreaController.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/area/PrisonAreaController.java @@ -12,6 +12,7 @@ import jakarta.validation.constraints.*; import jakarta.validation.*; import jakarta.servlet.http.*; import java.util.*; +import java.util.stream.Collectors; import java.io.IOException; import cn.iocoder.yudao.framework.common.pojo.PageParam; @@ -110,7 +111,45 @@ public class PrisonAreaController { @RequestParam(value = "level", required = false) Integer level, @RequestParam(value = "status", required = false) Integer status) { List tree = areaService.getAreaTree(name, type, level, status); - return success(BeanUtils.toBean(tree, AreaRespVO.class)); + return success(convertTreeToRespVO(tree)); + } + + /** + * 递归转换 AreaDO 树形结构到 AreaRespVO + */ + private List convertTreeToRespVO(List areas) { + if (areas == null || areas.isEmpty()) { + return new ArrayList<>(); + } + List result = new ArrayList<>(); + for (AreaDO area : areas) { + result.add(convertToRespVO(area)); + } + return result; + } + + /** + * 递归转换单个 AreaDO 到 AreaRespVO + */ + private AreaRespVO convertToRespVO(AreaDO area) { + AreaRespVO resp = new AreaRespVO(); + resp.setId(area.getId()); + resp.setName(area.getName()); + resp.setCode(area.getCode()); + resp.setParentId(area.getParentId()); + resp.setLevel(area.getLevel()); + resp.setType(area.getType()); + resp.setCapacity(area.getCapacity()); + resp.setCurrentCount(area.getCurrentCount()); + resp.setSort(area.getSort()); + resp.setStatus(area.getStatus()); + resp.setRemark(area.getRemark()); + resp.setCreateTime(area.getCreateTime()); + // 递归设置子节点 + if (area.getChildren() != null && !area.getChildren().isEmpty()) { + resp.setChildren(convertTreeToRespVO(area.getChildren())); + } + return resp; } @GetMapping("/children") diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/area/vo/AreaRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/area/vo/AreaRespVO.java index 51d9d2eb49..3200cd0a8a 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/area/vo/AreaRespVO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/area/vo/AreaRespVO.java @@ -5,6 +5,7 @@ import lombok.*; import java.util.*; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import com.fasterxml.jackson.annotation.JsonFormat; import cn.idev.excel.annotation.*; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -59,10 +60,10 @@ public class AreaRespVO { @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private LocalDateTime createTime; @Schema(description = "子监区列表,仅一级监区返回") - @JsonIgnore private List children; } \ No newline at end of file diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/cell/PrisonCellController.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/cell/PrisonCellController.java index 94fa66047b..2397f6f124 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/cell/PrisonCellController.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/cell/PrisonCellController.java @@ -87,6 +87,8 @@ public class PrisonCellController { return success(null); } CellRespVO respVO = BeanUtils.toBean(cell, CellRespVO.class); + // 显式设置创建时间(因为继承字段可能未正确复制) + respVO.setCreateTime(cell.getCreateTime()); // 填充监区名称 if (cell.getAreaId() != null) { AreaDO area = areaMapper.selectById(cell.getAreaId()); @@ -104,6 +106,18 @@ public class PrisonCellController { return success(cellService.getCellPage(pageReqVO)); } + @GetMapping("/list") + @Operation(summary = "获得监室列表") + public CommonResult> getCellList( + @RequestParam(value = "areaId", required = false) Long areaId, + @RequestParam(value = "status", required = false) Integer status) { + CellPageReqVO pageReqVO = new CellPageReqVO(); + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + pageReqVO.setAreaId(areaId); + pageReqVO.setStatus(status); + return success(cellService.getCellPage(pageReqVO).getList()); + } + @GetMapping("/export-excel") @Operation(summary = "导出监室信息 Excel") @PreAuthorize("@ss.hasPermission('prison:cell:export')") diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/cell/vo/CellRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/cell/vo/CellRespVO.java index 50d1d82757..3eba29948e 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/cell/vo/CellRespVO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/cell/vo/CellRespVO.java @@ -5,6 +5,7 @@ import lombok.*; import java.util.*; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import com.fasterxml.jackson.annotation.JsonFormat; import cn.idev.excel.annotation.*; @Schema(description = "管理后台 - 监室信息 Response VO") @@ -54,6 +55,7 @@ public class CellRespVO { @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private LocalDateTime createTime; } \ No newline at end of file diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/consumption/PrisonConsumptionController.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/consumption/PrisonConsumptionController.java index 00f9fedb3c..31d6e1cf7a 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/consumption/PrisonConsumptionController.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/consumption/PrisonConsumptionController.java @@ -17,7 +17,6 @@ import java.io.IOException; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; @@ -26,10 +25,8 @@ import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; import cn.iocoder.yudao.module.prison.controller.admin.consumption.vo.*; -import cn.iocoder.yudao.module.prison.dal.dataobject.consumption.ConsumptionDO; import cn.iocoder.yudao.module.prison.dal.dataobject.consumption.ConsumptionDetailDO; import cn.iocoder.yudao.module.prison.service.consumption.ConsumptionService; -import cn.iocoder.yudao.module.prison.convert.consumption.ConsumptionConvert; import cn.iocoder.yudao.module.prison.convert.consumption.ConsumptionDetailConvert; @Tag(name = "管理后台 - 消费订单") @@ -79,24 +76,14 @@ public class PrisonConsumptionController { @Parameter(name = "id", description = "订单编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('prison:consumption:query')") public CommonResult getConsumption(@RequestParam("id") Long id) { - ConsumptionDO consumption = consumptionService.getConsumption(id); - if (consumption == null) { - return success(null); - } - // 转换主表数据 - ConsumptionRespVO respVO = ConsumptionConvert.INSTANCE.convert(consumption); - // 查询并转换明细列表 - List detailList = consumptionService.getConsumptionDetailList(id); - respVO.setDetails(ConsumptionDetailConvert.INSTANCE.convertListResp(detailList)); - return success(respVO); + return success(consumptionService.getConsumption(id)); } @GetMapping("/page") @Operation(summary = "获得消费订单分页") @PreAuthorize("@ss.hasPermission('prison:consumption:query')") public CommonResult> getConsumptionPage(@Valid ConsumptionPageReqVO pageReqVO) { - PageResult pageResult = consumptionService.getConsumptionPage(pageReqVO); - return success(ConsumptionConvert.INSTANCE.convertPage(pageResult)); + return success(consumptionService.getConsumptionPage(pageReqVO)); } @GetMapping("/detail-list") @@ -116,10 +103,9 @@ public class PrisonConsumptionController { public void exportConsumptionExcel(@Valid ConsumptionPageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = consumptionService.getConsumptionPage(pageReqVO).getList(); + List list = consumptionService.getConsumptionPage(pageReqVO).getList(); // 导出 Excel - ExcelUtils.write(response, "消费订单.xls", "数据", ConsumptionRespVO.class, - ConsumptionConvert.INSTANCE.convertList(list)); + ExcelUtils.write(response, "消费订单.xls", "数据", ConsumptionRespVO.class, list); } } diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/consumption/vo/ConsumptionPageReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/consumption/vo/ConsumptionPageReqVO.java index c82e0a3938..17aae81cf3 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/consumption/vo/ConsumptionPageReqVO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/consumption/vo/ConsumptionPageReqVO.java @@ -25,6 +25,15 @@ public class ConsumptionPageReqVO extends PageParam { @Size(max = 50, message = "罪犯编号长度不能超过50个字符") private String prisonerNo; + @Schema(description = "罪犯姓名", example = "张三") + private String prisonerName; + + @Schema(description = "监区ID", example = "1") + private Long prisonAreaId; + + @Schema(description = "监室ID", example = "1") + private Long prisonCellId; + @Schema(description = "类型:1-购物 2-餐饮 3-医疗 4-通讯 5-其他", example = "1") @Min(value = 1, message = "类型最小值为1") @Max(value = 5, message = "类型最大值为5") diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/consumption/vo/ConsumptionRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/consumption/vo/ConsumptionRespVO.java index 5f8417d94f..b505f0e85a 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/consumption/vo/ConsumptionRespVO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/consumption/vo/ConsumptionRespVO.java @@ -6,6 +6,7 @@ import java.util.*; import java.math.BigDecimal; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import com.fasterxml.jackson.annotation.JsonFormat; import cn.idev.excel.annotation.*; @Schema(description = "管理后台 - 消费订单 Response VO") @@ -25,6 +26,24 @@ public class ConsumptionRespVO { @ExcelProperty("罪犯编号") private String prisonerNo; + @Schema(description = "罪犯姓名", example = "张三") + @ExcelProperty("罪犯姓名") + private String prisonerName; + + @Schema(description = "监区ID", example = "1") + private Long prisonAreaId; + + @Schema(description = "监区名称", example = "一监区") + @ExcelProperty("监区") + private String prisonAreaName; + + @Schema(description = "监室ID", example = "1") + private Long prisonCellId; + + @Schema(description = "监室名称", example = "101监室") + @ExcelProperty("监室") + private String prisonCellName; + @Schema(description = "订单号") @ExcelProperty("订单号") private String orderNo; @@ -43,6 +62,7 @@ public class ConsumptionRespVO { @Schema(description = "交易时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("交易时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private LocalDateTime tradeTime; @Schema(description = "状态:1-成功 2-失败", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @@ -55,8 +75,14 @@ public class ConsumptionRespVO { @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private LocalDateTime createTime; + @Schema(description = "更新时间") + @ExcelProperty("更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private LocalDateTime updateTime; + @Schema(description = "消费明细列表") private List details; diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/dashboard/vo/ProvinceChartVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/dashboard/vo/ProvinceChartVO.java index c3d22bff93..cf80e0a603 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/dashboard/vo/ProvinceChartVO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/dashboard/vo/ProvinceChartVO.java @@ -16,8 +16,8 @@ public class ProvinceChartVO { @Schema(description = "省份名称", example = "河南省") private String province; - @Schema(description = "省份编码", example = "41") - private Integer provinceCode; + @Schema(description = "省份名称/编码", example = "河南省或上海") + private String provinceCode; @Schema(description = "人数", example = "156") private Integer count; diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/EvaluationReportController.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/EvaluationReportController.java new file mode 100644 index 0000000000..6f44c7ed18 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/EvaluationReportController.java @@ -0,0 +1,387 @@ +package cn.iocoder.yudao.module.prison.controller.admin.evaluationreport; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.evaluationreport.*; +import cn.iocoder.yudao.module.prison.service.evaluationreport.EvaluationReportService; + +@Tag(name = "管理后台 - 评估报告") +@RestController +@RequestMapping("/prison/evaluation-report") +@Validated +public class EvaluationReportController { + + @Resource + private EvaluationReportService evaluationReportService; + + // ========== 模板管理 ========== + + @PostMapping("/template/create") + @Operation(summary = "创建评估模板") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:template:create')") + public CommonResult createTemplate(@Valid @RequestBody EvaluationTemplateSaveReqVO createReqVO) { + return success(evaluationReportService.createTemplate(createReqVO)); + } + + @PutMapping("/template/update") + @Operation(summary = "更新评估模板") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:template:update')") + public CommonResult updateTemplate(@Valid @RequestBody EvaluationTemplateSaveReqVO updateReqVO) { + evaluationReportService.updateTemplate(updateReqVO); + return success(true); + } + + @DeleteMapping("/template/delete") + @Operation(summary = "删除评估模板") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:template:delete')") + public CommonResult deleteTemplate(@NotNull(message = "编号不能为空") @RequestParam("id") Long id) { + evaluationReportService.deleteTemplate(id); + return success(true); + } + + @DeleteMapping("/template/delete-list") + @Operation(summary = "批量删除评估模板") + @Parameter(name = "ids", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:template:delete')") + public CommonResult deleteTemplateList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List ids) { + evaluationReportService.deleteTemplateListByIds(ids); + return success(true); + } + + @GetMapping("/template/get") + @Operation(summary = "获得评估模板") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:template:query')") + public CommonResult getTemplate(@RequestParam("id") Long id) { + EvaluationTemplateDO template = evaluationReportService.getTemplate(id); + return success(BeanUtils.toBean(template, EvaluationTemplateRespVO.class)); + } + + @GetMapping("/template/page") + @Operation(summary = "获得评估模板分页") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:template:query')") + public CommonResult> getTemplatePage(@Valid EvaluationTemplatePageReqVO pageReqVO) { + PageResult pageResult = evaluationReportService.getTemplatePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, EvaluationTemplateRespVO.class)); + } + + @GetMapping("/template/list-enabled") + @Operation(summary = "获取启用的模板列表") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:template:query')") + public CommonResult> getEnabledTemplateList() { + List list = evaluationReportService.getEnabledTemplateList(); + return success(BeanUtils.toBean(list, EvaluationTemplateRespVO.class)); + } + + @PostMapping("/template/export-excel") + @Operation(summary = "导出评估模板 Excel") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:template:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportTemplateExcel(@Valid EvaluationTemplatePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = evaluationReportService.getTemplatePage(pageReqVO).getList(); + ExcelUtils.write(response, "评估模板.xlsx", "数据", EvaluationTemplateRespVO.class, + BeanUtils.toBean(list, EvaluationTemplateRespVO.class)); + } + + // ========== 维度配置管理 ========== + + @PostMapping("/dimension/create") + @Operation(summary = "创建评估维度") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:dimension:create')") + public CommonResult createDimension(@Valid @RequestBody EvaluationDimensionSaveReqVO createReqVO) { + return success(evaluationReportService.createDimension(createReqVO)); + } + + @PutMapping("/dimension/update") + @Operation(summary = "更新评估维度") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:dimension:update')") + public CommonResult updateDimension(@Valid @RequestBody EvaluationDimensionSaveReqVO updateReqVO) { + evaluationReportService.updateDimension(updateReqVO); + return success(true); + } + + @DeleteMapping("/dimension/delete") + @Operation(summary = "删除评估维度") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:dimension:delete')") + public CommonResult deleteDimension(@NotNull(message = "编号不能为空") @RequestParam("id") Long id) { + evaluationReportService.deleteDimension(id); + return success(true); + } + + @DeleteMapping("/dimension/delete-list") + @Operation(summary = "批量删除评估维度") + @Parameter(name = "ids", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:dimension:delete')") + public CommonResult deleteDimensionList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List ids) { + evaluationReportService.deleteDimensionListByIds(ids); + return success(true); + } + + @GetMapping("/dimension/get") + @Operation(summary = "获得评估维度") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:dimension:query')") + public CommonResult getDimension(@RequestParam("id") Long id) { + EvaluationDimensionDO dimension = evaluationReportService.getDimension(id); + return success(BeanUtils.toBean(dimension, EvaluationDimensionRespVO.class)); + } + + @GetMapping("/dimension/page") + @Operation(summary = "获得评估维度分页") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:dimension:query')") + public CommonResult> getDimensionPage(@Valid EvaluationDimensionPageReqVO pageReqVO) { + PageResult pageResult = evaluationReportService.getDimensionPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, EvaluationDimensionRespVO.class)); + } + + @GetMapping("/dimension/list-by-template") + @Operation(summary = "根据模板ID获取维度列表") + @Parameter(name = "templateId", description = "模板ID", required = true) + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:dimension:query')") + public CommonResult> getDimensionsByTemplateId(@RequestParam("templateId") Long templateId) { + List list = evaluationReportService.getDimensionsByTemplateId(templateId); + return success(BeanUtils.toBean(list, EvaluationDimensionRespVO.class)); + } + + // ========== 评估报告管理 ========== + + @PostMapping("/report/create") + @Operation(summary = "创建评估报告") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:report:create')") + public CommonResult createReport(@Valid @RequestBody EvaluationReportSaveReqVO createReqVO) { + return success(evaluationReportService.createReport(createReqVO)); + } + + @PutMapping("/report/update") + @Operation(summary = "更新评估报告") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:report:update')") + public CommonResult updateReport(@Valid @RequestBody EvaluationReportSaveReqVO updateReqVO) { + evaluationReportService.updateReport(updateReqVO); + return success(true); + } + + @DeleteMapping("/report/delete") + @Operation(summary = "删除评估报告") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:report:delete')") + public CommonResult deleteReport(@NotNull(message = "编号不能为空") @RequestParam("id") Long id) { + evaluationReportService.deleteReport(id); + return success(true); + } + + @DeleteMapping("/report/delete-list") + @Operation(summary = "批量删除评估报告") + @Parameter(name = "ids", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:report:delete')") + public CommonResult deleteReportList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List ids) { + evaluationReportService.deleteReportListByIds(ids); + return success(true); + } + + @GetMapping("/report/get") + @Operation(summary = "获得评估报告") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:report:query')") + public CommonResult getReport(@RequestParam("id") Long id) { + EvaluationReportDO report = evaluationReportService.getReport(id); + return success(BeanUtils.toBean(report, EvaluationReportRespVO.class)); + } + + @GetMapping("/report/page") + @Operation(summary = "获得评估报告分页") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:report:query')") + public CommonResult> getReportPage(@Valid EvaluationReportPageReqVO pageReqVO) { + PageResult pageResult = evaluationReportService.getReportPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, EvaluationReportRespVO.class)); + } + + @GetMapping("/report/get-by-report-no") + @Operation(summary = "根据报告编号获取报告") + @Parameter(name = "reportNo", description = "报告编号", required = true) + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:report:query')") + public CommonResult getReportByReportNo(@RequestParam("reportNo") String reportNo) { + EvaluationReportDO report = evaluationReportService.getReportByReportNo(reportNo); + return success(BeanUtils.toBean(report, EvaluationReportRespVO.class)); + } + + @GetMapping("/report/list-by-prisoner") + @Operation(summary = "根据罪犯ID获取报告列表") + @Parameter(name = "prisonerId", description = "罪犯ID", required = true) + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:report:query')") + public CommonResult> getReportsByPrisonerId(@RequestParam("prisonerId") Long prisonerId) { + List list = evaluationReportService.getReportsByPrisonerId(prisonerId); + return success(BeanUtils.toBean(list, EvaluationReportRespVO.class)); + } + + @PostMapping("/report/submit") + @Operation(summary = "提交报告审核") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:report:update')") + public CommonResult submitReport(@RequestParam("id") Long id) { + evaluationReportService.submitReport(id); + return success(true); + } + + @PostMapping("/report/audit") + @Operation(summary = "审核报告") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:report:audit')") + public CommonResult auditReport(@Valid @RequestBody EvaluationReportAuditReqVO auditReqVO) { + evaluationReportService.auditReport(auditReqVO); + return success(true); + } + + @PostMapping("/report/void") + @Operation(summary = "作废报告") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:report:void')") + public CommonResult voidReport(@RequestParam("id") Long id) { + evaluationReportService.voidReport(id); + return success(true); + } + + @PostMapping("/report/export-excel") + @Operation(summary = "导出评估报告 Excel") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:report:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportReportExcel(@Valid EvaluationReportPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = evaluationReportService.getReportPage(pageReqVO).getList(); + ExcelUtils.write(response, "评估报告.xlsx", "数据", EvaluationReportRespVO.class, + BeanUtils.toBean(list, EvaluationReportRespVO.class)); + } + + // ========== 维度数据管理 ========== + + @PostMapping("/dimension-data/create") + @Operation(summary = "创建维度数据") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:dimension-data:create')") + public CommonResult createDimensionData(@Valid @RequestBody EvaluationDimensionDataSaveReqVO createReqVO) { + return success(evaluationReportService.createDimensionData(createReqVO)); + } + + @PutMapping("/dimension-data/update") + @Operation(summary = "更新维度数据") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:dimension-data:update')") + public CommonResult updateDimensionData(@Valid @RequestBody EvaluationDimensionDataSaveReqVO updateReqVO) { + evaluationReportService.updateDimensionData(updateReqVO); + return success(true); + } + + @DeleteMapping("/dimension-data/delete") + @Operation(summary = "删除维度数据") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:dimension-data:delete')") + public CommonResult deleteDimensionData(@NotNull(message = "编号不能为空") @RequestParam("id") Long id) { + evaluationReportService.deleteDimensionData(id); + return success(true); + } + + @GetMapping("/dimension-data/list-by-report") + @Operation(summary = "根据报告ID获取维度数据列表") + @Parameter(name = "reportId", description = "报告ID", required = true) + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:dimension-data:query')") + public CommonResult> getDimensionDataListByReportId(@RequestParam("reportId") Long reportId) { + List list = evaluationReportService.getDimensionDataListByReportId(reportId); + return success(BeanUtils.toBean(list, EvaluationDimensionDataRespVO.class)); + } + + // ========== 快捷评语库管理 ========== + + @PostMapping("/comment/create") + @Operation(summary = "创建快捷评语") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:comment:create')") + public CommonResult createComment(@Valid @RequestBody ReportCommentSaveReqVO createReqVO) { + return success(evaluationReportService.createComment(createReqVO)); + } + + @PutMapping("/comment/update") + @Operation(summary = "更新快捷评语") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:comment:update')") + public CommonResult updateComment(@Valid @RequestBody ReportCommentSaveReqVO updateReqVO) { + evaluationReportService.updateComment(updateReqVO); + return success(true); + } + + @DeleteMapping("/comment/delete") + @Operation(summary = "删除快捷评语") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:comment:delete')") + public CommonResult deleteComment(@NotNull(message = "编号不能为空") @RequestParam("id") Long id) { + evaluationReportService.deleteComment(id); + return success(true); + } + + @DeleteMapping("/comment/delete-list") + @Operation(summary = "批量删除快捷评语") + @Parameter(name = "ids", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:comment:delete')") + public CommonResult deleteCommentList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List ids) { + evaluationReportService.deleteCommentListByIds(ids); + return success(true); + } + + @GetMapping("/comment/get") + @Operation(summary = "获得快捷评语") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:comment:query')") + public CommonResult getComment(@RequestParam("id") Long id) { + ReportCommentDO comment = evaluationReportService.getComment(id); + return success(BeanUtils.toBean(comment, ReportCommentRespVO.class)); + } + + @GetMapping("/comment/page") + @Operation(summary = "获得快捷评语分页") + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:comment:query')") + public CommonResult> getCommentPage(@Valid ReportCommentPageReqVO pageReqVO) { + PageResult pageResult = evaluationReportService.getCommentPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ReportCommentRespVO.class)); + } + + @GetMapping("/comment/list-by-type-level") + @Operation(summary = "根据类型和等级获取评语列表") + @Parameter(name = "commentType", description = "评语类型", required = true) + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:comment:query')") + public CommonResult> getCommentsByTypeAndLevel( + @RequestParam("commentType") Integer commentType, + @RequestParam(value = "level", required = false) Integer level) { + List list = evaluationReportService.getCommentsByTypeAndLevel(commentType, level); + return success(BeanUtils.toBean(list, ReportCommentRespVO.class)); + } + + @GetMapping("/comment/list-by-dimension") + @Operation(summary = "根据维度ID获取评语列表") + @Parameter(name = "dimensionId", description = "维度ID", required = true) + @PreAuthorize("@ss.hasPermission('prison:evaluation-report:comment:query')") + public CommonResult> getCommentsByDimensionId(@RequestParam("dimensionId") Long dimensionId) { + List list = evaluationReportService.getCommentsByDimensionId(dimensionId); + return success(BeanUtils.toBean(list, ReportCommentRespVO.class)); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionDataPageReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionDataPageReqVO.java new file mode 100644 index 0000000000..0ec4e74109 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionDataPageReqVO.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 报告维度数据分页 Request VO") +@Data +public class EvaluationDimensionDataPageReqVO extends PageParam { + + @Schema(description = "报告ID") + private Long reportId; + + @Schema(description = "维度ID") + private Long dimensionId; + + @Schema(description = "维度类型") + private Integer dimensionType; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionDataRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionDataRespVO.java new file mode 100644 index 0000000000..82998cebc0 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionDataRespVO.java @@ -0,0 +1,78 @@ +package cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 报告维度数据 Response VO") +@Data +@ExcelIgnoreUnannotated +public class EvaluationDimensionDataRespVO { + + @Schema(description = "数据ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19443") + @ExcelProperty("数据ID") + private Long id; + + @Schema(description = "报告ID", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("报告ID") + private Long reportId; + + @Schema(description = "维度ID", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("维度ID") + private Long dimensionId; + + @Schema(description = "维度名称", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("维度名称") + private String dimensionName; + + @Schema(description = "维度编码", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("维度编码") + private String dimensionCode; + + @Schema(description = "维度类型:1-心理测评 2-行为表现 3-教育改造 4-劳动表现 5-人际交往 6-自评/他评") + @ExcelProperty("维度类型") + private Integer dimensionType; + + @Schema(description = "得分", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("得分") + private BigDecimal score; + + @Schema(description = "满分") + @ExcelProperty("满分") + private BigDecimal fullScore; + + @Schema(description = "权重得分") + @ExcelProperty("权重得分") + private BigDecimal weightedScore; + + @Schema(description = "评级:1-优秀 2-良好 3-一般 4-较差") + @ExcelProperty("评级") + private Integer level; + + @Schema(description = "维度结论") + @ExcelProperty("维度结论") + private String conclusion; + + @Schema(description = "维度评语") + @ExcelProperty("维度评语") + private String comment; + + @Schema(description = "AI分析内容") + private String aiAnalysis; + + @Schema(description = "回答详情(JSON格式)") + private String answerDetails; + + @Schema(description = "排序") + @ExcelProperty("排序") + private Integer sort; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionDataSaveReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionDataSaveReqVO.java new file mode 100644 index 0000000000..49d937a4f3 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionDataSaveReqVO.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 报告维度数据新增/修改 Request VO") +@Data +public class EvaluationDimensionDataSaveReqVO { + + @Schema(description = "数据ID") + private Long id; + + @Schema(description = "报告ID", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "报告ID不能为空") + private Long reportId; + + @Schema(description = "维度ID", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "维度ID不能为空") + private Long dimensionId; + + @Schema(description = "维度名称") + private String dimensionName; + + @Schema(description = "维度编码") + private String dimensionCode; + + @Schema(description = "维度类型:1-心理测评 2-行为表现 3-教育改造 4-劳动表现 5-人际交往 6-自评/他评") + private Integer dimensionType; + + @Schema(description = "得分", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "得分不能为空") + private BigDecimal score; + + @Schema(description = "满分") + private BigDecimal fullScore; + + @Schema(description = "权重得分") + private BigDecimal weightedScore; + + @Schema(description = "评级:1-优秀 2-良好 3-一般 4-较差") + private Integer level; + + @Schema(description = "维度结论") + private String conclusion; + + @Schema(description = "维度评语") + private String comment; + + @Schema(description = "AI分析内容") + private String aiAnalysis; + + @Schema(description = "回答详情(JSON格式)") + private String answerDetails; + + @Schema(description = "排序") + @Min(value = 0, message = "排序不能为负数") + private Integer sort; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionPageReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionPageReqVO.java new file mode 100644 index 0000000000..a455b23772 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionPageReqVO.java @@ -0,0 +1,39 @@ +package cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 评估维度分页 Request VO") +@Data +public class EvaluationDimensionPageReqVO extends PageParam { + + @Schema(description = "模板ID") + private Long templateId; + + @Schema(description = "维度名称") + private String name; + + @Schema(description = "维度编码") + private String code; + + @Schema(description = "维度类型:1-心理测评 2-行为表现 3-教育改造 4-劳动表现 5-人际交往 6-自评/他评") + private Integer dimensionType; + + @Schema(description = "评估方式:1-问卷测评 2-量表评分 3-行为观察 4-AI分析 5-综合评定") + private Integer evaluationMethod; + + @Schema(description = "状态:1-启用 2-禁用") + private Integer status; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionRespVO.java new file mode 100644 index 0000000000..d4f71340c4 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionRespVO.java @@ -0,0 +1,79 @@ +package cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 评估维度 Response VO") +@Data +@ExcelIgnoreUnannotated +public class EvaluationDimensionRespVO { + + @Schema(description = "维度ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19443") + @ExcelProperty("维度ID") + private Long id; + + @Schema(description = "模板ID", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("模板ID") + private Long templateId; + + @Schema(description = "维度名称", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("维度名称") + private String name; + + @Schema(description = "维度编码", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("维度编码") + private String code; + + @Schema(description = "维度描述") + @ExcelProperty("维度描述") + private String description; + + @Schema(description = "维度类型:1-心理测评 2-行为表现 3-教育改造 4-劳动表现 5-人际交往 6-自评/他评", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("维度类型") + private Integer dimensionType; + + @Schema(description = "权重(百分比)", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("权重") + private BigDecimal weight; + + @Schema(description = "评分规则:1-分值越高越好 2-分值越低越好 3-区间评分", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("评分规则") + private Integer scoreRule; + + @Schema(description = "最大分值", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("最大分值") + private BigDecimal maxScore; + + @Schema(description = "最小分值", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("最小分值") + private BigDecimal minScore; + + @Schema(description = "及格分值") + @ExcelProperty("及格分值") + private BigDecimal passScore; + + @Schema(description = "评估方式:1-问卷测评 2-量表评分 3-行为观察 4-AI分析 5-综合评定", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("评估方式") + private Integer evaluationMethod; + + @Schema(description = "问题列表(JSON格式)") + private String questions; + + @Schema(description = "排序") + @ExcelProperty("排序") + private Integer sort; + + @Schema(description = "状态:1-启用 2-禁用", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("状态") + private Integer status; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionSaveReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionSaveReqVO.java new file mode 100644 index 0000000000..64c76468f4 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationDimensionSaveReqVO.java @@ -0,0 +1,69 @@ +package cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 评估维度新增/修改 Request VO") +@Data +public class EvaluationDimensionSaveReqVO { + + @Schema(description = "维度ID") + private Long id; + + @Schema(description = "模板ID", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "模板ID不能为空") + private Long templateId; + + @Schema(description = "维度名称", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "维度名称不能为空") + private String name; + + @Schema(description = "维度编码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "维度编码不能为空") + private String code; + + @Schema(description = "维度描述") + private String description; + + @Schema(description = "维度类型:1-心理测评 2-行为表现 3-教育改造 4-劳动表现 5-人际交往 6-自评/他评", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "维度类型不能为空") + private Integer dimensionType; + + @Schema(description = "权重(百分比)", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "权重不能为空") + private BigDecimal weight; + + @Schema(description = "评分规则:1-分值越高越好 2-分值越低越好 3-区间评分", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "评分规则不能为空") + private Integer scoreRule; + + @Schema(description = "最大分值", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "最大分值不能为空") + private BigDecimal maxScore; + + @Schema(description = "最小分值", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "最小分值不能为空") + private BigDecimal minScore; + + @Schema(description = "及格分值") + private BigDecimal passScore; + + @Schema(description = "评估方式:1-问卷测评 2-量表评分 3-行为观察 4-AI分析 5-综合评定", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "评估方式不能为空") + private Integer evaluationMethod; + + @Schema(description = "问题列表(JSON格式)") + private String questions; + + @Schema(description = "排序") + @Min(value = 0, message = "排序不能为负数") + private Integer sort; + + @Schema(description = "状态:1-启用 2-禁用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "状态不能为空") + private Integer status; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationReportAuditReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationReportAuditReqVO.java new file mode 100644 index 0000000000..992fd9d70a --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationReportAuditReqVO.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 评估报告审核 Request VO") +@Data +public class EvaluationReportAuditReqVO { + + @Schema(description = "报告ID", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "报告ID不能为空") + private Long id; + + @Schema(description = "审核状态:3-已审核 4-已作废", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "审核状态不能为空") + private Integer status; + + @Schema(description = "审核意见") + private String auditOpinion; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationReportPageReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationReportPageReqVO.java new file mode 100644 index 0000000000..2fbe0b23d5 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationReportPageReqVO.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 评估报告分页 Request VO") +@Data +public class EvaluationReportPageReqVO extends PageParam { + + @Schema(description = "罪犯ID") + private Long prisonerId; + + @Schema(description = "罪犯编号") + private String prisonerNo; + + @Schema(description = "罪犯姓名") + private String prisonerName; + + @Schema(description = "模板ID") + private Long templateId; + + @Schema(description = "评估类型:1-心理评估 2-危险性评估 3-改造表现评估 4-综合评估") + private Integer evaluationType; + + @Schema(description = "评估周期:1-月评 2-季评 3-半年评 4-年终评 5-入监评估 6-出监评估") + private Integer evaluationCycle; + + @Schema(description = "评级:1-优秀 2-良好 3-一般 4-较差 5-危险") + private Integer level; + + @Schema(description = "风险等级:1-低风险 2-中风险 3-高风险 4-极高风险") + private Integer riskLevel; + + @Schema(description = "报告状态:1-草稿 2-待审核 3-已审核 4-已作废") + private Integer status; + + @Schema(description = "监区ID") + private Long areaId; + + @Schema(description = "评估日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] evaluationDate; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationReportRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationReportRespVO.java new file mode 100644 index 0000000000..3cfbbd93d9 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationReportRespVO.java @@ -0,0 +1,134 @@ +package cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 评估报告 Response VO") +@Data +@ExcelIgnoreUnannotated +public class EvaluationReportRespVO { + + @Schema(description = "报告ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19443") + @ExcelProperty("报告ID") + private Long id; + + @Schema(description = "报告编号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("报告编号") + private String reportNo; + + @Schema(description = "罪犯ID", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("罪犯ID") + private Long prisonerId; + + @Schema(description = "罪犯编号") + @ExcelProperty("罪犯编号") + private String prisonerNo; + + @Schema(description = "罪犯姓名") + @ExcelProperty("罪犯姓名") + private String prisonerName; + + @Schema(description = "模板ID", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("模板ID") + private Long templateId; + + @Schema(description = "模板名称") + @ExcelProperty("模板名称") + private String templateName; + + @Schema(description = "评估类型:1-心理评估 2-危险性评估 3-改造表现评估 4-综合评估", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("评估类型") + private Integer evaluationType; + + @Schema(description = "评估周期:1-月评 2-季评 3-半年评 4-年终评 5-入监评估 6-出监评估", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("评估周期") + private Integer evaluationCycle; + + @Schema(description = "评估日期") + @ExcelProperty("评估日期") + private LocalDateTime evaluationDate; + + @Schema(description = "评估人员ID") + private Long evaluatorId; + + @Schema(description = "评估人员姓名") + @ExcelProperty("评估人员") + private String evaluatorName; + + @Schema(description = "监区ID") + private Long areaId; + + @Schema(description = "监区名称") + @ExcelProperty("监区名称") + private String areaName; + + @Schema(description = "总分") + @ExcelProperty("总分") + private BigDecimal totalScore; + + @Schema(description = "评级:1-优秀 2-良好 3-一般 4-较差 5-危险", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("评级") + private Integer level; + + @Schema(description = "风险等级:1-低风险 2-中风险 3-高风险 4-极高风险") + @ExcelProperty("风险等级") + private Integer riskLevel; + + @Schema(description = "风险得分") + @ExcelProperty("风险得分") + private BigDecimal riskScore; + + @Schema(description = "AI生成状态:1-待生成 2-生成中 3-已完成 4-生成失败") + @ExcelProperty("AI生成状态") + private Integer aiStatus; + + @Schema(description = "AI生成内容") + private String aiContent; + + @Schema(description = "AI生成报告内容") + private String aiReportContent; + + @Schema(description = "报告状态:1-草稿 2-待审核 3-已审核 4-已作废", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("报告状态") + private Integer status; + + @Schema(description = "审核人ID") + private Long auditorId; + + @Schema(description = "审核人姓名") + @ExcelProperty("审核人") + private String auditorName; + + @Schema(description = "审核时间") + @ExcelProperty("审核时间") + private LocalDateTime auditTime; + + @Schema(description = "审核意见") + @ExcelProperty("审核意见") + private String auditOpinion; + + @Schema(description = "报告结论") + @ExcelProperty("报告结论") + private String conclusion; + + @Schema(description = "改造建议") + @ExcelProperty("改造建议") + private String suggestions; + + @Schema(description = "报告PDF路径") + private String pdfPath; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationReportSaveReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationReportSaveReqVO.java new file mode 100644 index 0000000000..72dcb8ee2d --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationReportSaveReqVO.java @@ -0,0 +1,94 @@ +package cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 评估报告新增/修改 Request VO") +@Data +public class EvaluationReportSaveReqVO { + + @Schema(description = "报告ID") + private Long id; + + @Schema(description = "罪犯ID", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "罪犯ID不能为空") + private Long prisonerId; + + @Schema(description = "罪犯编号") + private String prisonerNo; + + @Schema(description = "罪犯姓名") + private String prisonerName; + + @Schema(description = "模板ID", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "模板ID不能为空") + private Long templateId; + + @Schema(description = "模板名称") + private String templateName; + + @Schema(description = "评估类型:1-心理评估 2-危险性评估 3-改造表现评估 4-综合评估", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "评估类型不能为空") + private Integer evaluationType; + + @Schema(description = "评估周期:1-月评 2-季评 3-半年评 4-年终评 5-入监评估 6-出监评估", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "评估周期不能为空") + private Integer evaluationCycle; + + @Schema(description = "评估日期", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "评估日期不能为空") + private LocalDateTime evaluationDate; + + @Schema(description = "评估人员ID") + private Long evaluatorId; + + @Schema(description = "评估人员姓名") + private String evaluatorName; + + @Schema(description = "监区ID") + private Long areaId; + + @Schema(description = "监区名称") + private String areaName; + + @Schema(description = "总分") + private BigDecimal totalScore; + + @Schema(description = "评级:1-优秀 2-良好 3-一般 4-较差 5-危险") + private Integer level; + + @Schema(description = "风险等级:1-低风险 2-中风险 3-高风险 4-极高风险") + private Integer riskLevel; + + @Schema(description = "风险得分") + private BigDecimal riskScore; + + @Schema(description = "AI生成状态:1-待生成 2-生成中 3-已完成 4-生成失败") + private Integer aiStatus; + + @Schema(description = "AI生成内容") + private String aiContent; + + @Schema(description = "AI生成报告内容") + private String aiReportContent; + + @Schema(description = "报告状态:1-草稿 2-待审核 3-已审核 4-已作废") + private Integer status; + + @Schema(description = "报告结论") + private String conclusion; + + @Schema(description = "改造建议") + private String suggestions; + + @Schema(description = "报告PDF路径") + private String pdfPath; + + @Schema(description = "备注") + private String remark; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationTemplatePageReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationTemplatePageReqVO.java new file mode 100644 index 0000000000..a1f2fb91de --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationTemplatePageReqVO.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 评估模板分页 Request VO") +@Data +public class EvaluationTemplatePageReqVO extends PageParam { + + @Schema(description = "模板名称") + private String name; + + @Schema(description = "模板编码") + private String code; + + @Schema(description = "模板类型:1-心理评估 2-危险性评估 3-改造表现评估 4-综合评估") + private Integer type; + + @Schema(description = "评估周期:1-月评 2-季评 3-半年评 4-年终评 5-入监评估 6-出监评估") + private Integer evaluationCycle; + + @Schema(description = "状态:1-启用 2-禁用") + private Integer status; + + @Schema(description = "是否允许AI生成:1-是 2-否") + private Integer aiEnabled; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationTemplateRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationTemplateRespVO.java new file mode 100644 index 0000000000..8d1f15b1f6 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationTemplateRespVO.java @@ -0,0 +1,69 @@ +package cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 评估模板 Response VO") +@Data +@ExcelIgnoreUnannotated +public class EvaluationTemplateRespVO { + + @Schema(description = "模板ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19443") + @ExcelProperty("模板ID") + private Long id; + + @Schema(description = "模板名称", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("模板名称") + private String name; + + @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("模板编码") + private String code; + + @Schema(description = "模板类型:1-心理评估 2-危险性评估 3-改造表现评估 4-综合评估", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("模板类型") + private Integer type; + + @Schema(description = "描述") + @ExcelProperty("描述") + private String description; + + @Schema(description = "适用人群") + @ExcelProperty("适用人群") + private String applicableCrowd; + + @Schema(description = "评估周期:1-月评 2-季评 3-半年评 4-年终评 5-入监评估 6-出监评估", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("评估周期") + private Integer evaluationCycle; + + @Schema(description = "状态:1-启用 2-禁用", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("状态") + private Integer status; + + @Schema(description = "是否允许AI生成:1-是 2-否") + @ExcelProperty("允许AI生成") + private Integer aiEnabled; + + @Schema(description = "AI提示词") + private String aiPrompt; + + @Schema(description = "报告封面图") + private String coverImage; + + @Schema(description = "排序") + @ExcelProperty("排序") + private Integer sort; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationTemplateSaveReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationTemplateSaveReqVO.java new file mode 100644 index 0000000000..fcb834b608 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/EvaluationTemplateSaveReqVO.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 评估模板新增/修改 Request VO") +@Data +public class EvaluationTemplateSaveReqVO { + + @Schema(description = "模板ID") + private Long id; + + @Schema(description = "模板名称", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "模板名称不能为空") + private String name; + + @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "模板编码不能为空") + private String code; + + @Schema(description = "模板类型:1-心理评估 2-危险性评估 3-改造表现评估 4-综合评估", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "模板类型不能为空") + private Integer type; + + @Schema(description = "描述") + private String description; + + @Schema(description = "适用人群") + private String applicableCrowd; + + @Schema(description = "评估周期:1-月评 2-季评 3-半年评 4-年终评 5-入监评估 6-出监评估", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "评估周期不能为空") + private Integer evaluationCycle; + + @Schema(description = "状态:1-启用 2-禁用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "状态不能为空") + private Integer status; + + @Schema(description = "是否允许AI生成:1-是 2-否") + private Integer aiEnabled; + + @Schema(description = "AI提示词") + private String aiPrompt; + + @Schema(description = "报告封面图") + private String coverImage; + + @Schema(description = "排序") + @Min(value = 0, message = "排序不能为负数") + private Integer sort; + + @Schema(description = "备注") + private String remark; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/ReportCommentPageReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/ReportCommentPageReqVO.java new file mode 100644 index 0000000000..0608259cde --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/ReportCommentPageReqVO.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 快捷评语分页 Request VO") +@Data +public class ReportCommentPageReqVO extends PageParam { + + @Schema(description = "评语内容") + private String content; + + @Schema(description = "评语类型:1-心理评语 2-行为表现评语 3-教育改造评语 4-劳动表现评语 5-综合评语 6-风险提示 7-建议措施") + private Integer commentType; + + @Schema(description = "适用维度") + private Long dimensionId; + + @Schema(description = "评级等级:1-优秀 2-良好 3-一般 4-较差 5-危险") + private Integer level; + + @Schema(description = "状态:1-启用 2-禁用") + private Integer status; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/ReportCommentRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/ReportCommentRespVO.java new file mode 100644 index 0000000000..22b1197810 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/ReportCommentRespVO.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +@Schema(description = "管理后台 - 快捷评语 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ReportCommentRespVO { + + @Schema(description = "评语ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19443") + @ExcelProperty("评语ID") + private Long id; + + @Schema(description = "评语内容", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("评语内容") + private String content; + + @Schema(description = "评语类型:1-心理评语 2-行为表现评语 3-教育改造评语 4-劳动表现评语 5-综合评语 6-风险提示 7-建议措施", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("评语类型") + private Integer commentType; + + @Schema(description = "适用维度(关联维度表)") + @ExcelProperty("维度ID") + private Long dimensionId; + + @Schema(description = "维度名称") + @ExcelProperty("维度名称") + private String dimensionName; + + @Schema(description = "评级等级:1-优秀 2-良好 3-一般 4-较差 5-危险") + @ExcelProperty("评级") + private Integer level; + + @Schema(description = "标签(逗号分隔)") + @ExcelProperty("标签") + private String tags; + + @Schema(description = "使用次数") + @ExcelProperty("使用次数") + private Integer useCount; + + @Schema(description = "状态:1-启用 2-禁用", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("状态") + private Integer status; + + @Schema(description = "排序") + @ExcelProperty("排序") + private Integer sort; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/ReportCommentSaveReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/ReportCommentSaveReqVO.java new file mode 100644 index 0000000000..128ef5f487 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/evaluationreport/vo/ReportCommentSaveReqVO.java @@ -0,0 +1,46 @@ +package cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 快捷评语新增/修改 Request VO") +@Data +public class ReportCommentSaveReqVO { + + @Schema(description = "评语ID") + private Long id; + + @Schema(description = "评语内容", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "评语内容不能为空") + private String content; + + @Schema(description = "评语类型:1-心理评语 2-行为表现评语 3-教育改造评语 4-劳动表现评语 5-综合评语 6-风险提示 7-建议措施", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "评语类型不能为空") + private Integer commentType; + + @Schema(description = "适用维度(关联维度表)") + private Long dimensionId; + + @Schema(description = "维度名称") + private String dimensionName; + + @Schema(description = "评级等级:1-优秀 2-良好 3-一般 4-较差 5-危险") + private Integer level; + + @Schema(description = "标签(逗号分隔)") + private String tags; + + @Schema(description = "状态:1-启用 2-禁用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "状态不能为空") + private Integer status; + + @Schema(description = "排序") + @Min(value = 0, message = "排序不能为负数") + private Integer sort; + + @Schema(description = "备注") + private String remark; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/prisoner/PrisonerController.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/prisoner/PrisonerController.java index d3e6df588b..e246cbfce2 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/prisoner/PrisonerController.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/prisoner/PrisonerController.java @@ -98,17 +98,17 @@ public class PrisonerController { if (prisoner == null) { return success(null); } - PrisonerRespVO vo = convertToRespVO(prisoner); + PrisonerRespVO vo = PrisonerConvert.INSTANCE.convert(prisoner); // 设置监区名称 if (prisoner.getPrisonAreaId() != null) { - cn.iocoder.yudao.module.prison.dal.dataobject.area.AreaDO area = areaMapper.selectById(prisoner.getPrisonAreaId()); + AreaDO area = areaMapper.selectById(prisoner.getPrisonAreaId()); if (area != null) { vo.setPrisonAreaName(area.getName()); } } // 设置监室名称 if (prisoner.getPrisonCellId() != null) { - cn.iocoder.yudao.module.prison.dal.dataobject.cell.CellDO cell = cellMapper.selectById(prisoner.getPrisonCellId()); + CellDO cell = cellMapper.selectById(prisoner.getPrisonCellId()); if (cell != null) { vo.setPrisonCellName(cell.getName()); } @@ -116,73 +116,6 @@ public class PrisonerController { return success(vo); } - /** - * 将 PrisonerDO 转换为 PrisonerRespVO - */ - private PrisonerRespVO convertToRespVO(PrisonerDO prisoner) { - PrisonerRespVO vo = new PrisonerRespVO(); - vo.setId(prisoner.getId()); - vo.setPrisonerNo(prisoner.getPrisonerNo()); - vo.setName(prisoner.getName()); - vo.setBirthday(prisoner.getBirthday()); - vo.setIdCard(prisoner.getIdCard()); - vo.setEthnicity(prisoner.getEthnicity()); - vo.setNativePlace(prisoner.getNativePlace()); - if (prisoner.getEducation() != null) { - vo.setEducation(prisoner.getEducation().getValue()); - } - vo.setOccupation(prisoner.getOccupation()); - vo.setAddress(prisoner.getAddress()); - vo.setCrime(prisoner.getCrime()); - vo.setSentenceYears(prisoner.getSentenceYears()); - vo.setSentenceMonths(prisoner.getSentenceMonths()); - vo.setLifeImprisonment(prisoner.getLifeImprisonment()); - vo.setDeathSentenceReprieve(prisoner.getDeathSentenceReprieve()); - vo.setCourtName(prisoner.getCourtName()); - vo.setJudgmentDate(prisoner.getJudgmentDate()); - vo.setJudgmentNo(prisoner.getJudgmentNo()); - vo.setOriginalSentence(prisoner.getOriginalSentence()); - vo.setImprisonmentDate(prisoner.getImprisonmentDate()); - vo.setReleaseDate(prisoner.getReleaseDate()); - vo.setReleaseType(prisoner.getReleaseType()); - vo.setReleaseReason(prisoner.getReleaseReason()); - vo.setPhoto(prisoner.getPhoto()); - vo.setPrisonAreaId(prisoner.getPrisonAreaId()); - vo.setPrisonCellId(prisoner.getPrisonCellId()); - if (prisoner.getStatus() != null) { - vo.setStatus(prisoner.getStatus().getValue()); - vo.setStatusName(prisoner.getStatus().getName()); - } - vo.setRemark(prisoner.getRemark()); - vo.setCreateTime(prisoner.getCreateTime() != null ? prisoner.getCreateTime().toString() : null); - - // 设置性别 - if (prisoner.getGender() != null) { - vo.setGender(prisoner.getGender().getValue()); - vo.setGenderName(prisoner.getGender().getName()); - } - - // 设置监管等级 - if (prisoner.getSupervisionLevel() != null) { - vo.setSupervisionLevel(prisoner.getSupervisionLevel().getValue()); - vo.setSupervisionLevelName(prisoner.getSupervisionLevel().getName()); - } - - // 设置风险等级 - if (prisoner.getRiskLevel() != null) { - vo.setRiskLevel(prisoner.getRiskLevel().getValue()); - String[] riskLabels = {"", "低风险", "中风险", "高风险", "极高风险"}; - Integer value = prisoner.getRiskLevel().getValue(); - if (value >= 1 && value <= 4) { - vo.setRiskLevelName(riskLabels[value]); - } else { - vo.setRiskLevelName(prisoner.getRiskLevel().getName()); - } - } - - return vo; - } - @GetMapping("/page") @Operation(summary = "获取服刑人员分页列表") @PreAuthorize("@ss.hasPermission('prison:prisoner:read')") diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/prisoner/vo/PrisonerPageReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/prisoner/vo/PrisonerPageReqVO.java index 403bf81c1b..907f34f98f 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/prisoner/vo/PrisonerPageReqVO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/prisoner/vo/PrisonerPageReqVO.java @@ -23,7 +23,7 @@ public class PrisonerPageReqVO extends PageParam { @Schema(description = "姓名", example = "张三") private String name; - @Schema(description = "性别", example = "1") + @Schema(description = "性别,参见 GenderEnum 枚举:0-未知 1-男 2-女", example = "1") private Integer gender; @Schema(description = "身份证号", example = "310101199001011234") diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/prisoner/vo/PrisonerRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/prisoner/vo/PrisonerRespVO.java index 47c04c8611..b0db28de58 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/prisoner/vo/PrisonerRespVO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/prisoner/vo/PrisonerRespVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.prison.controller.admin.prisoner.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -22,13 +23,14 @@ public class PrisonerRespVO { @Schema(description = "姓名", example = "张三") private String name; - @Schema(description = "性别", example = "1") + @Schema(description = "性别,参见 GenderEnum 枚举:0-未知 1-男 2-女", example = "1") private Integer gender; @Schema(description = "性别名称", example = "男") private String genderName; @Schema(description = "出生日期", example = "1990-01-01") + @JsonFormat(pattern = "yyyy-MM-dd") private LocalDate birthday; @Schema(description = "身份证号", example = "310101199001011234") @@ -71,6 +73,7 @@ public class PrisonerRespVO { private String courtName; @Schema(description = "判决日期", example = "2023-01-15") + @JsonFormat(pattern = "yyyy-MM-dd") private LocalDate judgmentDate; @Schema(description = "判决书编号", example = "(2023)沪01刑初123号") @@ -80,14 +83,19 @@ public class PrisonerRespVO { private String originalSentence; @Schema(description = "入狱日期", example = "2024-01-01") + @JsonFormat(pattern = "yyyy-MM-dd") private LocalDate imprisonmentDate; @Schema(description = "释放日期", example = "2027-07-01") + @JsonFormat(pattern = "yyyy-MM-dd") private LocalDate releaseDate; @Schema(description = "释放类型", example = "1") private Integer releaseType; + @Schema(description = "释放类型名称", example = "刑满释放") + private String releaseTypeName; + @Schema(description = "释放原因", example = "刑满释放") private String releaseReason; @@ -109,6 +117,9 @@ public class PrisonerRespVO { @Schema(description = "监区ID", example = "1") private Long prisonAreaId; + @Schema(description = "分区ID", example = "1") + private Long subAreaId; + @Schema(description = "监区名称", example = "一监区") private String prisonAreaName; diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/prisoner/vo/PrisonerSaveReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/prisoner/vo/PrisonerSaveReqVO.java index 99dcdbdb19..06e06b0a7b 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/prisoner/vo/PrisonerSaveReqVO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/prisoner/vo/PrisonerSaveReqVO.java @@ -28,7 +28,7 @@ public class PrisonerSaveReqVO { @Size(max = 50, message = "姓名长度不能超过50") private String name; - @Schema(description = "性别", example = "1", required = true) + @Schema(description = "性别,参见 GenderEnum 枚举:0-未知 1-男 2-女", example = "1", required = true) @NotNull(message = "性别不能为空") private Integer gender; diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/question/PrisonQuestionController.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/question/PrisonQuestionController.java index 76ca04acbc..6b110ba196 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/question/PrisonQuestionController.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/question/PrisonQuestionController.java @@ -17,7 +17,6 @@ import java.io.IOException; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; @@ -28,6 +27,7 @@ import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; import cn.iocoder.yudao.module.prison.controller.admin.question.vo.*; import cn.iocoder.yudao.module.prison.dal.dataobject.question.QuestionDO; import cn.iocoder.yudao.module.prison.service.question.QuestionService; +import cn.iocoder.yudao.module.prison.convert.question.QuestionConvert; @Tag(name = "管理后台 - 问卷问题") @RestController @@ -41,6 +41,7 @@ public class PrisonQuestionController { @PostMapping("/create") @Operation(summary = "创建问卷问题") @PreAuthorize("@ss.hasPermission('prison:question:create')") + @ApiAccessLog(operateType = CREATE) public CommonResult createQuestion(@Valid @RequestBody QuestionSaveReqVO createReqVO) { return success(questionService.createQuestion(createReqVO)); } @@ -48,6 +49,7 @@ public class PrisonQuestionController { @PutMapping("/update") @Operation(summary = "更新问卷问题") @PreAuthorize("@ss.hasPermission('prison:question:update')") + @ApiAccessLog(operateType = UPDATE) public CommonResult updateQuestion(@Valid @RequestBody QuestionSaveReqVO updateReqVO) { questionService.updateQuestion(updateReqVO); return success(true); @@ -57,6 +59,7 @@ public class PrisonQuestionController { @Operation(summary = "删除问卷问题") @Parameter(name = "id", description = "编号", required = true) @PreAuthorize("@ss.hasPermission('prison:question:delete')") + @ApiAccessLog(operateType = DELETE) public CommonResult deleteQuestion(@NotNull(message = "编号不能为空") @RequestParam("id") Long id) { questionService.deleteQuestion(id); return success(true); @@ -65,7 +68,8 @@ public class PrisonQuestionController { @DeleteMapping("/delete-list") @Parameter(name = "ids", description = "编号", required = true) @Operation(summary = "批量删除问卷问题") - @PreAuthorize("@ss.hasPermission('prison:question:delete')") + @PreAuthorize("@ss.hasPermission('prison:question:delete')") + @ApiAccessLog(operateType = DELETE) public CommonResult deleteQuestionList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List ids) { questionService.deleteQuestionListByIds(ids); return success(true); @@ -77,7 +81,7 @@ public class PrisonQuestionController { @PreAuthorize("@ss.hasPermission('prison:question:query')") public CommonResult getQuestion(@RequestParam("id") Long id) { QuestionDO question = questionService.getQuestion(id); - return success(BeanUtils.toBean(question, QuestionRespVO.class)); + return success(QuestionConvert.INSTANCE.convert(question)); } @GetMapping("/page") @@ -85,12 +89,13 @@ public class PrisonQuestionController { @PreAuthorize("@ss.hasPermission('prison:question:query')") public CommonResult> getQuestionPage(@Valid QuestionPageReqVO pageReqVO) { PageResult pageResult = questionService.getQuestionPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, QuestionRespVO.class)); + return success(QuestionConvert.INSTANCE.convertPage(pageResult)); } @PostMapping("/batch-update") @Operation(summary = "批量更新问卷问题") @PreAuthorize("@ss.hasPermission('prison:question:update')") + @ApiAccessLog(operateType = UPDATE) public CommonResult batchUpdateQuestion(@Valid @RequestBody QuestionBatchUpdateReqVO reqVO) { // 转换为 Service 需要的格式 List updateList = new ArrayList<>(); @@ -116,7 +121,7 @@ public class PrisonQuestionController { List list = questionService.getQuestionPage(pageReqVO).getList(); // 导出 Excel ExcelUtils.write(response, "问卷问题.xls", "数据", QuestionRespVO.class, - BeanUtils.toBean(list, QuestionRespVO.class)); + QuestionConvert.INSTANCE.convertList(list)); } } \ No newline at end of file diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/question/vo/QuestionRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/question/vo/QuestionRespVO.java index d445f4f611..8270a340d3 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/question/vo/QuestionRespVO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/question/vo/QuestionRespVO.java @@ -6,6 +6,7 @@ import java.util.*; import java.math.BigDecimal; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import com.fasterxml.jackson.annotation.JsonFormat; import cn.idev.excel.annotation.*; @Schema(description = "管理后台 - 问卷问题 Response VO") @@ -82,6 +83,7 @@ public class QuestionRespVO { @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private LocalDateTime createTime; } diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/questionnaire/PrisonQuestionnaireController.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/questionnaire/PrisonQuestionnaireController.java index 1c00b1670e..760ba1137e 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/questionnaire/PrisonQuestionnaireController.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/questionnaire/PrisonQuestionnaireController.java @@ -17,7 +17,6 @@ import java.io.IOException; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; @@ -28,6 +27,7 @@ import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; import cn.iocoder.yudao.module.prison.controller.admin.questionnaire.vo.*; import cn.iocoder.yudao.module.prison.dal.dataobject.questionnaire.QuestionnaireDO; import cn.iocoder.yudao.module.prison.service.questionnaire.QuestionnaireService; +import cn.iocoder.yudao.module.prison.convert.questionnaire.QuestionnaireConvert; @Tag(name = "管理后台 - 问卷模板") @RestController @@ -41,6 +41,7 @@ public class PrisonQuestionnaireController { @PostMapping("/create") @Operation(summary = "创建问卷模板") @PreAuthorize("@ss.hasPermission('prison:questionnaire:create')") + @ApiAccessLog(operateType = CREATE) public CommonResult createQuestionnaire(@Valid @RequestBody QuestionnaireSaveReqVO createReqVO) { return success(questionnaireService.createQuestionnaire(createReqVO)); } @@ -48,6 +49,7 @@ public class PrisonQuestionnaireController { @PutMapping("/update") @Operation(summary = "更新问卷模板") @PreAuthorize("@ss.hasPermission('prison:questionnaire:update')") + @ApiAccessLog(operateType = UPDATE) public CommonResult updateQuestionnaire(@Valid @RequestBody QuestionnaireSaveReqVO updateReqVO) { questionnaireService.updateQuestionnaire(updateReqVO); return success(true); @@ -57,6 +59,7 @@ public class PrisonQuestionnaireController { @Operation(summary = "删除问卷模板") @Parameter(name = "id", description = "编号", required = true) @PreAuthorize("@ss.hasPermission('prison:questionnaire:delete')") + @ApiAccessLog(operateType = DELETE) public CommonResult deleteQuestionnaire(@NotNull(message = "编号不能为空") @RequestParam("id") Long id) { questionnaireService.deleteQuestionnaire(id); return success(true); @@ -66,6 +69,7 @@ public class PrisonQuestionnaireController { @Parameter(name = "ids", description = "编号列表", required = true) @Operation(summary = "批量删除问卷模板") @PreAuthorize("@ss.hasPermission('prison:questionnaire:delete')") + @ApiAccessLog(operateType = DELETE) public CommonResult deleteQuestionnaireList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List ids) { questionnaireService.deleteQuestionnaireListByIds(ids); return success(true); @@ -77,7 +81,7 @@ public class PrisonQuestionnaireController { @PreAuthorize("@ss.hasPermission('prison:questionnaire:query')") public CommonResult getQuestionnaire(@RequestParam("id") Long id) { QuestionnaireDO questionnaire = questionnaireService.getQuestionnaire(id); - return success(BeanUtils.toBean(questionnaire, QuestionnaireRespVO.class)); + return success(QuestionnaireConvert.INSTANCE.convert(questionnaire)); } @GetMapping("/page") @@ -85,7 +89,7 @@ public class PrisonQuestionnaireController { @PreAuthorize("@ss.hasPermission('prison:questionnaire:query')") public CommonResult> getQuestionnairePage(@Valid QuestionnairePageReqVO pageReqVO) { PageResult pageResult = questionnaireService.getQuestionnairePage(pageReqVO); - return success(BeanUtils.toBean(pageResult, QuestionnaireRespVO.class)); + return success(QuestionnaireConvert.INSTANCE.convertPage(pageResult)); } @GetMapping("/export-excel") @@ -98,7 +102,7 @@ public class PrisonQuestionnaireController { List list = questionnaireService.getQuestionnairePage(pageReqVO).getList(); // 导出 Excel ExcelUtils.write(response, "问卷模板.xls", "数据", QuestionnaireRespVO.class, - BeanUtils.toBean(list, QuestionnaireRespVO.class)); + QuestionnaireConvert.INSTANCE.convertList(list)); } } \ No newline at end of file diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/questionnaire/vo/QuestionnaireRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/questionnaire/vo/QuestionnaireRespVO.java index 90b0b5e03a..3c918b9485 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/questionnaire/vo/QuestionnaireRespVO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/questionnaire/vo/QuestionnaireRespVO.java @@ -6,6 +6,7 @@ import java.util.*; import java.math.BigDecimal; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import com.fasterxml.jackson.annotation.JsonFormat; import cn.idev.excel.annotation.*; @Schema(description = "管理后台 - 问卷模板 Response VO") @@ -43,6 +44,7 @@ public class QuestionnaireRespVO { @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private LocalDateTime createTime; // ==================== 新增字段 ==================== diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/questionnairerecord/PrisonQuestionnaireRecordController.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/questionnairerecord/PrisonQuestionnaireRecordController.java index ed2232cc69..7f8d777c8a 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/questionnairerecord/PrisonQuestionnaireRecordController.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/questionnairerecord/PrisonQuestionnaireRecordController.java @@ -18,7 +18,6 @@ import java.math.BigDecimal; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; @@ -29,6 +28,7 @@ import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; import cn.iocoder.yudao.module.prison.controller.admin.questionnairerecord.vo.*; import cn.iocoder.yudao.module.prison.dal.dataobject.questionnairerecord.QuestionnaireRecordDO; import cn.iocoder.yudao.module.prison.service.questionnairerecord.QuestionnaireRecordService; +import cn.iocoder.yudao.module.prison.convert.questionnairerecord.QuestionnaireRecordConvert; @Tag(name = "管理后台 - 问卷答题记录/测评记录") @RestController @@ -65,10 +65,10 @@ public class PrisonQuestionnaireRecordController { return success(true); } - @PostMapping("/delete-list") + @DeleteMapping("/delete-list") @Operation(summary = "批量删除问卷答题记录") @PreAuthorize("@ss.hasPermission('prison:questionnaire-record:delete')") - public CommonResult deleteQuestionnaireRecordList(@NotEmpty(message = "编号列表不能为空") @RequestBody List ids) { + public CommonResult deleteQuestionnaireRecordList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List ids) { questionnaireRecordService.deleteQuestionnaireRecordListByIds(ids); return success(true); } @@ -79,7 +79,7 @@ public class PrisonQuestionnaireRecordController { @PreAuthorize("@ss.hasPermission('prison:questionnaire-record:query')") public CommonResult getQuestionnaireRecord(@NotNull(message = "编号不能为空") @RequestParam("id") Long id) { QuestionnaireRecordDO questionnaireRecord = questionnaireRecordService.getQuestionnaireRecord(id); - return success(BeanUtils.toBean(questionnaireRecord, QuestionnaireRecordRespVO.class)); + return success(QuestionnaireRecordConvert.INSTANCE.convert(questionnaireRecord)); } @GetMapping("/page") @@ -87,7 +87,7 @@ public class PrisonQuestionnaireRecordController { @PreAuthorize("@ss.hasPermission('prison:questionnaire-record:query')") public CommonResult> getQuestionnaireRecordPage(@Valid QuestionnaireRecordPageReqVO pageReqVO) { PageResult pageResult = questionnaireRecordService.getQuestionnaireRecordPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, QuestionnaireRecordRespVO.class)); + return success(QuestionnaireRecordConvert.INSTANCE.convertPage(pageResult)); } @GetMapping("/export-excel") @@ -100,7 +100,7 @@ public class PrisonQuestionnaireRecordController { List list = questionnaireRecordService.getQuestionnaireRecordPage(pageReqVO).getList(); // 导出 Excel ExcelUtils.write(response, "问卷答题记录.xls", "数据", QuestionnaireRecordRespVO.class, - BeanUtils.toBean(list, QuestionnaireRecordRespVO.class)); + QuestionnaireRecordConvert.INSTANCE.convertList(list)); } // ==================== 测评执行相关 ==================== diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/questionnairerecord/vo/QuestionnaireRecordRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/questionnairerecord/vo/QuestionnaireRecordRespVO.java index 2f23688b66..c8cd61e747 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/questionnairerecord/vo/QuestionnaireRecordRespVO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/questionnairerecord/vo/QuestionnaireRecordRespVO.java @@ -6,6 +6,7 @@ import java.util.*; import java.math.BigDecimal; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import com.fasterxml.jackson.annotation.JsonFormat; import cn.idev.excel.annotation.*; /** @@ -56,14 +57,22 @@ public class QuestionnaireRecordRespVO { @Schema(description = "开始时间") @ExcelProperty("开始时间") + @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss", timezone = "UTC") private LocalDateTime startTime; @Schema(description = "结束时间") @ExcelProperty("结束时间") + @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss", timezone = "UTC") private LocalDateTime endTime; + @Schema(description = "答题时间") + @ExcelProperty("答题时间") + @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss", timezone = "UTC") + private LocalDateTime answerTime; + @Schema(description = "截止日期") @ExcelProperty("截止日期") + @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss", timezone = "UTC") private LocalDateTime deadline; // ==================== 评分信息 ==================== @@ -103,6 +112,7 @@ public class QuestionnaireRecordRespVO { @Schema(description = "评阅时间") @ExcelProperty("评阅时间") + @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss", timezone = "UTC") private LocalDateTime evaluateTime; // ==================== 统计信息 ==================== @@ -126,6 +136,7 @@ public class QuestionnaireRecordRespVO { @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss", timezone = "UTC") private LocalDateTime createTime; } diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/CommentCategoryController.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/CommentCategoryController.java new file mode 100644 index 0000000000..9affe5d478 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/CommentCategoryController.java @@ -0,0 +1,49 @@ +package cn.iocoder.yudao.module.prison.controller.admin.quickcomment; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import java.util.*; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.module.prison.controller.admin.quickcomment.vo.*; +import cn.iocoder.yudao.module.prison.service.quickcomment.CommentCategoryService; +import cn.iocoder.yudao.module.prison.dal.dataobject.quickcomment.CommentCategoryDO; + +@Tag(name = "管理后台 - 快捷评语分类") +@RestController +@RequestMapping("/prison/quick-comment/category") +@Validated +public class CommentCategoryController { + + @Resource + private CommentCategoryService commentCategoryService; + + @PostMapping("/init") + @Operation(summary = "初始化快捷评语分类和评语(预置数据)") + @PreAuthorize("@ss.hasPermission('prison:comment-category:create')") + public CommonResult initCategories() { + int count = commentCategoryService.initCategories(); + return success(count); + } + + @GetMapping("/list") + @Operation(summary = "查询分类列表") + public CommonResult> getCategoryList(CommentCategorySaveReqVO reqVO) { + return success(commentCategoryService.getCategoryList(reqVO)); + } + + @GetMapping("/get") + @Operation(summary = "获得分类详情") + @Parameter(name = "id", description = "编号", required = true) + public CommonResult getCategory(@RequestParam("id") Long id) { + return success(commentCategoryService.getCategory(id)); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/QuickCommentController.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/QuickCommentController.java new file mode 100644 index 0000000000..9833ef8d66 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/QuickCommentController.java @@ -0,0 +1,115 @@ +package cn.iocoder.yudao.module.prison.controller.admin.quickcomment; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.prison.controller.admin.quickcomment.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.quickcomment.QuickCommentDO; +import cn.iocoder.yudao.module.prison.service.quickcomment.QuickCommentService; + +@Tag(name = "管理后台 - 快捷评语") +@RestController +@RequestMapping("/prison/quick-comment") +@Validated +public class QuickCommentController { + + @Resource + private QuickCommentService quickCommentService; + + @PostMapping("/create") + @Operation(summary = "创建快捷评语") + @PreAuthorize("@ss.hasPermission('prison:quick-comment:create')") + public CommonResult createQuickComment(@Valid @RequestBody QuickCommentSaveReqVO createReqVO) { + return success(quickCommentService.createQuickComment(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新快捷评语") + @PreAuthorize("@ss.hasPermission('prison:quick-comment:update')") + public CommonResult updateQuickComment(@Valid @RequestBody QuickCommentSaveReqVO updateReqVO) { + quickCommentService.updateQuickComment(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除快捷评语") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('prison:quick-comment:delete')") + public CommonResult deleteQuickComment(@NotNull(message = "编号不能为空") @RequestParam("id") Long id) { + quickCommentService.deleteQuickComment(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Operation(summary = "批量删除快捷评语") + @Parameter(name = "ids", description = "编号列表", required = true) + @PreAuthorize("@ss.hasPermission('prison:quick-comment:delete')") + public CommonResult deleteQuickCommentList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List ids) { + quickCommentService.deleteQuickCommentListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得快捷评语详情") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('prison:quick-comment:query')") + public CommonResult getQuickComment(@RequestParam("id") Long id) { + QuickCommentDO comment = quickCommentService.getQuickComment(id); + if (comment == null) { + return success(null); + } + return success(BeanUtils.toBean(comment, QuickCommentRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得快捷评语分页") + @PreAuthorize("@ss.hasPermission('prison:quick-comment:query')") + public CommonResult> getQuickCommentPage(@Valid QuickCommentPageReqVO pageReqVO) { + return success(quickCommentService.getQuickCommentPage(pageReqVO)); + } + + @PostMapping("/import") + @Operation(summary = "导入快捷评语") + @PreAuthorize("@ss.hasPermission('prison:quick-comment:import')") + public CommonResult importComments(@RequestBody Map params) { + Long categoryId = Long.valueOf(params.get("categoryId").toString()); + @SuppressWarnings("unchecked") + List contents = (List) params.get("contents"); + int count = quickCommentService.importComments(categoryId, contents); + return success(count); + } + + @GetMapping("/export") + @Operation(summary = "导出快捷评语 Excel") + @PreAuthorize("@ss.hasPermission('prison:quick-comment:export')") + public void exportQuickCommentExcel(@Valid QuickCommentPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = quickCommentService.getQuickCommentPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "快捷评语.xls", "数据", QuickCommentRespVO.class, list); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/CommentCategoryPageReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/CommentCategoryPageReqVO.java new file mode 100644 index 0000000000..f803a5ca03 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/CommentCategoryPageReqVO.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.prison.controller.admin.quickcomment.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 快捷评语分类分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CommentCategoryPageReqVO extends PageParam { + + @Schema(description = "分类名称", example = "入监综合评估") + private String name; + + @Schema(description = "评估类型:1-入监 2-定期 3-出监 4-减刑 5-专项", example = "1") + private Integer type; + + @Schema(description = "状态:0-停用 1-启用", example = "1") + private Integer status; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/CommentCategoryRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/CommentCategoryRespVO.java new file mode 100644 index 0000000000..4df95be1b0 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/CommentCategoryRespVO.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.prison.controller.admin.quickcomment.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 快捷评语分类 Response VO") +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class CommentCategoryRespVO { + + @Schema(description = "分类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "分类名称") + private String name; + + @Schema(description = "评估类型:1-入监 2-定期 3-出监 4-减刑 5-专项") + private Integer type; + + @Schema(description = "排序") + private Integer sort; + + @Schema(description = "状态:0-停用 1-启用") + private Integer status; + + @Schema(description = "创建者") + private String creator; + + @Schema(description = "创建时间") + private LocalDateTime createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/CommentCategorySaveReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/CommentCategorySaveReqVO.java new file mode 100644 index 0000000000..6cb4c95b20 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/CommentCategorySaveReqVO.java @@ -0,0 +1,30 @@ +package cn.iocoder.yudao.module.prison.controller.admin.quickcomment.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 快捷评语分类新增/修改 Request VO") +@Data +public class CommentCategorySaveReqVO { + + @Schema(description = "分类ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "分类名称不能为空") + private String name; + + @Schema(description = "评估类型:1-入监 2-定期 3-出监 4-减刑 5-专项", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "评估类型不能为空") + private Integer type; + + @Schema(description = "排序") + private Integer sort; + + @Schema(description = "状态:0-停用 1-启用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "状态不能为空") + private Integer status; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/QuickCommentPageReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/QuickCommentPageReqVO.java new file mode 100644 index 0000000000..bc85dffa45 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/QuickCommentPageReqVO.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.prison.controller.admin.quickcomment.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +@Schema(description = "管理后台 - 快捷评语分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class QuickCommentPageReqVO extends PageParam { + + @Schema(description = "分类ID") + private Long categoryId; + + @Schema(description = "评语内容") + private String content; + + @Schema(description = "状态:0-停用 1-启用") + private Integer status; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/QuickCommentRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/QuickCommentRespVO.java new file mode 100644 index 0000000000..28c8a1e84f --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/QuickCommentRespVO.java @@ -0,0 +1,43 @@ +package cn.iocoder.yudao.module.prison.controller.admin.quickcomment.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.time.LocalDateTime; +import com.fasterxml.jackson.annotation.JsonFormat; + +@Schema(description = "管理后台 - 快捷评语 Response VO") +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class QuickCommentRespVO { + + @Schema(description = "评语ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "分类ID") + private Long categoryId; + + @Schema(description = "分类名称") + private String categoryName; + + @Schema(description = "评语内容") + private String content; + + @Schema(description = "使用次数") + private Integer usageCount; + + @Schema(description = "排序") + private Integer sort; + + @Schema(description = "状态:0-停用 1-启用") + private Integer status; + + @Schema(description = "创建者") + private String creator; + + @Schema(description = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private LocalDateTime createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/QuickCommentSaveReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/QuickCommentSaveReqVO.java new file mode 100644 index 0000000000..d7b82217ee --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/quickcomment/vo/QuickCommentSaveReqVO.java @@ -0,0 +1,30 @@ +package cn.iocoder.yudao.module.prison.controller.admin.quickcomment.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 快捷评语新增/修改 Request VO") +@Data +public class QuickCommentSaveReqVO { + + @Schema(description = "评语ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "分类ID", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "分类ID不能为空") + private Long categoryId; + + @Schema(description = "评语内容", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "评语内容不能为空") + private String content; + + @Schema(description = "排序") + private Integer sort; + + @Schema(description = "状态:0-停用 1-启用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "状态不能为空") + private Integer status; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/release/vo/ReleaseRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/release/vo/ReleaseRespVO.java index d1505c26fb..736f537852 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/release/vo/ReleaseRespVO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/release/vo/ReleaseRespVO.java @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.prison.controller.admin.release.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; +import com.fasterxml.jackson.annotation.JsonFormat; import java.time.LocalDate; import java.time.LocalDateTime; @@ -45,6 +46,7 @@ public class ReleaseRespVO { private String judgmentNo; @Schema(description = "实际释放日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai") private LocalDate actualReleaseDate; @Schema(description = "交接人") diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/ReportController.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/ReportController.java new file mode 100644 index 0000000000..1d5e740ed2 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/ReportController.java @@ -0,0 +1,102 @@ +package cn.iocoder.yudao.module.prison.controller.admin.report; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.prison.controller.admin.report.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.report.ReportDO; +import cn.iocoder.yudao.module.prison.service.report.ReportService; +import cn.iocoder.yudao.module.prison.controller.admin.report.vo.ReportConvert; + +@Tag(name = "管理后台 - 评估报告") +@RestController +@RequestMapping("/prison/report") +@Validated +public class ReportController { + + @Resource + private ReportService reportService; + + @PostMapping("/create") + @Operation(summary = "创建评估报告") + @PreAuthorize("@ss.hasPermission('prison:report:create')") + public CommonResult createReport(@Valid @RequestBody ReportSaveReqVO createReqVO) { + return success(reportService.createReport(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新评估报告") + @PreAuthorize("@ss.hasPermission('prison:report:update')") + public CommonResult updateReport(@Valid @RequestBody ReportSaveReqVO updateReqVO) { + reportService.updateReport(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除评估报告") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('prison:report:delete')") + public CommonResult deleteReport(@NotNull(message = "编号不能为空") @RequestParam("id") Long id) { + reportService.deleteReport(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Operation(summary = "批量删除评估报告") + @Parameter(name = "ids", description = "编号列表", required = true) + @PreAuthorize("@ss.hasPermission('prison:report:delete')") + public CommonResult deleteReportList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List ids) { + reportService.deleteReportListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得评估报告详情") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('prison:report:query')") + public CommonResult getReport(@RequestParam("id") Long id) { + return success(ReportConvert.INSTANCE.convert(reportService.getReport(id))); + } + + @GetMapping("/page") + @Operation(summary = "获得评估报告分页") + @PreAuthorize("@ss.hasPermission('prison:report:query')") + public CommonResult> getReportPage(@Valid ReportPageReqVO pageReqVO) { + PageResult pageResult = reportService.getReportPage(pageReqVO); + return success(ReportConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出评估报告 Excel") + @PreAuthorize("@ss.hasPermission('prison:report:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportReportExcel(@Valid ReportPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = ReportConvert.INSTANCE.convertList(reportService.getReportPage(pageReqVO).getList()); + // 导出 Excel + ExcelUtils.write(response, "评估报告.xls", "数据", ReportRespVO.class, list); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/vo/ReportConvert.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/vo/ReportConvert.java new file mode 100644 index 0000000000..5c81e9a4d7 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/vo/ReportConvert.java @@ -0,0 +1,20 @@ +package cn.iocoder.yudao.module.prison.controller.admin.report.vo; +import java.util.List; +import cn.iocoder.yudao.module.prison.dal.dataobject.report.ReportDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +@Mapper(componentModel = "spring") +public interface ReportConvert { + ReportConvert INSTANCE = Mappers.getMapper(ReportConvert.class); + + ReportDO convert(ReportSaveReqVO bean); + + ReportRespVO convert(ReportDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/vo/ReportPageReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/vo/ReportPageReqVO.java new file mode 100644 index 0000000000..3a871e2fe8 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/vo/ReportPageReqVO.java @@ -0,0 +1,49 @@ +package cn.iocoder.yudao.module.prison.controller.admin.report.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import java.math.BigDecimal; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +@Schema(description = "管理后台 - 评估报告分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ReportPageReqVO extends PageParam { + + @Schema(description = "报告编号") + private String reportNo; + + @Schema(description = "罪犯ID") + private Long prisonerId; + + @Schema(description = "罪犯编号") + private String prisonerNo; + + @Schema(description = "罪犯姓名") + private String prisonerName; + + @Schema(description = "模板ID") + private Long templateId; + + @Schema(description = "风险等级:1-低风险 2-中风险 3-高风险 4-极高风险") + private Integer riskLevel; + + @Schema(description = "状态:1-草稿 2-待审核 3-已通过 4-已退回") + private Integer status; + + @Schema(description = "报告日期") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDateTime[] reportDate; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/vo/ReportRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/vo/ReportRespVO.java new file mode 100644 index 0000000000..4ce50e4ce0 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/vo/ReportRespVO.java @@ -0,0 +1,126 @@ +package cn.iocoder.yudao.module.prison.controller.admin.report.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 评估报告 Response VO") +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ReportRespVO { + + @Schema(description = "报告ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "报告编号") + private String reportNo; + + @Schema(description = "罪犯ID") + private Long prisonerId; + + @Schema(description = "罪犯编号") + private String prisonerNo; + + @Schema(description = "罪犯姓名") + private String prisonerName; + + @Schema(description = "监区ID") + private Long prisonAreaId; + + @Schema(description = "监区名称") + private String prisonAreaName; + + @Schema(description = "监室ID") + private Long prisonCellId; + + @Schema(description = "监室名称") + private String prisonCellName; + + @Schema(description = "模板ID") + private Long templateId; + + @Schema(description = "模板名称") + private String templateName; + + @Schema(description = "报告标题") + private String title; + + @Schema(description = "报告日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai") + private java.time.LocalDate reportDate; + + @Schema(description = "维度内容,JSON格式") + private String dimensions; + + @Schema(description = "综合结论") + private String conclusion; + + @Schema(description = "改造建议") + private String suggestions; + + @Schema(description = "风险等级:1-低风险 2-中风险 3-高风险 4-极高风险") + private Integer riskLevel; + + @Schema(description = "附件列表,JSON格式") + private String attachments; + + @Schema(description = "状态:1-草稿 2-待审核 3-已通过 4-已退回") + private Integer status; + + @Schema(description = "版本号") + private Integer version; + + @Schema(description = "数字签名") + private String signature; + + @Schema(description = "报告指纹") + private String fingerprint; + + @Schema(description = "提交人ID") + private Long submitterId; + + @Schema(description = "提交人姓名") + private String submitterName; + + @Schema(description = "提交时间") + private LocalDateTime submitTime; + + @Schema(description = "审核人ID") + private Long reviewerId; + + @Schema(description = "审核人姓名") + private String reviewerName; + + @Schema(description = "审核时间") + private LocalDateTime reviewTime; + + @Schema(description = "审核意见") + private String reviewComment; + + @Schema(description = "是否已归档") + private Boolean archived; + + @Schema(description = "归档时间") + private LocalDateTime archivedTime; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建者") + private String creator; + + @Schema(description = "创建时间") + private LocalDateTime createTime; + + @Schema(description = "更新者") + private String updater; + + @Schema(description = "更新时间") + private LocalDateTime updateTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/vo/ReportSaveReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/vo/ReportSaveReqVO.java new file mode 100644 index 0000000000..800d89b694 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/report/vo/ReportSaveReqVO.java @@ -0,0 +1,66 @@ +package cn.iocoder.yudao.module.prison.controller.admin.report.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 评估报告新增/修改 Request VO") +@Data +public class ReportSaveReqVO { + + @Schema(description = "报告ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "报告编号") + private String reportNo; + + @Schema(description = "罪犯ID", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "罪犯ID不能为空") + private Long prisonerId; + + @Schema(description = "罪犯编号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "罪犯编号不能为空") + private String prisonerNo; + + @Schema(description = "罪犯姓名") + private String prisonerName; + + @Schema(description = "模板ID", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "模板ID不能为空") + private Long templateId; + + @Schema(description = "模板名称") + private String templateName; + + @Schema(description = "报告标题", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "报告标题不能为空") + private String title; + + @Schema(description = "报告日期", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "报告日期不能为空") + private java.time.LocalDate reportDate; + + @Schema(description = "维度内容,JSON格式") + private String dimensions; + + @Schema(description = "综合结论") + private String conclusion; + + @Schema(description = "改造建议") + private String suggestions; + + @Schema(description = "风险等级:1-低风险 2-中风险 3-高风险 4-极高风险") + private Integer riskLevel; + + @Schema(description = "附件列表,JSON格式") + private String attachments; + + @Schema(description = "状态:1-草稿 2-待审核 3-已通过 4-已退回", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "状态不能为空") + private Integer status; + + @Schema(description = "备注") + private String remark; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/ReportTemplateController.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/ReportTemplateController.java new file mode 100644 index 0000000000..4a547189e1 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/ReportTemplateController.java @@ -0,0 +1,129 @@ +package cn.iocoder.yudao.module.prison.controller.admin.reporttemplate; + +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.iocoder.yudao.module.prison.controller.admin.reporttemplate.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.reporttemplate.ReportTemplateDO; +import cn.iocoder.yudao.module.prison.service.reporttemplate.ReportTemplateService; +import cn.iocoder.yudao.module.prison.controller.admin.reporttemplate.vo.ReportTemplateConvert; + +@Tag(name = "管理后台 - 评估报告模板") +@RestController +@RequestMapping("/prison/report-template") +@Validated +public class ReportTemplateController { + + @Resource + private ReportTemplateService reportTemplateService; + + @PostMapping("/create") + @Operation(summary = "创建评估报告模板") + @PreAuthorize("@ss.hasPermission('prison:report-template:create')") + public CommonResult createReportTemplate(@Valid @RequestBody ReportTemplateSaveReqVO createReqVO) { + return success(reportTemplateService.createReportTemplate(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新评估报告模板") + @PreAuthorize("@ss.hasPermission('prison:report-template:update')") + public CommonResult updateReportTemplate(@Valid @RequestBody ReportTemplateSaveReqVO updateReqVO) { + reportTemplateService.updateReportTemplate(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除评估报告模板") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('prison:report-template:delete')") + public CommonResult deleteReportTemplate(@NotNull(message = "编号不能为空") @RequestParam("id") Long id) { + reportTemplateService.deleteReportTemplate(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Operation(summary = "批量删除评估报告模板") + @Parameter(name = "ids", description = "编号列表", required = true) + @PreAuthorize("@ss.hasPermission('prison:report-template:delete')") + public CommonResult deleteReportTemplateList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List ids) { + reportTemplateService.deleteReportTemplateListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得评估报告模板详情") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('prison:report-template:query')") + public CommonResult getReportTemplate(@RequestParam("id") Long id) { + return success(ReportTemplateConvert.INSTANCE.convert(reportTemplateService.getReportTemplate(id))); + } + + @GetMapping("/page") + @Operation(summary = "获得评估报告模板分页") + @PreAuthorize("@ss.hasPermission('prison:report-template:query')") + public CommonResult> getReportTemplatePage(@Valid ReportTemplatePageReqVO pageReqVO) { + PageResult pageResult = reportTemplateService.getReportTemplatePage(pageReqVO); + return success(ReportTemplateConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出评估报告模板 Excel") + @PreAuthorize("@ss.hasPermission('prison:report-template:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportReportTemplateExcel(@Valid ReportTemplatePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = ReportTemplateConvert.INSTANCE.convertList(reportTemplateService.getReportTemplatePage(pageReqVO).getList()); + // 导出 Excel + ExcelUtils.write(response, "评估报告模板.xls", "数据", ReportTemplateRespVO.class, list); + } + + @PostMapping("/copy") + @Operation(summary = "复制评估报告模板") + @Parameter(name = "id", description = "模板ID", required = true) + @PreAuthorize("@ss.hasPermission('prison:report-template:create')") + public CommonResult copyReportTemplate(@RequestParam("id") Long id) { + return success(reportTemplateService.copyReportTemplate(id)); + } + + @PutMapping("/update-status") + @Operation(summary = "更新评估报告模板状态") + @PreAuthorize("@ss.hasPermission('prison:report-template:update')") + public CommonResult updateReportTemplateStatus( + @RequestParam("id") Long id, + @RequestParam("status") Integer status) { + reportTemplateService.updateReportTemplateStatus(id, status); + return success(true); + } + + @PutMapping("/set-default") + @Operation(summary = "设为默认模板") + @Parameter(name = "id", description = "模板ID", required = true) + @PreAuthorize("@ss.hasPermission('prison:report-template:update')") + public CommonResult setReportTemplateDefault(@RequestParam("id") Long id) { + reportTemplateService.setReportTemplateDefault(id); + return success(true); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/vo/ReportTemplateConvert.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/vo/ReportTemplateConvert.java new file mode 100644 index 0000000000..c616de9637 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/vo/ReportTemplateConvert.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.prison.controller.admin.reporttemplate.vo; +import java.util.List; +import cn.iocoder.yudao.module.prison.dal.dataobject.reporttemplate.ReportTemplateDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +@Mapper(componentModel = "spring") +public interface ReportTemplateConvert { + ReportTemplateConvert INSTANCE = Mappers.getMapper(ReportTemplateConvert.class); + + ReportTemplateDO convert(ReportTemplateSaveReqVO bean); + + ReportTemplateRespVO convert(ReportTemplateDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/vo/ReportTemplatePageReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/vo/ReportTemplatePageReqVO.java new file mode 100644 index 0000000000..d9c8c8fccb --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/vo/ReportTemplatePageReqVO.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.prison.controller.admin.reporttemplate.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +@Schema(description = "管理后台 - 评估报告模板分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ReportTemplatePageReqVO extends PageParam { + + @Schema(description = "模板名称", example = "入监综合评估模板") + private String name; + + @Schema(description = "模板类型:1-入监综合评估 2-定期考核报告 3-出监评估 4-减刑假释建议 5-专项评估") + private Integer type; + + @Schema(description = "状态:0-停用 1-启用") + private Integer status; + + @Schema(description = "是否默认") + private Boolean isDefault; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/vo/ReportTemplateRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/vo/ReportTemplateRespVO.java new file mode 100644 index 0000000000..538fa11de3 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/vo/ReportTemplateRespVO.java @@ -0,0 +1,59 @@ +package cn.iocoder.yudao.module.prison.controller.admin.reporttemplate.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 评估报告模板 Response VO") +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ReportTemplateRespVO { + + @Schema(description = "模板ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "模板名称", example = "入监综合评估模板") + private String name; + + @Schema(description = "模板类型:1-入监综合评估 2-定期考核报告 3-出监评估 4-减刑假释建议 5-专项评估") + private Integer type; + + @Schema(description = "报告标题格式") + private String titleFormat; + + @Schema(description = "评估维度配置,JSON格式") + private String dimensions; + + @Schema(description = "AI提示词配置,JSON格式") + private String aiPromptConfig; + + @Schema(description = "样式配置,JSON格式") + private String styleConfig; + + @Schema(description = "状态:0-停用 1-启用") + private Integer status; + + @Schema(description = "是否默认") + private Boolean isDefault; + + @Schema(description = "版本号") + private Integer version; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建者") + private String creator; + + @Schema(description = "创建时间") + private LocalDateTime createTime; + + @Schema(description = "更新者") + private String updater; + + @Schema(description = "更新时间") + private LocalDateTime updateTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/vo/ReportTemplateSaveReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/vo/ReportTemplateSaveReqVO.java new file mode 100644 index 0000000000..5e6ba25404 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/reporttemplate/vo/ReportTemplateSaveReqVO.java @@ -0,0 +1,45 @@ +package cn.iocoder.yudao.module.prison.controller.admin.reporttemplate.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - 评估报告模板新增/修改 Request VO") +@Data +public class ReportTemplateSaveReqVO { + + @Schema(description = "模板ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long id; + + @Schema(description = "模板名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "入监综合评估模板") + @NotEmpty(message = "模板名称不能为空") + private String name; + + @Schema(description = "模板类型:1-入监综合评估 2-定期考核报告 3-出监评估 4-减刑假释建议 5-专项评估", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "模板类型不能为空") + private Integer type; + + @Schema(description = "报告标题格式", example = "{prisoner_name}入监综合评估报告") + private String titleFormat; + + @Schema(description = "评估维度配置,JSON格式") + private String dimensions; + + @Schema(description = "AI提示词配置,JSON格式") + private String aiPromptConfig; + + @Schema(description = "样式配置,JSON格式") + private String styleConfig; + + @Schema(description = "状态:0-停用 1-启用", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "状态不能为空") + private Integer status; + + @Schema(description = "是否默认") + private Boolean isDefault; + + @Schema(description = "备注", example = "用于新入监罪犯的综合评估") + private String remark; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/risk/RiskController.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/risk/RiskController.java new file mode 100644 index 0000000000..9e64a170a5 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/risk/RiskController.java @@ -0,0 +1,103 @@ +package cn.iocoder.yudao.module.prison.controller.admin.risk; + +import java.util.*; +import java.time.LocalDateTime; + +import cn.iocoder.yudao.module.prison.controller.admin.risk.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.risk.RiskDO; +import cn.iocoder.yudao.module.prison.service.risk.RiskService; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import org.springframework.security.access.prepost.PreAuthorize; + +import cn.iocoder.yudao.module.prison.convert.risk.RiskConvert; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; + +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; + +import lombok.RequiredArgsConstructor; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +/** + * 管理后台 - 风险评估 Controller + * + * @author xlcp + */ +@Tag(name = "管理后台 - 风险评估") +@RestController +@RequestMapping("/prison/risk") +@Validated +@RequiredArgsConstructor +public class RiskController { + + private final RiskService riskService; + + @PostMapping("/create") + @Operation(summary = "创建风险评估") + @PreAuthorize("@ss.hasPermission('prison:risk:create')") + public CommonResult create(@Valid @RequestBody RiskSaveReqVO createReqVO) { + return success(riskService.createRisk(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新风险评估") + @PreAuthorize("@ss.hasPermission('prison:risk:update')") + public CommonResult update(@Valid @RequestBody RiskSaveReqVO updateReqVO) { + riskService.updateRisk(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除风险评估") + @PreAuthorize("@ss.hasPermission('prison:risk:delete')") + public CommonResult delete(@RequestParam("id") Long id) { + riskService.deleteRisk(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Operation(summary = "批量删除风险评估") + @PreAuthorize("@ss.hasPermission('prison:risk:delete')") + public CommonResult deleteList(@RequestParam("ids") List ids) { + riskService.deleteRiskListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "查询风险评估详情") + @PreAuthorize("@ss.hasPermission('prison:risk:query')") + public CommonResult get(@RequestParam("id") Long id) { + RiskDO risk = riskService.getRisk(id); + return success(RiskConvert.INSTANCE.convert(risk)); + } + + @GetMapping("/page") + @Operation(summary = "分页查询风险评估") + @PreAuthorize("@ss.hasPermission('prison:risk:query')") + public CommonResult> page(@Valid RiskPageReqVO pageReqVO) { + PageResult pageResult = riskService.getRiskPage(pageReqVO); + return success(RiskConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出风险评估 Excel") + @PreAuthorize("@ss.hasPermission('prison:risk:export')") + public void exportExcel(@Valid RiskPageReqVO pageReqVO, + HttpServletResponse response) throws Exception { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = riskService.getRiskPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "风险评估.xls", "风险评估数据", RiskRespVO.class, + RiskConvert.INSTANCE.convertList(list)); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/risk/vo/RiskPageReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/risk/vo/RiskPageReqVO.java new file mode 100644 index 0000000000..1582fa8ef2 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/risk/vo/RiskPageReqVO.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.prison.controller.admin.risk.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 管理后台 - 风险评估分页 Request VO + * + * @author xlcp + */ +@Schema(description = "管理后台 - 风险评估分页 Request VO") +@Data +public class RiskPageReqVO extends PageParam { + + @Schema(description = "关联罪犯ID", example = "12345") + private Long prisonerId; + + @Schema(description = "罪犯编号", example = "ZF2024001") + private String prisonerCode; + + @Schema(description = "罪犯姓名", example = "张三") + private String prisonerName; + + @Schema(description = "评估类型:1-入监评估 2-定期评估 3-专项评估 4-出监评估", example = "1") + private Integer assessmentType; + + @Schema(description = "风险等级:1-低风险 2-中风险 3-高风险 4-极高风险", example = "2") + private Integer riskLevel; + + @Schema(description = "评估人") + private String assessor; + + @Schema(description = "精神状态评估", example = "精神状态正常") + private String mentalState; + + @Schema(description = "脱逃风险评估", example = "脱逃风险低") + private String escapeRisk; + + @Schema(description = "暴力倾向评估", example = "无暴力倾向") + private String violenceRisk; + + @Schema(description = "抗改风险评估", example = "配合改造") + private String revoltRisk; + + @Schema(description = "自杀自伤风险评估", example = "无自伤倾向") + private String selfHarmRisk; + + @Schema(description = "评估日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDate[] assessmentDate; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/risk/vo/RiskRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/risk/vo/RiskRespVO.java new file mode 100644 index 0000000000..5d45550592 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/risk/vo/RiskRespVO.java @@ -0,0 +1,105 @@ +package cn.iocoder.yudao.module.prison.controller.admin.risk.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import com.fasterxml.jackson.annotation.JsonFormat; +import cn.idev.excel.annotation.*; + +/** + * 管理后台 - 风险评估 Response VO + * + * @author xlcp + */ +@Schema(description = "管理后台 - 风险评估 Response VO") +@Data +@ExcelIgnoreUnannotated +public class RiskRespVO { + + @Schema(description = "评估ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19443") + @ExcelProperty("评估ID") + private Long id; + + @Schema(description = "关联罪犯ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12345") + @ExcelProperty("罪犯ID") + private Long prisonerId; + + @Schema(description = "罪犯编号", example = "ZF2024001") + @ExcelProperty("罪犯编号") + private String prisonerCode; + + @Schema(description = "罪犯姓名", example = "张三") + @ExcelProperty("罪犯姓名") + private String prisonerName; + + @Schema(description = "评估类型:1-入监评估 2-定期评估 3-专项评估 4-出监评估", example = "1") + @ExcelProperty("评估类型") + private Integer assessmentType; + + @Schema(description = "评估日期") + @ExcelProperty("评估日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai") + private LocalDate assessmentDate; + + @Schema(description = "综合风险得分(0-100)", example = "75.5") + @ExcelProperty("综合得分") + private BigDecimal overallScore; + + @Schema(description = "风险等级:1-低风险 2-中风险 3-高风险 4-极高风险", example = "2") + @ExcelProperty("风险等级") + private Integer riskLevel; + + @Schema(description = "精神状态评估", example = "精神状态正常") + @ExcelProperty("精神状态") + private String mentalState; + + @Schema(description = "脱逃风险评估", example = "脱逃风险低") + @ExcelProperty("脱逃风险") + private String escapeRisk; + + @Schema(description = "暴力倾向评估", example = "无暴力倾向") + @ExcelProperty("暴力倾向") + private String violenceRisk; + + @Schema(description = "抗改风险评估", example = "配合改造") + @ExcelProperty("抗改风险") + private String revoltRisk; + + @Schema(description = "自杀自伤风险评估", example = "无自伤倾向") + @ExcelProperty("自伤风险") + private String selfHarmRisk; + + @Schema(description = "评估建议", example = "建议加强心理辅导") + @ExcelProperty("评估建议") + private String recommendation; + + @Schema(description = "评估人") + @ExcelProperty("评估人") + private String assessor; + + @Schema(description = "评估方式:1-心理测评 2-行为观察 3-面谈评估 4-综合评估", example = "4") + @ExcelProperty("评估方式") + private Integer assessMethod; + + @Schema(description = "评估项目得分(JSON格式存储)") + @ExcelProperty("项目得分") + private String itemScores; + + @Schema(description = "评估结论", example = "综合评估为中风险") + @ExcelProperty("评估结论") + private String conclusion; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private LocalDateTime createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/risk/vo/RiskSaveReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/risk/vo/RiskSaveReqVO.java new file mode 100644 index 0000000000..2e54b5f715 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/risk/vo/RiskSaveReqVO.java @@ -0,0 +1,79 @@ +package cn.iocoder.yudao.module.prison.controller.admin.risk.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import java.time.LocalDate; +import jakarta.validation.constraints.*; + +/** + * 管理后台 - 风险评估新增/修改 Request VO + * + * @author xlcp + */ +@Schema(description = "管理后台 - 风险评估新增/修改 Request VO") +@Data +public class RiskSaveReqVO { + + @Schema(description = "评估ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19443") + private Long id; + + @Schema(description = "关联罪犯ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12345") + @NotNull(message = "罪犯ID不能为空") + private Long prisonerId; + + @Schema(description = "罪犯编号", example = "ZF2024001") + private String prisonerCode; + + @Schema(description = "罪犯姓名", example = "张三") + private String prisonerName; + + @Schema(description = "评估类型:1-入监评估 2-定期评估 3-专项评估 4-出监评估", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "评估类型不能为空") + private Integer assessmentType; + + @Schema(description = "评估日期") + private LocalDate assessmentDate; + + @Schema(description = "综合风险得分(0-100)", example = "75.5") + private BigDecimal overallScore; + + @Schema(description = "风险等级:1-低风险 2-中风险 3-高风险 4-极高风险", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotNull(message = "风险等级不能为空") + private Integer riskLevel; + + @Schema(description = "精神状态评估", example = "精神状态正常") + private String mentalState; + + @Schema(description = "脱逃风险评估", example = "脱逃风险低") + private String escapeRisk; + + @Schema(description = "暴力倾向评估", example = "无暴力倾向") + private String violenceRisk; + + @Schema(description = "抗改风险评估", example = "配合改造") + private String revoltRisk; + + @Schema(description = "自杀自伤风险评估", example = "无自伤倾向") + private String selfHarmRisk; + + @Schema(description = "评估建议", example = "建议加强心理辅导") + private String recommendation; + + @Schema(description = "评估人") + private String assessor; + + @Schema(description = "评估方式:1-心理测评 2-行为观察 3-面谈评估 4-综合评估", example = "4") + private Integer assessMethod; + + @Schema(description = "评估项目得分(JSON格式存储)", example = "[{\"itemId\":1,\"itemName\":\"项目名称\",\"score\":85,\"weight\":0.2}]") + private String itemScores; + + @Schema(description = "评估结论", example = "综合评估为中风险") + private String conclusion; + + @Schema(description = "备注") + private String remark; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/riskassessment/RiskAssessmentController.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/riskassessment/RiskAssessmentController.java new file mode 100644 index 0000000000..2f40b3bad8 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/riskassessment/RiskAssessmentController.java @@ -0,0 +1,102 @@ +package cn.iocoder.yudao.module.prison.controller.admin.riskassessment; + +import java.util.*; +import java.time.LocalDateTime; + +import cn.iocoder.yudao.module.prison.controller.admin.riskassessment.vo.*; +import cn.iocoder.yudao.module.prison.service.riskassessment.RiskAssessmentService; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import org.springframework.security.access.prepost.PreAuthorize; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; + +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import jakarta.annotation.Resource; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +/** + * 管理后台 - 危险评估 Controller + * + * @author xlcp + */ +@Tag(name = "管理后台 - 危险评估") +@RestController +@RequestMapping("/prison/risk-assessment") +@Validated +public class RiskAssessmentController { + + @Resource + private RiskAssessmentService riskAssessmentService; + + @PostMapping("/create") + @Operation(summary = "创建危险评估") + @PreAuthorize("@ss.hasPermission('prison:risk-assessment:create')") + public CommonResult create(@Valid @RequestBody RiskAssessmentSaveReqVO createReqVO) { + return success(riskAssessmentService.createRiskAssessment(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新危险评估") + @PreAuthorize("@ss.hasPermission('prison:risk-assessment:update')") + public CommonResult update(@Valid @RequestBody RiskAssessmentSaveReqVO updateReqVO) { + riskAssessmentService.updateRiskAssessment(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除危险评估") + @PreAuthorize("@ss.hasPermission('prison:risk-assessment:delete')") + public CommonResult delete(@RequestParam("id") Long id) { + riskAssessmentService.deleteRiskAssessment(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Operation(summary = "批量删除危险评估") + @PreAuthorize("@ss.hasPermission('prison:risk-assessment:delete')") + public CommonResult deleteList(@RequestParam("ids") List ids) { + riskAssessmentService.deleteRiskAssessmentListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "查询危险评估详情") + @PreAuthorize("@ss.hasPermission('prison:risk-assessment:query')") + public CommonResult get(@RequestParam("id") Long id) { + RiskAssessmentRespVO respVO = riskAssessmentService.getRiskAssessment(id); + return success(respVO); + } + + @GetMapping("/page") + @Operation(summary = "分页查询危险评估") + @PreAuthorize("@ss.hasPermission('prison:risk-assessment:query')") + public CommonResult> page(@Valid RiskAssessmentPageReqVO pageReqVO) { + PageResult voResult = riskAssessmentService.getRiskAssessmentPage(pageReqVO); + return success(voResult); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出危险评估 Excel") + @PreAuthorize("@ss.hasPermission('prison:risk-assessment:export')") + public void exportExcel(@Valid RiskAssessmentPageReqVO pageReqVO, + HttpServletResponse response) { + try { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = riskAssessmentService.getRiskAssessmentPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "危险评估.xls", "危险评估数据", RiskAssessmentRespVO.class, list); + } catch (Exception e) { + throw new RuntimeException("导出失败", e); + } + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/riskassessment/vo/RiskAssessmentPageReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/riskassessment/vo/RiskAssessmentPageReqVO.java index 3bdd4863fb..5b09ab19d7 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/riskassessment/vo/RiskAssessmentPageReqVO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/riskassessment/vo/RiskAssessmentPageReqVO.java @@ -21,6 +21,9 @@ public class RiskAssessmentPageReqVO extends PageParam { @Schema(description = "罪犯编号") private String prisonerNo; + @Schema(description = "罪犯姓名", example = "张三") + private String prisonerName; + @Schema(description = "评估类型:1-入狱评估 2-定期评估 3-专项评估", example = "2") private Integer assessmentType; diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/riskassessment/vo/RiskAssessmentRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/riskassessment/vo/RiskAssessmentRespVO.java index b929a41182..280e51eaf3 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/riskassessment/vo/RiskAssessmentRespVO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/riskassessment/vo/RiskAssessmentRespVO.java @@ -7,6 +7,7 @@ import java.math.BigDecimal; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDate; import java.time.LocalDateTime; +import com.fasterxml.jackson.annotation.JsonFormat; import cn.idev.excel.annotation.*; @Schema(description = "管理后台 - 危险评估 Response VO") @@ -26,12 +27,17 @@ public class RiskAssessmentRespVO { @ExcelProperty("罪犯编号") private String prisonerNo; + @Schema(description = "罪犯姓名", example = "张三") + @ExcelProperty("罪犯姓名") + private String prisonerName; + @Schema(description = "评估类型:1-入狱评估 2-定期评估 3-专项评估", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @ExcelProperty("评估类型:1-入狱评估 2-定期评估 3-专项评估") private Integer assessmentType; @Schema(description = "评估日期", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("评估日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai") private LocalDate assessmentDate; @Schema(description = "暴力倾向得分") @@ -72,6 +78,7 @@ public class RiskAssessmentRespVO { @Schema(description = "下次评估日期") @ExcelProperty("下次评估日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai") private LocalDate nextAssessmentDate; @Schema(description = "状态:1-待审核 2-已通过", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @@ -84,6 +91,7 @@ public class RiskAssessmentRespVO { @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private LocalDateTime createTime; } \ No newline at end of file diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/riskassessment/vo/RiskAssessmentSaveReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/riskassessment/vo/RiskAssessmentSaveReqVO.java index b9792d3f9b..f336477879 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/riskassessment/vo/RiskAssessmentSaveReqVO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/riskassessment/vo/RiskAssessmentSaveReqVO.java @@ -39,7 +39,7 @@ public class RiskAssessmentSaveReqVO { @Schema(description = "自杀倾向得分") private BigDecimal suicideScore; - @Schema(description = "综合得分") + @Schema(description = "综合得分", hidden = true) private BigDecimal totalScore; @Schema(description = "风险等级:1-低风险 2-中风险 3-高风险 4-极高风险", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/score/PrisonScoreController.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/score/PrisonScoreController.java index 994b502432..1aff5611fd 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/score/PrisonScoreController.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/score/PrisonScoreController.java @@ -17,7 +17,6 @@ import java.io.IOException; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; @@ -26,7 +25,6 @@ import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; import cn.iocoder.yudao.module.prison.controller.admin.score.vo.*; -import cn.iocoder.yudao.module.prison.dal.dataobject.score.ScoreDO; import cn.iocoder.yudao.module.prison.service.score.ScoreService; @Tag(name = "管理后台 - 计分考核") @@ -76,16 +74,14 @@ public class PrisonScoreController { @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('prison:score:query')") public CommonResult getScore(@RequestParam("id") Long id) { - ScoreDO score = scoreService.getScore(id); - return success(BeanUtils.toBean(score, ScoreRespVO.class)); + return success(scoreService.getScore(id)); } @GetMapping("/page") @Operation(summary = "获得计分考核分页") @PreAuthorize("@ss.hasPermission('prison:score:query')") public CommonResult> getScorePage(@Valid ScorePageReqVO pageReqVO) { - PageResult pageResult = scoreService.getScorePage(pageReqVO); - return success(BeanUtils.toBean(pageResult, ScoreRespVO.class)); + return success(scoreService.getScorePage(pageReqVO)); } @GetMapping("/export-excel") @@ -95,10 +91,9 @@ public class PrisonScoreController { public void exportScoreExcel(@Valid ScorePageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = scoreService.getScorePage(pageReqVO).getList(); + List list = scoreService.getScorePage(pageReqVO).getList(); // 导出 Excel - ExcelUtils.write(response, "计分考核.xls", "数据", ScoreRespVO.class, - BeanUtils.toBean(list, ScoreRespVO.class)); + ExcelUtils.write(response, "计分考核.xls", "数据", ScoreRespVO.class, list); } } \ No newline at end of file diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/score/vo/ScorePageReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/score/vo/ScorePageReqVO.java index 43c1603f28..dd6f8405b0 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/score/vo/ScorePageReqVO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/score/vo/ScorePageReqVO.java @@ -20,6 +20,15 @@ public class ScorePageReqVO extends PageParam { @Schema(description = "罪犯编号") private String prisonerNo; + @Schema(description = "罪犯姓名", example = "张三") + private String prisonerName; + + @Schema(description = "监区ID", example = "1") + private Long prisonAreaId; + + @Schema(description = "监室ID", example = "1") + private Long prisonCellId; + @Schema(description = "考核年份") private Integer year; diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/score/vo/ScoreRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/score/vo/ScoreRespVO.java index fb1b9ddee0..6450b387ea 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/score/vo/ScoreRespVO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/score/vo/ScoreRespVO.java @@ -6,6 +6,7 @@ import java.util.*; import java.math.BigDecimal; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import com.fasterxml.jackson.annotation.JsonFormat; import cn.idev.excel.annotation.*; @Schema(description = "管理后台 - 计分考核 Response VO") @@ -25,6 +26,24 @@ public class ScoreRespVO { @ExcelProperty("罪犯编号") private String prisonerNo; + @Schema(description = "罪犯姓名", example = "张三") + @ExcelProperty("罪犯姓名") + private String prisonerName; + + @Schema(description = "监区ID", example = "1") + private Long prisonAreaId; + + @Schema(description = "监区名称", example = "一监区") + @ExcelProperty("监区") + private String prisonAreaName; + + @Schema(description = "监室ID", example = "1") + private Long prisonCellId; + + @Schema(description = "监室名称", example = "101监室") + @ExcelProperty("监室") + private String prisonCellName; + @Schema(description = "考核年份", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("考核年份") private Integer year; @@ -71,6 +90,12 @@ public class ScoreRespVO { @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private LocalDateTime createTime; + @Schema(description = "更新时间") + @ExcelProperty("更新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private LocalDateTime updateTime; + } \ No newline at end of file diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/scorerecord/vo/ScoreDetailRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/scorerecord/vo/ScoreDetailRespVO.java index c8779735b1..27578457ad 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/scorerecord/vo/ScoreDetailRespVO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/scorerecord/vo/ScoreDetailRespVO.java @@ -5,6 +5,7 @@ import lombok.*; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; +import com.fasterxml.jackson.annotation.JsonFormat; /** * 考核记录明细 Response VO @@ -27,6 +28,7 @@ public class ScoreDetailRespVO { private String prisonerNo; @Schema(description = "记录日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai") private LocalDate recordDate; @Schema(description = "规则ID") @@ -60,6 +62,7 @@ public class ScoreDetailRespVO { private String statusName; @Schema(description = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") private LocalDateTime createTime; } diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/scorerule/ScoreRuleController.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/scorerule/ScoreRuleController.java index 45f3e08374..0d175b3e34 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/scorerule/ScoreRuleController.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/scorerule/ScoreRuleController.java @@ -5,6 +5,8 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.prison.controller.admin.scorerule.vo.*; import cn.iocoder.yudao.module.prison.dal.dataobject.scorerule.ScoreRuleDO; +import cn.iocoder.yudao.module.prison.enums.ScoreRuleCategoryEnum; +import cn.iocoder.yudao.module.prison.enums.ScoreRuleStatusEnum; import cn.iocoder.yudao.module.prison.service.scorerule.ScoreRuleService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -70,7 +72,7 @@ public class ScoreRuleController { @PreAuthorize("@ss.hasPermission('prison:score-rule:query')") public CommonResult getScoreRule(@RequestParam("id") Long id) { ScoreRuleDO scoreRule = scoreRuleService.getScoreRule(id); - return success(BeanUtils.toBean(scoreRule, ScoreRuleRespVO.class)); + return success(convertToRespVO(scoreRule)); } @GetMapping("/page") @@ -79,7 +81,7 @@ public class ScoreRuleController { public CommonResult> getScoreRulePage(@Valid ScoreRulePageReqVO pageReqVO) { PageResult pageResult = scoreRuleService.getScoreRulePage(pageReqVO); List list = pageResult.getList().stream() - .map(item -> BeanUtils.toBean(item, ScoreRuleRespVO.class)) + .map(this::convertToRespVO) .collect(Collectors.toList()); return success(new PageResult<>(list, pageResult.getTotal())); } @@ -91,8 +93,21 @@ public class ScoreRuleController { @RequestParam("category") Integer category) { List list = scoreRuleService.getScoreRuleListByCategory(category); return success(list.stream() - .map(item -> BeanUtils.toBean(item, ScoreRuleRespVO.class)) + .map(this::convertToRespVO) .collect(Collectors.toList())); } + /** + * 将 DO 转换为 RespVO,并填充枚举名称 + */ + private ScoreRuleRespVO convertToRespVO(ScoreRuleDO scoreRule) { + if (scoreRule == null) { + return null; + } + ScoreRuleRespVO respVO = BeanUtils.toBean(scoreRule, ScoreRuleRespVO.class); + respVO.setCategoryName(ScoreRuleCategoryEnum.getName(scoreRule.getCategory())); + respVO.setStatusName(ScoreRuleStatusEnum.getName(scoreRule.getStatus())); + return respVO; + } + } diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/situation/SituationController.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/situation/SituationController.java new file mode 100644 index 0000000000..7ecd50e160 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/situation/SituationController.java @@ -0,0 +1,112 @@ +package cn.iocoder.yudao.module.prison.controller.admin.situation; + +import java.util.*; +import java.time.LocalDateTime; + +import cn.iocoder.yudao.module.prison.controller.admin.situation.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.situation.SituationDO; +import cn.iocoder.yudao.module.prison.service.situation.SituationService; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import org.springframework.security.access.prepost.PreAuthorize; + +import cn.iocoder.yudao.module.prison.convert.situation.SituationConvert; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import org.springframework.validation.annotation.Validated; + +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.*; + +import lombok.RequiredArgsConstructor; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +/** + * 管理后台 - 狱情收集 Controller + * + * @author xlcp + */ +@Tag(name = "管理后台 - 狱情收集") +@RestController +@RequestMapping("/prison/situation") +@Validated +@RequiredArgsConstructor +public class SituationController { + + private final SituationService situationService; + + @PostMapping("/create") + @Operation(summary = "创建狱情收集") + @PreAuthorize("@ss.hasPermission('prison:situation:create')") + public CommonResult create(@Valid @RequestBody SituationSaveReqVO createReqVO) { + return success(situationService.createSituation(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新狱情收集") + @PreAuthorize("@ss.hasPermission('prison:situation:update')") + public CommonResult update(@Valid @RequestBody SituationSaveReqVO updateReqVO) { + situationService.updateSituation(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除狱情收集") + @PreAuthorize("@ss.hasPermission('prison:situation:delete')") + public CommonResult delete(@RequestParam("id") Long id) { + situationService.deleteSituation(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Operation(summary = "批量删除狱情收集") + @PreAuthorize("@ss.hasPermission('prison:situation:delete')") + public CommonResult deleteList(@RequestParam("ids") List ids) { + situationService.deleteSituationListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "查询狱情收集详情") + @PreAuthorize("@ss.hasPermission('prison:situation:query')") + public CommonResult get(@RequestParam("id") Long id) { + SituationDO situation = situationService.getSituation(id); + return success(SituationConvert.INSTANCE.convert(situation)); + } + + @GetMapping("/page") + @Operation(summary = "分页查询狱情收集") + @PreAuthorize("@ss.hasPermission('prison:situation:query')") + public CommonResult> page(@Valid SituationPageReqVO pageReqVO) { + PageResult pageResult = situationService.getSituationPage(pageReqVO); + return success(SituationConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/list") + @Operation(summary = "查询狱情收集列表") + @PreAuthorize("@ss.hasPermission('prison:situation:query')") + public CommonResult> list(@Valid SituationPageReqVO pageReqVO) { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = situationService.getSituationPage(pageReqVO).getList(); + return success(SituationConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出狱情收集 Excel") + @PreAuthorize("@ss.hasPermission('prison:situation:export')") + public void exportExcel(@Valid SituationPageReqVO pageReqVO, + HttpServletResponse response) throws Exception { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = situationService.getSituationPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "狱情收集.xls", "狱情收集数据", SituationRespVO.class, + SituationConvert.INSTANCE.convertList(list)); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/situation/vo/SituationPageReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/situation/vo/SituationPageReqVO.java new file mode 100644 index 0000000000..fce1aaf27f --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/situation/vo/SituationPageReqVO.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.prison.controller.admin.situation.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 管理后台 - 狱情收集分页 Request VO + * + * @author xlcp + */ +@Schema(description = "管理后台 - 狱情收集分页 Request VO") +@Data +public class SituationPageReqVO extends PageParam { + + @Schema(description = "标题", example = "发现可疑物品") + private String title; + + @Schema(description = "分类:1-监管安全 2-教育改造 3-生活卫生 4-生产安全 5-狱内案件 6-其他", example = "1") + private Integer category; + + @Schema(description = "等级:1-一般 2-重要 3-紧急", example = "1") + private Integer level; + + @Schema(description = "来源:1-民警报告 2-监控系统 3-举报 4-罪犯自首 5-其他", example = "1") + private Integer source; + + @Schema(description = "处理状态:1-待处理 2-处理中 3-已处理", example = "1") + private Integer status; + + @Schema(description = "关联监区ID") + private Long areaId; + + @Schema(description = "关联监室ID") + private Long cellId; + + @Schema(description = "报告人") + private String reporter; + + @Schema(description = "处理人") + private String handler; + + @Schema(description = "发生时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] occurTime; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/situation/vo/SituationRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/situation/vo/SituationRespVO.java new file mode 100644 index 0000000000..8d442c0d38 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/situation/vo/SituationRespVO.java @@ -0,0 +1,84 @@ +package cn.iocoder.yudao.module.prison.controller.admin.situation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.idev.excel.annotation.*; + +/** + * 管理后台 - 狱情收集 Response VO + * + * @author xlcp + */ +@Schema(description = "管理后台 - 狱情收集 Response VO") +@Data +@ExcelIgnoreUnannotated +public class SituationRespVO { + + @Schema(description = "狱情ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19443") + @ExcelProperty("狱情ID") + private Long id; + + @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "发现可疑物品") + @ExcelProperty("标题") + private String title; + + @Schema(description = "详情内容", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("详情内容") + private String content; + + @Schema(description = "分类:1-监管安全 2-教育改造 3-生活卫生 4-生产安全 5-狱内案件 6-其他", example = "1") + @ExcelProperty("分类") + private Integer category; + + @Schema(description = "等级:1-一般 2-重要 3-紧急", example = "1") + @ExcelProperty("等级") + private Integer level; + + @Schema(description = "来源:1-民警报告 2-监控系统 3-举报 4-罪犯自首 5-其他", example = "1") + @ExcelProperty("来源") + private Integer source; + + @Schema(description = "处理状态:1-待处理 2-处理中 3-已处理", example = "1") + @ExcelProperty("处理状态") + private Integer status; + + @Schema(description = "关联监区ID") + @ExcelProperty("关联监区ID") + private Long areaId; + + @Schema(description = "关联监室ID") + @ExcelProperty("关联监室ID") + private Long cellId; + + @Schema(description = "报告人") + @ExcelProperty("报告人") + private String reporter; + + @Schema(description = "处理人") + @ExcelProperty("处理人") + private String handler; + + @Schema(description = "处理时间") + @ExcelProperty("处理时间") + private LocalDateTime handleTime; + + @Schema(description = "处理结果") + @ExcelProperty("处理结果") + private String handleResult; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "发生时间") + @ExcelProperty("发生时间") + private LocalDateTime occurTime; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/situation/vo/SituationSaveReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/situation/vo/SituationSaveReqVO.java new file mode 100644 index 0000000000..fb10f8e550 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/situation/vo/SituationSaveReqVO.java @@ -0,0 +1,68 @@ +package cn.iocoder.yudao.module.prison.controller.admin.situation.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +/** + * 管理后台 - 狱情收集新增/修改 Request VO + * + * @author xlcp + */ +@Schema(description = "管理后台 - 狱情收集新增/修改 Request VO") +@Data +public class SituationSaveReqVO { + + @Schema(description = "狱情ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19443") + private Long id; + + @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "发现可疑物品") + @NotEmpty(message = "标题不能为空") + private String title; + + @Schema(description = "详情内容", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "详情内容不能为空") + private String content; + + @Schema(description = "分类:1-监管安全 2-教育改造 3-生活卫生 4-生产安全 5-狱内案件 6-其他", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "分类不能为空") + private Integer category; + + @Schema(description = "等级:1-一般 2-重要 3-紧急", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "等级不能为空") + private Integer level; + + @Schema(description = "来源:1-民警报告 2-监控系统 3-举报 4-罪犯自首 5-其他", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "来源不能为空") + private Integer source; + + @Schema(description = "处理状态:1-待处理 2-处理中 3-已处理", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "处理状态不能为空") + private Integer status; + + @Schema(description = "关联监区ID") + private Long areaId; + + @Schema(description = "关联监室ID") + private Long cellId; + + @Schema(description = "报告人") + private String reporter; + + @Schema(description = "处理人") + private String handler; + + @Schema(description = "处理时间") + private java.time.LocalDateTime handleTime; + + @Schema(description = "处理结果") + private String handleResult; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "发生时间") + private java.time.LocalDateTime occurTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/warning/WarningController.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/warning/WarningController.java new file mode 100644 index 0000000000..65fc30e2ff --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/warning/WarningController.java @@ -0,0 +1,103 @@ +package cn.iocoder.yudao.module.prison.controller.admin.warning; + +import java.util.*; +import java.time.LocalDateTime; + +import cn.iocoder.yudao.module.prison.controller.admin.warning.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.warning.WarningDO; +import cn.iocoder.yudao.module.prison.service.warning.WarningService; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import org.springframework.security.access.prepost.PreAuthorize; + +import cn.iocoder.yudao.module.prison.convert.warning.WarningConvert; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; + +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; + +import lombok.RequiredArgsConstructor; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +/** + * 管理后台 - 预警信息 Controller + * + * @author xlcp + */ +@Tag(name = "管理后台 - 预警信息") +@RestController +@RequestMapping("/prison/warning") +@Validated +@RequiredArgsConstructor +public class WarningController { + + private final WarningService warningService; + + @PostMapping("/create") + @Operation(summary = "创建预警信息") + @PreAuthorize("@ss.hasPermission('prison:warning:create')") + public CommonResult create(@Valid @RequestBody WarningSaveReqVO createReqVO) { + return success(warningService.createWarning(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新预警信息") + @PreAuthorize("@ss.hasPermission('prison:warning:update')") + public CommonResult update(@Valid @RequestBody WarningSaveReqVO updateReqVO) { + warningService.updateWarning(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除预警信息") + @PreAuthorize("@ss.hasPermission('prison:warning:delete')") + public CommonResult delete(@RequestParam("id") Long id) { + warningService.deleteWarning(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Operation(summary = "批量删除预警信息") + @PreAuthorize("@ss.hasPermission('prison:warning:delete')") + public CommonResult deleteList(@RequestParam("ids") List ids) { + warningService.deleteWarningListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "查询预警信息详情") + @PreAuthorize("@ss.hasPermission('prison:warning:query')") + public CommonResult get(@RequestParam("id") Long id) { + WarningDO warning = warningService.getWarning(id); + return success(WarningConvert.INSTANCE.convert(warning)); + } + + @GetMapping("/page") + @Operation(summary = "分页查询预警信息") + @PreAuthorize("@ss.hasPermission('prison:warning:query')") + public CommonResult> page(@Valid WarningPageReqVO pageReqVO) { + PageResult pageResult = warningService.getWarningPage(pageReqVO); + return success(WarningConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出预警信息 Excel") + @PreAuthorize("@ss.hasPermission('prison:warning:export')") + public void exportExcel(@Valid WarningPageReqVO pageReqVO, + HttpServletResponse response) throws Exception { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = warningService.getWarningPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "预警信息.xls", "预警信息数据", WarningRespVO.class, + WarningConvert.INSTANCE.convertList(list)); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/warning/vo/WarningPageReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/warning/vo/WarningPageReqVO.java new file mode 100644 index 0000000000..f023b99d5e --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/warning/vo/WarningPageReqVO.java @@ -0,0 +1,66 @@ +package cn.iocoder.yudao.module.prison.controller.admin.warning.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +/** + * 管理后台 - 预警信息分页 Request VO + * + * @author xlcp + */ +@Schema(description = "管理后台 - 预警信息分页 Request VO") +@Data +public class WarningPageReqVO extends PageParam { + + @Schema(description = "预警标题", example = "发现可疑物品") + private String title; + + @Schema(description = "预警类型:1-安全预警 2-监管预警 3-改造预警 4-生产预警 5-生活卫生预警 6-其他", example = "1") + private Integer type; + + @Schema(description = "预警等级:1-一般 2-重要 3-紧急 4-严重", example = "1") + private Integer level; + + @Schema(description = "预警状态:1-待核实 2-已核实 3-已处置 4-已解除", example = "1") + private Integer status; + + @Schema(description = "预警来源:1-民警报告 2-监控系统 3-举报 4-罪犯自首 5-智能分析 6-其他", example = "1") + private Integer source; + + @Schema(description = "关联狱情ID") + private Long situationId; + + @Schema(description = "关联监区ID") + private Long areaId; + + @Schema(description = "关联监室ID") + private Long cellId; + + @Schema(description = "核实人") + private String verifier; + + @Schema(description = "处置人") + private String handler; + + @Schema(description = "解除人") + private String releaser; + + @Schema(description = "预警时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] alertTime; + + @Schema(description = "发生时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] occurTime; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/warning/vo/WarningRespVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/warning/vo/WarningRespVO.java new file mode 100644 index 0000000000..66051f225c --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/warning/vo/WarningRespVO.java @@ -0,0 +1,123 @@ +package cn.iocoder.yudao.module.prison.controller.admin.warning.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.fasterxml.jackson.annotation.JsonFormat; +import cn.idev.excel.annotation.*; + +/** + * 管理后台 - 预警信息 Response VO + * + * @author xlcp + */ +@Schema(description = "管理后台 - 预警信息 Response VO") +@Data +@ExcelIgnoreUnannotated +public class WarningRespVO { + + @Schema(description = "预警ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19443") + @ExcelProperty("预警ID") + private Long id; + + @Schema(description = "预警标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "发现可疑物品") + @ExcelProperty("预警标题") + private String title; + + @Schema(description = "预警内容", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("预警内容") + private String content; + + @Schema(description = "预警类型:1-安全预警 2-监管预警 3-改造预警 4-生产预警 5-生活卫生预警 6-其他", example = "1") + @ExcelProperty("预警类型") + private Integer type; + + @Schema(description = "预警等级:1-一般 2-重要 3-紧急 4-严重", example = "1") + @ExcelProperty("预警等级") + private Integer level; + + @Schema(description = "预警状态:1-待核实 2-已核实 3-已处置 4-已解除", example = "1") + @ExcelProperty("预警状态") + private Integer status; + + @Schema(description = "预警来源:1-民警报告 2-监控系统 3-举报 4-罪犯自首 5-智能分析 6-其他", example = "1") + @ExcelProperty("预警来源") + private Integer source; + + @Schema(description = "关联狱情ID") + @ExcelProperty("关联狱情ID") + private Long situationId; + + @Schema(description = "关联监区ID") + @ExcelProperty("关联监区ID") + private Long areaId; + + @Schema(description = "关联监室ID") + @ExcelProperty("关联监室ID") + private Long cellId; + + @Schema(description = "预警时间") + @ExcelProperty("预警时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private LocalDateTime alertTime; + + @Schema(description = "核实时间") + @ExcelProperty("核实时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private LocalDateTime verifyTime; + + @Schema(description = "核实人") + @ExcelProperty("核实人") + private String verifier; + + @Schema(description = "核实结果") + @ExcelProperty("核实结果") + private String verifyResult; + + @Schema(description = "处置时间") + @ExcelProperty("处置时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private LocalDateTime handleTime; + + @Schema(description = "处置人") + @ExcelProperty("处置人") + private String handler; + + @Schema(description = "处置方式") + @ExcelProperty("处置方式") + private String handleMethod; + + @Schema(description = "处置结果") + @ExcelProperty("处置结果") + private String handleResult; + + @Schema(description = "解除时间") + @ExcelProperty("解除时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private LocalDateTime releaseTime; + + @Schema(description = "解除人") + @ExcelProperty("解除人") + private String releaser; + + @Schema(description = "解除原因") + @ExcelProperty("解除原因") + private String releaseReason; + + @Schema(description = "发生时间") + @ExcelProperty("发生时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private LocalDateTime occurTime; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") + private LocalDateTime createTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/warning/vo/WarningSaveReqVO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/warning/vo/WarningSaveReqVO.java new file mode 100644 index 0000000000..7c682266ef --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/warning/vo/WarningSaveReqVO.java @@ -0,0 +1,92 @@ +package cn.iocoder.yudao.module.prison.controller.admin.warning.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +/** + * 管理后台 - 预警信息新增/修改 Request VO + * + * @author xlcp + */ +@Schema(description = "管理后台 - 预警信息新增/修改 Request VO") +@Data +public class WarningSaveReqVO { + + @Schema(description = "预警ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19443") + private Long id; + + @Schema(description = "预警标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "发现可疑物品") + @NotEmpty(message = "预警标题不能为空") + private String title; + + @Schema(description = "预警内容", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "预警内容不能为空") + private String content; + + @Schema(description = "预警类型:1-安全预警 2-监管预警 3-改造预警 4-生产预警 5-生活卫生预警 6-其他", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "预警类型不能为空") + private Integer type; + + @Schema(description = "预警等级:1-一般 2-重要 3-紧急 4-严重", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "预警等级不能为空") + private Integer level; + + @Schema(description = "预警状态:1-待核实 2-已核实 3-已处置 4-已解除", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "预警状态不能为空") + private Integer status; + + @Schema(description = "预警来源:1-民警报告 2-监控系统 3-举报 4-罪犯自首 5-智能分析 6-其他", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "预警来源不能为空") + private Integer source; + + @Schema(description = "关联狱情ID") + private Long situationId; + + @Schema(description = "关联监区ID") + private Long areaId; + + @Schema(description = "关联监室ID") + private Long cellId; + + @Schema(description = "预警时间") + private java.time.LocalDateTime alertTime; + + @Schema(description = "核实时间") + private java.time.LocalDateTime verifyTime; + + @Schema(description = "核实人") + private String verifier; + + @Schema(description = "核实结果") + private String verifyResult; + + @Schema(description = "处置时间") + private java.time.LocalDateTime handleTime; + + @Schema(description = "处置人") + private String handler; + + @Schema(description = "处置方式") + private String handleMethod; + + @Schema(description = "处置结果") + private String handleResult; + + @Schema(description = "解除时间") + private java.time.LocalDateTime releaseTime; + + @Schema(description = "解除人") + private String releaser; + + @Schema(description = "解除原因") + private String releaseReason; + + @Schema(description = "发生时间") + private java.time.LocalDateTime occurTime; + + @Schema(description = "备注") + private String remark; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/evaluationreport/EvaluationReportConvert.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/evaluationreport/EvaluationReportConvert.java new file mode 100644 index 0000000000..9b68651f0f --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/evaluationreport/EvaluationReportConvert.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.prison.convert.evaluationreport; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.evaluationreport.*; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 评估报告 Convert + * + * @author xlcp + */ +@Mapper +public interface EvaluationReportConvert { + + EvaluationReportConvert INSTANCE = Mappers.getMapper(EvaluationReportConvert.class); + + // ========== 模板 ========== + + EvaluationTemplateDO convert(EvaluationTemplateSaveReqVO bean); + EvaluationTemplateRespVO convert(EvaluationTemplateDO bean); + List convertTemplateList(List list); + PageResult convertTemplatePage(PageResult page); + + // ========== 维度 ========== + + EvaluationDimensionDO convert(EvaluationDimensionSaveReqVO bean); + EvaluationDimensionRespVO convert(EvaluationDimensionDO bean); + List convertDimensionList(List list); + PageResult convertDimensionPage(PageResult page); + + // ========== 报告 ========== + + EvaluationReportDO convert(EvaluationReportSaveReqVO bean); + EvaluationReportRespVO convert(EvaluationReportDO bean); + List convertReportList(List list); + PageResult convertReportPage(PageResult page); + + // ========== 维度数据 ========== + + EvaluationDimensionDataDO convert(EvaluationDimensionDataSaveReqVO bean); + EvaluationDimensionDataRespVO convert(EvaluationDimensionDataDO bean); + List convertDimensionDataList(List list); + + // ========== 评语 ========== + + ReportCommentDO convert(ReportCommentSaveReqVO bean); + ReportCommentRespVO convert(ReportCommentDO bean); + List convertCommentList(List list); + PageResult convertCommentPage(PageResult page); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/prisoner/PrisonerConvert.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/prisoner/PrisonerConvert.java index 6e36752a5e..cf4d1df39d 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/prisoner/PrisonerConvert.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/prisoner/PrisonerConvert.java @@ -3,10 +3,12 @@ package cn.iocoder.yudao.module.prison.convert.prisoner; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.prison.controller.admin.prisoner.vo.*; import cn.iocoder.yudao.module.prison.dal.dataobject.PrisonerDO; +import cn.iocoder.yudao.module.prison.enums.EducationEnum; import cn.iocoder.yudao.module.prison.enums.GenderEnum; -import cn.iocoder.yudao.module.prison.enums.SupervisionLevelEnum; import cn.iocoder.yudao.module.prison.enums.PrisonerStatusEnum; +import cn.iocoder.yudao.module.prison.enums.ReleaseTypeEnum; import cn.iocoder.yudao.module.prison.enums.RiskLevelEnum; +import cn.iocoder.yudao.module.prison.enums.SupervisionLevelEnum; import org.mapstruct.AfterMapping; import org.mapstruct.Mapper; import org.mapstruct.Mapping; @@ -52,6 +54,80 @@ public interface PrisonerConvert { return value != null ? PrisonerStatusEnum.fromValue(value) : null; } + // 枚举值转换工具方法 + @Named("genderToValue") + default Integer genderToValue(GenderEnum gender) { + return gender != null ? gender.getValue() : null; + } + + @Named("educationToValue") + default Integer educationToValue(EducationEnum education) { + return education != null ? education.getValue() : null; + } + + @Named("supervisionLevelToValue") + default Integer supervisionLevelToValue(SupervisionLevelEnum level) { + return level != null ? level.getValue() : null; + } + + @Named("riskLevelToValue") + default Integer riskLevelToValue(RiskLevelEnum level) { + return level != null ? level.getValue() : null; + } + + @Named("releaseTypeToValue") + default Integer releaseTypeToValue(ReleaseTypeEnum type) { + return type != null ? type.getValue() : null; + } + + @Named("statusToValue") + default Integer statusToValue(PrisonerStatusEnum status) { + return status != null ? status.getValue() : null; + } + + // 枚举名称转换工具方法 + @Named("genderToName") + default String genderToName(GenderEnum gender) { + return gender != null ? gender.getName() : null; + } + + @Named("educationToName") + default String educationToName(EducationEnum education) { + return education != null ? education.getName() : null; + } + + @Named("supervisionLevelToName") + default String supervisionLevelToName(SupervisionLevelEnum level) { + return level != null ? level.getName() : null; + } + + @Named("riskLevelToName") + default String riskLevelToName(RiskLevelEnum level) { + return level != null ? level.getName() : null; + } + + @Named("releaseTypeToName") + default String releaseTypeToName(ReleaseTypeEnum type) { + return type != null ? type.getName() : null; + } + + @Named("statusToName") + default String statusToName(PrisonerStatusEnum status) { + return status != null ? status.getName() : null; + } + + @Mapping(target = "gender", source = "gender", qualifiedByName = "genderToValue") + @Mapping(target = "genderName", source = "gender", qualifiedByName = "genderToName") + @Mapping(target = "education", source = "education", qualifiedByName = "educationToValue") + @Mapping(target = "educationName", source = "education", qualifiedByName = "educationToName") + @Mapping(target = "supervisionLevel", source = "supervisionLevel", qualifiedByName = "supervisionLevelToValue") + @Mapping(target = "supervisionLevelName", source = "supervisionLevel", qualifiedByName = "supervisionLevelToName") + @Mapping(target = "riskLevel", source = "riskLevel", qualifiedByName = "riskLevelToValue") + @Mapping(target = "riskLevelName", source = "riskLevel", qualifiedByName = "riskLevelToName") + @Mapping(target = "releaseType", source = "releaseType", qualifiedByName = "releaseTypeToValue") + @Mapping(target = "releaseTypeName", source = "releaseType", qualifiedByName = "releaseTypeToName") + @Mapping(target = "status", source = "status", qualifiedByName = "statusToValue") + @Mapping(target = "statusName", source = "status", qualifiedByName = "statusToName") PrisonerRespVO convert(PrisonerDO bean); List convertList(List list); @@ -62,42 +138,4 @@ public interface PrisonerConvert { List convertExcelListFromRespVO(List list); - @AfterMapping - default void afterConvert(PrisonerDO source, PrisonerRespVO target) { - // 设置性别 - if (source.getGender() != null) { - target.setGender(source.getGender().getValue()); - target.setGenderName(source.getGender().getName()); - } - // 设置监管等级 - if (source.getSupervisionLevel() != null) { - target.setSupervisionLevel(source.getSupervisionLevel().getValue()); - target.setSupervisionLevelName(source.getSupervisionLevel().getName()); - } - // 设置风险等级 - if (source.getRiskLevel() != null) { - target.setRiskLevel(source.getRiskLevel().getValue()); - // 风险等级标签 - String[] riskLabels = {"", "低风险", "中风险", "高风险", "极高风险"}; - Integer value = source.getRiskLevel().getValue(); - if (value >= 1 && value <= 4) { - target.setRiskLevelName(riskLabels[value]); - } - } - // 设置状态 - if (source.getStatus() != null) { - target.setStatus(source.getStatus().getValue()); - target.setStatusName(source.getStatus().getName()); - } - } - - @AfterMapping - default void afterConvertPage(PageResult page, PageResult result) { - if (page.getList() != null) { - for (int i = 0; i < page.getList().size(); i++) { - afterConvert(page.getList().get(i), result.getList().get(i)); - } - } - } - } diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/question/QuestionConvert.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/question/QuestionConvert.java new file mode 100644 index 0000000000..01b1193558 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/question/QuestionConvert.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.prison.convert.question; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.prison.controller.admin.question.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.question.QuestionDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 问卷问题 Convert + * + * @author xlcp + */ +@Mapper +public interface QuestionConvert { + + QuestionConvert INSTANCE = Mappers.getMapper(QuestionConvert.class); + + QuestionDO convert(QuestionSaveReqVO bean); + + QuestionRespVO convert(QuestionDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/questionnaire/QuestionnaireConvert.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/questionnaire/QuestionnaireConvert.java new file mode 100644 index 0000000000..0ef1326509 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/questionnaire/QuestionnaireConvert.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.prison.convert.questionnaire; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.prison.controller.admin.questionnaire.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.questionnaire.QuestionnaireDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 问卷模板 Convert + * + * @author xlcp + */ +@Mapper +public interface QuestionnaireConvert { + + QuestionnaireConvert INSTANCE = Mappers.getMapper(QuestionnaireConvert.class); + + QuestionnaireDO convert(QuestionnaireSaveReqVO bean); + + QuestionnaireRespVO convert(QuestionnaireDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/questionnairerecord/QuestionnaireRecordConvert.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/questionnairerecord/QuestionnaireRecordConvert.java new file mode 100644 index 0000000000..8a1ab7f0c5 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/questionnairerecord/QuestionnaireRecordConvert.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.prison.convert.questionnairerecord; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.prison.controller.admin.questionnairerecord.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.questionnairerecord.QuestionnaireRecordDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 问卷答题记录 Convert + * + * @author xlcp + */ +@Mapper +public interface QuestionnaireRecordConvert { + + QuestionnaireRecordConvert INSTANCE = Mappers.getMapper(QuestionnaireRecordConvert.class); + + QuestionnaireRecordDO convert(QuestionnaireRecordSaveReqVO bean); + + QuestionnaireRecordRespVO convert(QuestionnaireRecordDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/risk/RiskConvert.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/risk/RiskConvert.java new file mode 100644 index 0000000000..09f2174cc5 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/risk/RiskConvert.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.prison.convert.risk; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.prison.controller.admin.risk.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.risk.RiskDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 风险评估 Convert + * + * @author xlcp + */ +@Mapper +public interface RiskConvert { + + RiskConvert INSTANCE = Mappers.getMapper(RiskConvert.class); + + RiskDO convert(RiskSaveReqVO bean); + + RiskRespVO convert(RiskDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/riskassessment/RiskAssessmentConvert.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/riskassessment/RiskAssessmentConvert.java new file mode 100644 index 0000000000..f4ea298a36 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/riskassessment/RiskAssessmentConvert.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.prison.convert.riskassessment; + +import java.util.*; + +import cn.iocoder.yudao.module.prison.controller.admin.riskassessment.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.riskassessment.RiskAssessmentDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import org.springframework.stereotype.Component; + +/** + * 危险评估 Convert - 手动实现 + * + * @author xlcp + */ +@Component +public class RiskAssessmentConvert { + + public RiskAssessmentRespVO convert(RiskAssessmentDO bean) { + if (bean == null) { + return null; + } + RiskAssessmentRespVO respVO = new RiskAssessmentRespVO(); + respVO.setId(bean.getId()); + respVO.setPrisonerId(bean.getPrisonerId()); + respVO.setPrisonerNo(bean.getPrisonerNo()); + respVO.setAssessmentType(bean.getAssessmentType()); + respVO.setAssessmentDate(bean.getAssessmentDate()); + respVO.setViolenceScore(bean.getViolenceScore()); + respVO.setEscapeScore(bean.getEscapeScore()); + respVO.setSuicideScore(bean.getSuicideScore()); + respVO.setTotalScore(bean.getTotalScore()); + respVO.setRiskLevel(bean.getRiskLevel()); + respVO.setRiskFactors(bean.getRiskFactors()); + respVO.setSuggestions(bean.getSuggestions()); + respVO.setAssessorId(bean.getAssessorId()); + respVO.setAssessorName(bean.getAssessorName()); + respVO.setNextAssessmentDate(bean.getNextAssessmentDate()); + respVO.setStatus(bean.getStatus()); + respVO.setRemark(bean.getRemark()); + respVO.setCreateTime(bean.getCreateTime()); + return respVO; + } + + public List convertList(List list) { + if (list == null) { + return null; + } + List result = new ArrayList<>(list.size()); + for (RiskAssessmentDO item : list) { + result.add(convert(item)); + } + return result; + } + + public PageResult convertPage(PageResult page) { + if (page == null) { + return null; + } + return new PageResult<>(convertList(page.getList()), page.getTotal()); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/situation/SituationConvert.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/situation/SituationConvert.java new file mode 100644 index 0000000000..7f56dc2dc3 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/situation/SituationConvert.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.prison.convert.situation; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.prison.controller.admin.situation.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.situation.SituationDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 狱情收集 Convert + * + * @author xlcp + */ +@Mapper +public interface SituationConvert { + + SituationConvert INSTANCE = Mappers.getMapper(SituationConvert.class); + + SituationDO convert(SituationSaveReqVO bean); + + SituationRespVO convert(SituationDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/warning/WarningConvert.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/warning/WarningConvert.java new file mode 100644 index 0000000000..9950340759 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/convert/warning/WarningConvert.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.prison.convert.warning; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.prison.controller.admin.warning.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.warning.WarningDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 预警信息 Convert + * + * @author xlcp + */ +@Mapper +public interface WarningConvert { + + WarningConvert INSTANCE = Mappers.getMapper(WarningConvert.class); + + WarningDO convert(WarningSaveReqVO bean); + + WarningRespVO convert(WarningDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/PrisonerDO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/PrisonerDO.java index b07c597ee7..e9f36f1525 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/PrisonerDO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/PrisonerDO.java @@ -135,7 +135,7 @@ public class PrisonerDO extends BaseDO { /** * 释放类型:1-刑满 2-假释 3-暂予监外执行 4-减刑 5-移交 6-死亡 */ - private Integer releaseType; + private ReleaseTypeEnum releaseType; /** * 释放原因 diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/consumption/ConsumptionDO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/consumption/ConsumptionDO.java index 9e351ef655..1479c39237 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/consumption/ConsumptionDO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/consumption/ConsumptionDO.java @@ -46,6 +46,7 @@ public class ConsumptionDO extends BaseDO { /** * 订单总金额 */ + @TableField("total_amount") private BigDecimal totalAmount; /** * 账户余额(消费后) diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/consumption/ConsumptionDetailDO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/consumption/ConsumptionDetailDO.java index c84a99eb74..b3f24bcd06 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/consumption/ConsumptionDetailDO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/consumption/ConsumptionDetailDO.java @@ -53,6 +53,7 @@ public class ConsumptionDetailDO extends BaseDO { /** * 小计金额 */ + @TableField("subtotal") private BigDecimal subtotal; } diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/EvaluationDimensionDO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/EvaluationDimensionDO.java new file mode 100644 index 0000000000..a22d57ef39 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/EvaluationDimensionDO.java @@ -0,0 +1,87 @@ +package cn.iocoder.yudao.module.prison.dal.dataobject.evaluationreport; + +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 评估维度配置 DO + * + * @author xlcp + */ +@TableName("prison_evaluation_dimension") +@KeySequence("prison_evaluation_dimension_seq") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class EvaluationDimensionDO extends BaseDO { + + /** + * 维度ID + */ + @TableId + private Long id; + /** + * 模板ID + */ + private Long templateId; + /** + * 维度名称 + */ + private String name; + /** + * 维度编码 + */ + private String code; + /** + * 维度描述 + */ + private String description; + /** + * 维度类型:1-心理测评 2-行为表现 3-教育改造 4-劳动表现 5-人际交往 6-自评/他评 + */ + private Integer dimensionType; + /** + * 权重(百分比) + */ + private BigDecimal weight; + /** + * 评分规则:1-分值越高越好 2-分值越低越好 3-区间评分 + */ + private Integer scoreRule; + /** + * 最大分值 + */ + private BigDecimal maxScore; + /** + * 最小分值 + */ + private BigDecimal minScore; + /** + * 及格分值 + */ + private BigDecimal passScore; + /** + * 评估方式:1-问卷测评 2-量表评分 3-行为观察 4-AI分析 5-综合评定 + */ + private Integer evaluationMethod; + /** + * 问题列表(JSON格式) + */ + private String questions; + /** + * 排序 + */ + private Integer sort; + /** + * 是否启用:1-启用 2-禁用 + */ + private Integer status; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/EvaluationDimensionDataDO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/EvaluationDimensionDataDO.java new file mode 100644 index 0000000000..57c95b7939 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/EvaluationDimensionDataDO.java @@ -0,0 +1,87 @@ +package cn.iocoder.yudao.module.prison.dal.dataobject.evaluationreport; + +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 报告维度数据 DO + * + * @author xlcp + */ +@TableName("prison_evaluation_dimension_data") +@KeySequence("prison_evaluation_dimension_data_seq") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class EvaluationDimensionDataDO extends BaseDO { + + /** + * 数据ID + */ + @TableId + private Long id; + /** + * 报告ID + */ + private Long reportId; + /** + * 维度ID + */ + private Long dimensionId; + /** + * 维度名称 + */ + private String dimensionName; + /** + * 维度编码 + */ + private String dimensionCode; + /** + * 维度类型 + */ + private Integer dimensionType; + /** + * 得分 + */ + private BigDecimal score; + /** + * 满分 + */ + private BigDecimal fullScore; + /** + * 权重得分 + */ + private BigDecimal weightedScore; + /** + * 评级:1-优秀 2-良好 3-一般 4-较差 + */ + private Integer level; + /** + * 维度结论 + */ + private String conclusion; + /** + * 维度评语 + */ + private String comment; + /** + * AI分析内容 + */ + private String aiAnalysis; + /** + * 回答详情(JSON格式) + */ + private String answerDetails; + /** + * 排序 + */ + private Integer sort; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/EvaluationReportDO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/EvaluationReportDO.java new file mode 100644 index 0000000000..cc75a479a7 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/EvaluationReportDO.java @@ -0,0 +1,147 @@ +package cn.iocoder.yudao.module.prison.dal.dataobject.evaluationreport; + +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 评估报告 DO + * + * @author xlcp + */ +@TableName("prison_evaluation_report") +@KeySequence("prison_evaluation_report_seq") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class EvaluationReportDO extends BaseDO { + + /** + * 报告ID + */ + @TableId + private Long id; + /** + * 报告编号 + */ + private String reportNo; + /** + * 罪犯ID + */ + private Long prisonerId; + /** + * 罪犯编号 + */ + private String prisonerNo; + /** + * 罪犯姓名 + */ + private String prisonerName; + /** + * 模板ID + */ + private Long templateId; + /** + * 模板名称 + */ + private String templateName; + /** + * 评估类型:1-心理评估 2-危险性评估 3-改造表现评估 4-综合评估 + */ + private Integer evaluationType; + /** + * 评估周期:1-月评 2-季评 3-半年评 4-年终评 5-入监评估 6-出监评估 + */ + private Integer evaluationCycle; + /** + * 评估日期 + */ + private LocalDateTime evaluationDate; + /** + * 评估人员ID + */ + private Long evaluatorId; + /** + * 评估人员姓名 + */ + private String evaluatorName; + /** + * 监区ID + */ + private Long areaId; + /** + * 监区名称 + */ + private String areaName; + /** + * 总分 + */ + private BigDecimal totalScore; + /** + * 评级:1-优秀 2-良好 3-一般 4-较差 5-危险 + */ + private Integer level; + /** + * 风险等级:1-低风险 2-中风险 3-高风险 4-极高风险 + */ + private Integer riskLevel; + /** + * 风险得分 + */ + private BigDecimal riskScore; + /** + * AI生成状态:1-待生成 2-生成中 3-已完成 4-生成失败 + */ + private Integer aiStatus; + /** + * AI生成内容 + */ + private String aiContent; + /** + * AI生成报告内容 + */ + private String aiReportContent; + /** + * 报告状态:1-草稿 2-待审核 3-已审核 4-已作废 + */ + private Integer status; + /** + * 审核人ID + */ + private Long auditorId; + /** + * 审核人姓名 + */ + private String auditorName; + /** + * 审核时间 + */ + private LocalDateTime auditTime; + /** + * 审核意见 + */ + private String auditOpinion; + /** + * 报告结论 + */ + private String conclusion; + /** + * 改造建议 + */ + private String suggestions; + /** + * 报告PDF路径 + */ + private String pdfPath; + /** + * 备注 + */ + private String remark; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/EvaluationTemplateDO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/EvaluationTemplateDO.java new file mode 100644 index 0000000000..42aef39b74 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/EvaluationTemplateDO.java @@ -0,0 +1,80 @@ +package cn.iocoder.yudao.module.prison.dal.dataobject.evaluationreport; + +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.TableField; + +/** + * 评估报告模板 DO + * + * @author xlcp + */ +@TableName("prison_evaluation_template") +@KeySequence("prison_evaluation_template_seq") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class EvaluationTemplateDO extends BaseDO { + + /** + * 模板ID + */ + @TableId + private Long id; + /** + * 模板名称 + */ + private String name; + /** + * 模板编码 + */ + private String code; + /** + * 模板类型:1-心理评估 2-危险性评估 3-改造表现评估 4-综合评估 + */ + private Integer type; + /** + * 描述 + */ + private String description; + /** + * 适用人群 + */ + private String applicableCrowd; + /** + * 评估周期类型:1-月评 2-季评 3-半年评 4-年终评 5-入监评估 6-出监评估 + */ + private Integer evaluationCycle; + /** + * 状态:1-启用 2-禁用 + */ + private Integer status; + /** + * 是否允许AI生成:1-是 2-否 + */ + private Integer aiEnabled; + /** + * AI提示词 + */ + private String aiPrompt; + /** + * 报告封面图 + */ + private String coverImage; + /** + * 排序 + */ + private Integer sort; + /** + * 备注 + */ + private String remark; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/ReportCommentDO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/ReportCommentDO.java new file mode 100644 index 0000000000..aaf5851ba0 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/ReportCommentDO.java @@ -0,0 +1,70 @@ +package cn.iocoder.yudao.module.prison.dal.dataobject.evaluationreport; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 快捷评语库 DO + * + * @author xlcp + */ +@TableName("prison_report_comment") +@KeySequence("prison_report_comment_seq") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ReportCommentDO extends BaseDO { + + /** + * 评语ID + */ + @TableId + private Long id; + /** + * 评语内容 + */ + private String content; + /** + * 评语类型:1-心理评语 2-行为表现评语 3-教育改造评语 4-劳动表现评语 5-综合评语 6-风险提示 7-建议措施 + */ + private Integer commentType; + /** + * 适用维度(关联维度表) + */ + private Long dimensionId; + /** + * 维度名称 + */ + private String dimensionName; + /** + * 评级等级:1-优秀 2-良好 3-一般 4-较差 5-危险 + */ + private Integer level; + /** + * 标签(逗号分隔) + */ + private String tags; + /** + * 使用次数 + */ + private Integer useCount; + /** + * 状态:1-启用 2-禁用 + */ + private Integer status; + /** + * 排序 + */ + private Integer sort; + /** + * 备注 + */ + private String remark; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/questionnairerecord/QuestionnaireRecordDO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/questionnairerecord/QuestionnaireRecordDO.java index 8d4d6e30b3..96901c410f 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/questionnairerecord/QuestionnaireRecordDO.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/questionnairerecord/QuestionnaireRecordDO.java @@ -71,6 +71,10 @@ public class QuestionnaireRecordDO extends BaseDO { * 结束时间 */ private LocalDateTime endTime; + /** + * 答题时间 + */ + private LocalDateTime answerTime; /** * 截止日期 */ diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/quickcomment/CommentCategoryDO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/quickcomment/CommentCategoryDO.java new file mode 100644 index 0000000000..f07d2321a5 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/quickcomment/CommentCategoryDO.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.module.prison.dal.dataobject.quickcomment; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 快捷评语分类 DO + * + * @author xlcp + */ +@TableName("prison_comment_category") +@KeySequence("prison_comment_category_seq") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class CommentCategoryDO extends BaseDO { + + /** + * 分类ID + */ + @TableId + private Long id; + + /** + * 分类名称 + */ + private String name; + + /** + * 评估类型:1-入监 2-定期 3-出监 4-减刑 5-专项 + */ + private Integer type; + + /** + * 排序 + */ + private Integer sort; + + /** + * 状态:0-停用 1-启用 + */ + private Integer status; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/quickcomment/QuickCommentDO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/quickcomment/QuickCommentDO.java new file mode 100644 index 0000000000..363c0687fa --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/quickcomment/QuickCommentDO.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.prison.dal.dataobject.quickcomment; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 快捷评语 DO + * + * @author xlcp + */ +@TableName("prison_quick_comment") +@KeySequence("prison_quick_comment_seq") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class QuickCommentDO extends BaseDO { + + /** + * 评语ID + */ + @TableId + private Long id; + + /** + * 分类ID + */ + private Long categoryId; + + /** + * 评语内容 + */ + private String content; + + /** + * 使用次数 + */ + private Integer usageCount; + + /** + * 排序 + */ + private Integer sort; + + /** + * 状态:0-停用 1-启用 + */ + private Integer status; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/report/ReportDO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/report/ReportDO.java new file mode 100644 index 0000000000..40780899b7 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/report/ReportDO.java @@ -0,0 +1,166 @@ +package cn.iocoder.yudao.module.prison.dal.dataobject.report; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDate; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 评估报告 DO + * + * @author xlcp + */ +@TableName("prison_report") +@KeySequence("prison_report_seq") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ReportDO extends BaseDO { + + /** + * 报告ID + */ + @TableId + private Long id; + + /** + * 报告编号 + */ + private String reportNo; + + /** + * 罪犯ID + */ + private Long prisonerId; + + /** + * 罪犯编号 + */ + private String prisonerNo; + + /** + * 罪犯姓名 + */ + private String prisonerName; + + /** + * 模板ID + */ + private Long templateId; + + /** + * 模板名称 + */ + private String templateName; + + /** + * 报告标题 + */ + private String title; + + /** + * 报告日期 + */ + private LocalDate reportDate; + + /** + * 维度内容,JSON格式 + */ + private String dimensions; + + /** + * 综合结论 + */ + private String conclusion; + + /** + * 改造建议 + */ + private String suggestions; + + /** + * 风险等级:1-低风险 2-中风险 3-高风险 4-极高风险 + */ + private Integer riskLevel; + + /** + * 附件列表,JSON格式 + */ + private String attachments; + + /** + * 状态:1-草稿 2-待审核 3-已通过 4-已退回 + */ + private Integer status; + + /** + * 版本号 + */ + private Integer version; + + /** + * 数字签名 + */ + private String signature; + + /** + * 报告指纹 + */ + private String fingerprint; + + /** + * 提交人ID + */ + private Long submitterId; + + /** + * 提交人姓名 + */ + private String submitterName; + + /** + * 提交时间 + */ + private LocalDateTime submitTime; + + /** + * 审核人ID + */ + private Long reviewerId; + + /** + * 审核人姓名 + */ + private String reviewerName; + + /** + * 审核时间 + */ + private LocalDateTime reviewTime; + + /** + * 审核意见 + */ + private String reviewComment; + + /** + * 是否已归档 + */ + private Boolean archived; + + /** + * 归档时间 + */ + private LocalDateTime archivedTime; + + /** + * 备注 + */ + private String remark; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/reporttemplate/ReportTemplateDO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/reporttemplate/ReportTemplateDO.java new file mode 100644 index 0000000000..2a334a8b1e --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/reporttemplate/ReportTemplateDO.java @@ -0,0 +1,80 @@ +package cn.iocoder.yudao.module.prison.dal.dataobject.reporttemplate; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 评估报告模板 DO + * + * @author xlcp + */ +@TableName("prison_report_template") +@KeySequence("prison_report_template_seq") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ReportTemplateDO extends BaseDO { + + /** + * 模板ID + */ + @TableId + private Long id; + + /** + * 模板名称 + */ + private String name; + + /** + * 模板类型:1-入监综合评估 2-定期考核报告 3-出监评估 4-减刑假释建议 5-专项评估 + */ + private Integer type; + + /** + * 报告标题格式 + */ + private String titleFormat; + + /** + * 评估维度配置,JSON格式 + */ + private String dimensions; + + /** + * AI提示词配置,JSON格式 + */ + private String aiPromptConfig; + + /** + * 样式配置,JSON格式 + */ + private String styleConfig; + + /** + * 状态:0-停用 1-启用 + */ + private Integer status; + + /** + * 是否默认 + */ + private Boolean isDefault; + + /** + * 版本号 + */ + private Integer version; + + /** + * 备注 + */ + private String remark; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/risk/RiskDO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/risk/RiskDO.java new file mode 100644 index 0000000000..d8b0ff248f --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/risk/RiskDO.java @@ -0,0 +1,124 @@ +package cn.iocoder.yudao.module.prison.dal.dataobject.risk; + +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import java.time.LocalDate; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 风险评估 DO + * + * @author xlcp + */ +@TableName("prison_risk") +@KeySequence("prison_risk_seq") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class RiskDO extends BaseDO { + + /** + * 评估ID + */ + @TableId + private Long id; + + /** + * 关联罪犯ID + */ + private Long prisonerId; + + /** + * 罪犯编号 + */ + @TableField("prisoner_no") + private String prisonerCode; + + /** + * 罪犯姓名 + */ + @TableField("prisoner_name") + private String prisonerName; + + /** + * 评估类型:1-入监评估 2-定期评估 3-专项评估 4-出监评估 + */ + private Integer assessmentType; + + /** + * 评估日期 + */ + private LocalDate assessmentDate; + + /** + * 综合风险得分(0-100) + */ + private BigDecimal overallScore; + + /** + * 风险等级:1-低风险 2-中风险 3-高风险 4-极高风险 + */ + private Integer riskLevel; + + /** + * 精神状态评估 + */ + private String mentalState; + + /** + * 脱逃风险评估 + */ + private String escapeRisk; + + /** + * 暴力倾向评估 + */ + private String violenceRisk; + + /** + * 抗改风险评估 + */ + private String revoltRisk; + + /** + * 自杀自伤风险评估 + */ + private String selfHarmRisk; + + /** + * 评估建议 + */ + private String recommendation; + + /** + * 评估人 + */ + private String assessor; + + /** + * 评估方式:1-心理测评 2-行为观察 3-面谈评估 4-综合评估 + */ + private Integer assessMethod; + + /** + * 评估项目得分(JSON格式存储) + * 结构:[{itemId: 1, itemName: "项目名称", score: 85, weight: 0.2}] + */ + private String itemScores; + + /** + * 评估结论 + */ + private String conclusion; + + /** + * 备注 + */ + private String remark; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/situation/SituationDO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/situation/SituationDO.java new file mode 100644 index 0000000000..cdc563277b --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/situation/SituationDO.java @@ -0,0 +1,101 @@ +package cn.iocoder.yudao.module.prison.dal.dataobject.situation; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.TableField; + +/** + * 狱情收集信息 DO + * + * @author xlcp + */ +@TableName("prison_situation") +@KeySequence("prison_situation_seq") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SituationDO extends BaseDO { + + /** + * 狱情ID + */ + @TableId + private Long id; + + /** + * 标题 + */ + private String title; + + /** + * 详情内容 + */ + private String content; + + /** + * 分类:1-监管安全 2-教育改造 3-生活卫生 4-生产安全 5-狱内案件 6-其他 + */ + private Integer category; + + /** + * 等级:1-一般 2-重要 3-紧急 + */ + private Integer level; + + /** + * 来源:1-民警报告 2-监控系统 3-举报 4-罪犯自首 5-其他 + */ + private Integer source; + + /** + * 处理状态:1-待处理 2-处理中 3-已处理 + */ + private Integer status; + + /** + * 关联监区ID + */ + private Long areaId; + + /** + * 关联监室ID + */ + private Long cellId; + + /** + * 报告人 + */ + private String reporter; + + /** + * 处理人 + */ + private String handler; + + /** + * 处理时间 + */ + private LocalDateTime handleTime; + + /** + * 处理结果 + */ + private String handleResult; + + /** + * 备注 + */ + private String remark; + + /** + * 发生时间 + */ + private LocalDateTime occurTime; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/warning/WarningDO.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/warning/WarningDO.java new file mode 100644 index 0000000000..6d79843583 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/warning/WarningDO.java @@ -0,0 +1,141 @@ +package cn.iocoder.yudao.module.prison.dal.dataobject.warning; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.TableField; + +/** + * 预警信息 DO + * + * @author xlcp + */ +@TableName("prison_warning") +@KeySequence("prison_warning_seq") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WarningDO extends BaseDO { + + /** + * 预警ID + */ + @TableId + private Long id; + + /** + * 预警标题 + */ + private String title; + + /** + * 预警内容 + */ + private String content; + + /** + * 预警类型:1-安全预警 2-监管预警 3-改造预警 4-生产预警 5-生活卫生预警 6-其他 + */ + private Integer type; + + /** + * 预警等级:1-一般 2-重要 3-紧急 4-严重 + */ + private Integer level; + + /** + * 预警状态:1-待核实 2-已核实 3-已处置 4-已解除 + */ + private Integer status; + + /** + * 预警来源:1-民警报告 2-监控系统 3-举报 4-罪犯自首 5-智能分析 6-其他 + */ + private Integer source; + + /** + * 关联狱情ID + */ + private Long situationId; + + /** + * 关联监区ID + */ + private Long areaId; + + /** + * 关联监室ID + */ + private Long cellId; + + /** + * 预警时间 + */ + private LocalDateTime alertTime; + + /** + * 核实时间 + */ + private LocalDateTime verifyTime; + + /** + * 核实人 + */ + private String verifier; + + /** + * 核实结果 + */ + private String verifyResult; + + /** + * 处置时间 + */ + private LocalDateTime handleTime; + + /** + * 处置人 + */ + private String handler; + + /** + * 处置方式 + */ + private String handleMethod; + + /** + * 处置结果 + */ + private String handleResult; + + /** + * 解除时间 + */ + private LocalDateTime releaseTime; + + /** + * 解除人 + */ + private String releaser; + + /** + * 解除原因 + */ + private String releaseReason; + + /** + * 发生时间 + */ + private LocalDateTime occurTime; + + /** + * 备注 + */ + private String remark; + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/consumption/ConsumptionMapper.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/consumption/ConsumptionMapper.java index 9636de8d7b..56888c99c1 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/consumption/ConsumptionMapper.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/consumption/ConsumptionMapper.java @@ -7,6 +7,9 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.module.prison.dal.dataobject.consumption.ConsumptionDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Select; import cn.iocoder.yudao.module.prison.controller.admin.consumption.vo.*; /** @@ -32,4 +35,92 @@ public interface ConsumptionMapper extends BaseMapperX { .orderByDesc(ConsumptionDO::getId)); } + /** + * 查询消费订单详情(包含罪犯信息) + */ + @Select(""" + + """) + @ResultMap("ConsumptionDetailResultMap") + ConsumptionRespVO selectConsumptionDetail(@Param("id") Long id); + + /** + * 分页查询消费订单(包含罪犯信息) + */ + @Select(""" + + """) + @ResultMap("ConsumptionDetailResultMap") + List selectConsumptionDetailPage(@Param("reqVO") ConsumptionPageReqVO reqVO); + } diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/dashboard/PrisonDashboardMapper.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/dashboard/PrisonDashboardMapper.java index 66d215f911..4f7411d564 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/dashboard/PrisonDashboardMapper.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/dashboard/PrisonDashboardMapper.java @@ -4,6 +4,8 @@ import cn.iocoder.yudao.module.prison.controller.admin.dashboard.vo.ChartDataVO; import cn.iocoder.yudao.module.prison.controller.admin.dashboard.vo.ProvinceChartVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.Results; import org.apache.ibatis.annotations.Select; import java.util.List; @@ -132,6 +134,10 @@ public interface PrisonDashboardMapper { WHERE p.status = 1 AND p.deleted = 0 AND p.native_place IS NOT NULL GROUP BY LEFT(p.native_place, 2) """) + @Results({ + @Result(column = "province_code", property = "provinceCode", javaType = String.class), + @Result(column = "count", property = "count", javaType = Integer.class) + }) List selectProvinceDistributionRaw(); /** diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/EvaluationDimensionDataMapper.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/EvaluationDimensionDataMapper.java new file mode 100644 index 0000000000..ce62100ecf --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/EvaluationDimensionDataMapper.java @@ -0,0 +1,42 @@ +package cn.iocoder.yudao.module.prison.dal.mysql.evaluationreport; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.prison.dal.dataobject.evaluationreport.EvaluationDimensionDataDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo.*; + +/** + * 报告维度数据 Mapper + * + * @author xlcp + */ +@Mapper +public interface EvaluationDimensionDataMapper extends BaseMapperX { + + default PageResult selectPage(EvaluationDimensionDataPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(EvaluationDimensionDataDO::getReportId, reqVO.getReportId()) + .eqIfPresent(EvaluationDimensionDataDO::getDimensionId, reqVO.getDimensionId()) + .eqIfPresent(EvaluationDimensionDataDO::getDimensionType, reqVO.getDimensionType()) + .betweenIfPresent(EvaluationDimensionDataDO::getCreateTime, reqVO.getCreateTime()) + .orderByAsc(EvaluationDimensionDataDO::getSort) + .orderByDesc(EvaluationDimensionDataDO::getId)); + } + + default List selectListByReportId(Long reportId) { + return selectList(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() + .eq(EvaluationDimensionDataDO::getReportId, reportId) + .eq(EvaluationDimensionDataDO::getDeleted, false) + .orderByAsc(EvaluationDimensionDataDO::getSort)); + } + + default void deleteByReportId(Long reportId) { + delete(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() + .eq(EvaluationDimensionDataDO::getReportId, reportId)); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/EvaluationDimensionMapper.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/EvaluationDimensionMapper.java new file mode 100644 index 0000000000..65853bac44 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/EvaluationDimensionMapper.java @@ -0,0 +1,40 @@ +package cn.iocoder.yudao.module.prison.dal.mysql.evaluationreport; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.prison.dal.dataobject.evaluationreport.EvaluationDimensionDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo.*; + +/** + * 评估维度配置 Mapper + * + * @author xlcp + */ +@Mapper +public interface EvaluationDimensionMapper extends BaseMapperX { + + default PageResult selectPage(EvaluationDimensionPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(EvaluationDimensionDO::getTemplateId, reqVO.getTemplateId()) + .likeIfPresent(EvaluationDimensionDO::getName, reqVO.getName()) + .eqIfPresent(EvaluationDimensionDO::getCode, reqVO.getCode()) + .eqIfPresent(EvaluationDimensionDO::getDimensionType, reqVO.getDimensionType()) + .eqIfPresent(EvaluationDimensionDO::getEvaluationMethod, reqVO.getEvaluationMethod()) + .eqIfPresent(EvaluationDimensionDO::getStatus, reqVO.getStatus()) + .betweenIfPresent(EvaluationDimensionDO::getCreateTime, reqVO.getCreateTime()) + .orderByAsc(EvaluationDimensionDO::getSort) + .orderByDesc(EvaluationDimensionDO::getId)); + } + + default List selectListByTemplateId(Long templateId) { + return selectList(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() + .eq(EvaluationDimensionDO::getTemplateId, templateId) + .eq(EvaluationDimensionDO::getDeleted, false) + .orderByAsc(EvaluationDimensionDO::getSort)); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/EvaluationReportMapper.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/EvaluationReportMapper.java new file mode 100644 index 0000000000..90ab0a4254 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/EvaluationReportMapper.java @@ -0,0 +1,50 @@ +package cn.iocoder.yudao.module.prison.dal.mysql.evaluationreport; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.prison.dal.dataobject.evaluationreport.EvaluationReportDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo.*; + +/** + * 评估报告 Mapper + * + * @author xlcp + */ +@Mapper +public interface EvaluationReportMapper extends BaseMapperX { + + default PageResult selectPage(EvaluationReportPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(EvaluationReportDO::getPrisonerId, reqVO.getPrisonerId()) + .likeIfPresent(EvaluationReportDO::getPrisonerNo, reqVO.getPrisonerNo()) + .likeIfPresent(EvaluationReportDO::getPrisonerName, reqVO.getPrisonerName()) + .eqIfPresent(EvaluationReportDO::getTemplateId, reqVO.getTemplateId()) + .eqIfPresent(EvaluationReportDO::getEvaluationType, reqVO.getEvaluationType()) + .eqIfPresent(EvaluationReportDO::getEvaluationCycle, reqVO.getEvaluationCycle()) + .eqIfPresent(EvaluationReportDO::getLevel, reqVO.getLevel()) + .eqIfPresent(EvaluationReportDO::getRiskLevel, reqVO.getRiskLevel()) + .eqIfPresent(EvaluationReportDO::getStatus, reqVO.getStatus()) + .eqIfPresent(EvaluationReportDO::getAreaId, reqVO.getAreaId()) + .betweenIfPresent(EvaluationReportDO::getEvaluationDate, reqVO.getEvaluationDate()) + .betweenIfPresent(EvaluationReportDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(EvaluationReportDO::getId)); + } + + default EvaluationReportDO selectByReportNo(String reportNo) { + return selectOne(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() + .eq(EvaluationReportDO::getReportNo, reportNo) + .eq(EvaluationReportDO::getDeleted, false)); + } + + default List selectListByPrisonerId(Long prisonerId) { + return selectList(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() + .eq(EvaluationReportDO::getPrisonerId, prisonerId) + .eq(EvaluationReportDO::getDeleted, false) + .orderByDesc(EvaluationReportDO::getEvaluationDate)); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/EvaluationTemplateMapper.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/EvaluationTemplateMapper.java new file mode 100644 index 0000000000..4ace037858 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/EvaluationTemplateMapper.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.prison.dal.mysql.evaluationreport; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.prison.dal.dataobject.evaluationreport.EvaluationTemplateDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo.*; + +/** + * 评估报告模板 Mapper + * + * @author xlcp + */ +@Mapper +public interface EvaluationTemplateMapper extends BaseMapperX { + + default PageResult selectPage(EvaluationTemplatePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(EvaluationTemplateDO::getName, reqVO.getName()) + .eqIfPresent(EvaluationTemplateDO::getCode, reqVO.getCode()) + .eqIfPresent(EvaluationTemplateDO::getType, reqVO.getType()) + .eqIfPresent(EvaluationTemplateDO::getEvaluationCycle, reqVO.getEvaluationCycle()) + .eqIfPresent(EvaluationTemplateDO::getStatus, reqVO.getStatus()) + .eqIfPresent(EvaluationTemplateDO::getAiEnabled, reqVO.getAiEnabled()) + .betweenIfPresent(EvaluationTemplateDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(EvaluationTemplateDO::getId)); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/ReportCommentMapper.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/ReportCommentMapper.java new file mode 100644 index 0000000000..00990c48f4 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/evaluationreport/ReportCommentMapper.java @@ -0,0 +1,49 @@ +package cn.iocoder.yudao.module.prison.dal.mysql.evaluationreport; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.prison.dal.dataobject.evaluationreport.ReportCommentDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo.*; + +/** + * 快捷评语库 Mapper + * + * @author xlcp + */ +@Mapper +public interface ReportCommentMapper extends BaseMapperX { + + default PageResult selectPage(ReportCommentPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(ReportCommentDO::getContent, reqVO.getContent()) + .eqIfPresent(ReportCommentDO::getCommentType, reqVO.getCommentType()) + .eqIfPresent(ReportCommentDO::getDimensionId, reqVO.getDimensionId()) + .eqIfPresent(ReportCommentDO::getLevel, reqVO.getLevel()) + .eqIfPresent(ReportCommentDO::getStatus, reqVO.getStatus()) + .betweenIfPresent(ReportCommentDO::getCreateTime, reqVO.getCreateTime()) + .orderByAsc(ReportCommentDO::getSort) + .orderByDesc(ReportCommentDO::getId)); + } + + default List selectListByTypeAndLevel(Integer commentType, Integer level) { + return selectList(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() + .eq(ReportCommentDO::getCommentType, commentType) + .eq(level != null, ReportCommentDO::getLevel, level) + .eq(ReportCommentDO::getStatus, 1) + .eq(ReportCommentDO::getDeleted, false) + .orderByDesc(ReportCommentDO::getUseCount)); + } + + default List selectListByDimensionId(Long dimensionId) { + return selectList(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() + .eq(ReportCommentDO::getDimensionId, dimensionId) + .eq(ReportCommentDO::getStatus, 1) + .eq(ReportCommentDO::getDeleted, false) + .orderByDesc(ReportCommentDO::getUseCount)); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/quickcomment/CommentCategoryMapper.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/quickcomment/CommentCategoryMapper.java new file mode 100644 index 0000000000..ac3750abc4 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/quickcomment/CommentCategoryMapper.java @@ -0,0 +1,27 @@ +package cn.iocoder.yudao.module.prison.dal.mysql.quickcomment; + +import java.util.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.prison.dal.dataobject.quickcomment.CommentCategoryDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.prison.controller.admin.quickcomment.vo.CommentCategoryPageReqVO; + +/** + * 快捷评语分类 Mapper + * + * @author xlcp + */ +@Mapper +public interface CommentCategoryMapper extends BaseMapperX { + + default PageResult selectPage(CommentCategoryPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(CommentCategoryDO::getName, reqVO.getName()) + .eqIfPresent(CommentCategoryDO::getType, reqVO.getType()) + .eqIfPresent(CommentCategoryDO::getStatus, reqVO.getStatus()) + .orderByAsc(CommentCategoryDO::getSort)); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/quickcomment/QuickCommentMapper.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/quickcomment/QuickCommentMapper.java new file mode 100644 index 0000000000..cc8f775e57 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/quickcomment/QuickCommentMapper.java @@ -0,0 +1,109 @@ +package cn.iocoder.yudao.module.prison.dal.mysql.quickcomment; + +import java.util.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.prison.dal.dataobject.quickcomment.QuickCommentDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.Select; +import cn.iocoder.yudao.module.prison.controller.admin.quickcomment.vo.QuickCommentPageReqVO; +import cn.iocoder.yudao.module.prison.controller.admin.quickcomment.vo.QuickCommentRespVO; + +/** + * 快捷评语 Mapper + * + * @author xlcp + */ +@Mapper +public interface QuickCommentMapper extends BaseMapperX { + + default PageResult selectPage(QuickCommentPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(QuickCommentDO::getCategoryId, reqVO.getCategoryId()) + .likeIfPresent(QuickCommentDO::getContent, reqVO.getContent()) + .eqIfPresent(QuickCommentDO::getStatus, reqVO.getStatus()) + .betweenIfPresent(QuickCommentDO::getCreateTime, reqVO.getCreateTime()) + .orderByAsc(QuickCommentDO::getSort)); + } + + /** + * 查询评语详情(包含分类名称) + */ + @Select(""" + + """) + @Results({ + @Result(id = true, column = "id", property = "id"), + @Result(column = "category_id", property = "categoryId"), + @Result(column = "category_name", property = "categoryName"), + @Result(column = "content", property = "content"), + @Result(column = "usage_count", property = "usageCount"), + @Result(column = "sort", property = "sort"), + @Result(column = "status", property = "status"), + @Result(column = "create_time", property = "createTime"), + @Result(column = "update_time", property = "updateTime") + }) + QuickCommentRespVO selectQuickCommentDetail(@Param("id") Long id); + + /** + * 分页查询评语(包含分类名称) + */ + @Select(""" + + """) + @Results({ + @Result(id = true, column = "id", property = "id"), + @Result(column = "category_id", property = "categoryId"), + @Result(column = "category_name", property = "categoryName"), + @Result(column = "content", property = "content"), + @Result(column = "usage_count", property = "usageCount"), + @Result(column = "sort", property = "sort"), + @Result(column = "status", property = "status"), + @Result(column = "create_time", property = "createTime"), + @Result(column = "update_time", property = "updateTime") + }) + List selectQuickCommentDetailPage(@Param("reqVO") QuickCommentPageReqVO reqVO); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/report/ReportMapper.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/report/ReportMapper.java new file mode 100644 index 0000000000..e39e917d8c --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/report/ReportMapper.java @@ -0,0 +1,229 @@ +package cn.iocoder.yudao.module.prison.dal.mysql.report; + +import java.util.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.prison.dal.dataobject.report.ReportDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Result; +import org.apache.ibatis.annotations.Results; +import org.apache.ibatis.annotations.Select; +import cn.iocoder.yudao.module.prison.controller.admin.report.vo.ReportPageReqVO; +import cn.iocoder.yudao.module.prison.controller.admin.report.vo.ReportRespVO; + +/** + * 评估报告 Mapper + * + * @author xlcp + */ +@Mapper +public interface ReportMapper extends BaseMapperX { + + default PageResult selectPage(ReportPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ReportDO::getReportNo, reqVO.getReportNo()) + .eqIfPresent(ReportDO::getPrisonerId, reqVO.getPrisonerId()) + .eqIfPresent(ReportDO::getPrisonerNo, reqVO.getPrisonerNo()) + .eqIfPresent(ReportDO::getTemplateId, reqVO.getTemplateId()) + .eqIfPresent(ReportDO::getRiskLevel, reqVO.getRiskLevel()) + .eqIfPresent(ReportDO::getStatus, reqVO.getStatus()) + .eqIfPresent(ReportDO::getReportDate, reqVO.getReportDate()) + .betweenIfPresent(ReportDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(ReportDO::getId)); + } + + /** + * 查询报告详情(包含罪犯信息) + */ + @Select(""" + + """) + @Results({ + @Result(id = true, column = "id", property = "id"), + @Result(column = "report_no", property = "reportNo"), + @Result(column = "prisoner_id", property = "prisonerId"), + @Result(column = "prisoner_no", property = "prisonerNo"), + @Result(column = "prisoner_name", property = "prisonerName"), + @Result(column = "prison_area_id", property = "prisonAreaId"), + @Result(column = "prison_area_name", property = "prisonAreaName"), + @Result(column = "prison_cell_id", property = "prisonCellId"), + @Result(column = "prison_cell_name", property = "prisonCellName"), + @Result(column = "template_id", property = "templateId"), + @Result(column = "template_name", property = "templateName"), + @Result(column = "title", property = "title"), + @Result(column = "report_date", property = "reportDate"), + @Result(column = "dimensions", property = "dimensions"), + @Result(column = "conclusion", property = "conclusion"), + @Result(column = "suggestions", property = "suggestions"), + @Result(column = "risk_level", property = "riskLevel"), + @Result(column = "attachments", property = "attachments"), + @Result(column = "status", property = "status"), + @Result(column = "version", property = "version"), + @Result(column = "signature", property = "signature"), + @Result(column = "fingerprint", property = "fingerprint"), + @Result(column = "submitter_id", property = "submitterId"), + @Result(column = "submitter_name", property = "submitterName"), + @Result(column = "submit_time", property = "submitTime"), + @Result(column = "reviewer_id", property = "reviewerId"), + @Result(column = "reviewer_name", property = "reviewerName"), + @Result(column = "review_time", property = "reviewTime"), + @Result(column = "review_comment", property = "reviewComment"), + @Result(column = "archived", property = "archived"), + @Result(column = "archived_time", property = "archivedTime"), + @Result(column = "remark", property = "remark"), + @Result(column = "create_time", property = "createTime"), + @Result(column = "update_time", property = "updateTime") + }) + ReportRespVO selectReportDetail(@Param("id") Long id); + + /** + * 分页查询报告(包含罪犯信息) + */ + @Select(""" + + """) + @Results({ + @Result(id = true, column = "id", property = "id"), + @Result(column = "report_no", property = "reportNo"), + @Result(column = "prisoner_id", property = "prisonerId"), + @Result(column = "prisoner_no", property = "prisonerNo"), + @Result(column = "prisoner_name", property = "prisonerName"), + @Result(column = "prison_area_id", property = "prisonAreaId"), + @Result(column = "prison_area_name", property = "prisonAreaName"), + @Result(column = "prison_cell_id", property = "prisonCellId"), + @Result(column = "prison_cell_name", property = "prisonCellName"), + @Result(column = "template_id", property = "templateId"), + @Result(column = "template_name", property = "templateName"), + @Result(column = "title", property = "title"), + @Result(column = "report_date", property = "reportDate"), + @Result(column = "dimensions", property = "dimensions"), + @Result(column = "conclusion", property = "conclusion"), + @Result(column = "suggestions", property = "suggestions"), + @Result(column = "risk_level", property = "riskLevel"), + @Result(column = "attachments", property = "attachments"), + @Result(column = "status", property = "status"), + @Result(column = "version", property = "version"), + @Result(column = "signature", property = "signature"), + @Result(column = "fingerprint", property = "fingerprint"), + @Result(column = "submitter_id", property = "submitterId"), + @Result(column = "submitter_name", property = "submitterName"), + @Result(column = "submit_time", property = "submitTime"), + @Result(column = "reviewer_id", property = "reviewerId"), + @Result(column = "reviewer_name", property = "reviewerName"), + @Result(column = "review_time", property = "reviewTime"), + @Result(column = "review_comment", property = "reviewComment"), + @Result(column = "archived", property = "archived"), + @Result(column = "archived_time", property = "archivedTime"), + @Result(column = "remark", property = "remark"), + @Result(column = "create_time", property = "createTime"), + @Result(column = "update_time", property = "updateTime") + }) + List selectReportDetailPage(@Param("reqVO") ReportPageReqVO reqVO); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/reporttemplate/ReportTemplateMapper.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/reporttemplate/ReportTemplateMapper.java new file mode 100644 index 0000000000..ee020255c3 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/reporttemplate/ReportTemplateMapper.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.prison.dal.mysql.reporttemplate; + +import java.util.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.prison.dal.dataobject.reporttemplate.ReportTemplateDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.prison.controller.admin.reporttemplate.vo.ReportTemplatePageReqVO; + +/** + * 评估报告模板 Mapper + * + * @author xlcp + */ +@Mapper +public interface ReportTemplateMapper extends BaseMapperX { + + default PageResult selectPage(ReportTemplatePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(ReportTemplateDO::getName, reqVO.getName()) + .eqIfPresent(ReportTemplateDO::getType, reqVO.getType()) + .eqIfPresent(ReportTemplateDO::getStatus, reqVO.getStatus()) + .eqIfPresent(ReportTemplateDO::getIsDefault, reqVO.getIsDefault()) + .betweenIfPresent(ReportTemplateDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(ReportTemplateDO::getId)); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/risk/RiskMapper.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/risk/RiskMapper.java new file mode 100644 index 0000000000..5356c8ad8d --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/risk/RiskMapper.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.prison.dal.mysql.risk; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.prison.dal.dataobject.risk.RiskDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.prison.controller.admin.risk.vo.*; + +/** + * 风险评估 Mapper + * + * @author xlcp + */ +@Mapper +public interface RiskMapper extends BaseMapperX { + + default PageResult selectPage(RiskPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(RiskDO::getPrisonerId, reqVO.getPrisonerId()) + .eqIfPresent(RiskDO::getPrisonerCode, reqVO.getPrisonerCode()) + .eqIfPresent(RiskDO::getPrisonerName, reqVO.getPrisonerName()) + .eqIfPresent(RiskDO::getAssessmentType, reqVO.getAssessmentType()) + .eqIfPresent(RiskDO::getRiskLevel, reqVO.getRiskLevel()) + .eqIfPresent(RiskDO::getAssessor, reqVO.getAssessor()) + .eqIfPresent(RiskDO::getMentalState, reqVO.getMentalState()) + .eqIfPresent(RiskDO::getEscapeRisk, reqVO.getEscapeRisk()) + .eqIfPresent(RiskDO::getViolenceRisk, reqVO.getViolenceRisk()) + .eqIfPresent(RiskDO::getRevoltRisk, reqVO.getRevoltRisk()) + .eqIfPresent(RiskDO::getSelfHarmRisk, reqVO.getSelfHarmRisk()) + .betweenIfPresent(RiskDO::getAssessmentDate, reqVO.getAssessmentDate()) + .betweenIfPresent(RiskDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(RiskDO::getId)); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/riskassessment/RiskAssessmentMapper.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/riskassessment/RiskAssessmentMapper.java index 61c50d25e5..905f91e947 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/riskassessment/RiskAssessmentMapper.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/riskassessment/RiskAssessmentMapper.java @@ -7,6 +7,9 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.module.prison.dal.dataobject.riskassessment.RiskAssessmentDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Select; import cn.iocoder.yudao.module.prison.controller.admin.riskassessment.vo.*; /** @@ -39,4 +42,91 @@ public interface RiskAssessmentMapper extends BaseMapperX { .orderByDesc(RiskAssessmentDO::getId)); } + /** + * 查询危险评估详情(包含罪犯信息) + */ + @Select(""" + + """) + @ResultMap("AssessmentDetailResultMap") + RiskAssessmentRespVO selectAssessmentDetail(@Param("id") Long id); + + /** + * 分页查询危险评估(包含罪犯信息) + */ + @Select(""" + + """) + @ResultMap("AssessmentDetailResultMap") + List selectAssessmentDetailPage(@Param("reqVO") RiskAssessmentPageReqVO reqVO); + } \ No newline at end of file diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/score/ScoreMapper.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/score/ScoreMapper.java index 1c4434dd62..9a6964445d 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/score/ScoreMapper.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/score/ScoreMapper.java @@ -7,6 +7,9 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.module.prison.dal.dataobject.score.ScoreDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.ResultMap; +import org.apache.ibatis.annotations.Select; import cn.iocoder.yudao.module.prison.controller.admin.score.vo.*; /** @@ -36,4 +39,106 @@ public interface ScoreMapper extends BaseMapperX { .orderByDesc(ScoreDO::getId)); } + /** + * 查询计分考核详情(包含罪犯信息) + */ + @Select(""" + + """) + @ResultMap("ScoreDetailResultMap") + ScoreRespVO selectScoreDetail(@Param("id") Long id); + + /** + * 分页查询计分考核(包含罪犯信息) + */ + @Select(""" + + """) + @ResultMap("ScoreDetailResultMap") + List selectScoreDetailPage(@Param("reqVO") ScorePageReqVO reqVO); + } \ No newline at end of file diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/situation/SituationMapper.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/situation/SituationMapper.java new file mode 100644 index 0000000000..0ba43349f7 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/situation/SituationMapper.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.prison.dal.mysql.situation; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.prison.dal.dataobject.situation.SituationDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.prison.controller.admin.situation.vo.*; + +/** + * 狱情收集信息 Mapper + * + * @author xlcp + */ +@Mapper +public interface SituationMapper extends BaseMapperX { + + default PageResult selectPage(SituationPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(SituationDO::getTitle, reqVO.getTitle()) + .eqIfPresent(SituationDO::getCategory, reqVO.getCategory()) + .eqIfPresent(SituationDO::getLevel, reqVO.getLevel()) + .eqIfPresent(SituationDO::getSource, reqVO.getSource()) + .eqIfPresent(SituationDO::getStatus, reqVO.getStatus()) + .eqIfPresent(SituationDO::getAreaId, reqVO.getAreaId()) + .eqIfPresent(SituationDO::getCellId, reqVO.getCellId()) + .eqIfPresent(SituationDO::getReporter, reqVO.getReporter()) + .eqIfPresent(SituationDO::getHandler, reqVO.getHandler()) + .betweenIfPresent(SituationDO::getOccurTime, reqVO.getOccurTime()) + .betweenIfPresent(SituationDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(SituationDO::getId)); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/warning/WarningMapper.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/warning/WarningMapper.java new file mode 100644 index 0000000000..18832c90be --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/mysql/warning/WarningMapper.java @@ -0,0 +1,39 @@ +package cn.iocoder.yudao.module.prison.dal.mysql.warning; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.prison.dal.dataobject.warning.WarningDO; +import org.apache.ibatis.annotations.Mapper; +import cn.iocoder.yudao.module.prison.controller.admin.warning.vo.*; + +/** + * 预警信息 Mapper + * + * @author xlcp + */ +@Mapper +public interface WarningMapper extends BaseMapperX { + + default PageResult selectPage(WarningPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(WarningDO::getTitle, reqVO.getTitle()) + .eqIfPresent(WarningDO::getType, reqVO.getType()) + .eqIfPresent(WarningDO::getLevel, reqVO.getLevel()) + .eqIfPresent(WarningDO::getStatus, reqVO.getStatus()) + .eqIfPresent(WarningDO::getSource, reqVO.getSource()) + .eqIfPresent(WarningDO::getSituationId, reqVO.getSituationId()) + .eqIfPresent(WarningDO::getAreaId, reqVO.getAreaId()) + .eqIfPresent(WarningDO::getCellId, reqVO.getCellId()) + .eqIfPresent(WarningDO::getVerifier, reqVO.getVerifier()) + .eqIfPresent(WarningDO::getHandler, reqVO.getHandler()) + .eqIfPresent(WarningDO::getReleaser, reqVO.getReleaser()) + .betweenIfPresent(WarningDO::getAlertTime, reqVO.getAlertTime()) + .betweenIfPresent(WarningDO::getOccurTime, reqVO.getOccurTime()) + .betweenIfPresent(WarningDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(WarningDO::getId)); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/AreaTypeEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/AreaTypeEnum.java index 09d20c1996..fe02e9fd20 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/AreaTypeEnum.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/AreaTypeEnum.java @@ -18,10 +18,14 @@ public enum AreaTypeEnum { NORMAL(1, "普通监区"), STRICT(2, "严管监区"), - TRAINING(3, "集训监区"), - RELEASE(4, "出监监区"), - HOSPITAL(5, "医院"), - SOLITARY(6, "禁闭室"); + HOSPITAL(3, "医院"), + SOLITARY(4, "禁闭室"), + ELDERLY(5, "老残监区"), + FEMALE(6, "女犯监区"), + MINOR(7, "未成年犯监区"), + ENTRY_EXIT(8, "出入监区"), + LABOR(9, "劳动监区"), + EDUCATION(10, "教育监区"); @EnumValue @JsonValue diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/AssessMethodEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/AssessMethodEnum.java new file mode 100644 index 0000000000..f5c84ae614 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/AssessMethodEnum.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.prison.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Arrays; + +/** + * 评估方式枚举 + * 1-心理测评 2-行为观察 3-面谈评估 4-综合评估 + * + * @author xlcp + */ +@Getter +@AllArgsConstructor +public enum AssessMethodEnum { + + PSYCHOLOGICAL(1, "心理测评"), + BEHAVIOR_OBSERVATION(2, "行为观察"), + INTERVIEW(3, "面谈评估"), + COMPREHENSIVE(4, "综合评估"); + + @EnumValue + @JsonValue + private final Integer value; + private final String name; + + public static AssessMethodEnum fromValue(Integer value) { + return Arrays.stream(values()) + .filter(e -> e.getValue().equals(value)) + .findFirst() + .orElse(null); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/AssessmentTypeEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/AssessmentTypeEnum.java new file mode 100644 index 0000000000..23eb277ccb --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/AssessmentTypeEnum.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.prison.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Arrays; + +/** + * 风险评估类型枚举 + * 1-入监评估 2-定期评估 3-专项评估 4-出监评估 + * + * @author xlcp + */ +@Getter +@AllArgsConstructor +public enum AssessmentTypeEnum { + + ADMISSION(1, "入监评估"), + REGULAR(2, "定期评估"), + SPECIAL(3, "专项评估"), + RELEASE(4, "出监评估"); + + @EnumValue + @JsonValue + private final Integer value; + private final String name; + + public static AssessmentTypeEnum fromValue(Integer value) { + return Arrays.stream(values()) + .filter(e -> e.getValue().equals(value)) + .findFirst() + .orElse(null); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/DictTypeConstants.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/DictTypeConstants.java index ec4f9db6b6..b4204c02e8 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/DictTypeConstants.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/DictTypeConstants.java @@ -25,5 +25,25 @@ public interface DictTypeConstants { // 考核相关 String PRISON_SCORE_CATEGORY = "prison_score_category"; // 考核类别 + String PRISON_SCORE_STATUS = "prison_score_status"; // 考核状态:1-待审核 2-已通过 + + // 评估相关 + String PRISON_ASSESSMENT_TYPE = "prison_assessment_type"; // 评估类型:1-入监评估 2-定期评估 3-专项评估 4-出监评估 + + // 问卷相关 + String PRISON_QUESTION_TYPE = "prison_question_type"; // 问卷问题类型:1-单选 2-多选 3-填空 4-评分 5-日期 6-数字 + String PRISON_QUESTIONNAIRE_STATUS = "prison_questionnaire_status"; // 问卷状态:1-草稿 2-已发布 3-已禁用 + String PRISON_QUESTIONNAIRE_TYPE = "prison_questionnaire_type"; // 问卷类型:1-心理测评 2-行为评估 3-满意度调查 + + // 消费相关 + String PRISON_CONSUMPTION_TYPE = "prison_consumption_type"; // 消费类型:1-购物 2-餐饮 3-医疗 4-通讯 5-其他 + String PRISON_CONSUMPTION_STATUS = "prison_consumption_status"; // 消费状态:1-成功 2-失败 + + // 考核相关 + String PRISON_SCORE_LEVEL = "prison_score_level"; // 考核等级:1-优秀 2-良好 3-合格 4-不合格 + + // 问卷记录相关 + String PRISON_RECORD_STATUS = "prison_record_status"; // 问卷答题记录状态:1-待测评 2-测评中 3-已完成 4-已过期 5-已取消 + String PRISON_RECORD_PASS_STATUS = "prison_record_pass_status"; // 问卷答题及格状态:1-及格 2-不及格 3-待评阅 } diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EducationEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EducationEnum.java index 2a140d2d98..502fd4f54f 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EducationEnum.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EducationEnum.java @@ -5,6 +5,8 @@ import com.fasterxml.jackson.annotation.JsonValue; import lombok.AllArgsConstructor; import lombok.Getter; +import java.util.Arrays; + /** * 文化程度枚举 * @@ -14,6 +16,7 @@ import lombok.Getter; @AllArgsConstructor public enum EducationEnum { + UNKNOWN(0, "未知"), ILLITERATE(1, "文盲"), PRIMARY_SCHOOL(2, "小学"), MIDDLE_SCHOOL(3, "初中"), @@ -27,4 +30,11 @@ public enum EducationEnum { private final Integer value; private final String name; + public static EducationEnum fromValue(Integer value) { + return Arrays.stream(values()) + .filter(e -> e.getValue().equals(value)) + .findFirst() + .orElse(null); + } + } diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ErrorCodeConstants.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ErrorCodeConstants.java index a372f078a3..673eea3421 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ErrorCodeConstants.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ErrorCodeConstants.java @@ -13,6 +13,8 @@ public class ErrorCodeConstants { public static final ErrorCode PRISONER_NOT_EXISTS = new ErrorCode(1_000_001, "服刑人员信息不存在"); public static final ErrorCode PRISONER_NO_EXISTS = new ErrorCode(1_000_002, "服刑人员编号【{0}】已存在"); public static final ErrorCode PRISONER_DATE_INVALID = new ErrorCode(1_000_003, "释放日期必须晚于入狱日期"); + public static final ErrorCode PRISON_TRANSFER_SAME_CELL = new ErrorCode(1_000_004, "目标监室与当前监室相同,无需调监"); + public static final ErrorCode PRISON_TRANSFER_STRICT_FORBIDDEN = new ErrorCode(1_000_005, "严管级罪犯不能调入普通监区"); // ========== 监区管理 2xxxx ========== public static final ErrorCode PRISON_AREA_NOT_EXISTS = new ErrorCode(2_000_001, "监区信息不存在"); @@ -21,6 +23,8 @@ public class ErrorCodeConstants { // ========== 监室管理 3xxxx ========== public static final ErrorCode PRISON_CELL_NOT_EXISTS = new ErrorCode(3_000_001, "监室信息不存在"); public static final ErrorCode PRISON_CELL_CODE_EXISTS = new ErrorCode(3_000_002, "监室编码【{0}】已存在"); + public static final ErrorCode PRISON_CELL_STATUS_DISABLED = new ErrorCode(3_000_003, "目标监室已禁用"); + public static final ErrorCode PRISON_CELL_CAPACITY_FULL = new ErrorCode(3_000_004, "目标监室床位已满"); // ========== 计分考核 4xxxx ========== public static final ErrorCode PRISON_SCORE_NOT_EXISTS = new ErrorCode(4_000_001, "计分记录不存在"); @@ -50,6 +54,12 @@ public class ErrorCodeConstants { public static final ErrorCode ASSESSMENT_ANSWER_ALREADY_EXISTS = new ErrorCode(9_000_005, "该囚犯已参与此测评"); public static final ErrorCode ASSESSMENT_RESULT_NOT_EXISTS = new ErrorCode(9_000_006, "测评结果不存在"); + // ========== 狱情收集 11xxxx ========== + public static final ErrorCode PRISON_SITUATION_NOT_EXISTS = new ErrorCode(11_000_001, "狱情记录不存在"); + + // ========== 预警管理 12xxxx ========== + public static final ErrorCode PRISON_WARNING_NOT_EXISTS = new ErrorCode(12_000_001, "预警记录不存在"); + // ========== 别名 (兼容codegen生成的代码) ========== public static final ErrorCode AREA_NOT_EXISTS = PRISON_AREA_NOT_EXISTS; public static final ErrorCode CELL_NOT_EXISTS = PRISON_CELL_NOT_EXISTS; @@ -64,4 +74,14 @@ public class ErrorCodeConstants { // ========== 答卷管理 10xxxx ========== public static final ErrorCode ANSWER_NOT_EXISTS = new ErrorCode(10_000_001, "答卷记录不存在"); + // ========== 评估报告 13xxxx ========== + public static final ErrorCode EVALUATION_TEMPLATE_NOT_EXISTS = new ErrorCode(13_000_001, "评估模板不存在"); + public static final ErrorCode EVALUATION_DIMENSION_NOT_EXISTS = new ErrorCode(13_000_002, "评估维度不存在"); + public static final ErrorCode EVALUATION_REPORT_NOT_EXISTS = new ErrorCode(13_000_003, "评估报告不存在"); + public static final ErrorCode EVALUATION_REPORT_STATUS_ERROR = new ErrorCode(13_000_004, "评估报告状态不正确"); + public static final ErrorCode EVALUATION_DIMENSION_DATA_NOT_EXISTS = new ErrorCode(13_000_005, "维度数据不存在"); + public static final ErrorCode REPORT_COMMENT_NOT_EXISTS = new ErrorCode(13_000_006, "快捷评语不存在"); + public static final ErrorCode PRISON_REPORT_TEMPLATE_NOT_EXISTS = new ErrorCode(13_000_007, "评估报告模板不存在"); + public static final ErrorCode PRISON_REPORT_NOT_EXISTS = new ErrorCode(13_000_008, "评估报告不存在"); + } diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationAiStatusEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationAiStatusEnum.java new file mode 100644 index 0000000000..f96a30a532 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationAiStatusEnum.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.prison.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Arrays; + +/** + * AI生成状态枚举 + * + * @author xlcp + */ +@Getter +@AllArgsConstructor +public enum EvaluationAiStatusEnum { + + PENDING(1, "待生成"), + GENERATING(2, "生成中"), + COMPLETED(3, "已完成"), + FAILED(4, "生成失败"); + + @EnumValue + @JsonValue + private final Integer value; + private final String name; + + public static EvaluationAiStatusEnum fromValue(Integer value) { + return Arrays.stream(values()) + .filter(e -> e.getValue().equals(value)) + .findFirst() + .orElse(null); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationCycleEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationCycleEnum.java new file mode 100644 index 0000000000..d3e352fc58 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationCycleEnum.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.prison.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Arrays; + +/** + * 评估周期类型枚举 + * + * @author xlcp + */ +@Getter +@AllArgsConstructor +public enum EvaluationCycleEnum { + + MONTHLY(1, "月评"), + QUARTERLY(2, "季评"), + SEMI_ANNUAL(3, "半年评"), + ANNUAL(4, "年终评"), + ENTRY(5, "入监评估"), + EXIT(6, "出监评估"); + + @EnumValue + @JsonValue + private final Integer value; + private final String name; + + public static EvaluationCycleEnum fromValue(Integer value) { + return Arrays.stream(values()) + .filter(e -> e.getValue().equals(value)) + .findFirst() + .orElse(null); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationDimensionTypeEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationDimensionTypeEnum.java new file mode 100644 index 0000000000..1148021fa6 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationDimensionTypeEnum.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.prison.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Arrays; + +/** + * 评估维度类型枚举 + * + * @author xlcp + */ +@Getter +@AllArgsConstructor +public enum EvaluationDimensionTypeEnum { + + PSYCHOLOGICAL(1, "心理测评"), + BEHAVIOR(2, "行为表现"), + EDUCATION(3, "教育改造"), + LABOR(4, "劳动表现"), + SOCIAL(5, "人际交往"), + SELF_EVALUATION(6, "自评/他评"); + + @EnumValue + @JsonValue + private final Integer value; + private final String name; + + public static EvaluationDimensionTypeEnum fromValue(Integer value) { + return Arrays.stream(values()) + .filter(e -> e.getValue().equals(value)) + .findFirst() + .orElse(null); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationLevelEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationLevelEnum.java new file mode 100644 index 0000000000..20b44ac170 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationLevelEnum.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.prison.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Arrays; + +/** + * 评估等级枚举 + * + * @author xlcp + */ +@Getter +@AllArgsConstructor +public enum EvaluationLevelEnum { + + EXCELLENT(1, "优秀"), + GOOD(2, "良好"), + NORMAL(3, "一般"), + POOR(4, "较差"), + DANGEROUS(5, "危险"); + + @EnumValue + @JsonValue + private final Integer value; + private final String name; + + public static EvaluationLevelEnum fromValue(Integer value) { + return Arrays.stream(values()) + .filter(e -> e.getValue().equals(value)) + .findFirst() + .orElse(null); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationReportStatusEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationReportStatusEnum.java new file mode 100644 index 0000000000..a922f2a773 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationReportStatusEnum.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.prison.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Arrays; + +/** + * 报告状态枚举 + * + * @author xlcp + */ +@Getter +@AllArgsConstructor +public enum EvaluationReportStatusEnum { + + DRAFT(1, "草稿"), + PENDING_AUDIT(2, "待审核"), + AUDITED(3, "已审核"), + VOID(4, "已作废"); + + @EnumValue + @JsonValue + private final Integer value; + private final String name; + + public static EvaluationReportStatusEnum fromValue(Integer value) { + return Arrays.stream(values()) + .filter(e -> e.getValue().equals(value)) + .findFirst() + .orElse(null); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationTemplateTypeEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationTemplateTypeEnum.java new file mode 100644 index 0000000000..c9ec603ad4 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/EvaluationTemplateTypeEnum.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.prison.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Arrays; + +/** + * 评估模板类型枚举 + * + * @author xlcp + */ +@Getter +@AllArgsConstructor +public enum EvaluationTemplateTypeEnum { + + PSYCHOLOGICAL(1, "心理评估"), + DANGER(2, "危险性评估"), + REFORM(3, "改造表现评估"), + COMPREHENSIVE(4, "综合评估"); + + @EnumValue + @JsonValue + private final Integer value; + private final String name; + + public static EvaluationTemplateTypeEnum fromValue(Integer value) { + return Arrays.stream(values()) + .filter(e -> e.getValue().equals(value)) + .findFirst() + .orElse(null); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/GenderEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/GenderEnum.java index 64691d670f..015e387b97 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/GenderEnum.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/GenderEnum.java @@ -16,6 +16,7 @@ import java.util.Arrays; @AllArgsConstructor public enum GenderEnum { + UNKNOWN(0, "未知"), MALE(1, "男"), FEMALE(2, "女"); diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/PrisonerStatusEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/PrisonerStatusEnum.java index 9e8dd12b67..80a3b4e13e 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/PrisonerStatusEnum.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/PrisonerStatusEnum.java @@ -16,6 +16,7 @@ import java.util.Arrays; @AllArgsConstructor public enum PrisonerStatusEnum { + UNKNOWN(0, "未知"), IMPRISONED(1, "在押"), PAROLED(2, "假释"), OUTSIDE_EXECUTION(3, "暂予监外执行"), diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ReleaseTypeEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ReleaseTypeEnum.java index c73416f02f..3ecbfba93e 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ReleaseTypeEnum.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ReleaseTypeEnum.java @@ -5,6 +5,8 @@ import com.fasterxml.jackson.annotation.JsonValue; import lombok.AllArgsConstructor; import lombok.Getter; +import java.util.Arrays; + /** * 释放类型枚举 * @@ -14,6 +16,7 @@ import lombok.Getter; @AllArgsConstructor public enum ReleaseTypeEnum { + UNKNOWN(0, "未知"), COMPLETED(1, "刑满释放"), PAROLED(2, "假释"), MEDICAL_RELEASE(3, "保外就医"), @@ -28,4 +31,11 @@ public enum ReleaseTypeEnum { private final Integer value; private final String name; + public static ReleaseTypeEnum fromValue(Integer value) { + return Arrays.stream(values()) + .filter(e -> e.getValue().equals(value)) + .findFirst() + .orElse(null); + } + } diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ReportCommentTypeEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ReportCommentTypeEnum.java new file mode 100644 index 0000000000..62cdeb35f3 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ReportCommentTypeEnum.java @@ -0,0 +1,39 @@ +package cn.iocoder.yudao.module.prison.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Arrays; + +/** + * 评语类型枚举 + * + * @author xlcp + */ +@Getter +@AllArgsConstructor +public enum ReportCommentTypeEnum { + + PSYCHOLOGICAL(1, "心理评语"), + BEHAVIOR(2, "行为表现评语"), + EDUCATION(3, "教育改造评语"), + LABOR(4, "劳动表现评语"), + COMPREHENSIVE(5, "综合评语"), + RISK_WARNING(6, "风险提示"), + SUGGESTION(7, "建议措施"); + + @EnumValue + @JsonValue + private final Integer value; + private final String name; + + public static ReportCommentTypeEnum fromValue(Integer value) { + return Arrays.stream(values()) + .filter(e -> e.getValue().equals(value)) + .findFirst() + .orElse(null); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/RiskLevelEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/RiskLevelEnum.java index 6df613ecfd..db99af9594 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/RiskLevelEnum.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/RiskLevelEnum.java @@ -9,6 +9,7 @@ import java.util.Arrays; /** * 风险等级枚举 + * 1-低风险 2-中风险 3-高风险 4-极高风险 * * @author xlcp */ @@ -16,9 +17,11 @@ import java.util.Arrays; @AllArgsConstructor public enum RiskLevelEnum { - HIGH(1, "高风险"), + UNKNOWN(0, "未知"), + LOW(1, "低风险"), MEDIUM(2, "中风险"), - LOW(3, "低风险"); + HIGH(3, "高风险"), + EXTREME(4, "极高风险"); @EnumValue @JsonValue diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ScoreLevelEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ScoreLevelEnum.java new file mode 100644 index 0000000000..0bee59d9fb --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ScoreLevelEnum.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.prison.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.Arrays; + +/** + * 计分考核等级枚举 + * 1-优秀 2-良好 3-合格 4-不合格 + * + * @author xlcp + */ +@Getter +@AllArgsConstructor +public enum ScoreLevelEnum { + + EXCELLENT(1, "优秀"), + GOOD(2, "良好"), + QUALIFIED(3, "合格"), + UNQUALIFIED(4, "不合格"); + + @EnumValue + @JsonValue + private final Integer value; + private final String name; + + public static ScoreLevelEnum fromValue(Integer value) { + return Arrays.stream(values()) + .filter(e -> e.getValue().equals(value)) + .findFirst() + .orElse(null); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ScoreRuleCategoryEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ScoreRuleCategoryEnum.java new file mode 100644 index 0000000000..27c57fdb59 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ScoreRuleCategoryEnum.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.prison.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 考核规则类别枚举 + * + * @author xlcp + */ +@Getter +@AllArgsConstructor +public enum ScoreRuleCategoryEnum { + + LABOR(1, "劳动改造"), + EDUCATION(2, "教育改造"), + DAILY_BEHAVIOR(3, "日常行为"), + HYGIENE_DISCIPLINE(4, "卫生纪律"), + BONUS(5, "加分项"), + DEDUCTION(6, "扣分项"); + + /** + * 类别 + */ + private final Integer category; + + /** + * 名称 + */ + private final String name; + + public static String getName(Integer category) { + if (category == null) { + return null; + } + for (ScoreRuleCategoryEnum value : values()) { + if (value.getCategory().equals(category)) { + return value.getName(); + } + } + return null; + } + + public static boolean isValid(Integer category) { + if (category == null) { + return false; + } + for (ScoreRuleCategoryEnum value : values()) { + if (value.getCategory().equals(category)) { + return true; + } + } + return false; + } +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ScoreRuleStatusEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ScoreRuleStatusEnum.java new file mode 100644 index 0000000000..e884921634 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/ScoreRuleStatusEnum.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.module.prison.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 考核规则状态枚举 + * + * @author xlcp + */ +@Getter +@AllArgsConstructor +public enum ScoreRuleStatusEnum { + + ENABLED(1, "启用"), + DISABLED(2, "禁用"); + + /** + * 状态 + */ + private final Integer status; + + /** + * 名称 + */ + private final String name; + + public static String getName(Integer status) { + if (status == null) { + return null; + } + for (ScoreRuleStatusEnum value : values()) { + if (value.getStatus().equals(status)) { + return value.getName(); + } + } + return null; + } + + public static boolean isValid(Integer status) { + if (status == null) { + return false; + } + for (ScoreRuleStatusEnum value : values()) { + if (value.getStatus().equals(status)) { + return true; + } + } + return false; + } +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/SupervisionLevelEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/SupervisionLevelEnum.java index 1944034b9b..34b35188e5 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/SupervisionLevelEnum.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/SupervisionLevelEnum.java @@ -16,6 +16,7 @@ import java.util.Arrays; @AllArgsConstructor public enum SupervisionLevelEnum { + UNKNOWN(0, "未知"), STRICT(1, "严管级"), NORMAL(2, "普管级"), RELAXED(3, "宽管级"); diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/questionnaire/RiskLevelEnum.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/questionnaire/RiskLevelEnum.java deleted file mode 100644 index 44a8921517..0000000000 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/enums/questionnaire/RiskLevelEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package cn.iocoder.yudao.module.prison.enums.questionnaire; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 风险等级枚举 - * - * @author 芋道源码 - */ -@Getter -@AllArgsConstructor -public enum RiskLevelEnum { - - HIGH(1, "高风险"), - MEDIUM(2, "中风险"), - LOW(3, "低风险"); - - /** - * 等级 - */ - private final Integer level; - /** - * 名称 - */ - private final String name; - - public static RiskLevelEnum getByLevel(Integer level) { - for (RiskLevelEnum levelEnum : values()) { - if (levelEnum.getLevel().equals(level)) { - return levelEnum; - } - } - return null; - } - -} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/cell/CellServiceImpl.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/cell/CellServiceImpl.java index 8b70b19d7f..db80b9a08e 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/cell/CellServiceImpl.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/cell/CellServiceImpl.java @@ -117,6 +117,8 @@ public class CellServiceImpl implements CellService { // 转换为 RespVO,填充监区名称 List respList = pageResult.getList().stream().map(cell -> { CellRespVO respVO = BeanUtils.toBean(cell, CellRespVO.class); + // 显式设置创建时间(因为继承字段可能未正确复制) + respVO.setCreateTime(cell.getCreateTime()); // 设置监区名称 if (cell.getAreaId() != null && areaMap.containsKey(cell.getAreaId())) { respVO.setAreaName(areaMap.get(cell.getAreaId()).getName()); diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/consumption/ConsumptionService.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/consumption/ConsumptionService.java index 0c19c2d2d7..626bf47ff3 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/consumption/ConsumptionService.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/consumption/ConsumptionService.java @@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.prison.service.consumption; import java.util.*; import jakarta.validation.*; import cn.iocoder.yudao.module.prison.controller.admin.consumption.vo.*; -import cn.iocoder.yudao.module.prison.dal.dataobject.consumption.ConsumptionDO; import cn.iocoder.yudao.module.prison.dal.dataobject.consumption.ConsumptionDetailDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; @@ -45,20 +44,20 @@ public interface ConsumptionService { void deleteConsumptionListByIds(List ids); /** - * 获得消费订单 + * 获得消费订单详情(包含罪犯信息) * * @param id 订单编号 - * @return 消费订单 + * @return 消费订单详情 */ - ConsumptionDO getConsumption(Long id); + ConsumptionRespVO getConsumption(Long id); /** - * 获得消费订单分页 + * 获得消费订单分页(包含罪犯信息) * * @param pageReqVO 分页查询 * @return 消费订单分页 */ - PageResult getConsumptionPage(ConsumptionPageReqVO pageReqVO); + PageResult getConsumptionPage(ConsumptionPageReqVO pageReqVO); /** * 获得消费订单明细列表 diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/consumption/ConsumptionServiceImpl.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/consumption/ConsumptionServiceImpl.java index 14e730d2d9..5d734265a5 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/consumption/ConsumptionServiceImpl.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/consumption/ConsumptionServiceImpl.java @@ -123,13 +123,19 @@ public class ConsumptionServiceImpl implements ConsumptionService { } @Override - public ConsumptionDO getConsumption(Long id) { - return consumptionMapper.selectById(id); + public ConsumptionRespVO getConsumption(Long id) { + ConsumptionRespVO consumption = consumptionMapper.selectConsumptionDetail(id); + if (consumption != null) { + consumption.setDetails(ConsumptionDetailConvert.INSTANCE.convertListResp( + getConsumptionDetailList(id))); + } + return consumption; } @Override - public PageResult getConsumptionPage(ConsumptionPageReqVO pageReqVO) { - return consumptionMapper.selectPage(pageReqVO); + public PageResult getConsumptionPage(ConsumptionPageReqVO pageReqVO) { + List list = consumptionMapper.selectConsumptionDetailPage(pageReqVO); + return new PageResult<>(list, (long) list.size()); } @Override diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/dashboard/impl/PrisonDashboardServiceImpl.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/dashboard/impl/PrisonDashboardServiceImpl.java index 82b718d972..a0f8b83adc 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/dashboard/impl/PrisonDashboardServiceImpl.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/dashboard/impl/PrisonDashboardServiceImpl.java @@ -76,6 +76,7 @@ public class PrisonDashboardServiceImpl implements PrisonDashboardService { /** * 转换省份数据,将编码转换为名称 + * 如果传入的已经是中文名称,则直接使用 */ private List convertProvinceData(List rawData) { return rawData.stream() @@ -88,50 +89,57 @@ public class PrisonDashboardServiceImpl implements PrisonDashboardService { } /** - * 根据省份编码获取省份名称 - * 部分常见省份编码映射 + * 根据省份编码或名称获取省份名称 + * 支持两种格式: + * 1. 两位数字编码(如 "31" -> "上海") + * 2. 中文省份名称(如 "上海" -> "上海") */ - private String getProvinceName(Integer provinceCode) { - if (provinceCode == null) { + private String getProvinceName(String provinceCode) { + if (provinceCode == null || provinceCode.isEmpty()) { return "未知"; } - Map provinceMap = Map.ofEntries( - Map.entry(11, "北京"), - Map.entry(12, "天津"), - Map.entry(13, "河北"), - Map.entry(14, "山西"), - Map.entry(15, "内蒙古"), - Map.entry(21, "辽宁"), - Map.entry(22, "吉林"), - Map.entry(23, "黑龙江"), - Map.entry(31, "上海"), - Map.entry(32, "江苏"), - Map.entry(33, "浙江"), - Map.entry(34, "安徽"), - Map.entry(35, "福建"), - Map.entry(36, "江西"), - Map.entry(37, "山东"), - Map.entry(41, "河南"), - Map.entry(42, "湖北"), - Map.entry(43, "湖南"), - Map.entry(44, "广东"), - Map.entry(45, "广西"), - Map.entry(46, "海南"), - Map.entry(50, "重庆"), - Map.entry(51, "四川"), - Map.entry(52, "贵州"), - Map.entry(53, "云南"), - Map.entry(54, "西藏"), - Map.entry(61, "陕西"), - Map.entry(62, "甘肃"), - Map.entry(63, "青海"), - Map.entry(64, "宁夏"), - Map.entry(65, "新疆"), - Map.entry(71, "台湾"), - Map.entry(81, "香港"), - Map.entry(82, "澳门") + // 如果已经是中文,直接返回 + if (!provinceCode.matches("\\d+")) { + return provinceCode; + } + // 如果是数字编码,映射到省份名称 + Map provinceMap = Map.ofEntries( + Map.entry("11", "北京"), + Map.entry("12", "天津"), + Map.entry("13", "河北"), + Map.entry("14", "山西"), + Map.entry("15", "内蒙古"), + Map.entry("21", "辽宁"), + Map.entry("22", "吉林"), + Map.entry("23", "黑龙江"), + Map.entry("31", "上海"), + Map.entry("32", "江苏"), + Map.entry("33", "浙江"), + Map.entry("34", "安徽"), + Map.entry("35", "福建"), + Map.entry("36", "江西"), + Map.entry("37", "山东"), + Map.entry("41", "河南"), + Map.entry("42", "湖北"), + Map.entry("43", "湖南"), + Map.entry("44", "广东"), + Map.entry("45", "广西"), + Map.entry("46", "海南"), + Map.entry("50", "重庆"), + Map.entry("51", "四川"), + Map.entry("52", "贵州"), + Map.entry("53", "云南"), + Map.entry("54", "西藏"), + Map.entry("61", "陕西"), + Map.entry("62", "甘肃"), + Map.entry("63", "青海"), + Map.entry("64", "宁夏"), + Map.entry("65", "新疆"), + Map.entry("71", "台湾"), + Map.entry("81", "香港"), + Map.entry("82", "澳门") ); - return provinceMap.getOrDefault(provinceCode, "未知"); + return provinceMap.getOrDefault(provinceCode, provinceCode); } } diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/evaluationreport/EvaluationReportService.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/evaluationreport/EvaluationReportService.java new file mode 100644 index 0000000000..770c963f29 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/evaluationreport/EvaluationReportService.java @@ -0,0 +1,217 @@ +package cn.iocoder.yudao.module.prison.service.evaluationreport; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.evaluationreport.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 评估报告 Service 接口 + * + * @author xlcp + */ +public interface EvaluationReportService { + + // ========== 模板管理 ========== + + /** + * 创建评估模板 + */ + Long createTemplate(EvaluationTemplateSaveReqVO createReqVO); + + /** + * 更新评估模板 + */ + void updateTemplate(EvaluationTemplateSaveReqVO updateReqVO); + + /** + * 删除评估模板 + */ + void deleteTemplate(Long id); + + /** + * 批量删除评估模板 + */ + void deleteTemplateListByIds(List ids); + + /** + * 获得评估模板 + */ + EvaluationTemplateDO getTemplate(Long id); + + /** + * 获得评估模板分页 + */ + PageResult getTemplatePage(EvaluationTemplatePageReqVO pageReqVO); + + /** + * 获取启用的模板列表 + */ + List getEnabledTemplateList(); + + // ========== 维度配置管理 ========== + + /** + * 创建评估维度 + */ + Long createDimension(EvaluationDimensionSaveReqVO createReqVO); + + /** + * 更新评估维度 + */ + void updateDimension(EvaluationDimensionSaveReqVO updateReqVO); + + /** + * 删除评估维度 + */ + void deleteDimension(Long id); + + /** + * 批量删除评估维度 + */ + void deleteDimensionListByIds(List ids); + + /** + * 获得评估维度 + */ + EvaluationDimensionDO getDimension(Long id); + + /** + * 获得评估维度分页 + */ + PageResult getDimensionPage(EvaluationDimensionPageReqVO pageReqVO); + + /** + * 根据模板ID获取维度列表 + */ + List getDimensionsByTemplateId(Long templateId); + + // ========== 评估报告管理 ========== + + /** + * 创建评估报告 + */ + Long createReport(EvaluationReportSaveReqVO createReqVO); + + /** + * 更新评估报告 + */ + void updateReport(EvaluationReportSaveReqVO updateReqVO); + + /** + * 删除评估报告 + */ + void deleteReport(Long id); + + /** + * 批量删除评估报告 + */ + void deleteReportListByIds(List ids); + + /** + * 获得评估报告 + */ + EvaluationReportDO getReport(Long id); + + /** + * 获得评估报告分页 + */ + PageResult getReportPage(EvaluationReportPageReqVO pageReqVO); + + /** + * 根据报告编号获取报告 + */ + EvaluationReportDO getReportByReportNo(String reportNo); + + /** + * 根据罪犯ID获取报告列表 + */ + List getReportsByPrisonerId(Long prisonerId); + + /** + * 提交报告审核 + */ + void submitReport(Long id); + + /** + * 审核报告 + */ + void auditReport(EvaluationReportAuditReqVO auditReqVO); + + /** + * 作废报告 + */ + void voidReport(Long id); + + // ========== 维度数据管理 ========== + + /** + * 创建维度数据 + */ + Long createDimensionData(EvaluationDimensionDataSaveReqVO createReqVO); + + /** + * 批量创建维度数据 + */ + void createDimensionDataList(List list); + + /** + * 更新维度数据 + */ + void updateDimensionData(EvaluationDimensionDataSaveReqVO updateReqVO); + + /** + * 删除维度数据 + */ + void deleteDimensionData(Long id); + + /** + * 根据报告ID获取维度数据列表 + */ + List getDimensionDataListByReportId(Long reportId); + + // ========== 快捷评语库管理 ========== + + /** + * 创建快捷评语 + */ + Long createComment(ReportCommentSaveReqVO createReqVO); + + /** + * 更新快捷评语 + */ + void updateComment(ReportCommentSaveReqVO updateReqVO); + + /** + * 删除快捷评语 + */ + void deleteComment(Long id); + + /** + * 批量删除快捷评语 + */ + void deleteCommentListByIds(List ids); + + /** + * 获得快捷评语 + */ + ReportCommentDO getComment(Long id); + + /** + * 获得快捷评语分页 + */ + PageResult getCommentPage(ReportCommentPageReqVO pageReqVO); + + /** + * 根据类型和等级获取评语列表 + */ + List getCommentsByTypeAndLevel(Integer commentType, Integer level); + + /** + * 根据维度ID获取评语列表 + */ + List getCommentsByDimensionId(Long dimensionId); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/evaluationreport/EvaluationReportServiceImpl.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/evaluationreport/EvaluationReportServiceImpl.java new file mode 100644 index 0000000000..865c86a32a --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/evaluationreport/EvaluationReportServiceImpl.java @@ -0,0 +1,386 @@ +package cn.iocoder.yudao.module.prison.service.evaluationreport; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.stream.Collectors; + +import cn.iocoder.yudao.module.prison.controller.admin.evaluationreport.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.evaluationreport.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + +import cn.iocoder.yudao.module.prison.dal.mysql.evaluationreport.*; +import cn.iocoder.yudao.module.prison.dal.mysql.evaluationreport.EvaluationTemplateMapper; +import cn.iocoder.yudao.module.prison.dal.mysql.evaluationreport.EvaluationDimensionMapper; +import cn.iocoder.yudao.module.prison.dal.mysql.evaluationreport.EvaluationReportMapper; +import cn.iocoder.yudao.module.prison.dal.mysql.evaluationreport.EvaluationDimensionDataMapper; +import cn.iocoder.yudao.module.prison.dal.mysql.evaluationreport.ReportCommentMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.prison.enums.ErrorCodeConstants.*; + +import static cn.iocoder.yudao.module.prison.enums.ErrorCodeConstants.*; + +/** + * 评估报告 Service 实现类 + * + * @author xlcp + */ +@Service +@Validated +public class EvaluationReportServiceImpl implements EvaluationReportService { + + @Resource + private EvaluationTemplateMapper templateMapper; + + @Resource + private EvaluationDimensionMapper dimensionMapper; + + @Resource + private EvaluationReportMapper evaluationReportMapper; + + @Resource + private EvaluationDimensionDataMapper dimensionDataMapper; + + @Resource + private ReportCommentMapper commentMapper; + + // ========== 模板管理 ========== + + @Override + @Transactional(rollbackFor = Exception.class) + public Long createTemplate(EvaluationTemplateSaveReqVO createReqVO) { + // 插入 + EvaluationTemplateDO template = BeanUtils.toBean(createReqVO, EvaluationTemplateDO.class); + templateMapper.insert(template); + return template.getId(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateTemplate(EvaluationTemplateSaveReqVO updateReqVO) { + validateTemplateExists(updateReqVO.getId()); + EvaluationTemplateDO updateObj = BeanUtils.toBean(updateReqVO, EvaluationTemplateDO.class); + templateMapper.updateById(updateObj); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteTemplate(Long id) { + validateTemplateExists(id); + templateMapper.deleteById(id); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteTemplateListByIds(List ids) { + templateMapper.deleteByIds(ids); + } + + @Override + public EvaluationTemplateDO getTemplate(Long id) { + return templateMapper.selectById(id); + } + + @Override + public PageResult getTemplatePage(EvaluationTemplatePageReqVO pageReqVO) { + return templateMapper.selectPage(pageReqVO); + } + + @Override + public List getEnabledTemplateList() { + return templateMapper.selectList(new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() + .eq(EvaluationTemplateDO::getStatus, 1) + .eq(EvaluationTemplateDO::getDeleted, false) + .orderByAsc(EvaluationTemplateDO::getSort)); + } + + private void validateTemplateExists(Long id) { + if (templateMapper.selectById(id) == null) { + throw exception(EVALUATION_TEMPLATE_NOT_EXISTS); + } + } + + // ========== 维度配置管理 ========== + + @Override + @Transactional(rollbackFor = Exception.class) + public Long createDimension(EvaluationDimensionSaveReqVO createReqVO) { + // 校验模板是否存在 + if (createReqVO.getTemplateId() != null) { + validateTemplateExists(createReqVO.getTemplateId()); + } + EvaluationDimensionDO dimension = BeanUtils.toBean(createReqVO, EvaluationDimensionDO.class); + dimensionMapper.insert(dimension); + return dimension.getId(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateDimension(EvaluationDimensionSaveReqVO updateReqVO) { + validateDimensionExists(updateReqVO.getId()); + EvaluationDimensionDO updateObj = BeanUtils.toBean(updateReqVO, EvaluationDimensionDO.class); + dimensionMapper.updateById(updateObj); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteDimension(Long id) { + validateDimensionExists(id); + dimensionMapper.deleteById(id); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteDimensionListByIds(List ids) { + dimensionMapper.deleteByIds(ids); + } + + @Override + public EvaluationDimensionDO getDimension(Long id) { + return dimensionMapper.selectById(id); + } + + @Override + public PageResult getDimensionPage(EvaluationDimensionPageReqVO pageReqVO) { + return dimensionMapper.selectPage(pageReqVO); + } + + @Override + public List getDimensionsByTemplateId(Long templateId) { + return dimensionMapper.selectListByTemplateId(templateId); + } + + private void validateDimensionExists(Long id) { + if (dimensionMapper.selectById(id) == null) { + throw exception(EVALUATION_DIMENSION_NOT_EXISTS); + } + } + + // ========== 评估报告管理 ========== + + @Override + @Transactional(rollbackFor = Exception.class) + public Long createReport(EvaluationReportSaveReqVO createReqVO) { + EvaluationReportDO report = BeanUtils.toBean(createReqVO, EvaluationReportDO.class); + // 生成报告编号 + report.setReportNo(generateReportNo()); + // 初始状态为草稿 + if (report.getStatus() == null) { + report.setStatus(1); + } + // AI生成状态初始为待生成 + if (report.getAiStatus() == null) { + report.setAiStatus(1); + } + evaluationReportMapper.insert(report); + return report.getId(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateReport(EvaluationReportSaveReqVO updateReqVO) { + validateReportExists(updateReqVO.getId()); + EvaluationReportDO updateObj = BeanUtils.toBean(updateReqVO, EvaluationReportDO.class); + evaluationReportMapper.updateById(updateObj); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteReport(Long id) { + validateReportExists(id); + evaluationReportMapper.deleteById(id); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteReportListByIds(List ids) { + evaluationReportMapper.deleteByIds(ids); + } + + @Override + public EvaluationReportDO getReport(Long id) { + return evaluationReportMapper.selectById(id); + } + + @Override + public PageResult getReportPage(EvaluationReportPageReqVO pageReqVO) { + return evaluationReportMapper.selectPage(pageReqVO); + } + + @Override + public EvaluationReportDO getReportByReportNo(String reportNo) { + return evaluationReportMapper.selectByReportNo(reportNo); + } + + @Override + public List getReportsByPrisonerId(Long prisonerId) { + return evaluationReportMapper.selectListByPrisonerId(prisonerId); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void submitReport(Long id) { + EvaluationReportDO report = validateReportExists(id); + if (!report.getStatus().equals(1)) { + throw exception(EVALUATION_REPORT_STATUS_ERROR); + } + EvaluationReportDO updateObj = new EvaluationReportDO(); + updateObj.setId(id); + updateObj.setStatus(2); // 待审核 + evaluationReportMapper.updateById(updateObj); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void auditReport(EvaluationReportAuditReqVO auditReqVO) { + EvaluationReportDO report = validateReportExists(auditReqVO.getId()); + if (!report.getStatus().equals(2)) { + throw exception(EVALUATION_REPORT_STATUS_ERROR); + } + EvaluationReportDO updateObj = new EvaluationReportDO(); + updateObj.setId(auditReqVO.getId()); + updateObj.setStatus(auditReqVO.getStatus()); + updateObj.setAuditOpinion(auditReqVO.getAuditOpinion()); + evaluationReportMapper.updateById(updateObj); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void voidReport(Long id) { + EvaluationReportDO report = validateReportExists(id); + EvaluationReportDO updateObj = new EvaluationReportDO(); + updateObj.setId(id); + updateObj.setStatus(4); // 已作废 + evaluationReportMapper.updateById(updateObj); + } + + private EvaluationReportDO validateReportExists(Long id) { + EvaluationReportDO report = evaluationReportMapper.selectById(id); + if (report == null) { + throw exception(EVALUATION_REPORT_NOT_EXISTS); + } + return report; + } + + private String generateReportNo() { + // 格式:PGEV + 年月日 + 6位流水号 + String dateStr = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); + String randomStr = String.format("%06d", new Random().nextInt(999999)); + return "PGEV" + dateStr + randomStr; + } + + // ========== 维度数据管理 ========== + + @Override + @Transactional(rollbackFor = Exception.class) + public Long createDimensionData(EvaluationDimensionDataSaveReqVO createReqVO) { + EvaluationDimensionDataDO data = BeanUtils.toBean(createReqVO, EvaluationDimensionDataDO.class); + dimensionDataMapper.insert(data); + return data.getId(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void createDimensionDataList(List list) { + if (CollUtil.isEmpty(list)) { + return; + } + List dataList = BeanUtils.toBean(list, EvaluationDimensionDataDO.class); + dimensionDataMapper.insertBatch(dataList); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateDimensionData(EvaluationDimensionDataSaveReqVO updateReqVO) { + validateDimensionDataExists(updateReqVO.getId()); + EvaluationDimensionDataDO updateObj = BeanUtils.toBean(updateReqVO, EvaluationDimensionDataDO.class); + dimensionDataMapper.updateById(updateObj); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteDimensionData(Long id) { + validateDimensionDataExists(id); + dimensionDataMapper.deleteById(id); + } + + @Override + public List getDimensionDataListByReportId(Long reportId) { + return dimensionDataMapper.selectListByReportId(reportId); + } + + private void validateDimensionDataExists(Long id) { + if (dimensionDataMapper.selectById(id) == null) { + throw exception(EVALUATION_DIMENSION_DATA_NOT_EXISTS); + } + } + + // ========== 快捷评语库管理 ========== + + @Override + @Transactional(rollbackFor = Exception.class) + public Long createComment(ReportCommentSaveReqVO createReqVO) { + ReportCommentDO comment = BeanUtils.toBean(createReqVO, ReportCommentDO.class); + commentMapper.insert(comment); + return comment.getId(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateComment(ReportCommentSaveReqVO updateReqVO) { + validateCommentExists(updateReqVO.getId()); + ReportCommentDO updateObj = BeanUtils.toBean(updateReqVO, ReportCommentDO.class); + commentMapper.updateById(updateObj); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteComment(Long id) { + validateCommentExists(id); + commentMapper.deleteById(id); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteCommentListByIds(List ids) { + commentMapper.deleteByIds(ids); + } + + @Override + public ReportCommentDO getComment(Long id) { + return commentMapper.selectById(id); + } + + @Override + public PageResult getCommentPage(ReportCommentPageReqVO pageReqVO) { + return commentMapper.selectPage(pageReqVO); + } + + @Override + public List getCommentsByTypeAndLevel(Integer commentType, Integer level) { + return commentMapper.selectListByTypeAndLevel(commentType, level); + } + + @Override + public List getCommentsByDimensionId(Long dimensionId) { + return commentMapper.selectListByDimensionId(dimensionId); + } + + private void validateCommentExists(Long id) { + if (commentMapper.selectById(id) == null) { + throw exception(REPORT_COMMENT_NOT_EXISTS); + } + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/impl/PrisonerServiceImpl.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/impl/PrisonerServiceImpl.java index 48b6d13022..728ab8e10f 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/impl/PrisonerServiceImpl.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/impl/PrisonerServiceImpl.java @@ -16,6 +16,7 @@ import cn.iocoder.yudao.module.prison.dal.mysql.PrisonerMapper; import cn.iocoder.yudao.module.prison.dal.mysql.area.AreaMapper; import cn.iocoder.yudao.module.prison.dal.mysql.cell.CellMapper; import cn.iocoder.yudao.module.prison.enums.AreaTypeEnum; +import cn.iocoder.yudao.module.prison.enums.CellStatusEnum; import cn.iocoder.yudao.module.prison.enums.SupervisionLevelEnum; import cn.iocoder.yudao.module.prison.service.PrisonerService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -180,7 +181,7 @@ public class PrisonerServiceImpl implements PrisonerService { vo.setOriginalSentence(prisoner.getOriginalSentence()); vo.setImprisonmentDate(prisoner.getImprisonmentDate()); vo.setReleaseDate(prisoner.getReleaseDate()); - vo.setReleaseType(prisoner.getReleaseType()); + vo.setReleaseType(prisoner.getReleaseType() != null ? prisoner.getReleaseType().getValue() : null); vo.setReleaseReason(prisoner.getReleaseReason()); vo.setPhoto(prisoner.getPhoto()); vo.setPrisonAreaId(prisoner.getPrisonAreaId()); @@ -204,14 +205,7 @@ public class PrisonerServiceImpl implements PrisonerService { // 设置风险等级 if (prisoner.getRiskLevel() != null) { vo.setRiskLevel(prisoner.getRiskLevel().getValue()); - // 风险等级标签 - String[] riskLabels = {"", "低风险", "中风险", "高风险", "极高风险"}; - Integer value = prisoner.getRiskLevel().getValue(); - if (value >= 1 && value <= 4) { - vo.setRiskLevelName(riskLabels[value]); - } else { - vo.setRiskLevelName(prisoner.getRiskLevel().getName()); - } + vo.setRiskLevelName(prisoner.getRiskLevel().getName()); } // 设置状态 @@ -263,17 +257,17 @@ public class PrisonerServiceImpl implements PrisonerService { // 2. 校验目标监室是否存在 CellDO targetCell = cellMapper.selectById(reqVO.getTargetCellId()); if (targetCell == null) { - throw new IllegalArgumentException("目标监室不存在"); + throw exception(PRISON_CELL_NOT_EXISTS); } // 3. 校验目标监室是否启用 - if (targetCell.getStatus() != 1) { - throw new IllegalArgumentException("目标监室已禁用"); + if (targetCell.getStatus() != null && !CellStatusEnum.ENABLE.getStatus().equals(targetCell.getStatus())) { + throw exception(PRISON_CELL_STATUS_DISABLED); } // 4. 校验床位是否已满 if (targetCell.getCurrentCount() >= targetCell.getCapacity()) { - throw new IllegalArgumentException("目标监室床位已满"); + throw exception(PRISON_CELL_CAPACITY_FULL); } // 5. 校验严管犯不能调入普通监区 @@ -282,13 +276,13 @@ public class PrisonerServiceImpl implements PrisonerService { AreaDO targetArea = areaMapper.selectById(targetCell.getAreaId()); if (targetArea != null && targetArea.getType() != null && targetArea.getType() != AreaTypeEnum.STRICT.getValue()) { - throw new IllegalArgumentException("严管级罪犯不能调入普通监区"); + throw exception(PRISON_TRANSFER_STRICT_FORBIDDEN); } } // 6. 校验是否在同一监室 - if (prisoner.getPrisonCellId().equals(reqVO.getTargetCellId())) { - throw new IllegalArgumentException("目标监室与当前监室相同,无需调监"); + if (reqVO.getTargetCellId().equals(prisoner.getPrisonCellId())) { + throw exception(PRISON_TRANSFER_SAME_CELL); } // 7. 记录原位置 diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/question/QuestionServiceImpl.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/question/QuestionServiceImpl.java index e91e4f0210..c32ebcf552 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/question/QuestionServiceImpl.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/question/QuestionServiceImpl.java @@ -11,13 +11,12 @@ import cn.iocoder.yudao.module.prison.controller.admin.question.vo.*; import cn.iocoder.yudao.module.prison.dal.dataobject.question.QuestionDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.prison.convert.question.QuestionConvert; import cn.iocoder.yudao.module.prison.dal.mysql.question.QuestionMapper; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList; import static cn.iocoder.yudao.module.prison.enums.ErrorCodeConstants.*; /** @@ -35,7 +34,7 @@ public class QuestionServiceImpl implements QuestionService { @Override public Long createQuestion(QuestionSaveReqVO createReqVO) { // 插入 - QuestionDO question = BeanUtils.toBean(createReqVO, QuestionDO.class); + QuestionDO question = QuestionConvert.INSTANCE.convert(createReqVO); questionMapper.insert(question); // 返回 @@ -47,7 +46,7 @@ public class QuestionServiceImpl implements QuestionService { // 校验存在 validateQuestionExists(updateReqVO.getId()); // 更新 - QuestionDO updateObj = BeanUtils.toBean(updateReqVO, QuestionDO.class); + QuestionDO updateObj = QuestionConvert.INSTANCE.convert(updateReqVO); questionMapper.updateById(updateObj); } diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/questionnaire/QuestionnaireServiceImpl.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/questionnaire/QuestionnaireServiceImpl.java index 8d5853f345..c5d63550ef 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/questionnaire/QuestionnaireServiceImpl.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/questionnaire/QuestionnaireServiceImpl.java @@ -11,13 +11,11 @@ import cn.iocoder.yudao.module.prison.controller.admin.questionnaire.vo.*; import cn.iocoder.yudao.module.prison.dal.dataobject.questionnaire.QuestionnaireDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.prison.convert.questionnaire.QuestionnaireConvert; import cn.iocoder.yudao.module.prison.dal.mysql.questionnaire.QuestionnaireMapper; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList; import static cn.iocoder.yudao.module.prison.enums.ErrorCodeConstants.*; /** @@ -35,7 +33,7 @@ public class QuestionnaireServiceImpl implements QuestionnaireService { @Override public Long createQuestionnaire(QuestionnaireSaveReqVO createReqVO) { // 插入 - QuestionnaireDO questionnaire = BeanUtils.toBean(createReqVO, QuestionnaireDO.class); + QuestionnaireDO questionnaire = QuestionnaireConvert.INSTANCE.convert(createReqVO); questionnaireMapper.insert(questionnaire); // 返回 @@ -47,7 +45,7 @@ public class QuestionnaireServiceImpl implements QuestionnaireService { // 校验存在 validateQuestionnaireExists(updateReqVO.getId()); // 更新 - QuestionnaireDO updateObj = BeanUtils.toBean(updateReqVO, QuestionnaireDO.class); + QuestionnaireDO updateObj = QuestionnaireConvert.INSTANCE.convert(updateReqVO); questionnaireMapper.updateById(updateObj); } diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/questionnairerecord/QuestionnaireRecordServiceImpl.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/questionnairerecord/QuestionnaireRecordServiceImpl.java index b7b6f90afe..477c737fda 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/questionnairerecord/QuestionnaireRecordServiceImpl.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/questionnairerecord/QuestionnaireRecordServiceImpl.java @@ -13,11 +13,13 @@ import cn.iocoder.yudao.module.prison.controller.admin.questionnairerecord.vo.*; import cn.iocoder.yudao.module.prison.dal.dataobject.questionnairerecord.QuestionnaireRecordDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.prison.dal.mysql.questionnairerecord.QuestionnaireRecordMapper; import cn.iocoder.yudao.module.prison.dal.mysql.questionnaire.QuestionnaireMapper; import cn.iocoder.yudao.module.prison.dal.dataobject.questionnaire.QuestionnaireDO; +import cn.iocoder.yudao.module.prison.dal.dataobject.PrisonerDO; +import cn.iocoder.yudao.module.prison.dal.mysql.PrisonerMapper; import cn.iocoder.yudao.module.prison.service.answer.AnswerService; +import cn.iocoder.yudao.module.prison.convert.questionnairerecord.QuestionnaireRecordConvert; import cn.iocoder.yudao.module.prison.enums.QuestionnaireRecordPassStatusEnum; import cn.iocoder.yudao.module.prison.enums.QuestionnaireRecordStatusEnum; import cn.iocoder.yudao.module.prison.enums.RiskLevelEnum; @@ -40,13 +42,16 @@ public class QuestionnaireRecordServiceImpl implements QuestionnaireRecordServic @Resource private QuestionnaireMapper questionnaireMapper; + @Resource + private PrisonerMapper prisonerMapper; + @Resource private AnswerService answerService; @Override public Long createQuestionnaireRecord(QuestionnaireRecordSaveReqVO createReqVO) { // 插入 - QuestionnaireRecordDO questionnaireRecord = BeanUtils.toBean(createReqVO, QuestionnaireRecordDO.class); + QuestionnaireRecordDO questionnaireRecord = QuestionnaireRecordConvert.INSTANCE.convert(createReqVO); questionnaireRecordMapper.insert(questionnaireRecord); return questionnaireRecord.getId(); } @@ -56,7 +61,7 @@ public class QuestionnaireRecordServiceImpl implements QuestionnaireRecordServic // 校验存在 validateQuestionnaireRecordExists(updateReqVO.getId()); // 更新 - QuestionnaireRecordDO updateObj = BeanUtils.toBean(updateReqVO, QuestionnaireRecordDO.class); + QuestionnaireRecordDO updateObj = QuestionnaireRecordConvert.INSTANCE.convert(updateReqVO); questionnaireRecordMapper.updateById(updateObj); } @@ -115,12 +120,21 @@ public class QuestionnaireRecordServiceImpl implements QuestionnaireRecordServic QuestionnaireRecordDO lastRecord = null; for (Long prisonerId : reqVO.getPrisonerIds()) { + // 获取罪犯信息 + PrisonerDO prisoner = prisonerMapper.selectById(prisonerId); + if (prisoner == null) { + throw exception(PRISONER_NOT_EXISTS); + } + QuestionnaireRecordDO record = new QuestionnaireRecordDO(); record.setQuestionnaireId(reqVO.getQuestionnaireId()); record.setQuestionnaireName(questionnaireName); record.setPrisonerId(prisonerId); + record.setPrisonerNo(prisoner.getPrisonerNo()); + record.setPrisonerName(prisoner.getName()); record.setStatus(QuestionnaireRecordStatusEnum.PENDING.getStatus()); // 待测评 record.setDeadline(reqVO.getDeadline()); + record.setAnswerTime(LocalDateTime.now()); // 答题时间 record.setRemark(reqVO.getRemark()); record.setParticipantCount(0); record.setCompletedCount(0); diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/quickcomment/CommentCategoryService.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/quickcomment/CommentCategoryService.java new file mode 100644 index 0000000000..96fa806996 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/quickcomment/CommentCategoryService.java @@ -0,0 +1,32 @@ +package cn.iocoder.yudao.module.prison.service.quickcomment; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.prison.controller.admin.quickcomment.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.quickcomment.CommentCategoryDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 快捷评语分类 Service 接口 + * + * @author xlcp + */ +public interface CommentCategoryService { + + /** + * 查询分类列表 + */ + List getCategoryList(CommentCategorySaveReqVO reqVO); + + /** + * 获得分类详情 + */ + CommentCategoryDO getCategory(Long id); + + /** + * 初始化快捷评语分类和评语(预置数据) + * @return 初始化的分类数量 + */ + int initCategories(); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/quickcomment/QuickCommentService.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/quickcomment/QuickCommentService.java new file mode 100644 index 0000000000..93bc5876e4 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/quickcomment/QuickCommentService.java @@ -0,0 +1,51 @@ +package cn.iocoder.yudao.module.prison.service.quickcomment; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.prison.controller.admin.quickcomment.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.quickcomment.QuickCommentDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 快捷评语 Service 接口 + * + * @author xlcp + */ +public interface QuickCommentService { + + /** + * 创建快捷评语 + */ + Long createQuickComment(@Valid QuickCommentSaveReqVO createReqVO); + + /** + * 更新快捷评语 + */ + void updateQuickComment(@Valid QuickCommentSaveReqVO updateReqVO); + + /** + * 删除快捷评语 + */ + void deleteQuickComment(Long id); + + /** + * 批量删除快捷评语 + */ + void deleteQuickCommentListByIds(List ids); + + /** + * 获得快捷评语详情 + */ + QuickCommentDO getQuickComment(Long id); + + /** + * 获得快捷评语分页 + */ + PageResult getQuickCommentPage(QuickCommentPageReqVO pageReqVO); + + /** + * 导入快捷评语 + */ + int importComments(Long categoryId, List contents); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/quickcomment/impl/CommentCategoryServiceImpl.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/quickcomment/impl/CommentCategoryServiceImpl.java new file mode 100644 index 0000000000..3bf2a744aa --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/quickcomment/impl/CommentCategoryServiceImpl.java @@ -0,0 +1,160 @@ +package cn.iocoder.yudao.module.prison.service.quickcomment.impl; + +import cn.iocoder.yudao.module.prison.service.quickcomment.CommentCategoryService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; + +import java.util.*; +import java.util.Arrays; +import cn.iocoder.yudao.module.prison.controller.admin.quickcomment.vo.CommentCategoryPageReqVO; +import cn.iocoder.yudao.module.prison.controller.admin.quickcomment.vo.CommentCategorySaveReqVO; +import cn.iocoder.yudao.module.prison.dal.dataobject.quickcomment.CommentCategoryDO; +import cn.iocoder.yudao.module.prison.dal.dataobject.quickcomment.QuickCommentDO; +import cn.iocoder.yudao.module.prison.dal.mysql.quickcomment.CommentCategoryMapper; +import cn.iocoder.yudao.module.prison.dal.mysql.quickcomment.QuickCommentMapper; + +/** + * 快捷评语分类 Service 实现类 + * + * @author xlcp + */ +@Service +public class CommentCategoryServiceImpl implements CommentCategoryService { + + @Resource + private CommentCategoryMapper commentCategoryMapper; + + @Resource + private QuickCommentMapper quickCommentMapper; + + @Override + public List getCategoryList(CommentCategorySaveReqVO reqVO) { + return commentCategoryMapper.selectList(new LambdaQueryWrapper() + .eq(reqVO.getType() != null, CommentCategoryDO::getType, reqVO.getType()) + .eq(reqVO.getStatus() != null, CommentCategoryDO::getStatus, reqVO.getStatus()) + .orderByAsc(CommentCategoryDO::getSort)); + } + + @Override + public CommentCategoryDO getCategory(Long id) { + return commentCategoryMapper.selectById(id); + } + + @Override + public int initCategories() { + // 检查是否已有数据 + Long existingCount = commentCategoryMapper.selectCount(new LambdaQueryWrapper<>()); + if (existingCount > 0) { + return 0; // 已存在数据,不重复初始化 + } + + int categoryCount = 0; + + // 入监评估分类 (type=1) + CommentCategoryDO category1 = new CommentCategoryDO(); + category1.setName("入监评估"); + category1.setType(1); + category1.setSort(1); + category1.setStatus(1); + commentCategoryMapper.insert(category1); + categoryCount++; + + // 批量插入入监评语 + saveQuickComments(category1.getId(), Arrays.asList( + "该犯入监后能够遵守监规纪律,服从管理安排。", + "该犯认罪悔罪态度较好,对所犯罪行有深刻认识。", + "该犯入监适应较快,能够积极参加各项教育活动。", + "该犯性格内向,与同改相处融洽,无矛盾纠纷。", + "该犯家庭关系和睦,家属接见积极。" + )); + + // 定期评估分类 (type=2) + CommentCategoryDO category2 = new CommentCategoryDO(); + category2.setName("定期评估"); + category2.setType(2); + category2.setSort(2); + category2.setStatus(1); + commentCategoryMapper.insert(category2); + categoryCount++; + + // 批量插入定期评语 + saveQuickComments(category2.getId(), Arrays.asList( + "本季度考核期间,该犯表现良好,无违规违纪记录。", + "该犯能够积极参加劳动改造,完成劳动任务较好。", + "该犯参加思想教育课态度端正,学习笔记认真。", + "该犯近期思想稳定,情绪良好,无异常表现。", + "该犯与人相处融洽,积极帮助有困难的同改。" + )); + + // 出监评估分类 (type=3) + CommentCategoryDO category3 = new CommentCategoryDO(); + category3.setName("出监评估"); + category3.setType(3); + category3.setSort(3); + category3.setStatus(1); + commentCategoryMapper.insert(category3); + categoryCount++; + + // 批量插入出监评语 + saveQuickComments(category3.getId(), Arrays.asList( + "该犯服刑期间认真改造,达到减刑条件,建议依法减刑。", + "该犯确有悔改表现,符合假释条件,建议依法假释。", + "该犯改造表现良好,建议按期释放。", + "该犯已认识所犯罪行的社会危害性,悔罪态度真诚。", + "该犯已具备重新融入社会的条件和能力。" + )); + + // 减刑评估分类 (type=4) + CommentCategoryDO category4 = new CommentCategoryDO(); + category4.setName("减刑评估"); + category4.setType(4); + category4.setSort(4); + category4.setStatus(1); + commentCategoryMapper.insert(category4); + categoryCount++; + + // 批量插入减刑评语 + saveQuickComments(category4.getId(), Arrays.asList( + "该犯在服刑期间获得表扬多次,符合减刑条件。", + "该犯积极参加劳动改造,表现突出,建议从宽减刑。", + "该犯认罪悔罪,符合减刑条件,建议依法减刑。", + "该犯改造表现良好,无违规违纪,建议减刑。", + "该犯符合减刑起始时间间隔规定,建议减刑。" + )); + + // 专项评估分类 (type=5) + CommentCategoryDO category5 = new CommentCategoryDO(); + category5.setName("专项评估"); + category5.setType(5); + category5.setSort(5); + category5.setStatus(1); + commentCategoryMapper.insert(category5); + categoryCount++; + + // 批量插入专项评语 + saveQuickComments(category5.getId(), Arrays.asList( + "该犯心理健康评估结果正常,无心理障碍。", + "该犯危险性评估等级为低危,监管难度较小。", + "该犯社会支持系统较好,家庭帮教条件具备。", + "该犯职业技能培训合格,具备就业谋生能力。", + "该犯法律知识考核合格,法律意识有所增强。" + )); + + return categoryCount; + } + + private void saveQuickComments(Long categoryId, List contents) { + int sort = 1; + for (String content : contents) { + QuickCommentDO comment = new QuickCommentDO(); + comment.setCategoryId(categoryId); + comment.setContent(content); + comment.setUsageCount(0); + comment.setSort(sort++); + comment.setStatus(1); + quickCommentMapper.insert(comment); + } + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/quickcomment/impl/QuickCommentServiceImpl.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/quickcomment/impl/QuickCommentServiceImpl.java new file mode 100644 index 0000000000..1df38d6737 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/quickcomment/impl/QuickCommentServiceImpl.java @@ -0,0 +1,110 @@ +package cn.iocoder.yudao.module.prison.service.quickcomment.impl; + +import cn.iocoder.yudao.module.prison.service.quickcomment.QuickCommentService; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import java.util.List; +import cn.iocoder.yudao.module.prison.controller.admin.quickcomment.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.quickcomment.QuickCommentDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + +import cn.iocoder.yudao.module.prison.dal.mysql.quickcomment.QuickCommentMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.prison.enums.ErrorCodeConstants.*; + +/** + * 快捷评语 Service 实现类 + * + * @author xlcp + */ +@Service +@Validated +public class QuickCommentServiceImpl implements QuickCommentService { + + @Resource + private QuickCommentMapper quickCommentMapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public Long createQuickComment(QuickCommentSaveReqVO createReqVO) { + // 插入 + QuickCommentDO quickComment = BeanUtils.toBean(createReqVO, QuickCommentDO.class); + quickComment.setUsageCount(0); + quickCommentMapper.insert(quickComment); + // 返回 + return quickComment.getId(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateQuickComment(QuickCommentSaveReqVO updateReqVO) { + // 校验存在 + validateQuickCommentExists(updateReqVO.getId()); + // 更新 + QuickCommentDO updateObj = BeanUtils.toBean(updateReqVO, QuickCommentDO.class); + quickCommentMapper.updateById(updateObj); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteQuickComment(Long id) { + // 校验存在 + validateQuickCommentExists(id); + // 删除 + quickCommentMapper.deleteById(id); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteQuickCommentListByIds(List ids) { + // 删除 + quickCommentMapper.deleteByIds(ids); + } + + private void validateQuickCommentExists(Long id) { + if (quickCommentMapper.selectById(id) == null) { + throw exception(REPORT_COMMENT_NOT_EXISTS); + } + } + + @Override + public QuickCommentDO getQuickComment(Long id) { + return quickCommentMapper.selectById(id); + } + + @Override + public PageResult getQuickCommentPage(QuickCommentPageReqVO pageReqVO) { + // 使用 MyBatis-Plus 分页查询 + PageResult pageResult = quickCommentMapper.selectPage(pageReqVO); + // 转换为 RespVO + List respList = BeanUtils.toBean(pageResult.getList(), QuickCommentRespVO.class); + return new PageResult<>(respList, pageResult.getTotal()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int importComments(Long categoryId, List contents) { + int count = 0; + for (String content : contents) { + if (content == null || content.trim().isEmpty()) { + continue; + } + QuickCommentDO comment = new QuickCommentDO(); + comment.setCategoryId(categoryId); + comment.setContent(content.trim()); + comment.setUsageCount(0); + comment.setSort(0); + comment.setStatus(1); + quickCommentMapper.insert(comment); + count++; + } + return count; + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/release/impl/ReleaseServiceImpl.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/release/impl/ReleaseServiceImpl.java index 9f9b2e2bbc..b4ac5d727e 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/release/impl/ReleaseServiceImpl.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/release/impl/ReleaseServiceImpl.java @@ -10,6 +10,7 @@ import cn.iocoder.yudao.module.prison.dal.mysql.PrisonerAreaLogMapper; import cn.iocoder.yudao.module.prison.dal.mysql.PrisonerMapper; import cn.iocoder.yudao.module.prison.dal.mysql.release.ReleaseMapper; import cn.iocoder.yudao.module.prison.enums.PrisonerStatusEnum; +import cn.iocoder.yudao.module.prison.enums.ReleaseTypeEnum; import cn.iocoder.yudao.module.prison.service.release.ReleaseService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import jakarta.annotation.Resource; @@ -141,7 +142,7 @@ public class ReleaseServiceImpl implements ReleaseService { PrisonerDO prisoner = prisonerMapper.selectById(release.getPrisonerId()); if (prisoner != null) { prisoner.setStatus(PrisonerStatusEnum.RELEASED); - prisoner.setReleaseType(release.getReleaseType()); + prisoner.setReleaseType(ReleaseTypeEnum.fromValue(release.getReleaseType())); prisoner.setReleaseReason(release.getReleaseReason()); prisonerMapper.updateById(prisoner); diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/report/ReportService.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/report/ReportService.java new file mode 100644 index 0000000000..848bf3e2d0 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/report/ReportService.java @@ -0,0 +1,61 @@ +package cn.iocoder.yudao.module.prison.service.report; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.prison.controller.admin.report.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.report.ReportDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 评估报告 Service 接口 + * + * @author xlcp + */ +public interface ReportService { + + /** + * 创建评估报告 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createReport(@Valid ReportSaveReqVO createReqVO); + + /** + * 更新评估报告 + * + * @param updateReqVO 更新信息 + */ + void updateReport(@Valid ReportSaveReqVO updateReqVO); + + /** + * 删除评估报告 + * + * @param id 编号 + */ + void deleteReport(Long id); + + /** + * 批量删除评估报告 + * + * @param ids 编号列表 + */ + void deleteReportListByIds(List ids); + + /** + * 获得评估报告详情 + * + * @param id 编号 + * @return 评估报告详情 + */ + ReportDO getReport(Long id); + + /** + * 获得评估报告分页 + * + * @param pageReqVO 分页查询 + * @return 评估报告分页 + */ + PageResult getReportPage(ReportPageReqVO pageReqVO); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/report/impl/ReportServiceImpl.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/report/impl/ReportServiceImpl.java new file mode 100644 index 0000000000..ccfcf95296 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/report/impl/ReportServiceImpl.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.prison.service.report.impl; + +import cn.iocoder.yudao.module.prison.service.report.ReportService; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.prison.controller.admin.report.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.report.ReportDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + +import cn.iocoder.yudao.module.prison.dal.mysql.report.ReportMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.prison.enums.ErrorCodeConstants.*; + +/** + * 评估报告 Service 实现类 + * + * @author xlcp + */ +@Service +@Validated +public class ReportServiceImpl implements ReportService { + + @Resource + private ReportMapper reportMapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public Long createReport(ReportSaveReqVO createReqVO) { + // 插入 + ReportDO report = BeanUtils.toBean(createReqVO, ReportDO.class); + report.setVersion(1); + reportMapper.insert(report); + // 返回 + return report.getId(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateReport(ReportSaveReqVO updateReqVO) { + // 校验存在 + validateReportExists(updateReqVO.getId()); + // 更新 + ReportDO updateObj = BeanUtils.toBean(updateReqVO, ReportDO.class); + reportMapper.updateById(updateObj); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteReport(Long id) { + // 校验存在 + validateReportExists(id); + // 删除 + reportMapper.deleteById(id); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteReportListByIds(List ids) { + // 删除 + reportMapper.deleteByIds(ids); + } + + private void validateReportExists(Long id) { + if (reportMapper.selectById(id) == null) { + throw exception(PRISON_REPORT_NOT_EXISTS); + } + } + + @Override + public ReportDO getReport(Long id) { + return reportMapper.selectById(id); + } + + @Override + public PageResult getReportPage(ReportPageReqVO pageReqVO) { + return reportMapper.selectPage(pageReqVO); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/reporttemplate/ReportTemplateService.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/reporttemplate/ReportTemplateService.java new file mode 100644 index 0000000000..5815d95e1e --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/reporttemplate/ReportTemplateService.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.prison.service.reporttemplate; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.prison.controller.admin.reporttemplate.vo.ReportTemplatePageReqVO; +import cn.iocoder.yudao.module.prison.controller.admin.reporttemplate.vo.ReportTemplateSaveReqVO; +import cn.iocoder.yudao.module.prison.dal.dataobject.reporttemplate.ReportTemplateDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; + +/** + * 评估报告模板 Service 接口 + * + * @author xlcp + */ +public interface ReportTemplateService { + + /** + * 创建评估报告模板 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createReportTemplate(@Valid ReportTemplateSaveReqVO createReqVO); + + /** + * 更新评估报告模板 + * + * @param updateReqVO 更新信息 + */ + void updateReportTemplate(@Valid ReportTemplateSaveReqVO updateReqVO); + + /** + * 删除评估报告模板 + * + * @param id 编号 + */ + void deleteReportTemplate(Long id); + + /** + * 批量删除评估报告模板 + * + * @param ids 编号列表 + */ + void deleteReportTemplateListByIds(List ids); + + /** + * 获得评估报告模板详情 + * + * @param id 编号 + * @return 评估报告模板详情 + */ + ReportTemplateDO getReportTemplate(Long id); + + /** + * 获得评估报告模板分页(包含罪犯信息) + * + * @param pageReqVO 分页查询 + * @return 评估报告模板分页 + */ + PageResult getReportTemplatePage(ReportTemplatePageReqVO pageReqVO); + + /** + * 复制评估报告模板 + * + * @param id 模板ID + * @return 新模板ID + */ + Long copyReportTemplate(Long id); + + /** + * 更新模板状态 + * + * @param id 模板ID + * @param status 状态 + */ + void updateReportTemplateStatus(Long id, Integer status); + + /** + * 设为默认模板 + * + * @param id 模板ID + */ + void setReportTemplateDefault(Long id); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/reporttemplate/impl/ReportTemplateServiceImpl.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/reporttemplate/impl/ReportTemplateServiceImpl.java new file mode 100644 index 0000000000..8cf44473a6 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/reporttemplate/impl/ReportTemplateServiceImpl.java @@ -0,0 +1,142 @@ +package cn.iocoder.yudao.module.prison.service.reporttemplate.impl; + +import cn.iocoder.yudao.module.prison.service.reporttemplate.ReportTemplateService; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.prison.controller.admin.reporttemplate.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.reporttemplate.ReportTemplateDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + +import cn.iocoder.yudao.module.prison.dal.mysql.reporttemplate.ReportTemplateMapper; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.prison.enums.ErrorCodeConstants.*; + +/** + * 评估报告模板 Service 实现类 + * + * @author xlcp + */ +@Service +@Validated +public class ReportTemplateServiceImpl implements ReportTemplateService { + + @Resource + private ReportTemplateMapper reportTemplateMapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public Long createReportTemplate(ReportTemplateSaveReqVO createReqVO) { + // 插入 + ReportTemplateDO reportTemplate = BeanUtils.toBean(createReqVO, ReportTemplateDO.class); + reportTemplate.setVersion(1); + reportTemplateMapper.insert(reportTemplate); + // 返回 + return reportTemplate.getId(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateReportTemplate(ReportTemplateSaveReqVO updateReqVO) { + // 校验存在 + validateReportTemplateExists(updateReqVO.getId()); + // 更新 + ReportTemplateDO updateObj = BeanUtils.toBean(updateReqVO, ReportTemplateDO.class); + reportTemplateMapper.updateById(updateObj); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteReportTemplate(Long id) { + // 校验存在 + validateReportTemplateExists(id); + // 删除 + reportTemplateMapper.deleteById(id); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteReportTemplateListByIds(List ids) { + // 删除 + reportTemplateMapper.deleteByIds(ids); + } + + private ReportTemplateDO validateReportTemplateExists(Long id) { + ReportTemplateDO template = reportTemplateMapper.selectById(id); + if (template == null) { + throw exception(PRISON_REPORT_TEMPLATE_NOT_EXISTS); + } + return template; + } + + @Override + public ReportTemplateDO getReportTemplate(Long id) { + return reportTemplateMapper.selectById(id); + } + + @Override + public PageResult getReportTemplatePage(ReportTemplatePageReqVO pageReqVO) { + return reportTemplateMapper.selectPage(pageReqVO); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Long copyReportTemplate(Long id) { + // 校验原模板存在 + ReportTemplateDO original = validateReportTemplateExists(id); + + // 复制新模板 + ReportTemplateDO copy = new ReportTemplateDO(); + copy.setName(original.getName() + "_副本"); + copy.setType(original.getType()); + copy.setTitleFormat(original.getTitleFormat()); + copy.setDimensions(original.getDimensions()); + copy.setAiPromptConfig(original.getAiPromptConfig()); + copy.setStyleConfig(original.getStyleConfig()); + copy.setStatus(0); // 复制后默认停用 + copy.setIsDefault(false); + copy.setVersion(1); + copy.setRemark("复制自模板:" + original.getName()); + + reportTemplateMapper.insert(copy); + return copy.getId(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateReportTemplateStatus(Long id, Integer status) { + // 校验模板存在 + validateReportTemplateExists(id); + // 更新状态 + ReportTemplateDO updateObj = new ReportTemplateDO(); + updateObj.setId(id); + updateObj.setStatus(status); + reportTemplateMapper.updateById(updateObj); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void setReportTemplateDefault(Long id) { + // 校验模板存在 + ReportTemplateDO template = validateReportTemplateExists(id); + + // 取消其他默认模板 + ReportTemplateDO clearDefault = new ReportTemplateDO(); + clearDefault.setIsDefault(false); + reportTemplateMapper.update(clearDefault, + new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper() + .eq(ReportTemplateDO::getIsDefault, true)); + + // 设置当前模板为默认 + ReportTemplateDO updateObj = new ReportTemplateDO(); + updateObj.setId(id); + updateObj.setIsDefault(true); + reportTemplateMapper.updateById(updateObj); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/risk/RiskService.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/risk/RiskService.java new file mode 100644 index 0000000000..696385a046 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/risk/RiskService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.prison.service.risk; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.prison.controller.admin.risk.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.risk.RiskDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 风险评估 Service 接口 + * + * @author xlcp + */ +public interface RiskService { + + /** + * 创建风险评估 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createRisk(@Valid RiskSaveReqVO createReqVO); + + /** + * 更新风险评估 + * + * @param updateReqVO 更新信息 + */ + void updateRisk(@Valid RiskSaveReqVO updateReqVO); + + /** + * 删除风险评估 + * + * @param id 编号 + */ + void deleteRisk(Long id); + + /** + * 批量删除风险评估 + * + * @param ids 编号 + */ + void deleteRiskListByIds(List ids); + + /** + * 获得风险评估 + * + * @param id 编号 + * @return 风险评估 + */ + RiskDO getRisk(Long id); + + /** + * 获得风险评估分页 + * + * @param pageReqVO 分页查询 + * @return 风险评估分页 + */ + PageResult getRiskPage(RiskPageReqVO pageReqVO); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/risk/impl/RiskServiceImpl.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/risk/impl/RiskServiceImpl.java new file mode 100644 index 0000000000..3d7c25c4d8 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/risk/impl/RiskServiceImpl.java @@ -0,0 +1,82 @@ +package cn.iocoder.yudao.module.prison.service.risk.impl; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.prison.controller.admin.risk.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.risk.RiskDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + +import cn.iocoder.yudao.module.prison.dal.mysql.risk.RiskMapper; +import cn.iocoder.yudao.module.prison.service.risk.RiskService; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.prison.enums.ErrorCodeConstants.*; + +/** + * 风险评估 Service 实现类 + * + * @author xlcp + */ +@Service +@Validated +public class RiskServiceImpl implements RiskService { + + @Resource + private RiskMapper riskMapper; + + @Override + public Long createRisk(RiskSaveReqVO createReqVO) { + // 插入 + RiskDO risk = BeanUtils.toBean(createReqVO, RiskDO.class); + riskMapper.insert(risk); + // 返回 + return risk.getId(); + } + + @Override + public void updateRisk(RiskSaveReqVO updateReqVO) { + // 校验存在 + validateRiskExists(updateReqVO.getId()); + // 更新 + RiskDO updateObj = BeanUtils.toBean(updateReqVO, RiskDO.class); + riskMapper.updateById(updateObj); + } + + @Override + public void deleteRisk(Long id) { + // 校验存在 + validateRiskExists(id); + // 删除 + riskMapper.deleteById(id); + } + + @Override + public void deleteRiskListByIds(List ids) { + // 删除 + riskMapper.deleteByIds(ids); + } + + private void validateRiskExists(Long id) { + if (riskMapper.selectById(id) == null) { + throw exception(PRISON_RISK_NOT_EXISTS); + } + } + + @Override + public RiskDO getRisk(Long id) { + return riskMapper.selectById(id); + } + + @Override + public PageResult getRiskPage(RiskPageReqVO pageReqVO) { + return riskMapper.selectPage(pageReqVO); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/riskassessment/RiskAssessmentService.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/riskassessment/RiskAssessmentService.java index b2aaa0590f..854c1ae295 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/riskassessment/RiskAssessmentService.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/riskassessment/RiskAssessmentService.java @@ -49,7 +49,7 @@ public interface RiskAssessmentService { * @param id 编号 * @return 危险评估 */ - RiskAssessmentDO getRiskAssessment(Long id); + RiskAssessmentRespVO getRiskAssessment(Long id); /** * 获得危险评估分页 @@ -57,6 +57,6 @@ public interface RiskAssessmentService { * @param pageReqVO 分页查询 * @return 危险评估分页 */ - PageResult getRiskAssessmentPage(RiskAssessmentPageReqVO pageReqVO); + PageResult getRiskAssessmentPage(RiskAssessmentPageReqVO pageReqVO); } \ No newline at end of file diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/riskassessment/RiskAssessmentServiceImpl.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/riskassessment/RiskAssessmentServiceImpl.java index bf7a313b1d..a5d3dc0b39 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/riskassessment/RiskAssessmentServiceImpl.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/riskassessment/RiskAssessmentServiceImpl.java @@ -1,11 +1,13 @@ package cn.iocoder.yudao.module.prison.service.riskassessment; import cn.hutool.core.collection.CollUtil; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.*; import cn.iocoder.yudao.module.prison.controller.admin.riskassessment.vo.*; import cn.iocoder.yudao.module.prison.dal.dataobject.riskassessment.RiskAssessmentDO; @@ -27,15 +29,42 @@ import static cn.iocoder.yudao.module.prison.enums.ErrorCodeConstants.*; */ @Service @Validated +@Slf4j public class RiskAssessmentServiceImpl implements RiskAssessmentService { @Resource private RiskAssessmentMapper riskAssessmentMapper; @Override + @Transactional(rollbackFor = Exception.class) public Long createRiskAssessment(RiskAssessmentSaveReqVO createReqVO) { + // 自动计算综合得分 + BigDecimal totalScore = calculateTotalScore( + createReqVO.getViolenceScore(), + createReqVO.getEscapeScore(), + createReqVO.getSuicideScore() + ); + log.info("=== RiskAssessment Debug === violenceScore={}, escapeScore={}, suicideScore={}, totalScore={}", + createReqVO.getViolenceScore(), createReqVO.getEscapeScore(), createReqVO.getSuicideScore(), totalScore); + // 插入 - RiskAssessmentDO riskAssessment = BeanUtils.toBean(createReqVO, RiskAssessmentDO.class); + RiskAssessmentDO riskAssessment = new RiskAssessmentDO(); + riskAssessment.setPrisonerId(createReqVO.getPrisonerId()); + riskAssessment.setPrisonerNo(createReqVO.getPrisonerNo()); + riskAssessment.setAssessmentType(createReqVO.getAssessmentType()); + riskAssessment.setAssessmentDate(createReqVO.getAssessmentDate()); + riskAssessment.setViolenceScore(createReqVO.getViolenceScore()); + riskAssessment.setEscapeScore(createReqVO.getEscapeScore()); + riskAssessment.setSuicideScore(createReqVO.getSuicideScore()); + riskAssessment.setTotalScore(totalScore); + riskAssessment.setRiskLevel(createReqVO.getRiskLevel()); + riskAssessment.setRiskFactors(createReqVO.getRiskFactors()); + riskAssessment.setSuggestions(createReqVO.getSuggestions()); + riskAssessment.setAssessorId(createReqVO.getAssessorId()); + riskAssessment.setAssessorName(createReqVO.getAssessorName()); + riskAssessment.setNextAssessmentDate(createReqVO.getNextAssessmentDate()); + riskAssessment.setStatus(createReqVO.getStatus()); + riskAssessment.setRemark(createReqVO.getRemark()); riskAssessmentMapper.insert(riskAssessment); // 返回 @@ -43,15 +72,42 @@ public class RiskAssessmentServiceImpl implements RiskAssessmentService { } @Override + @Transactional(rollbackFor = Exception.class) public void updateRiskAssessment(RiskAssessmentSaveReqVO updateReqVO) { // 校验存在 validateRiskAssessmentExists(updateReqVO.getId()); + + // 自动计算综合得分 + BigDecimal totalScore = calculateTotalScore( + updateReqVO.getViolenceScore(), + updateReqVO.getEscapeScore(), + updateReqVO.getSuicideScore() + ); + // 更新 - RiskAssessmentDO updateObj = BeanUtils.toBean(updateReqVO, RiskAssessmentDO.class); + RiskAssessmentDO updateObj = new RiskAssessmentDO(); + updateObj.setId(updateReqVO.getId()); + updateObj.setPrisonerId(updateReqVO.getPrisonerId()); + updateObj.setPrisonerNo(updateReqVO.getPrisonerNo()); + updateObj.setAssessmentType(updateReqVO.getAssessmentType()); + updateObj.setAssessmentDate(updateReqVO.getAssessmentDate()); + updateObj.setViolenceScore(updateReqVO.getViolenceScore()); + updateObj.setEscapeScore(updateReqVO.getEscapeScore()); + updateObj.setSuicideScore(updateReqVO.getSuicideScore()); + updateObj.setTotalScore(totalScore); + updateObj.setRiskLevel(updateReqVO.getRiskLevel()); + updateObj.setRiskFactors(updateReqVO.getRiskFactors()); + updateObj.setSuggestions(updateReqVO.getSuggestions()); + updateObj.setAssessorId(updateReqVO.getAssessorId()); + updateObj.setAssessorName(updateReqVO.getAssessorName()); + updateObj.setNextAssessmentDate(updateReqVO.getNextAssessmentDate()); + updateObj.setStatus(updateReqVO.getStatus()); + updateObj.setRemark(updateReqVO.getRemark()); riskAssessmentMapper.updateById(updateObj); } @Override + @Transactional(rollbackFor = Exception.class) public void deleteRiskAssessment(Long id) { // 校验存在 validateRiskAssessmentExists(id); @@ -60,10 +116,29 @@ public class RiskAssessmentServiceImpl implements RiskAssessmentService { } @Override - public void deleteRiskAssessmentListByIds(List ids) { + @Transactional(rollbackFor = Exception.class) + public void deleteRiskAssessmentListByIds(List ids) { // 删除 riskAssessmentMapper.deleteByIds(ids); + } + + /** + * 计算综合得分 + * 综合得分 = 暴力倾向得分 + 脱逃倾向得分 + 自杀倾向得分 + */ + private BigDecimal calculateTotalScore(BigDecimal violenceScore, BigDecimal escapeScore, BigDecimal suicideScore) { + BigDecimal total = BigDecimal.ZERO; + if (violenceScore != null) { + total = total.add(violenceScore); } + if (escapeScore != null) { + total = total.add(escapeScore); + } + if (suicideScore != null) { + total = total.add(suicideScore); + } + return total; + } private void validateRiskAssessmentExists(Long id) { @@ -73,13 +148,14 @@ public class RiskAssessmentServiceImpl implements RiskAssessmentService { } @Override - public RiskAssessmentDO getRiskAssessment(Long id) { - return riskAssessmentMapper.selectById(id); + public RiskAssessmentRespVO getRiskAssessment(Long id) { + return riskAssessmentMapper.selectAssessmentDetail(id); } @Override - public PageResult getRiskAssessmentPage(RiskAssessmentPageReqVO pageReqVO) { - return riskAssessmentMapper.selectPage(pageReqVO); + public PageResult getRiskAssessmentPage(RiskAssessmentPageReqVO pageReqVO) { + List list = riskAssessmentMapper.selectAssessmentDetailPage(pageReqVO); + return new PageResult<>(list, (long) list.size()); } } \ No newline at end of file diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/score/ScoreService.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/score/ScoreService.java index f62e1bbef2..d8c691ad23 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/score/ScoreService.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/score/ScoreService.java @@ -44,19 +44,19 @@ public interface ScoreService { void deleteScoreListByIds(List ids); /** - * 获得计分考核 + * 获得计分考核详情(包含罪犯信息) * * @param id 编号 - * @return 计分考核 + * @return 计分考核详情 */ - ScoreDO getScore(Long id); + ScoreRespVO getScore(Long id); /** - * 获得计分考核分页 + * 获得计分考核分页(包含罪犯信息) * * @param pageReqVO 分页查询 * @return 计分考核分页 */ - PageResult getScorePage(ScorePageReqVO pageReqVO); + PageResult getScorePage(ScorePageReqVO pageReqVO); } \ No newline at end of file diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/score/ScoreServiceImpl.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/score/ScoreServiceImpl.java index 9b8362cd7f..a743e24bdf 100644 --- a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/score/ScoreServiceImpl.java +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/score/ScoreServiceImpl.java @@ -1,23 +1,18 @@ package cn.iocoder.yudao.module.prison.service.score; -import cn.hutool.core.collection.CollUtil; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; -import org.springframework.transaction.annotation.Transactional; import java.util.*; import cn.iocoder.yudao.module.prison.controller.admin.score.vo.*; import cn.iocoder.yudao.module.prison.dal.dataobject.score.ScoreDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.prison.dal.mysql.score.ScoreMapper; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList; import static cn.iocoder.yudao.module.prison.enums.ErrorCodeConstants.*; /** @@ -73,13 +68,14 @@ public class ScoreServiceImpl implements ScoreService { } @Override - public ScoreDO getScore(Long id) { - return scoreMapper.selectById(id); + public ScoreRespVO getScore(Long id) { + return scoreMapper.selectScoreDetail(id); } @Override - public PageResult getScorePage(ScorePageReqVO pageReqVO) { - return scoreMapper.selectPage(pageReqVO); + public PageResult getScorePage(ScorePageReqVO pageReqVO) { + List list = scoreMapper.selectScoreDetailPage(pageReqVO); + return new PageResult<>(list, (long) list.size()); } } \ No newline at end of file diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/situation/SituationService.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/situation/SituationService.java new file mode 100644 index 0000000000..bc21a3f5c6 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/situation/SituationService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.prison.service.situation; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.prison.controller.admin.situation.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.situation.SituationDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 狱情收集 Service 接口 + * + * @author xlcp + */ +public interface SituationService { + + /** + * 创建狱情收集 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createSituation(@Valid SituationSaveReqVO createReqVO); + + /** + * 更新狱情收集 + * + * @param updateReqVO 更新信息 + */ + void updateSituation(@Valid SituationSaveReqVO updateReqVO); + + /** + * 删除狱情收集 + * + * @param id 编号 + */ + void deleteSituation(Long id); + + /** + * 批量删除狱情收集 + * + * @param ids 编号 + */ + void deleteSituationListByIds(List ids); + + /** + * 获得狱情收集 + * + * @param id 编号 + * @return 狱情收集 + */ + SituationDO getSituation(Long id); + + /** + * 获得狱情收集分页 + * + * @param pageReqVO 分页查询 + * @return 狱情收集分页 + */ + PageResult getSituationPage(SituationPageReqVO pageReqVO); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/situation/impl/SituationServiceImpl.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/situation/impl/SituationServiceImpl.java new file mode 100644 index 0000000000..6b74dec3c1 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/situation/impl/SituationServiceImpl.java @@ -0,0 +1,82 @@ +package cn.iocoder.yudao.module.prison.service.situation.impl; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.prison.controller.admin.situation.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.situation.SituationDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + +import cn.iocoder.yudao.module.prison.dal.mysql.situation.SituationMapper; +import cn.iocoder.yudao.module.prison.service.situation.SituationService; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.prison.enums.ErrorCodeConstants.*; + +/** + * 狱情收集 Service 实现类 + * + * @author xlcp + */ +@Service +@Validated +public class SituationServiceImpl implements SituationService { + + @Resource + private SituationMapper situationMapper; + + @Override + public Long createSituation(SituationSaveReqVO createReqVO) { + // 插入 + SituationDO situation = BeanUtils.toBean(createReqVO, SituationDO.class); + situationMapper.insert(situation); + // 返回 + return situation.getId(); + } + + @Override + public void updateSituation(SituationSaveReqVO updateReqVO) { + // 校验存在 + validateSituationExists(updateReqVO.getId()); + // 更新 + SituationDO updateObj = BeanUtils.toBean(updateReqVO, SituationDO.class); + situationMapper.updateById(updateObj); + } + + @Override + public void deleteSituation(Long id) { + // 校验存在 + validateSituationExists(id); + // 删除 + situationMapper.deleteById(id); + } + + @Override + public void deleteSituationListByIds(List ids) { + // 删除 + situationMapper.deleteByIds(ids); + } + + private void validateSituationExists(Long id) { + if (situationMapper.selectById(id) == null) { + throw exception(PRISON_SITUATION_NOT_EXISTS); + } + } + + @Override + public SituationDO getSituation(Long id) { + return situationMapper.selectById(id); + } + + @Override + public PageResult getSituationPage(SituationPageReqVO pageReqVO) { + return situationMapper.selectPage(pageReqVO); + } + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/warning/WarningService.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/warning/WarningService.java new file mode 100644 index 0000000000..11a79a624d --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/warning/WarningService.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.prison.service.warning; + +import java.util.*; +import jakarta.validation.*; +import cn.iocoder.yudao.module.prison.controller.admin.warning.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.warning.WarningDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 预警信息 Service 接口 + * + * @author xlcp + */ +public interface WarningService { + + /** + * 创建预警信息 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createWarning(@Valid WarningSaveReqVO createReqVO); + + /** + * 更新预警信息 + * + * @param updateReqVO 更新信息 + */ + void updateWarning(@Valid WarningSaveReqVO updateReqVO); + + /** + * 删除预警信息 + * + * @param id 编号 + */ + void deleteWarning(Long id); + + /** + * 批量删除预警信息 + * + * @param ids 编号 + */ + void deleteWarningListByIds(List ids); + + /** + * 获得预警信息 + * + * @param id 编号 + * @return 预警信息 + */ + WarningDO getWarning(Long id); + + /** + * 获得预警信息分页 + * + * @param pageReqVO 分页查询 + * @return 预警信息分页 + */ + PageResult getWarningPage(WarningPageReqVO pageReqVO); + +} diff --git a/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/warning/impl/WarningServiceImpl.java b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/warning/impl/WarningServiceImpl.java new file mode 100644 index 0000000000..567daa6c92 --- /dev/null +++ b/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/service/warning/impl/WarningServiceImpl.java @@ -0,0 +1,82 @@ +package cn.iocoder.yudao.module.prison.service.warning.impl; + +import cn.hutool.core.collection.CollUtil; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.module.prison.controller.admin.warning.vo.*; +import cn.iocoder.yudao.module.prison.dal.dataobject.warning.WarningDO; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + +import cn.iocoder.yudao.module.prison.dal.mysql.warning.WarningMapper; +import cn.iocoder.yudao.module.prison.service.warning.WarningService; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.prison.enums.ErrorCodeConstants.*; + +/** + * 预警信息 Service 实现类 + * + * @author xlcp + */ +@Service +@Validated +public class WarningServiceImpl implements WarningService { + + @Resource + private WarningMapper warningMapper; + + @Override + public Long createWarning(WarningSaveReqVO createReqVO) { + // 插入 + WarningDO warning = BeanUtils.toBean(createReqVO, WarningDO.class); + warningMapper.insert(warning); + // 返回 + return warning.getId(); + } + + @Override + public void updateWarning(WarningSaveReqVO updateReqVO) { + // 校验存在 + validateWarningExists(updateReqVO.getId()); + // 更新 + WarningDO updateObj = BeanUtils.toBean(updateReqVO, WarningDO.class); + warningMapper.updateById(updateObj); + } + + @Override + public void deleteWarning(Long id) { + // 校验存在 + validateWarningExists(id); + // 删除 + warningMapper.deleteById(id); + } + + @Override + public void deleteWarningListByIds(List ids) { + // 删除 + warningMapper.deleteByIds(ids); + } + + private void validateWarningExists(Long id) { + if (warningMapper.selectById(id) == null) { + throw exception(PRISON_WARNING_NOT_EXISTS); + } + } + + @Override + public WarningDO getWarning(Long id) { + return warningMapper.selectById(id); + } + + @Override + public PageResult getWarningPage(WarningPageReqVO pageReqVO) { + return warningMapper.selectPage(pageReqVO); + } + +} diff --git a/yudao-module-prison/src/main/resources/mapper/ConsumptionMapper.xml b/yudao-module-prison/src/main/resources/mapper/ConsumptionMapper.xml new file mode 100644 index 0000000000..123e38c627 --- /dev/null +++ b/yudao-module-prison/src/main/resources/mapper/ConsumptionMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/yudao-module-prison/src/main/resources/mapper/RiskAssessmentMapper.xml b/yudao-module-prison/src/main/resources/mapper/RiskAssessmentMapper.xml new file mode 100644 index 0000000000..e7ca0dc064 --- /dev/null +++ b/yudao-module-prison/src/main/resources/mapper/RiskAssessmentMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/yudao-module-prison/src/main/resources/mapper/ScoreMapper.xml b/yudao-module-prison/src/main/resources/mapper/ScoreMapper.xml new file mode 100644 index 0000000000..c540cb76bc --- /dev/null +++ b/yudao-module-prison/src/main/resources/mapper/ScoreMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/yudao-module-prison/src/main/resources/sql/evaluation_report.sql b/yudao-module-prison/src/main/resources/sql/evaluation_report.sql new file mode 100644 index 0000000000..145562c11e --- /dev/null +++ b/yudao-module-prison/src/main/resources/sql/evaluation_report.sql @@ -0,0 +1,244 @@ +-- ============================================================ +-- 评估报告模块数据库脚本 +-- 模块名称:评估报告 (Evaluation Report) +-- 创建日期:2026-01-16 +-- ============================================================ + +-- ============================================================ +-- 1. 评估报告模板表 +-- ============================================================ +DROP TABLE IF EXISTS `prison_evaluation_template`; +CREATE TABLE `prison_evaluation_template` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '模板ID', + `name` varchar(100) NOT NULL COMMENT '模板名称', + `type` tinyint NOT NULL COMMENT '模板类型:1-入监综合评估 2-定期考核报告 3-出监评估报告 4-减刑假释建议报告 5-专项评估报告', + `title_format` varchar(200) DEFAULT NULL COMMENT '报告标题格式', + `description` varchar(500) DEFAULT NULL COMMENT '模板描述', + `ai_prompt` text DEFAULT NULL COMMENT 'AI提示词配置', + `style_config` text DEFAULT NULL COMMENT '样式配置JSON', + `is_default` tinyint(1) DEFAULT 0 COMMENT '是否默认模板:0-否 1-是', + `status` tinyint(1) DEFAULT 1 COMMENT '状态:0-停用 1-启用', + `creator` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `updater` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint DEFAULT 0 COMMENT '租户编号', + PRIMARY KEY (`id`), + KEY `idx_prison_evaluation_template_type` (`type`), + KEY `idx_prison_evaluation_template_status` (`status`) +) ENGINE=InnoDB COMMENT='评估报告模板表'; + +-- ============================================================ +-- 2. 评估维度配置表 +-- ============================================================ +DROP TABLE IF EXISTS `prison_evaluation_dimension`; +CREATE TABLE `prison_evaluation_dimension` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '维度ID', + `template_id` bigint NOT NULL COMMENT '所属模板ID', + `name` varchar(100) NOT NULL COMMENT '维度名称', + `type` tinyint NOT NULL COMMENT '维度类型:1-基本信息 2-犯罪情况 3-服刑表现 4-心理评估 5-风险评估 6-消费行为 7-劳动表现 8-家庭帮教 9-综合分析 10-管教意见', + `ai_prompt` text DEFAULT NULL COMMENT 'AI提示词', + `data_sources` varchar(500) DEFAULT NULL COMMENT '数据源绑定,多个用逗号分隔:prisoner-罪犯档案 consumption-消费记录 score-计分考核 questionnaire-问卷测评 risk-风险评估 violation-违规记录 reward-奖励记录 visit-会见记录 labor-劳动数据 family-家庭帮教 psychology-心理测评', + `output_format` tinyint DEFAULT 1 COMMENT '输出格式:1-文本 2-段落 3-列表', + `ai_enabled` tinyint(1) DEFAULT 0 COMMENT '是否AI生成:0-否 1-是', + `editor_type` tinyint DEFAULT 1 COMMENT '编辑器类型:1-文本框 2-富文本 3-下拉选择', + `sort` int DEFAULT 0 COMMENT '排序', + `is_required` tinyint(1) DEFAULT 1 COMMENT '是否必填:0-否 1-是', + `creator` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `updater` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint DEFAULT 0 COMMENT '租户编号', + PRIMARY KEY (`id`), + KEY `idx_prison_evaluation_dimension_template` (`template_id`) +) ENGINE=InnoDB COMMENT='评估维度配置表'; + +-- ============================================================ +-- 3. 评估报告表 +-- ============================================================ +DROP TABLE IF EXISTS `prison_evaluation_report`; +CREATE TABLE `prison_evaluation_report` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '报告ID', + `report_no` varchar(50) NOT NULL COMMENT '报告编号', + `prisoner_id` bigint NOT NULL COMMENT '罪犯ID', + `prisoner_name` varchar(50) DEFAULT NULL COMMENT '罪犯姓名', + `prisoner_no` varchar(50) DEFAULT NULL COMMENT '罪犯编号', + `template_id` bigint NOT NULL COMMENT '模板ID', + `template_name` varchar(100) DEFAULT NULL COMMENT '模板名称', + `title` varchar(200) DEFAULT NULL COMMENT '报告标题', + `evaluation_date` date DEFAULT NULL COMMENT '评估日期', + `risk_level` tinyint DEFAULT NULL COMMENT '风险等级:1-低风险 2-中风险 3-高风险', + `conclusion` text DEFAULT NULL COMMENT '综合结论', + `suggestion` text DEFAULT NULL COMMENT '改造建议', + `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-草稿 2-待审核 3-已通过 4-已退回 5-已归档', + `ai_status` tinyint NOT NULL DEFAULT 0 COMMENT 'AI生成状态:0-未生成 1-生成中 2-生成完成 3-生成失败', + `auditor_id` bigint DEFAULT NULL COMMENT '审核人ID', + `auditor_name` varchar(50) DEFAULT NULL COMMENT '审核人姓名', + `audit_time` datetime DEFAULT NULL COMMENT '审核时间', + `audit_opinion` varchar(500) DEFAULT NULL COMMENT '审核意见', + `report_signature` varchar(500) DEFAULT NULL COMMENT '数字签名', + `report_fingerprint` varchar(64) DEFAULT NULL COMMENT '报告指纹哈希', + `creator` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `updater` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint DEFAULT 0 COMMENT '租户编号', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_prison_evaluation_report_no` (`report_no`), + KEY `idx_prison_evaluation_report_prisoner` (`prisoner_id`), + KEY `idx_prison_evaluation_report_template` (`template_id`), + KEY `idx_prison_evaluation_report_status` (`status`) +) ENGINE=InnoDB COMMENT='评估报告表'; + +-- ============================================================ +-- 4. 报告维度数据表 +-- ============================================================ +DROP TABLE IF EXISTS `prison_evaluation_dimension_data`; +CREATE TABLE `prison_evaluation_dimension_data` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '数据ID', + `report_id` bigint NOT NULL COMMENT '报告ID', + `dimension_id` bigint NOT NULL COMMENT '维度配置ID', + `dimension_name` varchar(100) DEFAULT NULL COMMENT '维度名称', + `content` text DEFAULT NULL COMMENT '填充内容', + `is_ai_generated` tinyint(1) DEFAULT 0 COMMENT '是否AI生成:0-否 1-是', + `is_modified` tinyint(1) DEFAULT 0 COMMENT '是否人工修改:0-否 1-是', + `modified_by` varchar(50) DEFAULT NULL COMMENT '修改人', + `modified_time` datetime DEFAULT NULL COMMENT '修改时间', + `data_source` varchar(100) DEFAULT NULL COMMENT '数据来源', + `raw_data` text DEFAULT NULL COMMENT '原始数据JSON', + `creator` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `updater` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint DEFAULT 0 COMMENT '租户编号', + PRIMARY KEY (`id`), + KEY `idx_prison_evaluation_dimension_data_report` (`report_id`) +) ENGINE=InnoDB COMMENT='报告维度数据表'; + +-- ============================================================ +-- 5. 快捷评语库表 +-- ============================================================ +DROP TABLE IF EXISTS `prison_report_comment`; +CREATE TABLE `prison_report_comment` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '评语ID', + `content` varchar(500) NOT NULL COMMENT '评语内容', + `type` tinyint NOT NULL COMMENT '评语类型:1-入监评估 2-定期考核 3-出监评估 4-减刑假释 5-专项评估', + `dimension` varchar(50) DEFAULT NULL COMMENT '适用维度', + `usage_count` int DEFAULT 0 COMMENT '使用次数', + `is_builtin` tinyint(1) DEFAULT 0 COMMENT '是否内置:0-否 1-是', + `status` tinyint(1) DEFAULT 1 COMMENT '状态:0-停用 1-启用', + `creator` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `updater` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint DEFAULT 0 COMMENT '租户编号', + PRIMARY KEY (`id`), + KEY `idx_prison_report_comment_type` (`type`), + KEY `idx_prison_report_comment_dimension` (`dimension`) +) ENGINE=InnoDB COMMENT='快捷评语库表'; + +-- ============================================================ +-- 6. 报告版本历史表 +-- ============================================================ +DROP TABLE IF EXISTS `prison_evaluation_report_version`; +CREATE TABLE `prison_evaluation_report_version` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '版本ID', + `report_id` bigint NOT NULL COMMENT '报告ID', + `version` int NOT NULL COMMENT '版本号', + `content` text DEFAULT NULL COMMENT '版本内容JSON', + `changelog` varchar(500) DEFAULT NULL COMMENT '变更说明', + `created_by` varchar(50) DEFAULT NULL COMMENT '创建人', + `creator` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint DEFAULT 0 COMMENT '租户编号', + PRIMARY KEY (`id`), + KEY `idx_prison_evaluation_report_version_report` (`report_id`) +) ENGINE=InnoDB COMMENT='报告版本历史表'; + +-- ============================================================ +-- 7. AI生成日志表 +-- ============================================================ +DROP TABLE IF EXISTS `prison_evaluation_ai_log`; +CREATE TABLE `prison_evaluation_ai_log` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志ID', + `report_id` bigint DEFAULT NULL COMMENT '报告ID', + `dimension_id` bigint DEFAULT NULL COMMENT '维度ID', + `prompt` text DEFAULT NULL COMMENT '输入提示词', + `response` text DEFAULT NULL COMMENT 'AI响应内容', + `model` varchar(100) DEFAULT NULL COMMENT '使用的AI模型', + `tokens` int DEFAULT NULL COMMENT '消耗的Token数', + `duration` int DEFAULT NULL COMMENT '生成耗时(ms)', + `status` tinyint DEFAULT 0 COMMENT '状态:0-失败 1-成功', + `error_msg` varchar(500) DEFAULT NULL COMMENT '错误信息', + `creator` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint DEFAULT 0 COMMENT '租户编号', + PRIMARY KEY (`id`), + KEY `idx_prison_evaluation_ai_log_report` (`report_id`) +) ENGINE=InnoDB COMMENT='AI生成日志表'; + +-- ============================================================ +-- 菜单权限配置 +-- ============================================================ + +-- 评估报告管理菜单 +INSERT INTO `system_menu` (`name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`) VALUES +('评估报告', '', 1, 11, 0, 'evaluation-report', 'documentation', 'prison/evaluation-report/index', 0, b'1', b'1', b'1', 'admin', NOW()); + +-- 获取刚插入的父菜单ID +SET @parent_id = LAST_INSERT_ID(); + +-- 子菜单 +INSERT INTO `system_menu` (`name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`) VALUES +('模板管理', '', 2, 1, @parent_id, 'template', 'component', 'prison/evaluation-report/template/index', 0, b'1', b'1', b'1', 'admin', NOW()), +('报告管理', '', 2, 2, @parent_id, 'report', 'documentation', 'prison/evaluation-report/report/index', 0, b'1', b'1', b'1', 'admin', NOW()), +('评语管理', '', 2, 3, @parent_id, 'comment', 'chat-dot-round', 'prison/evaluation-report/comment/index', 0, b'1', b'1', b'1', 'admin', NOW()); + +-- 获取子菜单ID +SET @template_menu_id = (SELECT id FROM system_menu WHERE path = 'template' AND parent_id = @parent_id LIMIT 1); +SET @report_menu_id = (SELECT id FROM system_menu WHERE path = 'report' AND parent_id = @parent_id LIMIT 1); +SET @comment_menu_id = (SELECT id FROM system_menu WHERE path = 'comment' AND parent_id = @parent_id LIMIT 1); + +-- 模板管理权限 +INSERT INTO `system_menu` (`name`, `permission`, `type`, `sort`, `parent_id`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`) VALUES +('模板查询', 'prison:evaluation-report:template:query', 3, 1, @template_menu_id, 0, b'1', b'1', b'1', 'admin', NOW()), +('模板创建', 'prison:evaluation-report:template:create', 3, 2, @template_menu_id, 0, b'1', b'1', b'1', 'admin', NOW()), +('模板更新', 'prison:evaluation-report:template:update', 3, 3, @template_menu_id, 0, b'1', b'1', b'1', 'admin', NOW()), +('模板删除', 'prison:evaluation-report:template:delete', 3, 4, @template_menu_id, 0, b'1', b'1', b'1', 'admin', NOW()); + +-- 报告管理权限 +INSERT INTO `system_menu` (`name`, `permission`, `type`, `sort`, `parent_id`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`) VALUES +('报告查询', 'prison:evaluation-report:report:query', 3, 1, @report_menu_id, 0, b'1', b'1', b'1', 'admin', NOW()), +('报告创建', 'prison:evaluation-report:report:create', 3, 2, @report_menu_id, 0, b'1', b'1', b'1', 'admin', NOW()), +('报告更新', 'prison:evaluation-report:report:update', 3, 3, @report_menu_id, 0, b'1', b'1', b'1', 'admin', NOW()), +('报告删除', 'prison:evaluation-report:report:delete', 3, 4, @report_menu_id, 0, b'1', b'1', b'1', 'admin', NOW()), +('报告审核', 'prison:evaluation-report:report:audit', 3, 5, @report_menu_id, 0, b'1', b'1', b'1', 'admin', NOW()), +('AI生成', 'prison:evaluation-report:report:ai-generate', 3, 6, @report_menu_id, 0, b'1', b'1', b'1', 'admin', NOW()), +('报告导出', 'prison:evaluation-report:report:export', 3, 7, @report_menu_id, 0, b'1', b'1', b'1', 'admin', NOW()); + +-- 评语管理权限 +INSERT INTO `system_menu` (`name`, `permission`, `type`, `sort`, `parent_id`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`) VALUES +('评语查询', 'prison:evaluation-report:comment:query', 3, 1, @comment_menu_id, 0, b'1', b'1', b'1', 'admin', NOW()), +('评语创建', 'prison:evaluation-report:comment:create', 3, 2, @comment_menu_id, 0, b'1', b'1', b'1', 'admin', NOW()), +('评语更新', 'prison:evaluation-report:comment:update', 3, 3, @comment_menu_id, 0, b'1', b'1', b'1', 'admin', NOW()), +('评语删除', 'prison:evaluation-report:comment:delete', 3, 4, @comment_menu_id, 0, b'1', b'1', b'1', 'admin', NOW()); + +-- ============================================================ +-- 初始化内置评语 +-- ============================================================ +INSERT INTO `prison_report_comment` (`content`, `type`, `dimension`, `usage_count`, `is_builtin`, `status`, `creator`, `create_time`) VALUES +('该犯服刑期间表现良好,遵守监规纪律,积极参加各项教育活动。', 2, '服刑表现', 0, 1, 1, 'system', NOW()), +('该犯改造态度端正,劳动积极主动,各项考核指标均达到要求。', 2, '劳动表现', 0, 1, 1, 'system', NOW()), +('经评估,该犯再犯罪风险较低,适合假释。', 4, '综合评估', 0, 1, 1, 'system', NOW()), +('建议加强对该犯的教育引导,继续保持良好的改造势头。', 5, '改造建议', 0, 1, 1, 'system', NOW()), +('该犯入监以来情绪稳定,能够积极适应监区生活。', 1, '心理状态', 0, 1, 1, 'system', NOW()), +('该犯家庭关系和睦,家属帮教积极,改造信心充足。', 3, '家庭帮教', 0, 1, 1, 'system', NOW()); + +SELECT '评估报告模块数据库脚本执行完成!' AS RESULT; diff --git a/yudao-module-prison/src/main/resources/sql/prison_module.sql b/yudao-module-prison/src/main/resources/sql/prison_module.sql index b6e515d1f6..f3f823ebdb 100644 --- a/yudao-module-prison/src/main/resources/sql/prison_module.sql +++ b/yudao-module-prison/src/main/resources/sql/prison_module.sql @@ -292,24 +292,24 @@ VALUES ('问卷模板删除', 'prison:questionnaire:delete', 3, 4, @questionnair INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) VALUES ('问卷模板导出', 'prison:questionnaire:export', 3, 5, @questionnaireParentId, '', '', '', 0); --- 5. 问卷问题管理菜单 -INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, component_name) -VALUES ('问卷问题管理', '', 2, 5, 5047, 'question', '', 'prison/question/index', 0, 'Question'); -SELECT @questionParentId := LAST_INSERT_ID(); -INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) -VALUES ('问卷问题查询', 'prison:question:query', 3, 1, @questionParentId, '', '', '', 0); -INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) -VALUES ('问卷问题创建', 'prison:question:create', 3, 2, @questionParentId, '', '', '', 0); -INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) -VALUES ('问卷问题更新', 'prison:question:update', 3, 3, @questionParentId, '', '', '', 0); -INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) -VALUES ('问卷问题删除', 'prison:question:delete', 3, 4, @questionParentId, '', '', '', 0); -INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) -VALUES ('问卷问题导出', 'prison:question:export', 3, 5, @questionParentId, '', '', '', 0); +-- 5. 问卷问题管理菜单 (已移除独立页面,问题管理集成在问卷模板页面内) +-- INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, component_name) +-- VALUES ('问卷问题管理', '', 2, 5, 5047, 'question', '', 'prison/question/index', 0, 'Question'); +-- SELECT @questionParentId := LAST_INSERT_ID(); +-- INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +-- VALUES ('问卷问题查询', 'prison:question:query', 3, 1, @questionParentId, '', '', '', 0); +-- INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +-- VALUES ('问卷问题创建', 'prison:question:create', 3, 2, @questionParentId, '', '', '', 0); +-- INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +-- VALUES ('问卷问题更新', 'prison:question:update', 3, 3, @questionParentId, '', '', '', 0); +-- INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +-- VALUES ('问卷问题删除', 'prison:question:delete', 3, 4, @questionParentId, '', '', '', 0); +-- INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +-- VALUES ('问卷问题导出', 'prison:question:export', 3, 5, @questionParentId, '', '', '', 0); --- 6. 问卷答题记录管理菜单 +-- 5. 问卷答题记录管理菜单 INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, component_name) -VALUES ('问卷答题记录管理', '', 2, 6, 5047, 'questionnaire-record', '', 'prison/questionnairerecord/index', 0, 'QuestionnaireRecord'); +VALUES ('问卷答题记录管理', '', 2, 5, 5047, 'questionnaire-record', '', 'prison/questionnairerecord/index', 0, 'QuestionnaireRecord'); SELECT @recordParentId := LAST_INSERT_ID(); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) VALUES ('问卷答题记录查询', 'prison:questionnaire-record:query', 3, 1, @recordParentId, '', '', '', 0); @@ -322,9 +322,9 @@ VALUES ('问卷答题记录删除', 'prison:questionnaire-record:delete', 3, 4, INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) VALUES ('问卷答题记录导出', 'prison:questionnaire-record:export', 3, 5, @recordParentId, '', '', '', 0); --- 7. 危险评估管理菜单 +-- 6. 危险评估管理菜单 INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, component_name) -VALUES ('危险评估管理', '', 2, 7, 5047, 'risk-assessment', '', 'prison/riskassessment/index', 0, 'RiskAssessment'); +VALUES ('危险评估管理', '', 2, 6, 5047, 'risk-assessment', '', 'prison/riskassessment/index', 0, 'RiskAssessment'); SELECT @riskParentId := LAST_INSERT_ID(); INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) VALUES ('危险评估查询', 'prison:risk-assessment:query', 3, 1, @riskParentId, '', '', '', 0); @@ -352,8 +352,23 @@ VALUES ('计分考核删除', 'prison:score:delete', 3, 4, @scoreParentId, '', ' INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) VALUES ('计分考核导出', 'prison:score:export', 3, 5, @scoreParentId, '', '', '', 0); +-- 9. 狱情收集管理菜单 +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, component_name) +VALUES ('狱情收集管理', '', 2, 9, 5047, 'situation', '', 'prison/situation/index', 0, 'Situation'); +SELECT @situationParentId := LAST_INSERT_ID(); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('狱情收集查询', 'prison:situation:query', 3, 1, @situationParentId, '', '', '', 0); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('狱情收集创建', 'prison:situation:create', 3, 2, @situationParentId, '', '', '', 0); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('狱情收集更新', 'prison:situation:update', 3, 3, @situationParentId, '', '', '', 0); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('狱情收集删除', 'prison:situation:delete', 3, 4, @situationParentId, '', '', '', 0); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('狱情收集导出', 'prison:situation:export', 3, 5, @situationParentId, '', '', '', 0); + -- ===================================================== --- 9. 数据结构迁移 SQL (2026-01-14) +-- 10. 数据结构迁移 SQL (2026-01-14) -- ===================================================== -- 移除 prison_prisoner 表中的 sub_area_id 字段 -- 执行此迁移前请备份数据库 @@ -367,3 +382,213 @@ INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ( INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES ('prison_cell_status', 1, '启用', '1', 'success', '', 0, 'admin', NOW()), ('prison_cell_status', 2, '禁用', '2', 'danger', '', 0, 'admin', NOW()); + +-- ===================================================== +-- 11. 狱情收集表 (prison_situation) - 新增 2026-01-16 +-- ===================================================== +CREATE TABLE IF NOT EXISTS `prison_situation` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '狱情ID', + `title` varchar(200) NOT NULL COMMENT '标题', + `content` text COMMENT '详情内容', + `category` tinyint NOT NULL DEFAULT 1 COMMENT '分类:1-监管安全 2-教育改造 3-生活卫生 4-生产安全 5-狱内案件 6-其他', + `level` tinyint NOT NULL DEFAULT 1 COMMENT '等级:1-一般 2-重要 3-紧急', + `source` tinyint NOT NULL DEFAULT 1 COMMENT '来源:1-民警报告 2-监控系统 3-举报 4-罪犯自首 5-其他', + `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-待处理 2-处理中 3-已处理', + `area_id` bigint DEFAULT NULL COMMENT '关联监区ID', + `cell_id` bigint DEFAULT NULL COMMENT '关联监室ID', + `reporter` varchar(50) DEFAULT NULL COMMENT '报告人', + `handler` varchar(50) DEFAULT NULL COMMENT '处理人', + `handle_time` datetime DEFAULT NULL COMMENT '处理时间', + `handle_result` text COMMENT '处理结果', + `occur_time` datetime DEFAULT NULL COMMENT '发生时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `creator` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', + PRIMARY KEY (`id`), + KEY `idx_prison_situation_status` (`status`), + KEY `idx_prison_situation_category` (`category`), + KEY `idx_prison_situation_level` (`level`), + KEY `idx_prison_situation_area_id` (`area_id`), + KEY `idx_prison_situation_cell_id` (`cell_id`), + KEY `idx_prison_situation_occur_time` (`occur_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='狱情收集表'; + +-- ===================================================== +-- 12. 预警管理表 (prison_warning) - 新增 2026-01-16 +-- ===================================================== +CREATE TABLE IF NOT EXISTS `prison_warning` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '预警ID', + `title` varchar(200) NOT NULL COMMENT '预警标题', + `content` text COMMENT '预警内容', + `type` tinyint NOT NULL DEFAULT 1 COMMENT '预警类型:1-安全预警 2-监管预警 3-改造预警 4-生产预警 5-生活卫生预警 6-其他', + `level` tinyint NOT NULL DEFAULT 1 COMMENT '预警等级:1-一般 2-重要 3-紧急 4-严重', + `status` tinyint NOT NULL DEFAULT 1 COMMENT '预警状态:1-待核实 2-已核实 3-已处置 4-已解除', + `source` tinyint NOT NULL DEFAULT 1 COMMENT '预警来源:1-民警报告 2-监控系统 3-举报 4-罪犯自首 5-智能分析 6-其他', + `situation_id` bigint DEFAULT NULL COMMENT '关联狱情ID', + `area_id` bigint DEFAULT NULL COMMENT '关联监区ID', + `cell_id` bigint DEFAULT NULL COMMENT '关联监室ID', + `alert_time` datetime DEFAULT NULL COMMENT '预警时间', + `verify_time` datetime DEFAULT NULL COMMENT '核实时间', + `verifier` varchar(50) DEFAULT NULL COMMENT '核实人', + `verify_result` text COMMENT '核实结果', + `handle_time` datetime DEFAULT NULL COMMENT '处置时间', + `handler` varchar(50) DEFAULT NULL COMMENT '处置人', + `handle_method` varchar(200) DEFAULT NULL COMMENT '处置方式', + `handle_result` text COMMENT '处置结果', + `release_time` datetime DEFAULT NULL COMMENT '解除时间', + `releaser` varchar(50) DEFAULT NULL COMMENT '解除人', + `release_reason` text COMMENT '解除原因', + `occur_time` datetime DEFAULT NULL COMMENT '发生时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `creator` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', + PRIMARY KEY (`id`), + KEY `idx_prison_warning_status` (`status`), + KEY `idx_prison_warning_level` (`level`), + KEY `idx_prison_warning_type` (`type`), + KEY `idx_prison_warning_situation_id` (`situation_id`), + KEY `idx_prison_warning_area_id` (`area_id`), + KEY `idx_prison_warning_cell_id` (`cell_id`), + KEY `idx_prison_warning_alert_time` (`alert_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='预警管理表'; + +-- ===================================================== +-- 13. 风险评估表 (prison_risk) - 新增 2026-01-16 +-- ===================================================== +CREATE TABLE IF NOT EXISTS `prison_risk` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '评估ID', + `prisoner_id` bigint NOT NULL COMMENT '罪犯ID', + `prisoner_no` varchar(50) NOT NULL COMMENT '罪犯编号', + `prisoner_name` varchar(50) DEFAULT NULL COMMENT '罪犯姓名', + `assessment_type` tinyint NOT NULL DEFAULT 1 COMMENT '评估类型:1-入监评估 2-定期评估 3-专项评估 4-出监评估', + `assessment_date` date NOT NULL COMMENT '评估日期', + `overall_score` decimal(5,2) DEFAULT NULL COMMENT '综合风险得分', + `risk_level` tinyint DEFAULT NULL COMMENT '风险等级:1-低风险 2-中风险 3-高风险 4-极高风险', + `mental_state` varchar(500) DEFAULT NULL COMMENT '精神状态评估', + `escape_risk` varchar(500) DEFAULT NULL COMMENT '脱逃风险评估', + `violence_risk` varchar(500) DEFAULT NULL COMMENT '暴力倾向评估', + `revolt_risk` varchar(500) DEFAULT NULL COMMENT '抗改风险评估', + `self_harm_risk` varchar(500) DEFAULT NULL COMMENT '自杀自伤风险评估', + `recommendation` text COMMENT '评估建议', + `assessor` varchar(50) DEFAULT NULL COMMENT '评估人', + `assess_method` tinyint DEFAULT NULL COMMENT '评估方式:1-问卷评估 2-量表评估 3-综合评估', + `item_scores` text COMMENT '评估项目得分JSON', + `conclusion` text COMMENT '评估结论', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `creator` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', + PRIMARY KEY (`id`), + KEY `idx_prison_risk_prisoner_id` (`prisoner_id`), + KEY `idx_prison_risk_prisoner_no` (`prisoner_no`), + KEY `idx_prison_risk_assessment_type` (`assessment_type`), + KEY `idx_prison_risk_assessment_date` (`assessment_date`), + KEY `idx_prison_risk_risk_level` (`risk_level`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='风险评估表'; + +-- ===================================================== +-- 14. 字典数据 SQL (2026-01-16) +-- ===================================================== + +-- 狱情分类字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('狱情分类', 'prison_situation_category', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_situation_category', 1, '监管安全', '1', 'danger', '', 0, 'admin', NOW()), +('prison_situation_category', 2, '教育改造', '2', 'warning', '', 0, 'admin', NOW()), +('prison_situation_category', 3, '生活卫生', '3', 'success', '', 0, 'admin', NOW()), +('prison_situation_category', 4, '生产安全', '4', 'info', '', 0, 'admin', NOW()), +('prison_situation_category', 5, '狱内案件', '5', 'danger', '', 0, 'admin', NOW()), +('prison_situation_category', 6, '其他', '6', '', '', 0, 'admin', NOW()); + +-- 狱情等级字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('狱情等级', 'prison_situation_level', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_situation_level', 1, '一般', '1', 'success', '', 0, 'admin', NOW()), +('prison_situation_level', 2, '重要', '2', 'warning', '', 0, 'admin', NOW()), +('prison_situation_level', 3, '紧急', '3', 'danger', '', 0, 'admin', NOW()); + +-- 狱情来源字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('狱情来源', 'prison_situation_source', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_situation_source', 1, '民警报告', '1', '', '', 0, 'admin', NOW()), +('prison_situation_source', 2, '监控系统', '2', '', '', 0, 'admin', NOW()), +('prison_situation_source', 3, '举报', '3', '', '', 0, 'admin', NOW()), +('prison_situation_source', 4, '罪犯自首', '4', '', '', 0, 'admin', NOW()), +('prison_situation_source', 5, '其他', '5', '', '', 0, 'admin', NOW()); + +-- 狱情状态字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('狱情状态', 'prison_situation_status', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_situation_status', 1, '待处理', '1', 'warning', '', 0, 'admin', NOW()), +('prison_situation_status', 2, '处理中', '2', 'info', '', 0, 'admin', NOW()), +('prison_situation_status', 3, '已处理', '3', 'success', '', 0, 'admin', NOW()); + +-- 预警类型字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('预警类型', 'prison_warning_type', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_warning_type', 1, '安全预警', '1', 'danger', '', 0, 'admin', NOW()), +('prison_warning_type', 2, '监管预警', '2', 'warning', '', 0, 'admin', NOW()), +('prison_warning_type', 3, '改造预警', '3', 'info', '', 0, 'admin', NOW()), +('prison_warning_type', 4, '生产预警', '4', '', '', 0, 'admin', NOW()), +('prison_warning_type', 5, '生活卫生预警', '5', 'success', '', 0, 'admin', NOW()), +('prison_warning_type', 6, '其他', '6', '', '', 0, 'admin', NOW()); + +-- 预警等级字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('预警等级', 'prison_warning_level', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_warning_level', 1, '一般', '1', 'success', '', 0, 'admin', NOW()), +('prison_warning_level', 2, '重要', '2', 'warning', '', 0, 'admin', NOW()), +('prison_warning_level', 3, '紧急', '3', 'danger', '', 0, 'admin', NOW()), +('prison_warning_level', 4, '严重', '4', 'danger', '', 0, 'admin', NOW()); + +-- 预警状态字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('预警状态', 'prison_warning_status', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_warning_status', 1, '待核实', '1', 'warning', '', 0, 'admin', NOW()), +('prison_warning_status', 2, '已核实', '2', 'info', '', 0, 'admin', NOW()), +('prison_warning_status', 3, '已处置', '3', 'success', '', 0, 'admin', NOW()), +('prison_warning_status', 4, '已解除', '4', '', '', 0, 'admin', NOW()); + +-- 预警来源字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('预警来源', 'prison_warning_source', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_warning_source', 1, '民警报告', '1', '', '', 0, 'admin', NOW()), +('prison_warning_source', 2, '监控系统', '2', '', '', 0, 'admin', NOW()), +('prison_warning_source', 3, '举报', '3', '', '', 0, 'admin', NOW()), +('prison_warning_source', 4, '罪犯自首', '4', '', '', 0, 'admin', NOW()), +('prison_warning_source', 5, '智能分析', '5', '', '', 0, 'admin', NOW()), +('prison_warning_source', 6, '其他', '6', '', '', 0, 'admin', NOW()); + +-- 风险评估类型字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('风险评估类型', 'prison_risk_assessment_type', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_risk_assessment_type', 1, '入监评估', '1', 'info', '', 0, 'admin', NOW()), +('prison_risk_assessment_type', 2, '定期评估', '2', 'success', '', 0, 'admin', NOW()), +('prison_risk_assessment_type', 3, '专项评估', '3', 'warning', '', 0, 'admin', NOW()), +('prison_risk_assessment_type', 4, '出监评估', '4', '', '', 0, 'admin', NOW()); + +-- 风险等级字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('风险等级', 'prison_risk_level', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_risk_level', 1, '低风险', '1', 'success', '', 0, 'admin', NOW()), +('prison_risk_level', 2, '中风险', '2', 'warning', '', 0, 'admin', NOW()), +('prison_risk_level', 3, '高风险', '3', 'danger', '', 0, 'admin', NOW()), +('prison_risk_level', 4, '极高风险', '4', 'danger', '', 0, 'admin', NOW()); + +-- 评估方式字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('评估方式', 'prison_risk_assess_method', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_risk_assess_method', 1, '问卷评估', '1', '', '', 0, 'admin', NOW()), +('prison_risk_assess_method', 2, '量表评估', '2', '', '', 0, 'admin', NOW()), +('prison_risk_assess_method', 3, '综合评估', '3', '', '', 0, 'admin', NOW()); diff --git a/yudao-module-prison/src/main/resources/sql/prison_situation_warning_risk.sql b/yudao-module-prison/src/main/resources/sql/prison_situation_warning_risk.sql new file mode 100644 index 0000000000..f37ae9f02c --- /dev/null +++ b/yudao-module-prison/src/main/resources/sql/prison_situation_warning_risk.sql @@ -0,0 +1,264 @@ +-- ===================================================== +-- XL监狱综合管理平台 - 狱情模块数据库脚本 +-- 生成时间: 2026-01-16 +-- ===================================================== + +-- ===================================================== +-- 9. 狱情收集表 (prison_situation) +-- ===================================================== +CREATE TABLE IF NOT EXISTS `prison_situation` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '狱情ID', + `title` varchar(200) NOT NULL COMMENT '标题', + `content` text COMMENT '详情内容', + `category` tinyint NOT NULL DEFAULT 1 COMMENT '分类:1-监管安全 2-教育改造 3-生活卫生 4-生产安全 5-狱内案件 6-其他', + `level` tinyint NOT NULL DEFAULT 1 COMMENT '等级:1-一般 2-重要 3-紧急', + `source` tinyint NOT NULL DEFAULT 1 COMMENT '来源:1-民警报告 2-监控系统 3-举报 4-罪犯自首 5-其他', + `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-待处理 2-处理中 3-已处理', + `area_id` bigint DEFAULT NULL COMMENT '关联监区ID', + `cell_id` bigint DEFAULT NULL COMMENT '关联监室ID', + `reporter` varchar(50) DEFAULT NULL COMMENT '报告人', + `handler` varchar(50) DEFAULT NULL COMMENT '处理人', + `handle_time` datetime DEFAULT NULL COMMENT '处理时间', + `handle_result` text COMMENT '处理结果', + `occur_time` datetime DEFAULT NULL COMMENT '发生时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `creator` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', + PRIMARY KEY (`id`), + KEY `idx_prison_situation_status` (`status`), + KEY `idx_prison_situation_category` (`category`), + KEY `idx_prison_situation_level` (`level`), + KEY `idx_prison_situation_area_id` (`area_id`), + KEY `idx_prison_situation_cell_id` (`cell_id`), + KEY `idx_prison_situation_occur_time` (`occur_time`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='狱情收集表'; + +-- ===================================================== +-- 10. 预警管理表 (prison_warning) +-- ===================================================== +CREATE TABLE IF NOT EXISTS `prison_warning` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '预警ID', + `title` varchar(200) NOT NULL COMMENT '预警标题', + `content` text COMMENT '预警内容', + `type` tinyint NOT NULL DEFAULT 1 COMMENT '预警类型:1-安全预警 2-监管预警 3-改造预警 4-生产预警 5-生活卫生预警 6-其他', + `level` tinyint NOT NULL DEFAULT 1 COMMENT '预警等级:1-一般 2-重要 3-紧急 4-严重', + `status` tinyint NOT NULL DEFAULT 1 COMMENT '预警状态:1-待核实 2-已核实 3-已处置 4-已解除', + `source` tinyint NOT NULL DEFAULT 1 COMMENT '预警来源:1-民警报告 2-监控系统 3-举报 4-罪犯自首 5-智能分析 6-其他', + `situation_id` bigint DEFAULT NULL COMMENT '关联狱情ID', + `area_id` bigint DEFAULT NULL COMMENT '关联监区ID', + `cell_id` bigint DEFAULT NULL COMMENT '关联监室ID', + `alert_time` datetime DEFAULT NULL COMMENT '预警时间', + `verify_time` datetime DEFAULT NULL COMMENT '核实时间', + `verifier` varchar(50) DEFAULT NULL COMMENT '核实人', + `verify_result` text COMMENT '核实结果', + `handle_time` datetime DEFAULT NULL COMMENT '处置时间', + `handler` varchar(50) DEFAULT NULL COMMENT '处置人', + `handle_method` varchar(200) DEFAULT NULL COMMENT '处置方式', + `handle_result` text COMMENT '处置结果', + `release_time` datetime DEFAULT NULL COMMENT '解除时间', + `releaser` varchar(50) DEFAULT NULL COMMENT '解除人', + `release_reason` text COMMENT '解除原因', + `occur_time` datetime DEFAULT NULL COMMENT '发生时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `creator` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', + PRIMARY KEY (`id`), + KEY `idx_prison_warning_status` (`status`), + KEY `idx_prison_warning_level` (`level`), + KEY `idx_prison_warning_type` (`type`), + KEY `idx_prison_warning_situation_id` (`situation_id`), + KEY `idx_prison_warning_area_id` (`area_id`), + KEY `idx_prison_warning_cell_id` (`cell_id`), + KEY `idx_prison_warning_alert_time` (`alert_time`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='预警管理表'; + +-- ===================================================== +-- 11. 风险评估表 (prison_risk) +-- ===================================================== +CREATE TABLE IF NOT EXISTS `prison_risk` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '评估ID', + `prisoner_id` bigint NOT NULL COMMENT '罪犯ID', + `prisoner_no` varchar(50) NOT NULL COMMENT '罪犯编号', + `prisoner_name` varchar(50) DEFAULT NULL COMMENT '罪犯姓名', + `assessment_type` tinyint NOT NULL DEFAULT 1 COMMENT '评估类型:1-入监评估 2-定期评估 3-专项评估 4-出监评估', + `assessment_date` date NOT NULL COMMENT '评估日期', + `overall_score` decimal(5,2) DEFAULT NULL COMMENT '综合风险得分', + `risk_level` tinyint DEFAULT NULL COMMENT '风险等级:1-低风险 2-中风险 3-高风险 4-极高风险', + `mental_state` varchar(500) DEFAULT NULL COMMENT '精神状态评估', + `escape_risk` varchar(500) DEFAULT NULL COMMENT '脱逃风险评估', + `violence_risk` varchar(500) DEFAULT NULL COMMENT '暴力倾向评估', + `revolt_risk` varchar(500) DEFAULT NULL COMMENT '抗改风险评估', + `self_harm_risk` varchar(500) DEFAULT NULL COMMENT '自杀自伤风险评估', + `recommendation` text COMMENT '评估建议', + `assessor` varchar(50) DEFAULT NULL COMMENT '评估人', + `assess_method` tinyint DEFAULT NULL COMMENT '评估方式:1-问卷评估 2-量表评估 3-综合评估', + `item_scores` text COMMENT '评估项目得分JSON', + `conclusion` text COMMENT '评估结论', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `creator` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', + PRIMARY KEY (`id`), + KEY `idx_prison_risk_prisoner_id` (`prisoner_id`), + KEY `idx_prison_risk_prisoner_no` (`prisoner_no`), + KEY `idx_prison_risk_assessment_type` (`assessment_type`), + KEY `idx_prison_risk_assessment_date` (`assessment_date`), + KEY `idx_prison_risk_risk_level` (`risk_level`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='风险评估表'; + +-- ===================================================== +-- 菜单权限 SQL (2026-01-16) +-- 注意: 请将 5047 替换为实际的父菜单ID +-- ===================================================== + +-- 9. 狱情收集管理菜单 +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, component_name) +VALUES ('狱情收集管理', '', 2, 9, 5047, 'situation', '', 'prison/situation/index', 0, 'Situation'); +SELECT @situationParentId := LAST_INSERT_ID(); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('狱情收集查询', 'prison:situation:query', 3, 1, @situationParentId, '', '', '', 0); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('狱情收集创建', 'prison:situation:create', 3, 2, @situationParentId, '', '', '', 0); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('狱情收集更新', 'prison:situation:update', 3, 3, @situationParentId, '', '', '', 0); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('狱情收集删除', 'prison:situation:delete', 3, 4, @situationParentId, '', '', '', 0); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('狱情收集导出', 'prison:situation:export', 3, 5, @situationParentId, '', '', '', 0); + +-- 10. 预警管理菜单 +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, component_name) +VALUES ('预警管理', '', 2, 10, 5047, 'warning', '', 'prison/warning/index', 0, 'Warning'); +SELECT @warningParentId := LAST_INSERT_ID(); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('预警查询', 'prison:warning:query', 3, 1, @warningParentId, '', '', '', 0); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('预警创建', 'prison:warning:create', 3, 2, @warningParentId, '', '', '', 0); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('预警更新', 'prison:warning:update', 3, 3, @warningParentId, '', '', '', 0); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('预警删除', 'prison:warning:delete', 3, 4, @warningParentId, '', '', '', 0); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('预警导出', 'prison:warning:export', 3, 5, @warningParentId, '', '', '', 0); + +-- 11. 风险评估菜单 +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, component_name) +VALUES ('风险评估', '', 2, 11, 5047, 'risk', '', 'prison/risk/index', 0, 'Risk'); +SELECT @riskParentId := LAST_INSERT_ID(); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('风险评估查询', 'prison:risk:query', 3, 1, @riskParentId, '', '', '', 0); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('风险评估创建', 'prison:risk:create', 3, 2, @riskParentId, '', '', '', 0); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('风险评估更新', 'prison:risk:update', 3, 3, @riskParentId, '', '', '', 0); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('风险评估删除', 'prison:risk:delete', 3, 4, @riskParentId, '', '', '', 0); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status) +VALUES ('风险评估导出', 'prison:risk:export', 3, 5, @riskParentId, '', '', '', 0); + +-- ===================================================== +-- 字典数据 SQL (2026-01-16) +-- ===================================================== + +-- 狱情分类字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('狱情分类', 'prison_situation_category', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_situation_category', 1, '监管安全', '1', 'danger', '', 0, 'admin', NOW()), +('prison_situation_category', 2, '教育改造', '2', 'warning', '', 0, 'admin', NOW()), +('prison_situation_category', 3, '生活卫生', '3', 'success', '', 0, 'admin', NOW()), +('prison_situation_category', 4, '生产安全', '4', 'info', '', 0, 'admin', NOW()), +('prison_situation_category', 5, '狱内案件', '5', 'danger', '', 0, 'admin', NOW()), +('prison_situation_category', 6, '其他', '6', '', '', 0, 'admin', NOW()); + +-- 狱情等级字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('狱情等级', 'prison_situation_level', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_situation_level', 1, '一般', '1', 'success', '', 0, 'admin', NOW()), +('prison_situation_level', 2, '重要', '2', 'warning', '', 0, 'admin', NOW()), +('prison_situation_level', 3, '紧急', '3', 'danger', '', 0, 'admin', NOW()); + +-- 狱情来源字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('狱情来源', 'prison_situation_source', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_situation_source', 1, '民警报告', '1', '', '', 0, 'admin', NOW()), +('prison_situation_source', 2, '监控系统', '2', '', '', 0, 'admin', NOW()), +('prison_situation_source', 3, '举报', '3', '', '', 0, 'admin', NOW()), +('prison_situation_source', 4, '罪犯自首', '4', '', '', 0, 'admin', NOW()), +('prison_situation_source', 5, '其他', '5', '', '', 0, 'admin', NOW()); + +-- 狱情状态字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('狱情状态', 'prison_situation_status', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_situation_status', 1, '待处理', '1', 'warning', '', 0, 'admin', NOW()), +('prison_situation_status', 2, '处理中', '2', 'info', '', 0, 'admin', NOW()), +('prison_situation_status', 3, '已处理', '3', 'success', '', 0, 'admin', NOW()); + +-- 预警类型字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('预警类型', 'prison_warning_type', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_warning_type', 1, '安全预警', '1', 'danger', '', 0, 'admin', NOW()), +('prison_warning_type', 2, '监管预警', '2', 'warning', '', 0, 'admin', NOW()), +('prison_warning_type', 3, '改造预警', '3', 'info', '', 0, 'admin', NOW()), +('prison_warning_type', 4, '生产预警', '4', '', '', 0, 'admin', NOW()), +('prison_warning_type', 5, '生活卫生预警', '5', 'success', '', 0, 'admin', NOW()), +('prison_warning_type', 6, '其他', '6', '', '', 0, 'admin', NOW()); + +-- 预警等级字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('预警等级', 'prison_warning_level', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_warning_level', 1, '一般', '1', 'success', '', 0, 'admin', NOW()), +('prison_warning_level', 2, '重要', '2', 'warning', '', 0, 'admin', NOW()), +('prison_warning_level', 3, '紧急', '3', 'danger', '', 0, 'admin', NOW()), +('prison_warning_level', 4, '严重', '4', 'danger', '', 0, 'admin', NOW()); + +-- 预警状态字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('预警状态', 'prison_warning_status', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_warning_status', 1, '待核实', '1', 'warning', '', 0, 'admin', NOW()), +('prison_warning_status', 2, '已核实', '2', 'info', '', 0, 'admin', NOW()), +('prison_warning_status', 3, '已处置', '3', 'success', '', 0, 'admin', NOW()), +('prison_warning_status', 4, '已解除', '4', '', '', 0, 'admin', NOW()); + +-- 预警来源字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('预警来源', 'prison_warning_source', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_warning_source', 1, '民警报告', '1', '', '', 0, 'admin', NOW()), +('prison_warning_source', 2, '监控系统', '2', '', '', 0, 'admin', NOW()), +('prison_warning_source', 3, '举报', '3', '', '', 0, 'admin', NOW()), +('prison_warning_source', 4, '罪犯自首', '4', '', '', 0, 'admin', NOW()), +('prison_warning_source', 5, '智能分析', '5', '', '', 0, 'admin', NOW()), +('prison_warning_source', 6, '其他', '6', '', '', 0, 'admin', NOW()); + +-- 风险评估类型字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('风险评估类型', 'prison_risk_assessment_type', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_risk_assessment_type', 1, '入监评估', '1', 'info', '', 0, 'admin', NOW()), +('prison_risk_assessment_type', 2, '定期评估', '2', 'success', '', 0, 'admin', NOW()), +('prison_risk_assessment_type', 3, '专项评估', '3', 'warning', '', 0, 'admin', NOW()), +('prison_risk_assessment_type', 4, '出监评估', '4', '', '', 0, 'admin', NOW()); + +-- 风险等级字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('风险等级', 'prison_risk_level', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_risk_level', 1, '低风险', '1', 'success', '', 0, 'admin', NOW()), +('prison_risk_level', 2, '中风险', '2', 'warning', '', 0, 'admin', NOW()), +('prison_risk_level', 3, '高风险', '3', 'danger', '', 0, 'admin', NOW()), +('prison_risk_level', 4, '极高风险', '4', 'danger', '', 0, 'admin', NOW()); + +-- 评估方式字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('评估方式', 'prison_risk_assess_method', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_risk_assess_method', 1, '问卷评估', '1', '', '', 0, 'admin', NOW()), +('prison_risk_assess_method', 2, '量表评估', '2', '', '', 0, 'admin', NOW()), +('prison_risk_assess_method', 3, '综合评估', '3', '', '', 0, 'admin', NOW()); diff --git a/yudao-module-prison/src/main/resources/sql/report_module.sql b/yudao-module-prison/src/main/resources/sql/report_module.sql new file mode 100644 index 0000000000..c7f233403d --- /dev/null +++ b/yudao-module-prison/src/main/resources/sql/report_module.sql @@ -0,0 +1,261 @@ +-- ===================================================== +-- XL监狱综合管理平台 - 评估报告模块数据库脚本 +-- 生成时间: 2026-01-16 +-- 模块: 评估报告管理 +-- ===================================================== + +-- ===================================================== +-- 1. 评估报告模板表 (prison_report_template) +-- ===================================================== +CREATE TABLE IF NOT EXISTS `prison_report_template` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '模板ID', + `name` varchar(200) NOT NULL COMMENT '模板名称', + `type` tinyint NOT NULL DEFAULT 1 COMMENT '模板类型:1-入监综合评估 2-定期考核报告 3-出监评估 4-减刑假释建议 5-专项评估', + `title_format` varchar(500) NOT NULL COMMENT '报告标题格式', + `dimensions` text COMMENT '评估维度配置,JSON格式', + `ai_prompt_config` text COMMENT 'AI提示词配置,JSON格式', + `style_config` text COMMENT '样式配置,JSON格式', + `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:0-停用 1-启用', + `is_default` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否默认', + `version` int NOT NULL DEFAULT 1 COMMENT '版本号', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `creator` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', + PRIMARY KEY (`id`), + KEY `idx_prison_report_template_type` (`type`), + KEY `idx_prison_report_template_status` (`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='评估报告模板表'; + +-- ===================================================== +-- 2. 评估报告表 (prison_report) +-- ===================================================== +CREATE TABLE IF NOT EXISTS `prison_report` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '报告ID', + `report_no` varchar(64) NOT NULL COMMENT '报告编号', + `prisoner_id` bigint NOT NULL COMMENT '罪犯ID', + `prisoner_no` varchar(50) NOT NULL COMMENT '罪犯编号', + `prisoner_name` varchar(50) DEFAULT NULL COMMENT '罪犯姓名', + `template_id` bigint NOT NULL COMMENT '模板ID', + `template_name` varchar(200) DEFAULT NULL COMMENT '模板名称', + `title` varchar(500) NOT NULL COMMENT '报告标题', + `report_date` date NOT NULL COMMENT '报告日期', + `dimensions` text COMMENT '维度内容,JSON格式', + `conclusion` text COMMENT '综合结论', + `suggestions` text COMMENT '改造建议', + `risk_level` tinyint DEFAULT NULL COMMENT '风险等级:1-低风险 2-中风险 3-高风险 4-极高风险', + `attachments` text COMMENT '附件列表,JSON格式', + `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-草稿 2-待审核 3-已通过 4-已退回', + `version` int NOT NULL DEFAULT 1 COMMENT '版本号', + `signature` varchar(500) DEFAULT NULL COMMENT '数字签名', + `fingerprint` varchar(128) DEFAULT NULL COMMENT '报告指纹', + `submitter_id` bigint DEFAULT NULL COMMENT '提交人ID', + `submitter_name` varchar(50) DEFAULT NULL COMMENT '提交人姓名', + `submit_time` datetime DEFAULT NULL COMMENT '提交时间', + `reviewer_id` bigint DEFAULT NULL COMMENT '审核人ID', + `reviewer_name` varchar(50) DEFAULT NULL COMMENT '审核人姓名', + `review_time` datetime DEFAULT NULL COMMENT '审核时间', + `review_comment` text COMMENT '审核意见', + `archived` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否已归档', + `archived_time` datetime DEFAULT NULL COMMENT '归档时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `creator` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_report_no` (`report_no`), + KEY `idx_prison_report_prisoner_id` (`prisoner_id`), + KEY `idx_prison_report_template_id` (`template_id`), + KEY `idx_prison_report_status` (`status`), + KEY `idx_prison_report_report_date` (`report_date`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='评估报告表'; + +-- ===================================================== +-- 3. 报告版本历史表 (prison_report_version) +-- ===================================================== +CREATE TABLE IF NOT EXISTS `prison_report_version` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '版本ID', + `report_id` bigint NOT NULL COMMENT '报告ID', + `version` int NOT NULL COMMENT '版本号', + `content` text COMMENT '内容快照,JSON格式', + `modifier_id` bigint NOT NULL COMMENT '修改人ID', + `modifier_name` varchar(50) NOT NULL COMMENT '修改人姓名', + `modify_time` datetime NOT NULL COMMENT '修改时间', + `comment` varchar(500) DEFAULT NULL COMMENT '版本备注', + `creator` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', + PRIMARY KEY (`id`), + KEY `idx_prison_report_version_report_id` (`report_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='报告版本历史表'; + +-- ===================================================== +-- 4. 快捷评语分类表 (prison_comment_category) +-- ===================================================== +CREATE TABLE IF NOT EXISTS `prison_comment_category` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '分类ID', + `name` varchar(100) NOT NULL COMMENT '分类名称', + `type` tinyint NOT NULL DEFAULT 1 COMMENT '评估类型:1-入监 2-定期 3-出监 4-减刑 5-专项', + `sort` int NOT NULL DEFAULT 0 COMMENT '排序', + `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:0-停用 1-启用', + `creator` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', + PRIMARY KEY (`id`), + KEY `idx_prison_comment_category_type` (`type`), + KEY `idx_prison_comment_category_status` (`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='快捷评语分类表'; + +-- ===================================================== +-- 5. 快捷评语表 (prison_quick_comment) +-- ===================================================== +CREATE TABLE IF NOT EXISTS `prison_quick_comment` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '评语ID', + `category_id` bigint NOT NULL COMMENT '分类ID', + `content` text NOT NULL COMMENT '评语内容', + `usage_count` int NOT NULL DEFAULT 0 COMMENT '使用次数', + `sort` int NOT NULL DEFAULT 0 COMMENT '排序', + `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:0-停用 1-启用', + `creator` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updater` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', + `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号', + PRIMARY KEY (`id`), + KEY `idx_prison_quick_comment_category_id` (`category_id`), + KEY `idx_prison_quick_comment_status` (`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='快捷评语表'; + +-- ===================================================== +-- 6. 字典数据 SQL +-- ===================================================== + +-- 报告模板类型字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('报告模板类型', 'prison_report_template_type', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_report_template_type', 1, '入监综合评估', '1', 'info', '', 0, 'admin', NOW()), +('prison_report_template_type', 2, '定期考核报告', '2', 'success', '', 0, 'admin', NOW()), +('prison_report_template_type', 3, '出监评估', '3', 'warning', '', 0, 'admin', NOW()), +('prison_report_template_type', 4, '减刑假释建议', '4', 'danger', '', 0, 'admin', NOW()), +('prison_report_template_type', 5, '专项评估', '5', '', '', 0, 'admin', NOW()); + +-- 报告状态字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('报告状态', 'prison_report_status', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_report_status', 1, '草稿', '1', 'info', '', 0, 'admin', NOW()), +('prison_report_status', 2, '待审核', '2', 'warning', '', 0, 'admin', NOW()), +('prison_report_status', 3, '已通过', '3', 'success', '', 0, 'admin', NOW()), +('prison_report_status', 4, '已退回', '4', 'danger', '', 0, 'admin', NOW()); + +-- 通用状态字典 +INSERT INTO system_dict_type (name, type, status, creator, create_time) VALUES ('通用状态', 'prison_common_status', 0, 'admin', NOW()); +INSERT INTO system_dict_data (dict_type, sort, label, value, color_type, css_class, status, creator, create_time) VALUES +('prison_common_status', 0, '停用', '0', 'info', '', 0, 'admin', NOW()), +('prison_common_status', 1, '启用', '1', 'success', '', 0, 'admin', NOW()); + +-- ===================================================== +-- 7. 菜单权限 SQL +-- ===================================================== + +-- 获取监狱管理父菜单ID +SELECT @prison_parent_id := id FROM system_menu WHERE name = '监狱管理' LIMIT 1; + +-- 评估报告模板管理菜单 +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('评估报告模板', '', 2, 15, @prison_parent_id, 'report-template', 'document', 'prison/report-template/index', 0, 'admin', NOW()); +SELECT @report_template_id := LAST_INSERT_ID(); + +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('模板查询', 'prison:report-template:query', 3, 1, @report_template_id, '', '', '', 0, 'admin', NOW()); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('模板创建', 'prison:report-template:create', 3, 2, @report_template_id, '', '', '', 0, 'admin', NOW()); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('模板修改', 'prison:report-template:update', 3, 3, @report_template_id, '', '', '', 0, 'admin', NOW()); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('模板删除', 'prison:report-template:delete', 3, 4, @report_template_id, '', '', '', 0, 'admin', NOW()); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('模板导出', 'prison:report-template:export', 3, 5, @report_template_id, '', '', '', 0, 'admin', NOW()); + +-- 评估报告管理菜单 +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('评估报告', '', 2, 16, @prison_parent_id, 'report', 'document-checked', 'prison/report/index', 0, 'admin', NOW()); +SELECT @report_id := LAST_INSERT_ID(); + +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('报告查询', 'prison:report:query', 3, 1, @report_id, '', '', '', 0, 'admin', NOW()); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('报告创建', 'prison:report:create', 3, 2, @report_id, '', '', '', 0, 'admin', NOW()); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('报告修改', 'prison:report:update', 3, 3, @report_id, '', '', '', 0, 'admin', NOW()); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('报告删除', 'prison:report:delete', 3, 4, @report_id, '', '', '', 0, 'admin', NOW()); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('报告提交审核', 'prison:report:submit', 3, 5, @report_id, '', '', '', 0, 'admin', NOW()); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('报告审核', 'prison:report:review', 3, 6, @report_id, '', '', '', 0, 'admin', NOW()); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('报告导出', 'prison:report:export', 3, 7, @report_id, '', '', '', 0, 'admin', NOW()); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('AI生成', 'prison:report:ai-generate', 3, 8, @report_id, '', '', '', 0, 'admin', NOW()); + +-- 快捷评语管理菜单 +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('快捷评语', '', 2, 17, @prison_parent_id, 'quick-comment', 'chat-dot-square', 'prison/quick-comment/index', 0, 'admin', NOW()); +SELECT @quick_comment_id := LAST_INSERT_ID(); + +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('评语查询', 'prison:quick-comment:query', 3, 1, @quick_comment_id, '', '', '', 0, 'admin', NOW()); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('评语创建', 'prison:quick-comment:create', 3, 2, @quick_comment_id, '', '', '', 0, 'admin', NOW()); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('评语修改', 'prison:quick-comment:update', 3, 3, @quick_comment_id, '', '', '', 0, 'admin', NOW()); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('评语删除', 'prison:quick-comment:delete', 3, 4, @quick_comment_id, '', '', '', 0, 'admin', NOW()); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('评语导入', 'prison:quick-comment:import', 3, 5, @quick_comment_id, '', '', '', 0, 'admin', NOW()); +INSERT INTO system_menu (name, permission, type, sort, parent_id, path, icon, component, status, creator, create_time) +VALUES ('评语导出', 'prison:quick-comment:export', 3, 6, @quick_comment_id, '', '', '', 0, 'admin', NOW()); + +-- ===================================================== +-- 8. 初始化快捷评语数据 +-- ===================================================== + +-- 快捷评语分类 +INSERT INTO prison_comment_category (name, type, sort, status, creator, create_time) VALUES +('入监综合评估', 1, 1, 1, 'admin', NOW()), +('定期考核报告', 2, 2, 1, 'admin', NOW()), +('出监评估', 3, 3, 1, 'admin', NOW()), +('减刑假释建议', 4, 4, 1, 'admin', NOW()), +('专项评估', 5, 5, 1, 'admin', NOW()); + +-- 快捷评语示例 +INSERT INTO prison_quick_comment (category_id, content, usage_count, sort, status, creator, create_time) +SELECT id, '该犯入监以来,认罪悔罪态度较好,能积极参加学习教育和劳动改造,遵守监规纪律,无违规违纪记录。', 0, 1, 1, 'admin', NOW() +FROM prison_comment_category WHERE type = 1 LIMIT 1; + +INSERT INTO prison_quick_comment (category_id, content, usage_count, sort, status, creator, create_time) +SELECT id, '经综合评估,该犯风险等级为低风险,建议继续当前处遇级别。', 0, 2, 1, 'admin', NOW() +FROM prison_comment_category WHERE type = 1 LIMIT 1; + +INSERT INTO prison_quick_comment (category_id, content, usage_count, sort, status, creator, create_time) +SELECT id, '该犯本月表现良好,考核分为95分,被评为良好等次。', 0, 1, 1, 'admin', NOW() +FROM prison_comment_category WHERE type = 2 LIMIT 1; + +INSERT INTO prison_quick_comment (category_id, content, usage_count, sort, status, creator, create_time) +SELECT id, '该犯在本考核期内累计获得表扬3次,无任何违规记录,改造表现优秀。', 0, 2, 1, 'admin', NOW() +FROM prison_comment_category WHERE type = 2 LIMIT 1; + +INSERT INTO prison_quick_comment (category_id, content, usage_count, sort, status, creator, create_time) +SELECT id, '该犯服刑期间表现良好,符合假释条件,建议依法呈报假释。', 0, 1, 1, 'admin', NOW() +FROM prison_comment_category WHERE type = 4 LIMIT 1; diff --git a/yudao-module-prison/src/test/java/cn/iocoder/yudao/module/prison/controller/admin/consumption/PrisonConsumptionControllerTest.java b/yudao-module-prison/src/test/java/cn/iocoder/yudao/module/prison/controller/admin/consumption/PrisonConsumptionControllerTest.java deleted file mode 100644 index b916ab12f0..0000000000 --- a/yudao-module-prison/src/test/java/cn/iocoder/yudao/module/prison/controller/admin/consumption/PrisonConsumptionControllerTest.java +++ /dev/null @@ -1,230 +0,0 @@ -package cn.iocoder.yudao.module.prison.controller.admin.consumption; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.module.prison.controller.admin.consumption.vo.*; -import cn.iocoder.yudao.module.prison.dal.dataobject.consumption.ConsumptionDO; -import cn.iocoder.yudao.module.prison.dal.dataobject.consumption.ConsumptionDetailDO; -import cn.iocoder.yudao.module.prison.service.consumption.ConsumptionService; -import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.http.MediaType; -import org.springframework.security.test.context.support.WithMockUser; -import org.springframework.test.web.servlet.MockMvc; - -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.when; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; - -/** - * 消费订单 Controller 测试类 - * - * @author xl - */ -@WebMvcTest(PrisonConsumptionController.class) -class PrisonConsumptionControllerTest { - - @Autowired - private MockMvc mockMvc; - - @MockBean - private ConsumptionService consumptionService; - - @Test - @WithMockUser - void testGetConsumptionPage_Success() throws Exception { - // 准备测试数据 - ConsumptionDO consumption = new ConsumptionDO(); - consumption.setId(1L); - consumption.setPrisonerId(100L); - consumption.setPrisonerNo("PRISONER001"); - consumption.setOrderNo("CS1234567890"); - consumption.setType(1); - consumption.setTotalAmount(new BigDecimal("100.00")); - consumption.setBalance(new BigDecimal("900.00")); - consumption.setTradeTime(LocalDateTime.now()); - consumption.setStatus(1); - - PageResult pageResult = new PageResult<>(); - pageResult.setList(Collections.singletonList(consumption)); - pageResult.setTotal(1L); - - when(consumptionService.getConsumptionPage(any(ConsumptionPageReqVO.class))).thenReturn(pageResult); - - // 执行测试 - mockMvc.perform(get("/prison/consumption/page") - .param("pageNo", "1") - .param("pageSize", "10") - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.data.list[0].id").value(1)) - .andExpect(jsonPath("$.data.list[0].prisonerNo").value("PRISONER001")) - .andExpect(jsonPath("$.data.list[0].type").value(1)) - .andExpect(jsonPath("$.data.total").value(1)); - } - - @Test - @WithMockUser - void testGetConsumption_Success() throws Exception { - // 准备测试数据 - ConsumptionDO consumption = new ConsumptionDO(); - consumption.setId(1L); - consumption.setPrisonerId(100L); - consumption.setPrisonerNo("PRISONER001"); - consumption.setOrderNo("CS1234567890"); - consumption.setType(1); - consumption.setTotalAmount(new BigDecimal("100.00")); - consumption.setStatus(1); - - ConsumptionDetailDO detail = new ConsumptionDetailDO(); - detail.setId(1L); - detail.setConsumptionId(1L); - detail.setGoodsName("商品A"); - detail.setGoodsPrice(new BigDecimal("50.00")); - detail.setGoodsCount(2); - - when(consumptionService.getConsumption(1L)).thenReturn(consumption); - when(consumptionService.getConsumptionDetailList(1L)).thenReturn(Collections.singletonList(detail)); - - // 执行测试 - mockMvc.perform(get("/prison/consumption/get") - .param("id", "1") - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.data.id").value(1)) - .andExpect(jsonPath("$.data.prisonerNo").value("PRISONER001")) - .andExpect(jsonPath("$.data.details[0].goodsName").value("商品A")); - } - - @Test - @WithMockUser - void testGetConsumption_NotFound() throws Exception { - when(consumptionService.getConsumption(999L)).thenReturn(null); - - mockMvc.perform(get("/prison/consumption/get") - .param("id", "999") - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.data").isEmpty()); - } - - @Test - @WithMockUser - void testDeleteConsumption_Success() throws Exception { - // 执行测试 - 删除成功 - mockMvc.perform(delete("/prison/consumption/delete") - .param("id", "1") - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.data").value(true)); - } - - @Test - @WithMockUser - void testDeleteConsumption_ValidationError() throws Exception { - // 缺少必需参数 id - mockMvc.perform(delete("/prison/consumption/delete") - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isBadRequest()); - } - - @Test - @WithMockUser - void testDeleteConsumptionList_Success() throws Exception { - // 执行测试 - 批量删除 - mockMvc.perform(delete("/prison/consumption/delete-list") - .param("ids", "1,2,3") - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.data").value(true)); - } - - @Test - @WithMockUser - void testDeleteConsumptionList_ValidationError() throws Exception { - // 批量删除 ids 为空 - mockMvc.perform(delete("/prison/consumption/delete-list") - .param("ids", "") - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isBadRequest()); - } - - @Test - @WithMockUser - void testGetConsumptionDetailList_Success() throws Exception { - ConsumptionDetailDO detail = new ConsumptionDetailDO(); - detail.setId(1L); - detail.setConsumptionId(1L); - detail.setGoodsName("商品A"); - detail.setGoodsPrice(new BigDecimal("25.50")); - detail.setGoodsCount(4); - - when(consumptionService.getConsumptionDetailList(1L)) - .thenReturn(Collections.singletonList(detail)); - - mockMvc.perform(get("/prison/consumption/detail-list") - .param("consumptionId", "1") - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.data[0].goodsName").value("商品A")) - .andExpect(jsonPath("$.data[0].goodsPrice").value(25.5)); - } - - @Test - @WithMockUser - void testExportConsumptionExcel_Success() throws Exception { - ConsumptionDO consumption = new ConsumptionDO(); - consumption.setId(1L); - consumption.setPrisonerNo("PRISONER001"); - consumption.setType(1); - consumption.setTotalAmount(new BigDecimal("100.00")); - - PageResult pageResult = new PageResult<>(); - pageResult.setList(Collections.singletonList(consumption)); - pageResult.setTotal(1L); - - when(consumptionService.getConsumptionPage(any(ConsumptionPageReqVO.class))).thenReturn(pageResult); - - mockMvc.perform(get("/prison/consumption/export-excel") - .param("pageNo", "1") - .param("pageSize", "10") - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()); - } - - @Test - @WithMockUser - void testGetConsumptionPage_WithFilters() throws Exception { - // 测试带筛选条件的分页查询 - ConsumptionDO consumption = new ConsumptionDO(); - consumption.setId(1L); - consumption.setPrisonerId(100L); - consumption.setPrisonerNo("PRISONER001"); - consumption.setType(1); - consumption.setStatus(1); - - PageResult pageResult = new PageResult<>(); - pageResult.setList(Collections.singletonList(consumption)); - pageResult.setTotal(1L); - - when(consumptionService.getConsumptionPage(any(ConsumptionPageReqVO.class))).thenReturn(pageResult); - - mockMvc.perform(get("/prison/consumption/page") - .param("pageNo", "1") - .param("pageSize", "10") - .param("prisonerNo", "PRISONER001") - .param("type", "1") - .param("status", "1") - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.data.total").value(1)); - } -} diff --git a/yudao-module-prison/src/test/java/cn/iocoder/yudao/module/prison/service/consumption/ConsumptionServiceTest.java b/yudao-module-prison/src/test/java/cn/iocoder/yudao/module/prison/service/consumption/ConsumptionServiceTest.java deleted file mode 100644 index e23c128049..0000000000 --- a/yudao-module-prison/src/test/java/cn/iocoder/yudao/module/prison/service/consumption/ConsumptionServiceTest.java +++ /dev/null @@ -1,283 +0,0 @@ -package cn.iocoder.yudao.module.prison.service.consumption; - -import cn.iocoder.yudao.framework.common.exception.ServiceException; -import cn.iocoder.yudao.module.prison.controller.admin.consumption.vo.*; -import cn.iocoder.yudao.module.prison.dal.dataobject.consumption.ConsumptionDetailDO; -import cn.iocoder.yudao.module.prison.dal.dataobject.consumption.ConsumptionDO; -import cn.iocoder.yudao.module.prison.dal.mysql.consumption.ConsumptionDetailMapper; -import cn.iocoder.yudao.module.prison.dal.mysql.consumption.ConsumptionMapper; -import cn.iocoder.yudao.module.prison.service.consumption.impl.ConsumptionServiceImpl; -import cn.iocoder.yudao.module.prison.enums.ErrorCodeConstants; -import cn.iocoder.yudao.module.prison.enums.ConsumptionTypeEnum; -import cn.iocoder.yudao.module.prison.enums.ConsumptionStatusEnum; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.ExtendWith; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.junit.jupiter.MockitoExtension; - -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.util.Arrays; -import java.util.List; - -import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.*; - -/** - * 消费订单 Service 测试类 - * - * @author xl - */ -@ExtendWith(MockitoExtension.class) -class ConsumptionServiceTest { - - @InjectMocks - private ConsumptionServiceImpl consumptionService; - - @Mock - private ConsumptionMapper consumptionMapper; - - @Mock - private ConsumptionDetailMapper consumptionDetailMapper; - - private ConsumptionSaveReqVO createReqVO; - private ConsumptionDO consumptionDO; - - @BeforeEach - void setUp() { - // 准备创建请求VO - createReqVO = new ConsumptionSaveReqVO(); - createReqVO.setPrisonerId(100L); - createReqVO.setPrisonerNo("PRISONER001"); - createReqVO.setType(1); - createReqVO.setTotalAmount(new BigDecimal("100.00")); - createReqVO.setBalance(new BigDecimal("900.00")); - createReqVO.setStatus(1); - createReqVO.setTradeTime(LocalDateTime.now()); - - // 准备明细数据 - ConsumptionDetailSaveReqVO detail1 = new ConsumptionDetailSaveReqVO(); - detail1.setGoodsName("商品A"); - detail1.setGoodsPrice(new BigDecimal("30.00")); - detail1.setGoodsCount(2); - detail1.setSubtotal(new BigDecimal("60.00")); - - ConsumptionDetailSaveReqVO detail2 = new ConsumptionDetailSaveReqVO(); - detail2.setGoodsName("商品B"); - detail2.setGoodsPrice(new BigDecimal("20.00")); - detail2.setGoodsCount(2); - detail2.setSubtotal(new BigDecimal("40.00")); - - createReqVO.setDetails(Arrays.asList(detail1, detail2)); - - // 准备DO对象 - consumptionDO = new ConsumptionDO(); - consumptionDO.setId(1L); - consumptionDO.setPrisonerId(100L); - consumptionDO.setPrisonerNo("PRISONER001"); - consumptionDO.setOrderNo("CS1234567890"); - consumptionDO.setType(1); - consumptionDO.setTotalAmount(new BigDecimal("100.00")); - consumptionDO.setStatus(1); - consumptionDO.setCreateTime(LocalDateTime.now()); - consumptionDO.setUpdateTime(LocalDateTime.now()); - } - - @Test - void testCreateConsumption_Success() { - // 设置Mapper行为 - when(consumptionMapper.insert(any(ConsumptionDO.class))).thenReturn(1); - doNothing().when(consumptionDetailMapper).insertBatch(anyList()); - - // 执行测试 - Long result = consumptionService.createConsumption(createReqVO); - - // 验证结果 - assertNotNull(result); - assertEquals(1L, result); - verify(consumptionMapper).insert(any(ConsumptionDO.class)); - verify(consumptionDetailMapper).insertBatch(anyList()); - } - - @Test - void testCreateConsumption_DetailEmpty() { - // 明细为空 - createReqVO.setDetails(null); - - // 执行测试并验证异常 - assertThrows(ServiceException.class, () -> { - consumptionService.createConsumption(createReqVO); - }); - - verify(consumptionMapper, never()).insert(any()); - } - - @Test - void testUpdateConsumption_Success() { - // 准备更新数据 - ConsumptionSaveReqVO updateReqVO = new ConsumptionSaveReqVO(); - updateReqVO.setId(1L); - updateReqVO.setPrisonerId(100L); - updateReqVO.setType(2); - updateReqVO.setTotalAmount(new BigDecimal("150.00")); - - ConsumptionDetailSaveReqVO detail = new ConsumptionDetailSaveReqVO(); - detail.setGoodsName("商品C"); - detail.setGoodsPrice(new BigDecimal("75.00")); - detail.setGoodsCount(2); - detail.setSubtotal(new BigDecimal("150.00")); - updateReqVO.setDetails(Collections.singletonList(detail)); - - // 设置Mapper行为 - when(consumptionMapper.selectById(1L)).thenReturn(consumptionDO); - when(consumptionMapper.updateById(any(ConsumptionDO.class))).thenReturn(1); - doNothing().when(consumptionDetailMapper).deleteByConsumptionId(1L); - doNothing().when(consumptionDetailMapper).insertBatch(anyList()); - - // 执行测试 - consumptionService.updateConsumption(updateReqVO); - - // 验证结果 - verify(consumptionMapper).selectById(1L); - verify(consumptionMapper).updateById(any(ConsumptionDO.class)); - verify(consumptionDetailMapper).deleteByConsumptionId(1L); - verify(consumptionDetailMapper).insertBatch(anyList()); - } - - @Test - void testUpdateConsumption_NotFound() { - ConsumptionSaveReqVO updateReqVO = new ConsumptionSaveReqVO(); - updateReqVO.setId(999L); - - when(consumptionMapper.selectById(999L)).thenReturn(null); - - assertThrows(ServiceException.class, () -> { - consumptionService.updateConsumption(updateReqVO); - }); - - verify(consumptionMapper, never()).updateById(any()); - } - - @Test - void testDeleteConsumption_Success() { - when(consumptionMapper.selectById(1L)).thenReturn(consumptionDO); - when(consumptionMapper.deleteById(1L)).thenReturn(1); - doNothing().when(consumptionDetailMapper).deleteByConsumptionId(1L); - - consumptionService.deleteConsumption(1L); - - verify(consumptionMapper).deleteById(1L); - verify(consumptionDetailMapper).deleteByConsumptionId(1L); - } - - @Test - void testDeleteConsumption_NotFound() { - when(consumptionMapper.selectById(999L)).thenReturn(null); - - assertThrows(ServiceException.class, () -> { - consumptionService.deleteConsumption(999L); - }); - - verify(consumptionMapper, never()).deleteById(any()); - } - - @Test - void testDeleteConsumptionListByIds_Success() { - List ids = Arrays.asList(1L, 2L, 3L); - when(consumptionMapper.deleteBatchIds(ids)).thenReturn(3); - doNothing().when(consumptionDetailMapper).deleteByConsumptionIds(ids); - - consumptionService.deleteConsumptionListByIds(ids); - - verify(consumptionMapper).deleteBatchIds(ids); - verify(consumptionDetailMapper).deleteByConsumptionIds(ids); - } - - @Test - void testGetConsumption_Success() { - when(consumptionMapper.selectById(1L)).thenReturn(consumptionDO); - - ConsumptionDO result = consumptionService.getConsumption(1L); - - assertNotNull(result); - assertEquals(1L, result.getId()); - assertEquals("PRISONER001", result.getPrisonerNo()); - } - - @Test - void testGetConsumption_NotFound() { - when(consumptionMapper.selectById(999L)).thenReturn(null); - - ConsumptionDO result = consumptionService.getConsumption(999L); - - assertNull(result); - } - - @Test - void testGetConsumptionPage_Success() { - ConsumptionPageReqVO pageReqVO = new ConsumptionPageReqVO(); - pageReqVO.setPageNo(1); - pageReqVO.setPageSize(10); - - Page page = new Page<>(1, 10); - page.setRecords(Collections.singletonList(consumptionDO)); - page.setTotal(1); - - when(consumptionMapper.selectPage(any(Page.class), any(LambdaQueryWrapper.class))) - .thenReturn(page); - - cn.iocoder.yudao.framework.common.pojo.PageResult result = - consumptionService.getConsumptionPage(pageReqVO); - - assertNotNull(result); - assertEquals(1, result.getTotal()); - assertEquals(1, result.getList().size()); - assertEquals("PRISONER001", result.getList().get(0).getPrisonerNo()); - } - - @Test - void testGetConsumptionDetailList_Success() { - ConsumptionDetailDO detail = new ConsumptionDetailDO(); - detail.setId(1L); - detail.setConsumptionId(1L); - detail.setGoodsName("商品A"); - detail.setGoodsPrice(new BigDecimal("50.00")); - detail.setGoodsCount(2); - - when(consumptionDetailMapper.selectListByConsumptionId(1L)) - .thenReturn(Collections.singletonList(detail)); - - List result = consumptionService.getConsumptionDetailList(1L); - - assertNotNull(result); - assertEquals(1, result.size()); - assertEquals("商品A", result.get(0).getGoodsName()); - } - - @Test - void testExportExcel_Success() { - ConsumptionPageReqVO pageReqVO = new ConsumptionPageReqVO(); - pageReqVO.setPageNo(1); - pageReqVO.setPageSize(10); - - Page page = new Page<>(1, 10); - page.setRecords(Collections.singletonList(consumptionDO)); - page.setTotal(1); - - when(consumptionMapper.selectPage(any(Page.class), any(LambdaQueryWrapper.class))) - .thenReturn(page); - - cn.iocoder.yudao.framework.common.pojo.PageResult result = - consumptionService.getConsumptionPage(pageReqVO); - - assertNotNull(result); - assertEquals(1, result.getTotal()); - } -} diff --git a/yudao-module-system/bin/pom.xml b/yudao-module-system/bin/pom.xml new file mode 100644 index 0000000000..e8db02f7fd --- /dev/null +++ b/yudao-module-system/bin/pom.xml @@ -0,0 +1,119 @@ + + + + cn.iocoder.boot + yudao + ${revision} + + 4.0.0 + yudao-module-system + jar + + ${project.artifactId} + + system 模块下,我们放通用业务,支撑上层的核心业务。 + 例如说:用户、部门、权限、数据字典等等 + + + + + cn.iocoder.boot + yudao-module-infra + ${revision} + + + + + cn.iocoder.boot + yudao-spring-boot-starter-biz-data-permission + + + cn.iocoder.boot + yudao-spring-boot-starter-biz-tenant + + + cn.iocoder.boot + yudao-spring-boot-starter-biz-ip + + + + + cn.iocoder.boot + yudao-spring-boot-starter-security + + + + org.springframework.boot + spring-boot-starter-validation + + + + + cn.iocoder.boot + yudao-spring-boot-starter-mybatis + + + + cn.iocoder.boot + yudao-spring-boot-starter-redis + + + + + cn.iocoder.boot + yudao-spring-boot-starter-job + + + + + cn.iocoder.boot + yudao-spring-boot-starter-mq + + + + + + + cn.iocoder.boot + yudao-spring-boot-starter-excel + + + + org.springframework.boot + spring-boot-starter-mail + + + + + me.zhyd.oauth + JustAuth + + + com.xkcoding.justauth + justauth-spring-boot-starter + + + + com.github.binarywang + wx-java-mp-spring-boot-starter + + + com.github.binarywang + wx-java-miniapp-spring-boot-starter + + + + com.anji-plus + captcha-spring-boot-starter + + + + org.dromara.hutool + hutool-extra + + + + + diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApi.class new file mode 100644 index 0000000000000000000000000000000000000000..487df957e219b70e6dcdf10417defd975d854102 GIT binary patch literal 2356 zcmc&$ZBNud5S~S#cgN`=FX9`z;M)P(qA@X%6JtOVlOl;6B!1j$mt(Q**6tqhewm3T z`rRL8oNX&thB09N6V1p@@0sl;uT93egF z^Tg?Pd?uYx`kjC~s;e{)9Tp46=dpHH@$n)S77P*?O-}|aYCG$#UG8ZDrG^)XNa$q( z=jwA?1O`_S(}FUATF?7slE|b4BV_2wW|VLxgFWt3PlmAwm=-dkaUxp*57kpzDK~dG z)!mp=17I6EJENl>iz2CMi_>2qHhrzBP*g;|NHC(Hi(A_~;gN?7+ldTu{h@<95U_gP>ss) zk1^(1M8m?`rm%LZ*GaK61wTdv~O=6WASswHJ< z8&%4#jM~S!2!$#fYOf;7$@x}f5MYf=Ump#5g22uaYmLRH59t5M;QpQZY+}2rKAKd@ zN2iHBb(R4g-v<>a!TBm&fEt0}Mtoa?%@lLnk6?FPS^I=8A~F>4YtwG#Os2 z1jbzHv0#fO!mM+n)#loyNdSRN2upKrA?+msBe{o3mcT^a?R6vi8Y?=LH$*#Px|1N! zLeZs>fiCB+jRWAzcye@)1;S^V8`g}YRs=|snJQX(keFsAj}F_KzGJ2$;pnjtKmo2p9ItkxM*%z;IZ|%7*MD z9)E?CjX>1^;mA(MfdzFGs#i7(=CQ1WDqCdYeFgPt0vB4 zHB12Q_)P&YjQu!-PXZRM=5uT13zXiCRX#!W8(IfoH1#C-Bycgcn9qnY7zgv7fJwAp zO6^m)z6@9P*H`h^HMou#+5U9O^B8#s&_Cn3(T8U-<*DLn^a2VqDbp<6+DE>P2zOG> SyYLX-Rm|fa%)tUY0Ou#N0n%^) literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dept/DeptApiImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..65427f6bcd8b68a240368e0c37f391ecbc3f461c GIT binary patch literal 5076 zcmds5ZExH}5S~p#oV%n+2rVs?mTf3-N2$$Ad22$XkWeX-OQa@^#K%2*bGNCzHoNN+ z`6)>J4K-;aO0jK6H<F*Ct{8jKA8F~xb7(NGDlm6@Bzt10#<0wPWmWoRHPV*4B{64kF8$SHfu zlwtK|sGZD+=wgONN>qSQlTeoHw4|j{?$S8ZC{4^_9&>4O?t~n0B`kTYr;TC(63fjX z32D*M?Q^p`5K(B~eW6XqPh`J4OAkX9iI5pS@vxgj5h@B(d&@f8o~bvSk99QrX%xVD zj4EbetEUKrp*l;s!crqK-dSK0MMt%y)3s$IlOaD55(zoMfAE=Q5oW{G+NF;yjUy|{ zq)opOaLK6M8rQ=bo!C$`Q`EtbDisLWXsP<*)B}C&XKc?jJ!k0&$DBsVKr^Gv`i;jqk{(Q zHXPWCD1f!U?+G!}%M|Cif34gyCH;62Is~50j^J5x(s(t&uWU?$b31PWE1i+FCpmEQ zT*E(=evc46yFfG)R5PW&+yZVN=BE)4@yi~Ww5%5gDETKb7B7E%wBf)fxL`~*=D>X{ zfTc3;z~@Cn(Zzu;@l?Z-;lKm?gi8>CK5N=iqA51JLeue75#z1=rv@-U++`Z=%&0 z_Xf6&(dMjOj`mgs+Vx7bTktlHgJRD)9RI(gZd9P&szkj5?@mzPt3iFg0`*QMY8O73 mpx&)P{jdVHTY-8B+h0ov%`06i=H%nIl literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApi.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApi.class new file mode 100644 index 0000000000000000000000000000000000000000..3d8d1cbe81a3a74090d0531858069e5e9aa5fd58 GIT binary patch literal 2163 zcmc&#OK;Oa5S}fePTZ81J}A$!Ew8i%n*%2jickv@l1mXyD{zkQx$2;GCeEI?atMI^qAp%dd3jKtM)Zb-$%nwsv$WTUH z`Q1*$q@T#B6LVj8wc&}+GT}!&GyZF-&9h86P$Dp%N5(8|`|GV;9vTAWMi`4!m}LUz zY71KgN-K!zK!w2A!27vUQk7wZl)i7Kifb9~@rZ^p$wbVIkSWcSY{fj$kEvT}?r>_l z8K)M&v+2BEIvTPxm4>!B{RQIDmxc;WMH&f(6~$dNZF9xb5HoBmnV|f>gSLozVa&9q z+al)re`bj|Cbk7+EPTh>oX&@-*C*f0$@hBXdp+_!B;T{-&(lb9O>N5wGvN+3$PE9G zVV^}bJXp^jte5k3QtTcBBFUsOG)xcR_6$7o4mw7}$CYzRjw>>bkxe^+`)7+9Nm)LL zZY7Xu`#2Y&k;r`$T12rQ(;Kd{)#my!o~K#Z8q1E!c7pECrgTfg=3(Q2eI05G{>@?7 zeEI+~-OADYxGt1ov0tush^rc)gky3ZhEaA0uX W=rn)M!F~L%V!iWl8}3347JmYyE}i=T literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApiImpl.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dept/PostApiImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..606b3af344c1d0101a273c374ffb2929f0cbb7f8 GIT binary patch literal 3329 zcmd5;TW{Mo6h3sbD0Y&j%i8t6ap^Ahx=FkAY0d&<$p!>am!e4v?2(peo2f)>C{gDHAd{ zV-prcG7u_KG1tL)9y1lBD$Wxgm~&%!8n8?RG0$x9NEy4IiK8@2JXj%crI?*CISP&k zXFReVtP=SCLf{0}GhF6`>xqasfz8mZT6X&cZa>bY6)8WG6Jf+4;rmi5%dAk+5a@)D zxly@}IGV2R3MuR!flJ-qQvxdo7@-GS1h(dW|ERUnYw#{v{r!p5I5(N_m_{niL{fm# zOeqIPG=xKJ+f37Dr77)a+93n(2#2`BV1vq zRf_#za~zAQA0^BfIur>v|K%z%$Az5(8H=8=5vMzm^h+uDg%td$6#S_ae3XLkq_9I{ z#SL{Kr_4rUYLOZKTZVB~(NGD#lbK)e)f9WmfJif?Esf*?ZvO`hrAKv+oUvz2TUKv| z+R3d*E@oJ!!~zg%6=j7^D_W}LE=_ZT(!?z0DVMg`J0Zth3%7Y}V60{lZY;NB71MH} zKjPLkLt$+9KqU!oHRjxIsN`s`x6FkmED`a)E#=N15eZ98o^g%ID$(OSvP#owHgzRftTSyc%hrv zr5WC$n{VVJ`p^yM`&D?=J`p3yY_8Ft>($ZS&`GnuS6FqzneO{*@F9U04es07j0MbA z54pKNHHOQ~6f9IKM z2Sp#C^EX`nW&6sXu>Au6w%}Sh1JLe$Y&(0jg6nVtzXWc=Eu489+by{B8vic#XQ(Y_ zU!Z=l0QJT~REpluP1({tu>TD{8^}=?K8G*Bhp%1%vlJgU literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dept/dto/DeptRespDTO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dept/dto/DeptRespDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..516dd6d9e54212dbfdafbf487eb06c836f4bd15f GIT binary patch literal 7504 zcmeHM>2upe6n}Ev_(&j3NIBX9+i=+&5=Xh3a+D@?JmWS@l7<03ZKO@SjifcZD-Zco z_)D098Tig0#qd^ZCvtGwjU!xU;Dar%^z^QM*Z%y+pTGPD0Bf*TgNg_1N`^r~c^W*R z0~&;Bz(pt`CWFH)q9RB{l*KGihf1>~pnV=htgnMei(n0ZY%EYu!Uc;vxcw=2^9RS&8uO_&Eu-DAQnEqVT|-lvkKx`Xr!F{7x!eZ{0%&M8fG zraWkLJE>;-Od_j``z)uex7s7_S2nX$^MrNM0atuCX1CH*;HzAu`0~}F(5&B=OsQ|E zOi{Wr{0216a@}H)?23cn4ojJ&nngzM+vt!QT=HP?So3u$g{;G~-r`U9Q{*P%0gFf| zl0J`fp`>SH?wm zqG`=7a~m8gMnP>XE$csIG;Z0-J7pNzm#5gRuZP9^e2y#FgL&~!@SMTcjvMh9!?+y( zoh=M;+e#`J1vhG8rvwZxvG@0~m}E*5FbkCW22$en-39F%q-`FCkkmcnl79X#82vEARxl3gaZDIVMnP$5DZ?@-Cj zdU&&{dmQnEJKa)%6GRtk!=CNIGJ+YVgaVtue$hnGFL_Hc*+5e5(D3o|oXgRA23 ziSP;DvBMeCqNL%b8}LI}FlD1J9N%Q$}v=O-q~z?(kp*?4f4LL$KwF~Dd-b=b?nEj(>uFcvvtwe<~5 z?dLXH?5JQND4NtjMZf-wr)!u(U3OS4f{_j2IlK;qQ7J!o!;Oor?$OkKq33!q}| zP6N>!dsl0K{joOWS%WVS`ZhY$;L9;|-*zSh>hD?%avPCK1=j%U6#lbt5i0nZ!(SDs zK|Q}VhU@0=Iu8qYe-Yn!0-i*=MO@9{Y6-7TM1^UWSiO*^y&zA5W+N-h_H`0dC+PRABX}KHbFiZIcmDg-_vgtWvlB0{+me AJOBUy literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dept/dto/PostRespDTO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dept/dto/PostRespDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..8a5efbb43f48200a84677350e799ce9c483ec4dc GIT binary patch literal 7465 zcmeHMTXP#V6h7-Z@uh(x(L z_$SQ347~HB7>-sO#|}=SxLfl85B7R@rSDvH&e755KmYpmcK}#}wHj1BSXVL%(vb1s zVK@kbhzCqWBBnAp%;Hc4sfe?L2I^30ng(H?1u^aGAl4%IS}46qRex=JqXtzEp2`uD zknaZ@yANrkJ*cqQgZXY(@cmT}sys}o2TR@Kfm>QK`_2f(AxcP`*XVY*ru$Ulta+tF zohc9I_Nne5UcJ>mLcF$_am`ZN;RB}FZbI*HE^s^A~K6_oY+k}CCWC^<@02s}3k zlPuRK5$Uct2<}l%WvFRvbiIrE)ZmH-i^tloODSX>p7j=g{)Qu(NCq?}kx2V2$%T@> z6sSe2Zjolg%p*}~G$Ol{499ChLZT1*^#39M9lvb%C`qaAiI`v*Z{;D~YLh)FQljyl zi3c*0Q5Y_JR4RhOVqT|ADGXaXtjLYB!e?By2biPNDrU3UNw0CCv-8Ke+)g~Lsivek z8Cp&i7*QK5%KDF4n6zw>oic{(WG4$oWSh{%0zIwMhJpLoA!o3#Cv2EmMxT&d#&S5s z=(yA}io^(_7PfL=T#3DZmclesnur0FlEst=Nm$y)O_p+v8>!0rROZ#wme*#ZgKt^H zw0(u!Ggn$>k;aKO>QM|+B;zsNW1Pl5xo-r}pX{{ckT5fV&QR=)EFK%k?&BJKiOzm`lMZ+J&0`W`C*c$OO;dDixRE9o2{X_3=c!k7*Dq@JwG}KWqr?BvRg;6+)h~?Bb)U%&Q z^F{EjBk>rBC67dWLiCS~u-lY>%I?u@IP7#z+mq8Ex9!krln2c%k;#aDg^7y<{0M)T z`_ypn#^}`=;4WAzFl+Dy^4rGd8hklM+gtrTSh#QL#%&}e72E)mts00-nTii}-XN@0RfTG=APkBoD96-(dN>rDuMD=l;OE3S7r; zGY)Y63;4ZYN5PBm65e@0P>b`>R-DmZDHZKic&$X;UN04`1?^LGtDs-)D!BXY4S2Ie zw6{t{dmH=`bqh*Gdk5YvbZg@ECVGA}A1=NURd{cRcrv>#j^<%jesG3<$NB0WDIX3q xY?8&(AYO%!PFde$w2voL0B=G)xdgXx4JxoYtWUS`{;tUgsKTf4IaaAVe*+djp_Kpt literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dict/DictDataApi.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/dict/DictDataApi.class new file mode 100644 index 0000000000000000000000000000000000000000..8ff800f34f786a8e9ec7dfd06c776c8007f29690 GIT binary patch literal 1243 zcmcgsOK%e~5FUrnO_o5~(C~(uo(hNE6BmdoRSAen0S*b3I67V@aq-%V?TwmWh6EDa z`B8}3O+u&|@wjl<$Jpa<9^W_q_Wjcr0O$b?phDotSstfM>iCq+Sj=@S4L6Cf@jOqM ziBps0O2lsNyhvk~$vBbR$31-Ym}f_s44_J2yF9I!p2TlPr-FL|wGLNOOMgh<(!rw> z0@W_!22dx^Tzfya*4P?cA(gYY+6rgXOeB<>G?R*XX*A8O87Yyvr!=e&r-J%qILevU#?z6YE0BmDdnz53I*}GLQghrI3oA6o2xDtfv_Isym(YkS<{TYMCEWjv zk_Zf3B#<%wo=pVZ=Q>&v5S0W(3j(4A0TB`q6$I?l#0W==l2hjSlzQxpILolkU(t}< zs312g`}Mcjiw?*%GuBhCH}v+LM~R(#sWv*Ul+rb6YBcI)gBSINvXa=aKJZrR$se4$ zMky?{kjF*h{}nBS8eDC_HE0sp>MSMOKIpGSy2$BSA>w9VYVkTxN5T#n>XJaKZ#YvY z%*w)EF7D2lk_q!-ReoPOoQa1UQ2Xm*$_Vv=oM`5Ai`Y+o@87wY<6(&r4oq&jc!7Gx z*<9s-%`b&Opna^l(GGJG+P{>-GRvp)0PYY7*XaaskHF6A^iKi+y0m{0y~st?(l>zLq}Q_%3_^pPh20xK~ zbRk8Va$GHd=Y%@#>hM?))XM&5DL9-8V`L~6fEG?K5Sj&PfnX!Ff5i`%)CI;>dNJHd z|M+l$bR$>Jp|!tAVP#&k^nNCodW_Ya*0|AWS6Gc)?Z6tmvGiNMA{a~3^eM!Io1xnw62`{5UZ3pZw0g4j$q>x!4atr{~2GnVEi zw~yplF`F4Q_LF~>-~Fr8dpXAD+(K1QJ1g)8fnOW+?P^C&islc?MogPI_bkvVel+45 zW`8VfwZ&1M!1bDd_6BYZlXmBC7kAIDRwXlc_As1p5%S%$3+Fj%vQc@o8|CL5TA$yO z0B^EK`8D=)yb@yZRXH!4b$*{B&>obu!BlS@s9E#=vg-IAyoXRT%6f1cNmQYgQTM=~ zn=Bzc_yDiWE|?yC^oMJIkp%*)4`iBR>psQ{aSFEp@7eggfKLlNSiyH2|AH*zyMu4H zb{SUj_eC7t&Bp+pA7SmQjVs^7#?Lt0f~|4~pxn#&?c`AkUV&@)Ch#g;$DKFuy9KYE z;orn@g?h=!=cupOpkAv*rD%PHx?PLfIzxT42K8nQ>Jq%2Tlvlz-n%&N;sfw8K5H16 N9=s2CAVA$8{th~8THXKv literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/logger/LoginLogApi.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/logger/LoginLogApi.class new file mode 100644 index 0000000000000000000000000000000000000000..f7f6cd003b5e21153780a7c75dc10d441c8e6278 GIT binary patch literal 1072 zcmcgrO>Yx15FLlmO+#o(Xo14TsyL(^ymwk5RV_%B0!3|z#L@9iQn$PI)^;ND%aA~V zJ3k6B>m+Ir72?EUy_)g(&BuH5 zY16`HlN?h&^8t%gmO9PtcudzlJJyDd!%`mMJ z0f;J{n5W}P8e;<=B42_CeiFF$T$@Zgswkh))d(FLMHxoU7Gz&f=q}?z<ESL(rfp$!FQ8lh^{Y5O$<6ct7JZqPFMEA zxuIhEWibqPy1k{bT3N(=el{^d7kFZ(+G_%NFP$tfpgXLj7{%)uB)!=GK7;1Doj8SW zNMy7yOI+HZ$V~z}47Qfu)oct}Z?*T-OP{3g*BH=7(GmmHXa;v-jqHT17YlFmD>OcK rnxCQdJ;rR(S;YW-52B~q*bY1-dyDL(0^E)lkK*|lp3=Wg-Y35RF!o5s literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/logger/LoginLogApiImpl.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/logger/LoginLogApiImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..a09b1d7ac90c5c7c73073660796d1df7b3ea6f68 GIT binary patch literal 2157 zcmcgtTW`}a6h7(7x@Kb=W881vxOFed3r`dwp>ffqjEQYb;?Z^7)+4bq+o{-J;twE! z1n>MP#Bthe0V)xsi3i8Gg#pq}xqyQzER_G-) zkBQ&jA97-kGfo^p;AjZOG!RBz7^KHZ2@;SkON1dp#zG@g$uVyAx#p6ghrU)R&X023 zi%Gx|Y7FU%gq#2ACFbbZ1&~qpo(?!!XEK<`BPiq%jO7uGH^lvP zN-Y}_i`?)J8UAS%50w!(@dX8A_0h*Hh%{5$5+&H!{m^@r`pn~NE3}t z*&|jFS_sE)AJ9a^)N%BuWU6*2QY%wnl7=MB4eAOLlBZnSf_5Q?TnmRud&X+Y@J_fL zs+d#`2TXJHTds7Kx#G4BhB zF8jEHW11&;QK!}c*>-`Btq7G)8)M*#k>4)U^)GCc!Pet=XT-G@F|P?)WuWGfT5pbmoy-%^uc(4*FMw0`og_}ztI^DkDXhtCi?WcDr+M%Y%inrk< z)>#i$OHoZSt0++(w4(_aax@>Eq-(bYcPnSAF}C2oyU5>PuZ3-44BqoTJ{Shp0N){O z=dd-P1#{T9@tK~*-p9Uy{X8t-_dL!X6}ABW7g&6^viu2Fz7;l?CMN*xF5}qQqZM3% ztJvcm!gWL{ac|&SiPms-1=`IiXqTs;&A@Fu(||h#o{uAf^EGS_u+8Fp9q#=EE#atK literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/logger/OperateLogApi.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/logger/OperateLogApi.class new file mode 100644 index 0000000000000000000000000000000000000000..977127c8235369524fc64b364f75bfdfd20ba605 GIT binary patch literal 1376 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 Qu!dIys_+4Pgg*Dl-xC_`O#lD@ literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/logger/dto/OperateLogRespDTO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/logger/dto/OperateLogRespDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..86a54f2746e7a04fb8ee65096dd3bec2af929728 GIT binary patch literal 10150 zcmeHMS#uLd5bjlM%MvDl1LT0D7RVvx*v&yMASA{%phQNAF9Nw(t;W*A9?I^@h4aT! zl~g6~dFB74^7YQ@SdeWIji`|FgFVNNzV7Ls>G^u*ufKo$gNT;M&r?pLl_<1L&vJb8 zuC;BMwr@It9W+E}?sOVfV0uBL;|ep{iDKcIR@*V%pxMOdMjV*6wg|0QRDUV`5Ym{>u8qHLzf#1BSQ9ceWTU5|BU+s@wi$f>*JkyCp$X`#b zcKq1!M8)5BBB$<(1>X;1D|P}u0!no~wEPHoQ}Iq)XmljD!lsB9T`P)iSRQ(2wjAL$ zF!q^HY-u#h!17B{T~B^is8;+~U`ni6)Tztf>ALd^>o8;4EKj3paUW`HbT|}0cSIDg zh`1GCKrwA^gf2!Ws<$;NaAlz>d`!M*hXPhw$4sCkj9^>tQrZET)6khE&6dht1Dzf; zOQ+oqMHJn%LLc_w`A%2M zygGPlOi%!hp-G^x$#YQ+^iy`eWF5K8G(e3VvcM|W-Ut@X3ZK}lCa~@wdvY7#V$ABs z^IFOhN8&zN<6dDZIi7H4&QFzOwz--~gDUUCMvHWgN^?}EH^IO!IldEL*62iOkVMPe zqP)oj-0{VYj#tN;ut0g4Ml&Pdv_gm5Y3Eeja*#OGs!H=C@be;$86++;|2YoM&&%0N zvZXWwnx*$OI(AYgcN8F-&nge3*w=R1BuYFB;9!^6^djkbh9Kgp|X1G zLqgB`_OKRqR!`modc zUDD}jClh3+r}eJW(HwO89d_)X&(+U#21Ltpv2`;6Kwd;#EZ^4X_`r^GLYTtP=1$i10#Y|he;TCuYC22B!aJ_ceYki5qY-s6T;WJq>x z=#^M^BHi&DPKZkrcSn*;;oC^n6FwSZYWUXB4V&*c^ex8~ktCW=M#_^Q$`fNEy;wBf zNj#k1_ZRti=$YN|a1J3i*?0nmtDo876BIC^>_i#C%JMe0H%ID87=*DoAdiRLE4Ew7orJjG#wjw02_|dsO}~+xMvo^!h9bvn2Vuv|_s`MU7*ne?Q<{;nO?8ph%f=+0QtKf4QoqXiBG1;(4 zZL7QyKvhpvd>c<-4xZ%v__~9qpU`gYR`P9*Q!h6@@j1qZj;dO`|lc&3QlH0^< z9mwv$Yn`+sNc@Vt&*U{4(HR2k#f#w)%F#5+VKqD#{W4viryguEsacicVD#kMn?N!1l>kQJFir?59uR?GyPbp zZl5Sc`&6kHE-2OQqEfU=O3^-3igsBk+UH8qzMut#d*KQ#?t+#>jFAy(^j*J1%L>u1 zD%I_pQr)goMd3`pRI1xoO3|uHy|AKGw;M{)YD&?*R*LqGQnXd2Xlt~ta4&4oW{Ors zc@t4+kS9HURGOl1dx*@Y#zWKS7Tw-Mzdnx}J!*c}J0FJ4_}?Iw>HA$g(ntGY2s6}% i@XRUt2|mctogQzs(5~Z;$iv^W;HWkUYLWvUd+#5nwR0)} literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/mail/MailSendApi.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/mail/MailSendApi.class new file mode 100644 index 0000000000000000000000000000000000000000..69b6b0c3fc24dc4025a93c6eb50ef6cf0808bcb8 GIT binary patch literal 1317 zcmc&!-%k`V5S}959w&N;f{H)V5FfyY-FG1-7tw@d5yKrMKK8o9QRucy+aumzW}=C{ z`|AH=obKHP6pTLU!*(;%nfco9>&(~hA3p=Y7CcE{hC#{y(MOqxttX$y4O zXjllFm9`ja%>2j)EHhE57_74$TDoY8PNfolY*5(V&;(WDwmDN? zQQ5b`i4p_4PVAt%=RAWXuXUk>7G{{cKdN%R4K0)){V(SCUegBb7L=1$Ft3lt%E@b23F{Ea>Hd1in8{ngI^@Dx64LyN&PXJwoVrQ-`R z6|vN@GSZ}I(e zD195&863Q^0S4Q_W-xb(cB&*YxR*3Lm<L?E=^vjtRm%w zHDo1sU+`{cI6>|&3*>CvYjkHuwm6LlW^r&z0j!r^=F_vP+s8qeU&r!q}Re z`Y%hGOL-(S;T#{U4BfwJB}FnEHc$xpLYyPtmpYnBBdVkk)zXM+X+$KAD1>RBrv@Dl zN6v+p6Yj|~_(MVGTx26v1h|eWf8CV3_JGO@V?CF8iEsZR!r1dwBsYLuh!?_ov6N}1 z&n0u*8!jr*bUSAvQ>h3Zx-OSR+?C84`OhvO&r3&|qN|8GYF{~B=?PjDIK{|$DFba>ofkYR)R$9Hj%=1TwhCPLm( zQhDym0xexkO@}O{HjxUUx0sdWYV|F+>S+<~{ZU=!{$ z*zG0r?0)Jkd1?@{|8_$1_^u4H9|}t740aMDMRq2v3jNvOnx81DBi|-(T+o7YsR-@9 ze)THRGkDUQ7q@HC9Q2c*23mf9;WSNH1{?5*!EZOHSIvqQ@&3;!kHOyS?y55tRrb@W ztbao#lDyLBd6tr@`of@-%>NTMldEhyXu}gK|KXHv_=Kd;te&CU&|~o6YVcY#7;GIW z=V*LLwco*GpkE4Vx2d(D4IA|C(BIZNy}R@dbDOY5&$p=edDRE#{secv-?{rE?EFHb zE!dr{0K)Cjcfb=0-hp@N&EP$FK&XcIA&oU`t$?f8-e1DDx0LOJzsdG!3EM6Bkao}l YUhS?+UyrH3PpwaFgUud0pGn&IsgCw literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/mail/dto/MailSendSingleToUserReqDTO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/mail/dto/MailSendSingleToUserReqDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..f23be133535c08e2431a5ecd1c1d74a1caf51d65 GIT binary patch literal 8951 zcmeHNTXWk)6h2DR*l|;Op=E})&~3Tdl*-&MO$qdpmVlF%+6@CUFtd?1i4sZcN~;Wc z<{$CG49vhge}aF)@U7MtIViPVth8nN5PKz`J@<3=oU{4!?_Yl>qMLNTL{k>E;>f87 z+zable23SauhW%@L{R5#PXqgPSIPP^7EKYlO)uQ=MN8g~ zMRZR*xY@c>qG^kcrwDx>Zq)CrZ3#zNG?M^i$;G14km1I>MI|LQnmB#s#R{)xo8Csq zRT2q{&NLc$d9~3;)l?D4%`fP^j?>v&Uh6IAz-HU$O5A`D7M=X}R*TNwOG4!ZVkzA5 zVsFhC*TPULt~?onk=e$IR4a+^YZ8HoW4-}I&vo(My=)!*>wXAq(%%s-b7au=pd1Lw+L46hL41W(X7xViaIFQlCRh(% zNyeGlZHs3h&-5~$Gqg4Z3xwK~F6+5`wZ_&X88C(4v{$kHGYEWeT|_YhQ4Jk6n4$)`t~Ir|3a zXn6|A&|@q0dZ$>PkUDif8!6<*X0(V%84QE2e|5}1iR#4U?!AV8Tsl86amP096QB_# zjj;*|{1Fr~0?19ShID2XI!kPhF3?5v&{w_CQwtWIu4Wrb(=yjq(IGZaW3D8@nuuB) z?VoOtrNjMI9(nq?^Kx2kdT4Q18$}EU(6Uzgsj$-qBZuJqIo%OsnbS@$%$MnsMHe34 z&7zq#*gL7iq9Y*Hbv4MJIaADl;1oz|JJi!bh4BY)av}rR?f6RoH9h}jv&vyJgUgf# zrt6RUUH=bN)AZL0Q!a>g&KZj|HLcsis6~cAjw%+4BU*uoeGB6uV__}*zzAq7FBXbY z{)r6vuHSrLP2Hw26a19o&#^$BGZx0hjL_vgvc^E}=>$RTJBvI&@|G6%%d zSv_j2xB?!nJ-f}FZOpmZMJKd77XWs80brX80NY#u*th_&0}SkKTmW2Tt`srTL*sxe zXEUADVQ_^Y%3?$fp|^x~8jR!MHz9`pN=AyA$+x{vK{Nom#kYBsTQ@x#7;;FWJU^$) z--GXAfFsRxo?0M1lg-hOp5JzF5Js4LEo#>qf@UNY{a|FC(P4ZNzDrcb+u3wo!Sj(l&vSd8kJ591KbB$v$#maIdcKF_6rI5OG`#>^ zU8olUbq0U$gSv(9%5QY`+mkQ-Lg)WT_rHSAne>$LHlKnOjm<~r@dNs>$Kyx2JU$B6 zj|;*2Ng-IT(EJ4Td6hox>2qOX`uvPO@9?N|$2HhF8|&j+Xqv9~FzSr(->_M91OM7# zd@_%}el8l_FBf}}I4O)5=+-`V?(=s$C#zXGx$+P#!3It6bmMVg226I)QTe(88kO! zuC(&67~EK0J7h5Zno>kC!=Qa`{l;2jn{bOweLv6^oypHI}fLtLgb1biAck zt%o^jr%L1Qu;`)f3Tk}@^Qn;{KNMC4d8}M?zo8fpWY=tFh0+Y3ucp_bwZ4`HMAjKR z+aGGL3f$Ib$|;KdPFPW(N4puusTx4XAWAEO$YE(h(j5$?GH7+o&`NwuLqvvk0hd=r z)r1i|qFoRQh+vt)@^zImnB7s%5i(txde>k;%Y+sg(Ak8W&>%S?>BU&v`V7tY^R16C w`<1j)Fh^&w0s8J%ny{?q;U3BNNsdCm1qjLqSCr)cu<}`iC-iTSyabPb0-uzpN&o-= literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/notify/NotifyMessageSendApiImpl.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/notify/NotifyMessageSendApiImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..6341645b00de16b6d2125702fc39dd2766f505e6 GIT binary patch literal 2721 zcmds3-EJH;6h7Xj*<>4knQq*!YsT=)x|8-K!&gWv#JWaGPEK{<*fa zHk)C}rO6AGRiM1EhIYx_XS}yPnj-h}0(k(40w+<;36~ExFQlyQ81BH+;>F)V~)X_pTQ6-wF7EM%( zCL+;9^;I44)S%EK`U?HKbh+I7x_Y@?*|+?54d zia$+El+qi^>j3KyLM)X!#fj2H)r4l~zbG@3$CY)&j|0KA6&E@vvIcG#^|qHuV$F3n z7_F1i8vD~3TB}lAW0n}*rp2a^8auDtl zr2E~3gmO{_^^F8&a0Yvcks^B`tP1_b;D(#lKwBM|5D|b8` zBta#FvEMk|QeVR@c*NkhHz-)k6>Bu}pHd`)_gi?Y^9WV=^QydmO{J2-qgw2%FPEy^ zFxXBOd3)G}59tLE&e?^J>AkTMC0+Q0!NbPz%AGLSIabcm_=uhW4xRwLEav9xD6h0FIn_U9|N<;;;!P~CLjQ0yc6iKvFwSYweD*rk&ootht?xm+EWuCz2 z@F}d)D*f+6S$;j8O(x}r9l~x(N`E9f({uXV`kX%JJAeN5>+eLgK#L8U3h4XX#8Jkj ziXQS!9>pq>I@XCW(N>Xg9c4NxQW51_xfNN&`!Z76%C)U1u{ye4J}wKDEK9YXiWPk? z7v`>bw6JogLDK=9ESaWUtw(oOABxxpbgTf$Qi6wWSF82;fX>}5l$DuSQkycDtEsr5 zAcI?}RUS~Y3n{mYGzDcN6M4?pML@IArk`>vZbH|9PIq?&En5R+K;3dX7qhrA;b+>a}SZA*@W~SX4m~*~DyTFeSMBfM{3@l0TaoU;Fpcez0+cjv>7;R?g<>2_w_Y}D4 zbW&V|1Mm{-8x6N*`Bm0xx_vC>&V_7MupN4<8E1B@FIr76cm&ZQ@~I)J2FbXr z8kZ;^hlk{4#O(-4wbb#^J%ZD?9OTmf=|zo8n{n}}<>zq;`~TPv;hL)vr?n3KFc0fl z)VW4dtn>uSgzah6Kdu%Z6+CVGJFCOijLw(^fh%$hr5|0&@YV!HaZQ+9V+Zibzf&9EhmOrVxLlsXHIq=Lk{&&t z_grTSYxP=<{LG5nGQBB`k%?g1Fo|YgWI|c=uzArJrp$4F6CA*7-?fj;_Xo_?|4v+1 zLcwaE#}f*LB?O9$rS(w)kfd^Jir6BC{LK!zGG~QK#F|th3E3?dYvM=0E!|>LZR!od zI2wzdFjWq%<^s1PuvLrB()n4sK(7GcUXx1N>j9lXV1 z4#(=4r}w#$?tOc4+V&&>>x1s3pgMr(94c5f9s_zFh}Ko)s6_An(B^08&44aG9)$vg z26U>zZ-BTP;D~Dq(ysWY`baz9McS)v541ZIbq56Qb%z>uhLcp`R7Hh>2YI`6;6zRT zsgzOkXeO%3G2!|VSQy+t<-+|L zx*AMBdVD;WQx$iEl{LquMCei?^ok4tupwKr?vjxzkp?p_Tqd*V!*XI8`iW`iC#E4LrXflRutGD20PQeCmaeZ#@(3LTA3n|*M_}!rvA4JFZ=>2USTloC| zR#wmX$vI9VJ_a0JG&~)*fIgy+AEV!H9M(UTPj=#Pn8gR-c!56M=bU%BeKsVrgCTix cgywMuQ*>?Tgg?jof{Q+yrt9=2V&JR40jX$`1ONa4 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/notify/dto/NotifyTemplateReqDTO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/notify/dto/NotifyTemplateReqDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..ae2dbac19abefa0dec9da63685844a0d4b4460eb GIT binary patch literal 8650 zcmeHMTXWk)6h2DR*l_|ay$qDLbX#sV7l})`HKkCJw0Oo%nKYDv86Gy$I#y%tx+^I| zei<_`1MmDOhHtgDV-0RB6FG&U4<1XqXTLpr_FQ&9{qg57zY) zd&Kv+=SweCz6yl)_S1kXFH%9;6<)j_CnEBAFZ85J!uGxwB+A>!9=Al)>+(cwipOhP z_bW8-(CG}U%jJ%DfBTW}6Nly{kAy>KS_fSZ5*^B&6^AZvrZNd5(Uf~(9By~TZHZZU z5-J%xRBK_L^{AKZL$nf!IOaP*nm1}Xv}k%a(ry=>^T~cMYii0w>N9?UXPI6F#&Iz12tA5WD6{87ch#QNOEX}B4J;s%*RkY1o_hYLV57VN%2ptc ze(WhWKmBY=e#yQwqI!qNoqoA4Gd~pY&H^I#N<88E+CL9YkSYYV#*+z`7tC4=qrBa6ecJ@^$oTW1AS zJfK9{;|w&DN?$sa%ZG1xMi7}?kd<~5 zkFFu%T&u{KfO1(gF=aiJL8!sgp^RtOaUp$BP}${OV`=CMnCo|W9J6-V6>)9x_-2_A zr!bN-4}8D0^F|)M+)|du9(d}ERR6D*LF{SiH_JdE1WYLOxW5Y$nqBjy+vm&Oj4yXB zU+!AI+y!6m;y4V>%LQM4jRi`?%n-K`Py9~Cci{kyxEsYp(QpkT?`H8k-3&G^ane^h zVZIy_@l#6JD(gO>j^@A~@m;RRmfON&;0H6Je~jLS9~|)8_5w6P2w3K`zyzrhp^6<_ zN?zhIo6CMKnPAgZ6-7$g#9_X!Ob{<-w;~&bW6T4UYG2$zjdJJ$Z2dR7Ig2VB^;*WI zS1PoQlSN;H3f;|py0TL`w0zHU(k6??bd^w#@dXW^&*&sA;H`o;^IygP9My7dOIh18 zJvSm}+n&$K*|Dd_w4EM~tpVMPeIdg<3t6JGz&%Ij(KFEEMYO(z-*sr|;J@}OUHJaY z#h>Z&?|7So{#IM`&^0_STPb>#Uc;M1uNOdjqcB>X8WVLZj`mimy1iX0+B>DL^xaZ* zbIE(cF3e%it%nrfh4)HDd!IfiQMV6E)$MwzXdjij(vM5k?GyU6zY8YIdthW_}%#nef!~k literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/oauth2/OAuth2TokenApiImpl.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/oauth2/OAuth2TokenApiImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..8e4c502ddbb11f249114e0440e8bffef8f096d13 GIT binary patch literal 5282 zcmds5-)|f>5FUrLmpcMULqbzZ!3|InD7(<|I|vaHP=l^SO0Jc7;KA`ZIVZdJ*7lyb zSNv^3NhZjYaC_EZ7M=Z9`1a$$De2B8_$jX=U>164geeQSpy~rd}j@hQzlh> z!1^raDwdk-t}yW+?=l^yx|=5=wgc-#8naBsn&qx{C*E4~O-COJwU)`vG)o#VNno~s zNtoJ?w{{N%cLe6j6@}=IFn!4df%$d-FdSVaaD6*hPNrg0^`(`&iC9xgJLaTTmO!h$ zEv(KB7btr93#p|0lE8DzD-Q`wuA|lsc!9vokqX}!qsd-ghrwlC(@i2HIA3RavvHIwx7i5}g<0w}Z{=Kjg+U$=r_kbNT<5;EG z@TgSGQKu;@;=wP5OjlZma68?khHo1fC7>pj5_>$!Eu8L6s{ zMHtg%C1Xh=ax9L&W*O%29N!PQi6TT#YJmw4x%%{$skT8SO<`{RFd4yX7;_khN^aO9S`+6@k$N z?pB53Nm9cUj1<03$o?5p816QPi*uSX>RX5h(}+~}#WC8VdbEws;uO3=$d6~pSginT zo>Q`F8Hc$VFQ!J=-Z7%Ssvs&zi=*U!^28lc_ckFvpAYITHovW%;z{INd|n`MHMlVi z-(`x+Ie}*T=$U0^j literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/package-info.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/package-info.class new file mode 100644 index 0000000000000000000000000000000000000000..d8bd18736937b5a97a1a6fdf8107336e7fd7af3d GIT binary patch literal 154 zcmYk0I}XAy5CxyZ#}XAZ+yeFlbcmLM6D;-;ImC8k$4I#v1qa|zh=ht)Of@6D_viTn zaD>*V6b?BV^6UaN{9rPHTr|;2qM=xhfjN5FNLr*>`-IwAMs9m=MZ@q z7sxAuxRQ$}a$E{yY~VxWzer-<4_tY!Or{)Vq{sB?038}h3J1>S6u&R&UB+Xnh4=hG zY4rb7B|{Rf5-5axCq~HEq=~0S#I+Ie#E5ueL`+7+jS*`+v*>yCvCe=`RVO`+ToKffB5Vb-Xls+G@X|QdZ=hjf0ok7Th<)ZF~PJ4iq z-XA@18j)Hv`U_;+YE8APy6(JO9caO&E?kBM2J@TKIapawo6a8ur_88VO~yj148AJ! zA-Www&CXycwNmIk;Zzk*H&;g(c0IbcR%1U)l@CwGleK5Cyq-4c_cl^0NRL5#phiZ7 z(h=u_(}>Nqsz+~Yf;@>BbOyF`5}(s3P#TR9WI^3O3|9I^TH{F`O?aWu2`3N75v|W( z_K{zO1QLi>p7}ROh%@$Xyj3>ZEreDT54LCQGvB#=XXg0#zkd1!0CwSy2Q>nFMn^%) zgba?^2@4__2o!6>>nNT$a*kKpmkx22wbUbXmfocB2M6HSXnc8xk+ICAeUC8yd_VB5l0E%ky2S^ z(RxFm9v*O`avgCLo!t^r*lhxr8qNCzX6|AXJXj*IRQdCn)=JO86*BwhJ*jbRa>8R8 zsWcNw0ZKEiP)lm=(E9vgk5k*vICTKN3y5C^ghtGnL60~cg7~y$sW4Q?SZIt{(#KC7 zuDOg*Lr1F==ilY{Ev9~yFk@&(B-}hsEip&M&VY%FHqaL*wAO3xY-i~4-Pkcv6zlhqSX(*#1(oAVfBRM9{k0_yZcM`}k zd%(11lf{q&xfRL36C6-`3<$M~vVw1=k3GRP(^0QaRi_AbLB*;_1|?gPF2Z^cSmM%- z5bCUKnj2&(7CKK+v_KWI$F*=7WJkto7GZX|?WvePwA}A=hbeRW6&& z5DO5O%(q2XGMj5O_U5R>R_K_!xm`-0&Inu^@qJk9n{)6oA@wQRgW-w^`Fq-T2W;1R z%(7IaANs8+iArE` z&;1C=?jbh$23`S_#_JipYT&^fKIidQYZjk%e7g4wu!#3(adx|q1*rcFm%mk41a+AEMDQXasJ-YvYx15FMA2O|~g1fl@vttEa%hd#6z)6hJ~+Kq8?MN5|`IUA*>Udn5A8kU)Yv zKMFD41f>!Pi3^AQ7<>HQc;1`uKR$m2fT!>vfgJ)9??hH{WwHyt=N~dCg6ky`Eo45eRh0LMx-fDS<1a zhi3$KCy1OtkHBD?{meP*y0Axf_TCyNz12%uP+_ZDX&#V<*3Qngto&n|_GagjhE*+T z1YnVlt?8)X#@ImTlKui=^hKb`Q)LR}up+&}t%Y>b2xM3|TVed6!M%bqp}F^Tp|te> zlckVI91Ezqc+X2okA-0y30NxuTT8&!5-^m2Z6!FSg_WMhi&s2|a~iNe@?(v+y^M(> zvnVoayY_Dk>u#v3wl1u@-UOxp(C)N1v05W@)a-XPXt0#G+NHhRn)2@{DRg1K57%Ho zpfldM=x~&8eKQSCnert1YLF`P=N?cxW6#99`ZW=dt9I(>5!e+Qtd_9KAxIzZrtIwF%rIkZwT}xQDKfM=|kb zoElTk(7nDx0EYtS5MT#ydKEetCm222tfpU}`)-(ig8sKQ=K$X^2k^PxuEe1m!VQdX Vw(%h%-D>}i;68pk7~h7wKLMu$Froke literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApiImpl.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApiImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..401b0873cec13a177a4a961be9cc79c66d2900ae GIT binary patch literal 2125 zcmcgtOHUgy5FQ6gNPt2qlv4UI^c8y8z4TNNQbiv^T8ab|sYl1_B!*pkYkQ;e%PO@} zx%Wp^9d8m6q)1C8)WgP}`18#8^XHl0e}4P|fOqh!3Kaq$t>IzHqzX@2mxWw~Qga;( z6Q1WW(_yOPJQ1Niw@#!X%Vd}dlS*r)R^g#e#M?~nrCCyiNdgOnkA$gqc+fl*+*M(U z!0ru%ATVPv*pV<@$pwMA$j9!RTLjh)bLC_z_Ec9|*~GMz(vCUI(h{gghr;UIaDmXN zZKIx^Jc0RP_V10+W*Y90$<@!w;NGMwV#;-z$)s>fGovv|YTwX$ z?YJYTJI@654g!Dtpm%)AnNNc@1symE=$@m}QmJBTkfG!pms-LI#W6z5=oIa*Ij+St z;0d#qwqzpg|BMm~4D1ug7(ZieK{vPx`mzWLSp+><1U*>33C#oXw!V3!4{w+d}4Vh-zILg%+p06OZX_rAx*%>pAmBa9cb0?Frz`h>G ztWl>aD?~DKkt5HCrnyC3;6oCrP_Cd%s*W(ybHLfvqQS#f7R_&e5ddMn5$T{q{2uoT){cZ6XbP> z4(PtmuZN;c`RnXC9s$*BgI88Uz{t}rK^}C4F)|h@b3p21p zV7Uh)lYfa6y}&=y&$j{Y0i=pW~8_Ke@?oN#4@!P-9V-ESB_O~ z?us@rlSVXTsmQH%B-@I)++bEKqpRDIr)g`aKrM|NY;YS})9{4A#WgD9U`Gk(!^}#6 zH+g^97LJOZ@B!;9_OAY;^86Jgi9jtHG?*$pL-;VwD!jnX;j^hi1AEhmXb8;i`}U~X z$Ji1qtOIr${BGe_fhtVnSi=T9g<~DZ3XU@{i@$Sdy)Li-^`CJ2%i_X!SiC4O%l#dI zxO+JFctpVp+{cl?Dm=iQYdEjK!%P2<&>ncLczogY@ffd5W4ulPE&Q!t`rANz6TfMU J^%S1N%fGANn8*MC literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsCodeApi.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsCodeApi.class new file mode 100644 index 0000000000000000000000000000000000000000..6f49fd28fa040f0f73252ae642c8b359fa3e3880 GIT binary patch literal 1501 zcmc&!OK;Oa5T0#Iow|iSpghWJ2^9h*;`a8EF!< z@vumQi8GTFDaLN-JZ7=TRqQesw=?&Wf;Ms$z!Zap>TD|XUcB8qKDy$Tnep?=RM>C4V%MKN`s&k^B+K-{grw$IFT{;pIN}Bn*DYsmx!& z=w_qxW}`~33qp_TS6ObX=Te`e?0<+j5QoBgac(kQkt%ALGY!DK;i77naHek8HtJ*t zk2X8ozlr|?%w30n8?s^-{zAARG~n_aT!DE8)9dxXEw8qYN389w(tB&=2+p^Z#D>C$GH_BnG z#@8_jT2(!348p?U7?yIZ|Bn?M>QvopJ!FwzcmTOMXS_8fob_SxtB`PZ+%1HeQ0q75wq53J!)%A|@; z*_cIKMN)Ge3lp8?G1F11<2(_OJ+n@v5zAy`QycYD`v8URXL3Kyk~XXmxLoW{m^z6L z2B(6%Hmnl(_66YyY@$A|t1rx0a)F9^rS@`VkHGE2TsfJFeKnR=4ia%+Deah(T3G@? z?@(Bs8!k|E^=ql5`-Z@!?(Q*x6%XBpEdpCJ`yUyj%^F-GtM-X9xHlP#m~x$FGATf5 zW;AL^?N>DD9E}8ZXPKZLAoKwUCjp?Gc{Auh&|w^|ESZH6|@UF$1IUC^FjV6;pXM0L_L3cX_{LkC7xrE3gwElNi`BidPp{~&M=NS z6>g+sI@=qLOTFb%w;U^T4#o3_M+due)Sd11x5j_gn_F=~v`d_i3wm!|r> zE0Rk`ZJr5(w}irg<=kmQC)YrC*Pr-Y#bPKGMs$dO@SEicQh6pF(#Jjz6Di7+KROfO zIia9aU1bY$U0U3XKnG)CjEqH7%*y+w^2NoyK=|L;FirRZ)R!2B^E6+g9RX~@)eTsO zYXq)$d$Y3CcSfp{JzuuAdPt@3^K>B05yMJEV7sR|OOBb5eqJuFxRJyH_^9`SRoHVJ zYv=mhSs-wuJ1fK$BMRfL&DmU~b#D#s5csJ9cNz_vH-zvu=#ZR@-MLc z2d=i@dbtBo?goB)d6a@T;3kd)-h^8yRpH*owF<4}3qB}(4e+ar^Id#C_kLnDKZK7VgirqlcT)=y literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApi.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApi.class new file mode 100644 index 0000000000000000000000000000000000000000..2aa86c49835da2aeb5c039ba81c0c250aa7a29d2 GIT binary patch literal 1306 zcmc&!-%k`V5S}95-km6Tf{MS=pby}~?z<2T5lu)IG2B7oW3M|Lg>AdEJ>vakCYtEG zFaAfy>E0PoAo`>a+s#a8=9~GZGhe@d{0sma@F;;P1~0smnHI`qhvGzJ(qzg?TcFEE z!$R0h+hSN^=0`rD&P1g$uYK0lzKf<c;#%rMD3sPcB^-QJd7&j zF+dvO(lH#D!WbKPANkK9Dc=lSd9F;M9A#9F=xQGw8c7KI&T5j6hjdr)RF=YfzOPF3 z{}QD@0*(n(LLP|$@+E1~3H@nJe>$c=9n+r@{VCDE#0!g_$BMNG@_+{-2H#gy=GkD> z*)(=Gt?By9(Bt}*uB;1OnhTiy#o|yL2^YkLX1O(k3odxDT-1GRxAsJ-sNd(hch+X| z*1F0JO6=KPk8TH#H+tKD@cX~;ZD_*v8Mpzn3>s^bNmy9UPv3qwI4Ws1&cDl!{E5qRNa(*dCt1EfrVU@v?ouLUzH5-FlpzdfGgLB(Hly4hz4bZDGuhLAz^*PU35t7Rr2rOq-y7W(nM*QIC)b zJYcYRX<`g!wv_k8K#wNcHyF^OpuGfiHsLBXNKQz4I?=X2LGxXw{Q+jakah~@=!`Z% m-_2SR7f}apkvvaw5(6$kRNg+PB>y|L&s}&({|3p6aQ_EO;F9$K literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApiImpl.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/SmsSendApiImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..f38c800628b5554763b3c285ca660e1e08ce69f9 GIT binary patch literal 2661 zcmds3OK%%D5FRRyWy!9cIL|g|%Q!D7huuq0RnfpmQoz8v1}w!ukJRqSqO(hGNUl)- zrv88eEzsV3>mLd_+|^ogEL3h&6h#kQF3I6H4}QbpZ|{Ek1pr>cvnDhcys#z?Ga*%Y zA|@h?RVa0=6Exvzkq8}TIw?{N?WuK`g(8=s&1~4uY#&v!o6Ef{Pn)p9;99vq73w%V z7@lD4ny|{?`3J%?*d%>kS0Bwp#z=~ysrKnikHNjeLOGe?o|;H2hbitVrJZn6E6boA z9ir8RiIGHCzmiJ2uNhqFbdMOUydYnju*G0&X8$W=v{{4e?CKA%m7%@q1QQY z(Q@x`CR{w`jsk<<=j7%*7!e}yd<)8OT@t$TUuL;Bj>l?2WdEXsHpk0AE+KLv-U#Ew zLZm4>7p!roxhN^qZXJnKCc+2kB3b6;&PaAX^LSQRA{6ByW~f{la;e5>q=ytk>x_u$ zJkX7G!e@H}>oZEK;}mIfp!YEwqUlTps)d1mZP6U!+n0lb?i>MUC_eZ9DGPR!OsYRM zz-yDSbles>8cIh+-W9RahFAI4>H5?vRDvU^$o&zm(7z~B;>=7s;QKykl@u4sbF>1U z6Kc2WJ7dYg)FG>GrzOG%6EsF9xI`?{Y7sl<`B1AZk8u8^mO$70{)gtaVH0j_z&hMy zaH|u|uJgV#6sDfP?zbXh#NWLwEGLtZZAap>~EsoUx0Q6J|_zrz)S1e U^!I?qJJh<=*2v$7@ED%{0n}YYY5)KL literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeSendReqDTO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeSendReqDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..8b9d9d0158f2b7d08722ec70a3f6c55ff5325d0c GIT binary patch literal 6381 zcmds5S#KmY5U!pab0mlm?S^9mc*8Zr(ao`3n`I@m$)ZS;L~KG3h!;<{lX22*&)V)0 z`DI8T!8<>LU%?Zi+@6_C*h!|7^iH%q^kH}PS1#A#s`~SvUw;RHHMn1fk_X#bg+W5O z2o7nN2B8SJ3}wVraGXX|28oQ)m<9S+86|=8}kcJvA zh4!G*+{}JP!di1nn)Re(j&V>;Q~0%NNw?BC#`g-&uZuLn z*O@MjQzWf~ic!NhI!JlIjN{mSv zq{Ya9-bg};IqtAp)iEAJG(nskta6YPB~?+ZoTW}^mnX`s=P*|nt*EUo3TL9bI8kQL zqRMh@P(HzOLFFPUkY5g~-EA|HFw>S8@2OaSoYJ`Nj>iVsS27_632aa&Pn@b4`S+R9 z1mnIXO1Rc|@;G7#k?X7&S^*w;JNC@1Ux{~b1D`eK?y$d_=+3|{A^Ej3f6z;Mu1WS{ z*$o9ebrw@@y*f0h#^sWwD*nNmDrL@L6Q4rW?R7|f=0+F>g5KIfyC(CoE3)c?q= zhV*Kr^RpuLx`A5fAvaFtn0pItR2mvI2p3C{8P_Bg5!>g2MLyZIhQoe#zs1Ldi>^Fk zgkoCWW@;FrR$ZfJOv+w^CAc*Y%kV0eMfbSi=Dr6v>%$d>tBV?YSUNOu30rB>VrrLS zU0`bs8Pa%H z(rM(rja&`9pMqHIh@m2^LOL`&!k!3O35DNl<@i}E$9Jt9-?eglY~}da%JH$4 zkRDMrGJ5AGbEohKxoqm*Z`oj9Dr;elA#>^-Lxfni$2Eq^b-%_CVbzgEN!utJLz=H} zDo{@B{O!n8h3sM0L|l5JLdxtB&(o$=^lBOIVtcT+$}-$L)sl4k>cRY`E2DO?g;6}q@bqP7FWgDq)wbZ-0Y**)K%fBpJ90Ib5@8dN;kR5A=w8uQ?Q z9?>A=K`cTMF&P|Z5fwoyqAX#7I#!yc0qw_uN>vbP5g4gpJ5^ud^}b^F*n`!btr}E4 zn9o%ulR52) zLA|q)e~g07&Zf|7XF&$Kn;!E>$lBrmUz4rcwnMDyQK$uS0nnio2WNW0=N_y&EE zRI>;Nt0p@&c)^3GPvTyaQph^IXOT}fGNlRo$$pj` zlb9cgLq;eKpag7^aUd!^5Xe(y3F&ls>NsSK;~`+<=#{alIY$Sl{tru{GM3+K#%ti~VK? z&+?mD+GTQwVl!zPR1wl-m&({Y7lT#Zi?PT4wo@(-V4Cj1N!EkQ*iaXsTdBhv9xOe) z@5Qzk+xud}v%R^k|9G!X`t)d0=#L-}G?^bKJovFSjH6w?p&A-8o2ZR)5b-QCeGSgh z*i73dWu^TC(iI~B*eZ@oCjWz$2yX}5vj>-2?R6X&oWJsc-8y{g&HViEImx*Qv*YK7 zE`w*^Fg(6>WWqk_lXY$S%9uy7L=p)5$h=u)JVdr5Z)+unhVLTchY3}R>>)*@>`CtN zSa}59_Q;`VumCP}zAo0y>GN%g&B(aNB_6bl;)vnYnknwn@DRy5vK(^1pcws}V)QM= z=v#`>M~cx$iqS`k(GPJkER#quMGX6uQXTeko&&iFMAWEOEMLB%G5s8w=e1$8i~WU= znuL4;noF0k`<;JA)gLo=Ko6;$xH&kBS-4Dy%P>a+8W9Q8oLikD=Clc;El8fxKl*kPBtaSSys-F-rg3O4B6K?Q@(hb>&u~yJAcPuW~Bz7;~rTAT!Syh zXm>kB9?Wf6LU0GULj_BKx@V%CL?*?+!p-@c;k- literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeValidateReqDTO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/code/SmsCodeValidateReqDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..8737af3e96bfc272263ccdb05b623e9af817a8e0 GIT binary patch literal 6433 zcmds5>u=*k5Fe*$^Jo#Jx;x;mz+QPJJZv7v>w27oXhD_IR=W0z;1e5r+iYv^=62T+ z{mYO*g75q({1J#*Z<3}cZQRyPb$oDaZ^kn_JI~+z_0MmA0KghNu0Y9y9j(G3pj0@~$)PIM3%8Ca@dC(+;HeUHXGqJ}+T&(?Og zD^T`eG2<6gaS&{`4_RnDm`h}v$IOGJ*2$kcMsabl>cPDysW3cY8=}WGZ^!H#A*7*( zOQAiewl=emk+9y{l4d>Wnqz#aBus01fJ|p~$OPVNtqoz=0aN&I&5~}Vag5JZTwfPy zf{(L38mCBFwmKly0W*%f2e%r{ahqEnT}-=Og;IZ@O5oNtGF)oKGHJ`B;CtMH!h?u# zv20JK0xx^;;)%NJN=a3PSG|ShrvkaixW^(A%B0KVOjpuX5|vN%LsGBV??_1PL69~h zLwX|#CFZ!x>NO{L0?`!tL(5deH(Y6Kl6@r;VvxWlbuzZ9V)ox>N)yce zmN4O3WA$+#I5xTJ#mFwO?Csc^*|@U&{y{#E8*qjH>PO%l?h+?(;~TJT$_?sYtoRZ4 z?oi$7Gnf141y+)3Lu8LB#Unm<&f#(`3gnukB4Ybou*fHy)`{3J?z8xqaM6=Tj8JUd zJ4}sosMpr0nb6kP;SStefMs|MVbdcnxOwcs?Zzkyak#0uhw!3>Ti8mIHdDJ4v4h1U zGNkbyRouS!7t5x@5lKC5T?6E^_-as2JeWri)h`LFRe0Nj`{!dFggS`i@OvAsh{yB^ z9^>P5zAg<=ZWgN^{M;BS(7YyT6_n=mony8aK+~Kuu=BIk=1&MpN9?}c&r|lq2W-RQ^1(T|U#A0J0Qeu!bZLL$jDv6G2}ny`~K zrI`QF4@S9SuJP@7$^G zyJHbm=95@oTh`dC6?lk6sK3(+JUTVPbZ6_q!lr{=y9m=X+y~6AI82>^63oIJzE$w8 zj&D`G*YGOAJS_Cr?f)-iYl}l#yJqR;@%|DlA-&~bS8w6{HeL^qyNCDs?{MeGrB{B1 zyMN+a30}uvO9!wBZ{V+$Vr3KD72xv@V}E3tHoop{I<~_%a-q o;nOqhd&2F(7*F=b#KjDJjy5R47sELF65qeZtBP^<6<(|V0+ZR6CjbBd literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/send/SmsSendSingleToUserReqDTO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/send/SmsSendSingleToUserReqDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..79dffcbb26fbdb4f70fc2ac08a7c918b90b8a19f GIT binary patch literal 7912 zcmeHMTXPge6h0F|cC$tTctb&K@U|;5;{~rl6iL8TZNOp!6h7IR=_EsTrk9?cl&SLB zzhsqG>AU~MzhL?GbT*lVUADp5h*dr$)7yRe-1?l;-CzIl*Dt>j(IS0QqbZN>WGW02 z9;d-QzRiO$4PqI}NT^^ZkGKpH8RcCOWILG_Nx*w?kR@3VX&Gc9je<^+b@1)P=|)$q z%3GOGH^u$M)f+XM_ULHAv&++s;KtfL5o(WSa*!-XXtdih-B>^)k!x{RcyzqIPu|fA zEHQfWW}fOe5zFazoW*NhaXC$;<~o*X=25-9QcMQn9Q5mTxfWNTy+@7qb*Yzapf5Trx8^gf?~?qw398 z->g$5>Q3J4DX4IVs}yEsn00uYck{yNu1wbCR&Y(ELP7lqgVV-_8olh%{Ju+;l#;4W zC%yR}Z>8WSyW1jSp-g%)%!WT$Pf0i^$v$U|Su>A?+&GJ^3ARVCCF4x*^u+%p{{_FS zZVHwNy(uGxFtfqlY_WAE6Q(g{R+5cOLM;2bP#MFb8{#C+GKAmmq$0zrih`#?&p{<@ zPFCYAQ>q%XwkVCsDq9)G5TU+|p>UGrL^Nry99X3(8G^#LbU)|aruB9u31L|^W=mrJ zy_6eNqWVyFShPVER!h5UH92L2cfj9T+D-_N>*H!$l4qL9ZJ|^g2__YbvHy!iq#8S1 zmiL4zileQbjoD?4#$l}O5cbV9(<%=&Cfb#U&^Tjx8j1Bd6_L+Yi~#Y2oz~r9ak?$H z1moCJH-##5aH^ui{b|o3)p!(DWx$;X-^nf8Qxri@tjZ*vzsa*rbBvorEISzNKyp9< z>9k2X?V9$aJZ9q@zqLBCsgB5;9meSFuvkuBbl~GaQl05eoSZCk;#8Gw4l8z`N;?U2 z${+{J#^;ZdIu2{$#K&pjtK+oD^_XjOgHF(^b99R3FPTUs?@I|B{P`U!IQ7{c-5%a??&oZ_S)HAaO_JfhK4}FcHz?;TG^|b~a4?UHsiI@OR(h@4m&~ec5+(W5h3Pr#w_1LjlRZXgmG|<7EwH*agDAHyz5x6;rV67g3GG_q%%50pvEiH zG)>WAnn7!dYE(z>EZQ^pHj2Jy2KwfTz9Te`@uNli7(I*jae5B(`!ip}$V>RU00|zx zjbG`+-Q%zPOs9S?<}my>5{QmK5286sMQ7=C{PO4xdUGtdx16~(E9KUrcVLyZ{oELf z-F1AI&X2Ho3LdfkbLZw$P$9SXD&_V*eX!@h4~P2iNi4oVAMIM)!1rVLtQ>=n&vBYQ z+2d#;^`CL`=u`Ua5&G@ti2E9Uz8BTQEPfJ>r)gnC)a-M+I3(+ECwVA`578y`P0^Qo UEBqCHU&CJm73VTtK@2SY4IKM&82|tP literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApi.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApi.class new file mode 100644 index 0000000000000000000000000000000000000000..9520ec58db962628f99066b3db772743e7704150 GIT binary patch literal 2978 zcmcguTXP#V6h10#HZg&;p-oGAK}}0>xa@K%r8H@0(v&h`oTkLN48xPWmTjfG(pJ)D zZ2lNCFayIYKZ@b3*7o`qYC4@f*xHqjzH@ZG^PSb-|NQm`06c+*9-JZYz0qM1Ga-W` zcFclM2113Z&UMg9>r4f)s;3bTOvhLr2P_eRQK4W_P<6v*B)GI2iSXbof%6U{VzL?R z)Q)&)3CymCk&wbZBJfsu^?<{h zl%$DPwTQ>&0WHn#wK%n%gwqVb&)oUBI~p=6m8CUKdmujDvQ!uCDC*!+gKI8B z^w7{M#`l*guGOg@M$8!65D_=0>7~xmaTY+r!WXQ`=}IX5E)Bk;!Ov;%a~gc4!Ov+} zp>@R#%?=$i8@8y$-0*gSCmqB?lKqTi-(_ri^gIh9PL#GZloRs%KP`^f3#Ki56_5)v zwIZ5mShZTn=7c3`6=kk8N^@J%@+Q}B#A+&sxgZYPKNzH^Dw>knRP$YKk|%pRrys`i zmXiEg8rQhqk_~n0aU8HnpoGT+Iml5jWk2eyQ-xL>Yx54Bc2jJp{3O5jSUITpiVdpjA{DuML@)Cpic zE{3;trL{(23ByEKHljTO52wQ&*;fG1J7AXUgursS(hFr!I%}&xKPGT{HQCN%;ViqKap*%a=W>$f)o_eR&(`>_?$ z7!lywBLul@P$(1hL!ew7uYed+m#d%U)CmG%oID1FLEvr?S`pKK%E)0}!z^Lt_b`VQ zFm&J%)RPtCa7$H{>X1Lh>ji;}If4EAllwAzu!_WV>)L})@V1m?+=I^uT<go_rV&z9w*I*!rZtZH8#ek2j3F7 zIc_*oIUZo;3|uqwRzhHYTNr~KaSyMBW`+RXHt~`RFo(_P9L(Umhi@NuXG_1s>`#lO zUt#`FoIL~Q@jtTx{9SM}*==?a-h*ts2$$Tr1ee`-1>Q%yWwi4$M_1kCHMow?H{9kA sa1(`_Zhi%Bx$!o9=+^GI|BqlD$0aC18H4&1eE1x`gu8GL?!$wB0m?Sc6951J literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApiImpl.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialClientApiImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..6c562b78458d2e875eeb665fec5016276d8e2f79 GIT binary patch literal 10550 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialUserApi.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/SocialUserApi.class new file mode 100644 index 0000000000000000000000000000000000000000..5ce5efab4e8877d8b89171d9f9ee6b1f5976ca2b GIT binary patch literal 2042 zcmc&#+invv5FM8`n}*VR%cWdQDUcMg`%Wq(N{bW`E^5>UP)O+D;)~h6ED4 z^HGTLCUgUdl<)vNB+-nWbH+1AXTE*^^aTKR;E@Lt1a^%MgMf8*Ib6kaHLg&@mU+sBI<`R zGlm|Cn45pe5^*GU1*9xIWi3wEL+SU1;AcbdyF>81L-273es>7#G*aA9_vnP#@R(Zc z4gZkhOZ)L~#J(G`pLJ|}^lleKk}7R!D2Md-KioKBr%YQmw3vOXg=`HuqE=Cssiri2 z$YO!&8qiArom|}8D4jiiw$pes;xB&&dmx+R0_U~tag&ZNq$VwIaXq5kx*FN2@qqqL zd1G>qGw*RkQGy~|nSoiDBT(4tIo3+Ko_kamrRqFvt}Y~h-An5CchrnjJo`<=vs+B<+0vmg6X+^?o@?02!sBf8O3Abps&g3#%Gz7eQrn@S- zZ#$Dz&Ol(TpRiwX*)vvJ+~&8pJI=~$5rN0$dawJ{x>HH@BCPb)-_s%zFa3t&9G<|- zK9mc%fp!kQd^ksGU$u3}U!XT*xAUrT^<<{z!5!>HkH>?%xM*DI9^50aoL|qI?!kQm z3;9X!IUYPDu$rg)o902~mmSwt1c8}X!Wguj2JR$NAb_h5_bb2@YHA7!7<(9P_OhkV zP<*#o`Uo>$F*^bC`0efheipKfTcwMzgz+-Qo&#I~mt2LbgUM@fJv+PsYuUeVX5Y7v R4^YkpxD6E6VFMmO`3GbA~kE~&)*QWuz(mKhH&naOR2$F;P!H<4EAN($sp z@yZO$z&mgJA%?S(EGdaH)-Vp~gDh$H?6>Fgoujk<>!08L0D!0Pl>svZx}mZyj|piV zvSVi1(h|PyJ6u^OvBP}J^PSk`R(KLd+_P99tkAawbFJOvwjXl!I1pVga1EFxu#%v- zOb)H>{vo#`1Lg=ko605xZlrtbO?SCE7B(la)+;p020H|9@5C|^9`DLy5sJRcA4};+ zEE2v92{d~B&3MGCUC9QJ|HmrEn08DGJ)m7mS;-&Y94No#@fDAxYj-9 z4z+zR5N-lW1Lfl`UigqU8+#*8qmzJB4Pa_#n5i?U&9oY{&*>P%q}_;$kP7Jth5m9+ zaB9F6mp1M&P`-!nFJhc?sA;<_4Cz3)Jp4a*aX4h2h0@?({VUY%d%Wf=OWRv zl&4-CB6~6UxyNOc1XsurS3;w*ei$icW8`@>@*R3=xjE!fG4SL>XI-l+BR=G6i{=lz zk@n*jP4Ddz>x;!xP^ORRR{*w($0sE)Dt*bM64e7w~x6}!r_x(6Z%aO%D;pKTWT+vuDZD<<)B@)E*Qc9 z6KH}O8N(+?>1>!FQV-~|2$M%(npW2|sTNsl3FTJQqGuD9U~Lf=;3k3fRtQp zG6IcWRzk3%F7)!lL&pG%fRPz#z=wE*)|@loW2~J8SW&VJ_!N)w#Z1O_13o`Bob6`7 zm#35}*98Mmm(pJjDOCt8J{Mt#=Y~Bzgokh!@NAFQb-ZT4fO)((@Gp=#yf^W##}{A` ze_z43PZC*x=I^ld&V!?*v|h*HLPWdmG2bXfs+a zL3^VDZKD$HO?Yb}8m&OPQ;D_-_bx!2&2@Xb0_|QU+Pm=H1!&iEv{nULs{-vB+{ZOD g@P6XCCO&Q9`vbfl;kAO%GT{UG2&3{Dd;t&t1+zy4(f|Me literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialUserBindReqDTO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialUserBindReqDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..c33e6ac882628d705e368ff3dadafa3d90f28e8c GIT binary patch literal 8159 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxJsapiSignatureRespDTO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxJsapiSignatureRespDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..5babfb95039e01fccf41f999d067e98094661da5 GIT binary patch literal 7939 zcmeHM>vP;R5MN)Cdo@s+ra);aN_gGzuz5e)(oTmICQRDQG-*18Pl~PN)Yz7h9Q)Q695E?J3QYfMz^UBIGm2|QX`GkeqgBhA-%aI3jEBke8TJm)Jh6l}5q#?ti2QAGLrZi15 z59%u`qNtzBWsFs7s0({+GkwQOobPlGl6mDpo*G%pX`d^;8M8ZSDm2wxq{@S<cge!%vJm^>~v#LC59PL9Hp9;`%6sKyl zaVYD<@Kv2zOc1PU_8bCFX*?LA?*5q5xMQPuWgcn8IgP1=W*G9Tv#i~K+O1Pia+-cJ zKHM|3c#0jp`sqEM)1#YBB&wCHu7&kH9IDuIiS9|RG!cC!C65>plJF$MT!N(<^97Y> zOcq;&-9_51Wvt~P*R~3?kW^`zhZ;NDrH6{SB6%9IEuON-C-;m3wrjh^dxWQbvBL<( z1f|DhS;8}{+EI>J{nVC>it{!>MQ6i@j*Vi178y7F8Hr~-s(L0ppVZ27m;k%9|9N(A zPaY>E#|g9(A}2`>W~@$`6Cx*dPK~NlXA-|7=HCgCQzIwX4)f*!+DVmDBL_TAa!wSq z6C$TZP7_{4@PU{{=Qs;-2iP2g}`i*9BL@knxNx#UpWOSQimLjHyy&i^oja zQ|ZZQ*=L_7bOIaC6^9=7FFp>84`|Zo#c~j-&S)kOSucwiI-YUBjD|aOn~}vZ^#?Zs zesLq<+ZzGj-U#?e{QLGsz{eYbMG^_7h#|8Rs>5DELE>Q&y}c|GgR^h$9QM&@I8mmCn(9ocl#H(_;~KpPw>)jSgOGl{59>c2Cm}o?BM%VxP~PUUUQH}oTV+o z>qla9m-a@b*xsyE+FS7UQ$|`dwk~GDeWaaArFG$*3bDOgDYo}2mG(aPgORrJ9iZjQ z>*4q_F%2J#B>r`E9bcLUAHqk6;M-rX?w<1T$cqme@v}(0jIraWc=G815dd#*{}xZC Z;B)-1249Tg)0bGjg-;XX({+4q{t0qwXxIP% literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxPhoneNumberInfoRespDTO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxPhoneNumberInfoRespDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..2befd1caaab8892c667309f02744a6bad89d78bf GIT binary patch literal 6089 zcmeHLS#KLR5T2DB+memMRh{%m560;s_1Nu^r@AOm#A#tbsf*Zk(4a5WE@d&^CATD3 zuzp#A7HA*()*n@LxRk9`Dm&|7W!Oa@q`k=D%<$vPeDl}ezy1yYTX1g)Y92h%Dhv|J zMevjkX%LEl%TPv41*0sYGDu{U#VpVxZCDb}lm}XdoW?<9WU!mxK0f+>AO-s_OL|Og zi@tosbh@>-vjhtstmR^3Dh`63-cuGD4_4C2a1UDD$%tK}xH#DK;6|D$R*;I5LYWDp zM)y%S53V0DGxd4B-I*ol_9L9c6SggeT=QPcz7|3nYPb~IgExv(vNTmp>&H|H)Ip;X z*M>CCaIsc5mPt<@2H!Hl6g4cuj|*0jC3p#So#_8SDXEs>WpDM*9|TI1@sLF%lu63t zd{L4riCQH33({=Zc_gG(Bhq8!WW14t5;IC!v*8wg&Y%mFQ(~zSL#nc>s-+z4F38JQ zaBLg7ugbEjJY7OgDV4A6pb`$)8!(bEGmseTsd(^nM&q_ib{*1JG9d;B z*nm#XPMDYi`b=qp3Bb-sxYn48+)O90RMIG@Go2>e)v4pQ^FN@@be(Z2JaqX~x<9GC zE`x{Wt4`tg45%L1IuDJO{Zc15$+RJI$duv{BT^Bbq*(7UVX&stS;|x%2VAuH|M;99 z?_M~-To^cvbUMxr9NP#T9&+PwgET^Dqq5K-s$4d}mANLFh*+Ns7Ww3%MISqI)8Y}~ zVki$8p~x@>Ocf#_V)SVygL~_=$d2c$5F2h?M+&P<-At`gzvVb9cp`YQJ z=`0t_*&wUKv_Vd>DNPrdEj`e^Q=8$n&7y?rh_W zW0>bJ_Lt#fuYPp48*_4Nqi7!LZ2jb0{_i_QX3#93Y#WPYE+Ve5MS#f7D=W2T#pi(6$}-_5hG=vnV;gG!NR)IYYk*?#l1R v2Pa6GW$}whyagYgf|iN2k7gj*n{h7c;Nu?DAUHW^pWyT7_*=xcb@=ojKyN~) literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxQrcodeReqDTO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxQrcodeReqDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..606177e37038127a640b2e657e0a6e75dab9875c GIT binary patch literal 8467 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxaSubscribeMessageSendReqDTO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/social/dto/SocialWxaSubscribeMessageSendReqDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..7dd6e953497c03edefe661fa001674f8968882c9 GIT binary patch literal 9036 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 F{{e9>Gg$xt literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApi.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/user/AdminUserApi.class new file mode 100644 index 0000000000000000000000000000000000000000..51f43b8f2cd7c97d9cb294c5cb5bf580fc24c3cb GIT binary patch literal 3029 zcmd^BTW{1x6h2OAyt`~k2%%hh8`9gR7n>I7LlZ?Mq?M3NK_o%yUy*=_5QgibkU)c-u%;DRS2Wg1Cg*;XSqzdm0Gd9 z(8E+@=111+?(7R@$GKn*AaLP=Ivk6+QrfbiV9!7TcGEIxm{f@@z$hKVv?mIoVno<0 zbO!m461Ic|amtNhdomT~O-4xs0y_dZkALSQ!B%1wG!+P{3Iufpg1Q0$DiF8|tgu82 z!`zlLZsUDsks0x4j(xV#P~E^)H>mP;TmHQlHFZ=P|S?%^t#8`@Uaf_G!wJqOzkshw2%DJr=&+6daqBXXu+fT_2%9@JBZvD zF|6*@ZCgk+T5~t)LL`;=wakX1*x|SwJz9!%%+q_kkWOxt{zzDNNqcm05IG8KtI><8 zS@Y<8;}+r5wK?7{hq_3l;uf%{ChMFLzTIs(f~hQETzSs8ei(WK3r@DcJz5?_)0}}# zgL=8GUazTcH0FQ7U2frSj<-Z^Zzcu-o>Sk^rdIbFHI9=YA+pmS}_ zbhB9A+ty_fi(fDad31WxEtvDF8N#P;5MrWku1%i;tejTXr_0!}3+~hR?hU=?(^U+D zRRQ|9q%r8_9ZYg&-XrKSk`i@s2HvH4$Uda68g1_(b$(mw{YCx9(9Y2!{+$ouce>KJ z0d$GZkb5rES?J%d^yeU-rwbGLBIFNVkUwn8@cf8AMvQv>Cl!yY;4ufhng^S~cfNCWwfpx!PyPUabyzoH%zy`>v>P7f zqOnI0Xu}o_?%Te@WaBV$sNe8>CvsUMJPZ}{8Z_XID8$AU$KzrfuT}!S;RUV<69&x3 z5H1zH#%5=a*~)}T16EJ&!GLM)waw%Kx0wM8t<-<=tZBfjk0YVD$2PiqGi0mFPhuFRsa5r{I0_kHPyzmaGRqQ|5;=4av8l@>6E=G2O5el#pCW8?h-JGp3`v)}Ec`#cI1C-@4g}QRr#(g% zZDA$4v0~j=ecf1n-B_p_OGj{#I6e!B9 zz?X{HB8S^ci=$dQ!p9!nr&7@(+I-ow!a#D->q_depMAMs^hzAXNOAW98;;ORQY3OZ zPLxk*oYk4kOUqJH7Ks;yn9W!qna6~R<<7+}lU(bac0whojk&Y~L%Ra^627qbwH<&yTeeD*F^4|UnyaKdx(-HtlGbhx03oh8Kw)a4HP(4jmx zo*(()D4zA)&26qo7zIq?1SU|Dk*$15`ZH9mt|y~NIIPPBYPO3lcugZ0YwXb4A`i9F z`&NVsUDW%)8KY`tFb5apQ<@0n(yt_HW|lATzj?r<qTIxWjTsg85P@Dfy0~*R4XZ1xq+0VN9#SuUAAx@({Tv~OE}d!DCD=iSajvo)aDGe zS{atreCFG%h@ui>9yy?D<$}?1vYw`DDU4of`8;LEP-{6-%w}B~Nl`@~G3oIz#3jM# z%5iR`;4}wYB1uv~T}n?5zIHPU;LB*_kWw-?PLsP-rlsm$73SgE49vpI23)JPhPxYW zrN8f*diP_lh0DJ0Bd^2c7R3z>z4_wX)ZL+y>-*&4gxck}%kpjOcrrQI;n^W+nVXTzcm>IlLP%u+k%dL+})Yla8BG(fGZX`j_ z6>{}3^UY+yl{6~45hGD)^B#UqMG`f#c%*UZzkyrE7`9l7Mm z&d8UmP3H{g7)gDpb@4NjqSKia#d26{4d)ZAm`QHl&OTo1m(%5>c|>-;Zy0kIIXj2L zEGXV3s_}Zc)h^PTAv@i_nu3oED$THc6>I2vwkZvQHCZ6P6HvI5-pVxNSN!3z~2bPu{fFOjy-dxBxU@=Ar%`6}>GyOAFyGz#}^R zdjZDqp9xcVUBRQxN&Kzi?-)$O%u~-yyq|?D`2QSQd=|eCQ2ia|e_UAj4X*wfzjr-B z0kpe;*BS+_;1#%uzj)LLuOa%t*X#IffHtP>Vzf7M&~D|T5gf@lEaIDEaH|0I?Hts4 zF6z7RUW!^PK&|JX-pxh*;25YM=AhosMYT?d`duz+18%1bd|bf5CpmrnAqRCFHKXJ7 Zd5ZT1-ml@`71Z6A@HI5yE_?$k{{q47GPwW% literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/user/dto/AdminUserRespDTO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/api/user/dto/AdminUserRespDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..f945d354739874ecd8550eaea0fdea1b2d274b71 GIT binary patch literal 8719 zcmeHNTXWk)6h2Cm_|lY?UIt1F-IklpMdp5KN@-}?;^H)=PTK)qP^3+~jioixDntGS z|ArZufp>ls!?(M>X52)M)r5yWWGrb{-?{8LXFr|IKmY#m7ZEK}vp_Qr-A!V@7J4G8 zJ@K}^njh7K^ku-~+D;mHvKGo9ZSz{PlPDh6ypE`)2?hftYfC{WqKCM9z?07M+G>Gj z9Xe%T+FrC-TU~#`edW-M2ppPkG-R~7=uj~d{#N9L+@aHr!Q`fjg&Chul&8|fp;DtB zDZa^Lyfh#1j;aHu(2)r)Fg(|2a)qH%Q*1_fBL?6J{p^~RbX~s|%5~Akz&vbIUW~Uk zxxpz`sy&4+JV+xYLSB!yMIzSQd?|_~bPzIvn2W2p z2Qb@RMiAs1JWd#_(sM$QBuF+p*H(#gX%zattqId1b9IQRG^+nIbWJ^&$}75NXL8G^ zL5C&PhQsvraY%dA+FQS*Ub|vKDzi^G6Zs}_#Cr&DQO=9S8hCII}FoAF}cm-SOlEO zn2E3hddMRM3YerF9-D2{?zH7n9ize*$_{~8Mv013U*SbtkRVGWER6!bAtD~QY()#; zzuMQ@J4{5|a*Hz$oU_H_VT1#u){0@^x%h43XnA&NeUw(^7>N^m^l3(m9j3E`!)dsr=++aMLpS7JKVc zrt|dL0$n18KF2i?33c6}bCuz~h3&0WAE6P^K+V6GhU+|D^U!6`O&IBW?MGfL^nLf? ztZE4~KN^kvx%%&Lznk%jG!-qwhypueFrX(2E8IZ zVtIl?P^A0K%G#o zPAJzZGNyF6tgbWz6j2~zG-$#2Ovi;sJ{pmxHxt7&j0Mc~+g_5e4Kz^`+jTh{DTB7r zv*U2Ryvv1~4(-Z=k~1B$Zb*&7=0a~qA#?kn8ilnvGM)Wq)7tHV90{n_IN%6y9q1j; z-|{v&yW&S~_W;B-2OzFJ0CDXBh>HUdS08}5H~_iA0?8AmTl1l({FZ4~;yVgCHH?TY z)YS(puF1_w@U8Lq+>!TROM9fo&EVT&$s2VzEHqfqHaZQJ@tZ3u%iBw2B(vRNTcWc0J>Gr3KqoN!1@r7A=AG)!d(r%! z!Psd!gXd>4V;*-e;rC_yeF6y%e#?K-`5#VS_?=$;8+S91ZRZhiui$#Y&Z5`p4cs~O zCcU*U+S{4Ys`O5dXzymQG`nu^(fja`^{l&(|FWaja`oQ_xuShYA3bF?X0Y})QnFk6 zF=A|d+#Lk%Q~E4Nw9j+3^b7j3A1PPIM#@1fUd+{h*K$SsimrE8qm19L5go&IWpZn0 z=|&%Mca@qP&7mdwW)J-abuW7~-|T1FIExR0cnSZOF+M*AXt%~xQfEwEK1O%21~c?+ WKl>zikLH7`$_x}SfEc7q{ literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.class new file mode 100644 index 0000000000000000000000000000000000000000..c266f73b934d71bf8ecc94dc954377f1ddbed00d GIT binary patch literal 9817 zcmeHNTXWmS6+TepK%!(@k?l0ir9~V!rJICo8z*fdH62;8Vytd(}VoF&N{4v+k(lVI|R11CtCq#VTI zPQ2fIg++`zf_Zp3Ck1RVe&D+bWkpIY<;`J0so9$>iBs+}iJvBnkK*4Pz$6M3!1^dB z?ajeZz71KF7T&H8hIsoxm+{a~5-hBbbH?5n1p@O-61%<=tOh=dL?8E@-715Dy_hgJ z<-R!F;4xSTpFwYD?N$j2-20dP$QLhRL+Tf|4VqrXZkzNugH8|Be1-Fv&yZy-{QG7E zeaFE8^DH+GyMCay#p?1H`xGWGTD94&U1o{HF0&+ohTQZ58{ zxmz@pTQoAaXk>2D7`R14xkW=--FeH4Sz^ichmLS}Ede#L+g&WWNE-gvkp9* znQr{B8*^c~kw)wHFov!0o<8ofKK!`K3O^ovSuUc za^$==cS81d%=fDnbq7;a3`&I`RMDP1;@yl}PDisIOT?C=@>XpY6@VC2FqO!+QsA#U z-7dDH0(sjBd`}i56?oXJ3Jj_83Y5&EDv*Ana-^unulUL+ZT6G1u?Wbcd*8;&e^EXXzzSIB6FQ0^_-?b0rg`8uim4MrM+R zp~DXix-i<@>pRI%mk*7!K@yV$Y?Z2(X6TY({CSKnR6({1@4J`QC!N;ORfHkNDcZaj z>UKFXmaVZl2HLWnCt_IN4834Xz4!lO2KNe#{NRmz_30}x44OyJnzLkgE8b^_zUOrr zVl@6fSBa#Lx`?v9ssdqgIzoYg(Ce|p<$hOQkr*`7YndB#suxDpB)HA0VO;*7cANg{ zDx!8VomHR~QsEefr*Uc~T-|h-7#xk)qIQg1u6ilUK0N};_H=k+cBE4&b>1G-F4(L! zgI+y)v*dltV9L>YP=?X*adXEFdLm2tn=At$*&?f##DBgTOJ}7s^twT>RZBj0j)v$- zn5Z*DU-VWEI9l|huymqh7ZVnFiWTO{+c4$O(uOc@;oV0td?wS?5lF=ZhVls!12%*! zEp%@^gX%q97oZ=(DzDdII0FJY)M18m*&Sl8#i#1_S|pgfan;nbqtWV{<6|$E$;oPQ zeh|0hHSIzs%#GA{_j8G!%oV7vG!;y@Cd_?dEJXe8)>^8Ccomn3xK$lKDylm-6w&sU z(~%;|o8UqpI0qHGy#UQ+g=v1lY}%@Cx?~bAw--jw#3uPYXrYs6(mn!pAxOa$O$u?M zD8OXkG6_NEAqmt45R+~pEXlV+PHhrS8xLmSQFAdV&8G~xiAiruF-I)kBvkKb6?9~W zO!^@T^t^~M>BrdYVstj?9h`;ARiH^f!?fH8P5K3NS?FGx^e$u@EHuCLHtBuf722jI z{R-5}tqhZXgALZS8BO{fRwvu%P4$O_EZ&>+2SCvbANn%_R?yBZs7Sco;d@6ui(d5@$^_t;djRBSq-ZdEvx6~c?g-Y`dW!qnex{)l&@(i zzer1c%FBxKDU5rI_=Z;Q%NpuiTIw&;l|J>WeRGiN>B&4${51{Lx3pAWrPun3w@ca> zL-FexRtH*E*J-2A>c*s4y`yEdNv%Gstx2)^K+EbTZTDHdF)3CbYFT}Y-t1ezw@a*g zRv^Ph<`X(A_>-3MTlAg&BEDOqe1}%>7Y(cX=z9=vioUOyEP| 成功 +POST {{baseUrl}}/system/auth/login +Content-Type: application/json +tenant-id: {{adminTenantId}} +tag: Yunai.local + +{ + "username": "admin", + "password": "admin123", + "uuid": "3acd87a09a4f48fb9118333780e94883", + "code": "1024" +} + +### 请求 /login 接口【加密 AES】 => 成功 +POST {{baseUrl}}/system/auth/login +Content-Type: application/json +tenant-id: {{adminTenantId}} +tag: Yunai.local +X-API-ENCRYPT: true + +WvSX9MOrenyGfBhEM0g1/hHgq8ocktMZ9OwAJ6MOG5FUrzYF/rG5JF1eMptQM1wT73VgDS05l/37WeRtad+JrqChAul/sR/SdOsUKqjBhvvQx1JVhzxr6s8uUP67aKTSZ6Psv7O32ELxXrzSaQvG5CInzz3w6sLtbNNLd1kXe6Q= + +### 请求 /login 接口【加密 RSA】 => 成功 +POST {{baseUrl}}/system/auth/login +Content-Type: application/json +tenant-id: {{adminTenantId}} +tag: Yunai.local +X-API-ENCRYPT: true + +e7QZTork9ZV5CmgZvSd+cHZk3xdUxKtowLM02kOha+gxHK2H/daU8nVBYS3+bwuDRy5abf+Pz1QJJGVAEd27wwrXBmupOOA/bhpuzzDwcRuJRD+z+YgiNoEXFDRHERxPYlPqAe9zAHtihD0ceub1AjybQsEsROew4C3Q602XYW0= + +### 请求 /login 接口 => 成功(无验证码) +POST {{baseUrl}}/system/auth/login +Content-Type: application/json +tenant-id: {{adminTenantId}} + +{ + "username": "admin", + "password": "admin123" +} + +### 请求 /get-permission-info 接口 => 成功 +GET {{baseUrl}}/system/auth/get-permission-info +Authorization: Bearer {{token}} +tenant-id: {{adminTenantId}} + +### 请求 /list-menus 接口 => 成功 +GET {{baseUrl}}/system/list-menus +Authorization: Bearer {{token}} +#Authorization: Bearer a6aa7714a2e44c95aaa8a2c5adc2a67a +tenant-id: {{adminTenantId}} diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthLoginReqVO$AuthLoginReqVOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthLoginReqVO$AuthLoginReqVOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..7dba96ae83960d792c9bfb39078de3d1f4f2958b GIT binary patch literal 7595 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 Uhva@7zJnUtz$*NR_v7mMe=Q$&K>z>% literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthMenuRespVO$AuthMenuRespVOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthMenuRespVO$AuthMenuRespVOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..4d571947392c479828f117fd61eda98d033f71e8 GIT binary patch literal 8702 zcmeHNZBrvf5bi-BB*y{A!KwG63!VzT?E0>EAZOt2l&Tz5T@dw)*034K!0t@koelEM ze`S?csh=%>lV#6tjwHo$X|092tKvhl+1{R~d%EYDnVrsG|NQzp0NjU%B^Y9`A4k3y za;dz1-sYaKJgI%%5RrG3G`RLc-ADrA#YeFbq33I5A{_+ym^VUf#1qr>+S;q)^^s7? zV-dHuH*fdft|l@-#1afMm`cqATn42EQb!Dy|f)!q_=8;=uZWGL2ETgGxH z5LKnL;YMl|Gq_pnwy!6xRwUy18y+dC_F`;2(&j-T7);j!9q#A@?@OUX#Eod+!?6~R zgfi=BZCLRzRqH`B5rUxFaEqHJgR-x~mR8t+!R6!M8)>^?iGg5H>UfCCwNVn0ta4rMDQ=PomA|jmP`F$>i;OI-ps~?q zsiaw9@WR64Hgg7)*A<@F0qGGzJcv{PSyt(bYj)G#uN18Kg;YT9L-Agz;Uc zQr>C`#~ihUV*y;7RX5A3<8zxfXGb_sKwM|tI5KvmYRCu^9~|MMU4ilN(ZX(|L%jbn z!DkJ}^#dNq&aMnZe4bVs0u5USTHHV2d%~IbmD?eNn-ap!2;pXgaJz(XQ$o0w5N=z~ zI}I&j$A%!}#&0?XBPD)nVZVFPG1aampPR<-|JuqTByqS#7-5|g`#z0~8g4ZRs?lD& zhP*OS;u{?i8+PbS)V|LRC#r7f|L9N}wZzCE*FfEGiZIW%W3k&4_<;R za0}+g;X1s=V0NMR;3PZhux9|1HL1i#67Gm-%QDv0HD-E*n{5$AvLR4hsp};2#Y3!fFu2-ZHA`y(493?Lmax`rJw(JMxXWPc zEDA)pMeH}<;c*E*$3jrDFqgfCVV5Kwg3&7=cl|E8(5JR`5E6@{_W0xO_ryB1blvBb&;RUCEJ6!_^Zu zW^!b+IkIc;B6|K(>i^4q{h2`7b+~~~dwY2kr5|Aw7+x#C!L9G6U;PE<{z%*3#%~(| zz|ZUWJ)UX78}Mc-8-ayW(1!4NhPIf4HkpfdiGcPt8EqWi9q1b!ZK6=L$wJYl3Prn8 zDB3i*1!iHUP_)@X(XN4qEXsKIUM|DBoS=`p_u+$6;@9OX9qmJ8ddB_=UO%=R#m~tZ rfQmQ*pJ4kT__VLTpQX4A=ZZV91ZDhxhqW^d%di4pz$!dQ+uZpVR_r)@ literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthMenuRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthMenuRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..d530590fa85089f7df0bc05cea9d673dc5fd1dac GIT binary patch literal 9458 zcmeHMdvg>;5bq5a?vXF(+2>G|{TUwD&|?~(cV1={Iz?|*=`2lP-@4!i zZhX<8qZ9oBU2UC{%ZSi*H{kPae}#uj4B=PqvBGBFG7DYVPCG{%JlTg!*oTtczC@O> z@26)L$u)HIoMhMgSebrrN@qmm7iC5fok!ddvB~?UXH-;#1BhAT6^r1ngb`Ai@ z=;)si!WimgDE1UHftzKXY*UKW3-zo{T3?QD|ESMav1ju{XP$i0MK z!d&m=^as$K?n~?CEM~fyeG<`BZvQ|Ax8Y{=qmhcE_a;;r9Zps+O$A1qrhPI7)+YVzcmXv%nF$#`QaK{8S&%bbl(H!|J8K^4M|y$zf< zS2@o8HcqIkq43dG6$;a`Jr+ggs_XHnQhs(^91g}Pk(e!Jud@a>Puqc&7Iv(puw$vh zj-?7aR??2R@a(78(pvujEhz>Nb<$HprL1$9O3Hr&roDF=YMliKh_5PF&ymV{dfM4x zdd{a;6xg#o^~4`ss59utG_6$0W#4wITy842p3P*to1FDtRCa{Y!e4ttnBiqom}F&9 zv_qR;MM7ZEk*(GAWb>4F2Xd=HqI0CaEvTb+yuLkjqZ>CA-C}%oHb8ZKMy4J-DiS!Y z4dc!s`!WFe+}3HOauo@eF2&RlinNB~r!;+$kjE9|c2Fc-ob+89DIdgr&zu`YxJOt* z86Vl=*gTKoIW8+u5h_`Cp+|sZ1y6B<8X?v)Ay&#Pe1%bE3*`bn4FG*MFfm z{z%45;#X>b=pbmM76`4k>75LWbHI?43gg`jjB0{WRa8`?_Y$=CHPAlLMmt9z4U|nE z?c-e0KFJmB(_GO$%N6ZBP335X3%R0wo-5i#`T~BhR@j%@*45TEq3?IobmT(<2sWsf#Fg%>RaF&@EctLB8HTs~-h!cO!h(jCX^0mcC78{P&D| zXm>JpZX+`fI7{Dk?fiYFovYp0r;9pDKVZxV-AnL}A+M9U+?|1;?Uh#Wp)!f<-wLM9ewAbbB^qz-~amgR{*#L>lG*w z_%>F)7f~*}d$dbEUwB;lGGNNvPXa2vNCrvBym&v>Eb@FQw3151;*OlHX zwx2T<@i^vEY=~WXhsB+pt%X4YYY7jLO9jRV%%rSCD%##w>mKtpfw3fJia@(DV)5=G zo1Lv?0+;S2Li31ih%S$LD`cxeNKG|r6BD@HI25s&bUKQ~@fTDHF4{3pE_Z2|FaooU zP)03z-}{sarl@9t8AO9I#3(nKOym1RleY!ciNXmNOy5c#Tr0#}zJYX;odbKC*%1>7 zw&RTkj}44WA67opL*sm`lvGu?KxWS0 z6=)?Hc3I%~GV1U!HKx;160IA>*PYtL_8xQeeup^*z%>rwW)9%^)R^CCG3Nn@>uhL; z#|{?(SLh?*J`U|N#e|O>c9o3q{p$qB0>|}38pqBqN5h{amw+K-BS44x_i39s^S*F< z@#LoQ@IlWXG1?aFy4kSunL2_mZfJx8OZ*f$;2JCBaR;hNZWQ~Ui} zUYUh>)R77;Ec@902u0@N?rIpWs&>4N@u5}XYpEJAj&0c zn~#G6v`5_^PM+oCY}TP!>;GM%_Y0i+6&PMhu}E?jUbrT)KtV;pu4KW>DtXo599)`$ zGjN%}+4{q!4^vv0Zg9ailc>eiw)t8#l@;mJaHse6*y|kAdmKw5-;KHkQc%Of(#Rk6 zQOnRPR4tC0Pm!)wc!89tMQz8zU#tSb0>^4+wZSR=i72EvQJt)qSrJ+M6<8S1ij`HC zAn<)Xt(Ts`I*4=($kf!7b)g)om*X|6b~47*P1d>KKlgg<^-+`+6vNY zGl8iMfrlLHrqa&h3cN+&tI;0T5V$%>q+U*`z`F$4Xr)-lPDJoHBzvg92czei?f%F! zd#Jz)p1+u!T>*0*gEi0!e01a>?STVK-8M&ZqP>mvH2hYoZn9W^CSwiP04L%>;24yk z4CDA#!8g;^ur0wPOyT|M^!b^8j7=XiHUrNd%$q$j&)}bdIULP%I*Yw;qa*~|+AnbK z%h~6Cf{VYUe6Qf$NCbF2kN2sJ3a)~a_LWhK{%9o}&(P-kpw09}n}h|FBh&cBzA_%7 zzGRI$JrdLzs2|9>I5b&bfma9E^KfIum*GRW32Q0B(%)M~3JU-L literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO$MenuVO$MenuVOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO$MenuVO$MenuVOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..316a9f9c8322ed06156209d43cabd891c4021e7b GIT binary patch literal 8097 zcmeHMTW{P%6h0G@Y<8PAX-HaV8*oB_gp17`+JrzZy+qn3s2hTKL7MeWcBiptmhpH? z9*}tD=kSCC61?+6_!)>Z_BL@8r=B9Sp(+o%V;`US&YbJmXa4x>m)`(j12!u#L?DWk z?}d~L?*Z*m&let-zHBk&9mFjvy->E|fO*kDq*>_sQfMWE03Xv1q~Cn44PI5f^5TGsyhU#z6`rk-~vbe9 z*9YR7r4^Juy37UFD+HcfSlmU;*D(Sr@DhQEBfH#EN~$q%$mHcO1)5t1J=SuJL3ogO z#px=EZVIEDPOZArVU9lNGRFY8#?5Z(X2++-k4}?0k3d{!Q#(9zxM*>Okq{i{WEE=Sg7DK^i0bT0v(>8PFec|>~#Z6MhO;g29Q^h?> z6*oy0*QAQulk-kXvdA$e2&wivjz&wd@4BdW79D->nzVEi`~6c{sf9SkuR;sU9NQn` zNOQ$q4T4qGj@B{Jw2FN#mF2{Kep_;HP)#jax8xHpD6v|sc~B(a@r(_>!@|5pI$An3 z3GiC=6g{#mHtWywTX`Tm!Kjg=YL+E+ZUK`8P9v$0CEze!0MaPr7^qHG!mOA~c`wl2 z!Vy-YPEW~fY*@v40aK4EPO<*iss)T@TPS48pcO`eRYX1mi?RqSD=R!D1tn6GKla)Kpq7qw#q*X;IV9FG0o0o$Ev?tvk1~2kyHfw3t z`hS<`e*$Md1=TD|hhvu~9!w9U-=*p+iT#l87t$`&;+e=FgEt8I$)d?( z;W!HxtKF--$hJbVSoVJ|{Kw!e0&|ad8@9#>{Fs*;XA)@yepoo{Se{L=r^#lTpl2oj zPfYfK_FKQENE6jd9_43a!_j@w`I{q6A0RCRZ|M8RyUW3;Y z+6XM1f;NQDQ?$h#w3S@6a~5cCTBD7_+l6bhN4roe+C-^nlcl0vEER1E+!DPoT`Jm4 zsc4tL!z@bk?w#BWJIV?BxO*4gJH>uS`D%~$K4yBF{WTmvG&zdDlNG=gaRffX`9tvW mF?~Nl+7wc6z!H24Rje5|U3|3(sZo%DT?$X~o*=@)G literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO$MenuVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO$MenuVO.class new file mode 100644 index 0000000000000000000000000000000000000000..990173f0709edc78c2d42bd3297455579b4d9b15 GIT binary patch literal 9863 zcmd^ES$Eq+6ut^c?YQnjnwF*QK`n(QEHX>kni5EpE~d^xlcuylVIoazHIl}aWVbo| z1O5$9oCD{ScYXo?gLe+!NQ$ixC7Kr1PNva>Yz85BYo_o*UpNk4Gt0#!)(Km+uBgr6 ze~J699R#-U>fXAz&V%;q;+c8wbygQkG_29#h=aqtW^HlpE;mDshHOiteT|0jno}Ab zzuxge+vRnyYX|n4!)H8Cge(MNpi#N8Y__<|K)B!Hf$7_A`9`Cv&+m0?pIh^gTcZ+x zz}&WjR=Lf5?uB*m81|Tpk+DW!hUL(=BeuhB7Pd4RHHF(29wumXpx0iA<_+7>9MFke zAZ}a~!r{z=G@~1ww`Ux?3kDVD+-IA?a!cF?f3syf7DR}2w1ZF*FWXIzg&iNnqS3(M zg~mWkFf|SCrL_(u;=V@rCng8OH}QarF=NPZB5i|CyY2HJxXFAE#t86wq|2O6WGY9v zYht5zg?rp*A-C{ycorru(P@ni^$mH+_k~}kGn)3p4G(C->2gb#7POtndGxj~;7x9D zUaySGdAiA@XX$HP@6m@sXL`8V=1L^7^W@;f3Ji=$K{FX>Ir1caokOL-E3x?AKovSg zuU6?SO&~@t*q$9uYjkuX?ILlQPOie{4cp@j9e0iUD+~se@hnW{tTNx0{bX>Y$)lJr z!^NY_QYJ&AxxIZuy2cy}b6f)+7`ALAqvl|O2QI%K+AJk`tW57}bShU7#5pF#nQI)2 z&<~Yf&XWX7QQE7bHQUd8htu5{Lekcw{8vG1HBQYC49NW?C}FPk^WXt=XHuz9YBAf( zhLL6Be0Wb9X~0=%_gq6^Xm-xFZj~|$eNjVZ{Kr8JG>2Bf- z7)qQ0t)4UZ6FpxT+-g=KLE7ig-R5)X_kB(pTe{rf#QQDgIJo_NaH{P?#l;-t!ELEJ zuIi>HZ)-H3N;->O?)$dI;s0f9yqDxuG+Qia$?aUDXC@}=7zjn2o}z)(GTqh=^1X9i zw4txGc(iZpGR+yXyfk7#GIkzAuZOxF=(cB}U^GK#69vFJM~P;lWLWowi+)^8>W1mC zAkf!shX<9>!Ev!T7^9li+sxcxO|G9dJtHZ~ji@L$;-cJ$i*lo1lp9e|ZpfnC=!(<2 zC3v9ALdRvH+0sL-6o1f$-f47HpN9MZFrxK)Twd`C*{Gm>tgy&f`)w3)X=Kbe&Wzs- zW>MgWe#Z=juQ+k{;v$R9E*pCm>4JDffudFGgtn6>`QC)_w@n6yo+?at(IZWwB7d4* z$pYyKQjHujmFivv9Hk;#1&4<@5-;ac3{)p2W=ceI%gfPSVF8s`?H-b8_fhim9HMSg z?^i~12;rL+o9NkUTy5hc%1iX#PP3ZL;svHD-@rCxO$w^Rr9+dia zjpJ>qu#v3;v)*Y*zY(8K;F$CGe~B;yJh*_?m1WWKO@0}l+ZvtR?LH~`NR`(qvU0$I z!jZ-f=fLQAW9MfLhH+`ryM?IMJzOiy%1?YAln6ZUJlSg)2)%U|hRdel$udhWUAEu7 z;94t|AX$YHZQu+t@yHUnINX*#SRx@?xG5;ny=}L4aWLS*ZC+mUdCe8vmdJ~_1s;S~ zMG)dFA7?kXT-;AXG(!8(E1@U<%lIFnYR1?BI=F-GP{!EdjIn1k#>O(nj?nlH9!E3A zj%AEJN6%yK3z7UU(n%Vn<8%VLY-#oq-spH*y{7k2AjlKLMz4A*mXA-}11&F3W zBUgdYd!63Mz&HmCNf~3jnSn7CVN_!(s?l2!+S>|f?=`}v+7ykW-r5MY5X{dXX%SX#=mOZN4u4=b8DG(z*+jT zXXmdn?Og5UK2_8a`WkbF=uU)p40WBX<-Wo5Egptv4UdUu3{)Cfw2m67iI$CjALCWb Qxl0atkgZJtMuy1x6Ym0nhX4Qo literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO$UserVO$UserVOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO$UserVO$UserVOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..802050866cd94a05b91517f29c1acb07a2810576 GIT binary patch literal 7228 zcmeHMTW{P%6h5;}y2&luM)~K}{OO3(~AT*-T^4EHmR3 zdEf`|i;zHqcYYM&jJ+j}vZ+telBfy~Yww;p^PS6lbH;o8=U>164ge3}<0dp1SZm@a z<5ESBd7nqIilmNpB22WOCtOFFPV!VlcHcUYMX^@S=rqM)o@6+Q=WaLZ>u3e<-w2aQ zYo%6eYDYg5wzs`;`;isqpWFRhrU>1HF$S}Ry_BnNw9$DiV#lB%69(toZLPZZ7+iap zD>cRwc#n5Quo$awz^<@hS6H$uEZG$vuq!Os6?%4seZ3eYTG+s+Amc9H z4IE}l{Mf^|tLVt&&@(wK^7n6Tl^K#*PaDjz9+LY*8YR8Ll{8&3UAv0hbS96THpGd8 zEkV?NfV?ECuIp!XsK{FGWLjt7>57~2F7A*a7=hCPF9_b6JSL8+3dR4bK4}H26MPso zZkCH%qeQ^jEGo+gaD=M?*{sz#(U?faNJ?#K>tZJ?1j*F#Te3^N)Hp6>U_e&U9Rar6A>bbV{V< zIE_k7pd_gx)F@SoHRa);2JKnThm$w?Jg0SJ+4}#K82kmU{1q5oNg)(D0t@eJoeHjM zP9=gZQt@iRJiI&wm*6Uc%S+XsMnSrJzO^vZmP)MWSx1;H|Fr148an3b_TcGpARKeM z5*s6V`xH7l*fjZRschUVpNjnnSYYR_5}GW8g(IktPA?L(3C0Md9hIpw9T#CKNO>Ne z5@|U|b%w#u!>Y?E?bX{17M{LWu^);}+>Y-TGmuLsR8)L#*y%Fs4Cc|S=R{OAsY@wp z%vXdPePN7D1d3amIybTS0=ujXZXDMSFM5*38rayz}^2>msO}LAFa$n7w@WG)M08cVL^|gP0pt@Vw?!cpLVqIAGm9`ER0Q>Ct z*5W)gU>vUun#C_nJKh^`0j7?~riaKb4w*YML~r(pY!dBUf;qHRwfq7~@1kc6@2%fp z{=2yse}R|&D15qxSMMp{=Q>`!ho}WN;FUr)4mXcMYk0i^Ef|7!Ybe?USgb|6MMj$* zDcVIsq;%hAM(W$_NYP$}*N$0*1BTEeeI1qtXf3=i7wiEz$~h|HIJ|)v4S4eqhu=b( e=k* literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO$UserVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO$UserVO.class new file mode 100644 index 0000000000000000000000000000000000000000..d1d00a207e16d806eaeadd5df2ad8a96948ab837 GIT binary patch literal 7697 zcmd@ZYjfN*aGfT(2PrLSDWxymP#`H_^C+*T6!L0&<(iZxO$RWp9H3GJeoR>6KO|k^ z2Z_&kz(Xqhtu!Ruk9n9z)R$XQ(bx}oq6Cj3{7k|aH<47e{Vw zJt{lvE0^v|D%MvjFzUeZj6y_`mcO#`kOsg-a)<{sL;nG?nF4MCMy{7lM0nx^AH>kSh#xhza!rRU)RS(zh0TKjuQ9Ztjf3Ag}nV1&5F5~i*@@alB`Su~Mk zW*rY#lO=RHjW?)RBY1Lj$l(Er)`?(xo-dBIs0lO}OR}g}g|{47-2V{jGq{M6YJYa| zsH--^K-oH+D5c{tO0&EZV^5+?y%3W}*($v2z{OJe9H=3#xjY{0@nRm5H4U9aOjNGo zY{>-XF=IcMUp{cWBl zmbEs`@`tP4#?zI7XBa8)bkA)lmr0i;A?Er(MO&DNHmRUVfT?R!@EGT&4sg97B2v1W zETXbrJ3J~OMZ#E!xE&HaA}#7p1&No}Q(jh2d8VH7Og-iG>M1X)r#xLxd0jr`hMY=Q zC)}8*pzSKu6n)%5x%;tWHR9>o&CB%nw6u(dSlrCRqRl@OVDa4`5WJSyhsL5oR>=p{NA~pC(_PdXjpO*l2^Kz(OD*-gu ziV~ncY^7dc<&h=y{tHZ5xRsR_o_n;i;-Uno=O7jr!V+8uHGXzCC<|U$N8{OmdNTeC zF8(5`b!Y~9L2|oAwy^RbtCTW4APcrFyl|fLh?1n_s9Dgm%9Rd0$Zw^6mnoy%*@Bg< z6Hu_O+3~Z6X}(u?8tSV&6#>10mm3Gp4{E$-R|4Hz)y|36w-e1h0UK9OHun~hxLj-I zQsQ``kzg}%L0_n-tiU%8{P296pvd%g(|Fkd`Fx4xt=8QgR|k$74stD2;9G32Xd_i% zbypwTm<5$|M>oEc)*3cLb*p-rN_C4%1s4IY#Mo{hhY=XVU+gDmGlaqS2u#4yJ!>x) ztQ{-Zd%OVdl|5@Gpazq00%>hiK82KD!{>6w89@CvIQ`w^nP1@C9~nY=obAPN1#xIdgX2;G4mZOwVW8k`cqhX)4KtZSbw~*AHH*cuC`9sC_ z0em>X3fktzruLG41RoC(+m)eW`(&t+emYd%J{u~w&*6*Q3Uz#6MLTYvcYRh5Zr4$m z-NC4%!n0v>;2M0n4}ZN_V()j?cg{qS#7~3q0(_P8_@u-=Y+n~dC+u{izMqVB7hrw> zHXV`8DYL~k1`D`n1pmI(drx6b(RpMEpBwnx#OD@14SXgM%7NR^#Q1*)M=SVV!}Th9 P!Cidr!F`;K!0mqkA#i=u literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthPermissionInfoRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..08cdba822f6778fe5842e2845572ededf69f80e7 GIT binary patch literal 9109 zcmeHM>2upe6n`6%+Hul@wj8~PS_&i_GDo?ZP)L)u1e~NKX-W%}%JRlmD`{OF9s)Cb z;D2J6ff@J=-}r|Zeyde%rrH4l@lIBJwzqCAiG zDi1s-3?1Pw`CDR*ht18^0*x{{l%RGkzg}Lg-r;t{XfzIaz^GmsEcvt7KxT7wmeGl| z*pD2KFZnGebgC|&_k9sr5x5N*6)Wp@gL@VLCu%&j1E(oR7)=KJUhD+CwhWmt8pGl_ z;KwTKJOc3ex>NV9C=M`oO#Yjzbk@2a1&&{zy&#b`+p>|fJ?_V7_f;xRDA90qmUY7F*nG20RR}TY(Sxg%}=dS#AswAFjB< ztBSkjE8ORS74aGdM;D-)0v%^`up|3RK_G%6on#}{H6Pf7+u}9D7GBeF6Qvu?K)?#T z@VrqPm-7tUk``f9xzUD?gkc%cc9WOJ72zBp4Lr&y`hbT=IY?lQIS@l#lNK>8An7zY zE7MSf7OB)i_oh~&WAxl4O_2eYo^yOBy1?kE>28x&kzi&MHd=9fz7l&?9&A`JKxx#% zw%koCaO8LTvry-ej9rYJ!TV<#B#ZPSqs6`5MS9Dk73FvfoHA-Sh;X+D99rQ1MM!E* zMdboSrQ-4l)ys^=MS6|V>D*;9IsnX_Jq@doq+|@0T@Xlv_r0_`)bJhdn8)wa0~Ybl z7CPu%LaGw0N>y2(PBb|LqTeNyGA(5Y)DK|EyKM|VQX6YbD-#<68-FTN!!zL_tZ5%I zH_L^u?h3^!0iB(>$>?ZTgkEj&AaH72S|JjFOL8i@4J&NO^n%e7(=$u>5ec<{V>aBr zlW(NCUIMpSq)Tl7k9$X$B=6X0@Fcx3BqCEL$fn{iW5Y3xrO0qX!|`j#NA1YnMxL_8 z1Mb_%Y_RA#e*qp7c-IHqta3ma=fMp zAYqXq`&|$!aWLmycRr|x3#cEWAhshBXin^%Q)H3pvDs#Uu8473Na-~>UZDY^Wf@wlPs?{^Vtf z^k&rWM=B3wcKCa=@?b@Q-{Y0kEYP1^@^P!MAWLT+7U(LY?+1K4)oV#9PmHE=APTh3 zh!2=cb!`L*t4@KSnnBZ4N7A6FIt99cGi7Ok1^NPqEHKgneYNXmQ6(_Y;N*S(`OLSwWKUj=;0 zwup9wCTJ4x{Yn48ePajr7&}Byw&xw*HSZve(-As~(H%<90Q<9eUQRe6D*ZyoZX7=G z6P@}kp?ex{$q~^ZI+Oe%d_7NRGjN;(4hgAnypVxoe}ZFDLD5Sz4QNI)33av3S03PO zH`Z6Rv6=(HTBg^rO2z9NedF~_daH*#N80k#U->zDyUpV}nLIuU)^`Vj^*wsO&FlHT z@j6R$sXR+)KY$E(>|9#Y!>@jnF0?U9Z}?}}7=1_|?ZIEihxBzmPZ#@)af%jFjQ6j& z!{1_tH?mA0pQ6icJzvSx^H|%`b+L}o$CxuhO9{TG5kqC%`~=UZcq(|7@vPuE4%(~G o+h>S>YiKvnUPF5w?JbO#5Q9Ibn}GU~zQ*??aIFIJHlV7115S3^fdBvi literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthRegisterReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthRegisterReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..d2aa18402501eff5b45730f786d7bb458dccc86c GIT binary patch literal 6571 zcmdrQX;0in^m!rd0ZJoE(n?9%A?dN(!|r{AG%X>tLfSwCged(`X|RXg0ei-bXSdKl zR;iWR@BJP99aZ0W*05w3)+7#;ei+*`e)Fz*^RB=C`Rxw?cmNA!C^_&XQN9;ZF1&5p zrJgT5E`1p=l!w`SdAi_3b17094pce`Q-Vg!f$3%{KuAT)Thoe*)|>;^S35%U zh%JdOPxxlY=7o?t#gO3c=9=GT5k@vGKc zmij)@*ug#Jh$RVa;c~V4h-#Ev;Oc~8Ew&fqM{|w;!f<5_6=j}u4@nB{?^uQ_F-?-6 zr3!jz7o%A3BY36RWTK_p_&M2P`tgB;Gxf$W8E^D2cH&qeS5K%CsDT7=TkqVQZu zCFU~wq9iLy(>d_uV)?=X!dn%v}qEq9_#rq(Iu zz^3kyJ`Fdh;%44k9M^4*1;*26F$K_o!|l}u*-2I4eFtVwPS!D3w*^IJ+&D}6%Zq53 z$S+d>q@D?2c{${40_!gtq6UwggAFBfjUOGD={ug4E>nsJrqrrrkqbZDG-;di21~Dc zV+j|uw80=<*r>oAXJX-GouvhiiArhMGcnXP^`&bW8Io$dWJwdA5H12NAAKF}+tA2_ zk0n$ZMYGb9xPFLUj%@LeCAI3=QR&6_OdA7E=D2G6q#&O~*_Ro?kK)cOXMp{IyK;KI zGdnB}cfjzlv7bO<>hEC7fZXzh+iSGAX`{upjTYB7THM1%i<>rDT#5}Aw<~XvK(d6G zVmqSP6iM?fY&W2-^<9o7(L2(y~^`qgX1mYB|K-k3iVUz&*y}9s!lA<+eFG zQGtz!QFyoM4pl?Fc&%z1I72X)Tr}%H6am!jIrv&N>i~@)+Up37fHEzjQ6Opb83mL! zvR(}6)FS?8nNM43Ba~sAY$Jg3)O*;zTaz8-v+vQ9J8*5l0i~DF^aIV!m@C7#4qP$! z(o1`lHkOoO{>W+;siq#Od`(L;C0+@FdGWj@qGiwXNbkYckOq$`E>ftUt#u7oR#2h zd>S~j_Z@srStxiH>Ns0@o!!szs-SnOr4$Tey2FHCI6F9#I-~9_Y-pB?3 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthResetPasswordReqVO$AuthResetPasswordReqVOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthResetPasswordReqVO$AuthResetPasswordReqVOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..76907ab258826b52d437f427af380ffae904bc29 GIT binary patch literal 7427 zcmeHM-EJc_6h4z}n>3rHrQ7ANyR5e?kn%Hg!xbPz=@zKeZBbi_khs8^aTB*Qc4~V9 zMLYy=g9H-X^ESKy;&_}Ysdh@7CF!byi^Q^h{Q3C&dXE42>zCgE;1NVss08qXR&kV3 zE}~=Fqfsm(E@PQ66`kb?l~E>>JY|tS(}rbHEQL`rO>vqg87`u^=|nvltz)~#G&5gN zt-q5h*<+`NyAR8UKgoHDJ5*sNfW>0ll!|t=+d5{k382>PV+63YJ(%7%ii`FK0j%uh z!tji3i5}Oym9ljqq@jjOp#!)(yd>{-71R1FssygpxOlcl)0|o4RAw!C5`D%5Q`E2o zC+9NR;wjF~SP@|VLoT@aD1aNywL=`;z|kr^AHc$Ztxct*s=@8x_Qzie+)SoDmXKIx zU7i*^k*<=+WTxLI_4$JiBj&8jhy@7ku|s!k5>tB$(qiNsBqUpga80;KxI)RKXE=4l z6caJ-aHM30{nH%h5)#HK3XL2g_xdV#$(ZTLgtP~WZ>~Ak%=t;nZNMEx6C;VG%(&L5 zAtxKBX?Kjl29FEfOby=ZcEaEZL#XDknoSWqbF^OzuiGBFA|V zdC0^IXL4+NaCFHXZ_Epn&-HIiNUuBYn3!IY^$?l|$rWqbYdbHZE0mFk7_S+LmxM3> z2pcwMug{+mL_MlF#kxv;en*wBA4_W^wNxanHm2hfs zKY$1SZ1z~4$Jc?DeVPd1+veI--4tU(?fiQ^fMwjxYB(yML7dGX#q!YLZok}t!}Wcc ztC)RSJXEZd*GP&AZ~%=hfsY#-_Gy6WDy#+Y%{1d-0Qbt-=_{!U?_7BBaVJGKAG_-R z0VYli+O-{~&F4}ZcmVkHf{#@8c&SPA?+=A4(W$iFW~5V zh#X*B{}mR$URwGYmVYmBU&MdA3*hf1{BJlaco|+P#%5vV60{1=JG8qcXp5z2H$Bi^ z^+sz<6pf$`M#;^ew^ewpk5p45ad;w-$5>nrfa1W@k_0 z2S56ktkNp|?!WO5SU$6}_Y&CTHt`P1;=?ApGd(@sJ>ApY&;9k!Z+{TcHTtqbQx1Kf zDBp{C5PNrdmwSHf1=5#Ip}eiM$)y*`W*Q1F*-EsCJYU9I$uPt;Z$?U zTdlq>^-9#yTUb+xM3V3phO70uh+Ddi!2?jn{N)cEIuyx9V3t+uYuOv-r;Sapwvh%Q zjN{PH^9%J!n(lnDMX%cZA<^k!!=;^$f>z&f6~lrFrVn;`m_p*YdMKlYyyx8zu~1x# zrqN~@+EnP2L(dMZzoL{>RXXEL{rz-8baOS2nZ8o(&ym@SAqG?2M@Ofx1mGF zabK82^0JFCzv-&qV;vQUzCgvz9{f|p8KLt;SBT#5HH{|Q?zjBcDjgqhikWpbY1RI zAgNkzJ3td21Jx>&-ok_hQ>GE=p;RT3M;X!f$g-6Ehk2ILWdu<-2PkSYJvelPZ7e)G zf~Zs;A0e5!MgbURu&f#^D=rv)Wz=X~c$`t&xa)74j zARWS21z*qLyNds_**jtGxx%?Q%ums={#*@Ty>&-uhK|z-j2MoF^9%U@BAz$09f@kc z)5&k=PX9_T{h9GOm(vj)rB|{M!m9K1Y5|W6;NgJA@_4O)$B~T3tfiuPS^%|!y+?C< zvoyE2$I8tmZwF1M`kI!P?VYi5dv~nd-lO+(O^wG~fOb9KFz32=ZKvsjKF48C+aEWF zKBSL!k#FF4?$Jj-}$h{$VruH&v)#rGksIzTt*3%pO8xqkszq#_Fd literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSmsLoginReqVO$AuthSmsLoginReqVOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSmsLoginReqVO$AuthSmsLoginReqVOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..fd90dcd21e24ad73d4a36382eaf43835a150c78b GIT binary patch literal 7046 zcmd^E-A^P%5U)YFW%p1Jx%2c+ZSeFKKW1KhQe%P~DhV9Pfn1DFy)(^j!%X+m-LsKr z6aOU>P4wL-{~}}c^pah&a9f?yo|hGJu8WpFNxl_I816)dle1o0 z-2O|cr28s@SDNdGIJ$|WHCT#Zalp-%G1|<-a&=Jg?bp`VPv6nRtva*zW=2=UybC8&AJ0>lYDw77)k)PqzkuXA~xWkdr1-_q_ zIG3?F&AGMg2$f}Ta+gB5j?P$HIIo-LdSJ_)OF3fiAc190Gfz}VYtbG-CBd$N`vLB5 z=tqmWNVlTT4v$8=8^BQwF!*D;_lGYjR=8En}VrpnEMRgzLNZ^k^@&Y1EI=2seY?8}?WZXI}dEN{qB4b__mDwh7fg%?B;F}Xm5C#%L>9AMe<)(zS}nsnhEzR$A{fWQwj;0{93V96l;Ug} zQjrWnBATv#NGyk;w>#d>v8gpr5{98C&`BpHF9myCp@K9X)oNF*Xs@|}lwBUpXDS7WalTjVX@ zosZzh=K8c^4`Y4)ymb@73U1`RAgMkA1l=LU%Fy6mzk7qjjeT93RD4r?AhqJASoSf71sJ_ u4Sc@urNiH-?x=`!@DSI}zy}v>@nMAAO$SOL5)47N!Prj+1e0#HR#g;i3tXHw!s1>#<1tF@fnHc_O-Lu#MznO-z7_eHA67@!?MmeJA(biW zMd9}89*r~PbG8+Wq%HP>A6d#I)hseHte^}vc*BEp1D&o)DP$eq^rrs#IYl%P_gF+i zk#u>SE0lDlKn*AACTTXzITBK%ZPI4sfL;qiiQezBX2Tk343Xuo3L*!NoL=UD<0P2_ z&Pzt(q&_FzI3YO^6#;R)12tg|F3-R`yp8$f7Eigp?ZL%`;Rvz`WpNurqQz6TktJ;= zw6F;{nu(j=_PZNYS^vLleRjH zBusZiM9^v``7JDx9Vrr`amQpUGLmUArR^}O2qrW`lyIdmwOV4!S+g;OtA$-eV6k%) zWRfXOM2|_yBSwTI+}t_|OEo4j;dbvLUF2-%!%zGdt>>x`XrE)7cBpViog5C?T+Hs`|*Ka`>D}` zQwxi0xX`Z`@`dd>eCgGGI$k4r+hu$$uMv#ZeN%4wmXVSI*e7e6a7B0;VXGVJc;D7E zEDf=-%gdjB8%+E#rb>|=?6j4wYhKJ-CR~+O9FIo(5kpns9fp<|AT%2;dYOb&PIs6S(PZ`G#DWu%Q%nr2+R4kt z5cP`bgfX-oV2<%x+xv_ma*}rpXXYXq8%fX2z6)m_TrVjahAwLhvSg+{%}tTXko}O4 zn&(EQ0eSYtQlMor5#H^u#ko{JYsbcd*yQU;Vwa(17#s8m^dA=JW;pyok?-IVwQ&514y2d+9fL>n~iLf_Dl! zz;o~BD}bj6@-d2W12H_Lu^3lNFkZ5;qx6nP4xQP Y_i_@% literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSmsSendReqVO$AuthSmsSendReqVOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSmsSendReqVO$AuthSmsSendReqVOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..156ad45b3c883f8626e3406e7ac86080f091f980 GIT binary patch literal 6954 zcmd^ET~8!M6upJOFte<%EV$~f+Tf~#AKhwvQe%QF>Le^AJBZP@n(ktzpu1|QuAWGI zHSs5zXrk}_3V(_5R`(zS4D=lx#<+&Sq^nP#`%(AaYR>%j$4|ciz$19S0#giBYQiAl zQU!;+$AeG>QinPcCOF9=u7gBJSuBF|B()+5LanUPag4Wll;A@=vz?%)gAM#_CTUZs z=!rPq-+g#-;nPgU$XbDE28+3=n5%ZM+d34XWiXrQmW&01rR}quO>3lTf5hPalT2Be zh=%IPRJLNVp_I1VO07}`4+bB}x?LmE^eb)@KAYmhGd&(>IdiO&mOctT7fKjzMdWU# zAzm@4Za0(_ZDDY2_G77}{e;0Y_4R!Q)0>!%3fy6^aOT>UG1|<*U3Ta9FBKZpaZf~E zsFSXYbHBW<(dcNBe(2SzdmZ7~ldkX_f$swMi@?2*yGXp2@J>m5uVFozdQwHwU~b|Q zymcUqP$614Fgn5O;|%Xbo*%|MO}zumTslcBiLf0Vd2L~vE`9a&!Y_Lo=Ecn~B1k=} zJ%>qTn&RdZDe33EaKBG%b+PrAh&OrHh8?~yj69HGp6I;Xt}{?jo#RKxALsRU$-pR{ z4-!WLx58~nmxo8ZExff*`Tb7v^G@=MPV$RR^3OWS&pXNI*g<|zuX&LcsppC!;TUV4 zF!5~{D`AiwyViGI>*p2qcWo6(kx5q@>xF7aHI5x2b(xi-OZ|;F-Z1TS6I;?JAX;(IP!n~WV2m_1Nm(Ko8yC+NuNosB(+!{F#ASysF@p`>f@ww_yIl+6=DWhG!8!h+M$c50HuBXYFTL z{Ca8WM_B$f=eUP|9V6iH^Z3^>A_`uB7xT3lxPJxPl*8q04~DSa9m;kKUM^*Oh0L}J zYge$HMM`IT6(084YWVqDo&|u*xuY`9!0X5{1#g_&i+aw>Fw5)k7F6L~yq-nW+u*}{ HIez_5g@5a& literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSmsSendReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSmsSendReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..e2a6d87135dec1cf6c4324f16cc32c6b0bd3b512 GIT binary patch literal 7263 zcmds6dvg>;5buqFdyo?3AtDF^qF#LL`oI@KB!qy`OQ<3kAAeXiw>!xV?9LoBvsdI3 z_<8)xDy`E0{VaY4%buOR+~v6BCUA)*m72QU-k$EB?w+2WU;g^%w?6>j7OYfYDu6Yu z;wYnBL=R|}MzM&vjAg=9w3#PVMwv|Vltp?|82SewvKz1==xjo31g%*Lh40m!i-Sz~M}`c*+7e-Yl$7so02CjpAZs zE`YQ5a$$JJmPD6p-b&fL5YiO$bpX}oYTRZSMaClu)3M?mD>;A}#UABcv1A$D5I}`J zrdh`-sW(@oSqzW!91p zqdT}RMGZ@kIK6<5slclN9PN93Q7Ngaa4wko`CEZfWZGp3iDlN|Y2k9xQ4(X2>8qq( zv-3zyZ9GVeku82B2_jsYsrwYu)TX|SX}U%gx9=sfw!w_s?E##` z{c3|04OX2hyctyfp3Dw-{xZO0MSk1uJ>t>S;Bd)1zq&lJ2eXS|M;0iWafv-l{dY2$9| z0gKJEq>q!}Wq@CT?>U11nHO>YO;ESj88NB-=cUXe5?*q=nEaB%kLy4U_fX~)H7_rD zD4Ud=ThxqcRIwj6ZH^a;@As*D$Bw(&+hllG!LFl>|6CQ`4dCML%?5Vccn8t_wj~|a z0qvvdsJf^R0mO|h%lGT1gT6Y9w>O$%JhruZu0YSt{)m0sK-YG+%aq~?vp((}2l&{g zx@|8x0ld(dT|$D9E_(~YS{1Gam0x!EdvVRNhfUFn*o+NrpBOqrMs%(rSu%uc!bO6Y z&)B4!u3upy#*0+Z+4L@^B#cw4HCe~Iudde)PD{V#nqbKvIFWm9exe)L2?FqG=?3Ia zwpX-*6NaHctblZA{1D*)aw!&JiJ*i9f)Y9eC3FZ%*hf&p0znBWA}3*2ULuKPn%E0* zMiK5PT2%J9gPAZW9RY&SqBUWWQBSMO3SDvdSv~2i@Tnt1(R75@)E_dKlxF*gF(r43pP-$5`gjxG_xI%(r0Y z7{eS4I)=&O$@Xq&5z{fOUf~bm{D|JC-;*E=R9}_3irMV~R6aEfAQVLxJB+3+9@sLR zKxlWUG$8e4^T`ZCa;@1%U1ydA!l?`P5NEmqw*n9ci~I&~dU$cAbrraSpmgca3Sjed z%$6Aka=GTE0^e+-x-3KBeAyu?_Yr)-{_DsJ(`K1jNKL~?J$LZhu|>2Rq*Xa zq*d{Erg*krkHWF?TOHr*x0i4nff}5IQ%JG1?CjI{`wEV?3#kD0-{H&;$It!>ul(_rM(B? z4$`K!Z1a~E!TS@G_5plYO0!Y<2<_?l->!D=_D#c;Es2BCd^%|Xd<>uLVqZVD{{H)P zD^o_T_-Q0wfX_-BhgaN}_W6ix2}b7L1(@4Gn%!kClYONff@?Tu3ce_I*UPv+?Y_H? m<4YVjaLnVliKC8Lzkp*A_hS>^s~G*;@D+Rw%lI~Jzy1rAb-Jkl literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSocialLoginReqVO$AuthSocialLoginReqVOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSocialLoginReqVO$AuthSocialLoginReqVOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..608c7c081c2bd2628cf42c2cc5c56029a1abfa52 GIT binary patch literal 7522 zcmeHMUvC>l5TA3CICj&fP18bYflXS#DR9TXCqPIc4JDFEq&ft_1Je3#V{dY|>+J4X z%`>ljA0&|AosYu@K+N7bI3btby0sHg^}#;f?(A=8X6N6{{`vQ>zXQNS__zuc5Bge# zK|;9*_Gq65p$NDPWyDl)m_}3viHy>i1^Q4MmIR>`M#(tFX&NQCh^D3+^kuM$&z1~1 zjhnK=#bb7`vvt2{@XM6Ph+c&$53Xff##D5It@a)ZjR#Zau*W>8H8+G|9i~3>;LhVz z7@n{V(dU}CW40=UG}Le@vnW!7cT@>3IvN*G_i3CW;6gK&Nn7p*kCX+2yus9B@=uVvrmN}BL$Ov*F zG%=D`x`br2VsvQ1l zWUa8vk|GAJpU})Z>NR`91v0!O8H-->08ye}C!#?Z8wb=F_ZyG(*bFv|%oB_HU8=i- zurGJ>i2(>+DDdbVy-dCVhgL#^@Ehgjl3#--g+)ac?P!|t64Z4-FQeQXxdJB zAg`!O(vB06gFc*a#>e&<_1lQGk4tGcBBWFOIwGcn`W;A|l{e^Yho}E5jN{ISYaf)4%dTm3ji!>>TVR^U7W>^Q}O=&jMI4*&7^MevGY^_2THoZ8`>Tn%y&B0Z8#e04rF@TbPV&B>LE;$jxw@G5^fG#k$?YB?FGn}a#z72oW$j?W5QhPhK?S5A%1AnjF{NBZNdui@w?i0t9B{u^BXe&NP1aPyB0_f`D2 zy8!-fFO6yWqpxFSx&JBU$%#)*?%$#6Y9vj^}V)ZjyWpFyhkA%KrE`Un32m+70W literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSocialLoginReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/AuthSocialLoginReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..cf32ef4a7662fa3123796fd87cdeea7b97258c4b GIT binary patch literal 7717 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 VzP*S3CwN-$xli}$J^1#czX0w5YdHV_ literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/DeptController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/DeptController.class new file mode 100644 index 0000000000000000000000000000000000000000..767bf5b568889256065fdd2ab3b59934c4a8aa47 GIT binary patch literal 9930 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptListReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptListReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..7152e34d1daabc06a7156c5aea3d689befdbd9e3 GIT binary patch literal 5081 zcmeHL>u(!H5T8rZ_|fo6Q=qiKCcJDOcjf&ELPDgVNNyuFAwa)v?#A&pcf0QHp4I$i zNFc#?{wT!kuI)I;NsQwJRjML;b9b}9*?HW|Z~WKazx@FK8}MZX<|6pn=rk#~kjX>d z<4GzLp;DEhP7ceAtE5m_nPXxOjm08Km9$#rIX&iCL7Ot{+N7t#x#w~BFQ54%{e1;u9wT_Vl|swNPb zl~uD+74qcul+I+24WOOF{sO%VQ_4zdDmM^P=~^3J1@=Z#R- zo2;!>!7K^5g2j$?0;*_j)P_+#a{`4hhAL|i4BIEFfg{?fpl|y^-ad=6b8>m?MV1K+;m*qBwJK_T*4Hku}t+)Ymp&SnhDq53zU{RqA9zmeU^n>oWi32 zFL`F}ORGX$XXVRH^0Y{W4Q?jRB8}B$YAFceT_r`ruu^8&780|V-F3mj$6;H3$b{^v z17w`&Ob7KSLcO-Z?HN?34%gu2CAa~v5S#m2NMXN;;Cf?}p#`?s+$GA@q9fcZi#^mk zocNTZl`7@=F4w|c_irxPjv!9>pmkAPmv~@pSd)mI63raY&nm1%uzETRBoat0)eKmw z9B1u?o}E;OS0Vyz43FNtNS%x5+6P7DSZqUztv4S;urddJu z)>0YwC(zhWpmCT$<1m57M-yo5C(zhUpm9(6b&X{T4ReE3!EM^{e1l38#c5Opm4Voe zys?k>xfF)5QhQRG(n5_%m}3%Q;)zcvgY{Y%aL1rH@-!F*Clm5jau!GvG0_O>+p5$l zeox6xW%w8Y^nRvt-g0)YSKw2sc746<+$&W89=~hX}Oe z7JWNJl7d&^HCiKh9oU&@s}rNW0dJmwHs`eZvrUfn7Q8(}w0EGQ U?u0JuKc>$Y^r=!lyPW>)AGG}QM*si- literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..33edd00eb6a27f31ef213f4784cf05eb2cd39dea GIT binary patch literal 8990 zcmeHNS#uLd5biZLIxsO12&n>+G31bQta6YG6A}W3D3LM22O%%1_3qeOyt}iRS*h?_ z{#B}ys^mRCDwS_`Bufjz2zlg6Rd|s1n*F+`d%CB;UjO~i?|%}}O?ptGDTmgT^y{$~ zCiRD2$E*8EJruqOxUBEC15ear5ws&-SGy|Xaorb5CPftCu@}U6Dd1^V?+A0eiHmz& zr5h_Hns(?!ju?5#c70{@A@?(frozCXqs^vBwig{bcdwmfVayvzCsg5P#IGlb$h<5R ziE^miT=iQ#_Au~Rz?CnHIrcuJ}dbz?NIVy8M6Ue z>Pent4alEXLPD2Hvyo(cn@b3ojkt$7uPZL~h?%q{61+46@nHmw6|`zYr>ZZxm+>_y z?a&?hMQ~qMe3%mT^7sFbMvzTWs5ikVs9pseS0^5=zW*MI7C}I87h8Wu7QZX1! zKaE4B5X)wiNj}v|5pXq69%DjwbJR#-S`>R%=ddxQ_9k*@>7%H+1sB-Syr|YH_Kh(O zI=&kl!I&cTCOgiu>F$%0mO6riiq^ktL$M;H4TlyHn*(*kfh<^rJ>ViJf*o2u8o|YO zh7{*FAs-x?*^09{oLpFxX(KL1@N7}2HMc#t4+W9JkWs_mxBn^3V6&js6v%4(8XE0L~no+T@8~kyXMfD z+91O*>}z2|vm>Z*ryXx{x#oe7Xqu+!(uOBPecin|owY&`tNYD~@KBJbQn#dY=rmZF zUK{nCk{Z7(mgzl*=J#h(AX4Ch}zt)Tc{^QC4tj z5{g5|ao%5o4xP-|%Z16=3zBrsacF0lXD2527~~Gv7gxr&H>K;XF!;26$h2S$eU~%CmEcJnf zzS7MvSVd)Y0+#fvIBj{VrTYsG9jPreaHE&1@*5jvYC7d#_m7Lb!=RIRo~3kXxjM95 zqsWl9gUcG3&QM_zpflrV$VfSx;)#zQM$Wi;T^r{5k*5^f3L~yeN=cIPy6OJ(P)yUD9`Z{eYUhJDC!#qNpxNDbYGUr|8vMqWgs}Q^w}_ z0<>%zxohb5Dw-!$LHJ5mp(&c7qqr*JN*~KOPSG)%ed69rL&nX~i6_RL95U|I5WJU% z+&eu4?+m^2n2fWyK1;7c&z{!jp!IqDE@M^>j@3Wt!h=(<|3>qF<@0$HfA#G2jNigv zJv)q|x2cAsLkslIGtu518SVWMbQ>MbrMgAkKCr6WhgR+OkyW&ht=jD}ePYoIpVDVf zL7UR+GGD!;uaM8_3yWx1tm?K%S1s!HrB&UoS+(0&R?)t;YPak3jYTiqz<*bm+*`$Q z2`hFm|33c;o~B!Sh&oFj49%h2^zAo57CZc1x<_l+8#n$1byU@% literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSaveReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSaveReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..76ac52bd460eee8b399649bbf8118627dcb36a71 GIT binary patch literal 8487 zcmeHMTXWM!6h1Oe?3fHNDfC9$QPP{;i`;uDp|n5(b!!reL!i8Eq$L)Sv__IWq<^e4 z?M(aL{-;jA-IXuO800vLGo9f(PD`bH8qjAP$A+;Wcx7eB|&>T<-}zuHm7@di*Yb zvb|ZNqCw{rQ;!9^_065f+>Q+@xQ;>d&87%;R}H#&w;RN+&l^F{joclNUkd^ev)C0u zWKg-;vfJEeAUy5x$PV3(d}C0FKV^Q$;|3K2=3`iD4kfkX&{fPAL;j@ehTORggAA%P zH$;3L%Itw($>&kTb}>EQY`MR3Or7%CQ^@SFkOy%CS{5S_LgR&IBZ&Df4?(jad2Dn& z5BG~6XK>WLh=-DTuG1C)_{~9K*Mo%Sy1W75d<2WS%AQ8B9&~-o&GneqmDIaj$tqWC zeV@EBYD>4%38CqI76vdX!k0@;Pxw1xuYQXMJY+F3-6HD~AL1%}KSPw%Hmg!xi za_L?GF2d_^$FzmtaXsZ?vl9yV+>b7sl?C~oX*216bBCJ)`dFCEjQ2bI1<4D){C|UC ztIbWH$8F)5*m5nkBday@Q7C*f#yc6|W-5bW3q0asWWr`i;JZ< z>H3o{^Qt|*I{6;tIZJn^t!a+r=;^JJr`1Gjofdv4IZ9?O zxZxaCWZICU^ULRSNo#dt?mf|TxoBgl-zvs(FE~#z}y+05CyfNymD9Ug8m;7W;Ah0VNe7P|5| znJmU_7hw2d^SDY6;NenokQsCyzRG;5w`d z&Vp(*C!mUu-|2cl-l|Ff)dOzzQ3&84Y2d$8)wsWQtnPp?xsMDA#;x6Piarg|BOb() z_8_kg9C)mzpM}H&Ya=yE)&{rzwUL@7b=o}YM&=<#Q<1LW(rWD?f@&nBHhVk_T}M`s zR%A@AW|@uH zbR*LZ9F)Cw?Com|%L5yQpMtvmlGwCtk42IB$n|)n;o5AZ3^8~@a%|ts-;94y>d* zW~uI&rMqL6?v7c*?wF;zW0vfWSv{e~71I$sGG%wgXR+N@H6?%A!8RQgfiuyP?Kn$q z_ah0^yV~_TaJFd&WAeozDO{1oLwBaEXW)vIxW{adg=68z36bem;}{EN1EAjln}|q; zP#%0Tg!K|wRaxlwHM4}G&zVJ{&|DUgYRYC1orDu)V>Uyr1hi#PWq4k9Lvyommdm0J z$Smt;sZfTiQ$aq_`pO1-hJiPP?~6d6Z4;1B6f^jLp(VPZ&2Iuxq4G(!5>+;re>KR= zxLTsSs3j7vCE7y!UdB?1P(zLUW73CaSI*Fh?WTe5`W;7sX%iykEarzjVD% zcar}_CC8vQ=`Bd@TVP^#8P^xk+`w4*gI0c7dgnKK?=L(R=mY#pOQlU8;#XPW-ES8g|Q_1hY)C#xVc=1s(yiE9~`%yEa0xgy;f zaFm(wXxt3?ff~=zPi5Cb?uj1+oAm^0!OZNT>h+Eiyw U{}j7}x%;>(RHUD&g_XJYA5+9nCIA2c literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/dept/DeptSimpleRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..264cdca5bd8d817037dd5801701809e758801e45 GIT binary patch literal 6989 zcmeHL>vJ155Z_DO+HnHyqzSJSP|M5aamS;)ngY!ZC9KdZ?{Fhvl_t4{W8})W39Z)72itPTAm9{H5a)G zpw`}qJ1nC}IG->TOJ0~?0$7l2ujG;?ckr|URM{hHBnME*X@<*Udmwm2OKxS=3MyHy zTPXkB4zp{m(d?h(^6-|jC?r$rdn$9>t5E*AE=^0zIThKK*p0qnIg?bg1b?jD!edn7 zxd1K<Hl0pj9I8)b2ea`G7F*VwgEk+LLwIGz} z{eso!oZvA;9(<-la)zhz5@j4}^1Ja8Fli&q#o-C`Y9$lh=Lw_cKjA||mej&I z))XzdPW2c#TZd(MX#rN?GPVOZc+T~g0W3F$QMd!{%}s>WZJx8cWwyoS1B#g0Abb(i zbdySM-g_S_y2G(;__=+GeGS6>D&}hwQ2{Jr|6poOWLq3}i>ozwJ%B66V}6AE*wY}N zzAs^ipef$L`aDV>=zbpCIhvyB9&-R!Ojnyf;zbW#^Sxd^ zK}*#7r5pe4=c52-8_gDe=)1N3uvvp^K~)}a72AoKz_3}#7&bJ94c$RT0RE7)G~tTy zJi%@>*6F?j2P}`V*RwF9->H%?PN`C4o2N|G=gv+_59CY>V+`euUKmW2g8L=yakhQW zn25E@?uK!~@a}P1Knfb~(j7*w#(CHqb%b`*5xP-F=tdpkVAK)XQAcP-9bs44^(sjO zQ^a)Y8P##eqCobjK>H7iz#J5s*-B{rXd;2mU9ffviS8ywIO1azt}P1J(sWJks9QKn z(Xxy+mfynzhEW@jNZzAJ?+PCgZi+KPy1~%>@rDOx_v-grI0@o0*A8Fcz-6Gmi(_;u z4B0YI*fv&`BqVnXNT^B{pN3Xv*gT!?1)iZIUI8#{ zEH6JDL)7g-lKPyFrgpqJCNR7Ox?DOLH#chZ7CBx=ghD+)GgQKRNT~;O5a87}L@8tT zH5Nw%0Z(?^Hieq0vB^wW_Aj*$g&}@jY9BWEY87taeAXPZ3J5TV2GZ^fI7`0c8u$m; z>nped2p4cfJ_|E&4$k9S72nKS!*vE0;F&|;o;^gjfHW82BGUJFU&7r>_*_HI0j~Am zVEKo|=YN40|FC>t#=k}iz#P1Se+>tuf>(jyikApi$8vkko7)>6XY=RwCcJgT*=CFm zR#Sg&4QNi0+uKt;+dJ@X?`(Bk-$U(&?fTEPtw4Cd(O7>nZUIE_{xRnp_?^EsJ~;5Z zQ5v6w;|hFugnb9xJ{sZ4!N|B+fsc>iRypuJUv9JT3GSJJPi@pLLdC}XXZY=Ne6Hj3 N6+ShL;8lFS_!~6KLw*1N literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostPageReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostPageReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..185fe3ffe95aa8d3c766ad3af64eff2aed8399d3 GIT binary patch literal 8121 zcmeHM>vP;R5MQU4+#{i7(v(MAKnbrq9yae+N+Gm`X69%zy%3<^6kEx;wWW)syJ`M1 zW?%-s^Uv@fFsy9fov%2F5}cG~`oZV3CH;0+yW0Ip{`2o&e+Ph@aH9%S4*aB~@5MCa z-hDctp3l8d_#$A^+v^8Zc(Dlj5%biZ(k%9T!L<}ogv~UFaZtc|+8YS3CzSTq@n@ax zu)Az`bFB&$2cAtpBg%KYwXOTi*A7$+x&!m=aZ^Xjknb!zaOG~F>o8`kd=RQ|D`G30 z3r%$>xN@M@?)Y66Q|ve!Fy+gzXIdPnvWGP8MTlDAG{)PE!a;o;Qg5$v&32f?G1VQW zZzQr8nyn(~SMx9Xy`E%B{YWK8-4u?W9?+8=Qf7AbDC zMZ|WJLC8dgCUIYBA_h##FknPT5}GU;Gp;e?sD6)0lXfz=M%|?Lbt-9m$ilfv^&yF@ z0SoZr99)Jgn5(aaJk-}6xYW$&-?SvOHZh^LL(cB><1HpPC}vAjJA_Z8O)5k4oV~2* zZipHGUi+j9T2?~tV1=o{k^_qe=X6ZzSbwnQbh27Bi&ZD{p@CAvYQ&4|K2a-Bw6Ox! z!+%5dSaYOZ>m;SuhGFTzLeAl9Ss3EfoNKl=Yv4Mwor7mMshTFt{+jQ$aWYp)u^AIlx*#0Tm_eI zqLv<7Ik|un?G-L`Vmid3Qpi=(=}4D;s`(hxxV>!5G=Pqenyrac)qvr=oB8ii{{iM3 zvgC6&W2A1vNZpi?x+x=d$BfiX7^!O*sXGv^VWdkW5KIxnsA8)9ZZb{mVGn(u7l9eW zH5AxQV(32!Os&8?Dx@YpF9^bk9-%m_M@sqJeRApqSl0E{Zl6YKg$K8(>Ka;FC?ciO z1x+TJhJ4eao|Z*PEks##Ih)#;?31lw+#e+VZKg@?*y$l1Znf#iNgq|S5>~r~H~%k^ z%_2I!#luW|WP=}**m7#bk*zI9Y%XNFS^7iIohto3vgM@}&?8HJq9e?v&gF}l?e@j0 zGFt7}P8rE+gNPe0q_{{B9@%iE1!1{$uLd7DGk;kyZ;NOLVe-Vk z!{A7cqE;PfbVOhJ>{~nw!o$ajBbemK0BdU7Y|!!S>SFs}lJRXFk1L~&IZ(x_yUOv* zLWTG}jqBSXenFCccdrUx;+bHUg{trsjv4WlDy&R=NlUqh19RV}2R<8kNULBGP+k16 zcMhgt8fNgRicjWV!}}D>7QCB-XCCP{i_hob0`?z{p2yJ_@%jjn9lSSwgN2{xpZf(~ z_#?r+ioZq*KpkGf-?_9GybQ14lLN#8ZP6O-Re0@C-R#j`hd1^?n?l`FOYPC#EETN@ ztrB&6YvhFnqP~sR75mlR+RO0HKKhNLhha*H2 zoq21=Xhqf*p*a}+A0MFK*kW763Veb-n1WA}b#@-tmRY5r;q^IQ%Xk5NgI5D8a1E|w H``7;f6_w;> literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..041e5aff33d3bd951b12c8446e82c8fbe324513f GIT binary patch literal 8469 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostSimpleRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostSimpleRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..9cfeec8a569697f5b570bbd54f37557f7d8dff02 GIT binary patch literal 5299 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 a9H+2yzM$LmHGM 成功 +GET {{baseUrl}}/system/dict-data/list-all-simple +Authorization: Bearer {{token}} +tenant-id: {{adminTenantId}} diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/DictTypeController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/DictTypeController.class new file mode 100644 index 0000000000000000000000000000000000000000..e9d447953af349ac4b252337a719daf20094e518 GIT binary patch literal 10259 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..e8c369b93ee793f6399c45b000948f36c3699d58 GIT binary patch literal 8963 zcmeHM>vP*g5MQNf>=^fz7HDY)t_6zCL*h{=G^J3Iv>4o`Bxy=p9&?c{v06!I?qpB% zmoWn~@SQ)3VOMAQ(aN!@6%uChLAG?ax4XA@yZgJnzyAL14**z%p9?T$!F{bRMs ztO(s)UoOD31;-Pv0gtwv<&8(ejV+k+Jqu>)bs25VTX1%z6~%riYEj$Q{zf3KN0E$q z?8``7P^_=I4H0rAe8CgiReqCtEGR4SOUqZnyM?-1P!Lae*bMOPSbgbZ`{Vlw2ivEY@(Yq-9;YJV0Y54W!DJ zh-+w=Vx^jz=3Kv4t!7gRt?zLap?Vre%+&)KZpg>ZO%Vx&oIGrtUO;;k;5>@xO=(Ff zsfzHrRoJ{6Ar~36g~wbOHvJ&6G;1n}rVsTMR+^=8%;mHUY(uaveJmMgG1}vRT#^ljUUb?`p)|u)B8t%08iR(RH1TaL zA0CvwPGR)_EO>A_3u(CCizzL1^21)p-pf6-r$%4J{6B%gJFuZNOAu%01X%(GZ^yhPfGOFu@1^h_dZiO2{t#Qo4l-UU!taIhlcc*bWZup2N9@cja zupxXXV2mL%A>2Y7k^-e7I2N4W89E?xK=6XY>jqMt!tp%>(gRgUkpvQy&==1TK9S@O z$|~b~cc&P_)L{(aN(WONA;Labbs_;zPXQ}!fR$S@xT?Cl21IGbfSZ-B{dQMm5k+>4 zF0;1SuFjW)r|XHYX>7q|B15F>iSPaENuOPSOoZL_q@KR@3~0^zmveV5IfG{k9-xyA zxT-m~%vT>+aH?-hFXK5t`JOPEKUg0m?RtWJDgD)nevr=0_eLiQG8YHUL0GF5>(ID5S?FX1jDQVViy+ zbZPd#lhVU5$zGix4yOQSFrC-D30Tru)EJ|uW?tE1P))PbCr~we_FeDFpL5q8Cty9` z#7`SK4FwbM&o)Y4fOT*M(-4=tx+Ypqz_treNMTQ)qho!9HM#qkZwYq6jqFZo$4*K+ zwkhq{rnF=CN;`H^+Oa)6YuIgRQ)%Y{^Q6#>N&;Bza2v_7LOf|=u;~|p(8Q)%lAQ#t zi3FNm;)hK{Bg~C5qTarw@Z~5?P0_|40wM<{l~|FAW0^cnWh|qMj(usRCMky1wj!y- z-6*N)P@!nVps_fQAZmBeYiV|%9ydZV1>zATBjlO_)d-^JQ?BD*`&K^_1rOAFzSZ65 z)}yquV2aNpR+uPFReB6UDkdRY9rGyGL+N`K&C>^xBk)j}V>xn%Xg_jF?k$GSu4mB! zY&4WUnJ8W&tjd;h#SKL77M!G&raWTqTau(pH!IYHr;^j=CghpmKVN`*c+&5zWC8A5 zaAZJ<0zAZv1Pa9k_;KJ0$M^_decUn?McO?Y&I6up@Jgu!Q*an&@T-7d^k2mPDL4wp zo@qM{C!T3LlF>Go(RQ-Sk0g?eaw6xY4BD47+D>P*oq<=L(&r3*pM`TMA)U>uDCISL zF5zq~{4f0u?Ec(^U*U~E6ZsYVrC9^cxQf4JLj`ZcJNRY6yYSvfZuZ#R-iHrzc+ofFX_HnMdeUdA;%eiv<6h6ywhg^aAA>5{LcN+x-tI=GtQkKK$BVE$WJP-1?qp;`D>Wuti$*40Q-LU2M4N}q5uE@ literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataSaveReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataSaveReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..a25e7bc2f6dc2569cb621f035b22a443b7d72067 GIT binary patch literal 8715 zcmeHMZFAd15MH@y{L)ZLpe@icT+2&iUL;=1TT@EgBrOIffjCVm!!UD^F7Y*z&b^a7 z4S$Ron1S#77ybgnu4LKP)Q#OnZolM%ZRu|B*}c8Jz30~d{P)LS0I&@A%22Z47o%M# z;4*aX^DcMX(2>ejp3u&I>~ZA;%8PyBn0*t8z;RU=Y32La&Ak8zdD4xXu5vscac3D{ zmhqv*yJAB;*jg{cj0L9>V4sJ(&ieL!;YJpeq-Viwv#G+}MGMYt#9<@@(FnWJ$ZcQT z2tyU|NUG3SP-(W@wg@;1p74Zmwd_!j1!eJ&2OVEnFk_TP)M~R4Mq*cJ6rI!JK`gcK zR&g%WwWgxA*!Quk90+6hF18-``L^&am~ReDY(-ioR@G?8O*DHC$ILcc@;8AG#{&Kk z2X?t1BS3|wzq#MR$613G$BDg-a3zcb6t23;S32#lxW+8`+@Qp)#_8xigxM8Q13gh$ zsAs-7KWs|e>1ed|F4rO2WDs$_>8oH{?K!taC^V0RhmA8!IL9(vwBW_TJXW+;x&m)o z)$?~kL{WZMc+6EnNBW6tSw}1MbzrWrT9w8zmy_SwwqSkvNHNYLoZykjkzbC2VeBT^ zYzr2MsI5GPdwYwr#6q3zXce#syJ#n|N3tYtw;iDkL;sRcAdSK8o(iYwXrkTMz+@<0 z88H)ggvPBNnn=fPq%=$OE?OcDi$hQB$WVATTa8V`#KUx$zt3dYReOSQ%mVE^!bAq- zC%=^CzG57Z2PYp=UM&WDg6ua<^?B?9gC-B$!b9?K{^}jCPZ12yQ+LBV+^mVEJjIls znc4}WcLI@otTc%j9nNh}kh!L&o5<+Fw5A3Z;N3a61PjQ^uF6nG*DN@_FwDYILRjBI zdey|dxfTc8LT_^9PQ=HQ%l$2`CB63=XQH-5n)hpSn$#M3Um1@W+E_@8kw9kLw*nto zaN%Iihm;RlCk{{6*@9PaJjIBUu=G9!CW#~+p$2@+k}eWk(%j>_bNJlP^{L=epX!p} zM#gqc%64}aQnFj0x_?k%>L0n#chA(dR#0ott$I`(O?%d)KU*|>99lGTN49AAJiKW1 zI#@J(%NA`GuTk8`XwL14lus&{}$QPpaT$Vugm{W1E{cT~YA%v`}wg zL!{CWOB%K+ux8c%Jvd;KOA4ilgh5fL+7zmGYRHH!ZnH*2Y)6J3-U8hS*-gT-MCjr* zC?RCo4UyR{-OJdH^o6NapPiNgQ7rIy%;(bn8W)qx^WalsDp@E_!{}^3OanXJG}Ay% z_wC`3`|K^hipB7hJZ6FPfq*@MI}~d14$4PSN(BBT!x>$x5-u8Na zE5jWu`BMTc!`~Q{l@(7-RZ~KUpr4NT@K?A-! zz`nuxF!>JqzQ6lN&G=~$FG2G$yKI2AI^x8!Mx0;AU>(<>1V1F_VRowjh;2VnHh~$~ KfK5CZxBdsa!EI6i literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataSimpleRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataSimpleRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..ded40002c6dff3a378a027e516f57281565022c2 GIT binary patch literal 7777 zcmeHMTW{P%6h6*vH`_o;NPv<8({S76VspPV1*u93inJk86N2Cc&DxXfG`43uGhQ{n z3<)H7=b!K=5NAB=#9Q3NC6hD~eel|IJ9FmDxqkcS-@pD20PFBo113E9S;;U+C{KfX zbV!3R4Y&wJ#AI-oMN|Zdh_aXk>QHHx1ffW^6mg8hG)iz$#6uknMG#Rh5;fX9>lLS0biD$p>b{gE`6WXI!#q6VKp5gFT>z7Z0X~G|tRB zracyWFdK?kNXtMoRBA1z3JG7?XWAUY4lK4iRlHpfuWJ>)&Ws00DFc8H6kUHFW1Vtv;*FK4vfIFfPUIu}3%&VvjKZxm&J#Kr$ceT2*tFZ&t#cGEiYa=q6s9UOz2YknkT{JLt?t5@pha`=RSFy zyz^@)k?&L0HyN{IYqKVNN)labl1=eXq2z9oJDx6>QjHi=V@fSSx}sBSvs#mC$-34g zS7)oWnY&3f*fxN{$!64oC3txbmf^YwGq-rk_17LOwaZ1gMGZQ;SY3B9N`99mJtlW3 zmd>Ue7a@&zspO_T>YUPjj^#e>o-_P`m4CBHjGFMe2RBYG^s&yjEAmVZ@eC7_i(q5n ziNft-OO?TjtV$vmaX#cC&y10A{45y9&obktd4#geAV@=Fl>gW*+I(lV^OFaQrOVwK zT26%%ywjLhh&Z!jv~GE$+GKH1PF z8{=t&7*nV*`^rmcmWGJi@eLKq)wvb<$a)I8OhZ zQx~_D+&Jrnnmd(D#890O)+7TO9?*S8R>IUDA+>&v)cO{w^(|8CA0xGXj@0@QqMH6t z_y(z6A(3E;7$7mBI_&2#5SA3E(&a7CH~Iz|_H)xX(}vapuoMy!El5<@*4PXiUHwPI zhSsb_e=DdMOsfDxT}&E|!Uk@c$C#&EBFbD(u^!i&GawLkLxU%_9)4d9Ab@psP7 zg4cjx3)77n)K+R!d&4QUH=R;@%PFrww{|m)s^c|=9lTRx= hfLGy9CgF3ug9-Q|_fLjH;|0IO=N3LQ*q(%&{{XT^5lH|5 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypePageReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypePageReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..4f26b78a28094b167abd08293dab4fbd96d8e3b9 GIT binary patch literal 9261 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeSaveReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeSaveReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..7585636554fc4160cf5ff217b56f2c6250f6f84c GIT binary patch literal 7971 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 Kx%L@exBdY?D{jXC literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ip/AreaController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/ip/AreaController.class new file mode 100644 index 0000000000000000000000000000000000000000..ab7f19392dcf53ee10255b428908cb09aba99387 GIT binary patch literal 4334 zcmeHKZEqYk5FV##?`{*4kW!F}Yo@|dY0RdJs1z>JLLX%H!CwMr5kW^sy>L>AoDoNbN!TQE;x zrNBy<90ofFk9cGWT-g*-*gFI+b=UU^%x|HN7IX+KPh`K+TIn_{koJ!crRGK@M?9vH zN;8o#E0m;}RtE`B%@@?`^ba|;ql{Ar;5%i0sf5o#D{m16rzj$<+Pql6hl2O{C-pVSg_RO}4MSoD|;IbDmSe;f?I2!>w64UMu*hmBJm$Gbh!$QG51}}{bK2!Lru9ZBF&VxG?Fzd{=!NK z)#U9(NGLt@O{Rq$4m3;o_ewu*Qu`uJDe^M6B588^tlVS6nwiup$_mc#I=kH132QY9 zKgm&kn`IeBq(OL}B_d{SzfJQ{)q-A{B_a}*nmpqgX-*oe^T;YqOCIa4JIcys%m+du z+yF=Lo8<}axrww-w{v6N2ue{V-F`2DD?(o98$P4`J7`VGw&&ZwrP5SMT*tzmDax(7 z8VWS~=(=N@PB zeEgZcx$ww5V2(4aOR6c$t6_PD2<}e+CW&T@#` z@_wEkaNT!VMPM~l5li-uv+THY-X01=;M?$m>#+?23qx+5TYb$@`$~5`tOgzhI(uR$ znawp0-#j(E8M@8889IPTMsM7~AAvV^b7@7&d-6yafzI7^g;zly=*wa_$!rw9e8iF* zH7tZm%=KAZM30F z$e;g4PL9oMNXTc%-I*A->VAXjnehJe3{Jq?Q@M`#*Ld9{aP=hp7xyD%uCULBm}M)N z9@VPxxT{(l7MVG&05@9jA%Ufn+}VPUksGU#Yr!o{VMi`4xP9XGTrM(-Zwq7a0Pf?V zXW$0lH5%{mfN!)8uHd_cty@JK!21Q-->rH-!Q$`OI|s}7b~1p^3ceSMZx3FE)uQhz zyn-{Y;rAT83a{b6lYSllr%~UmLA_p!`WC!BMx_O+hxiWlMg@5eze{`Ht3iIZ2Kf@K g<$t1w6?7r_JCqCqGE zE<+hH6&$A#l|dq-G-iQ5)`lfPD1}inj&Ykt30~sOpe2J9#potp+Ge`Bw^e|=2Ujw1 zF%^fw*8T$)8V_Q5keYjxD?uhVtprUu!Q2l zxrpgd@uuDJU|z9@DOW7oK$IR7*dv-WV|>dCn&4xh-o?FR6c>jGq8K)K94UtPXX|yY z4X%}T_@SUCRe0%swzyoMyf~KbBC1P=%+!$mxk|N105^ImO`A={wElrAfh22tsYT;7 zVF$vz_|=Zz$knByiZmmK1A4qYIeAy5r*WKvvB3YE3T3zBi$`z{EZ zbHDMCO-j&{g7d$^#@FejoNzdc9?BAjQ0v8F8^T_98;m5(G$h7(D%KySG_JUeTO|id zCdA+Y8_Y?6md0>@z?3E!?Cpt!YmI5gopkqyN)SEhvlLeu9cx>(PY>EnEH}pB*O}x9 z?EY7HSKB4j7(81K8-e4AVeT>42GtE)Lm@ZvV4#O2DW+xFVoLFd5vd5bb!NhZ!TLz2 zO{Oxxa^5!rSG8yiNsjIV;4)tx}S9yB@qy z>1`BTOHz12<# zXqm-M#f7h(bmGBGrCP&bh&hKSlYGe#EQe7;NK2BV}k;PE>?HQY&&DeZ5WAojN&F{|G{A|YN^QPaDizJdv z6FaI&s0kZc(T-UMwcZOG$5+0c=J}cRjE2cs2i7`Lp>@dtcGq{p^>O|wsjcs5MpSBe zJP@WE_YK&xJxXUFHHky5c6uzAhV16DIplbRb#XeII|thNou~)p9hs_--9wM|;A($& zm+9Y*I;~ok3h*`N={B<+Al`&8PSJB0+MNNGjWzZYeli2gxR!%2GYwk`t;gQQ-#Y%vkcY2e1?^z< EA6KF22LJ#7 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/LoginLogController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/LoginLogController.class new file mode 100644 index 0000000000000000000000000000000000000000..64739220acd71654f8304c7964b446603a3d955a GIT binary patch literal 6714 zcmeHMZEw^@5FQ@^=Puzb6zGd8xq+6Ww7$NezHljR2mvCQCL$p%A2+_uWx@8E^*SZ} zW0i{3e(#^?KdJhx9iJUAIH02{C?9O!+OspWGqcak&i(bz?|%@{b-HC!%c7qW<@Z7+ zqTYSB&3b;+6VjIhu6jG^fXQAc2Wh~2$xfnq*z;wil?(!WW`huu0y!LF;K`wga9bFC zw`szn6B*BdMZ@0m#(nNgid>cmPyN|;=6I_ zWjFV-TYA~eyzIhf@bauPkUVjW1wy9%El0yp{85Z$SD7QAToX`kX1yG?w-Z=% zxI&aIILk^6T0N2O8mMpbeHvvMOU#qm^Nq5i_wbPd2)^;CH>5*PeQ!LGm@uqPy4@Nex}6T?pORB3={6tRUl$--Fo>tg&HT zNaPwkY>bK**7P7YR8h-TV0S(i^S;lM1kv2!p~at9mhY@RlW3bM!B7@=+PAchO?4h{ zZT1F`u?ad}MSv_VFFx{lY)%2s)Y%m7owf<36^8oYnRMmaJOOBbK4ccSFy??Ws|m)0 zM&kpv4o%a^X=>AqMW?%7d5T)qrt0dOQ`T`0iSWlX+~8`>M2JN*p7dF;z8f*SFDLYt zz2s^~_y0V8tNJ&DDzP#6-+h1+cam?wuJO#hpX0J(qXa{$WG$(R=gK$9<)3eY9)OipIIlsB42j97%WFzG0k1so$Eu? zX~d$56sym|Zfkk-3HP)`7i1rJjjJ8uaf>dxIfmY3+oE??lTeF*FNQlJ7Mnhw4MVA! z7BY-2YPzdDmWlE>K+nvGQ0O}rotm27uxMlsBGl=eMdxz{7L<}|l+Ih@zdQ;R*7`fV zV|y})gr6d{BPBs4h;Q4?#`-q5^x@v{WqI=18aERO9h;q&-aQt5CIHVj0}d&;`pzUqZe&(=w$VVqw6|?*D2ne!5W9#RZsi!aa#HoZAgN40B8a5YwilLY z{siKnCk|g9@ZG}>e}IgTuL9x;d&-n%RiuUsCRNvoBPGJ_mSO?_Nvfw+4E)cRq~Tue z5h+-rg_sH&g&`Fkf^~4^dqX)rukq zi$UZIPiQ+%P!my#!dR=s(^A=4t(lrOWhDtad`pBtw}mfwXNiw|m_s}EQW9(P1yD8% zO+L;L7l2ZM(|TFK)uB>c0e_zlsFn;ds&@s#6=s4>8;u;Pz7@r16TK~!_?cIL&dDH< zAuOJ1?ntb;_yCVKmMbu?qOij;Ql2Y7U0LZlIq~@_!Z~QKW2&Hjm$UE@A}%h0Yc_Ih z14%u6n-6Zwb;ZJXiNo-nfed;K+pnN88VKhx)s-fM61^9bL5?!x;#sBZy#Tkbw^wB< zs7??Ad*3lK#Bsf9HWIU*$Kx2Ao(jt@{IIgTy8c|C9i{}szN6WApmk(|+2`6sArgF5 zUVAx?wYa>n>+#5Jw4Teg*&8(*#s!Z~eYte5K#e*&qvtU&bVoH3`9sTpskdO)$e)jK znEAFzV{~DR8Z>Fqr772RPpx!Qy{1ib+BSRM^Dc`2!z9?`YTdY#MU$@dn7`3;uioT{ z-WJ$B|LDH7jX$>I=ek_ywzTN-lxvD#d)h4~V*obRL^otQQDFCaDbP&eXdo+1?K@aF z=H^KN!_zy=Pk`fW4;r3}*?OD=0aJTszTZ?}ek4SHfyoY!Jta~Ki;i`Cm!UNS z$hccfAz1pszt1H4cxQ`;6XQ6X$oqo!C{0=8lVmk-V zKPxk}ucONur7x{hGXr>k#$R<#9yrMtYfptO4~1_9d{N#C(3AExZO%{H*Z%*G;~p0v z{MOQwr+fJ8VbPU5kn{7m^hW_2Id`3P5r7ls?@r-(t~XUYgfn596)1Dm)~?gHXbX$| zWu5M#vX!KXI?baAG#zQ3?g1p{r=Mf%^Z-ocAF|f7PT%1NRzBN1d8v~N5%atYK9)or zqcb=8Bc}HWKc?{0&7vBerZaffF*46lJV)?sP!spF7~KM-g=h138hboB{wq!ViBXL% z;%-(LEN|dGmO;@ax}46vNpE506};Ez?G%3#Z|`FK9 成功 +GET {{baseUrl}}/system/operate-log/page +Authorization: Bearer {{token}} +tenant-id: {{adminTenantId}} diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/loginlog/LoginLogPageReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/loginlog/LoginLogPageReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..2cfc3243744f7fe977c45c415e5af254eb9cdfc7 GIT binary patch literal 9502 zcmeHNS##Sq5MH{Db=Xca&e60iCsM zv_mVFUvap_Z6+$mZJY9n$L+SuD)Lx{%&S=34+VE!{7h{R8@asM#D@-7caD!gm72Q2 zp9i$bw%OyodJbj{xER5^)NfYm2alK)8Zg(EOjH8{mTJ9^JE3s==3N7>Z@2x>@mSUG zIMO+A*|P8RkcJNTr2+Zcj@4owMZtNSNlQ3^`eHziJ)vIUG89qpKK1Z+PGZA0HY?P= z<=kb|$96?aFdDK3_JQjCRI71|x~s_>{C=_4eOTwhqanV^1vCs16oHy7+)dQKTq>sx z;70$;b`S_AN~Xw7kkP+FGJQYt&4 zXYn{K{r|i6dKOb)ikpxnif|2HS%91HD(2C9j_-tD8E~c4pWNb50(p4TfLl*bpO`)41izE8hIvfz zi8~s=+_;{s$~eU@l*)T~_|#ZjdAg@WL`$WBXwg=T%Tx^4j2Ui95;93OB#tDG zZ#x1>uzQTe?2rlOTS(;&1^4jzaT~wc#I#&0B{_6lCX0pX^^&AB^zztOFrP(=h23$E zX0>Px5;GuCLY^ZflHAxRN!-K(=s_#)teo<6;PFD9hFuNL0=ehDr$ZlDp=0%JhSRO4 zJ)qVR(in2v^39|aGow<>j7u>yF2&4VDP~5cnCV8PnAzd#E-J-t6Pq(hR0V+bi`9x| zhdl|<@%lT$Mc7mopcy%E2HnOZLT1B7NGv}k4hAF~K1m{`3Feq&H2{`~u03v3S1$YZ z29+&UOik*7i>4_9ReK&He`G&%aWtt(WG+>rP7)krg1CZBX{-Wi>NT2LV0!U+hMqpn zPFl(AW4LC<$+Ib}2hE-BayUlAI8J)z&$d(D+Us8!xJEn;+h!{MpJ{#_GwJ{VY<{yV{AIPxZh26 zR}!uKsa5Mw8A)$zK})H@E$RteV!gh-x!l-)xVF5#zggdEZ0xTtKiuD_@8V;1Yqzns zzq7Vd-&!3D(@DzsVqt*6j+KwLnQ_|yOB!TjL)!+iZ{98cn1?$??utgGrQvJYi1bC{ zK(T+ikQuPqa7>@RfVbThJldeF;tBQ+Zwrg9;|`$#S4XzxqWv7qzUmxX9h6_H zjW98MTfpskcSoH(VScXqxUD1|JnQ$v4F`{-h1ELF!5SWYC!{3@_i+n+AeH3+bt#;% zwj6vvaNHj=Fas7g<9)#f9&kyx1vm=)KZIGBfpaj2PdR*2fAjcv2If=VEx_W4+7_=F*L~J*G-QLR-&4fyZy1fq{WQg|R ziH9gp{0ME8?sNLKyNTX9$%8*h@i{!2upe6n{$7IC0Vz(iU1;hHW{TaLC+8QwkwTi@|A1u2Qa|NE=(Nq&2IRY5p>1 zU|(*)S_on?7)etrIoGw+*KBh_?|^$m5PX}a~54#O(Nxoyc{+B*xw5Hd=v@g zC|^XeMdOt^wYNFD}97a*MiUB(h^W|yQC za-3eV#(v$1fFgnh_n0ffx*w!+XLTu{h%mm&iW7Psa~-V|w#8YCUJ2$f1#vzlc`BEu zhanFmS+8*xa#a%^gZZx;M>8|awxtM}!b@##tlP=LAh)@U88o0NLO+h-5Dca9O2vt8 z+zmJ(?V)l9UQPYo5U`n3K3Wdtz=St|V=W`3`L3^6oFJINMMtrciK~QUCYVCle$0}{ z>onjiV< zxusI!|oIAUwJl5h(l*g;s*p-xB3O-K5=pAC+xnvaCRsT^=tgQ!}Bb;1fw zLNJL4-OMJ&>1~TH?H^PTQ;`V(LEE7Y@snBGz-jDE6&9TVb~|pjl8ojIlV@lwV|pF9 z$Tp@j+$`ZZf$l;_&hc!TS?tO>Vv}|FGbZVnJq%%D&6Y5OnU*XMW9KWZmJxi_2PBkBfV8@W0I|0nG%czadnw$L& zC%fZZuOR)FzQ`y+gh5yY6qSM zPHjoHzKPg|ksevC&B{u9R6p`?w{R6aXc}L6q7+Gy%U78Hw3J{+3gN52bOi@7q_}2eSXL-6UH;M>WRJtzQEgy#$9>>bIlJsec2+L2({hPz$|bfbm)Pxc ziJg{9>>w?d*bSjuX}RPw^8}BXzF4E);MURv9=RL*PUk|%XKY=iu~Yw*!?I>aepnY$ zF*oYr29G3#FZyw63Ly3#`DfRrQd#P8Zgxb#nHdaog z;yvlxEN4z-Ps)KLV2BP~+&S`Yf1e0xcg1r%2*IvC<&bv&EXDtd$7M9-qP$nJ|)8W`=J0eBl6?cH2?dk-?| zC%3_Q`yf}e4|Cn=N4fI$ajs~e(A6BZFh|$+KpVm7HnuRhPCupVIih`*D{r6Y%G*4B zk>gGmaz$Irb*D?Y@^&Lvw43y0j#?cxV^5lJX5b7KMCR$y1j=++GyYOh=x{=*m{iCpo0-wPh<5-#AlspY~Z(v-#z@M Oke%G2yYxNY{rDgL!>eon literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogPageReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogPageReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..75180ea32f8b9c9960cc51a02b3781289541caa3 GIT binary patch literal 8577 zcmeHM>2uRY6n{!hoS1Nwff)+4UFc=^kb2MyC~e3=(mFAdIO))S$gHJ}Es(TgS9S^0 z|En|YO#8imRHtvXz7}jO62;Tb@IkhAwfeocZ{MxI|M~q-09b}v5oRpdm%?>I>POB4 z+M$jcIX-u}$Aojx_9%Bk?zIEv$OD3&}x@!*kUE)$K(1 zDUqUVH|pu*S?X$lk}DYUUq{l&>CecHOM~U^43axr?G0AB2x)>-#h4}u6G(l&$&#J! zPUgy$-d?T@({9JHU{d}_MTAU9eE&p;2JMu^fQJqK(7DT^REQovEG*$E6ydT3X9gQs z5rT_3c-=aEZzn=D9(0&TTpq@Lkcx=Jf}_krd4rVZ)qBLHN`9olNPm682_;H8FPFTO z%Zn*Py~Rk#k{0&}s{FRLqH=}o3m%dLA1bvXBOCx~-#!zPAUU-x^rb{A(95-1mgY@x zWuJK=XRrj5_+si6rbs>mhZ&Zbo5=ZiGSJVk#AH!B&7;a$g^s7y=a`Vuovu7;)1a&) z*by~fgG|v4o6^tI#7yKnDh40NvE~SzL0K~_G54LX-!QRrHfIw&PgTeuHI*3Nqk@Kq z%TEkrPq+>ssBV0Jd;kjDG9kRfgz!B^xFEjD7ef{$m<`D`=B#P#($Q_KNg9+f1TOWn z#-nTdP{KKuz6zkdyMl&DE2UrQaM@`pIa937mw;XDK4 z5zTj4iN{E8c!{o#4(BO`aWarnnZyJ_nYhWcC<8y4a56BBwd;gZumqRj%>^KE6^rp( ze&i>&Ex1q~u3&ZbT-n8vwCYD}vmG{=s8g&rRhg~oq6LPiDx#X(=7ct40@7Cb3GEzc=R zZkDMuAGO!80iCelto(%PGNdfEZd#!)e}){KmBRW?~qh%bpBdA`6NTX3LDZx*@ODoX2gfm_389MrZe(|x z)OOmWwsn)*)=g@A(4@B0Cbg}b)OLs4gC_Mg;&CR4YK>wu*KMU;DfT!EIQlOlnO{XF>~giXwXs;=yT7uywYO2* ztgr1YFW%obQWA3 z(VkB2TYZI6R)kUf!g_>mMEdyED@xXU{3;{d)OC6{DApkUz3Zl zVSMq@XJ^5}hHibUR7}EEz*GP~$IZeFoWNg9)6x;<3iv+*Cr8XJz^P}}ogOiFX2jfC zc(wa(3DFgeb9kw_^Kb!YdekrC>}z;kNA4{AFZ}_R?w`Bz8@%xsj%MH*{wi((X}pEM z3wjm24e#K{f_F2Zy_XrS0`E`cEj!u=xuSiTE80h3=eSb`J|2TMgQuj=G`rkB$rbHW z_$)`>uIGyOd9G+*z?V7h^egzfi>5622A<=vt-koV7T{(dQCalS&@8wG-#mxEfiKCf zcenc%HfqO*K_u|)m=hVGeK*28StER10q)=#%)nCWJ9}Pr8Ru5;0@%cB0e$-_tiku_ HO{@O`pZe># literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..d0b1c161e743c02a25a7dad564ad4fbfc57389dc GIT binary patch literal 9354 zcmeHMTXWk)6h2Cm*m2WariIS5fZB3NpvX|ltu2K#Nn3-Hl-x?obuDjfC6d-%$tK|! z@N;-$24>)$AI0#kBwKbW#}4cy4D>730UfBy0t5zW(1jz$c!18EmM z=J>@e)?!85FFL{&RW6IW%_w5o2Az)dyUfS?$`-dngGQXHLF47J@M|{>y0FspL&xJKzvTo@ z#pScUFG3bN!Ve6}msjmN_ZS3^S9xGdr=i{$G%5L$rXzWE5vUEy@g3$hT(nM=7j|s! zK9CAoxQmHnE#@|rOemSnOE5lFPEoCf(ushKHv=x!+gy1~GC#n~(QvnciQ^%YH4fzC zn+|uYfOSmrO@LD~mY4^TsJRwNPn1i3$gw?8aMDqrJnqK}0_^g&cBw3E=FTSrYL~D=1t32?({|0p?rmx|8WP4HGU;Q#)b31` zUEx*4cJUtfqadhaaC8p-$kCfHk?!$=ltSjIXdL@#-G>(8ws_UFh1YQ0$kS#+3b@`2 zZkUA$HP5t}3Insk&5nF1OlB&NJQI1gFVBKO$05P_A8^zPbd}zoq-*pJXyumUJK=4E z&P{hSLrkDE8;VsNpD#7N3YTjP=UH)tqL~dQ9o0_;N5i@U66NJX_y~cL3Sc%cdQAOi zL2oHBCFGwch+W#Bn!rrpQ>a=`J`=~2cKiWo_hL3b4lC(bAg2IC-v$L`wN3eXbne8g zuk_9)#IJ@IV(veU=1MR9pGb!ys_!5I+fU-1LYEM}5}oVf{4)`=?_vEQW_@ouCjFVi z@(JvAe6pJrPKN|!0zf(*P1=b^lV0q(#&pM_hqXsJwMTK-pp}LVI_R_9UbVJhyhR61+L zKr#{)%PfVa6PS))MS^OF?k;keO)j}_BkS3e!b3k!UQNq(SrC|;j?06>#Nk<~au`PT zY&Mv^jRexXZ2MMH0$5QAV8tbX6_)^3S^`*631Gz~fYlOKS^``)tAYonO5Bj&+I2I; zw(*??Hlf=TXx~z`hZSw67Q^x0A=?%*G;Ke_EB{Uj#KO~=ZZA|VB90hjXNzq!nVAjr zz=>0St54$4BN};Em3En?6mD!crMWtM+<_pQ!{iq^9!Gg+R-{N3nd4RxBrUwYM zl9Z+}(Nk^?u&ip{0U`tJhEe@9Kqv(llii`3jEd(079$z;ZR;zSE@4*PIH+&c{2;#` z`tBaY^+(`|Bm?cc$8jtjWD)7*#Q>#BQ2BQbw>Tm5!=SHx>geI%4ha1No{xhp{s=ty zAA+ata7N{3-*6hr|A~-3P0<}?UrcF;x3BK{iXIuVBM9#QhsmDWX@9@ts$x|%rOof6 z96;H#_d-3&mvIeKR@oN{o%8Wk_fz>1UY#rX$k+o1*Y|#S-@)~)wClS$!p(Uu;n^Ia z_B+u7FGmtLxay?lNL|#cJN#D99e(UH)QpQx5a1qo4ICfPB|H4t5w?_tzMYZ zifvx2wgs))?rPO`Pph{3TD6tvQ;lcgGb;DdHUf@`8EN=azer0OwJmGK_CPDP&uK;D zN>{aFThpp-U8@&1v|@XxRofR@wLQ|R?XgyEUuxC%6@9JoEPO-XCfZas_8nNLJ5M?| zD~%HCXjIwMKhtJVh3tLsrFq=&tXb`RAF@{bcQjrj-p3=Uw#|&p(8$O$N2v}UjF1!M fttXMIsw{pB&o&+x57GB{P9j(JNYE1sAk+K{o=+wf literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailAccountController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailAccountController.class new file mode 100644 index 0000000000000000000000000000000000000000..4149dfdb7ea18546971a0785a5bfa5b137f2f156 GIT binary patch literal 10525 zcmeHNTXWM!6h3PLik(0L*tv4~{GAu!E@EKAxwXU{p`o}2XNzrX$t0P|pLP$FTsU3$}xhc{Pjsq2R8IkE!k9B%JBi7V&4s zvUuc&bLjvLh6s$uL|y7PYfI}7nH3T^C8xAUH<;LREJon8snBTOtrK`-1xY#{TkyA> zz*%?MjPLW1h7R`w0u^(G1w0ZK!=cBf9N!722^^_Tt`QiTLm4zUPGGFFgquQeF$`nm zSIVoKOb@qPOqT=b!9Bcw9N{xtH!PP1fxh9mEO?PzY=(^G0$S91M4L>% zX!%Cl*hXw@BQds-7~AL=+lY;ANXuQ+ZO#H+%J0$8+SEf-6MNc1p;gj|DmmOYV&y#- zqeM53*Wx17Ek8r+haxDo9KX3CsK=gg@hFe- zb4-aL8HJ9UNBdczqs@$&ddPJeJB&&h{gUDda|b_;aQq@|wNUV!!3$o?bu1^;gQ&#> z`Yt~RMP!9s=!tWxPD(!%`8L~deCd1e3I3;%i<_u3+RzuHAe2vVlumuQg%iTcpjeRD z!RD;0*LmkmSms3qUP3Vw-`wkURh2IbHWP)LTsS|m9OiS}^SF;TignWC%T=l-&$Y-J zbsY>Mdy-i}-;XAq<@R>YNL7<`i{Zqzr9P%4@ib?`a#Rp(2dn#8&RvGc+*`G;p8928 z;W31&jhooASP)d#6Hzm^u8gj65~2WOF3qtj<$30^kQMVCh0RH&^9`kY*%Q_Kv*n7J zy}hHBCJqb4chG<=ss2U42IHHZkXD) z9Xmhp06B|c=Pu@lK?dY1<$eVpyxsRD)mg@puux9aulz+Kv_dmkM}FG#JnQ}6L8YHm zH{Zo7R%&2f?n=DmZ+x>a!UH!^1xDfID3sw8fiqRJ(+z5bve2x{Zqb;DRnV7_x6Z^W z#Rd>|sZ4HBcZ~{1Ubk-!g_{ocogSF`)ic9B)=5h+Dl@vYNk-suwW~e0Qy0`HP1U|Q zx!iD?J`E#*5*URhO_?%o)~9juaZ{XAM7RX47 z_(nxXISduhGh%+nU^k2%~BDS*9iHm04lq<=Ipq_KIuTS`@vUm`JFTsz(st~fYErS2aPgw zAs`Wne|n?sWbz;lq1}*GkvR<4NvV7Yq^@^ns_#;_UC#a~kWLl|ya$Z66HVC+P~6^? zXLvVdP?Bu7V`rzRM7O4~r&Oln!|*97T_^yv&g>jzzZ%Y}M@czS^@Fy)+}6O0m-0Yc z5m?rA<4)GlyUUBT{_b^n3teg6vj$FK$lYlrOsR!S3gBsstn;L_cpykUY@V=6xnrT6 zt)gtLmmb{b5!^{%LRobZ!^f-L!5N+A)m^tRjANAV0<7BPK))+tyFkd3gMe*6WoKXg z7FEU^EEI^misACy{~lKG+0M%bT%_1Y-g?F2TK7=0DcFBA9)cd!BIGd zXAQ69c^J>bcrHT)e@F1@8jd7*uKWh0_fMVp1;+ots}j71zjB78avFa}lTmO6&c^r7 z!Fd>h*YSS|E~NC|#A_Xo5y^T2|6G(8ct|!SJSS}4%3w2*$>wc^&EGUpaMR?KfTgi&0zChCYul8Bh*8pw2yn(^iuvLgYxxE$~RDe z9m@3rl&3Q&&t_8o3}#Z*%=TCyR*N)r@8ah&Slr2EaT9K(i@)8)Vuvb04heKV&!F1K opn3$pz&RzjlPbf+>qR^)JkBEim*6XCz+Lzn?!!0m9sB_FKNFmJW&i*H literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailLogController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailLogController.class new file mode 100644 index 0000000000000000000000000000000000000000..3e3fa0062f871d392af329388b9a86bbfb2431f3 GIT binary patch literal 4933 zcmeHLZEqYk5T3oH-P|=zLZIbMNNy-J`M@5a^3o;*LJBC-hD6CV5+9vC=i+47-gv#C z;s5X(kU)a({3yiZz0KW*9Nh$^fU4@W=k@yW%-EiJJofK@{QN5sJ)#w#8Xk2r6SWgA zRr`P+^LC`#Qb)QgO#3A7a@|gJH;+X-JISm_+L2b)=r~3*?^^oqp|sg9goIWVYg2=J(?b>{>m6_CTQAg{`goK^o@^2mqj{B zWn2hlsnO7qWDi-Z+1VG&o}_{~0fDnU=-bXB?#y7jf}IKp*qUWBV^Vdc!SLb}H0=o^ zR0IusMklBrA*AFL2Ob;9$7G zL9xJrTd_IT)gohV{0X_ID1-dm|Jus~IoIrPTz7*&$oj zf{$|G*Lj*^*=oRRNgB&YT9)OhFyJ|rS(8Ur8`dYX`31*Wx$25NsT@zC1@AnM5pY9v zz}EB3x)z`qS1#Q9f-9h6AO#uMSap`VW$2rPBBNcRdAz(RpVAGwA8vQ#wme`%1s<@Q5S?E8i71_sKU_hnZM|Cz{ zYB9eQTs^ij&PEKX)x6BqT)kUx$AH#F$y4Y1*|^VThQ5U~0t~R}46ZRY)U_1x|6b=7 zP0~w~)TCLDZq0|oL~h%DxTn6{f?HyLmJl>WIfX+(=h1KaSgdiIj0C zd=@D#($A@$W2z#dbwTFQ-27=eI|$Cjg|Nyg=+)eoJ;iNq&|#&v!%{em-=$OOeJWX8 z#?Pb4a2Oe=UOVP-4$(Kl0X^cYpXEuy%?XSStNx6pyMN8M3paCdu~JRE{jlJs#R+=b zYdp9>Dm}ES#$^X~*5Imk*FdXNUIQIYZw>G=0sDf+&zzJh+a`jyjGB%>s=_T?_4a(| zXzP5a+#A_&J`9|<54;vGJ+46P_}CR$WMt}&jvh^%9>x$2;t7XxK&Eh<9C9n1JMbE< z|HQdpY(`Jrgv;nFuL){G^~#bC+&63&`R&&@xWiFPD~73ianuFrh8^C6(ylU;PoKbNT?qK}075Ez3cPb?!zakOd4_*{`V7u{c2a!$9QF?R3|iJ@ zmSNNE;6@{(JA{i8-28adplfs;rH`5`Cs2-|Y*GvVH&DA@)QMWZ(ByZsQ$NwnZ}{4v zm&+bb$}4!EL!+h zy#wR=D&8$rw4ltXxHnSrdm|*zkB~e@ZS-%@`vaLDp#CAAFYruZqVChj^eH{0C0hOy DzT{63 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailTemplateController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailTemplateController.class new file mode 100644 index 0000000000000000000000000000000000000000..a1ed0c0dccc0b03d4a652e697f24fdc04e1781c8 GIT binary patch literal 10904 zcmeHNZF3Yw5biyKo4WvkAc$b;f+z>#9c57}B&JLVAZ9~iE<^#}CcBf%Ci`;iOC4{jWbPH0iOjxcJPAYV$dU;u) zp<5WLN~37r?dWaa_xxcxp^P1U;QFv&Z*o&JJf~%0gfOkOd=Gtbf}2{UytKx(aI3{N zp`a#4T1!T%8BBCmTj5$qNlm*KYF40Gu4(yjhP{PHtK8?V0Sl|X=ivHDglDE!Gi(+F z+Nx#q;6++7ISh*qw3xBMnq0eJxV1JWYB45i2_|X@CTd+w)M8B3#6(=sOpgbe7{9|p zV@(U;CjPXALCdNEJ|XVbV&^@Rp~N?q)AIaKGu#ZX|7RsEFK@JaA+gRjm>;q{Qw7C5 zzgY`fzU4Moedh2VJbxok^D{Jw;S`0Iou~WR0mGUZy0y^LSWE|%GPo)1vSF_9lL+#2 ztkr^Ra)j@JYAwSGwIFJ7AI#(ip&uEc=W7Y|R4)sbiCmMfTCQLgJi%`k*;pc7>6$hd z1)+EXDUG>efhLM2p?DxM$>#JbgTZrJbl5vbOemIEJV$!LE9%C1I4|Mzex{Zua>3_Q zQMl&$){i{L_$|+IJQw4NJ>AFuvR2*8o#$m{TiAGZRkMiw0>GK}%&i>Bp7~*$94(jU z2WgXR);TQ}qJkjaU++(Qp3Q;y-JN?7CqTp_4hLLK(1T&{AgHb+gUuiXu`9>Hiwuq~ zX;sQI+~y%KMoWcflnLe!1#|5R?dP-Zip_j`SuKdJ=5({bLYBST4o`EGzMRF~v9b5F zXkjPZ-R1$9=(~Kc*>_*ps=RKnskUhb>&FM|ZX`D`oCR0HX~El`us06oo$MXW^=h6){{ zlSgQTUPZyGs&@-UjZoyXsCA7QK1W4P_J~54s=cMQP9iXVS(oPz&C3m|>9R2LF^GDxRuj6|BgZGv`lv1? zVz@rM$?OQ4M)WjH#9cLr9EbT^3LVqsa1W0zZZG}Cv6u)Or{o%-s>jPdwkYL7 zqWn~#ekXM^gNNmeE$w)YoIH>mQQ74=q6MOlA_OS;D950Tn??sFgS08K`he1?W%i-; zgQ9qA$AK~Aj_BRw6Z8L`qWo24{$D1na*0|7{0l)qTtMHmgcW!)+bL`JorFTCs|hpp zk=*&r2NSxCt5Llt3kKDU=qVZDYRE-8i<>474Bu*rHv|d|`|UzLNRB^cV*e5(CkLp& z=tqk3X90}%*w0ylg;{D}Bm2G2-}1|8J#a2UPJ0c_)BVuY5eOyl#EJDrtOC?cudqeH!lpw1q zrSxV2fOXsC`0!vbRljd?hBXM#21C)mKBrXZnf=`?7L^6A_hican0}jJ(JW0Lo7R<4lONl5c|$(;r{02&ItE zdA^@)wpTTFkW8bmVOmgVcK2x!M}i8M6mW#85x-i$gHt{@?IioF`xY)f9D@pqzQme9 z)Nyg@Njh23z9pX@7+2{_BH1Q1pFM*PA)q|$dNUx^+_@7h&j zsCCKRN*P%t1Id>BD4|}JFp{1oY4Jd%=JrP&m#bu9^N_W*Ctjruh0gRmkcxpSIq+eZ zW-!hRvS@HvfdArC2fjn2gPUZ=A(MCb6kL~o=v-@^3;d`1-9ej7h7 z;?prx!tcb)I~iuqXPUVrnW+wH=1PW{YNna1^gjHMjHVWwsbBzNG}kf*@L`7LYnhrq zrW>i|n*}tFXK22WsreJB&yxi-f106rI#csB-AdN?Vs1%875{kP28o= zQn%deG11Z51?A@%S{s>Kb(%{%e!oX+0Z`6on0b_8<`8{>!Ix+;^?3u=OZd3>oW)96 WrmyG`eNEre_q0MLt3ao!@Q% literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailTemplateController.http b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailTemplateController.http new file mode 100644 index 0000000000..9ad2ed2085 --- /dev/null +++ b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailTemplateController.http @@ -0,0 +1,14 @@ +### 请求 /system/mail-template/send-mail 接口 => 成功 +POST {{baseUrl}}/system/mail-template/send-mail +Authorization: Bearer {{token}} +Content-Type: application/json +tenant-id: {{adminTenantId}} + +{ + "templateCode": "test_01", + "mail": "7685413@qq.com", + "templateParams": { + "key01": "value01", + "key02": "value02" + } +} diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountPageReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountPageReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..321f52ee6b233d1e7a3b5076c87e4ff7f168dc6c GIT binary patch literal 7352 zcmeHMTW{nv6h1D~olDED-2!D7NXu=8OTt~ST^3dB!d9Bn)wWv%FUU>Yj&~D#YCEI$ zmmz@!PrUHX-$5KFnNG^4om5RP4^@>;VxN3I$3Evf$IjpX{`Lm|+=XxIFhO8TE8mMK z7v5t!pq?*0E`1p=!&FNIMu46&OA5x#_PhTcGW)c0j9jJJx< z%jx|Cy2Bo_-OaT+)Cjzgz=u@qcxzjanQsWx?8^jZx}&ajqqx{vB5>m&qVb5WhymAp zD`d+;NJ9;mLKA3o*Zm%gC<;ymO#6!WZ4ZHI#dc$^Sg?vF5U8^~8udfGYs8ugXzZK$#<<^COzR)15~!KR5hn*Uj1gz18_H-)KJmV1f+=cPfSt8(ao{>! zC-D5ps(VUF)qt1C#6OP&qRDW;0>_t8pNEM_PG3p1G19l3R@1)c_|)3#Y%%9R-bjZ! zX1~u`&2-=~LRI0UYjQQ%DVL+vG+subyVQ*F#}>@OE7LF!uM)U+n+tC45SVM{!zhjG z&L+l1mkaho9BnbRLDA`LAW5Hwn^bZ8oHf==k7J|<-LvN>%Oc1Lk1~d6zyg7V;{z4r z6p2I+iDa+H)^pMvl^AMH;F)%3vjOjtsb7xQKOvfp9!vPdu}tAwYIajRb|+QK46Q6m zO{o#uL2k8j5!V`7KAn{`7E=R8(8IZ|6h2@$Wtg>`KJ}kq+H@9u;bwW*P4cjt=3zI@ z!|o^#yGb5)Z7OvK(#`Vlq7z7_9h*WTYW!Ye9oy^U%H>DF*s^a5H}Qbej+ssskNQ#> z#}@@&bV!2BaS~~obB`dPLtvTcz1^6GdRYYbsqWcSTylsFc_j0;nrW?3fMnffn3Ai? zwk2??5vi(%xLn#;w#kAOOQ^&h+9|1>mJU*sQsr4riK@w{#B5)t(JN=m6Wd?82D$0& zWh8^SKyIf=qcF)tu{MqzFr_#$l2i_IBv$)O7^Dv!_nER~edf2VrrkI_po&JPr<|O! z7w(CbuS6NLKOsezaIdO(Gq*G*%RU$6N5>?;{PdM|%TnobjL;z43}Et2b`E1AVGLTj zX&xhVvLSJ!gXJ#P8vonqq*-FA^D~|<27E#Yt%mVSc^nSmA~0W6h$qJ!n7O<5L;+9z zX1h-Dkf-R{9zi0R05N!c5@bBwWL%IzHLoM$$U{R9h4Ko`vU7ekl1OO3vW*86pw< zZT$|jKh4bj3NQbeVBEm}77=^kCjOt!?q7q~@rl42CD5GGXp8XX5xPxS4HDhTqrFur z+C02{gl?mGd#AusQaEpI=wxUu{Cy9t%df=9+V=|(rwR~j@ZkZXU9V!aqPZ(VBjAE} zjD91F%Oiet;3-8Gj}SjDuz0%A;!knbCeU-OFV8?N@%qp4{tLXm#Oo`(0Pf(`K<~bV H*X{oR9&;0K literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..d96d1b4314412cc78b68d87d2b83c5f60abbf1a8 GIT binary patch literal 9262 zcmeHMd3W1H5Ffd2e8f$g&=z=U75ZrNanp!Ttgl{@Vn;XR#KH_J+e|JdX!7 zu(>BSC^lBiCUYq+9JQD{6M_pW2^r@6TbAhVln_Qw=d7le>lp1v}U|UR}$dZ)Kyhl+fMZd+l!>EV!F&R)1 z1ddE5%cfv7V5_(f4bJ1%OzO)JJz`RI)MSH^o%I1Hlmy#8J6&>mE+_pmtTq{OSwWUOtjuuC8s4ve-i(W~Eo57Tbqu3F&80rD^5unm%v=qnl z!A|GMCR&R#%gGeKgsF3|oySS{2-mW14JKLDA^#n*$9dBKjxe;6)MSI1{pfM<*cCY0 zp>C*Y2#feb>f|z9g_kRE4PHS|bHn!R;HCzbs@>&%1V3u)3L4lRyVr6zm{^Tq#YBh| z)~T@7I40(Urj6i-Hl8vpCkuHqvV!G zGVX>LOG#4^3|FAE4$!I~eaEe$$qw2YSCgpASBI z(z>sbP}imVCJjTe5$tAA2Yo&jIiilqbnP4T&Mx0vY%?Kji=q1#5yQ``SMg_)%BJcJ zXmF-lt0N)ckr#)A^&%{4rC$zq<*+xP>go{OsA!<8){P!1(xYLZlX^gGNo>!;W{ep) z+Yta_o{8Ou5Gy5(8lsyH*63u@c9<-eh9{*1;W}m>taeDgOivx6zW zQ~2x>k#Sj-=AOi$!BkJsS(>+sXitN0hNX5|;p{4yG~XobXLlGDL!ZSaEAgrMh;A`5 zWqNwtCDy|(u^x4a^{7j%ce=!S*d^9oOon=!>v5NOiddXUqS}rw4a{cPBw>$z3?1E4 zu$=C3>JBAs)+`pa z*x3N;v;Ic{= zsXx}jsHpxzQz2@)0ILYG;&UtjqRc{U$O3$gNGT<`09Z@rRg@^ecd38pl2Wm<5VfpV zvAr!}60ms0{|rlzgR?M#qXLf9vxv_eRN&km+E@?T`5v?jJ!s=Fv4`I?aB&aqQV-f? zcy`x1HGU4BM?Dj*ub|d1;^%$bm4?sq?{M|O1o;)F{tWl?Dt@cosU5$D-<4<;RH23= z4PJ*g4(0Y{-`w;}xfz*qdplEZ@4&kmp4)q9zr$?WzZE{nl-q~!QHHvG44>@7Er<6p zy1o7H^g2vu$n8d^+&;~e+s#b5eFmRrcy2RrD?@IxnR1(h`3!Zt4R>O0WqjVn8`~X! z|M?BhLw$#%iqeB|)8GsE@&Nrh`JsOgYwSeLUOPSt$7`^#k3~A%?)AtxT95p72A0qU fIru8fhe|`0#h3B(J$}Y8^R2)d+=mC49l!k>_(4Jg literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountSaveReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountSaveReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..bcb15710825928225c79ed6caf40216d5c7238ed GIT binary patch literal 8969 zcmeHNZFAd15Z-g$*l|3i4J}Zh^b#o8yhyy1x26=*Hf;?~QtC9Ne7i{3SdFA}?qt*a zGG<@~zVo9P_H>eMWt_&T6*KMhgCl8g_1xax?%wVy|NQ&MUjT3u9+sd$U`t8I4wx6( zk6Dk|PH20=5iXbZUe{&94usqFxvln8!~@$AVI+m`<1ljrdsybx6A>tQE`gb5Q-s?~1m3!b?|T7nggsArTRvY7 zLlLpa6QLqdZnm5@4;V7exm-EY>*x^zCH{m39iI~@YFP-(HwQDdBI(88Rmpd|p5*Q- zE{(u!b4^5RUEfEzQoxmB+ej@nS2P6D%3Z}}$O0smJ4~tHghWw`ZJ|)?Vn;~4%r+Zg z#J9Ob{#m8`m5`y(ntojfpR*9@r&Ppb6!|J0Jh{!I211o<^>p2D56j!_bR>%NfXNUA zR|s*k$NVnB&NqD#Y>6HFHV?UE5qEL0cmtPH0!rYO!J=2B6tWD9WbVTK5YdF+<1TeX z(DD3OowOqbiW;aZv@)yTqYl%$rdyo$`6EFYjrKbHCCf{_Jio@U(dIPZQCqkaT~9}+ zTAekgEE$!Lqebh<*TMF_Wk70nRpvg3(Y6CXN7EKPPBe%^r5Cr5_XgF(rh#9?@Ba^xbS?jr7y#eG_Ed=(uLlF>7M%1575@ zs#Gh-<>+SE2&5h6>|ooEE;^x=v^=f2c%; zMRoryV3E^~8wUJI2fclG7EB2Ao1qm)jY;P;@xco^s2}Qy5s@duVOodQ0Xb2I^)cJQ zmgT6_X>2yrsU0DcZl|P8#j%)lMz%59+I3#&#PnvDlO5K4!?!T7=iOT2iX5rD-PuP`<0HWOC|Uj z>#=0nC1~M8vO6WXj~{AuBrCy#%y%&3i3F;vroFs@-Dm|1fcYqXpesWGPQna6mGDVl z%Xlro98?q9Ddf|%Q}{a_kDcj{Rgg0sE5Q5#^j8m{pM`VD99f*#;PsL8H%8Jm#(8)X zB}rFs0i}Egf0t2mg4fEQaPi^%!te0z-?983;9tE`9Dy4C)hpHab@&jk1U`a~4@LWA zY&1Jpv`=$I`z%+q&*6(4^>!J)%n|LYT+zOUZw`>Hpe-r3xA86HTey-V+ET7)S93-C zE?2Z`@O_SY`vI17M7y3V+70|i3KQRSq+CH88;)^Dx49zR>Lcn%I2js&+i>S8@(p6} z_&(9-N2XCLeip<_@Z$mdJ3#wsL{uju&WIDRihEFiwfM|QPp@^P{er(Lo~U=>9&F(G Gv-uyM90lkA literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountSimpleRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/account/MailAccountSimpleRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..c73ed79b6bf4910447df759ae3c96487ed29eb6b GIT binary patch literal 5289 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 Cmnp~q literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/log/MailLogRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/log/MailLogRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..3efab9cf49f03935bcec7c840e27bc9331c3909d GIT binary patch literal 10768 zcmeHMTX)k&5FUjPJ0?H~&5X1# z|549r&uQQLJNnlD(9>@v*xumjwKBX>0@S6IMYENXjcmQ`WuQSqCx49TiwGvb96Lhe~*xV$DDE(UYh4=BVI znanv4ivP6a!@!bN5^4TYkQ`Hzz_0N)CT{(=0Te8)VZab zzFW27XatI04Sd9u8=le&!(yIpG7(?;0@s`Tk*_m7LZoc5Z24s?7`Bq+kyZxO+b&hA zK*#8n5jsJy0>{qSo*hkUw0~SKt_f^S%!?{+d;C((T>uy|ltNKnMOmL`fi1=B!89j<`fh2Q;QC&P(t`F;iJGGO zm_%v<{2qze!1x?YNl^ZH@|3Yu$yN#Hg|%e~>ctYpI6?b8!gKfFy|7boNRZzkNvJR6 zPRYO@Ccw|e6WpKZXG}p?5>p74^f?I@Xpdv1pW1P9YDJ+~t~gTmQ(-O9k+J2Iebp-# z+R7UYq`bjM&KnF{dE;gkr9OrO4y5e~DUH*Flqga{O4LR|N~BgoO2kG&-Wredv7g(1 zH&&6c>sg83PeX)%+e%0}PD;qKNO-wp=%*>8scN}4r6jpFfh52|2wo`t5@jGQ&JFN-|jo{5G>G@ckI4Y6*R4hutl(RO%P z7=CzKEDpu!$n`2SSI{BqM@-L1uM&*-D#1vu5{%?3!DwA281Yqt;i7pq>b`-igd@7; z^H3M9n#&?{Nsr(yzFNiFWeqs3h*_Qy`*1V*5>MG~)eqolKVuKtIFb(4*x<0%#u}Rz zp@Z%wGiIzswzE0LHF2*b zzI`;m{=_FT@ts8+kxu96Yh2-r9m~a&};ZV zl5o-M^ae&6z1f4bw|bU#n$C2!t#@f}(6{Y@jluC1zuGAwx^;-eIRaAHRTz~(y zZ;);`C5qGk=A>y9P}sq~R^QP(8bwXq&06t;NIXHc4Pvh)t)9`zXc>LcHd@6V4A5Gf dXTn0!1%HXZU+^~y>R0p)-J$R4N95$s{{!ziDFFZg literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplatePageReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplatePageReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..3064b0ec483edf9457aae0bd6fcf4577835f31d3 GIT binary patch literal 9594 zcmeHNTT|Oc6h5LP#ttNeCNpW0wn}=ldy#udZy`-f0|ZYEPQj4UJ}^RBuo6jYRY0vT zePnjcs^wQ5ZgHE5>VC&IdDY`~$7R)EKM0vuwYVP&?z(tv+8$oQn{Ktst9aOU&5%`> zvCvFz9+T6buc_s+Y*(|Vx)0R&(DzGOeWMCSNOZhdLsrMMJg~IW7 z@y@t!dU#eeEsKLq&4v*5I**=}EWw~c6TBhqPgu50cRpFcyVLc9n?)`>GsIG%ZH6He zU|-y2;aZ~2xpF0?&-Jt%opxKWAb4mB9|8q{IMX%VP9(0&y>0%udY}1BfU7OVy$4ka zbWNiRJ!KYz;9`Pa)y{6N`#|Gvm)W|-y|#lbfHCy8;INw)+}2A)`JQf>(uVpr(+}xG zuA6$e-)1jJPS-B+whq~X#Qld*^?BqF+SuiX5Gl!~grr0y18s;z`5Quk>C@O%O+Y1c zC=n@b(bFiP1em92L-+iDDv^@dN<{ftTg^LB$A;8|5?!U&CrPIpD3Es?-wE$(bh(@^ zWpPQZY@jyP9iOdqylp0$CJK+Ny|Q+0n8K0w$>Mm}a!|o{>Z52mWN}7Gmi1GkODM>_ z`Wah$c7iGz-8i{|qJYLYD^c4p3B$d=lOTk4GBYUs64cLLqT`g(<L$OYJwHvBuy28Bkx>Kjp#N5$cwo5o~=F4j)DlHwVUma@+@&kS^?XOgEVG?Ikm4NrzTs(c}Yrj6OD8>>5E^ z4$C_Nq4+ZwkB4!HY%2%$VT1!L7SHn;FU!y#`G_jdEFPH9eTYCZIVP#4m23q;|XkDV|hwYDXsFenlei?eLQy$eKb=a1d?>~!9xi$$3+xqMzM`J8s*H@`D zY4=pn5*WB7%m|NXi zZmcwyw&v$Hx0V{~xUH?MHy5_n7Vb4x<_E%blY@a$v9B2&NFNdZzOdVbN<)bnZFdKDg_VDheXxEQ`z=Kk8%7H#?kzDisdM^6Q@0-zUVP} zops-#+KV0|`;a4_oHPLCXpH@*JqEu1A`3)~3I2JI5;elvSq%$eGUHCrf<|sW316*c z(Wtb>JHld%I62ekYUcPC9YV;@&2rqw@$}2}V=Wd|i)e%0H8~3cw0^)I4=&ey9E$`F zzQgQ;w!T35(?A=`eErQ5DxBBpXB4_Mx)8) z_#mx`Ni?7v1nc5|3!I@bTxW4tz@7Y^!0#BHqse1yQyFXL>B2F(X}XxKm4GDiW^hTm zOLQ442b`{8^%Y#VAc=5@}DL(j z7=YG`g)cL_SIdlrS-O*;$(Z{J`{O<5A{X!dea2cev`fh#ulPkG!-@4f>we Ikh|9Z1u7APi~s-t literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..795976870eaffcde3eab0aad0351e1412829cef6 GIT binary patch literal 9714 zcmeHM>2upe6n}Ev_(*z%mO@)*)Nt7x5=Xh3QYgJJI8901l$LUAq>ZgchmmB{eB#ey z24>(pe-y)SwelfHiQQT?rPB|#wAZ`#?R&p{`um^X|0JR-)GAO;Ar|5gZ1Y_118LC785@Z8Y%Y#YPObg&33ZN2O17;M`tw4g9fpbXCJzkXYKswt7JUA5$MU(k0+|&m@COWn;4SYm2am=2fbn|hTM@6k zP*9-~GYk)0YmlSpTE@0qaxk<)L7^a&sHfcVaLb3Q&H!I z-Ha|`;#>e7I#^n&*FdewebMPd6@Ocyvf*%5Ju{sd zX47f6eI5k2neRfeK&0zEcexLWCI<7Dp>}~@2CIQluKK>`7wJ`{ zbnli6YM$NYrfPUj+roar#%kO5upLftUM-izI@MreYt&7y_UDJ5%G7YD&7VzqW|wEq z@V`1FjTToO9=1GFMZCEY$H7Wf-SRz04KXSXwz@m8 zZKBNnM6s`#vr-$FZ44|b(-OVDKozP2{#~$KE4--CiOMjVljyX%A&{Wu@*5pzllu(@ z>?QD=fQB2)w?sSc%!e%t$kM1kb_fsfSP;1(g4D->MhEyY2GvD+SD~}}BS-*9Nk^ms zKzC5=J1B7dQ1SsDM=LsT0Lgfb!yaHX8aHD!UKFrc;_)-_>mDdvtXhwO_&lZ#ptu-W zi_!QY!DtAO9}`4JA$cGn`F2Gj^6G4i53bVqzofa$%w&i+4$=&7oDi;mdn%&U+c>-q zHV%#6#tGwzeVdK(ewEx(U1K&9l%RXh{oG35`)0?y@8M!chCDnJUOar~oQ+6xxU(}G zp(_ypWnEyodRL+2Ljh*B%YEN6Ibu)|H_xkLDPCJFXi0ZGP^s3?5qdHdDTI!VBHdBu zOZ&&8=te6tR)lXwNYg}tLX(1|Tyr(G7OGaDTCRzbgAv+05(0DAz@0gQ%e``hsu?y5 z0(Hx>c_3l%Y`6@Ne1>2%#@)#$4@)U%*-0y)}D52W#`fZy#c_f~pPt4|n!WT1 zK(fDhxJ9pf9pB*BfJYTNxx1Jfg>vzQON7rWc&cxK-%aq#t6KFcQZ09nS z?So9IeV8e=kLY7~gY>;m#(2u)_B&6@8G6cvOf~+LE@mj(XY~0V)NyIrC$ zGNg7nQ)*W-)%0qnvR%uR+VxDSeMzA}Z1m$@n#PYpu|l`^*pUIXZ&Nb2 ll7a&c&|TO+N8d%hEF=`@=^lPf{0;*_d`~|TBLiN~{{@F3Z=?VK literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateSaveReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateSaveReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..a960ceeaf95cedc5d084d7bfa94db28d27829fbe GIT binary patch literal 8968 zcmeHNX>;2|7=D!|@zD&F&~lV(TPWBZ5=WuXltO9KVsH{j(sbb4M%u(`B(1xWJPm)0 z8JK~O%E>4E8-932Ox%n^|Ln z55&57u(ejBS%c0b8+bg}wbr)p3p+As#&ryu?{;OdyJXNS>v0gdzUTx4H*~i>aU%$1 z#3NS*p+WWThTRiB$Hdc)2yNx|^@u?=@sMM4VbE;AeLNPsqn$P)HBqV?YsnHM7Ol;g>LiPn(1y zezo#b#J-Wcwdwh%UG@`5$MI9pagOcqN4j+h!7eeSC_k$RucqhTW7xL;)b<-mcsKp| zv*7RvwCDIKsMb2&;?aZ%v`KH!TMKlF-bN^W%?;e>xEHdNkC23iFCy31`hIdJ3@q-M9LztkV~eDT zeb(QIw5?pK(T~W3GCFItf$tz%l52Fg@Odc@Q5ROyn(8KMupwO_1g-e;)u0)gqj|Jy zXz6Di&lx&R3t3+iE#3D_(tqZV{^y1m#rccF`6KM-hkg0nvkCUOL;7E!7st}_(r|u` zt>?W==Rt9Pn%98*I{q%>v<9Bd-|3B?7BBotZ~mF=`3`>dYK%||zxvery-n}pY0!K0 z{zSA7N~2koqJ3E6q~&S*s8ZTKt`zN)O3^OUrxo7mXO+@+g+4!owizv#iS(Ag(=X_1 zg=kBaqFt->q+eD_+x1G(zN!@MYr0Y4oqkg(Z8!0s6shgimVFr#d(i$qz68(G?IEJJ z($k?Cbceou1brj_P+r42L+u}T;wM48MBg29zazBo$9NoLjQ=`CE4YIhT21_6?rqo5 Qx23HK&C(CF4$rvxFRH86Pyhe` literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateSendReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/vo/template/MailTemplateSendReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..12c1f7dd553b31bcba08daa07bb0c282a36207f4 GIT binary patch literal 8772 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 BN?HH_ literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/NoticeController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/NoticeController.class new file mode 100644 index 0000000000000000000000000000000000000000..265aed385368a6706b52d4f7e3dc56ba9fc8b113 GIT binary patch literal 9939 zcmeHN>vPmp6hB!C*>0a8-~(q2h|nr#{on}FiuM6mNlWRrMeuo>z1@c9MIMFv(SJ%u zXY{*&gERgo>hC7|NZGVE>$J4abUNwgaqcDDZ3>k6GQpAlHj5lUEm#pPBYk zmHHGKO*q=jZB*~CJ>h1g&`?TWoZxfsJD z%X348D#j8Iy*MyANY6auYc?79ouQF*d%cP~Qxu zsL}{D=qPzR2)v+7rsA0m*xPut&I9h6kgy(j4z8cZcvjbR(`I3)ty?w^ zU#65ghhU+A&&*BM;MyhA)tgw*6D;T{7W5PgdIt-7f(1QY+e=#A|R$ zKld^1EOWq47qHV4^ZiFrseLTR_ku_>-5kpwQ|v_IzT3m{WLDn~iYIK71rd{pDoEx9 z4L$S&%WbR&%;C?xU{l8Vw;V~=;Jb!|QlBk=@O8gqq@Nf~E|k_jjALZa0|62O{aNJ85RK@zg=I3yXc=oPi~ zeONAyNPF9QG2l~iwBZHT4_qRA#&aCc#ncircSW%53L0K9Fi0dWA>sjD(_VdBLfKp# zw#6}K^}d9u?jM$-{7L zEuCPFa}Wtel8L1fI_|B~Kg(?%@nR0F@cJm0G(Cn+?dhn($peR zxJ`&I&WM53e<60(c(BaSm_bX(@Jwc}vcMA8&6|DEhK1hIL*qbNU1%;1ngK`UlPYk@YYgeHSq+y(aR8;qW%QGV@Z%G=FmA}mSP<7Ix0oG+$AHmJUvO6q zW5;2^wnD>3HVwg}%P;oVk{m&#Gdmh>s*yOVL}Df(oG8;3Mftfvdn}`7j$g>e#kS%S zy6i+Gq*-H2NDD;B!%UhBsMmw922^8T6zMIfUXw$wnYJY88#FrA5TNj$qWo0^3da@H zZaHCd?OJ|9g4G^YI%!YuLj?uI)RP*jg_!eWsWa;GXz+T8m)iMY(#Yax#Mn`g!Mh9? zZU2L-J{Of0Zq|8d29__H{tA_YW@{XNjX!5-AAw{TF9MSGK{6azysjvJ7Qo^T`4V#% zc1(wwX6%1iA#d*-3J^!LKr~SMC?vp$lkV_}kSZRu1Ly9bEYqZ-{Bw+)9q+5M;W@j{ zBpXJUTt;$4!8O$2QHp9&N@a4mb_LcAvQJyVb2pkvIJZ^>IoZq!(;^YkRAh65MyKXU zoMF2Y}QcI)2XaicIE4zf|tf_&= zGTl{5rw#>jhZ;e%W{`lh7iU=1(;dk|9l4kvhZ|-3LZN$mLqdEEQMlT}CmglpecT;< z-+;Q^`atqWk?H z*w0&Gi1x)YJ{$?@BH?=!e2Y`U-$^=!D-~Dbx18MVr^*ZW%D5h&LHr*A#fKQJ;J5NC z4L>?F`V*b`JsEcn{{$5 zqa~(<^Hj_`IbyEnin*E*GuEq^cXPy4bH!Yv_hE;0HhLnaf(eM(e2_bVk8(I)&*glB zK5lcqS%C9I4(HEuIe$X8+AHvBmuXZ53pSOj{B(|pxm*#m8ME9jp!}U2&JS`qf1cr7 z#Ncx|oFC_KK0)^|=Mou-w!<*}JgygT2wT)~oCk;(X^EC;mA<6M^fi4;-_zQ^T0xvY literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticePageReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticePageReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..d67bd7d59baef606676cdcdc55c68afe48356233 GIT binary patch literal 6794 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticeSaveReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/vo/NoticeSaveReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..b20025e5e7a9a8fa7f446893aa970cf668af4f58 GIT binary patch literal 7912 zcmeHMX>;2|7=D!|@zKzBN(;=ig>A}Vb4c7rQwqH?IPFXm(kb6I(k9+U(z+|j)9`cn z6U@L2d}oHg#PF;n+cM+UYOMqq_+ZQ0efPcgz5UxCKm9^P*J-^*3l`mrwCe<1hRy>% z;Eo$QQn|_#+SyM$uAD%5i7%XJKZ-@*xGIdb@_lS`FTkNt#nKhdKsmS5UmJWN?uv(7 zcWSg~(TNnN&%<5k&h`W0#uhC|&!XjSSB1N47M;19gs}`nCmhH~Zu{a&2#h?IDvT_u zcQ@Rg2si+bdLnYQ?3*2nYT^+O`o6GeDVDK$p6rfEZNyrp*jKc8m`E+WbqHipvkM-t zf}1@ctOX*9_%4>0yBqR*fu$n>e`L{Oyx+%aquU8%u`4t-8s^~b#P`iPqXH2^lH~}D zCSY@ESHvAiRd2P2a-A)*ll1!<#O`q&g0BcjmImBUQm%a!Y^y!zmI#IBvGB0Dcn#dv z=w*wJk7c@{wbFHB)^k668v>j12f|~n3i{Gd)y4W+L4QGXku@9U9CNwRCEFHk1RpEL znUU{*kpGTeHhY2vBJL@V!B97izqHzHN2`Fv*fQq8VBc`#k@Lc0c7%=??8SftGKyfi z8EEERhiE{P{BNXAH;(|hUpE_vgt+6)!>tLFe`R$OS2hpMkp`-X6O($ZLfjI36^J6x z-FTRAzm?^fIcz&a@UK#Lh5qn#S~s!e5bdyV-&IDj0@_$*p$(p;cBY5LAc@C<4EK^p^F$w1>k~oP};Sua+xP`R2%&NPWC2g|HHE4By&|n)JcpL zT0#MFk4HUIyH@BxSqVO)l+BEC22fUL9~w}eVymE6op|M#Dv<_CfRxgARd`AfD+OfA ztr?egoyRkpt0tYJ)fKuxucAx5Btscrw&--L*b`dN z+IHZ{tqug5<0OQp8ZTM#f_^y4I%wX?8tC>xN(owNxVI>nb|nW$x@JhDX0pg@jns0G zvNl05kM&SEUWN)^#$bf|u%`*D%!-n=_IEIV!u8+D3m#)4!&)0Zhv6QBlUBQfg<%1e zE^O85sf;uv{@%MC6f$2%yrxtB~sd|iqOS4B<*R3 zGaqKVK93@{BYhENCH>)0DfHS^)yIV-J9eQe>bOb7)fXC-)m4*>R@n3y#GZhuU`)vR z+}*=Wkgd9*osU87bPQ@|V^BLAgW9O%^D(HMjzMkI=a`?^1GUOLB_d`9Zvl_pUOGQP zK@VFk;ztm-&Cu0OZT{J*Wp<4&L}~bin&L4N5LpVeACti*Kp*fuuBRrts==}u?-bU} z_-QzB%!1k0RONogJW~6*rMnkRx&Z#i?oP%;x_D<6mnvx`j$8$6F&L z$VFqHHTq`af00a9i&oaNA?qeo714P@62-qXOSFK`GTv%HM!L-q-MLP7}C#9p8pCK+zl2!qcKQy*U%xTcxqRLw1GOoJx6nw^H8TqxT;p>4MR3 zdJE^Z|tw-E#-@mPfU~eSukFpFCSwqV{BKZL;!0_JUK$wa0d(c|JuZ-VT8MZ-`(_m Mk#5pgh*V$y31iqaO#lD@ literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/NotifyMessageController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/NotifyMessageController.class new file mode 100644 index 0000000000000000000000000000000000000000..d8f39c138b3cca38e2badd62b94d96c57c3c0c9c GIT binary patch literal 10454 zcmeHNdvn`F5Z`mt%63DVzF#ni4iu+QnMYyTCIr&-F)4Bq@+vK*aFNc=wR*UEgqm-` z7l4n!49vj)d>g(1!=B{GQmjT&#!e>CKWx4B_V#vvyL-FRU;q5}2LRlLrUWGdk6lNr zo0MDir*xCnHLK2T&DNPy@Ax{k>!z*y2CKUr*JEZ~vn|iD4Fexj-NZqb?eS)(J|7$! z%ynst%|=8Lj1U+P7#q}T)fd*EGR-4!Dje3OUuMoG*BF5_YJyMq{v?5mOTOiClg(M1 z+~w;Ao3W4s^|)=h1gh#1b8X+z7?K{D;uiO&2^^|TtPvQQ#kENA8i8XyG442y?Udmd zIsW&m<=|Ljlj*W%n{93cOy#y?<1D6oQ?6E4Hkj;n+DsM<6tNB^T!*YtA%?up;z^K3^B<7aI`gi7DiS(97Hu8B|Zocad(c#m3<8@}s_ zCrBkzOT?Ivaf~QfaF7Esq?(Uss&0nK7;=y0)XV~|Gt3`5Yi5xO^m{@neHkRK!9|D7 z_}+%?@E=(Q>8x#7tli1{zXVMI58s_u zbNNDHBs4k)4+~<)kMViK*5wxSRJ+BkRhKz)dRoR3yWXHYNH{<*^;Rol>a|)K zI1UDG--OQ`bafAYpOAB(Simf5wwEMqk}D|`@X|TUW39}MZ$gB8u*j?YDvZMMQK-NP z0;g+guPLwj_SZU1r<~qi0;YkEesJ2FpwXSD%Z;p5y9NSM%)M2*Ju%$JQ zNhqNa?3C415zHnh)VS@DwzAAy7WI4wg}$0fG?i?!g$ACS#<8PnPlmDbgWG4hyOxu;(QKJhL1_<=ly_vJX;P07r6p* zVJye2GZd+Zf#y9giw4{EBXHJli#B({d6pQ}!`&C|qx&6Y0(V^aU@F|4O>ZNZQoBWO zcem9m&oB|(Af+ogJfb%y0|c&)E6 zxVY_B9E@d{Cgi96K;OVol~6{$%5l#FRRJSo0vBeXdSYE7#t=APQ@hplwm5?u%*yhF?N0=o#9%Z;s;Qr2b7vIL@H9LN!vmCsgy^CMF5O_TSzh19A z_(lXf59$gP!iUxa? zUt`-sfI@;t;tU%q5VN_ZuXWjvPgSb-}3AH}O{NJ;Qm{T)Uh zo*4TT#{a~t5}d?;F+y-Th5w@=6`Y1M!M(F^4o9BH^AcPL_*e1l4ZMC6e_NbOcph?o zH-+=%RL&D{1xC7@--{#{oZrEpL{O0TQ>VC^GDSUgiaLA{P4QuoDLzV>;zsHe*Wi;# zKcD8%&-E0}GpU?!!eqpGDk1!q)_eB+EQRY_D%a29i%2Cieey<{znrT1*_3G(Q>VET z6aH>untL(My#>sraDJ4+`4D`G<4d3hJjYN$4ZNPm-y;4P{>~uezk+30g$M8uzJYJy IJD{Nb3*`xL{Qv*} literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/NotifyTemplateController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/NotifyTemplateController.class new file mode 100644 index 0000000000000000000000000000000000000000..934bf9827dbef8c3a12c7b12ad0d32b9f73defea GIT binary patch literal 10556 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 Uw{a2O#Wjr_`IZ)F5mCPU59tHsEdT%j literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessagePageReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessagePageReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..685115180bd6de4087c954f5f63a35446ec3e73f GIT binary patch literal 9746 zcmeHNS##S|6g~=Roj6UChIR(p0!rCz7MXo%N+D!vJUDTiI4Ol;GKzE)tJT&k*)$CQ ziy4@Kcm4-|gW4R+R>ga6u?AL$)`}?0nv`pU@XiTB~fEyJ@x7^A@ zy{%Uaw_a+iba^<*=&T zwgPLa=N_M+SCsQVZM(qc*==U3hUfSeq=jx&pL`FuE$%!Yyc#lKoL^S2%LoiA( zC?~0u(sJA+DO3{DN#c>$s1(BdwDmORBgI;NK=}zNXM#v%L-InAuF`84NTqos>syv< zg|`*DQc9<@IE|Kfke_On%Qjlh9x}0xsE&7Yh?kwGCFP&9gKiOWFKO~~=qfmRwYrZxS|OHI$H#ISxuk3K}5~GvJ|D#lL15+US&$W+>T8u$bP;UrPNuIYNECP%7_C z&`o9f-pTeGm4J;Viz+=;n5-tMaV@UKGt!-=RzuYaRLeCjj)L7jM9H|%ICBjYnfu&x zaR0c4XQrwdwjKoPzGbtZI5|2h4hx%}srGqgsT{KxcBIYjOJZ>X74@%xbgUpiB_8W1 zcH~%;E)h}F3lqqJKoWYgC{)cH@QW1QkGyNMxe!R@_I^qo2R;jBnGD7zjLz4MN9Zxt z8-}YTjjI+lu3FrkZZPSfGl=2(6sajO>9u@nQ98 zI>=O-XqUCfd;UMwSZkK!dpuMPH^T>eAS`bfL|lVt0}^@-3Kd+o4f1vjmFyU^5TQtwfZ)0s~g*mmEEnCrTWJ5Ks4=S_)wgD ziop+t9cXY+AN378;+AQl{DVT5Q_X)pNyHc@e65`ON1`2*FyVYaWGy@uf}d9*$4*N6 z1L0YwsMJo3s=GZ)aU{&RSK_m1wNH_-pRrCP)OHG?Ite`QDo=vj(}VOoUq^^%TZQ1r z87Hby>4Kk~n5ht^a#bvZNt--DD+<~9WCXdQMxo-C*Ww0S#Y_$->)9P-G|3PL@M2_u zvGt3!V^tVdCo$=`C#6Dx?kY6h zlXMHTiSukxCl#mx>_^F|KsY`~{ZSyUTX1~89*^dPy#_Q-P%r+)aE``soyT1Pcj9{j z-(xgI7mlq>)5T+JGZ}ERbSZ%=0+YZuhie9Fm+1;tI+R|*>dUx30VfK+i+|A72Xohd zqgVgJ-5A}#r{GAu`#L@aM}VR?=uLbp^cKB66kACe+dK4bj@aJImACgv%aOMVeJ}vq zn9y&u3-WsVkUq*0+sCkmYzsLJZ=dGM+h_E7j=ZV##QmuUPI@ReOZ6S7T{|9_&#TEbn literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessageRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/message/NotifyMessageRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..f324c68ee49a2a54591bf099b8a1e564e5538bc9 GIT binary patch literal 10372 zcmeHM>vG#f6h2DR*h$?>(iRFWpcV=?r81XtYf7O_FBqJpBxy>^bt7$JHM&)jJ@s2K z4DZ4W%#{B;6vMY#$(Ca!HnnPo(jT_8yJydBchC9u=+D1?dqhOns9B&1h4jGJt2Q&8 z>V4K?Ro$tYuI?J#ueO^8bE~#%G%a2Y+Cj+es_r_W?^+gynPFp+c16$mOz(Wb~E#@;D2JNpeG7kgOtLB!&!ln<7=S1J7e(|Xu>AU&M!Umr+ zV-+51g57les_R;uIT$F4fi<`iI>Ng;v#!BX(IIB(7?mw3vBks4MdeDe45w1UR-2yZ zVzfOyA#PRuhcp>XvJ7xZBm6+~GbL8W@}u4lK~?klS_Pb>DaWB9)cGPq!U# zbFCIPRNb{b6AOSfR6XCta@)a0b!J-3Q*|bmUftkohdy*wriNI=XC%-3@@z9aZHHv7 z!Bv}w4cAZ+l2$r_tz1zzeb-h)jEmE+W~3JciB0YYDt3h+v&|qtu#)6)P|Pc6^s2cQ z=a4x5kE*N8H8aya5qtDln5}b?#`047-;^S!jwIwt>2I4NV>43wd zDZ=Dn!9A(o4n$1zlnNXG&n`}!O-)LmVgVEqES{HdLqkMiQ8$>vbj-!fl^fNH9HVD!vt0?kRLE6`+?}-1kjGTziYSQ(hNS z@!DWPL!Q-r&+@z49YP!XOK;1Mg9?VRSPf8bnClOAb$x*Qta+frtE171Lz3G?wv;^4Yqo?u79)m9yRApf z7}ZIl6uFaoH~NguJrzNBijnYUbP@dqJQ=qnxnXpT`L)^fGDEPX~bTpp;Rs%W!NZ$y;>{?J1tPRqfa zMH9tvEsE%)OO=ak+Meqp`nwr6paBs=@dbjE}eVyOH)j**W8O87@bBPa~B8kiwXbYc2 zV>cDZ#3wotoC>s!?s%^i$VQ>3$NmDjpcH|+Ko4*!!VW1A?p&#FxXFd7v?$B%0^S95 znm~=O%O#qi{WOJE0WI+?;yHo-{=S2BsE_V&2Hg>w?W3E^=sTLxcZ`nr&3%rZhejtN zyJKJfq+_^E;irJNL$~RQV&4eIEb9 zD;OaS|E2i7N^hg3&^tqLdv|DV7wG+gx((0mgIsm{kUq*$w~uq>b}?6O^K>akOFyB@ z*jsWZe>z~_4ZpUZ(Ulx^yh;l>a=Vr*x9fCc7u_brsf^C+@P50QE4R<7mZNT8Oyy8r{xO$91}sBe$<}<#w0u#k$Sl`3=r! zI>-KV-%ZlD9gZRskH$@*@96tI^y^}P;bY1Vo$Qlk@#AnjM?dbezFlrC163#)7-b*n gSc3^NqP;9M6ljm*7veXE)+RORK3U|Dhn?^L4H(cf5dZ)H literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplatePageReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplatePageReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..64d00c2e7b1ff2277e67f4f14da83d6cfa8cab83 GIT binary patch literal 10110 zcmeHNTXWk)6g~=0?YIdIX$ysxqL!P@Mdng&O)rEdX#$SjN!&1nhm0a`VzrXiUCE}I zVfb6jzzn?eqZq!GWLr)oTNxC$4|z}=t#XWF6W>*aEc!FCN9_vjTlN|1udk2*+ui$ap z(mhtG`9qEH_JO|7HrdnddY*C$&HF+u-Py0ycONsuQz$2;DYQ@>JlgVv>Fh5mba}Jm zc&5$Pov!JcyB1q=AW-*A?zjpSs#`{j**XZ%HkoS(vn`(}lxNR$CJ!# zrp#2=9gpoZfjLD(FzDL=e<=2IwaN|MS`J6>e7@SdS>?jkJq+dBy5}(=MeH;0p0D_Y zQaMibE78GDyDgaO{-_HFhPmK0-PNs*Z??tlUH+tUpE*oGcoPqEl5?J3SLocpDJw#7 zQJ~Ap^zDZZxN)n?nySI=wh6bxZnZ5qTx7d9)#8ktry9C+m%7W;KE20PUG)yy?35(Q zFJXj?@m{cO6C(qXWr)ml#4%v4GpXPr_pOtnm@IAyL{Dyc}> zWAa{+F43E_bd}yhUASdBrgul7i=}9~4$4n?8~L|tI;_^QcbRDDNUpL@$uhC63sc^Q zgE_BdqPje;PO6y7T7(KzLv<_AdkS3}T@p|cQ2Q`pE3AWOQM3k?a84GpNHJU}m5-Lg zyxXgIzr{IgqNYO?X*z7ee?6NzrM^k!Noq4E9TV~1ucgDzo2WW3mCD-%x}lt#9vu@t zOlY*2j|NnU7c_~>v;ddIAHYvfn$P%7}zl29>iQ0 z{KH*%Sim5lvJf(qi;su`*vvvm)Kg7{0FZ&u){Q6V0MzS-qlJxy<~J5v&{$|eW1$Ti z3(apVGyqpL7Fw5Uy~g6Y+T_etC87lyH(LH$v1e_BVpI@PuqOK%%@64e#0LH{?KT&l zYB(`FV~E1!<0yhcrX`fBA!Z@z%F~W+xl2xSO?O+eIY=p@!4vEGkQgrZHMcFBu04Ug z`U@9N#!2wKD|@qXgb5xCTDO?Vau-g#MUfdQ+}*9v#n=*jFUSE&X~XWgp31vS2op=f zg^D0S1I8Q=7Py@@6SC6^8K-KvWVif4#~S>9$3#pTD(_ir_0jpHUkguMlmr1;2ZVwQG>GT8(VPs1qMXu};8Xx6 z5q?D_PMA~5gDn4OeGCj4J|G`MyjtJfSZeG%T3OoM*{IhVYdgzJk9OAT4{^I*d)Qdn z*;=_*uPrCC>4t|c#hD@ekx1_!bK{T)O)1dxp+lY^{VbM$Qs_eD?57^0xy1r~qZFzs zTIdwPoDE52Tb^Rn;GNQ_#(gM8j)0O=j4I#N^eD#O}Fgk;` zW7d{D`vTi)PXRo*xbEPP*ER7SiQ}!A_}D=ht%E$R;Z;^xV)FF8LUTifJ5N>c>|^pg z)rLMI3GlT-vm3#geFNuhE?pyd72mkzXo{xk4DRx{lfMQ0PSM$zv00isLiaMA3&)C> zCFjoLl5`7n9wR-juVVByTsI(9!Ef5kcI~!2Zb$T0j z3cZtp+qg~_w~sUBrcotB-9DjDGvs!aK1<*> zh_}yUA_Q-SW8&=#`ZDAuGS1_<#jR@`H-#4I)(HIu z7N_TUyT8NYEFN&Y6Jzl!u@-*|uT9aCp92< GVdFnq;eJj4 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..f86b1a3bca877e032241d7f318429069ac3c5b7b GIT binary patch literal 9626 zcmeHM>2uRY6n`=yJ_uI|Z8>Ht=z-ls>On6;X(hwBP$jb^2Sad?-;8gH_X^e6XcmJ-vJ1rN93E?GGZlO1ww~jd&<5(_@Zr-e+BA zTE6K7R$y~sZgy-Im|kFaTyBP&VZ=St3j9a}u8YUa_VAJ)M9%uA*$qrQZo4ev=0d!+ zk}Q{a*j`;M(v(I=VhS$vo95!$eQre>6&zcm=|&^)n{yhSTI%?b5p+=>~ven`q1KfuKinFzQab zEqEB-VZw(jp?ssu+zxQfHr&8l3pUK_+~)!qZ9JU10!fQ>7NiDxm=_`tC3;1x+_>!n zTi|xNty_WDc3?!PRd0&`7VyFgdZjGi(=8^gp|5eh4<7|O)1?NVfjra8GiR94Az5j0 z-Q!U!uysU=1;n^&O}0e&OQHQ2A;eP>h{>`m$l7E=`rp7D>%ku(@u(-MT_44tDYirtHj z??jh0I$j;FT~+yATa|UM7#w||Goxfycw_=qck(!+Zvnh~HItgiIhjWQOu zl8z&8160p(T6P4u-J#QvZz-QcdxHC=q~ACwQ4h5oN8`p~OVbgmrX#4To})H7g@dvz zVl?_G%T*@IM`AE=qzopieS1w#AqS*F27ZCnz%Q`q`GvHUbc@L`_KTvJ>3x&qq6{7M zy&U&_FPDlM^74n$lZTyrax6|`Ai-ROtyJ(+d2p_F520l!uq<}D5RT0edrG~`i`y0p zTgn~xRcm!@M1cxH8ewC#M5|im=iTE_+`G$^6!!!&lo>LV8H$mNhThQYk?w@L6xJwVhRgb9@>Ix?54pY%wh3ps;PL!BRT2mjc4-!>L!(Wr7XLui4s(<`?Qlx0>INQW`4$$_3vKViaXA| zfZ`8J;{gp$N1kS!Jol*-y1Pp7C2Kk82#a4s5vb9Ltf_MxhvjE884>4-^bPvqL_tOR z4qvCF4U6=HMh8=ri^SwZ1ezjQsc(nMeel`urkY^O+#6!@fVvppH7iu0{WOhL5i5Bu z;aZ>>I=F4`P{!V2I^FJ|C4K_|D+KY{frIt|P{ ziCzK)9l!ICSi`mQJDs^Z`|_{!>YrE@sD^(jxzxt%_@7Dc-=H_K(&#NR_QYn6jP0FV zvAs+0<;dIlTzPvxS8N~9hp?aWmXG$Z?daC{I9L5$$W`Jwx|pMFKcP!IU@J(^kI%&D zdi#_<%Msh&=*C5N&axr?8T-yvk_d-N@RPd~!z*Zu*6rI2g@ literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateSaveReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateSaveReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..ccf46b54178a46b87284adc76c73eb64613614c8 GIT binary patch literal 8784 zcmeHN-E-SS5MQNf>^PZHLJI>e^jav`d`Nthk2a-H(zF6`0|uQ;BprywprT5HCOA6V$~N1(Po{FL@Ym1 z$q{yfEaqB~h&RQqcaL!(xXoWp+qhDImvUq{C|yMz0F9>(zXZ)x}0*CdV_39 z5t9_3DElVp;uya6#VT}#EhZC!YgeRkm?Y?m<`ol7j?gm(mVv&y_#mTE-2_hyt1*mf z(*r_KSIc>9v#GDLgk#u^GJs_~CTuQmj96L*u#Wa;13-Qxjb)H!1kJ#Pe06X?YCkqP zkD=HxNXjcee%&9t`K{?p#fAYqxdEO849_CeJ+?g_do(TLe7@6c$3L>ib<|YoP|%L4Jt!5&L=0+c8DqZPV1;D zA57LO>QL2%$vMpWm3?@+2+B*7D!2|@K0IT`gx&B_#$xVN7{f{kIri(4nStXQOB|i} zQ*&7g3jnO}!(>rq3=m5ZQ^aVcwcPe6c)EMLd!1she`0}8^1VkZou$Xx=hM2U}&4wBCEvPHci?_ z1*htbCQhWnn5Y9du~CKZoZ9un?NnEm>bOl+f~`#5Ri^G5AVbPcmo!rnCM4tm*5-a1 z?V0qOaUW|}ov#;lJ8}JpCJEUJBbJz?<7lMx%Lv;CcR4Y6264D7Ah#kL=YCNLJu1L% znN{X)GqEglHeU4X^rFIv4eq^cs|>%06*fc+ZfwBN zlyBhQHGJE_YwZuX^z+>1-{8%^G>>=iSG^6$tFC`F6*S;o969hFyg!oL2V-;dtaAGh zKC+1IW2@LcvC8e5)s=o~729X<`2o8yffi)!ZF~#)0dufe;uL(3doTeledZLW;}XuTEB}W{ScV_)^jZB6p-9k_ literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateSendReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/vo/template/NotifyTemplateSendReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..1e42fd48a51edeb7e5a6829a4d2df8b12a45e923 GIT binary patch literal 8309 zcmeHMTXWk)6h2DR*m2WaXn~owux+_Gl*(Mntto|G(h_iz(zIdVZ6j@BC6d-ztvt;O z|A8ld3NtVR@BAp>TS-pr#)-EX#mq1~*phb7o^$r>x$mEU{rWo*-KTFWH0Dq%QC=hB zLEPBj9p3QbMj$=u3)R?8eJ&f3^wUr@lI=u`sNu<2D;b8E=6-}lvDCrZcB3O3m~Mw$ zi^gI$^rZM)7P0?WY^^L+XxyPQ8Ih33>y4$=4dH2rCelQxc^@y$ri|BT9lG#1jdc)- z`M47#!D=Y(#2~|UAmhZLYIE6ZiHHO6gf9|L1#L6q(3BEeX`qC^0QMcKh-Vxe;cc=B zmKM`6#F9!Rl7z2gv}))+*=}b5^RX7|LIGf^yN`Prmg(j$$IDs;8G|*0a4u@=Z7ev| zUGRu29)ZE*%>~}Z#N=|Y9&?>4P`GBsZtca@Gm^_=_O@BMF7(qvD%JW-S1uQOpqJBj zTVX5TaTSB91gnmBc$k9LbTgFEs@!Zm6tPe^5g(J|W;+#n&7sq~8=6x}swy$(Q!-*2v*x%Ni~zR3$Izh}YeFRqdSO7LAW5L1`I5rUYLk0O%=={!FfODv zIS<1Ryg;)gZ3_jBjuWj?PfNveGXtq0VQK7(wICM0%NEi^Gx0267H+d3?#NBSIF!BB zk6{q+rHjYH)^cwwC4grE|8Uj%q+Yl%#j*j-=E#y`XNY6Il66dy39@cYVmtZA1 zA}e>=!^csXs)fMza#5x=TQFb&($8bpYvn<^49^2Adfqj3iI~`128rCj`lx7`4+6bh zJJ>Bp#>L5wP%7{RgDVV7dK8IRBYtO&GV|)W<3EJ*9o23ReYRzb{m_gYoszY9(kixD z^6`(vTr4D-=dwd0kBRz2K&*n3Rk*a`s5~IM*lQul;bGnai3Lb`Terewb+A^L%G#TS zHrgF(SzO=edPwC~qf2yUimuWdsKajsaiDKIbiUqOaOTDD%nB;VCUWM*G+IUd%uybi zl2dv-T;VD(-^Jj#ZUrcZH=3jBFrdsm(USz>3$=40>Dem1>(J$c%Uo2s*d0*xhBAlF z0gcg(M%K5;^$oPn_5gNk{|Z21XPCX7zuDLP$!^WB>UqgOGg8qN447KRp|rjuxsh^l z8eH^C|HnaEI7-2s?O~~V&Rg~Dm`5s_pEH`43N=#BCeV1}A#A=mA z6&WaOq}nZ=@Y>B}96DB?na4mkv&{xps&wC(_~~Ht&AL=3Z^`mlW3jHWSa;v3?y`Ap z`T#-fqi^VG)cslSLc|{WU|F-H+f!t&7xE-wYe6WIJOdvMmEAr}uUQ;XHBoraGK;tV zJkoSEje{wJ|H8BPl|y@6av6knDm!053D96>ZSHNNiOjBev0Jpu-K<^i=IwGfZFr!~7~>z?A7ecDvGL0CkGorZ$PL zr@2cQLenA#{5ROL%R5WwEW0ZiA~CBx-iou~g^m@ieZxkNZaGw2mZ|c@1H=V~E4H8)(wer79#_*N;7qC(%`cE+eng%%L&zzDAaM@;l6q zXX#eKqtWuuA+uf`d~uB9bbANm^BVo)*c|$TzC3`xT^q4K<2yTAJ!r>=!FZMK?sLw& o*zOImI%j|lAEP;(!5BTrPPprN9%AefepB#DU(wgpgeENh17%bIqyPW_ literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2ClientController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2ClientController.class new file mode 100644 index 0000000000000000000000000000000000000000..b55d22043f44102132ed02f7460b73773db98e28 GIT binary patch literal 9715 zcmeHNZFAd15Z-gsDsj>#q%XV;j8Y0X(2FQ{q;pSF zX!tk$3T9vizVknr;VXZD>7L}s=UR!Bj@`7t2U~A@yL-FO?d`7g$3MUP1^^52y#W;h zcSGsaeaeISeY#ESPEhB<5iXPUo!F(K?h7~eSUubcBj(o~5kyjW9zLe7kAnn_qpb_| zr7P+%?{OAH^BIi+Lj)!gz8(#l^`(vb%!vq`6dL&|liS>31WwyJm-g)jf!9~!AmTo| z5p462Z+PrV5QvCITm&J3s=dNO5le?5>9H9e@MxC6k=pb+fuVVvhylk5jCYi{Dy5La zFis}^yd6j!>uodFbcEmHUc%IDNr6)Q@UmGQS=(Y}w9{gyVqmFRSm`WGhblG94QB2# zvCJEh$wQL|E|)k_ZwDW3GRXo5C2UIJ)$zEMc-%@oe%5pa3r%GKpGMA>8KI%rqZUqEXO7^q6u7L! zd`~GVwGa1OLPn+&<9f$PD8alNk7dFp{wo32CO0tv0QKSRA-)lLyFd6QAHYjXhj_9cs&5jKfGhK`N65 zYW1g#HKJs~NpvpIDkt<8j93DdW% zd)uO%>k1^U;Ld?qm=o?!0cDpd={CcW>q`e2lWxcbBbMWmxIA3z&k5l%1n2&qPu5NW z&GY5}m6`Yq;p*Z_b{rOlwT*PLIqO&L&Pf`hgJV8R)T$#3%wrKN7img+l&a_+sUWlO z3K`70E9d#PSC^Hl1!|U9$hvjg32Xt=!}DS?u@rYO8R+8r-s7=>JwZha1psOe(`1+*L;oJoo0on8ne@ZLP4t>!aJ$i;>f)oo$48*9c?Zr*enD30qHJ@X@&^+f~^{+ts%+ z>;%S%L@l*!48u7>ek#$K($vg}D|!WzDPBOQPo#iUH+cbRiQTl!g4S$QAW+B6>Ml$U zGNw%ZgD8z#s@&G45x7tmZ|%G$f!vtgDW=f>(}et8#{d5pV0!bl3-Ee-c~A&QTEl%S zzz|PvQi65k=}aw+Og%wvD)+&Rt>bFk?yBlA)Qs9$Fv6>$0LwGH>9Wv~yrmlI1cqh1 zMXf@co@OC3FB0-s31oIjEn0YGdozccpZ32BDQ*hsKsbb2lE9f>K-yS5;RD1Tp7id# z)9Hh3H|<8P4$fh?L@J|w#!`mueqnAPd2#=-^lzwWF$Zn3NXI;Z^LxZNohq#s+uLZT zGQ#L)utyYI-E0^>Bb7HxK&>;nU-&uHnAK~gf@$f&zJRnuPN$21?rS7`CH(~YR4v$3 zbYz8OZ|J+(o%roVIfEPUZdp9jRnTNWp2dxJfmBuw1+fE(c%3O1z)HtVsWwoV!a--6 zxurmnr_%TZKzVgFc^7vLzdFG0Ds;ap&%*Ju;N=!E*dLVIP|zNNpI#9O0j zHLG4fHVm*a`nI<@18xx*)5}EzmNE5I34{SF>I_pM1J`I7+fV&2LTGnFgmZB5KO2NhGx5mU<*^B%m93Z}C; zpNOfVx@tC7?gT!};ru}^=a1myjPoZMXT?= 成功 +POST {{baseUrl}}/system/oauth2-client/create +Content-Type: application/json +Authorization: Bearer {{token}} +tenant-id: {{adminTenantId}} + +{ + "id": "1", + "secret": "admin123", + "name": "芋道源码", + "logo": "https://www.iocoder.cn/images/favicon.ico", + "description": "我是描述", + "status": 0, + "accessTokenValiditySeconds": 180, + "refreshTokenValiditySeconds": 8640, + "redirectUris": ["https://www.iocoder.cn"], + "autoApprove": true, + "authorizedGrantTypes": ["password"], + "scopes": ["user_info"], + "authorities": ["system:user:query"], + "resource_ids": ["1024"], + "additionalInformation": "{}" +} diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2OpenController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2OpenController.class new file mode 100644 index 0000000000000000000000000000000000000000..0d497aa1e9e7246fb7b721d0f8c96a4e8fb0af64 GIT binary patch literal 10133 zcmeHN-E-td5pOxpX}!KXU!1!nclkg#m%^rC7eb&Qb`E^D<2aGyi@kO@jv|b;vuoLs zMmLf+=kN^=yz)2jA5cX>6;#1H54`aIQ2C9ttJQjiN9QsJ0Y7M0GwSK->F(*TnZNz> zPk$kzRr-}l69(Onq|@}78#E7Dk2Rg3=?X`*xojRMZ6=z&XeS zXV&&HNU$V6c)hu`tp2t_9<1aLCQTZ2Eye1wpxfNqKjcnq&{Ll18Z>JQ*=A)LnZ?^=tda)bdPxn zSC~EF?~9}6IuE#HF>mAJY)0t1WI?>cWzTg0dEL(FF7^VpZg2BQB+}t%Jev(%@myXQ zd80paq#MxJGw5XyCwe@e=(#@lX#bF`mN?=;4m}{N*bCT8OK#xCcfi2;g*}5NS0E*m zUNC58$d)xJg{;vnIq);fJo5ve5!z;Hw|KY1OA%2i%H}LvASq4JD*T zCM3&Yit*Myw+2WW)<$f(k>v($S3-{7F+O#;SLa5m&W%i+8<{#chU(l%)wz+0Z_a899$AV5K8u|LD+Z(Z zqY%q3BFD~YsGZYD*>}dNGXA)JC}eCoK?&zCAVxLuf*+p&ez-!X$xj9%a|I3lDCSbT zx!{o+Q7GY0I+FSPVEOf-06k)TfkpD)~@cVfoM^#EuHo zG*~wL&~qI(wxT5D5>ZDG#WHbXA+0Q|m|sv4L=v=l#|^OP4!+=>B_3Sg5V~P)CQ+=u z0Lo&4a=jVi0#GWJG)U7>H6G$=1`L8f4OoVEBmmTmcr3)Dq2hUBE{2sFy!S*^O}@va z@5aksnSCkh5mE$%BBSpO7^vaP$wW#6z9M{I1kmJk&yHmY zMGA&F;j-f(RZH~_Bg4Hd%_Q%{aj3E(kH_1{DPT@D1Nu1 zArD^7u~j!5>%5|`td6o^@mt7l*Mh{?$h*?|0kr$C0;tECvd5&$kb~E!&L895<<*b2 z*FM-?+i8_7xjtnJt?pL<*$85ef=$T`#r^-dySPrz(@U4>I=yVrjrn4&C*87(s^~Fe zBP4h~@%OoGDITVEB!_u>eV+C^C*uPb1)~S{zpc21ddy4+?^rNx2K|2C9$)n0_)7k> zJqvcxh+`pBJ8m~%aU#Lae|!d)u+*=vsq$k%9+|6Iyn_{9u?yA%?P)uYSJGA1T|q$$pirMqe=|n-!{b z1=2M;E?<-eE?=$&E??3`5Qc1}kP+sLsmeeN+(i&JC{-7jT--Q1{{1fmbyb287$wPj zI4wwnX@kB|(Oi$&{N*zZT(a*9;c*tER&~Z62?CIh5!FsS?yLuG*1=vxMD zo^J5esl*7<(*=*S8s~sJM}2Oz&bX*yrm~V_%e_a9-ZJPtJ=vAbG#suvG!xSO1l*Y` zi*!zU=oKx{hz}fK-v~M)Ux)Hw!(e-{Mk@xrt6$b|h)xt&Q1VizUR!dN2XLQJ3DIYa zdpb*cyhVjIgs$T{xn)}n2@QCulxUl^CV zK?kRyE!C58EaN>TQ`Kn8pw-j$Lm5+jHivU{ut}ZYD~puY=G4jZkX6(8yc;3mg7(1w z%rDse{0~anGH6{-M5TNY;u8BYj#KZl$aO~ONjFYOX0`BOoL4pau0h*+n#R%T>|1>& zEjPc7Q*DE87JNp2;~_l=#zh3X#k$G>sCxv3lY@R&@q7SX({_FefR<^emG(uG7#e-M zXOaW!UCi1{0u8g{YcL5{E6hH>O>*Icl|q|zq~4(LCi%FfkP$yxVm3(_bT#{uRkc^Q zOnQhL5XHX!B?Xg^Ue9J9ink|BO7a0Cw$G%GalIoOP@1Qi1efu00btyTne-!rZVf?B zI%|`Dk`q-da+~zCk&7rl8(2J9gkxMAx^QId`Fpx^!BlG}J!H~&a4 z{x!w_3Vsy@gy(bkRTKbv;PD+Vgn6gr_-$9|ij5ioXML z)S@$TnkD44O3C>uy^e)sih;D6+lMR(px}}yz^d8xG%S5=Di%Zd%QSg4r_<9KiMEA~s z=|%~r3HpGx`)e89Cp#syyi$UJXqWa17=}Xpumr 成功 +GET {{baseUrl}}/system/oauth2/authorize?clientId=default +Authorization: Bearer {{token}} +tenant-id: {{adminTenantId}} + +### 请求 /system/oauth2/authorize + token 接口 => 成功 +POST {{baseUrl}}/system/oauth2/authorize +Content-Type: application/x-www-form-urlencoded +Authorization: Bearer {{token}} +tenant-id: {{adminTenantId}} + +response_type=token&client_id=default&scope={"user.read": true}&redirect_uri=https://www.iocoder.cn&auto_approve=true + +### 请求 /system/oauth2/authorize + code 接口 => 成功 +POST {{baseUrl}}/system/oauth2/authorize +Content-Type: application/x-www-form-urlencoded +Authorization: Bearer {{token}} +tenant-id: {{adminTenantId}} + +response_type=code&client_id=default&scope={"user.read": true}&redirect_uri=https://www.iocoder.cn&auto_approve=false + +### 请求 /system/oauth2/token + code 接口 => 成功 +POST {{baseUrl}}/system/oauth2/token +Content-Type: application/x-www-form-urlencoded +Authorization: Basic ZGVmYXVsdDphZG1pbjEyMw== +tenant-id: {{adminTenantId}} + +grant_type=authorization_code&redirect_uri=https://www.iocoder.cn&code=189956c07a174588a97157eabef2f93a + +### 请求 /system/oauth2/token + password 接口 => 成功 +POST {{baseUrl}}/system/oauth2/token +Content-Type: application/x-www-form-urlencoded +Authorization: Basic ZGVmYXVsdDphZG1pbjEyMw== +tenant-id: {{adminTenantId}} + +grant_type=password&username=admin&password=admin123&scope=user.read + +### 请求 /system/oauth2/token + client_credentials 接口 => 成功 +POST {{baseUrl}}/system/oauth2/token +Content-Type: application/x-www-form-urlencoded +Authorization: Basic ZGVmYXVsdDphZG1pbjEyMw== +tenant-id: {{adminTenantId}} + +grant_type=client_credentials&scope=user.read + +### 请求 /system/oauth2/token + refresh_token 接口 => 成功 +POST {{baseUrl}}/system/oauth2/token +Content-Type: application/x-www-form-urlencoded +Authorization: Basic ZGVmYXVsdDphZG1pbjEyMw== +tenant-id: {{adminTenantId}} + +grant_type=refresh_token&refresh_token=00895465d6994f72a9d926ceeed0f588 + +### 请求 /system/oauth2/token + DELETE 接口 => 成功 +DELETE {{baseUrl}}/system/oauth2/token?token=ca8a188f464441d6949c51493a2b7596 +Authorization: Basic ZGVmYXVsdDphZG1pbjEyMw== +tenant-id: {{adminTenantId}} + +### 请求 /system/oauth2/check-token 接口 => 成功 +POST {{baseUrl}}/system/oauth2/check-token?token=620d307c5b4148df8a98dd6c6c547106 +Authorization: Basic ZGVmYXVsdDphZG1pbjEyMw== +tenant-id: {{adminTenantId}} diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2TokenController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2TokenController.class new file mode 100644 index 0000000000000000000000000000000000000000..794d3992b916a6b5571203ae0e58c95833ace209 GIT binary patch literal 6426 zcmeHM>vP;R5MN!>I(Ju+HuM24Gni1|!ovrB@MuCHNgo89rqiUEf#Hi{D;G7kbd}}M z@Q*PA41DKL;E!Qg*_X5L&aJMQmf=GtW1l6jc311&-|i}Z{qyS|0B{S|9jFobAyGj) zrd+fi(S6zuM4QV%hD@~&(vZq_EWtWz-u??el;UIOmsm^k(M?Tz-%W&11GI_Ibj$ zBeo=j)KqgR5&{kX0ZU}60*0hbqe`FOjK5?QGPAzc3^&){2t+_1%6Dzn;2c`*3 z7h2v{N~%dXOPaqw6bji#`z&+=8FzV<$#uI*q9So}({0o@cbTgXy392UJhM$N-=-T- zqp7>i+(RawyQ*EDxLkx>p(UaNe6_5td|5nQ9){ct6eQXs2SOtEEdb&}h^VzH|YYR^rDg(y!5O7dLJpUX8mE z54d)dw96FYmq@fq11*)C15|6yU{NYUw!?+NAAEz)G>tHb3Tn??OA~G0AeBpn3F4e_ zi74AhhQk)EMls&9;1J&}WW!i*A-~JUwBkD2E(iTlI4^(4`-+)NBNhLdS!A!sIF@NepmB03M4lH|tUmuq4USDz55oty?tNq7lc;_DmHS<`gIRfWfeo^1&n#`N}f7-{Kb}x;$ zncAdS(qn7l%Ya5(RBy8Xuzi{7FkM1$gP#OGZ1virp*I+XTkG?4 zemR*SkNO7h2&z+sOCLVR(gnYO>xEH?IUvq2;va$2evv(KcygacDT-_QeU!slCrRU& zsso%4SrRDTH60s)DZh+eNO)zqzsrEdVBk`@(R2JPS> z+d^9YC>GMf>=weKC8^^KkG=a5GdzK_VV2`dp+{i03QC5<@FOeHg5S%wSx8O$14#zM zqKN_7s|9d0A+RhUFnM@7fbqqiP%Q9qateGP#+Y~DOC%g_1047Y zQLY!#4lH5aQBJE4tRO5JGdXa(uS^N4^Tdipk^^@MTzpFUbYK+=uhLF>N5u|&hubZZ zvjb}bC)s%oi8`(EB*7lXbR!A81$eNGN9#5GI|-+7hGCtSfjlRq`ar`!3 z4nguO_;4tqhR?Z(cPd28R*HBJTBuwuVlETWKw(D22bG*ZuHgKBCFiSft81n$_U*KF=?3d=syGc%6efEWjds4a@kSkUQ`Vd<*`+lyyDt literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2UserController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2UserController.class new file mode 100644 index 0000000000000000000000000000000000000000..dd072b05d0db2f0910cbf89497a72953fc7c1410 GIT binary patch literal 6697 zcmeHMZExH}5FRIK-CUZsgcj%vU zyo5!mx5M_B7o=V!0ugfQ?H3^vULwLG=APPDIZwPmq`4GvjA0fgm?T({Z{P4%=Jabr zakrCo1jYljE9MWeCkS~TSg+4WT1xwYf@qTA(i#-ghaiZqWBzMSqw zD%y(qT$+lU<&j90Mc4eA*;SU2@(CRB5DwQgec^lX$y`5mmZ zJ-uns*aEiGrdKRFU+aHYN+HkCYu4n?8z~kd;yoTZfk?6_F4ya1QeXoTb=zr;uWxfF z-_N+C8Mt~k-D)?Tfax7_wz%_ziR&!qPNbYD4I_ySkM}Xu;gY8TBy^-m(0){4EOgu; zW=c7oDCX*UN(ngxYXveE?6NL*t_P{xvpcu6JGZhsx3W98wmY}9JGZjC>rN=Ra`X-) zEDyGw92>!H(4Bo8Ym2OI5`7_b}$B#%DfCjgC(`b*EC)l<}N2$ z90gJCs3PMMn3Aeo7C|ngQ-MZ%TH`~JhP)G{Sab&?_+~{6$5vCj&iz8=dIVGsOSNOI z7&nN@V<|z?pw(f(HIP4nVgp$NmJO6cGHf8Zf#DJ#(z;e~3KgUu1?#4LuS%|?C?TUC zxk2`VND`4^N#&6p2?3g1>&R?5?FdZCHdhSX`$x4nG-WSRGBDO*Ov16m(CP9VQC}5; zEr)|FQbTze^VBP-Z+~mN?j3qv^PHs{@L_6znoq@0Tc2@{hBwh?uHOP8b-mz$>-8gC zZi7W4tTnE0_#5-g*SA{yC$8YU5HU>8u-PRD8E76La0jZ*i*VmSSznKhOhX%H4u9{T z|7||rG<2S}Duqr{hF?v?*{C82kSn&gs)HB+f5$tU7G0t%XK9MAT6C%1%tCV=`OWAo z@4OF`{I*E8xLjvQ+{z3$VDToCk#6@o$MWq6sqFXuzm|6E^c3Dz@0s?DNWt6FeiJZ2 zFuoRbQLT=t+_qoV2WD)V1$94->xFYRp(JhhOvx*FAF}U9N+Eb!M_F6Z zTZC#k{*@S`D|CuZqh+I|-z~gHXoAi*`X~o;uC|$?*2)*6c?On8wa%~UbdUGJx z_vr(yxZ?WZ0j@4MPgoG<;p3x*m=Sze%6~jS%+dfcqjVE 成功 +GET {{baseUrl}}/system/oauth2/user/get +Authorization: Bearer 47f9c74ec11041f193b777ebb95c3b0d +tenant-id: {{adminTenantId}} + +### 请求 /system/oauth2/user/update 接口 => 成功 +PUT {{baseUrl}}/system/oauth2/user/update +Content-Type: application/json +Authorization: Bearer 47f9c74ec11041f193b777ebb95c3b0d +tenant-id: {{adminTenantId}} + +{ + "nickname": "芋道源码" +} diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientPageReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientPageReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..34274966ea6550bd3466b5ed87069fd2573eb2f4 GIT binary patch literal 7325 zcmeHM>2lme5N?@u_OQ8p0675JT)P|+gm6?G0>%l%RZEjo75vW|@G=xVI(B7{ZKYPM{Uhbl%9?3?J$?6#9{>H@9{_L*HtH~Afv=?JhJHId zrdTha>zoTsG!tA|(CBV^eHs!Zob##jBpa9+3+nU{2?qh9UQkFKA#Jm}$u-@l5{c{k zRNsx6F10&FY_H@8qrpH@rG6li>VrlGw6ewP(uG_7qdC&HU5!LQddql5=O>BKQ zpsi-Y_!Oe5a1wJ&iCJoyg=X9{9`wWA3uRDzdg~8jz%&?tij5*8= zS>M?(8<8W3_%cS!Z#&+v(Fd ztJx-BIi@x^No^>|0gknk4zMU4Cb|+bu&ZI0Xj)@e?#uRS|L#7lKn?x;16ekjlu@m!7j-I-B0`F7Q znbF;Vcn`5~+p8XT(q6!cdjTiu1)QW8aK^oW6ZZm6(hE34f!a5{z^d&Fs%%rrLZZEX zEFOI{K-=ZnV0=5K0dZm;}rY&AVXjBUs#cSWs;5oBXs=TFexig$bC#%lw{*trbD}+M0?ybLPuK+D!E%-t@ZZdO z7T}@ACJtnkxB=HJt5;3hFQK6SA^T;LobR5(g4VW(q({HOgB%Mk6*kcExd9gNt~sZ~ zgS^G=e~fO9_wa-<*f!lXf_Af(1}By`Ii6%FhTk{1zQgb^UwZw+I(&gAdTH-ahc6Le z)Zf%${m9phq*t+E{=4MpW(V7K1uKAVgCAOE@NX6_;8Pu+%)Jqh&cXb@#+vy2EIfzw z8Rd&exq#O-M6&SS`W+U3Tv+}UUj8%2xQxFB5fJkV{u)H2f>+@+yj$=(*r%ecltz04 z-aH0v#&C_-Rvzswc)LQhi}21dXk)##3naA)_4Y2jm!h@s{ys{Vx5QZ54+;>Q1&B3p zM~KE=#b`ykD?+p2L-^=~^^GMik9c+DcSRD95kD@FxK$|eC#ba<_%!zA1*pYd{~3;b Xj@Na(*6;%O8m|`4-hi9v<6r#)G4TOb literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/client/OAuth2ClientRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..889e2856ee34a6fbd6a5be2c009d8472e8d470bc GIT binary patch literal 10254 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 AhX4Qo literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAccessTokenRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAccessTokenRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..5fa311b722601899dddb85d966e39e3bcaa13b17 GIT binary patch literal 8465 zcmeHM>vP*g5MQN9{Ag%G8lcb;uHjLehXkd(n$lvDv=hc{APHgM+eNy>N+g|ock(1( z__vsW8TiB({wRh$$qyMTwnAkWhJKJOo%Z&2_jdPofBNIkpMM2_b$C#KDFYf(*p^S- zz&fHWYT1G1a+^C$Sf`;wx#e>w^q3`2rDDEi^FRsidH9+-K2G8^RE?Wfi(9qrsuIwSUBHWxz$+qcmW#-lN!2!VL~r4Y;}; z2Fmr>X3%n_yYI1D5O776%L8dZvA$zBm`{=LqQj&u+@^kGz?@)@Lsu~8A?jm5ft^sl z>EYd_`d5+%Ukemjs8gIb)1qF8FL1_zV6qX3Z9qwB@pn&~_^QNCn#fCTBIDV5okxPr zNE>+|!$YPL3LCIgsirA%EjbuAo5)XoM@4{YN)%(U?s0#gA6pMtzywvy!NKV@l)eBj z8!+E9&4v(M6yd7z-0$B8$c1|?<`A3vP1lR;LYji3p?rCpluLRZv8gs1*=M9nuQ;JZ zp?c3q{y%n!qiTdZ>^2zjnQCx{^t*PYN)80~i9!PHIb=x0qoW-#Aql#fCih(_(b3~+ zu@ss7u3whzM1($FVKAUJ9*5Mc#F;E7!^F%o877~w?llcD#^ksetluxkj;;vCsH)z0svY~6`|4w9##UgPFk;ln1VNRKr%S1H6b2XDZ>r{>Czshh0UY&zwcn!PDJ8s~r zy9T^aNw$k|GhE%nKCtcv>{00NGqFpt$YfZjx9d6)9seKh=ftxVAn1G)^-1wX0VB>j}j%- zM@4WXsTV#b^b(a=t?DF&ETRl;3(g`yLOpbnK39udkk#rBh+`x?aI0NK;5HXKy${}Y z(yjp)D%DLK=u{}tz+MqnjpB{r9uR>P`hbi&N`0`H8X_`dK~hqgNj4R6C2<1>F&SHV zr*W^z0vlnFs6p*uKg6^>DkV8^JtpHuWHPJt+UM^6=Uo8x*Ax>gwUZt`UX{9`lGie6 z-RM|OVZAjDL)Sz2ku<4&Ob;1Zu>-S>u9^|LYR2fQ8KbLa4_!4Qbk&T}RkOuSY$}2k z;&3L3M)7>A>_&vDu#+YRKyndG_ofDP%_xwbaLG7guxa2zX?!sy82dAMq?p#OQI#>KeE@2R@o*wR5t}WTYg|OuCF9 zYPHLVaw&F96ZE;Z&FIQL=6(V*=ov2 zR2~kF>w3Ao!$V=S`&a=OFbuGcGN%5#qjL0Z;IEbj-=M4jbM5;TcpaY%cq0S1H#2j) zkt??fR7Yx>UADJ#mF*pP_YB#lw5_9E$S&J^xpFgeP58JYp@&6WD zJ{b?^--&7XsLN4D&69C6;A8k?he|y|+r(^)c15)zI uGTb?X+iW*3vU0lspW~bOCC$0N_RPZ z1aB2()E*T4IR&}J>;S#g;4Hj03+Lf=0+Tm{6!t3u=a#z7>3wT?2klcAl5dpxF4x-( zmG7KTB`n)vTDWy~^N>Mra;{oOr=5lc0t@|p2VDmbn6_{K+Dq({5dwK~ zLZD4BFjNQ2w&Qw)ht`p`(_O*uGM8?l@2_3M6y1_MT^FU8j?h%u+oaGCojG$=<&(< z^>bZ70~!mLuUg^VPP7<%YR@NuzDb1UrLk1CvNlCeL3hNS2Ae-ryD1B0!|v$=q{~-MQgb(z$~fzl^11`wRh9uFf5#7YTxUN3Y;>4> zO&vh4OUvypXvsG!LzVb`Ro9~%)vY2(sxYGkgm0kH!srFD9>7$9iv(Z^iqnzGA4G9f zoChc=h@VjzEkLdSkRX;v2XsW6)t&hQm|n+1EfQgUmBztDr`z+n0ZS2He@dD1J-jrh z5xwJTJ@&NKF}w~5*;MyAW!UsKIQEDg47HgcX+xU8A*BiojUfLCaMt5hVo)RAt)QSb zcmPndH43TC1js*1b%&+v0M9-Kw>n`<1i9+~yZRyG0HBWXLr4<1++*O>HO}!!R@~&R zwxvp)@UL-1LSV7)rJ}kVDDKYJpEL??&#p@x%&xh43^!Bo8G(Dx zZit6Ww&NhK0w!@ag)8?vUG2_3 zu~)-yFT!brZ$q9z$T@tjA|`^rwLjqOk8|gKgIE8ma9qIu4kO^O^dkPB^-%BzyooCU zZv|kZ!Ppkz?IU;_Lu#J4aBP=GitQbEx5Zlxe=j3H-MSl|zj0W4gwbjE>97%4hWGmL z*RgH5{@#CN+g=j?7mVlOgCp$Q!S-PfZy`N>?>xjuU~^I7y(JXe1bl>N#^B>BGEQSO kT*37x_*}*3Q+!^e!544?-^bwEzjL#8N&o-= literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAuthorizeInfoRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/open/OAuth2OpenAuthorizeInfoRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..0dcb316262026401021c11c60ab119c83e01463b GIT binary patch literal 8009 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 RKjAfld2bCKz(eH!=s&8sn416q literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenPageReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/token/OAuth2AccessTokenPageReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..6a064ce8179d3dd866a5cab2a1fce8a40884ad94 GIT binary patch literal 8885 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 CZ-RyZ literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/user/OAuth2UserInfoRespVO$Dept.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/user/OAuth2UserInfoRespVO$Dept.class new file mode 100644 index 0000000000000000000000000000000000000000..29ddf1df5ea3d48a559bde807a25d58098f993e8 GIT binary patch literal 6804 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 E0OUYK3IG5A literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/user/OAuth2UserInfoRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/vo/user/OAuth2UserInfoRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..7e014e05c230226398a15d7f7db3dfb7e3eb1c10 GIT binary patch literal 10246 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 VW&_u4Tz7E&fU64cau?UVe*k1_AXWeX literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/MenuController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/MenuController.class new file mode 100644 index 0000000000000000000000000000000000000000..8f17df15e9b9933cb3c4aeadfde3dd108282741e GIT binary patch literal 9786 zcmeHNS##V(5N>Up>|rO)&0Q!5WKB}q2NI6h1mf5U4svX~j)S?!(s->z$3};V`Bywq z1y%6Q51{xjR8f30TJLIOWi_s>W2o}Ot~8^b?wRgy`WWete}4Imh-SztQ%R!-QD`+h z=J<_=Y?C!Czu^Q{VDqrCmDnt3c!8a`yb*0hG4~o);KyO$x_HcN4};n~^qeSi0>3fO z{p42nd6`BuIxcy-%x^Uo)*f;z)@alNS(AsGj>R=PYKl>v=A=fiEhT>Jczn*^bRuWX zw zeLuulcaz(?6?kpOl}z<^7(j{_UDs>XW~UrSe(vuQI`>z%+=hAve}sM`LXaQ z1GmNAY&JFXc1*V@rdlw~q3)3btM&5ktcx7J)f_~m!T9?R8ukwVU${`SSh>Q{AUL)Q zLy#a8{IDYnX%*$p6oox?FN-MOhK~>_(M~Ycs)A9jv|4oMS zQ8RNBrJc)_R`cQwxEpw-s%hekB8g`GBrhQz+&zS3mwt!bdJOu4i0Tr%{@9{ z!WmG_3OQ;PVK0qducwDeGKZaN<^H{j0(J?cdp5W2Nr;oE_?jX{fzH_azDKkeYF_RxoR_LOp{iJYm zm6>J%zPb}Hpvx|#fHbS;0#b$OxlcK?!pxKd0C1VKMJ=7;^3p)Cb&?o~w=r|ETMoha z6Pos?it)Q+3ben!wpYv6_R0Lpwv~s(&s{fWgDEo$nsKwQ z9)lAZHM?#Gtq~uE6*_GmS)tPwN9h_>!p`9|+!uesL@XBWD_h|JfY&tbF9iVh$sZO5 z59-0b_YK(`VJP(=%-w^aNU<~$FvQKy&^eJl=tjnVoMz!zq3fFV_W@>}X}jzWE7&Ru zdG9cz*04O=Xbbfy+**pMH`CxJ8d&g|GTV zD_vEDGXN6|9(zX4-<8HEXY^(x2NIM>s>fP7=S&Z)ya*>gBJgBTw zWii?h#;2TNh2}K6I~Z%?^9EJdhvc*=-?`n!2MZdV5*X+m|I0V~D22^s*21nhELyD97cGJOZJ629rTCS_unt?bC)8N%nq=PQ0|86SQ`bdK;n3BHce zs6>b92(D$c#I=HJ1=lLo@IQ*yRZwcU)_$e2)sx45rsKb(Riab)7b66h)A%1tspt%y zm3=SK%QQl-;J!q!cKN@7wvOMZ5Pc3e=S2fQA*O_DD&|6tm 成功 +GET {{baseUrl}}/system/menu/list +Authorization: Bearer {{token}} +tenant-id: {{adminTenantId}} diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/PermissionController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/PermissionController.class new file mode 100644 index 0000000000000000000000000000000000000000..bf1ee0e4cbe996fcc032657f22d163f375aa2962 GIT binary patch literal 8300 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/RoleController.http b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/RoleController.http new file mode 100644 index 0000000000..375180a344 --- /dev/null +++ b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/RoleController.http @@ -0,0 +1,42 @@ +### /role/create 成功 +POST {{baseUrl}}/system/role/create +Authorization: Bearer {{token}} +Content-Type: application/json +tenant-id: {{adminTenantId}} + +{ + "name": "测试角色", + "code": "test", + "sort": 0 +} + +### /role/update 成功 +POST {{baseUrl}}/system/role/update +Authorization: Bearer {{token}} +Content-Type: application/json +tenant-id: {{adminTenantId}} + +{ + "id": 100, + "name": "测试角色", + "code": "test", + "sort": 10 +} +### /resource/delete 成功 +POST {{baseUrl}}/system/role/delete +Content-Type: application/x-www-form-urlencoded +Authorization: Bearer {{token}} +tenant-id: {{adminTenantId}} + +roleId=14 + +### /role/get 成功 +GET {{baseUrl}}/system/role/get?id=100 +Content-Type: application/x-www-form-urlencoded +Authorization: Bearer {{token}} +tenant-id: {{adminTenantId}} + +### /role/page 成功 +GET {{baseUrl}}/system/role/page?pageNo=1&pageSize=10 +Authorization: Bearer {{token}} +tenant-id: {{adminTenantId}} diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuListReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuListReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..7d28743584d0d888c67c8b2655a7006ab703141a GIT binary patch literal 5117 zcmeHL>2KUb6n~SX*`wh~Q=qiKBwV{3cDaurBt#2}v}vR!1i=Ty#GdRvDU~D_v`~ zXQ{n4eY5EIH8xxc#j}G?fi_N)wg$Mdq!ceXY>E+>=u6c#e0wMTTzx-B7ODm0Eb zxCMN}<1#_g@B5-g)9_hJqaMN|9_f!uUG_#Zjx#s8~+O*U&1E zO7T8$xJx1Xi})mj~J1L#}CH z9dLK!hm8gNy8_F2Rl_THuKT-JVdZc48hHH#Jc;rn$!Ab<6^{=PiQu{UD_r}2_4?27 z-0vRaCjL4^z&CE;uR}yBcoAO0Gl7?Zo{P3#8toN$^%S%Pr`4~mJlbpUdWC3jKx>HB z#B&?hGwr*7zP=@RbByRbd@(cvZ^7GVtZx$A^8R~goGG&`o(J&;M5jb#f)>xn7BVCE e7U5lt!2-PJbJ?xXW&Qhje1bvPja5MPB5JH`Z>LSN8UKxeS~kotZQN*ltXE>1#m2n9;pi*&J-NID_OhV&on zOgqzl?;pkVcam(`V8>~C$-qoL*uGn>ez&`~w~zBbPyYCeh^|n(Koc6>k3!4znB$up ztiw#pHyvRKn}_CB+h)S_gxz+z8Er)|_e@LpaVT6DkD2Y^rGST?6Ge{j%?_Bk-!>QV zb&E&A>T-c5H9DT)y3B8y%WE6liZz;WY>lSsb>TPXG&*&w?Z=MCYktRxoHduv`@V=- z49rNQV!dItxW~YF#O9F|I)QwmQ90xf+fK;sMM$erfj?$m;9@lCGY>zr^?cz*96HHb zrTUVHFGHA3;1xU`MXU+lsd~ftje~T^V~;f|^dJ=2OE0>hm!{==y2a$a>T6u@@y9}Ey0q^B%Yj`EoZ;Y*JnxYKQFcrq zD^Zn1SSGDjZkv+P-(j51fjsNYrkrV#d#(bFx}LJv8kMnbzaL^c;D?y^`=Kv= zt=|pzTD~b%*UUxK8HinJ1wU84r_qVN2(jGZVd&Vhf-a)WyDDGBu*IU5EFMu;SE@A- zVv)v@gs@tqb*+4U`+$;^k1H*nREfHbNrr4Cj8u>zHKn1~V%>>!$G6cOSh2f>a&w)d zIJZ!su7|?IJZ&6w!*W>^>FbWmqtf*Lt>W>xC2Sp`M*4K6nu-;7wago+RP;zkX(XQ} zotEEBZIQ*%RPG$Hdp357DtoeLA>-CA;nMAX8c>FhT>_5Kx@PYZZ9XJRSZuWt_vMcR9LWBKP|q0h?!ib7wt{6-Pjk?5hlm1VNPHOJNV{EQL{&Gy zy1_PCIJEfNQ#Qmqc{egtk@R9@$Rimqx_z|@rcPFlmZs%#+1CZT*EQo7#r4fNmZa<+ z$CTVPjbqx^#kQ9y-h9{qer^v=)?%nQgU=__ znDCLutbvwhdwby4yCK@4#jl}S$IVGzBqzm#yu+7ie6B#7Xa+O86v)FQi+KeSxSJSQ zvOo`Uzb(&qfzayo{Z-NJQ_73--wnShOV)_a5IPt9d2);<=rB!TR=`aD7V$elWjdPC zX22(DGx!`&p3U~2mB1;VrSzBSMD|XXelp>IWd!}z-nxVQuZ_Tey+_aGe4|I}Vx+R1 z>d|xF(<9_~liqqp|F?(G^dYn}boQxt&tZO!-hpMh7CjFuRPgx}melZD`je`6XW#ps zKKMJa&qw%{QWC8Gaq^vT(Iv(BAB*3yNISRN4XP_d zTU3g+M9T_gyQviI2c^4kOR3!&O3_x7qTN=CwyJbb@6eA5{q3$&w0la??$b{SHGM!o zXK1o=`vp;`zfSt^QE8HX?IFr)>i?l>#At0B`SLn$=TXz@<<(&t?*`E%d&G|9XnaUz js12zz4^b0)FhQ-PZtYgn4rnnxGpJBE$R(cwRI%Z|u=i{7 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSaveVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSaveVO.class new file mode 100644 index 0000000000000000000000000000000000000000..db063b55526fa783c037c2218aebd1bbebb8e0d0 GIT binary patch literal 9536 zcmeHNZFAd15MHH8WIJi;gqF7!P&)&)fy%tUG^LQfV(KKNPE%SaaFH&y5=rMuvfJ>- zn1LDi&W~dHoFq$jYsbM{GQi}6t-ICgx!t|J-PPKE{`KqcM0Axrou)MUE)1-y#~i=9 z#k#C&`Bg_)!sbDBr(-iw^@QDVc{SV#Bkol#;YWdRUEF52hlkoc@SHGogkSA~nfsmU zGQJwD%hy+Rn%3xejO#MLSzX=O;#Q>5lw)f&Tdxbhxv0^p+Z{i0JYMs=PUvj7e98Ak z#3EpZ8WrjdtHnJA#yOjZR^YVd9gTGUn0alNYc%aM50`~{zEUF!oEUsQ;14@a!0lz| zq*1B9BBIL>W*d0A$HR~{L7uHQoS!*JM?CfzT)9?2k9OK%Db{O##G5<-S5cy@bX*tX z=}-hvsnBKt_oEsVn{KnHg^L4Yf!7jVTll!A(a~(Y5=%TALd_18)KkqR^kpGj&V0Gd zHs|dn*Xc^Znfr+CgpHPXq|r>1$14@em7Wn#_bcCNw*#nlmjyno5CUqZ%iIoN7V56> zHpF)I2KRZuB5q3+uD~`rl{I=Ux8SuP5J7?7(q@c1KG1~Q<+dReaNKxrjCLTfSzdU- zC>7;%hQ;K@85`Wl_#6uBhOEWQ=2>p4LGK}8z(ZqnQ*0HxKzB#qA{VZMCa(8c{)!fGRZ~9ccM!goh>mFS{*l>$b1N$a65O>oZ_WWX&zy3-Mw~F`!$&!ZCPW}Zr=thsw2H-e%qR`%QGSTB+P z;V>WB=hcs5^?{wjJlUyMIoqg%FhS}DQk>ik;+d?Tbc|9rz^LC1`lqQIfRwob#+e&H zqn;P+w?^|=x8KJw?f0=+RH4kpfgT78Nj+AFXP({foD8k>&G!&33!R>^~Y&ygk!`SN`v5xgHVYE1~2Y|hhw z((NY%OvC8Yi1PHRMa(^SLfkBQN-xNbnH^(!ZYP8uVbwSbOb9u`u4x#V5OjnIWK5e7 zak%E0O_ic%p=?6b5!&a8XF}ZJHmKPX!VNp|ihR@N2#4r97;R>4qsd^LwR|&et(b9Z z#Y|c&X3|y{$werVp1m^yQP%@gbqhrPa zUcs_S#BtEa2#^iLkUTNKk+c}h5ry*r>lWK)!O;3zHCxg}8X~%^{(C)&JuykAQGqjN zv2OZ8P%8FXR^t{$3u_!p{2nrnDekw8V>-~qc9&?tQnD>KM)ow`kKr1#J+gu-6~{3B ze%dkd9c z=@onoh~+5XX?cd+!bUN+DWJDcaX` zQ=x2irD)4acVR`T-By*N-BOD7jZ(DRO82xuYYP4Cj#9LBrD%8Q+f-9o3Ee~7=&wco zejJ&m`x&CFSpFFr{uM;u?;>AbEA2hbJ;-v`FpVccJWoH2@Rl6y$0601Hl&t2LJWH_ aMH_K#*sD%0&|G}xQFYt2NiEcgTTcM2!i-M< literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSimpleRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/menu/MenuSimpleRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..fc896677d30bc33c6f4c079de82b61ac0057a459 GIT binary patch literal 7494 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 BJ}m$M literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/permission/PermissionAssignUserRoleReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/permission/PermissionAssignUserRoleReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..7f6298aa0ba1cd8b1df022ffe2e7a615a100c737 GIT binary patch literal 6013 zcmeHLS#KOg5Uz2Y?2&*&xB>~GW3F8SGaTWHL%=uzS=uBhPK@BKJ=5MDd!~Ec)3b^n z;En&mzd!;B-uY38uY2}#SbI0tI2IDJ)-yd_T~%FOUG-J{_4jXo5YbIqsnDE9CevY% z@>m92yvKu32C)iNBy_NwM_dJ|itsD|8xXS*&ExQ{$s= zhZD<~Zp#Om(Dzg#?uniCyA_)E=&Tc%aM=#-ZfuFrcyuZU)oO&7R!hnDl1CTr<Z{ArCDqd zO)8{8e$R3MG3SPbmmgxs1)?d>?uT^4BR9NJYeoZ;9hKo%aV&8do8n9W*JNgN9vYlj z5h5Ts&R8xZu^CGd`RukmS@Ez~mh7@v_SCju97wJs^f-rl?It%JM^p4j-i1p}1qq&L?gR76# z@Ei*p0#|+(0RgK)w_c@Bz4>1bb|P1B*a`~)rH_w}43Uf_ztMFrFWGzu&zH4guMN`8sni~G7so}e(hCga*_&qf?T4a$D8M763%1zjDAP|8Y2Rbee zLDIJ!72i2VX~GL%K-O0pzN992*&d3bEcW+F7<)*!_%_!Q^U5P+@blcn$u!Y!-}@34 zEt?5EEUX^1D#{@0^^;h=*6;aDkvU7f;@VA9_`nmVP|P4{#dg_3*XNqR3^}a6rg9yM zuMs9ZT0F39agJ!4YStN+D)c!TPF95qeSw$tot>}Yd5)gNtX*ZlzJTY8_+15856}AV zbpHEuFaJsx|HNpH82(#2qSKIVB{(Wtq}MR==yiGnD+^g~PT~62%v_uF_C7k!L29An z?A)%7$Z4UZRit93S2BNWV`ecnuKdzkKloeTHvybj_Xc;6^Or+gJG2X`Zgr4fw&A{{Yf< BKOF!7 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RolePageReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RolePageReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..026dcaa8e2c108d741f525800035189084dd0cf7 GIT binary patch literal 9314 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 W%Vle!&HDRze2qs9^Z9c;zWfK0X+~NA literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsCallbackController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsCallbackController.class new file mode 100644 index 0000000000000000000000000000000000000000..e43b49ae1ed95cbf4c584dd52ed699ddf861f7ed GIT binary patch literal 6189 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsLogController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsLogController.class new file mode 100644 index 0000000000000000000000000000000000000000..7eb43d335f52d17a36ee92d1b7260b38b5cc3030 GIT binary patch literal 6938 zcmeHMTW{1x6h2-8&Mvt?DDa z{)I}d)V}w4@k(IVzc$*xdhE8_D>l4_pxfe3ShPTDNXGnZ+Nqa(hB54bW%|&~d z+UAlcAt-FiG{*ar9CK~Y4nqkjn%rGL~7?EGd?q%p$$%r^hrS`&PfXt5} z_S@i)@(^j2Oh*Cnh&^Ufvno=f1xsbeSD6$^XIrwE|CGwdRSdl0OA0rw)^`DxYY|n6 z^W`0ubq3(}bn3Ap7&q#O`MRH5DuJKmfL~@=25YDQ-ei$zGZV)S2KX`uOK}#7P-su( z8JEZ(iPAC;bt*lZAZF)GF36KM-xdkbZDR({ERPV%`p~|&oGWc+0Ohg7#8Hd51XOIe zNOBci?aQ4Nu=n{9MY4ho+RS*kNLD4E&-G3!#m~Hg_CgxRX#y=4(m0Sw%Yt4-mO2uk z-8(?D&6NuBg_0{^EILd5NhQW1xx8D&;V_E4!&&kW{-_4*s8Jt6ETgvwW5cm6UHO65ndv?vu1zpOsIH1;ODl^{L!OzA+dWO$P0)2%_}f8 zvy*5f(PUI%sX-HTc7p0O=7rn+mHPH#Fu_WVANx47IecHz)WkcKSU z?Al3pa7^zA^o$$9==)oApOYP~twxNR9lAK%?PYsOq%{|mGauH}*F`5`I+uXIT?KzL z=%<;RUEDU`wQk|(&_vJ=;dni{%c2~JPY1mej!{?Tam?hNLsLOHWn=2f^R0Gat0sW& z>$%;a@VeGGU3O~MkI+T;xvDVe9-kF(Wxgvw%L1?m;cK&1jFw+ zi$fP?1Cvz`ddJm)69-J+Sa{D;Va8(#stydcxeBEy;<7{I&(2=p0sJXL`3{gNoF4Tv zKMdM;YNuX{K_6F2&z+`~djRWi-6O#Y-yBuiap){sF&sQu;zeF`XzpN)4h9qqMN(?? zssiQGXRyaoonTC_Tn@o%Pp3tn#WzqXjMEoR?eEuOh{xqzNlg{DWbeTA^ zUoVa_?&0hk6`ggj{$WmWT8!Ey*kB!a#Tj$HUpnjQ4wX-IjPKZr#GKo-T)K@)sGRm) zns?~j05^4M0olUj9+wuuSUK84oC<0#_u%o2lme5biMsdDqTKxRO+%gb-{3TBza(u}R^?Ih-i5$vTD*uCX*;E727lCgx>$ z45~;K{O1991b*@e6yHc|?W|X^i>S4c+B|4^ft|Xd6>r3e@LE>jCsE+Kc+71NgJLgkwY_*r zc%jP^aj|%=(I}&X8Bdq{oz}w2Jz*t`4r9b7bz4O1jwKi!F%=%&yVH!0-Aet$@x;8p z?!?ZDD`tH^NOg z7;>IQK2P1^QdNCL=$lLoeLm5hSa*EeiC_wM1CLfkBzy}JR-?ef^@9}8Y~8S29>@Bs z3 ztRxL`^1iyLe zB6#$u4gE$MC-MoXbneT@l`~d|vWaA=r$Vd2v{o@-Go@9K_2;$<;>Dn@5f@;(Jj)H{ zFV&5Uk(f=BwIFhS78SxT2A&uAm{w-zfvl)lEK9`kSLi&E7JHEXP4#kk#Sy@KbS z`7oPs4d2xE^{#}?;rq}*0^A;r&%B$jh+&7_Jzb~Dnn5ZJE7R1jt=PGtC&&v(JGW7l z#wCzzHg-Dk;ro48*6bph>smF@PUl}ILn}OUJ$6*~3?BiteO9}WZPI>vd4k622%}df zP1*UhvR$ZlBAc;kx&3p%M1g-Z^;Sf*#Id7;ttm6GxVy|FM_zYtjwWjkHkGy)D4F=F?qW8%Wi64X6b_$5ZgCd3YLsmuR7)`U0#*l$j0DD+~ z+m+&W_&|F88&U+Cjz|=^GdlB_=%x_myaIk&-i#~oq=2Q?-c6kbLE%~Wq`n$M$1E}?UX$T9yrS2ohn8@+ z_N0Zf)8^GA31!a5mbx?x-oS~hFK^0$S)GOhD%VlD%`X&pWVtpQI*pzE;Zl0$nV8J2zl-jR6YMw}Z-GDiP5x6>){GLc~0{jDp*>KJ`u9l^|-2bOrT9 zNu=ixx>+LXZmFn6`m&hKt%2E8Ahlg0X01fb3v?T*jnHy2ldo|7H9iqO$6>2)=v(?8 SGyRcP$fi|VqkH6%PvL(qUPaFU literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsTemplateController.http b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsTemplateController.http new file mode 100644 index 0000000000..3b975c39dd --- /dev/null +++ b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsTemplateController.http @@ -0,0 +1,14 @@ +### 请求 /system/sms-template/send-sms 接口 => 成功 +POST {{baseUrl}}/system/sms-template/send-sms +Authorization: Bearer {{token}} +Content-Type: application/json +tenant-id: {{adminTenantId}} + +{ + "templateCode": "test_01", + "mobile": "15601691390", + "templateParams": { + "operation": "value01", + "code": "value02" + } +} diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelPageReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelPageReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..fc974ba1042494363eaadc19bb85786139e4055e GIT binary patch literal 9348 zcmeHN>vPja5MPCW9|^A%3N6qI+ETj@iBkF^ls3(Sq;+B@HtEoQ2#R#E1=5|kJGr6Y-e(xXE>7FDJk0Y^lKsAuZVv8kA})RFW3qvl?7l?@;ObWQBHJ z;cj_kj#7qlE~6+}tTpU5@hudba)_|G8>lB56v#8n4?Kd(gxjL1m*el5T4J>!xl3F4 zV%g@zlB9`7uv@>@YRtC0g}4QupQ-h3mKgUfiA{yTl9F(=Q)&^}h`T*isir!9Ic=*G z1e^%*v&AVI6{zBP*YY}HmptZgu_xv|LJ3E!4nCZmM}HUKq6Vjv4li=fcoE*#CT~8V zsEv7D;^;Q>1J?`vp$D9ygM4vYFPGGNx{Y(dq`pP;U3tlLOP4zVDVHL{Lxe`9r_ZZn zvKdYBn2g0CJ0@#K?hHdXpVM>2!G1jYlFT9w4O`O#mTS2T7vS2u21n8~TdWU7@?waXE4j zZwC|QHsOTYm|C|v^YQ*^2cJ2*VSAPk`nKy4Q7(?g=F^=mdY zV$y1aq}7N>s}Ye_BO$FuNLmdftwxs_F=@S~JB$cjQ77bkb~|(;c@|)Vq>Ui#8Hy(x zVWb_A@r=G|HA|acr4l-WW21FMvn(8BSS<+MU``y$|3T4_C`T! zj7PX{34^f`A@>0hFH(|gOO)!v=m9s!%)VmwN1YS)?}0J(Ai}968y;%98n2ml4Ca`3 z*>*$$vKWKk5mIMe!nupU&$y1M2x|$1O2kRg2?$q3gLr|KORAW2-$EE40-XDw@vxY3 zP?E4qa`tckb&I$>S$&_`Fo#n|m7-FBC}W!Oasqh|l9Tpc-gS|SnB*)ogcZ;s>u?}L zOLxA%&N)QmQhj}OuDSVeac+HcwZ7I|-dvb_xVc<^fVV4a51Nacjm7!;+QL9J-ME@i zF6DAYAMYQiG^}i5i34|S$Yq}^aYRI5w)%?(=ThZ^dW?FrMfg%H+{m%V9ODAWVJe5n zsFq_6Q#nLN)teMJ95KejC=ukC%hVjCOLPZK;JqrsE8Bx3#(2aSyJb!rVRW^DDsawSqE zb*!xp&floLutmVu5}x;X4Ylt>m9-xG#RunCD3(u!i>LooF1vVU&F%J10T%ICJSMCK zxQB-e2y{RJR`dpzb@jY`!`+-nNB3K&KB&xB(z0mtD4-WBjpeHZb2 z0;XX4g|?G$DsC&I#A%dMvQyZ07G|)er{O%dzKPc@)UM%o`A@j;aOSPw;nLrDHv#YB zr?Ld7L&r~L38k=4*YI0|_u&1Z+CIpw?L(-HP+Ju~8lY`LjUgOq{=R(-pNvr3r(ldw z+Z8YeXiMhwM#d~?nR9v*K99Aj*tvziN=HfJyDu^{p2^TS3197MRI!w;Eo&ySv}y1) ze6vUYk`d?EczZXBvqqd~oXr^V*~}4ti(Z?6yWu*Ufyr?7eTQw|Jo!0;W literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..e19a09e18511591959cfa2df5fa11dfb682cefe3 GIT binary patch literal 9041 zcmeHMX>;2|7=D$e@sYH&rKLa_Pzw~BL*gh`Q;yOLQ#XM)Nh!xLinO(rNLsTidzzob zFJJ~{;5$Ex;aN#OWZc-r>kJJ2kXTy1dfsdIz4XVQzx+l-*Xg?gEg1B@6s{dQeq`@D zUB`AK+vhI#n6URdp2O{sd!2yUa$m+Qv|S#>f(HQ}J6?#FWGL+}x80T#MJ%uzp}dw} zZZO&2UN6w1K_?RAz=@jn`pzzMV}lla&!DAxokz`8gU)SqqSy~vE$aHx-wD{&DB`gb z`#h2c73&SR#X<*!%N~=i@Z0K%K`Vm&*zpDP?m%9H3haRswgX(1q~DC3xFc|Vsy^V} zh=rdpEY;U|yw(WFE2s(jq1~XpzNQ8+88QdK~3AS`&b&-GpXC z!DemAGB5{?iF%T5jg%^NRVqk7j~jGcK@B%4$JD}5e{wSELPk0inRY16O4^`Q=Wjl6 z95SCA=k>V@QGgJc*_Ak%*>@{_tIyvKB{1%L71w>Qrq{i`^EhtvUR4W2UTrJS4Lf!I zqA#H-cLE%?+>uQi|JCX@I1@uBV!g|R@I8i;Q$*u=L%oX2mLprK2aZ&#H7vwDJv#OMjn4L!C9R$q(Mt#)}opTU(ezox+ zV9g|UF3_c?(qlNN7!aCm%;qrTGcUN2mCZM;WWH&o^Gz$AZ(4)-rj^V$EzCEqF1NDz z<^|K^Oqyyw7CN!pN}750pp9@b%mhV-rADe&5_V=}nQG#PZ7vX>_?XC*qev%%)lQ=sL}Y^RK!<`NjBHU zYw9hNi{b~1hc7G*-VrXli8>7R=IGEh3BTwe>na$o7HAV4Rkqg(gx>L3j#q)c#zzzt zE((Myb?Bp2uk>8Gla6gSG2xYTo=}Y9Lt2Rz=qN4Wu7ErBTg2}It z(O)0Xo}^P_X`dWJd%C}t$34?uAK*UKU+dAHO=NhQo*9w%EbgDBbC9&B#q*$i0e_dE zrGek_uVmgkb>U}v>GuSqg8zyW(K1!>eJ2jraZnHGb>f literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelSaveReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelSaveReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..44804b4b00f758376a5aab0dabddc1bef2d3c0ab GIT binary patch literal 9006 zcmeHN>vP*g5MQNf{79xPrG+w-axDdH9ukl8YD%G`4@{i|;xr6=;w)WaC6dlPNuK5} zV+Lm6JO2y+0>kel`60%s-C9Wo=!aO+-Rie{d%JtPtNiiTFTWAdZQ3l+oIyW@%C>y& z2G%a`amx-YSK87M%G!?|E-ha=u_vr>Ka7NL*)oWf^gK*+$Hz;dA6h+W*&QAP!n0a_ zxRTzscu#DIhg<6WCt6+p^R zztQ7foUFlLR4XWmK za|)9DijQ04$7^o=1ZdV>PgAC+Fu2ySOHgbmdt&=L=4f~P`Y+M}@~&O%&gQXKhN*i| zzB9rglBq)hT5cblfcSA3G1(JJxsG5`F;^Ehz6c^D=3(3wD#=~aQu8-|WE1{wk zc$-HP>Xa&7qSuz_D!q=9?1me-(M^NS*G9{$wDzlSpuo54$QxF}H-&Yv8d4okNMJ1CEtc$ywQ2rgsgx{P?mCRUJxLfNAGL zQL16H@^ulI!va>%q!B8mN?j@yWUzk*ozhT4k3dNprbX;-Ev;eeN1`1t9nns2+`b-# z93{w+DOO9ADb}wI^m-)PsDSri>u^8Vy7a!^ggAxA+}16i=fOQ#bj~l*0I^*E5mq;1 zbL&~~fo+!ibq8)cJnWw(WW%Oq124;W8{U2XPWL(qBSJ(*`}B1TYT%$u3Vyx+{d$Y zE0MCVrVZ*%Y;Z`I38@&q>6K}YPSOINN_f)OGOly9NK4sR6;FEXR5E_%fbr+(>{$Be z2lPYibAz!w_W8m1koJYaSfBPq$Z;OLF3?MmtS|LNjJ|@uYgm{h)p0fGEqZ$*+B;LDnT4WR^j?9oyMxY z#yz>s&C|*NQAfhr&2DiF6o2bD@livow&6;FX}D~TU5;`!1qrnUS#pR}hamVi*`37G?9R9|vsUw` z@RuNg1mF3i5N~$uc%wSWHr^Vj`eD6?XWsqZyx;rl@8A9afIIM24JsalT7^MExd`sl z5e-5Sa2d*oso*e;s0u2NFf;U%wi|Dv2s5`X*^M>^>5rMWrFT zj2x{ul2Bp}hpgFfjL%rKKsp6j6s4tU$1C4;V?98Az=0RNQ@#(zxvoy$;z^G9d;R*g{TbADCG3_n6WI z3%*^MaINv^aXTEHLWe|7jO>hS&(Gaj`hUi|KWPI>P~S!4ISlZh5W;pQ|E3X2=AR4i z0o8*sb-8zHW+kaMM2?tJJYqyDlJ%(x69#)Loer7G^3rARIUL=MO0e)bv+QXMvYeBR zbm@l%F4xIj1Pnan#`z!Ha-oe%Lxa)bsx5NlnxrCPdt9){C!02k*h9B1J|tX>G zf4GPcr-ugfCF^gP2oVHl{m=x%6F-cp)?|;zOg9^g<1+5n%59T!wJV<|{Q6*8pZ0o`Y0Jrw?ULgZ%?BHvAjd^aKTrxPMSn-KXpA@WDkA5VzZNhFyj zcCwLB6ArTe77HncMV<*3E#D5M{4BiYWa;7v&v~gZ4&{spJ+{JuKmUZX-E6oy)C?-N zU7yTn%2+fSSM+A12)@atWAjNhW$5B-K5A}Ib%r4xkEI9AzD!lfzQy{06T{i)DGM4q zShOzOsKJ*wl(QDB0T#pD7}6<;XV<2~SKA24G+YNPg*YHxf(k6d3cl6w&ED&HuRsf) zd*s{mk9@m;Yc9eiTtC@;1$SS?>jqNx@ZS6#R)4zu;;-=XpBdd(@z-(z-0>Rzw%jUs z9SFYR!3pbUQhTE?wYN&8_BOn8f@~F(-Dz4}wl;K1r1oy9)ZT;l$Feo?{sC&2_v_

b z%+MKl;Ef-}a8@f@wkyY*iBcZQgW~M!=sTA^d-Uzm-~asn2LP_J9HIwDK}cNPq+ZCVa`B(rCw`Ufh#*5FSK1!@w#?k zHyyI#c{DUan|gr)`D)#46W2h&8H)ravweO?fgE{kxV}RaD57<~V}vAvb!pS)vkTQk ze?4S&q^lSZ&#EJM2cZkqiWia=VThgQHyUUK+I=4_GYw}A5%~<>ov-!=8Jw&5UmsqMvUEjv&V9->bQH-w} zTvv+){+w#!a?nt1616WMQq@qyBcJ>)^8CbwZ^a48AhK|R(9p)2ARBMK2~t^ECZ|nK z>Lgx@(sOzzGuN5Dt6448NnDlCDd(u1ROXxDzX6oeDkUTle<_>{!=KfTld@Y%nH17V zvR(>ME~H3oCeVN)T!m}1umo=)X}e*2c6d{P%cVi~BIs3l59vtN_Q-a}Z4%ZnkZW)r z#>v#4!E8Q`C#S=vZ>9C8uaTEegT zERrMF2Z-bhip9}Jy)*G$!T%OY!?#M|ujA7> zqWO(BiP*f#^H}4jF-@GtQYeY0RzlSdRNJ#`Jj8^~5grQ;2_v3~2Z=*QT^v8^;5|## zOveZU^$^cmL9y`cw74W}Q%l9&A`-Jy7KVjAKSz$D!h=A?V+|K^?I6GdmI#U1(8Brz zw|`nY4K#l*jshn;D{JIlx}FYq;LJN}`cO)qMoU~KNAZ(=eg@#N@qF`~27TxSEgY~2 z?gG9We8YT*%@1|S^t8B#qD4IvP4rMS(L>Ra9*P$AP&DkJXkDsd4`oTUC<#=49LElW z*^bhcJoa%P4l2MGrp8+~TC|@}p-y;UyFO*1YI-T%nQ&n z@2kiJ_=JWX6Z=6V-U_^JVALmsLMmPohm2>6GdBAMBOqmwG)Ip*k)ruHA)*_#ovoF| z!T$Qn&cRk~yRmt&wz7Y)S=+^7WqY@=eo$Xut!=N3h3Upry;zWPVW=#Q1r-fNDZu9| zCU~YoN`+-`;TlKjmr{eo&~>4l~I{^c`VwgiuB=UjF%lzv%F|cd7c6 z<2YMDGUe1eK4Az~?J33^mn$BUfWXF2Dqgs0V@IEv?V}tt@RLHE`8mLY^xV+C%E4W1 z`tv%N1I&m*zr5z)r=c$`qBJQmyCsNj0~`4PTmy_Ne)z$!K5!0R#8D1M{5OxkQ!tY< zHw$x5$(@G_PtDE4#dxlWNDGK3Fc(u~FQ>|0!slOtm+|SIRj(k*6}&!0s}=k$K7p(I z3$OhK>Yq58f;aImw;oW(TljZYNWt6i4vrKkNuZUb(cXjiC)y^D_5o-aqUrEqhG-vU zYTL(|+V%-%Lwbfx;hKvKkza++GDZ6wzR1wFFX5{U(XPXChG;i3we9OnZCiqyV?0f2 z$TumwUP-MXEAU;6#_QTD=Gb6WN^)*31#vzFaT+%Ih`e^CqorkV8kz#PVDlLJ5|8B( zEB!i`=5d1feTv5yQ$4O?)TUr7s_P3d9laU0aju5fk9h6i1@JRo=dqsGVHfVeKGyvE F{{lVc3bE}JfNTke6=E35fr6}Vq37drPytYpn}=#bT>4~giLmAeLwL1 z{4aj+96d+B`=dPG$z(TKnk8wOsvsY>&D`AgWA2^FpMU-OI{-|u(c2b?d8In%Q=^3 z9G}#Phtm4dJx!EMJftd3nTCIwdbaN4tD%SqqC4n{oh`_D-P3KfcYA48cR81`S#xy1 z;UV{f9Cl*8iZO_A?Zio>+@ZVXLQL~Mn^sKjn7#%h9=9dWAB5rsMx1IHz1`rx=8FXk z1$SbJ8oD)w)^h-|9YD5ad@t-TgsWLrLo0DHkI^8^4_q6(^Gw}3M^PP*7{qLnmXLvP zE#&MBNCO1Hm}@^TC<5LE!y};*=$sk}B;?1&TiLTO=7e&?bv?q^1>JKngbcMFEm_pA z(3RpD;t&rRRT0?BMdjdWG&2hOwC7PT4@VW4T6B;LwVI@=8q{`8%mGX})%7T5r+r*4 z^rK&N)xcz;zFHw_8{Ma>uKJh~g#sLgX9wXJJco`yVLGONQh|HN;@XNl8(-qyHXU-V zVOKCLI?CXBbN4Ul=tW$Iz+S&@Vwf(Jwxn9oF@xye$ySZz;Y9`Zr}_eOIHD3U+=bzZ z9NVs^9f%iC%%Rv?5XK=QKL?OiR9d4Q6k!RC#DJ|T$|0GkqeJ2;bM*`(w^N-3)Q_Oq zu!i{aVpv84;j_?`TgU68o#)|NJCxK;JItqODbivkscg1Pn;j^= zBTZxLFim3+5&X(nJ4?6DO`|cflh}fT1~L)@wzB{7Sdjc%r^)p|K*pNdIyHvT_8V&z zLG4<_=XR}z&ta|Ns-srJwWyamPxyHA+d2z)s&{Sy5kPDKVjbTCS{Usu00B2{0TC$N z0$Ob1TR;aakj7I#z6JDQQ`aqQIUS8FoHfQTDX=TH&(Gn|v~2|BCFJB!BWNlhq{(1$g3##c?Inobob zM8mh%uthHuk2nVQ^kt9QxE9l+su`Bfn7WK368k5mR0#^k@l|zoV@0nK^?>1M;nb}K zQ@19jZcR+xS~PWQ!PKqc)U7qChEw+ewMq$7`80xqrcqaYbQW24(e$_g92+z~!uK8;+%ri3`f+0P@#3|N|DTuekmv^a(zBz_opD;fy#-!^RDm2 z!DwSy_aFBizbe4Fj^7=m#5cNB$biU49%RdW-SJsh{HRpI<5pM9OqG`jDU#W7W0NL1 zI5(#u1(!y*hO{~L&NAv`iy|IS(-h2NYS$?!-XBsn%KvY;Pk!2z3p;^N0dybswUK1r=RpH1Z83;c8yPFy+o3O|>0RA3Ii!Os=ETjbz7yfDF$ zAqPKnd{h(Zi+A_4CS&;3gO7U*_5)($2fp3V1KXhwS2AU39v^KV2>rh9`7Q1EJ5~o0{s&Su!HMpkDwh-!Xfl*E7C>u@Kg9ZikYC`|H5x@ z_~Pi1U*MTP0^dK6e|bg#@;{D$2L%>PzzJL_@InS|Co^+<2~MTzmYv(nQgxe@s@oJy zOSJT~RNc>r%OyQZwbM)Yz^_2@NSzUKRwK)*cIF?yTta& z4@sAlO|NV-lUbCP_d6D0WtUkUhnB^@2&h{&nHO;8ICz;@F5V4f$>%-v;=%6F+p zIqJ0VVrCJ2%fgEqThP3HPGJ{b&??sJ9_b;T{ckeB!A zCi=<(eV6J7@&VI{E}zT)BLAJZL`!VUa)>wS7%3$vB_TC^Lwj+IZD%LzwZ^E9QqLG6 zHILP#loTonsp*rcG8OlfY)Vh)Bx^!x*(#Z)grpXDC8+d-(sM68q}0})QkWF9DdD8& zzY>y?kdom@cE(VL0^ER`(=ZROAd9+fdv#uHJo(iT#fn(fi`j=M{FlOR8l zoJ|s}Ey8U%jwdrg+eTVv)y|%;BE!lfYioo|G6!#JaPxRZg@h_1dXkrEa21JOpO-~} zN6Z3ZF7}A$EDkEe+;du9@6*p5qQnGrMqU}Uz@C|no^ zJdfh=Bw8ke{3umj-QS>EW)lXt5NT74*DJs$?T4gpO5`lyhw%uwILz67BQI zfkEhS5uOpcEG$nA9rKLCmPh;ftk8${~Nkjz27(qdXz+%zm#~tE` zif647(U$KeMHNjpk}(abVZ3DsUpAKZIC1GOj6WKuAq=hTa*Y!l5wWNVmTV|lT@zBCf18`m6#yi!b0&^*9G2>A|XqCR-(%S@P&CxLlylpn3prTU;Hd&TlSyTyUuiaUPq^Q)YmaT_@FqNM$4OWNq@Gor z2;wxGgKso&((zL*ePBV>U>$DK6(pV-JfFn(!ndIO5+GkVSi)VY9r0cki}?0-8Xcc< z#H{tSQX;Uw7afoX1fXNAf?1|5I=wVQv~`j>uh1n7foP zHw%}K+&c$X;<*B9yo!3IZaMcXJclzqi(bIl>v(*K7HjxlcnUYR=U(~^^gnSl1+U_- zv>f0PyoSHikrccRZ{SFSq5@h;8SO22d#r8hXz!$oW~7Q%hIdo+^gVb#MYIoaH6*W) zDSYP93Q>OwAEk=+F?^DuZJ(x!_F1ZEw_qVfPjAELDWc88oe^mL9P&lNuGbQCNCm!% z(PXY##5FdUmHKOLDFJad0WkwB2Z%CvC8H&+;3PB+?!xLZ_VqnhN30&?k|dA&h+ijo ud^yqM8b)mj*226#2bnP2uj5=Dk8knVzysh%JT78BZ@?zphi%OH5B>pN8&(+r literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..873dfde630b8681a24243b7f9a11a4f87b9d9cb9 GIT binary patch literal 9069 zcmeGhYj+bx^lk~wgHW&nBA_lD#YAz}2fk=Ukrs>wicKkk51j5!lY!ltFuTd2AN*aO zqvz;%f0V~NJDXR#>4tX6;duHX$vp1d_uR+ipMU@O3jmftC{9c%?5^=(J+Pzuk(ZQ}ZPDDVTjD{S0rdnBZG!w=Tt@hT14 z>nnN48E`zp?GfIzS2i9|Cp2J&xdzPE>w-5I3^=>m;UV*BjdxkVHavQba}kn|2_6_w zs5hJz^$7wVacSU4)>baF=); z+{uMoZTuxnbI!c3aXQxJM*M zaRNLsU-yK+As*W|DW?)Kxwx29#PaYqk{GC9SxO-bP&IOkcR6AaUYEM2Bm6c)Z$J~7 zZ7I;2esIMs71cS@K`BINZcwui9}1J0$}9&U2YNYhhX30o!B~`X?MrYG-Yvr=cn<^M zBI7K)YQV|LaFo)qwz{q&9OLwM$KRlGjbLn1@k)ifbt0LX$BVhJ#V`Vs`g6{27#i~! zVb`Lpas*>+FRv8fV*}3b9u_ewVr0kTjX2FHR644kKvaW3+s`!$;C7U5N)c$BaTJa_ zangwby-qvlRLsZWm}H|)t;YH0IF7H4rkt{(FvvP{gQ;fms9G4xJugKWW?S|NboOBt zoqVd(um{rA_V6lwb4-J95efG#iDRv%PLd-}Ne!{9M7;D|1t&dMQC3l&G7aVYrfDU* z;xy!$J?D<>1fE=2h-Tu)xwaoOXbkRzCH~ZX0hBQ9)`7%;HXRLh3W$XP7KA2 z6|89`b16os0#;qi>L?CdBxq@o4ppi(TnL4ZE(YMjdI269@NupydDC({5(MTZ^Jq{iPLGOD z!zd4 zvZ7|o(#@8on=Nb5Y*|sWWnr^rb%oVywl0{ipn<8%Y3x>rLNJlWsqT5KG1bb5P>~{4yPAeG0_=p$O9a$SZNipvrCvuA z^|7@k7n0uPQSYQ0vXny;VNL<+#`RRGIMPa|P*(kX3P=iF-3X=t?TtCr+F#ebehQC+ zM}P?cRjq+&@u`4^!C3eK%W;J`7IGpDOawHb`7Aa(P?LT&N;6Q@lcWJf4_EsG+M5-1 z>e(OV=jdeFv8O87G%+(X)wA5A>_mJn(eMRl?;w+mdnz5ogBRX}Lk-gISJZ$~Lv*A= zZ(!YTz^NToc2vEp7j;#jVM}vbzwqylymp z5-g9wHiI`%-`B|{y#Y5f#P&_5*lO@?hP-{3DYkm1*lxk?{(W6Zysvw)?VU_{{614` ztC@OnBU9ei;BJO~w+{DWY$_Z7fOm8_$3DAVb8x?pQDx%&VKd+X{J0B$gBoD+nDSFU zdL~J{7mSzS=P?!;VEZMZsxT62ltb_<+F%AqbkFAS-l-~Y13wOaIDY1^!f{~}TJQ*W Gz5f83)>H-n literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateSaveReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateSaveReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..f63230ef05e7874f3d0827dab5f8f008f8cdfb0c GIT binary patch literal 8884 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 l!0n3?WP2s&*AA`=p`0YpUY%yc#lb6MsRiGRlO zS6HQ0`tC3B)n}_LznXjhygCRPg9r)*#7eIou&TYf;-KKC7(MB`yF&8(yU{r>e*SHaFG`S%e zROMQ$=~@ko$;lck+}LDNHLgd72o2%cB7i!a4Ro#YfO{4stOmY|=SMO6Y@=#9EDViR z;qdTTO0hWv%Lz1@^^i5Val-PdEnHL+TvStBR8w43+qkGExTs zM=|KIQ&)}oIE-Wus0`*w3z9Nch>`^-exP7hIZmcv#HNEOAX6E`(G*ZG z`eoI<0Oh4FXM1%o27D%t*8D*H$P0we`mXDHSXZLyE*GV4qUo2zLxIF4xHJIlvTtt` zP^xOIvvrP`iuLUME(&9k0Fjd%r6ucM)lCsQ_um3Mk{PRi^1oii4o1n(_0GmwpDy z6&j<1qclQ?P@bAJ+vTBpBy-9sSw0#!k(Jzx-4z}zGgO2$nlMrPaBj0e$mdq$V6-Ms zuDWmTV!aKutqCjONX=CIXmn<>qY9Qq)l+9pH50(_;ksyeEQ$jxqgHOzv?(3V)Fq7G zXDXY8=e_I9iNR^a%)BsK^)Pl_7HnuVW~#9hx=w8^^<`eZqvofZ$r(x{Dsk=95WTHw zKbNT2Dbvg`YHIqEO}v0kT}T0`s`3KT60W?AHBod_AW+3k29uqPDU*BwrEyah5L9Uz zeNYx}t)MD_+^E^k_{nLYDUb=7~yHqLvDyhn}=2)n(}3YMngfXa4$`p8sh<(A8FcO zC6L)6wcy~DwoQEvj(eX16<4HGAoL-T1@^iDX(Dq=L5Z7g&wCc2L`UXLJ5j5GbBLz2 zfsr0#DZ_TJFt;l~dGE3Ge@LehgEn}iVqT+jPq1++Rhp`{+-N&3gLTvSV}{~AAEFs; z;LQ?HYme>~e)?*&y0uiWEY;W-kd}z)RPoP!f`-@mThJ#H(XON;%VN7t-;K_|?@5%? zaKM{6`E*A@lL7e>9PL$YV5u*N-4%=1UUC7fRLqpBL6u1yRHoUs6ino)X8Z!6{7}d} zyB@E|cyEQzn>wTwOX{?$(aE%9+il0X=0zByRJ4q*gF-q^_~-~9Uk%`IFTH{%9Z&NAP|`X~ zl`U;Ucpjlq{O$wAd5qTZzw#T6-JRI~3r+lyj5~~9$%Swo!LOtT6}?JFleX9BbsD5& zxF4W5GMR7T`2?;J4b3NUa|+j{m;v0UVov9XIh`x!j3Q=or()j85pynA%sF}wdPrAO zO~h2N0J)m?a~JSo4(Ic^oIj>dGR~i7oF!Muy<0UGayVbig<1EaZx~MxR41n^4_^O~N`KGS_oh-^pRUhi+hM17s%5 j#~@@L&o^-`;%eYJ3iN+Tb-G1&=q}x(`}7?#vWWi&wvSpz literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/SocialClientController.http b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/SocialClientController.http new file mode 100644 index 0000000000..9909b519ad --- /dev/null +++ b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/SocialClientController.http @@ -0,0 +1,20 @@ +### 请求 /system/social-client/send-subscribe-message 接口 => 发送测试订阅消息 +POST {{baseUrl}}/system/social-client/send-subscribe-message +Authorization: Bearer {{token}} +Content-Type: application/json +#Authorization: Bearer test100 +tenant-id: {{adminTenantId}} + +{ + "userId": 247, + "userType": 1, + "socialType": 34, + "templateTitle": "充值成功通知", + "page": "", + "messages": { + "character_string1":"5616122165165", + "amount2":"1000.00", + "time3":"2024-01-01 10:10:10", + "phrase4": "充值成功" + } +} diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/SocialUserController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/SocialUserController.class new file mode 100644 index 0000000000000000000000000000000000000000..04666e91ec4e4650635f5f3ce050d45b0cdbf4f6 GIT binary patch literal 8925 zcmeGiYjYGuu;&PD?h=v!5=F~$LBIs5Jw%HSBu4Y#5!{fNmm+?d>`pENyF14|BJqz| zrB(Xfzu-szhh@+1WoM6DGaKp>pyb2W-puxN_jLF4Ywpi~e*GN)7T`w%Y6Kodq0{s! z51LQtE^RtNlM6?0w3^FXPnZ)EID>0Cz-uhr&nu41p69lbZwv=5Y%KoF*`;7`PLLA{>NKGB&&s zgt*q*Wv=N6zslTXUB|DQ0#ddw_QYzW@SmUvQqKAB&ke3 z+;598Hl3hE@^2x!EwS(N;6f+$en32-PiYua9jS_7B5YYvJLExYJET7QNrX>zn2%>k zdKQwHdpdTG($;CKgt{3ElcxTzQAf8LD>tqMewHBo5^c9p-WuRd>T#D!Khf($iySQa zZI3%VHlw7?LUhqV6o-iui_pw`@WiBaw@Ki#Z5|-HZTy12Y2u-uP|%jSlti)of>0(6 zq@T(V7l6_Yr*TBXRZoc0z^{m^a#_Y*W)bLMxy%dS7Xj)g-Dgi2DvEGU2#?{84@S6( zQ3YyEDicT=;a<^*?w#4q8rQP(J_QD0yli&?eP@&;Ii64OSobwoOUy%czl zRrGa7pgo(TGduV|D}|t!Xlu{kp)fA!j+!D~?KB^&X8W$V6)Ka9SjMLVJ@HD&W)t*3 zA^(|aKsD~8=--vBD=E6;=u@6GOxQvj#})Cu+r%6OtqshOq7p6}bw#++uKTa^Bhlpw zmSdHI`XRS}xR{-Bp^w=w!R>2pB@GycGs94avjomh*s5Q!7RwT1O7;^*ZA>5^CjJ)2 ze~K*v0%vXPe0ZBQ@5#qr5q>LrM3$j-wY&KgnT`!w7maQVf~P3|na zS~#b%g_9?s5`mqX?9?E9Olr3(G-(Q4mH3OIzs&j6z!l}D0ezcdcM8U1jpG^xH3$r6 z2PDf#34BsC_d=T5dq{3pgX}&UqjpzLkG4BW$ln!gw`-Zk)ZPH=Rk5icW6ieIn%6L4 z)EnA)EGVVVRojsHG&a2_di?M87pA6d2|8VH-dRF}-d6hCVOymxXi-f<{;FV6YK=zj zM_^8esw65UZ->Iz_YC7WeHzABv?OIk1jZ+9nTGeesB5JkO6^ES=REA9O$`KCuHdB0 zA}8c+d5c0|Fznn*VDM$nDfZnEWW+AkEVy)JKTfCk&>*KsZTwXjWWFDbffxDLfNG9; zF^5nZs${_b%bE-C_quFZRtqnrsd=H%Yu@*Y5%|C0rqQhT3#L-bpFs=#n$+&U5(|A> zA=Z_8G-pp8sJ{E}e)bWt=2}ZH2=3ygErAP)ZPgr3?>VtBve#(~J?5CaoG#p=bf$`T zB{(&d)jRS=WXgd1=z}{og#iyR2`IWI18j8RGA0`EQ2xU3V89Bprlf7aDqf{4?(%xj zfc35q`N=W>i`y}^BJ*noe2>Ri&32MA1Af2?Sxp!6JY;r>M-i6GvOONbMZlYQ{FecN z8k~ev_%?7P--DfZ9U3?q!qFE9N$}nH4Tc|`9r*>u{=iWU&UGLqmUr;?a0UhEVH`&U z-i7yI04}7k@8|eG#PLV?3`x=^{m5_K)LgEC>BBC11rN~Ec8}m3`z~?SLkMS8t^SK9$@C_`%GJFeb KumRt}qkjQQcz(

szO0p2Elh!08b5f->T?s@^EQS5GV zkCEVddUB8K())C8>uv?+EjXQa5Rhosy}SL0da(ub5ecaUXWGMCo3UWg?wSSX?HT2O6odL0@PY`EZ4=?T_VcPyyTCnW3!h+0S6(3A)JT|B9^ zTTx7RslW%SiKIebu4=1Wz6B>Gf+q-F*`@KF)UM@5v&gaw`HM-nE2xw|5)q-@65&tu zNRXsn1w7p5kKLOzqJqTK$D8xlF}4+W#e!2qpErcyq6)8BCvQKD5RC^t>f0U}_ff+Q-}`c8uO0H<@l+vP>E?20D?)G}0L|vqol?&%TvW ztc)5RQQONjtGt{kF``CBnMJ_}%BYc%e?~|~jf}c8YGl;iI*G^dKpoD)`9-(@uOq!( zVG)b3TCmc{)0bx3<`(i%n?>|a5^f_m5+oZ%%Si6Q77c z8*5FW8G8XaIm@H9D!gOC#ltBR851P}f;=3MzB~keD7Mltj*^0omVyNg z=-92;X3}Pn&jhN)U>~K<4iz-=P#o$TbS64JQCeLI&= zjixp&?t5COhqWitM#-ichD=Hnk2*AZfzVzI@pZT-N6)6t)A0R~o>~V=P)`niKx_s& zfASti;^R}yE0tee;yuP%#$NRzCo7Mfv^;WjdF1Hw$QhPLPFfy0Sb|`A`q_#c5d4rSTogE_)AL#m%T7niOj${A~;q9>OSxCNH7 zN<&M?iG`Pjd0H7wWx&e`mgJ zEJCsMRH?7id#(Ai19NO?dx+xXr2frlVkP+Xrx|M6?e}MRQ8^)GgJv3-HkaaZ9s29fgkz zvezn{3!maF(le`$-=E_+=4aP%T)!wlTqr=Chpz^RY7Q2o6=g{gngw6O@xQ@p<9sob!QOCO*a1+<9*1w=N Buw(!L literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/client/SocialClientRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/client/SocialClientRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..6d16656fb4fab33e1cd15590a1ee036f735acb5a GIT binary patch literal 9390 zcmeHM>vz;d6u&8jeRL}iLF9-yAZph~B8o4H2$qK{Ek(8zQNN_gv^zA(teIq`f0^g# zIr`l{%HwY``-BuKn{GKAKI~&AGxs(3-uc~|fByaBFCw~1zm#aoB3H$p6S^XD9=ILX z@ghe^Px?G|wo>1fPAL5};Evi-2@f4lMoBD#0FPZi#3m&@R|HN+I$j`nlsHZ42{%~C z26wn>uP&Ep+M+`l^}vlboaMC#+)FH)623(T78hl-F>lcuchV>kA#X$-p~PCiuSAhd z+(gJoSyWzZdMzHhSUBTz<;9|{pIB6j`LC&nxxWONEh_PcZrBd+Z#r^A{2W;vFm5KX z$aqyDHH2K*YGXxZu@NPFgU6sSjL++Bh0Y&wLN;_Q(gm;r~ zK@kOEQ;1r{DmURP(8Z#IP|tINtKA8(*uTNEz2&)jPxX_-GN$cz%$2(5#u0>7dPm0% z(oB^=hHG-uxxphIgQAaz(+kkML~nuBK+$V)EaNhrwq~a9MxZ8x4)>WS!?p-Ai?Vhs zVd79-VAYD=$2?b?o2_xyU!O?kvII7Ix#Xo?UOGb&L9)`~EaXW``V48nB*}(9S7+<7 z3|WGwI^NjhITTU3&SS-J40=^4ltOmsuFle0wUS5ND5pmyUOQ}j2e`vM^TTDb9xyhM}oZcFx zknbmjIpGep8?~_Ub$#cK=}g^Qd`Fknb0@;s_SY!t8C2gZzIVGgYwylHLu-4+ezM7P z)ZJe&+XGua1-@446un)ev-A#N`b80m7*q9_PxbjFP{MNO8^VnV=Ov~szIk%C#$5o1x=Ygvgq`akv@RFMYEtY z$hRn^Ky6U`%;0IyH}Gr-puj5qQLhTBV&+P(5UOEtdr%8iFl=_qAT>n5OV}uz9Fm&h`^-w7ey+7(7I%Wok zj=}JuW7t1*y>sZ$6MeA5XFeI_4xl&S1_;xUU^ftIzWx)!X(*VMJ3Nks&k=8BRKwTw zR{U+bs-3A=1!wM@%a_1u$VFRQY34$i>64qsb`uWba$DZOphNHo9` zk&o7fmjKXZ_@74}>iDcy=(RnV?FFtqnsSM4B3A16XA1uCkq_yRn%XZA93XF*2jf$(bW7OrzA^1{#hm&E(UK z=Ukem>zwmQcVc?o(IOUgy701E(Usgp8Jf&8QI_4D@WS)l1Jf4BGAoJ-IiunzWp9DD zm1z(~d*NXt`FC3xH9SKtR&B~O_V{(+Hj9oMlw+WRd25y>PW^sNC$aewt)L9-DpexX zsk0;8O7tV%1?kjLBH-Ggw{6BB@Dgju^o(_hjQi)=j=U_GxuuF+|iu5V>vutqvMarasuPm=>%l&X>t;pyot|wXlmiN z`X`;be}w%`Xa3G~d>7wZW1y_QJ{x>NndS4Z3^CPVqxdrdx7Q)q;`?ME|A)#LaBXIsHT?- zrFNxIYTp)0ZK2RpxJuUw^pNXxqf1TSci+MPhwp~}9}m;i=u^};$avH&`krn+LB7G= zwexsg?B}^Wjh}_$Sz6lWLlkH0dtg I!@Yg~KR~`dEC2ui literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/client/SocialClientSaveReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/client/SocialClientSaveReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..04eff35cdc1b4994b503d14923935c384ca461df GIT binary patch literal 8812 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/user/SocialUserPageReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/user/SocialUserPageReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..98c9ca2731c4790363fa48bcb791c0ea931cd39b GIT binary patch literal 9982 zcmeHNTX)+;5FUlJz9eZw+CrhFs0E76Mdng&O)rF88iNz}Bu+SmhoDHCcpFKp?#ib5 zWt;=&z&rdW4zrSM%ZU_kj~&y8Jjj;Tt8Zp!XJ@`y@8AFa{wDw|!Q&iEXz+{RR>d`` zS9xl-&5Gq!D6^PNc;&EVo2=q8yXBCII1~YKD;Dzt&Kw7SHfikbT1EHMq9X@&f9T zs@JB1?mA?_^H^X8lzBpfd~MTe64%6zQ#KJ6r@s6}gB*Eoy1s*8d5>BLp6TN4T&*W^ zGvL(Q$M?=NpLo>PplESo2Bd+)P`RILH5`Vs6t`f<*;?meg>lymuqo%8K|r{aw@-pb zsQgr^oKXLIQe?~bIT7MVlY1yzAi%k{>9j)49Omw_gUTb~5sor#{Bd#-ZJvWSG`QH) zdzo{_^KeZ&cYn)6H0HF4ty|3XsS{d7_c=o|x#F%~EXenC%akV5cZuHZA28k2rLoVt zWZ5Nl!2#BbrfqDUBCj1FPN|dH@cP!kD8#0g!Cfwt^_zb)s)0x zq#h9Wif|R)nuZ(jHl~1k)T6-z4X%`u;X29?L$DLScZ*~d&6$0&DS{8D4-f$i{X9JVnOMs!Ny{lS4!pWJlxSP z{B!b*hrFQCBw_m3rPCOagBcMAONsG@UJZ0Abn4lZBTaJ-kw@$iPCN^l#~x=cK0j;W zZ?&v5a->?&8EFa)jm9B#WJ9u>ONBsQ78xd5L(v#| z=+T^?4tCFnhQ;rT-baTZS?aI?;v^VB+XN?FPQGti2gvaCTb5_U1%nY53`SHi7*WAs z^a=(eEEtTaU@+RukOjjn-DX7SlCmPpwwmGGkmo+SUQ!6gSVPt*M(Dyrii}1=U7ztl zx4e{9(AR^qK|P`@Wn|=`KCrm!^0Sudhy~AHHAPc0e?<`umYG}o#4x^Z2wxUGdmO8w zUl~6bBq6k{EWQSH%&=Hgo29%gSKQd^4;hW(mE4R?jO&2y#q0fem8!cf5$LQe^ zi0%zZk|K~|LCM>dIw_21G+h!lIR)0JpyTN((2qXS(55gp6)uxpWeSid(3~WaYJydw zCTe>G^`EvfvNk@~l@Q!->yx0U+F+CpRJ$@0R+&RTuFvAVOg@MLGTzJ-s~^{vM8 z&gSxBeSIktrXBB<6bpR}BeTDxR=78D9!pE)#YgsLqQEm>{z-$&iH(nX%++w~;~Oo1 zTcHqE@VwD9}a4*O{@rXdjFY&gMoHf7=^(r<5 z@%~yK9%|r>hEk}JSv-=k$y(eZE4ZDm!PS%<>~QlFNs>I8AP+%YsvR3VwifWODrZyf zS0QArBOHIYQuS~%R!}_0;RUM{Pabfqd6wSkg zBC4yw^jfr^E{hKVHvuh*XG|tx0?xsCe9GaI{LbU|1Wdv7v9_6%whM4E?pMUOTB5gI$n2Bs)paiKj7+wn?X1nBrFr32#K#7`+5d%-Pu2fsCV z7v39)c3T;(G*YxOd@w@YK7@}l&?clsLc6Jt^kXnah*lXX+9&Yo2z9#wpJkwho)p^c z^Ar!k|727A?F;xaMw5R174}GaaBn8QPC=YaL7arUT}0{U>1b*5nueyqJls1$zut(| z5$|``MB0dZh!0Xm{A%imzeTG}z(N=U<}lL8= z9Qe+k;Gb}~qwyjqN(gwI_HgpS*63+;-f4uC$v4`2$#q9R?B6=4usqCxt(k!DGzK%glQ~%ACH+E;H5-3%=7KGuv-a)OTzJ( zzk=o>PomX@5{(;lJVW+b*t8ec?sF$KXv}jBnrt*g*qk@$^kOSay@1!lwwHKoKEE7> zB4w#3!o;9*W69az0Yk@WmnTl_Me>P3Gco_E<;C2+340AH@rNvke6+^Xtq7N?Mma;^V$d-R&td-6jsQkfT9Mm(JkjK79R`)FwXPqY%iGq9qL?Si zZ5D?xGQsN;ZRWQCJlF6=uqHO`8$9GO09`yBzXD52bOw6+1H2Z;A}-TQM)}-I2sGih zxobKih&(@YuNlPx{tl80W@SpgXF5#!-dy8muYW2`W=fYHb~*IR;bQo|1?YRz1aMPR0QCL`b6p4gEc)_I(mSPrsJ;3WyNRHtv2Rx48@1KvlX8q|HO zlgG6TYaiP6bQ$3o2BGEFaZs*#Tr@BCxA8|a^haO-sK`HT@D(!Yl^HrmuY&Si^g=Ja zWYDQq_5?S z`AvgUb-7=eY=h41O@F|CKo{})LWd=u1b_@;J7cXqo>-O|6jeNiCZ;gQ7N;TUCK`pN za;ZT_Ro^~sl$Oe%1N%d3Ns-4{Da`T56B#iaWRSAYN}fa}ibOW6ibK{$?__9HPQG95 z`FQkdr=YewIZ4ra9QnY@a^Ri0M|0cULz0_&-1X*O_07#a1f97@t2_5nn49}Z&S!q= zNAKZTn2=vulQ>*4AAvg%{^|fXU;Eaeleq|4X!AJsT#hI#;{=~7UlbLaS4|v$EQqrD}JUs@+-r+MSiv?krWiv)aOHp`dlvbOldL zS^NoD>TG1^I{q+13e774iL+$6(8^NrkSf(kydV-Wa<(YQ<^w%c*~{96#twANtdljx zLQGXqEO;c(v)x*kj!x|k6|PLlQs;px>@1c8)v1!pp-NOr^{yU`j?K<*hg0-8Pf_-{ zW7jFl=ak$LVb}hW(&}E10~Ba)&G_uGBwDeCgNxGUjKUdyw&hg#7-q6-?=+q_n^i}dj>wv8e3RGjWVvM$jl8qq$b z%No%>(~5RQE8119XxFr&UDt|sLo3?nTG8tCg~s*vrB<{C-R#&_!SxnmGry<)`&b>P zg&v~Zd51$Y=qvhq5BvIi{{C~xVlM|5jrhMHo};B*=C_ZwT)-lX0#0&-Rxt--bUWiX Y(n87VzQK>-Hv`6ZhrXk`;5+yJ1|$6G8UO$Q literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/user/SocialUserUnbindReqVO$SocialUserUnbindReqVOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/vo/user/SocialUserUnbindReqVO$SocialUserUnbindReqVOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..11479882628bc420250e894c2a8ea159a1e55655 GIT binary patch literal 7257 zcmd^ETW=#Z6h2ehrpb0`DP1nR3%F&0l*Z6q)1t$PqblK6iZ>0OjEo~lMElyGNwF@`Z6jsF7C>h z({vwy?u#}T$wPL0uyb$Z>gNSdkxdPz16VA1r&M&Ko%SJ%O#sv8BxeECw_3umE>oWb zaOYtm49{3g^ttBkl&uRP4K-W}9l+hK0myEV=Zb0lHC2L(uEvLF`ZO&NaA_-*Sz8`O zUoycIH7voKvodFbC-&|Th*9{gz56K_+K!`0NldLyq|L}FNJv_Sa81yf zT%l>w6TH=7iisFGbd=2S`nbS*2?^trYE3#kW%@d~WX$wrLb}ZCp;pZ`Czd(Ya-{#A z7Md7IEMdmAMsqu}R6chq48V6vFI^sfxAd$-PZ-+F+AgQ@5$!Uv8jG+>fv`-0(4|1= zQXm|pKvv!64`Ft zW7#MHZE({vq#JeX=n*>n?@4SetWvy3b(U>@%f!!UzT(#y-|o zCJdTe7dca9b#<_lGX0RCSm>^z7F}(ntI&;fgViS?QsRmz1tuj#0%6$wMM9W|PA4 zV&<2depJ^gxCb*YuX$O?gW05T&e>31a5K`vuFGR?T+79`oxv{9RXXf3_~ufGgmt)J zNk|^p#*Mq-@-cjq;i4~(7@@db?lIgu4iFl3FI|1Mdl%Hoi?5g0{Q`P|P*>{^ug(4i zjqPV5FPC@`U1N@U`PD<7e;J9F8_s|I8;&2Z_o^{OeX2Oc!Aqmw5}TsP#`WNGfMs`N z9>m+yY!_)d2GTFY$Eac7XBzb}L<3z>vdt_vCu2nO3DE{D!mW9@2`>b2tNHkR%#Oqs zwy?Z!7g?LBJ!@<`NW;NkdQcg^TAVgLj+46Yx1RFM5odZoH2)qfu03^e=HQiJs_ij1 z^e6>>(dLz;UPK-uO$x^+TK|J%7BBO871RKJ9F@TTfcPf?tUNjXacqu5{I)$b2%yuv zj-`}%gi&jx{4=U_2O*%1t zsv`DEnk6{nM3=^yU2aY2wJeTttdcOL=r)d?6djiG$b*??U(pRMdAf~q^(M|)NjiGh zOloC3Mgw{9%iMhP`J3-*sZnp|N}xWM1~tw)9f^DTfyxwBSNQczGZslp>;!jN$|Th+ z!okTUG*ks%_uy22yDL%(S%r(7!L*+FF;CQXVcV4aeQ!(Ijy#YkAU867pxb5Ne$IK?4z@}S#wa6CWb1+?-gqw!o`R6Mh@bC`q99>1+# z3|~3jg8R2J>Qm_uE>2oH-E2-s4jMTvHYyya#oW%Oo77kpcUa8HYfe^jSZq`{%Ty03 zuT2Bh=GYcRV`xIKXQ=JnsUDog`pOt1unk>q;Dsu@=fUNp3oYy%u!B;)I!(;&m1*N> zrOYmH?K}s0@VKnp9FH+iV#7*fbl$#_H@|%r=6^y957>9TsH0H*YVX3skG*2dgO}#! z8#vG_9PGem6~6Q;{~YZO+sT;(ZA&BLQQvsf&lM@D;C<52ge!u*J@(t7j(4&1!_tYR zA@+*4((3i%#1CVt6xrf2Q~8ZLo>hukwP*%LSmQk3o6Mj`3~h!y2I%7c$oO618$#v^i3C%`^ymrIVcS->>~RM@H@FCr7{1|v zd>aAJxMc2XtoMb~Buq{C-E?CP!bsT~ns*4KqZcjjJOs*luc(PI75~0$zc~%B92lR$@hPam890lQ zW`>!04*$M}&ozsPD8Iw`A7?K73YY%G(Fq{yy63vNqxlew5bZ J@NLq3`yU(o6T1Ka literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/TenantController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/TenantController.class new file mode 100644 index 0000000000000000000000000000000000000000..ed5fc62ea2c9f040e09bd3afc2019fbb7a3c4648 GIT binary patch literal 10331 zcmeHNUvu5W6+bct+1E~-ghDADT9N56*A(t;p)eGiP&*0WRE|yTIEBK%T3TN#*1xPI zH}3E?`dOH1XWI9Egue7k^tsdD?&|8ww(QkqY*I6M(7jse>^W!8IeY%C{`ud({+)lVn6V>MRTs6Sw2{>=%@FJI1eJe z67L6DupRQHI8Jhw2T7b+)N$|eEGdM?0s7ox5C{1Ui=OGuZ&@^X6Kvab30OyjZwrx# zDVnpczI#6wm>ceM-|>13$77NWXPY}i zBt2&(cY@3bVm}aATzG(2J6!PC1BD%tL>NCR@XmL7UdXb{*$G0PeV zz@6(}+$;6lQ~K>`{r0qedn5h!lzw|!U)LQ!;h7^P5V73bb#e%bKTfgiI&zp&PnuFs ziSIj-(((zSG!ePu#SM~w3USyH|1aecBqq(B1;j(P$3)Idq@D;^A_l!I6+t}M5iH_= zO2nRt&+jlrZ8ftf6&CYpd1!U zFQ^gMfYd@%lrnI2DEJv*Kjtl$y3R!u$Kquj?q(82Nepc(>7EMeCPv-fLzsmjDB=df8@b$%1|Th%TWhVr%FM+8dl8g3 zj#2{bfzws2g$Na=TP8ueZLyuHO7wC!kXjbm?YM{<*3+532zon*O*e+}F2Lq%rD>V^ z!*%T@K0<`&@ht1cMHn_j1)2M*B0)=O6t9qnsWPaQ(XS_MLsx6(EBI1@1&H9!CVxK8 zRyX_KEfxl-sZMp{rI{=z{(%8f%W#A3bIdXNjuKkelLpM|Mau~KWF@|wBq2v;ak@Y+ ziqISO)wW*Xcw6fh50O~3OZHmpuVuQjel9y}oE5c>LuU@yp;@{*OVf1Cq8GZZtRwoW zrK3}+1=)F-bCC?+Euw8MHW`{J7F}}_kA+)I1ae$HoXmFv^l%=y=hAXQL+I*&=h`8x z_{#@(k&0S$y@_YH?f@}ydLtObNCX5Xyl$MZ=*pyY;RYtox+8&O`0PFl3*eY>t0Wvx zFPBX&ooeI3j9XbKMs`+25fcY^?(@tOK`NVF3dztu0W}$`R&CGvrKa>dcN8e z8)&M9TxQ$o&35OHZi4QSM=*1ME|$itlNuQP4H!<(vi|i0F`T+5Fqm!YI;B+t*c#he zn!|LPTo~@VvYF+B2YfpVa(J1yS~x~+z?H2`(OcHUH$M#o}X z`lOm1ZEQ;&v3!qp7DBWqILo;fwMDOXheuAs3S;4zC!9CI)G~leZmp72!M>g?%JA;0 zR2_GhhVfTcLGYprmi3nwd!vTmp!h1QFu>J0G=Pp_%q==~7o=!`(G;m)GnzNd22oaR zWmY&UHKFIo^nS!lUnBo7UQb|b?9bZ?CK)nm~VmqQPsoY7mIG) ze&*amwINLCBa8mi!c`oac2-t2EJ6(U&c&%9QLW2W=dMz=$V?mkwtP`}=aXeTMZdRb z^>m5K4+6#zD5}URYqIFI6VzOf_$rlNv*?bQkG3Tkf=tE4Iu876@lFm^NA0-WJ{-EY zlVBEI{YIYGG!z7=ym1VM^Lo9y+mAgST2w{R5mxt;JWu6`33@p)NyNDtR~>|ooTKXA z%%%sZeOK11C$fNEN`ocUly#E^flskxg%}b#_q1iL7RM(RSiqAX$OV6G(nqo$)IKZE~i>fm<lB9ANBqCpfc@=8?EM=5zZ!%8UpG+rppnAcknLnCp?4|`NXfh=B_oyd9&Uas z2e_mnMq+xufy|voGK)1bAB;=p!v->+Hj-JQGs|+q1zTVi`4CL=9@_5jU+Z` z6C~~f%OtRE9b*3vcq)x(dZHvWA|>~|-f2ywzG)!!41JC{6ZFT5#1|NUiL1c%GIst~ T#K;2+oCXxo9z~SUBg*~ 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/vo/tenant/TenantRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..73eb064f2f9fb6e76e198ca29b51365f7c47093b GIT binary patch literal 9280 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 UJNVS_nL<6XOAZOz!;bX-2gbG}k^lez literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.class new file mode 100644 index 0000000000000000000000000000000000000000..25c7356d863115cf5f542ee0e32f6169e47f7f05 GIT binary patch literal 10605 zcmeHNdvhGc5$_d(mF_Irmct_>k&o9>>O{l~xm z@;4&7LZ9d~qtR<|WOqEv@jExHJ*#8;9Vf7ZzKA;eY2OMuUeHfn(TVrtM0g!L@RKNT zU36Q04};PekJs_%a^9oUtVU-fH`nq9o%QV-!cH`5GHp*pdyXwMS~6Fd0S_Ivbv1hU zTIwf`CszGECw8`7vEutdVkJ)C#~L-vYa$NP$QB@N_C=WF+!o9$#VdO6TXuXWxv0@S ztqWTk&0dB^I-S<&bTO~1Q4~aTbXGgNd)<$~+1(R;!w$UAaivHji~`KTi=Q_d^P9WE zNcKZvFoQNL*3J|&Y>OvpYzyOnN!wUW3@0`mzwboQ-Q7pmj);VBL&8oJczC~+qOWhX zZP$upW5;ntd^e@^1qAa1Ld(8s4TN#t_S-|(x25abnd{q`>)VCv+tT%IcISDcABfms z{XHwOcZ~#Q61PJrU1kl8wHae=X}teRP-Yv)3xg;zY+qsZ6N*t3eo5`&1XaGhI}|sp zn^u%qRg;-6Sr84{aTq!NU?;LX@pcg1teU_Vc8FZ-)xMHsY2vt5icX*KPKFU{pwP!i z0>hGNq%n_NmJ~^|lK55%`ZX&IfsG2{Ez5QK76;(*)Ks3qsu#MB?IcE=h9W}d^W!8+ z?IehdEVZ>Ra28AbzSwbmu-icoo~_hH2rj7G##$OD+yg4Z@;L!yj7vmPVVS%uW_7qM zs31Qm2`b1+#$l@C``8VMkH3!WH*SMcSMEo%Yo+wK6H{M9xE)$-ZO)G zK&X&-4TT7hbt&lYS5V4Q&Ds+fv9(@7TVry^^z%kq6aAmBS1tvCE3gD6BSNmw3Yt6P zm}6R!X_?d9~!G3=5~*>!Lx)HA1keud+sh8+obo-v@&BQ0~J^yywO z%ViqK=X=h;w~{o%WS^W&y=-zU=w8IA1+!!~yx+TLxhXg_%{)M&RgY88v!Z>C7R_=l zL)YVnPs{QEJaTNNo3h-H5=%uzcaEOWw9jfBeU+wJ5$E!WSJ0IesUR(zx`MPul>Ph) zuNsp(UTp@HrZPTdD1E95cf-6Vp?AtG0u^xZw5I*54h~LA@bW3|;cU^Xxi>nVo8`gt z|6GCtEPYvoXJC1tm4%_PNcO0*W7#Z&=QPgROZ7bBO4H0E58h^d6z1}PKDHw#101KxrUv}egZx(aA=}% z)`+o)hw-d>A?wI9<|tUpn4F_!ZHA@{oE*~A0@%rJ=E!1uO4wQ|65>J8t`T6wK~GW3 zk3;U+y0oL{ThX+*2KtJe`+oqb=~q$;4^6fcZkY>*_i#;|VnZ;jzcXf8qujWSJNr9j zXCF;D>gpFXdU>*|`LejKr;#NGB4K!L;0iY1YVgYulkR4dK8j))nV84&`SG&EJ)Xm@ zbyR)4TMez67cs1 zI$<-~TwTvwxL#QaofUZuY6b%?d;)m|AU5$~0N%2V7T>&}Z!x>8-W0G0nlyT-b)?v4 zM$4jHjan^p4gPaN+&{j6?*h7c`E|&YI{h4*&(Z{!YmUrpjr$*%sbn~83l6HFn9(x4 z>%me_#T@lDdZh;R>t3IrB<;!jAXZVMbL_6-&{%#cfIYFfX|bWt@TVW8>#|`}`BJQ_ z(@hW_uC8_RP;w6ISDgZ=Ro+tSbPJ9v-45x5AaYKD51mrfwhSnp-sUIl<8{Kmd||{{ zI{gxw6{}FEcQGqgu550deuIJBnuAiO-(es(WggM#y&*}yvC!#*A+Pc>(dmyGJ;(zU z5mcv-aMV(Cmf{>NvF5}v&RrP3F+EE7Tn1kT&EVg?bRXVyyz&2YvUQ#shuRkK-lS9b zy8w!3Fq}?;OiO>4Jz1?H|R~6W>gff zelWWNZ726*4a pj}7!OeoxR6-5{5I3h6D1VAF*5=r+AWzoK8$Z|V2+KK+3{{156o=d1t# literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.http b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.http new file mode 100644 index 0000000000..0ca69150aa --- /dev/null +++ b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.http @@ -0,0 +1,11 @@ +### 请求 /system/user/page 接口 => 没有权限 +GET {{baseUrl}}/system/user/page?pageNo=1&pageSize=10 +Authorization: Bearer {{token}} +#Authorization: Bearer test100 +tenant-id: {{adminTenantId}} + +### 请求 /system/user/page 接口(测试访问别的租户) +GET {{baseUrl}}/system/user/page?pageNo=1&pageSize=10 +Authorization: Bearer {{token}} +tenant-id: {{adminTenantId}} +visit-tenant-id: 122 \ No newline at end of file diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserProfileController.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserProfileController.class new file mode 100644 index 0000000000000000000000000000000000000000..e4a61d74aad59302047cb2e1eabf3c74a122d7d3 GIT binary patch literal 7999 zcmeHMS##V(5NAG9mY^mNbk^zlv4pMU-OI}y#$k0uQm^dwE(X2|@g zxyiOz(~X+GaD~T{=63Ee(F}!`2fUeXrx_2Mu86Wk1Od947h+JJ;&lZ-3yE0w13uj) zFlo@BQw7t2MeXMN+9r21gN_8EZP1t_l6Er<)^BY#9no&{q-D^>#XQRVkk3Y2e(J9U zd@71W#xh?-sX>>VirG>g#|cl<$1I8bsGVZ)(JdC_TyhRXxF()AAMl7LEaM(JN8~)0 zc(UcY1<910yqtEY4I~X`k*6Y0TrTN79%o(p6V6QaDSKm)s=W)#7zxhrxltdjA5!eL!Z%nSzR=l+o???dXGz9%jB1jVant|M)BSRudMQN7gZYC0|%tGT6GU4Qr z$JhM`i(W?$-dP?XT2|DyHJ7KE>;aX1^cnZB^2zjzsB%F ze!%Xr4~xGmu=5D4z4KE2qR37fnnfHDknZjZZ(BpDnCVI^lOBfFceQ#Jb)XKUFiUgS z#bI=Ot<+neG^X>$H-5JlaDW6x^xmXhZ_s(Ve4NhGdj_2uSF0PD#LX>v>K}CgavtU3 z8c&uP4)R6i#AU%MOMLm=X&lTpe3VF@IsaBQ2la@PNIHs_qPR0Y;iypsG{Z}NJ7QU$ zV4~OebWb|U=rWVG?qJMur-B0b9C5k{A75sghapS0AjK_lz{es;V@kJ&MxMA3~0*aHXcGL&%|OLt51oaJ4Tyuy*1zkChG?%IqWJ1n@#~gFaTxK3S_i~=nG@uRE=0r z3Dx*k-B_>>_ddi|IN9qU(Lv%XgU`62lK_D)E6siE!lWk#o$aA19M`00SQUzv zyKWk>iaB{d7qyph8J5x&!W|o~M32!0I*MN`x%k3X;D3Nd=(y5$qG&rwqdje>=&hc% zF*@DT_BNf_(>93jv-A#r&w=|b%*Mcf<2O40bnN0U^zI*pObfqqc7*2&e&wt{MOW$l zqU{=8$H))xK0qH9YiQtY0^c9u>E--!AI_il<=mtjG}z(%Nmo0P^G!S>2E^RL%V&z1 z0lb$B_`HvpslH;qq_4VSZtqu2tB;t6eZ(B0uQ9a&x>E=kgTQa_J%wi)&kUX)@SMZ0 W-=haKOW)BP&C~a^L@V@|p8gGhGETt& literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserProfileController.http b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserProfileController.http new file mode 100644 index 0000000000..c94c2ad23b --- /dev/null +++ b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserProfileController.http @@ -0,0 +1,4 @@ +### 请求 /system/user/profile/get 接口 => 没有权限 +GET {{baseUrl}}/system/user/profile/get +Authorization: Bearer {{token}} +tenant-id: {{adminTenantId}} diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..f489ebfec0986e14a4df2437bccf9531bb2e2377 GIT binary patch literal 10444 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileUpdateReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/profile/UserProfileUpdateReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..d54a79bb6dd2191611b6228374f1ea6340e27268 GIT binary patch literal 8037 zcmeHMTayz-6h0G{O*SAPf?5S=16~p@6EApU@q)16Rt2!wi=}V9GrdW(Gt;4GCbi2S zvr4P<-A8|r<=4|mc1FWyR)(mh50mtCpFVxg>2sf7e*57kBDzVdb*ee!$J*mgt zHwHdW#C`E_^In}696FU95b&tixwrK|c!@)eNP0UF4~0XgyZg&)iI!1s*`agy(FG3E$W4?$zEeB@Bp}N@R;UECk#qOGXBmi(EhH48O7_?mx^^$(JO9I`ISYYo`cQr~xPiO-RQ6*dhO?Tsd z7Zb;NBDp)^_#foIBbW8QV4+C*%4bmBJDKXY+H6~^kR@0%`oN|eGc;#g=$Juo3}h(d7#eJM zSj(NGA{F__Y`H=<=81hx>{dYe$VWAoilmQyQw1kfd&NaEE0#eCkC!_iu5smI%7d1T zPET$O7SF%*DylZ6!`($LoX%HebNcW!{9+D$qO2u>Kec_JzYWtkVQMI}mcC$0Gij2W zP(%p=cbpD{&b+mC=gp;6tV&NNb_wY~6el|M5^S^@i4$ea(#RLvG7`Sa?wA9_uH6>w zF&Pcjj$j;_LSN`ShEkqA$0THUJxi75dy9uww!eeOqL}`nA-G6n#s0a7yz)E9q3`p! zZ!+l0jm_HdjI_EGkWKn$V5$zNI-07(G)i7($e@IAmjEdx$*S;_I;<2>DPflax`_(* zU`aRW0$n;zm+2K$yw_wTlg}JF+saq5woq?xqAcwqmfTIlEuq&rYEDzpD~|`8Tubvl znp{Zw5~cfgcOGpA)XfbFPaP?V^J*%lV0QY3p!+TlI8Yy4xP!V z*1b`_WA1RAnPWJ14n8M^PkTtPqCKIg;8q`736aB zD^rWqS6$Te0GckJhz4TG#ey-TfY|oAqej6g^pY zsN7MH_7d}zh?!{vhCK25Sr-S{KQudk3LLa+`oeBzAy0aywFML|O2d}a6e}x0*jVU3 zCPo!NmF~HHiLeu)RXPjr1HQxc)VNo`SrTma(Y8T7g(}lM8+TpH0ilmQ3r`k}X8~m` z^BF*ynaqGOjrCa|l@Vk+@^d?`Tq0WP-tc{(0n0%KD|hmPN|?b~(qdt!iy@m3$y;mu=_bbJAg+8c|(+?}9?IZelM4PdwPayfcJskcf7U=2(;~%Z- z@Yoz$rfUb#w{NfIHRaQZ7Ej~&uVB1PpFQS&_pyCG#RE7~{K*lzjytH)mj%yw19M;D LX~0L_#B=L+FQIFu literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserImportExcelVO$UserImportExcelVOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserImportExcelVO$UserImportExcelVOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..452223abf9fbffd32e75cdee7076e2c6036cfa50 GIT binary patch literal 8373 zcmeHMUvC>l5T6Zk?6{^$(=-%X;2H`z{JCqP{A&?XNK&xmCWxd#NIY=9+c?+U?V8;^ zlRP2u$_GLM3Euf6d`&vFvqZq-9Fv(yxn=$r9)7xk~;(=jMvUtKzID@%*w|mp5NHp&; zxb}4_OqB4NXh%9~#C%x@X?zn&p&4B79g?UCI?Rhj#WwO>TpBjC8C}5^0TVnmffV zQLcR#*80mqY_@vI8S!|vO^qS3#(;*M`^MfqaMu!}7 z40jv$EkD@vo7`CpgxlddH{&`t=Q=m%I=9PpZpL-4^-7GHo zehX8scM2p|*OIH7rS7RF%-1x^=+z0tfZQL0L{6mcavU$Krd~l7HYyE_RKwKk4D4(N zMCn!E_(ailNm0nI$^byiGk(S{<>_;g?&fmtmyyJa-Osyw)oAwV%k-!%;6}_HX_xC0ksXgHdGhSOE!CG*}DsUODGq_Uiy{O9X zw(MQeOg$2OJxv;1ZCRh$OE4Mu@pi|DoyJMC8{tLMkM*%!-Qiu=FN5?SlQt!IjTLSa zZqW$)CW+YzI8RN4L=_|FE%X&pvO8!7m72h+*NQFua9xDk48A+da|DB{ zeVRNj0^VUz?2us*KEz^~pI6!V@K-(-_>Ki-P*JkIw4D&dDuQpe(^$u#w@LB#H z7QUUk`YXKjXQt=N_-(ZY{JetSm0Sv51t)7OprwP+Ca^z8TO5EkI}q&x0qrIktpaZh z)s2pJaiqGoe`3U9&N9ken&-?1@ gk&N&%T!yiJ3*Lii_ypfem?7`O2k;Tx%|_h%7artIr2qf` literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserImportExcelVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserImportExcelVO.class new file mode 100644 index 0000000000000000000000000000000000000000..352427dfb57bb325cee373e0bb4a8bd62cfaf534 GIT binary patch literal 8327 zcmeHMdvn`F5MQNrj({hS`1E7nlz;yh8bD9#A+p-xjT89 z&%uXb24>)YJ`}^=o&3U1d?j)+%=8agy3^`+yL_>oS@0ugUNv%q zxcby>yHzi)2GpZIVb#6FcWE`EeiD)@-{XQrRgcDk(J;iq?3CG7a)%S-us6{Qx z#Oia8gxec=n6}`Q0uJ4Hx4O}IN<3jfL4Fpy5wT#t-g~_%SP<_nT5$eB5{n=rwYVMd zpb?U#IHtlC0gbr@C+iCSKBFzd#2(VmwB0a4utFSo&opk%CoNI)Ey&gDRDsSA6f?w$ zh&F-{sZVh7+=61g77MaV7~&LBzBXbKX2D#2CGf;u$|6_bs~pGm6I?ytNP-acW5Hgz zQlF&ut_xV9i{67$XV|+r+m$8nuE@Dco)`iaQYT8+NHEzq378?uOkUc9&jI+qK1B zi3N%C^i}K}^<@s6p74 zivd*zY3jM*w#x!JPA6w~iI8z$XR!rLF;X#Al|HqHEf(Ni>%=eFMC&8d`pbom+3b&O z1GbvPj)-Vd-$q+rPb;!=#ol2wvIV}Cg@Qd)++a1aLm0QQmXJhIz&Tbknpj)DQT;Kv z{Hm<^vRQk@6=P~2EU`p0z#8$ViPnW!%E>6v(QEn> z;sQ=9HED{qv^vh=^rkG3XOXn8M3&QODLl*jV-*_}_$IChWTB%7J33tj`z{%F= zxEBRnw4*GGyLHQ-^XT&dxNpxPBJ@J4KRA7GlR^d5|uAIfT7C3PPv+Xc956`Kc} zwmO$cr&m!$!a6cpI$F>X3EZ)3!Vb6{#D2i=I2!Kh$U|ZePd+M0F;pGC^KHiqUC!+t zJTLN6@#t3R#ZPU{hl^m+(KYuy+)j;gIOI-T9t^r2hnxg9y42xd(@^$reQ2+l2y})y zXi(2O)EtiI{vGrQn!7anmg_xpcZq%3i=DI`&0Td*Op$W4+jGzIb9#}XPlj@ z#n_x)mK7G^dAM&uaxCq13(gJ+nTnK$P3-umW|4=7c*2vunTJOM|7&P}K#A7$p;g)) z7T&Y#go`yITRt2v0qPh3c)@>NUezKAn}C^WXMzhFbkRVV;N=<_tl}&JoW>b=u}1#PO~t^MVZ2XJJP;)@nbV? z%T(Xvs=c>$Wq9DLOhm}K1TzjSqvO%UY2MP^Ub6qlxRl$%OsJSX(1Ejce#I2)^4X< zsc%`D;A(}7XFDv)P{Lv(l5tZ$@W18>Pf?{1C+D+vIH=viJ`)kD)Ti)l;|^;h@m2F4 zp<=)Mp3-wSL?ZOM1Jm`@JqKns&;TVkk1~6Eyp^UhEyD$8@!D>JddsN8LpP9dTSWQx z+;%E)zp=XRRx3L#?&`xfcMSv2pzK+c-GCWD+$MJ)G4b3@?F!|JBorwcB09vWeV+0p zKneS)jPd(nhI66o1rbxq-4_v8rzs`ox+O#Rfa}{snAcaWiu%!xhn>!DM!8zLh9(wD zp}8$OXe7If9{-I&A3PR&^6rY@>7Zi@?<3nbhIsPIfGT7A27<4_C+$ zUOGTw!_({L6C(9ZrdbhbzLQLg=y-(NL5s(ugc&bnx$jjgM%D;1|C5Xb7h4mKkFUw3 zz3edl>_hMZlST?QGN|SFa~MI(K^4XiR3HBqQ!P^?F?q^;o5_!4{WwF=WQV7z2)Qd$ z7n2KCN1kX5K$W$5n%75b+LKSxBzGhc_2GcE{MN&aMRi--k5dUP2U1ePqFLaLqz?dY8L_`9Jpb>$DB#M9!i4Q@a7m|bo-jjbM^@ktn z7fS(AhoypH3!+*f7@p+N1p>_pu39M|dfv4<#e`LbC3v+4=is6P=j%s%QKtDc-w+AE zo5f9@?igd5ZkP;MwAVFmcW_3x1UA&N#svC@*kAj(Zaagk6O#Xnl|Q1xx4t$RoyxG{ zO#ez~4H7aXDX*NO-%|1kVOzA6lec9HPK6|Z2pSPcNTLY&mc)mk&kIRH0*_Q^%W%bk z<)?=!Ht-$zsh(dYOeUE)@LMi^M1DJ3H71qu@V=&LE|eVjp?;z;VZAA9X|sm|ODN0) zfuG-9*-@le>KokZww-Xex-GLb;J5L@1Z(bamn!d^J5bw9@SbVIT&-|bf)5<{{shaa z0~dz%=(=tRKE~T8lT1qRDc(k5iZ8+E19x?gP^jIp_b5Af1jBPc`7T%b8>uub11`i1 z#%Y*>S(w9T3BRVG3>AFO;cPAcKJ%2hvoQa7-NL}SIb3@V7IC(p+e;td@(8ZAkzCI_1J^gn zT+hN=k9B>!Kvz1~cc5N~C!O0WyxZkg#rM@5ae$*1qH>&t_mIaFyg#sC&)5Vl>3|O( V;>;KLT}Es^LO=KnuH`HI{{VzP7UBQ^ literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserImportRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserImportRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..784753982b0dcaf0a3ecaecb21e71030bbd0cea6 GIT binary patch literal 11160 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 F{0AKX7*GHJ literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..319e6fde7239d2da027fe82a339dd5de18c9ff03 GIT binary patch literal 9444 zcmeHMTX)+;5FVvz>^Mo&h87CtfZD<#;UaUtG^J3Iv>2SG#7RmEw8+xN-bT{8E7>Hk z{3*_XbKspH#o=46d`TV4)!290sopowx>1hqwj&aF3ti2JM*w0Ov?9=jR@BC;bcg3zFR zx#HBBZ-a2kWuYT^L%lI*TCxXCE}6RuJq^mSUE6PX7|oVfb{*#3l%m08w1s%^`G7k+`u&82Ot}L!UDk+7&^NCJH{#8?h6u3+?T(i#EP{l| z3ajYRWS(9(#(&%l zz(sg1=9-T18{CWCXf~vPU;XfsS(sG&OvhF}Hml6+&_}|w&1kQ|j!2H|auf_lKawP=>$PGNons)W>zJLiFdC`s9!Elxjw3Pd zI5HV0j>N3v$h-5gA4g}M?N~r3JVqxdk7KpN4#Q5^VH}5Db-ojIqf=rM(mK(sB)6j( z<8Cy!CpwzzDnfh9veBtG1IfKVk_nW@wg=eS2Y$K)UtG9j(CHqKSwr?JZiHQ zwH3p<9oALFhnjVMp@fAe&Q!2wsb0X+ilh{RmRX8S z9-2IGQQbR{w}%>Wn@JWps4BOm@G;kwziBz19fsyM%IdH%`PWHt83d#CFdMeBW7n8@ z!3nISW3u9o$ zmTJ+g*oaRgP}_?84Iv}b2~xc9kEGyYkfyq2vHFw=`wkUbQT3gJc*cayhY zLA|(6&ElY0`SUO_l%bm#FzUejf`9k<{vN9yMyk4yTGBUE13b~ax*CFT1D8Eui+img z3j5M`Q6gz9`ce)BItfu`zpasA+<(yE@g;6w*L9tIn7GUkV@9FgzRJJv(GL@~!)kd5 z$+#!3h^BPdwfJs&R&~4U@$G$FXW|m2tg0zA250rX`Xgn`VvcYfpG$t7Il{&C%svHj zgzM{Z1=2af?fAPtC(KpVTcQ81q~scCs5;Gidh%9W$^Z2|A>l%0#exZfibFckGZ~PYP^%lOBm6he+ z#`m=xEbV-dw_o3x^8&%WSy*&cH+n3SfuSf{_S$B rrBsSWO5J&kID9Zh_hUpk0fbSN^bS5AK0n}d0#&O|f*w$ax6MBRt%f%7 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserSaveReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserSaveReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..80b6f87972440a91da886755e91188d18ed6dae4 GIT binary patch literal 9108 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserUpdatePasswordReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserUpdatePasswordReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..76d6918dbd5003e8848845e873700fee92899091 GIT binary patch literal 5606 zcmeHL>u(!H5T8ra`q8K@RVzVTVAJxjd7OEaS5sc11x0dO)HXrzZF9GYH@Vw&clS*4 zckuxUB>2uBh4}5QojAy`-Sip>30dd6+nb%4otd5a&HnZGZ+{Tc9r~(93lVKtlXP+} zRcD(IcqdUEsS}+F)7dLht~McBw9J6vkaeknqyL7@i@@ozJ`~ze#)Kr zo?H8~Ht9q0Wc@*n79+Y)vd_5M>O9!k7Kw{!L8cL%>2|f+T8ZfD!$LWki&Zs{R&HeC zYo)Z~PHJT%s&^kHJ&|(|o=t^KjO_a_5iJ?x6W_n>q{HL=U{euk$;_r7-bi!8&G zS}v^RTNthPhnhunv3sD>BWGl(Mbpo^oA=!wrq#P$p|)HPkEgI$|Ic?LI=v;_Dpaqx z+9Tz!jq@t{eFJ$vaHGJ~V)p3)&k9Jt*v)jlp?5mp2_+2dl;Y#!H_*IBS0g%qpwL}o zw5ij}QKMK>;HI;INLixuzRXISu)fhSQf_atX2Z{83HJtL8-nfAJIy$AdwtPt1i>?i zPLR(WqUIo}YE@N<^09nEHVz^C?82&AdR2V>H{rBxJco7W3XH1w%;ELNJ;8F}dK&qQ ztGiDMp0z>=XtPbDbLK$clN39mejuN13S$|vnJ3MqwaBYsN?r zY=#Iv#!6SyDhz$hKzq(+b~*$=^=4j$6J#P?@Bo01vd$EVgMY%7he&Bzp;ECal}KZD z&-+pAhH2RzlWL%M1mnO&Jz>Tnx5i;!fQ;>R z;I=MQxL@QO!aU{xWgh71glFsANdG<@Ty#AND4TYlKja3iJc}eZa(_gZfK`32?vw~T zcx|Ol?TD7A<4eFx;8z`t=&$tZFLJqFLvj4hTKr|YFG{TMvs{^xygOs>&NwJC0Sd-! z)%k5ARf-lVao84REfp$3H&GVfQTxQ=BtvV&Hf1JkvvG1#hR~qmk~~%m#`ZxKnRrz4 zyo6N1Xy`pzpC>!$FWL1(#l!wNF8k*=^v`kVpW}o6IWGI>*!R!zK$rLHEY-p?-^AtI zCA|{uAfv%?<06nfV&AaGWdJ;rz~E;TJZ%ssdO`#pq6pnqd_?v=O%3SI6j zzT13P%+URiTIKo0 z41VEcV+K)(_31utrqY*O=s{{!&?(?b=;TAFX!m|aQqx-{rCl3FW_om{1ROTwV&l@ zzli%wxNd?n!oB%BUHS3iwO{F#Kk>Fe*YWS^h|bat{4WJ6dW~MkTSRZrn=`q!=H~Vm zy?q3?1xO3J&Cl%}dbdJuF?ELAytUthKI67~di@sZ{e6!A_Qcb3i|7OTaEg8hzMbEG xH}`!zX~oCk$mpXZJaWM8;|b9cO^Cfy^eKF>K%X7j0k<&rC9XQ+c?H+!{{Wg%u$%w@ literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserUpdateStatusReqVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserUpdateStatusReqVO.class new file mode 100644 index 0000000000000000000000000000000000000000..77bc0cddc90e59804644f7497f4a1e9c09bdda99 GIT binary patch literal 5764 zcmeHLS#KLR5T12x>!{HLMuIj+8z#M^9;@C*oE~YC76OzQh#eR0Q|VpWqP-wbDl!x{el&+mT{(H;7}LUR%QYE9D0xm2wk z-si1EwWLmTDoksyNV#t1IxRBMvU}Evyp?F>jLtGl^EAhz!lK#N;rkGshrN_LvF5ld z>;v&=W3@u_5uGc+Gp@EJekP(NBOVpfi1Z#rj;JCY^Sqa#RqNc>?tYPFSW?M_wR{_+ zi?)=@Pq&p5+rnVFiuPSqtSSJTevm^t~Q!Ok*{s`Te;kp_zjH|nk3Z6AW&~LIWqjTm! z-~$yKdtV@;Z3$x;;+ZGRrL~BtVL^bIDh7^7QHJiuiJ5yH{`!kUzn6~H%Q+i|Y*<)<7ot|99$8@ge zsb8npoWaqXwSL>szD%SGsz;uqtTRR8V3=^e!BAROs8no8CDNGP^9B@;!?J9TN!8c8 zf^nokU13HM>a{!EO-PUGbdg?PqN~J^5Z;tZx^E)7&=}3;%6+diH;|@vAj173-xOw@ zBM0+&olbbR!Hx9&!Qi~>O5~}Vo#&lRBZsUZo&~!j8%8=h%w((7i0InU86*-&Fc32j%ILWxRY)fXs)@!H7Wsm^O^y(dn{rgAYgZMRT`Ff@rn7_bWt!g~KZm(x z{A-vyPZzMluk;A7;QK26p8`3;xBdrR{CWBEZ}i$<=*@v=p!4|G(OwEv^aj0&UPN!v z+Y`~=nHsH0?>+@>4%~ul)1$pd@6QnJ1BwS|UgIsuGpf61mv5dv+(&%U63>nn(MR<0 z5%L|_c6$AN0q=9fLLbz2W5NJkA%(E=$%E$&AS+<3Ki(9@qUT)Hi zM~el^n5%xUdvqcq>(PQEanOCC&txP#x*m?Ghf`}Fy}6ewD-*G;&ZLn?vDi>5wcN^7 z8IRiGo-k>yBLV2Ob*ZGi=h2mw)kBYFHnI06y#z@U;SaP<^(-xTv;JeHK^vcmE{oD6 zlX1b6WjckF#N1`=*1@r0c903?82E1Yez|)VakmY2B-n_F&$ca-hDp_x8V8IASn3Ha zR0IhdzC{L*eA zjoC@ctOY;Gf!{$$!f-XasXH|Ewon*0$q-7@0ghonK#_Bw>sb*!)TUmAK zEmvL9lM3v5Siv{XW5nkK?X#WSShoTcZ(NA}yQ+uH~@y!mS+mwMbs9gv#`Do>`s+pYV8tH%ghGj;V( zDz8l)y56A{EqS!O5>6_LQd4WL;#dgb@?Yo4kWLKC-%ghyh9?g!*DA0+g9BHfI zHx5D2-G07k95a2UdYnh~IEje0Sz7TL-(R9EoSbNiXH~;}e8w8wczboY|I^H*;I1lq z38R~ultr0La7mh1|wI+Rl z*H(phd3`kLBLr+U9W?0<(%MM7!`$4YPZ63f?3?uYGf%rR7lOx*GzRyF%Q}W`5}ssu zXL{72t8@*06C>BpqHmyYQ5*kr7~KKVL*M?1I^QnM|3Hhs6quLs?!5rC-wnD^@Sn%{EsWnryNx#D-oSUs{hcY?Z%*NUg;qh+pm)c7-^2KQG#~8? Qv<}V{(1-LfeL|o84rE>pH2?qr literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/app/dict/vo/AppDictDataRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/app/dict/vo/AppDictDataRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..cc53b00488abf0c3a6906a678424d8f34ea82f23 GIT binary patch literal 7501 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/app/tenant/vo/AppTenantRespVO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/app/tenant/vo/AppTenantRespVO.class new file mode 100644 index 0000000000000000000000000000000000000000..4747671b5fe703cde7b0b004379e92074c596af2 GIT binary patch literal 5113 zcmeHLdvDt|5I;Fi{8+XQS-MBtZEU)Sy@#|%_iBa##o7%9oCavp6x%-oEzvO>iBw6- zXui?D!GI0e{@;fhb`h?@LzXC=es{b(9)G95|M~q-0JsNtYEbdukyc@l zP%eTebV!3x1YCwPVk$VyA}WJKMp?`PeW(pff=~*hWE|sTnx=taf(jE1WpFo5ck{tR zrqjLc8dN=aIY*4C*blaQPgrO?sPM>xm2Ovx{Y?+9Kg@*T3G0X<*Sr_AyFy4q4VOZD zQ19-91C~$}d?8{wR6Mm$JXlriX~q?cw$M%wYU~+J(ipF*f+l!c>rNE!7{zm4%lpi9 zP0@O5h6`l`aoyoaJz_OnUMl_>l>ws9_O4tbUKWYjD+rD-&h+ zm6ECsuX&A|j|8I0c*r6W$|U7+J}Z(ciPKE<9nx&r_ee(YWP`c$@T)k($~UDyFWjvK)LOUw zUz9$;9c+=gx;&a=wq+@v3fzF|f!!u?KC(YMS&~c}B8N;V9x);n;dUoam@v2p>MUg{ z&oP&YbIhs}E#k~M6Xyb4X`~Bmd9LiBqj|`U^D>eYp^eHygE4T+6jgCeG7+&p7cBD0 zmW>sA=3a{r2^T|ozz9YDGGJ;Nq1m`c%{knr3G492DqMr>NC>~>f}8I=xZ0YgWRAME z_mE?C(S!$C(qn3uB7w3TPlhz!ql(+{=w{UnI1YgWb~Jo+^0MNtr@os~c*sNvSC@+xCde5%a!kTCGyW+Bui0=t>l~UmyFB z;8fu^fGtNXcaef>xCvMi@S{crf6K6fqZ*Fvxt`x$g%?lUYvA}LxPtOy$u*RG1&`Z^ zN54g9x=fN#8s|Eo?4-h#JrK`>OEa5u)|*VrU+G1RtMa-z2uh{pTOWcGisNLA(aR pDG`~VeKI3kycxN-1fO9HD)4!p%hp1h^|$f(29G-C^A~u0^)IN+`yT)R literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/package-info.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/controller/package-info.class new file mode 100644 index 0000000000000000000000000000000000000000..97f3eadbf7c4458a781b51f87dff93795d553659 GIT binary patch literal 161 zcmYk0I}XA?5JSD;6Nw5MZUJ+Nh?asA43i<+u-S<=2~w^`!2viFBB8>C8$Vlqf1WP@ z1@au3L(wInhJB=(A50R-n^>ud#-U`R#>ycmbz|3SLt?Q{7Qz&_EO)N-;N#75EFHGL mfxxk%^R-s#9X1ymlIY0?b=dtkjx)Rm92V1=Sq`hoGpxVJmM**i literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/convert/auth/AuthConvert.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/convert/auth/AuthConvert.class new file mode 100644 index 0000000000000000000000000000000000000000..6ebf0611af147d045ec595ab82210becd77f9a9a GIT binary patch literal 4157 zcmeHKZByGu5Z)scVTFW1Nt-lHQRqud(n@Vg`Vu>&U`Xm20Ud0Z>BmDl%n|9%xs#ak z%R1A}wBP%qI^B~5m>^@5p`Cun2TQuUy=Qly-97L9_4jXo0Kf`7w_t?8s#bv)Q!c!H zdO*EEcw7cDWXd~CLn^&khH1n+eW()_dw~=OOeG#olRa+8oDGK7eVj<>P1 z&w_-&cyqngURrOg5_sWXil!QZ)`N%(o-7i$Qk~x>Fxo(aEx1Zx^2CHyrKB2%Ys9|0 zB^1*#I$)s_$hgZRns6zcu97jW#__8Z*Fwh)BC55s%Oj@$OD!Qo#m0ax4PMd?bLIl! z7Lj$c$hvuC-8`~x5n0zncFqYU(~faFrb)2pB*+f?rHj7yB4RvUlR0k2*+uYkCV1SH zDsci)!tq;)(>eFQXA0$%(H9oh(eA?jAk-}N(u7BY1pmb>Tch1B zQzZsCiF9aotk{)YNS8?26?2gO#8k|+#&fADcI771-R+GM;a-QGqo~E(&xG? zKD}U@GGdp3v&KX^5a$98+m&TT#TG{RQn~BvE=H=K2X7pxzKFd67$Qa&pzVUlLs{66 zQDg#9l9qPGEaLwI=5KkN8u-Uc6-{JWp`1%PR!)h=Qw~be86fh;)QOiY{E_Ot!B(_n zz-eUaaTz;kK?yjC;9$Uv{`aDleY%e!rx|9=Fos9YK>+p^9b+M%~X(u-amd zR`>G~#_>70<8Yh6z4O~)?1r(UPWHG)cMCt-im`P}76K2eM~eEZ@r)_k8|cNgos>tR z85#rv*Q+@J^ZAQFEuT1Ly`iYymzyK-MTCEfyRm|5evu8eY}e~`fP|ElChotF#G1nC z$!a6~dSRgC^0DMehW4mEn=3~s$N7&Sc1xxzV9)U`fR`nsxwt)L4K#r}o2f{6%$nkW zYmV8pWNseWT?Jz??&mE;&4Ma{t36p|!2<%f`X!SEpA(qvw_4C?flFYjAmhYE3%)EY z?d8aVM+9av;q1ukm0uuW716NZ8%!hXPCF( z2h?9oA5&?;GU_jjsRb*iuAzD55|~&st(EAs@rI|z2;jvLufPOu!#gmBUlxpKKdd_( zJ;+u8?BBuud3xekxc(>3j=(fN$8eX~`EE92zGmPiuDzFy-_Q0h;Qmn@=lgG!?4Ql{ zPh?m&d|+(A`|}<6FvGqJ9~~pk9wUyNi}R)d0w3dZ1U`XJ@ohZ% j4BxBxb6^tg!#q5MFTjJZ;A?mc-@^A$gQxHemZ0$u&f_zY literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/convert/oauth2/OAuth2OpenConvert.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/convert/oauth2/OAuth2OpenConvert.class new file mode 100644 index 0000000000000000000000000000000000000000..cbdcd0b4392a6760ddad0350ccb0fdcf433747a2 GIT binary patch literal 3753 zcmeHKZEqVz5S~p#E;gY_(-)vGuuTgj6z-r@Lc&oc*GZ*-6HB!diI1E0#@Xg>_t@Pt zm_LRD0>1O35VLo-;v`3HLsapB5BA;d%{(*n%oOfBx|_u!vIFZx5^=5i!njDY%pE_DT6KSEr9w4|7Xi!@SjmxM zrg~B9@TK66z~atcyHnq5Y!hfTFV$iV!8ds`2rXlnFfEE4+_tyVh6g1SK}s0RprEMXA~;DlL_&D-DJl5AfBIFhX&(aAb6X&);SEu1iB6Gi&LQjD>xjR=NTWdk0d+PgqaT zHLk*8ro%kbVUg*u$aFZ&bXa71jdr!L)CZn0$B(H)e#8$cMmvs)nGJm{g*j`pSt!_$ zNve&bT$S+rzr@+P`%m(rO%F>Twa#Q5^LSyioN;<4;k>3YC*w(|mn68$(o~odW7KKN z^6pTr6hgK{s#-bij&;t3wH6I~nmqu5bLda42{bQ`f0%1x}(rnF^Up``dzJdXR~G6263g98?4 zq9pQhyKQHr>P--Orge-PW`b1R7&e$9RO}uTkfw5K*e<4ItfAu=&uyG|ChfTTD-h4L zw|`hOdApibw+dBQUV;_4MqpucIQQLLZ~Cqu+<)~{i9;n0rtVl;99W0u9uxRtvc2;i z0Vm!sM_Qv@S8MueJL~2}Vo|fwmOaH>W{`@n%TYE*42-g0dpZShwXHM5#d92N3EVpE zC&Leed?F-p=S8L*cB&oKmsVl|>VBBc$8XO|vp7y`0X#smd`JO&K;U{wN&@%@(|fM+ z1K1#NwOAZc6Tl<1d+N}I^D%%=3EUeKxJX<85rNyMBIi>=U};xci|xaAS-U_0KSl5( zi@>|^1}xy+JS;+hKg<9=eVo4qsQv=gZ&#Oof~&vd>Kv@%{{qT*&FlG!zqF!v(cUb@G lnnOwFYo*dTtS*+K=*idWu=y|cle`5SX5*7-4vUc)mR}1SEp`9^ literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/convert/tenant/TenantConvert.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/convert/tenant/TenantConvert.class new file mode 100644 index 0000000000000000000000000000000000000000..74f35b15ce20b0bf400689a18938900a101ce1a3 GIT binary patch literal 1541 zcmcgsOK;Oa5S~p-9wwzFP+sM+&4reOjSweNAyuVF5pF9rp%TZva|QLd9z z#>`2rXlnEz7Kwd9y+;2;P&ZBm%>n#855LTVa;B7abRg(Y5TAA(m6l2sNrS1zV>~(* zMktOEj*U)meU{-_M13AJYw59!h5esVB7uQ(0x9F~*-+3nSN^2JeoC` zFDu-pkrtNbi6_kQ6YB7O#D^5Ky@-ib_47C67q>QFgz`3Il4|29S2ON;P77^@NG7$; zWE>HHDccm>pN;oenhG-mhdNDJ@mRb@X=GwI6LveO=FvH>^PARCrwVnrg z4qFdASZ=}!TqjW7nkZ~_BRtns&l#zPom_Lvp;Tf&O9sO98On%2E7Y9DN6g54J=ttb z-qq7*1lk+nr93;E;S|449c~j?|Gi#Ot|)nTA}s;0r!&LFYm^rfm}*PKnM@Fx)C^|jfMRc?c#svr8{?!4adGtWFT_KpAg=eIuqU@{Pryhd#6hsxVd&Tr$fNkDXvFAZ zEc|h1{W7z@%dGD*>yI<*+srP~L^4fn*jZ%aJ!()L_DhbjRuM6uzO5X;)a*3)P6?jn zQW+YH8jW9D9Id%mQV*#{SOB>;s)#X<$2Q6l(x);mE2=O&orHR_;o~UJnX18{M$)L< z@SV0Z(lu6{cF1*IVAbXJ6x?7s-+oeqP&I6TwVY&JSiqG@U`TqBJ1IsJOjcNKCVCpk zG{udN2j&*$qh6-Q8Z-~E5x2&Ezhlu^&~K1JOKFHFTgqM+1yfIzw10h#q-b6n4bre7 zQ#P@*8`W3?XHTV`ypL>QoJNkxC3|*gR;^PM?a9=vs%HjfrELz@fey^g!bP}5V7fo< z5wCPZ`!5lcjp@)RE=E1uHO_@xu=OI_VQMqNMv%aKDB~#Ijuf}g-7fBTTIaKHf=iwFjS~ zp=0U6=QwtecyJFBaE!7C_mT8r6?pLVn0HlR0<({~)>yxrcvI2S1kf2?^Ydn?`gELD=(KbcJvlp!FN~7=eNuC_i(+% zckAD&S-()OpDnRE@NUTg)rI$P#xj_UaJ?4c{R)>48Y11QMOuLCFQTF^kfu(IDyTs^ o4>w9>7U3rTTJ=7}-*51970;ZH;1(>wCvX=6_zb>)FX5|y0f42;bN~PV literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/convert/《芋道 Spring Boot 对象转换 MapStruct 入门》.md b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/convert/《芋道 Spring Boot 对象转换 MapStruct 入门》.md new file mode 100644 index 0000000000..8153487b72 --- /dev/null +++ b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/convert/《芋道 Spring Boot 对象转换 MapStruct 入门》.md @@ -0,0 +1 @@ + diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dept/DeptDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dept/DeptDO.class new file mode 100644 index 0000000000000000000000000000000000000000..5a64ddec75bd81698c6132a7a99a9953525547b1 GIT binary patch literal 7773 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 OUQMXNb-01^?&iPX9B6z1 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dict/DictDataDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dict/DictDataDO.class new file mode 100644 index 0000000000000000000000000000000000000000..f8de7058c25cdee6ee5ea98823f602651fc07b41 GIT binary patch literal 8137 zcmeHMS##Sq5MH{Db=bMwq(_oANP0;huFZ9Z6^l^rKzPFENpsNmUD1q$-w$~+9i$nLn!X$2%3QJahbK#~8T7vlgaNuGNPVIWwt4zt>B6 zn%;Ah7|Nu;T5N|R+7geO*Lln(o|@7MY+It!4jmm&;A)bHq)cx)m9uwaponmX`^*zj zF9?-gST7MUN|at?)r$O%d9E}X+v02_p9$u&46}YI^3pEZt242!@*5lP zI4tU?8527^NdliUk+2}@AyM);Lo!VJJ)X#nm}6BdMuXcEI_L#3(%c}r4q9)s@r+`} z$OH$BWN~_CPzFnE&rU|hG!l|5a_{U>rBifvff$_wHM-U`!QM63x@%u#HJ>^^SG5sQPbOs966`G3%FkyGhZpVG9tfH@XnCm zrkda0t!a8&w`~sKYjfPMjjUmNkTM3zjpi0Ph2=TP;f5=K+ldvBlO3)A?k873K8{xa zPs0@`4|h6;PE4%#TE4kq#b2q_H_LRzDgU;&1F2(z+(OmfCtar@&tnaJ9xI5j25V(3 zNLdj3L4t!_IKZ)Dna1hx}M1c`wjG2#tyT_hl$;KXd>ec~DV7cA zIl&5)@+qhTlW(ISO>rjE*2n`(Gh1AaunefP<@UNlcCmgy~l2cv-4iu$g469Rh4Pzs!T&yWg4i; z;2KtC8a{S{^UN1KWwJ&PxtZ5hfxv(5A-E@jvE?;n@u#7Z#6E`6>jlycH)38~kX!6a zARE0{{&;2>%{Cgl@QEVPt55oFm@dcu4L9w|8cp#Kk~Z9SqoTJm+YIY3H~C;4`BJ9O z0-Q-ngQK1u5t9i{Dz?F6H_lp}SR~WtV07%ut9nz+VL)8X7_bq&wI^gzDP<^CkDOvF zC4(ubO69JyJ2~04c=iSLhI1oao}=EHUM$rgmg$;9PYpPV9oIHM`H$WYa*Yh5KEiD` zPYH^EwH&Ihi++U>yole6X0xz+Y`wE&vR{=m2mTF`vs-YTfzAx zT$gnV6rSHuW9?sh%d3!W}e=L7K zj&_W(sJ=O&-o1|glk^%ehaFvMNcjxgdH6c1q@8DM= zLyF#|_s}}@K7BA1t!9k&A$?>K?PIHGpIAj}ShZWzs&1cJMf=Pu+UNAeE*>%?{Ze_a zxxZbYFD;^dMPFM)`^GBTw^q?ETD9AfRoyOGMf=Vw+T~F!RN*P#!()r{uek>^`e7HJ z8)x(7g8b_gX7d&NJ+1eKBK^h@cC`R;u>f(Fu8$DqE;2dWF8qCm5wI3eA9(WtiYq);Gbq5#G&$t$_FR#;Gx(A5|{{mD_wWk08 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dict/DictTypeDO$DictTypeDOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/dict/DictTypeDO$DictTypeDOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..818b02f4a2994fe64d0f22c1cc05506ead13e77a GIT binary patch literal 7803 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 T|2;jVABn*$EZV|YPSE@f4$R?@ literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/logger/LoginLogDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/logger/LoginLogDO.class new file mode 100644 index 0000000000000000000000000000000000000000..8ec7aa1054f77bf777eb37c6e9a6ae02ac91ce44 GIT binary patch literal 8154 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 HBm40Y3KQfI literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailAccountDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailAccountDO.class new file mode 100644 index 0000000000000000000000000000000000000000..16c006fb3cc9da894035ed9a2303866ca93ca510 GIT binary patch literal 8075 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 ZxR32)NU;WYU>!E#8=PNtco2`g`8Q^b089V? literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailLogDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailLogDO.class new file mode 100644 index 0000000000000000000000000000000000000000..27bfa20f75ef518258325a0ea287ae401d7be211 GIT binary patch literal 11587 zcmdT~S##XR5pFOdce$c2ippWjHl(;Jq!sTbv2$4p6N;2f+8||XS5j=pu|e!;2?-0V za4@2CRoRvMzVGW-q$;UO-t(5XFuO@!%_QjgN z?MCjVCzgCai0#-7eBjMk9UFa@UEy^>d^pD1tG3_uM2KY_CtJ3@nZHikjuQY&URHVK#Pwhq2E8`FVCl1)$8!t1m@WWbPAkH+lffVaTQ}^`$4*BW zp4_&*1VYSOUeMnRZnvHlz6c=-Z|osfdX1idj3X<#6ox@qrw<$T|6KEd7I@pDYdS%H z;9}DtpE(EvSVup4#%xUUJkzn+ddy8>=Jau3+9umgV>(^9gs1{e1(MXlOP12bPo>4i zOs9mg3IbN*T^~_)*gQDje54%+iayyZ>_#;Uz$siJdL^6+{OA*&KOG0ebS2>rkRN?Y ztRz{5ZPn(5`b4XQq{rziDCphAjV^{OnGXUS9e$dIK_y6))Le+}hOR`!mnIH*FXSrSwsc8j-M#Hp6X@DdT>G+4eS(~df!d8U+CWCz)lG(kBG zSw|^K17n?GmQrUmq1Ef2E{#=n>+8Z&4ujdBehyqu>SbAV;5Y00cA zH8Q{*0Z~WEIgTmqH0?O4^o%l(<4SLqe9S6cdH!)i=^UmYHL#KOpYqJ)|Tsv#0uKg-Irdnvwy!!EM zHT9Utx|CyLO590oE-HJ)`!-<)jXu5VERWfdC!kSJV?8A%mL#4N^Bd&pGa4U6ZcoNs&Np!89|n4*dNbNXOf ztJ9Z_sW!#zZ9u&!abG9*dvVL12@ATX^SQ90r z6>2gSNUBw&Mwdt>Or>8C^z86=NR zWL@d49lHW2y>=1@S4EU~F~SG5EyV#aK4o#00WT-5T|pVAa|lE|+$ZrRR>K+wPCQ_Z z?w;nX-L4`LcR2)lk6NnPqvO$t^Rb#W^dI$Jxq5?u3fMYYUdJ`vUE2L`>e zk5_28bIcW)NmipDLqDnK)##_V&&%w+Mn6a4g)Of}zhsrFkywp>&4UPlYV=#|7_?ra z-$NYLJ8SgEv76u2@nv?>UTqkRHeEp#&cS)jXajqy~r@f2W0)X3zbVp8Thr|55y9 zNr@h#kI5cF>nVD=0OM(3FlCDI@dAv~5@RN%qEFJNKyA>cE1*478SMgnrj)npXp8h& zNR{sU=XPmrT;l4eOZ$R)abHlEweHReUDCKam$mZttXAGuwW6(QMSD&w+Vf=PKC-UO zM>e$j@fCVOqusrzRex8tqP3}WA4wu7ZF+Hc}{3(q(3d=t;N@O&H3ckp}{57GDVG_Z@`$MZvEYJWm|4!=L5pU}_f7xXLo Q4gC(X|AGFDkwZ-RKgbPx# literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailTemplateDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/mail/MailTemplateDO.class new file mode 100644 index 0000000000000000000000000000000000000000..68d5624407708fc75457cf1bd1f15dca3fefb88e GIT binary patch literal 8744 zcmeHM`E%1o6n;vb_((V!pg>DoL1`QJuzS#pP})F%7#sp|NC$=<8);*UNV`TyrulpN zM|7slw7>U{>hxQ!96LdYHCV}XI{YB(di(8rPw)74{r5kA{7FRf

SlprydK>K=1M z{R!J-bxYJ8X-S*=^{vQevhGPca(O-23PSGHZRX+#nOu9qtx%0~>x=kV;a=BeA)j9= zQo*3(F_z0jyS@}l8Z_qE22C`ZQnY6cDhTFrgQlB(!B*%y`kk8Ipfa;88HuogaV6nc z8+yoi=!7m_7cD75E<%8Ina{i+Mt6b`=;fBv7A%Z>$i3cd;^CF&C%Ov3Hr zbOLA1<#R&FkcEyEz?*8WFg&~IaMy9_W&?_}xet*EpL@*T zFlfBZwc<0?p2_D1RfxJ>p9jGY%oi{^z|iqc=0>qgTtN6YW=IaG`ZPr3P;oL%mLa#38a2c;U3!KHWpGg@oD5oL!pS6*$&ZG7~5Z8MY_cBX2|^|-8?JKMAAMNnUEa^H7sZc5*D(7CyXPKrJd zL|yKyW{}`j%GX$crar{pY{8YE!8y)%s9!Tf=424bMCeQ(-Hh`I0fF zaX984bhuKb?{M7p9FEJr!*SDdxN?m0_dz(u)7YsW@F3(RPJf7K(h=ZD{7h|Pf zhcM{mKo%_}4FQSv%1m{&L`|do+y2=UuPRjQiTj00$eLR4)%1cdrS{a!Mrb;L=?L5L zv3hj3unJk{J{K0&E$hDYaQ`&IJKL;TE(-#4-EnzPDIeY}NgG8{sw6=djnxW!R_^Mh zvHAg;uBjwECkU{Z)Bez9NvqxmZP+6~s@AX@FiDdUP}3ESGck8moyQ}4J(@sv?~7R#n{Irqvz3)k4=$O=O6qn(t6VvUp<9gcU9r_Bq=^`onCeN84WaA7 z5SJb5WSKPTZ`uw~{WhvlAjL|5TX)ESycUc3tzWTpL+~T-b}ijB37f4xD$zZIo@HQi z|JCfk=09p;oKm>#B()``sSSfFEgAV1w&>Mg0w;FTv$*tQ+g|VDt5O1XdxS-yT;@UK zhKsC=`{qCa!TX7(DtWj#(R?nA@wALJuiH|)BnBOA4kj*Mo@xmEDG`99U^ivK!S20p zb+(H1GhlV%7Kvd6ntc8uS=iZEF;ygJUr?D;r1p+~PjtXzt-7emrHa*n&J*m%e>fEy zqj8$R)fg426ran!8FP*247r|7l#d^(mri|1$P zETnr<=kWGT9G9Slfpg^UF9@h3d&z+QBVWf7RMY@}yrRmrI8cQjNXHpOgbblLBb-Y1q`)Fy_ zrlA?MOs#$N>sy=^u|O;M24nOfj=pIs&?@d9;&_DPF^(T`5Or`IMbG|;exWt85w+|8 E0#nUf7XSbN literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/notice/NoticeDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/notice/NoticeDO.class new file mode 100644 index 0000000000000000000000000000000000000000..371a7115e2cc0a72bc0ce3cbe326b24d46265166 GIT binary patch literal 8856 zcmeHMS##Sq5MHW^b=YY-j?*JaTO_@t9%PU7iqlS=IEP{-p4Lfvyul=FAt4Ecggo^x z>r6Y-zV}CUx&TN^au^%65vLD+peTr|Z+C%R?6=_G|NQC{Kfj zbc+UI8gLPch-Ja{D54@rL^O(7kZPParo_roZaJYl_bi|2ejW=knrMa!}>Lxjs~3Z;MCaQ>scnUCcNS`Zr@K4O~hL)BB4lz zJl0CdFcWA+l3yn6miiwFsj`TyGqNKu1))TFd@S#y*X%Wpk6)0wQ@h9`6%U@`9Vl-(UA>nyuR zvC=9+Awn8Ipcz-=;>Wria3lbC`VM&xl7c2Okb8#5EFcLP69Y39i%odTgA03817rrs zZWNH_JhO;XtO+V;;?u&xTFHHK!+q{|4E5={_6+e0&uG=uJ66|F>a_nqb#~l$ z?Nb|-j3*NZmbY6+r=_URMTlZ~ z)@I4l%bg;v4bQQT6ZI_Nd5*-|%tR5<#_BPiSpb)a#rhry(j@I}8+*}#z*Ifh4W$$6 zKxmVuMGWIW#lw(>kLV^N7sJ#q+BILdYrbjMeABM^*skGKwrf7NAK0#4B#~e_QN2h) zWjN4l#(o`Q3{FDhe(9^e(ATkiAVp>tkg$nNk}$1E0{0S_HcvKM(`xn?F-6aRO2wK& zD@3n99?>{oN~2peAE<`0+6q;e?$V^{smh+R8C+r8Ync0LE2zMkl(c9Oj!Z=DOXCc8 zk&pkikr)({kC}GZM#8-_7V9vr^zfU8g-Q#N=U~;eO83R$NTzn$2^aY=jd-Z~WU=mU zM5b+4RPR7_@EP(5s}{%2WZ0C6$?e^01GH#Btr|4DhR_`pHhEa&ux##X@(g8O?Ecb( zue=%0f_J-F95*P_@$Mq)t%6`e?Qs<}tw%|npT)X9hXQh31@+;NVc%n(d0Yj{2&GDujTHhk7jy!P_`yUS;%hS*@y=x%OeThwR$ky*T;aW<-)U^ll_Ut z3db{j)#2fn)BPt3GydAb)5Lg9y<)%u)k{NslgRNcXew`Ud^wnfgY5=fM-;O^H{d3o z<`p%x0ccrW73K!4OuZ8|o011}cg!h?B1Ab{0CWf6%ASB4UNiWu1`TNHdkfn7K3k0E z^!OD1<0QO@a;Na=436gUej2Y!h~(kD{Rb@kJpb}<@akVUs=;~uRC0ilujA*Ok%Bki zO&obZ(2D)gE?T3#4evNad)KLL?>V)t1Kp>1TElrYt6)EG@52WU(LRKa9HRM7Z3~>* z_VG@Hw9(^Fbd*=+gZ)aJg-@R{cjN5(tRf%0%Ix|az9`VD>>EeQmlcSoD-i4O^$z0h z>>s05d0U0%!DU$7!@jY{wup7Of@@HNZ}k48eEtr{OL$$w3!snJ9PV|?a071Pj&=KA DWnqKD literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/notify/NotifyMessageDO$NotifyMessageDOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/notify/NotifyMessageDO$NotifyMessageDOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..65db03eea2a95211f37ee0a96ce6b37afac7fa51 GIT binary patch literal 8980 zcmeHN>u(!H5T6Tm9J^_frVmP6=(QAZDctdXG<}eyP2<*aQ4@;zxVhUn+njgZ-MffL zNc5Zc+}bpnf=Cc5n7KkDZx)O#b-um)`*3HZ;pH=72Cd z@Y_sC|1sNUejt6J0u^%Y?<65pep`h}#C@}4V&3*c7U2^!wf>j~u`g9DHg^1G`dZ<} zuol1l;PSrqLLwprEW;58W>PK@lP&*2is8VR2pt%2G?Z-3IdJY_B4g3!b-68!SdaL; zL@q2AN*V{wH+ILbCY_E(o?kO9g=`rdT-s()!X21xM5?{6w*0$Xa?N5M;>YpCa9u}U z6ZVg_oemOK8g&`-7T5T_iVAijB(^k@y~ZNi!UFd3jWx2v0Z(Z%teM`BrUqeN?CZ&lH+R#@tvL%<(L@Qt zRT>LQMVv|eFkwHep)FAmG;hG7+o+xGz>nkCg%t5k2VSaOdE~$mt7jQpB;D2Yj@C*~ zz$It;$FC%sT1DGDbOY7y2(%NJeNxz)>;}Dr0b5azn+9YxQrlIM{S!G!y@}gG%>9V-$Ke z3cb{L&%`LRjc9k2j@>{Gv3l_oI8TF8j6yFYL0Lf%`q{|7RCm=<*`q&Xa^iW?qKN z%xv1#FDGKw)M~o$=a3O>d0-mqpOd1P5#+HuuNi(0=iV~XUwn#+ zJyGU3T2syImcgT!iFFdhO6SneN73O1EHHz|-5k_4yS=O9v1#BC)SvMP_9c+eCY%67 ziY*#95)_Fjwd9iEQJyjH;epL4X^-X0OokE9oB4v)3DVj|OU#Ezs8zTCmnY#oyy3v9 zTHhT(X4E-*yq|6e$(u=g9WOqtKiV4&dm-?MX<^&l&Li=rz)OU!#>g&(@Fv34vb&!v zBjh>(?>MEO2$vd!WJJn)BnKxjBajfnn!zBKuSba3rycije1zSy2|E`7KF*g6EQO2&xfCNZYvy@Eo}K_bD5%p&i(+J-yT) z<&xsS_rn(75iV*D=vrD$7_Hhrq)dtBiqVROuFxxojF$0tc2Cn^a2YN8(z-3VIq<0V zZ}7FHrMP<==DS6vuPRX zSWCklN*V6&DRX8PL9JGVF<3aXrxM&_Pc*rSmz9a(BH%!*$R33;D8V?k%Gk2+D!#|C zf3R;7jt$UF4WXNcnE|@vL&nYyp*u08?yotZo0)Wq3_&b?VK@F~?eIv#0I zJp&&WI2&g%nubT%v&i-_d~yKVZoJYp{S-dyqE+$zxs6eL1~UK^u>{v}{20vbnTzWw iu7kPa2Hb)QG_XB`6koss{_o2YEaM#BgOzmTjlTfPE|$*# literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/notify/NotifyMessageDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/notify/NotifyMessageDO.class new file mode 100644 index 0000000000000000000000000000000000000000..1f6c66d00b2cbceacaabe58f545105c1694772a3 GIT binary patch literal 9693 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 Ti0C#6YLW*&1NsGHLz3n{Oey0I-C>qn zf6R7R-EixcXLu&}>${Q3yt?C=kP#| z1Z&< zmgfcR;?|Ug^>@@i=yqyUOjtT=FoE@Hubv2ZE0-?bxX`OZSF&p zVO!h{g)N5z!)tT+h7edmh@NNUO@<-?JI;S=TkvTOG1BNL!e%ggfrVT&;QgU3E@8{n znNCQj(*{QEHhKs5nC~J+f#|Wr>P1|!eyzTl8?s6Z9!tBv&82A#MhpJwD7k%IJ z%k-XB`tz;}G|%4Qrfzsn+p^_I>22S`Fgd|xy)q{H=>`+SsBdt+D<66~(?wKXi@c7@ zD>@lOQp%aTak9w~N^(q&6w*tMgpx7^qZQVqlBzgk9#WiHk;Hg4UC0P5{<-?vPzd%kWtZDe z)aJfO;|XYGY>m6j4X?6*FD&QSq7<9HEiMO8!G9&4#R)x+^-5Y5mN)o7&X!xDbM(Ok zU7#w6#}&)9!a0pjR?|!&CQ&o%f@N4PzY{qdAWedP39cY$$2#*Z@tib{hAj&`=6-WH z{1I$q667YuDK&Z%ET_jy;_%Iu=@X64?axd=OyC#bR{9v?7+UToByl{sk9p!aH1(Kb z=Uq$|OL&K+2?IZl?=raCUNa?|gN|!mDk!wCCTvjhx0nx3160iG3{-(3g0h$d;Kcl67n#jjO4 zS%#?Zcc~#`x@1klA=)AQPR(vSb!NAihGKFLQF$1v$cVz+Fx5`N%f8iUi4~VVqYcsL za%V$FW=xIsaHN6q)R-jw1 ziQ}me+PgUEZE~Nx2F`|?zUSciNrZQ%UNdYK1p20B^8j?=rD;i6PdCeg_DI9Rjs;od zM|u%}D(OPZv4Q~S<~S^33di>MkVT#mx#ghP$zGEMFE*Wn!ehG{gzl`=gF?r<@F03> zO&nA~-*Ot%lg|7HRg~>XYHu5kf_SSsD7K)9gTZN-#i5!Ut5~e&HZ!)_7T3=kZY?Pk z)?}fu78eR@aiOq=LLshBp|BPg3eW4N#{*r|h8z|eExE{0;z9;VLxWM)L`AYDGtmnv zierJ3i|6Bn=aoQ8+gsM^2YH1=;$v^^8ApRYvlG$9ClRxQdDmQGK}*yD^W2q# zBZ{|5f>CJM2NV>Ck2@?=pGer9^5QMNyNbO>Y(*Ig(~`o2mm;DP+q7ZNai&fxx>0$7qBO(P2E5@Ff1r_#Z)gMgET`{}Xs8+KPj&mAkk2QRK5x;fuFUBHnYZZ-WKTigS(=7aNBcWy)p30e>oojVp3=Do zQ}6yk@Bf3R5t_lTu#(X4L;Oy}Qgo3%!V_vgRLe!HE2Di{DB2|jPt|Sv3^B@!n>yMT z^d%x5kLOo8qoI!ab)oV5hAww)oGr}8EA(xFah#*?o`E)k`5Dh<_4s{H^97<^Efnoq zp`I?#Vu7AsryJdwvXnVfUSu>Hg~snD-Rj!dEX>B+bf>^LE_c^&1*kt@250AI^%;GE zetd>~y==ddk)O59Y`;c#6SOS*dSkqvfjFIkI7;`sh+>yXd)q_H@-_=iqX+bGANzV9 st0IolPZ)y{`dQAGNz9*L@calD!)4$i@^MXJ7dL5>TJ)G~av|6LAMT?>VE_OC literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2ApproveDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2ApproveDO.class new file mode 100644 index 0000000000000000000000000000000000000000..01af8993cfa7068b30651d85cb54e6b12926a3b9 GIT binary patch literal 8228 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2CodeDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2CodeDO.class new file mode 100644 index 0000000000000000000000000000000000000000..89c7168add08cb38fe1c5d95458195c9a748072d GIT binary patch literal 8690 zcmeHMS##7z5NW;A7 z`XjL^>V{jlJi{}kU*C#M;nf|_jBHsCwt`SPbyL`QLgB4Hl15nfL=?6!))!~_?>bt| zEtY6lqhm3aE!LC|lA;+p=L>(hXT+Brv>=3}Rp_2=TG9Y_(hwMm`$7(QKmf%JY3(h2Wb@ksDf$ zY`B|NV6EG7)^)v5gqG(5Z>+f@PU7XL_(AwC#v$Mqo5GHOHQBU1 zXWe^TzbRem1Cdo4=HV{U+vut{hV#Df`DHq%m491xf#%tp($o#l=~#Abn%?m}*yRM5 z^=gIN>4spt^>wLl%ZHvWbhh}V$jfp0|2hMwngQ;eB$WYDDl-)!ltU#I>H|6}3MW@* zxrB1$l6-^BDSLqR#mz@9q#PQpw59IIutY2Dk1v#6e49(5;zecq<@ean=( z=j)c!K|;oYhNK%r9qDuCP0*^9Ya+m+TEu|#tw%2;V7}QXDynnDP%ecIStwUD7AKT5 zXa`RUn9u;SQKhr=&KO;wcfsebSgsXb)#&6@nj@K*GRSfwP)0-qGY; zk={|@_GmAEyS~kQxz%z)eq%Dlh-oCDE`Xd=F=4RcuZ7xkk~+x z*!xq8!%iQ>z@iT|urh1%51_{idfc9ZR2VI0#cm+0@>gqST#J9$=o*gXq;! z*qIxngXnJpcJ+H58=80>Ui-XmojohH zaJ-S?RbWT5jI ziz7m#9Y+a{ig0|Ch6X>W@hMy_P9gj1NNJ7jgy&-i7vnj|6iGMxkYA3o`w@D>7j?OLmXeZp*D@Bzn&K z88~T4R_stj@(fv8v0R(eqV`!iaPn zp+3H~xAxeX!DkUyJ9cJ@?#xU-DAV^EJ_xtT zdjZ~Y9#8Y2IC0|^KwTVg{DVb~<9@_jl0jsLcSHx}W-99OeWb|=4KJ@YpNl=zR=|Vp zWj+(aa5r27R}qGY^pj!U$` zAF`N>hwv0x_w%xr5EWljJTS+O9N&j zzr~*ys^b@hqJ2qU6*wDT)8$>zhTxaVi}R1$3|%P@?VCb%yGq{{sM~jiS~^SDw!Qdz zrWfyLHs%V|alTNr8+5b4*;v?)uqsd+@Z9WtoZpi#(5+qc>t*-b8TnYt%LZA4yG($@CSvaHQQ(`bp7_t39rabCn>TEQF)(Q53=6Y%Xdl<(tt Xfaf6|A`8zktj#~t&m_no38~gI8tZV) literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2RefreshTokenDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2RefreshTokenDO.class new file mode 100644 index 0000000000000000000000000000000000000000..995afd50ba975849a0e66af844e0e43bc49ace56 GIT binary patch literal 9419 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 F{0lYdfmHwi literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/permission/RoleDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/permission/RoleDO.class new file mode 100644 index 0000000000000000000000000000000000000000..cfacf6df87f91835a94928c918602b24efdc363e GIT binary patch literal 8407 zcmeHM>2upe6n`>Kd^9~sTcATJYAN7w*c|0*LZNNi#?)yb4k;8UY@|)1R$93_GUP8~ zhR(ou{wRju?#i}El}LC*DKq^bODnzo?YsBw^B;fy`Wq1~(q@e+1}%qy)$y1kI``NP z>sX@W_?B<;ptBp>%lV;eNx>-l19-k=v(V-YzX?}{BKbT(XmSqML35pY6-8of1!cU>El zRlz)N&}?rE*^dH8p;RTCAPM~-lC!!Z;#)kxtmzP7F`%l^?f@jy0ryyNA4HP(zU9l8 z$41YKd=PbQkWcmcJi`1&-`NsC2tamNzFW|oU&6N;&E0i}yOO~}a)l)(Y?lWB*y2Dk zsNR|z%6dA@dOR2eJPdEMKtP5N^QU&08)KQ-p6h!X{{7AkE_lEquB5*T32XGSK}W~( zUkd_1sMA@azVNjGn(yv#+q8Ud;J8YK<{DPXUuTdBCC9yWz9@qzNiaE3#i(?&=Rg%ADiGm?a0=Eu?iZU#GVXI(u+6gknhJ$eKz&^;O|`2#ARL=BsTy;$qkn-(nQbW$*S*kZFBaf$tqe`*{P+dzN)laDkaw^nC;_a5M5$DQR7go^f zva$^NudJ7-6)S7C-f4}rTE2h{xy;Z?cuuT@r;(NLoVHSWII_}uOBtzr{_ZN^kB9uy799415pc2Qj|cX4`UE7@C`o%fn{l@vV~VT?kF-jM%yqThUO; zWCK%dhuGmv`9&RMQB5j6Bnd(DoI+DRS00`WnhDT!+S|)q*PZ}M?n--sWa^jzDw``A zniGKSV}MaeCowz$a-TWSK&`LiJO`%`QIdgj zpvt5wku7y{P|egF{=Yy941FQDlce36GXZ%%ha%rfI2ysV5mkGRM!GnfpSx41TLwKW zP+>i(zK>otlA;P2JZ>kMLzRzRgPMIm4lI5h^&48vTL473-~_WlZgxu$9s5 zv?Welqr2$sOY_y}C-4eW*JuO1`E(%H2#xsEUlH1AL9{IYu@GC*lR`R6n2*0h8dRYv zn#QPxk-XP&ui$-C-47-A89J=SN0R%|_HiWFOmB;FsEqi=$nn`4Z6< zN=5sWE|tjJXQiTjUMkw(Wl zA8#3F_ijc$HZrsOP3k3RS^SM9Ud})~m4R5Ll@X%cRnpRq(Xyn?LNn+~`sx7w#u67r ntkNoMP@%rE@DW&i4ddImzQJ_|7ZJyG1bgCl^aK4!3^dkXSjY{8 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/permission/RoleMenuDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/permission/RoleMenuDO.class new file mode 100644 index 0000000000000000000000000000000000000000..6f000a052ddb16ae9a8f9d5c6c9aceb59347a450 GIT binary patch literal 7818 zcmeHMZFAd15MH@X{E{$j)06@&a7lTwd69S<7@AT@Nui#)_0WVcz^99JvDHd~S_bn@!i-MhVK_wN4w_qRU*U=3C)P_p1VC0!?^ zK6f6`9qPE;@r5fqCY?d-QQ?Hbiv#AUfr?n@cr?H(qGIb2b0eqEWaum93+_A=0lUw5 zyw<5e*@6oOEug&Xbd0P8CEv4Pw%r!IyJErBhcS=*khS=Zul%imt#U3R8X=alpw`}? z_^#!l`?V8Qt@$Q>z#tiqyI{^xs+Xd>8Q9&tt3_XA@k=}UnohUx~X z*YtP9rP>9u#mKIFBnTzZpwH^HMDYPaMd9d9K2vpsfjH~H{Uf=kAkBf3V;D}E$VQKm zkVQS=kw~mZ5(%o&Bx2jJ1R1j^31bxzvBRYFJw}8ie%MF4VLU=gQ87}l=9M8)!OaAKkLxawE;L#`2ZsCX!~`=j=foZZT;{ zTeGZiX|PG9uStCPvK;k%WcKxT;Ry#RyoMP;_g%}Y!s`|+O{Q#Q?Bo-juuMWxNkaL# zk>r!+@fe9(5+hMNK996lM}c6$B4#u_EgX|Mlkh=f!;rw&=Niq;D!gOOIg|Z0 zDM|;Pi5QJPSo;gCzr0AYd}eM+Wp5 z_OtHqK6M|{E+fk>w}+*gZAvveDb?(xRI{;E!)sKk+2c}enRtRJqDz&KMsCma3;U&y z}b&^GaMXk|(NB6kTH5tnBK+g=F_t*7g#V-QKoF?$~_+@o+Pdgn<@1GUP% zyHxdb$(U`Zro0C<%=%Xc;iw$E#|G;-h4hTdz)4HyNRvg?mN``A5P3eW(abia2@FsZ z42^_94@W-9x4D)MDb+`(yBq`fZ1okuz*GD9EOZu-7^e2K0G+Ae=naYRqzl-o-EMhD z%D+?VJEh^2C&Q&P(-dot;dagesqUoKa=5C&+>6=#f2*2=lUJHQRl&Aq|Hx5Q=Ln7G zGacq|Jcme8eUl=kv*f(H6PqmBCaryP3{k3UcNf`bY}z@7zCBCMhgrU#iV!YfXs1lh zcsep-LVO%mYG%)jKyuH7uu=CDz<0a zdew{%m)cJmg>P%P_ZQ$943n5$TinG19Ul*mcy!mtBNyrR1{FZDvQG9D_`-tubRAKF zFZY}tC3|2fbYCAd@$Lq0dMa1~^aM|_&Or%gU=~{yZ0UOy?<0xrnjH{IyCGWy} z6YLw0#`_tF3mJ%IaCQ-Obf&!>qh)!Ug=WDA@Zkje#vbQIEW<}Q1||5|%riYEpJMwn VygtVZ;48f9P=*_D6X)Hn{{SAZaSQ+e literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/permission/UserRoleDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/permission/UserRoleDO.class new file mode 100644 index 0000000000000000000000000000000000000000..f730f268eaa4625bcf010617c0059fe262bd9f02 GIT binary patch literal 7788 zcmeHMZFAf-5MEy|xtD}#o2C?K0VU<-ju)G^fuSjdKnlI#Xoe;Y1AJ0!`MCk-{1cPfE8G-LB)aZwer1) za^XFo+tl-g$E7a=ro5dbpwf$Ekc7Wg%otW5m)9G`i~) z-*p0%oK6tBW4=|0Zyu(4EH?Lgt386d)*UNcO9lhQwElrA!9`Ca#?&?q6Xw8NHiND@fgwMVfFCo}Yy)@B;GfO)hwR%Yn%_c?Ow6V%~V2NouiHF9O!-d`y2^N=Ddzl;D2>as7~LO}2Q*bhB}C zT87id76CYStWojE$IJ|}hHIQ=#QbXu70imZCk$z%CXd0=0V)wN9pxhf1`PYz^!I@J z4{48)MPInXBF(i$nwu7BZd#k+w(z$uu!VNUZa435FQ9?t#EP^{!_f4^w zZ>XWXyEMxC*976H5d43V2~JHe4M@1gab z(m*Pb+p;;S&^lwdd2>K|JE@f$u4FLZVg~=;N+#vurS?yCaGmL23slktg5udsfdw2d zAW~M}WQgc2A@Azx8alzQqf+AH-?@z@%|=ymp`t>y}bghefn-3CGDJXb#kNRZFpyb zedE!1HwSSp2eAs?E~1IfthZydJa6;R9C#1jpJ3nE16KYO!Lb+ zQ)b%l{WbjsojxZiwi1+BWHf1~!v|S+*6P{4z1{V5>p%bg?RO$trk|@+F{rJiV+YI= z_9M2%Y)9B$=!7np_V&`tJT`b-G!FRxW; z%AnIRkk3TVUW>&Hs(7wJ)9rRBdJ6{4D6c12G?d(+x%ODP6G<-?n9>H|1rE?EiSlZ5qI%$ zY6(VH=@o-cjhD0{WhiU(no;}ft^iu-Z*kXj!eHR}u~Ks&Ls${0t7d&hzh^q|Wf+-V zZjR)m&}3$`J>V}yUijttf+0fp<=sI2QMjEEJi=7I(x(6|%fMp|ZBFkVS=DSqQ0+P$6}NgbH}+h%H(M2|T#Y*XcZ6 zoTW?jI=I?3Pk7OFgXSAqhL!NW<|Zgp+Y@|s7<9SZVBkZV7>3|-n@oCoo_;wM^*zwE z)lx|-xZ5mT%E0l#?0TZQPC*{*X2kOoh$?N0$7imR~%ubjSVYqY*uQ_nZ-r>#M12(E6(!g*OIu_3kIQ#Oh@F@hJQl> z_2$_=#BM_-izJl9+J`FaLQ6$go(!3<7KMA8slE=fNmiuqZG`*MD5%i{VwDAXV7f-_ zv{uke>Y&EzlAEJ8D|uvnnj-#qPQwmxRTgQ33nrpgPlR%kH*PS+m)9n^tN?@EcMG$2 z6%sn?gH<7;iU@%zBLa~Edzf;<8y1=m3_6=(rfXYVO3&rsrr#O#v;ZghuSPC>Pt`@$C()_N`O@sV$)>$kO461j+p>+67&@F?`WO+_p^3ii{k17n9{RuXV z!ga2OesqToFmGq-3Z755bv?x3<@Ph#tq%q`^!T0OfJ=GEP9teDROudi)H)5TbbnWqJ_$@5g60bjL<%-t!OWmH>8*)qZx=>;w^XzSHA}SZy;5y^ zzf`mjN=5syR5Xk1eRiRO2uk9uc!YdJAD4*sNvUX`B8&1f>o6<*yj0u1C>8C?QqjID z73~szz0WR;>)X|wie%*0w`=rGidM({IwCe(F~|G*Z4TnO9Kkvx`S&C*AKXU#6|P~ P*DNH~X@fTLi}ce!HWRg# literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsCodeDO$SmsCodeDOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsCodeDO$SmsCodeDOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..aa469a95b4c5ad2b42533a57c13422eb4c929424 GIT binary patch literal 8630 zcmeHN>vP*g5MP-jj$P-`kfzWUP(lHRhs3i$Qz&^sJvhk>PRo?x%UQZOYNb2(?v!c% z2>u>sU-Td|UZ+`&58mt$gV8KsPcy2@j z<~|{N#PygPaF6>`xcjkBxEpal4yh~mrJ|ARlMpXOc=HMMlq)0YHX^x-^lMwUJAbXj zL5K)N7_neFfei_3xm(F13krd6!C1Y{S!>CHn?J-%1re>Wy+8)dkS;UE6;T0a(t=y{ z!}X20-4;~JABkWAYe`%@x<|s8S};=&dDP@j-R~%)f+*_aTfhd7%adt%S z5)q__ODrhWYfRA=6*x8S35poCwgqLyeX?I;K7Ec$Vo6c-QhkN?)Xv1y`j_QfzUAtV`-lewMZ&O{&Qr}rk2x_KoKo3Y_#YsU5w|RH4uHzXF^(jd0UXneIe^GOEF&ct z5g9PMP@ylBnSLR4plaRpy7@c+YZGC>X+2qTjg`e(B zDiM2%i}OP+hvDfkw<#k`)mn^;L5XmMNUSjokkKHZ7`dhqky%K|5y~t<=baDBa0A|` zz;&=KxK`~h$E1}MUC@}S2aImUQIm>o{av98GP)M>h=@QxXM-bZH^7?C&-LNeoUrQR zSJTqc;xO5a!#md4V}n9XUVd+YV`d*lQO3-+4P-JP$=hH{20V?FU_@lV%qRpH;26ns zq09{8ZC?Az%_8&Dq7jl2k%5vfN&ZhSa2B-trP|?Uw0A9-|M!fBod*kA)lREqs3|t# zl;yOgA#;lKJ41K#X2|?To4Q42!A3PlM!FrPc$xq#m_=wEG~A^3mX0FDY}eq{9u*?+ zb*rk};IZ)Nw@JTjveRx!3g;G7Y7E^hCZyA~9)qc6fe ze8|Fo5wM9iapb6q@C|mQ`~}Q{0t>_ww&>i6y7=kt)S@=w72`9 z&GkjQ0@ZnlW*$#cd+}=Kf zk216}-ak(K1fbWuOc6)n6T~Q>Z+3g@X9=!_es~AIz&Nyu&lQYCU&0c61@~bY|4&1& Gy7Ldmb4#QE literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsCodeDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsCodeDO.class new file mode 100644 index 0000000000000000000000000000000000000000..bbdc2eecfdcec577fb43bc1750efb2ba58c8e07a GIT binary patch literal 8618 zcmeHM>2upe6n`>Fd?dXSh8}=g3M3phN4c6(NP3z&3DjvyOKFj%jjdMNbtO4d4}Tal zbOyfjNARaG{B~Eq5;azX$n--$tgT(W{q1{i_Z|E6*FV4iK}477ah`GpRl~rp_?F8n z53Mb$V)KeCY~iq=((O2wsQAL^c&rk3!-)A6$MVo3OEexbJF0|!SgHHrCD319%hQBG zhZTxv@n&UB(HN9-9fPK7HNl&Uc<@ET^_W3NYXj1H6u9c`gk0L7$uc+BFGR1U4XJ`fIJUEA_5W2PLC49J%f zCEw_{9t1V${`^8MGc}y;D`Z*YW6hH{J3PYjRlenhZo^|soQuecT){(wP7Q0K({2YW z3~yTjhe|?Bp4_s$j#8K>{Dyc`xdz2>yLGcr4osdhD$7E>XmB1&LgG0lxk3&X zwOpiuH?qq?kr)#t|P}{fj%_o^zOEW^bmP6kYtt#yTnsnXXev@ z9OUNHlBA!WA3$$?C_|S3w^WiYXARPHIZKY~O#O&5`q5ln3LzUX0+KNxuU z&!U!aOt=`S#`y)!R@9TSe~s6ihbHdB@}=*FA#Ubc75a2(t_OI^p!WtC`_%1-RcCK- zGK<=drQO`#@RH?~=C(Jy*xzhtvF9xI20G$hG_=ET$mC&bTlOQX$;>l0FUN(hvMO|y zb)l=Q3teRty3l%st}+T;XG}-1(3DjY--_&(It=Vd8>f317j>kvET@%~l|26{nqSv% ziy$&>o?u(gO95NkS=|{08Bg-ei^B+zl35nIl2??e{;HMuR$5oD+H`|;>u?UzS0vyJ zQ>JjKt70i=qC&~TDCpRc2>v_dlIJ}i<~rjRkE%^Bf^iZpTOmrRV|Ywa)X;`H1}7C! zy0S)wQ0a<y2x9*)&^qz5v$MY849J8fC&Mwz@{l|EM6VH}{I zt?fMD7(Q4VKE)WAt8yDw<>I>lkFL9@NC$SSYtT%Uqda{{#&j0u$uj8f|5sbb2Zz3@ zV!`qxKR0MQ%F`z9FY!L)sfA9wad~Cn!;0#@>Ed&#rVHO)2crc_YcJVgLFuZAEqPf|EPL@ z99YL_7C3VlodW)A_&<*Jo?3~h^psBAIeO|hdgD(u?@UZb^eVljMhLUc(%T6b=YU~= zMq|8_fHA8uW;7Me(*mdsto{C2v=36Fl`}=F&_@~a_Hm}XeUd3}pVGMuCH;&(&k*g4 zO!f99ef139a{ber{=A*1#SGCdWQz7RUCfZTZ!+cW+e~>|qU8)Fy@YSsJAI_|Z+kf* zS2ESx)xIs1z|A$B*q#p`^}p#)@O7%j(k3AeB>pbJ2hSyV^a-l<5r<>Uc>N`z8MH#H zyYM%NI7t#GBbu}pBW~w!fcAZYv_^uo20mEad4&NUDDU7z8bm literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsLogDO$SmsLogDOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsLogDO$SmsLogDOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..b8473691d047d307e3ed52097c936eb90aa8eea6 GIT binary patch literal 11059 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsTemplateDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsTemplateDO.class new file mode 100644 index 0000000000000000000000000000000000000000..c5fc97337da6460cbe8453379abb6af08cf9974c GIT binary patch literal 9091 zcmeHMYj+bx7=E{wrb$adZYrQGDA;;Qyx@%@S}4#!O0g+L@EkqU-D$FPcQ)*7dh9RL zBj@OMf0V~(b~d+m(=0t>{h%K<*~>f6ytjGhnVCQT`t5fjTBNW*V-_vT$f*R(6P0Id zn^hc9@j@qbc~seHyDY2(q1*O(MefL$2Njq3xMCJ=JmXGWk%6q#1G&b7md|3oxKf~T zi;gEqJ`;_~N+M^`nCDtFQLBZbF>ld$ywlC)y^9GObYC^^=ZcBVqom+IG)&r@> zk*C`U7T{aK3DHi(Xw_m73(yMCo{WK0ta}XsqzH0nlb6@`BHe)Cxz)Cay?|H6wkN#} zpDzdzLI*Dtz?-hEF}%Cuao>gTlu~$!3D@TlI*WL~qAiP#vXY-z%pw6(CAvJa&HQ%a2tN!q!mY|(E_ehdD}BZl zYJqHvj`iGhJBq?+k}g?=D~|-wLVugPwi5;|55a+5b}I^DR3NX}rJ`zQJ5V=_?G0{s z<>Sz1wlepBk^lYjUrz>AuSN_KU7QY0D6NrkP=;>cc$qwUBR4w-4kAX!=lr({qwSB9&_uM zXltI}58A;7j}mI2C`#xsf1O31q6+ED@wn-MKdjV@(ke{(1u%%Ugf>lqLv)DKB$X|? zxc_vI*&fsc&Fd+}Qc#+foB~vjKyxx> zm44lSP$e9Ct;rLrY^yO;Rtui8Uhrhpow8kxZBN>saJ>j?Cw~W=dy_|8IAH0UQ5fL) zc^ltcyX^Q(N_*4uxhxeAua|(w&Cs-aaMjgmV)8O6QJ~*)A4ZEFObUVO8NgIOve1HI}U|N3l>vqs5#p*5LLfN0ieooN}^-Q`TEJWxa({#ug5)&K6D? zTR4|&H{{Y*I{^WUon|te`Ohs>seW8AnzGs`Dks(M<$KZL@`6?vfhmiO8u@QXpziM7 z1sPQ2utfBdr96bV4(ODM-hSR@zFZLQ5|d3;0Y}-Awp$B_^7Vmkl1R5>&(FqHyjP8m zjIU}|=o*~XV*B{CA8CyXCgN&CgwZH(++-44sw4c7 zW0jY0!JJQOXx{YOXiliN3p>IM_fY+0DAc^Nr1xn@G{~`nG-pOGq#TjVgM+m!1{=!4 zuC=UYrt@=8Ejrb==v&$5QRKONev(!#dXaHiEJ!`tJ@w^!)|{wIKTGI>6o%A866UrVuH zPoB>~?hQJN)}2;wqSaftu0k6N|D_jn;mL`MztG!%BzW)QSD_Qy&Ej`jOVJ#?hbN2P zrw>M=eV7}qVifHo`q-dupBP2^)F|3j`V8^Y8S(ju*yfMM7e;mb(kR+jIkGsvrPqw= zHc!`wb6b^Drb7)1NVDB8EQU{JT4M$v8=MO&oX-4S*tbA%lvws(!{xMUQq zYBY=Q8P)AF-5-*7y*aFwG3!{FbJzn~NzqF9e~2;KKP&d)`dtR%*$l*Ss&^69+?kD* zRROZlELx*S`{>uRI6vZgx87x0+(UevVez?4i=V)2WAro`8E3#~e!%mOxPHRLaBbjn Ua1jYyGvE|1ZBmn-VO05l1D)EY0{{R3 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/social/SocialClientDO$SocialClientDOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/social/SocialClientDO$SocialClientDOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..2cd6972fc77385de5c110df57b17c075327c683f GIT binary patch literal 8303 zcmeHM-E-SS5MP-jj@^```G7zRsG)$vhXm!jEzG1zp&m>!G)WmA&(g)YR=RWUP8ssR z-^C2fz&n2w!=B_c_Shi{Q49}xkY(+ye*1B|d#Bq!{`}=P0N8*ps!;KuV{{azOvvyF zJ7i%bL!lxSa~&RKF;iix;w<5zIWm@~VayV|EK}_#JhGutkwD6Jep^ojmv&?8*5Kp) zOe6?bg$WPlav2Geop38h@Sq}M52jizB|CRLxc(@UR;0Ws4}}r!gs(}dEVDvM==A`@{lDN_h7!2sI;w~hF^2ZHM2a%!3oLIe5?<`YJ3yN>V+LU zM_uHowVKlM4%av^of)nR@{~a}GE`zZ%I$2T+B3!9Z60ZEJ*ct{I=~Iox>-9B(Kq}E zZM!F=uwQ!cTx0by>amW_t-?zl%${iSKx?I^;kq~H?Mk#tC5JrrBb9bVk{j=LwL)*C z=8j*l?d)^kqOQIJ2%I;A!kd1?oV)xs_m4pWziEA8d?90@amtb-9NOcW%LpaxX_eyh zL55?oA4CZ=#@`bOH{+C&a=Wi$zr$@2InLpY)j~OYZ0lf96-F4}D&KLW!Wf*&!YjS$ zD=av{-tA3g`N+-q9GEWf3sqx|{&(}xWzka%C4VK7K`$ADJQ;%`8G|Aj158G|j*~Gc zf_TM`6*s;MgOu55Klcy+v5Rxx4~t}W7hF=*6J*>N}nHcElK_v<_?!k+WXA#jjc1p@3@U>6F)_VJ}mp!H$t+MSe9uu zhsH%xYrIT#ScX?-UvlD8s6}x9ubaB2xXL13(5)Q`|A5AXF~ zVflyomw$#EzvuS6hQH1_z{|&9XB~2(A69bOB)onKTE+3@Xtze7EssRI0&kv)_7)lK zDy)`>Hd`v%T&ZZ+O7+`(sb~wOqAiw+_BOn8N`&N5o<}b|-rj}xdT4dL2YH?V3}+V= oaS}qrsKEOJ+4@0_>tP<=#;mQuU3{L#?EM%%h0oz${>JUU0K(kiZ~y=R literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/social/SocialClientDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/social/SocialClientDO.class new file mode 100644 index 0000000000000000000000000000000000000000..ae5a8fd86946029784aa8bf172e224a2826846e2 GIT binary patch literal 8341 zcmeHMd21TA0Kti$8jMy64TWU%!5@-?4xG{oC(Ev_$O!jTrO|kL;>% zxk2@zwP{uDpz4Np=&-1|l{i*d^+PA|Se0+_nE6%5^3Y-{Y(8XmT;-wdVx}RxMbBkH zytG=NQG*UkG|viJ)m2Gr(1`08G+wWVL2KTiledx}c70Y0HeK#EJ+=@8VQj^27;uA1 z^)(A~H3yWVf#oxUj@0{*jW}{8N?CERw$%Yesa^|W)?yJpDkhvoYI>XlHUVhSmK@f= z#-w^|Fgs$gK?SP?*2RlbCuw@FeS>XbwwbsdBw^5_*|~b|aymCGw##ZU@P2A=r%9(1 zG0yK;QGhLTydK-MyhIAb3;kyJsCtbBEV5!Ig|&#YE6@pp4)w)#C5pnRNT-bPTekzC zh2AD}Ogr>Dt|ujKcA^mC_W1>~ToT`zwk3|kY%;S)ABU!8#*lQmq!!+TNF7ohM0s(f zfuqH=29B15w1~7g(jrQ&V~-Qj*qjE5-db7$$d5>aZ>`1jHm9+g28k9!dEtn=`9Rb| zgW=~S*>`U~a?w(&)Fth%5oJ0~uT9cvGU44Xx`7*CGU({+pbt~tdTt#~sqO}BCGneZ z&ceY9w;tM-w{AtQ7^jnCEhfEj5q?+33q^X<82Kw7=ar8DpQG%jdj9{UyM(BDcSAy? z8@FA=sg3+&O@xgF*wl)Qq-S7NLcmoSo~zJdzDVyHbY^!8Lv(1+6mV4Js>16Dp!MVK z3B0}C3%yH%HjTc;8__5bT-^uvXVrDE57D@g5LQtV zYGqwt`*JE%SaVRC4`zG9+@DQOV8MX{63cfF2+sot)Eo5<2s8Zy!eHQligBp)$e@`4 z-CEsbQRF%d!X0Oi6U&2k54i@F8_v(&E7Dbip6srEy4guSm&X;!??T{Qw|HA*ReM=) z5jm6m2$^O({l=gdX6I`1cfCk;WBg~0Ev~hh%(G0fk%}Ab)WV9m{@%f`fV14k~G} zr6P+h6;*7hsA5Y6#TK+~v8BRgmF2AIgp8XaIrpvDZcF*FpE@}EL1nH5%se;O6)j{o*i<*^Zp&?8Vjr-zHD)}w7SRgX@PGKDvgXZ$J&Qp zVy{P~#n!s{4zRhD}wuI!;Ya|^}#VytQHP-3+ zHgf^>Ontk?WBO<C{lG3^hf?+>T_OKE>Z_Q&!4G|d2~i+T(wub{mx zS0ySxq2qUtocxtu{X^oP!LL|dP@R=CgwgACE(7B{Fa)K-cq0SjWr;DVsOT-41+_tQ zSbaN3!)WhlqrFF!9MP(|qP?Fh+6TGH?ZaHrKFSsCe6DC8(Fb4B|qSG0wmEtH`tm!YxUJN#*H%ticBt?u6}#J){j z$+&}$W!&habghRde8(VveY7kK%R)2gI@NaJukUg65l_?CJ6KsC?MB9Kjf~wID9bPJ zfF^vk@`k!--9h^n?JgS8J+v}pd>`$5c=rvAClNV3 QpdYCTf9y~TGoymyA4#UtumAu6 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/social/SocialUserBindDO$SocialUserBindDOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/social/SocialUserBindDO$SocialUserBindDOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..35c65df7cf8f363d8a5c94f4b22abe49def39099 GIT binary patch literal 7340 zcmeHM-E-SS5MP-jcHFcHX-a_>xP$@@6p4=lGn8Q_ABB4ACNnr~hsU#YanwjU_wJNw z{wv;?ff;z`k7C%r!)52G2u+}67-LVnxINNBt;Sij zzIp3t$7&uY2w8;*59SIz3D3I0W`W{CC5}9pYPDq6z3ah^U-Hbvsc2?{!sj#29&3n|s=KC>oBAQnV)LU1Z#0%4doZzvKB~fk2eSh{_mq;V z25)(Dzdg#3m`wIW#6p?&;-uiudP<@}ss5hTr?++lGsuBi0N*;qcMf48w-&RGUk8u>*jRSN z%z>Rpqr#b>nUT!Oq_NgGiq0oC799BjY%?ky(owP_d@AUE2puInF!&6pTPK%GJQ5f= zHiCLQ+~r-tmcq>MX9K^;2ENM%zRLzaW&^wqvVrfW%My#E(98yK%1yXajIDUy!>ApG z#);EKeli~N;JNw5=CTt8pr1fWkvcZGhQo)zsVp3tZ3IH)h?GXB zG$4|r?QWsJ6dKt!3Rg;8vgEc~E(a@(+kvq(*M`YGp;R0RCKbapi5m}*8O$I$?+I0G zJse_vn&4UzOOjAo%2v4+>zk#_nbO9RkW|X@(K@cYCm2s)Q;x{JXE{&wN*3McddF^! zPfv{GCfc}>pa_m21TF!E#D*mFy73_xPY@wkMH_a4t_zXD8FP4hKnlP9ss8j+eM7FO zu3p3Qy-|5+aJ3rUg%7hMjM_?)yc#BHG1;=4^ClkYM-J%2^aue=5TV6*SwMBT3UANA z9K7SfwZ?FbrPylRwKb2~R-B2AJni7Y(>lUdS!BqQ$6Up>-S3<*J24h&($+avmauq} zH(UW}`CRqZfO!*_3Dq7#%#tP@Ei6b-1WJVPBA}4ikc3`0J_O?lA_S{w!%on3A#&C$ zUJaH!SbTX(!1}KT&l@jl&*z)8uuR^u6?qSyG|ogbrsLYdDb<4oRAR#}D2o2>?1~Z# zL!F!blPY%C+cH<7_zBC`xD*{d*cRnNtkgF%EbFh?LbuRW_}qi`8LT!QTtBM+#g~jP zJgD|3Wfi`{4+3@)SK-c~4;;=`r2Ej-wr#x@m&V$L(B{6>1{MK7DB#zaNvPm8g{>;K z?7fcn3S1h~Hv^YPA?6&siMYdB=CStP9lrI5xw0m>>tm#uJ~jl4m;A_E zUMte5MQ@~dffKcAYpJwFBfe)*q0!(`Yr&$^_mW8ZA*)9_zVNpKwircRI@0Hnu&CTv zcQ97>AX!KNUB|a2^=Eyz!_@nFBw35act4@_PzoriitcK;;#T4ZFvlW3H{Uo0V=weu zzoaLGUS}FTA2gFrCuTz2cjCy8S^}@fcAOxADbtOBhg0@BLfrx=sX3K6c*DH}1*nAnA9K9nd zG)wPH&?!0%vb^R;zPxVHiMjpsBV(}6!u%%qq~S+wH3_#srHWz|0ddy}Hl5g4{cLco z#bnC4pv{!AOLWdEoXv-KUWLTqkjTd`xovJU3doB_^TILH+Q3Qqh~%bDZa_wkUT-ry zWU|dYTk>W~A9M3I-%c|JyFcl%!$e4%@31)bJ!bRR_QMVm5f(`#8zSkjSY;d;Vx?^0 zS|crugz}nf$q{UM?Pw}4o2`NP;aI&py%DfpMH>nePENg?GJ3R;S%$cSOsN34IFwGN%v0W4S^o!!Xa@ z{bfA+uQm8}uB-5IO+JMQ``pkS(Mpu|D8Qmwcu)mhExp=lVt@g&`v%uC8o+RYJxQDZ z5pf_J(HFvn`G+O?+M=gNucGN)#$YEHh}=r`U5vatj%cep*szE%;f9rdgzITL`^KWz z=H~0^?`DavTZPL8CMv>}iX)YlRps5P_R|0js&-x4zOZrK_G8?{gI!$jwpq*~7Z<|q zn1|>;N$}3It8U;3VQ>2Z6P5DInSeph#VC`9mjp_w3vO~jjCC7sG3%X zs=7K<)zzUYszYdd)uF0L%R=XEk27JbB1Gs&x1Fvn`>lhh-4Bh*OjVVks%iB9r-`(? zk$3P|+HN#p+dQuXw$b7G$w81@M4ovh%R z>#7@lrOA`nWw*ibIB0t;qiHqWQOJXIK~;qk&gDrbk^CMLNg!984*HFK0i@3DhRXKv zXQpxJM8s$r^@0E;O;uMdH+mJ%nZ}{ef%I(S@akjuL_Km5Vm>O%k-X!h^clPDU6ga{ z5$d2f)v3iqkyb5w{1WT77M<+(U}j&Deu86kTo$QmQ88P|B5fe^RUuTQ`v)rDIz56( zEBY`~1dU{9e3c2g!c+-H&^bb)fQtMWji43KE25{KB|Jx{jQ{Fcq4D%Nk@Y9j{+oFJ zI!)pI-dEF*nnAmiq7qe}((Hrjw|=L$|4P3otjM+m)l>Ae9MSAd};HHJL^ zV>-o{&{A}s-iNeB7YxuoFh;vbb3=7AN1M-8w@bO|_7Q#j3`|9j6TmSt>AeDp5NP32ls>dN_;_I9)Z|f+ph-fiJ1XAY?Qv~BC5T-U%wvO zApHiRS#*^aj?k~i0Op9N=vs!@uU`-C+X2>E1FW@B*}m}%G{udYolMaR^c}t#p~aLj zPk{@U(7%Ot8|@BS9qk9SyJ$oWv>{TclUF!hggkJiDDoAdx9qe|jmm%wdu literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/social/SocialUserDO$SocialUserDOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/social/SocialUserDO$SocialUserDOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..a38c7197f826f825fd10dd5c173b51c3a1f61d97 GIT binary patch literal 8317 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 ACjbBd literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenant/TenantDO$TenantDOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenant/TenantDO$TenantDOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..a2854866c749addf01cbe4c92c915e9bd0158216 GIT binary patch literal 8517 zcmeHM>v9`46h3R>IChdIgtVn;3!6~D;j+u6+(Ibi*2YsenIUc&hT(_2t2k=ck|SvY zc?_O{M_>kK;6D$=aI|YT4t8pVt~2ROe)zJ|(RZ#oN2~MqKfnJ80P9dGK+b_5lnneP zVcdUA4u~IcpNT+(RQiW;NQB=MVH{Ck9V$(men=wxXd>#5X`p>gIpNx`B|q!iw>p1T zV-_Jq0Y)5{PH-c_8~%2(%7GjU9T=@v1#f)m!1Zrqu33{-_yJR_9?=!fg(jK_t{k{g zJzBpLw_1`a^&OF%@rJ_1`2!Ng)Pb35B${>c#J@*5l|<7JCr3DGCUad7TH;Ean+yck zB+w5Pl@%0cy#2hDEa}WX5Oo$I#Hd1nVic!Xt#C~nR3gOKPqeO>rZ|ksFr{&-I_h8skaU6sfj}FrnJ?tE z%sA6`9C)d`_z0C;LvIz}HC%b5=7y9)j)Ch;{qm5b$wYKOLpKo37K;+gx-BWt)J?VI zmWs7K>gvN5bq#=LT;-*%asy&~;nu0!0rA|5cA0V+4^iYmM~67IOC{w2a@dukiO>5n z&V{ZQL_{ff7fqJq&C7bi&$8!+OCD1y!!m zze#kk=V~+)dJ2{9hQ|Hlnf>D>#`|B4Qroa*OGxboypPq-Ck6VtH$aYynh8m|wFmJ^ z>~9i@6=AGd)Sr;xzA#y!&#bG3OOmZpD&D7uI~eFD?gvmB!7fPJIjGBm7j`*HtKE@x zp6r5U=-kBa#(qp9wZg+qqV`PHd;U#T6FW&setx7AbJQt4d#v~m5Gy;LypaVfbD$f5 zV-ed~Y1KZc4G`$O`QJ)=bJ)y6FAIlR$z$PFJ8xvg%|ak6$6Lvh9g-D03*BBYlJ@K3 zfQVj+q7~UtYxr8IWgKWB2Q1hUr=w5bUMmeQCvXcUh2FMORihR?O_S za?PBh?=l+UduPvEWOq?ad76|~!*|e4!o!FTa_t!=z|$0DE6bGNCM-d#*AFD&W#K8*)T2Ak37Kh4b4Bm0_ zzgk>ZSY)@X66tB2pB>MErzk5{7CGSzEorqiidOmO45hX+^u=lH*%{u#VOEZ}@p-rhnwXb~#f{c#;{@?F%0VW)a-%Oh0K&rC9?hX1fNr52%zZG(DKo zj)-M|=ULMYn(Xwsk~@EF&{Q}!oz_gVgQ@}``TYzJWOy3v@O#=w_Wjp4o0<4=!yq77!-DADDRAH3;0aFTFV&?3PN6E1*s`RE%8s-5zOxP$aK@RdT zicbZ6GQTDK&A~WK^o&jRp}W+FZmQ4NG`!q{Hv_LAr`d$x<^S-%(udboc(n)PS`Y3d z;?2QzMDEt;29DlFjUD_g{Q)<>pLzW^nExx`eG9*h=766!@!M!_Eb|t;os8w7d;(g| z&?RV#ebDCmqK(751JT~IMw_&d%^vMirm{_CiZ%^ihIX3)AEP0Sy$||E%8_sF?RO

?K0ZOVqa9{%x7+YZ8_ndSPm|pT(7R`C5%cgFV&vfSW1jsY!F6zV bFTpYt;T}FuVD|e8zJ?W8gALeBRxSMtbFT=9 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenant/TenantDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenant/TenantDO.class new file mode 100644 index 0000000000000000000000000000000000000000..82ad27463724000ea448978324fc84f099003e96 GIT binary patch literal 9138 zcmeHM>2upe6n{z++p&`-ZBu#9^m1{)LF<==&@UXte0LMybh6 zyL69jv65kzOviBQ+%0YUb>@_sPTjY7$=mh>Z+)9=P zH5ylVEM_-KD+)@Z1J`C|7iX@_ub1c6tGBDG^Gh0KDiz0WoY!c;tZOuAvnJQ*V5Pgc zDqK?mj2ezDm?73Y?v?>t2gG;va{87tv`6@7JGzRGnX3a677O-)I8HNKwv+_ryY|S?< zSV5!psp(3JHagul)}?>|NT2ML+i$g8?s+$vYeW4WUJq?C%U8y+oMz3rU%J9=?t*hE z@8B%XN|sJRq^{}aUDt7Q^rANOy5Tfirls_zw_FEGYkKGO{IJ}o8%!!y zuW`KtFC3leQl0tXfN%^@0z7?6k3p9nO}mi>Dd{dTcoJwJEvZ7^ieV`5;TWK2$aNy= zWqgQXIgwlm43>zW1o}y4jkKsGU?`D-67iEBrbOft$o4M-3FG|UCpu3$y);5E(<{i3 z7fjm}7d1LO)teZCbUb}SCNIC-(oIUQp7-R5K`=#HNYTaVgEZ4z*Yo4i^-~6L2}H+L9{6gAjT? zM{jF%YH#;LJ%$P%cxL-+?)}}RfI<&UyYe0eOf@XN3t*sIei!iOW~TyI@gS(dPs-4M z$6YG#5$wCxt)NFSo$o2452(P>Uq+7sW~Q%_9`b@Pv^Et)p;W7BsdeBFbi$(IWy&@l z2el_{(_IQ}(_QG;21{+*+?wi`CT(35K&ESGsc~uNw5gZ@-pE6fHmwmz)O!Rm?LC5b z<)P|5foanp1Hu0DoZ%0AW+8m^rRU(PeSZ2=jV5|re`Sliu36`B{#A`0@9q3aZ)52M z?Rh1}j9p(~-ln`o?p>jvj=&vJZNlSbxJRRXQ`2QE2q%bgIf4ePbmUwOamF#`hLNR5 z?_tOdB2L8mj^NyJ$-rg8js0h<10##DA5te8=}&Qt*$ym!rDexV1v8dHqb}daGfUR4}83<>qWz2o~Li1`Qzn>pBxj2{Pv2{iZ&z{9<++c6oUyDKx8b2Q@Pz9d!f|6ZEIWS=K4=@38@A)d z@p6fId~PL%euC~u0+1li{&iA`@FW6C){5!&jAM8YXv#8bwcA*Z+4Bq=SbYg9hOI=J zQ3)OCEnjtf*Falc_Vh>FJ!=*J&}0vK?$Uu!fR8d?IM=!7TVjc|Ft7Bu4c=!e@=k__ zLzNvh2UdqszFAejC424pN;~Jv7nN>{e4?_`!4$?FZiLnSm0oAT!r`)wZx$Ym$ZfG; zqIvEbo7?F5mu+;?XJrE8UY5Z7oxicukH$?~kD*{$LK&F}+%-!+?lPf`vh)zQRC$iF z1U^Um%$%jKCn= zJPlAb{Lj&_n&-oLA)Jqd|D&{Dy&t1->^h*H57Ht0XMlA=&7TYR9-*UZeoXB-0Sw3K z1a`HdpU2x5FwQ7$i1Lp~zkP7>Cp!JB+Bbz?iIuQ#TCEUfXXw=k9A|+;LIyZqi@^s7NJ1YxD-a8H??$#MsUz;4L|}cT(l;-Bhu?NAIVow-4wX>=&G-^E=K*zipH2 z??S59_>eB9DDg+B>hEKk*@d@(j!z`l+a;P!5!+m{(^;V{<9iLc? z^oggjZ6#G}EYWg`60fAHziaeK$Xg!&*Wm~4d?VvYS9jHj=zcUJR}9ix2cyhN(b%HA zEDD=OH|XXb{B?6#a*Ve+5k5-dF2>st5+93@Si{GtJDoH5S>zckbmGhB5m>cdu&#%a zKdHwqk4dp*=nHT#KumErNja)v&M`JHHZe?$dl>gIEQ}@wk&Tgu6&;KRs7$`ad>mDf UOMi_@% literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenant/TenantPackageDO$TenantPackageDOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/tenant/TenantPackageDO$TenantPackageDOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..ecf0ac98fadedbb93b15423e4e9ce7e701b36fbb GIT binary patch literal 7752 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/user/AdminUserDO$AdminUserDOBuilder.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/user/AdminUserDO$AdminUserDOBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..0e131a79fdad928abddbe9eaa32560858233e941 GIT binary patch literal 9256 zcmeHMTXWPl6h7XPY_bFrD3@|6HI%kXFW%lSK+}d?$ik9znn0&d9j&cwL~O}Oa!P(x zA3M{|wC{cBPwMo@yO0er^#RNdo#A2Ew*2Wk7o8)?I)DB1+aCb10JrK;^WZ0=!&btC zY~5wstQE?ZP@#&rZtY|dQ>{crS;^v}6$lG|guzGRm z{#qttq^ZLJ4`y=in8{viHSg&`O++4ycREV;u6S_f`%GGq@V49*Ms#C7C#AB?3MGvP zXFI$7*RnL#+?XGjmO}Onb{^YiamGD3+KE-tRa>p=Tyo7UkMQM$(^0Y{e?LTHHTHJz zQ)bN1N~1OtQiNN5=(y$y(_5%v#8cbGm-SQ`yg_ZoI&0iw&&f5>lgwrssSmlft9@%` zol4kU#MnJiT@fST6~pgimrh$+-s2h}vA{7@ySh;z64 zsaELc#9a0plk1z@w>v5K9YNs6Dd>-rA2K%(ewX_XNCLlYePMhdBcU+};vIao!8Mm5 zO4!gU!RLD!zKi@IjM2OP2D-qEQcA>8uu~vq;TG$0|3WB(L0kuUTnGKQ4*GE&U|i$x zL0kteW-j=V;>LH@C(MSMzC|bT`ze|{OpNIhxbz8f*FA-pzF$O=DsBBx7I?gR1dh@E zf!!S#6)lpNf^P01W^RYV1H6F8Z;EiG7^ZOIKe}E_E9Ak zlGGxB2)b9rGt!VG*hPSlRIUz0@-zuVu&pW{lKCWIBoM)}!M9yW4y~v;-81v}31@W{ zTBS?yb8-A+9oD&I(q3bRFRYeuue&{38^3_|ea{T9W`s$EG#DcW5!BA@UlKenbHNS# zVlqmuglSndflAh!P;Q>4AnK1rP~DP@E8DPcUEMS*1I4Em>JfAcF2y z@w{l6PcWUNa&;h*r%51!ZB_A*%qIyWfe4n7w#pu4MJxRX*3yqWIRD>kDb@!(*lgxS zkLSO-dywX$9@bJuAu?`0tjml-oOXMq;gZfMgpPGxJ3R#UcmFbW#mAJvGU55o%+Z!INIxJzy%`KsISjG|@e*VP(l{t9pXiBC0X;=l7G;O`RtJ5M4C-i7z_wlR4BF>E!5%h^6CU^`vNb`V;nY#)-@ z4pqu_xKg(1O4()zqd@oD5%?IRp&!ei6h_MK*wR^#S8DNzO4&|g{1@lM(^z_{Qr%8h zs@s`Lbvp~6Rp__R;fu$x?aoZ}c>5B*8n89+dO4r90DQdeo$IKKV{irg*5K-%jQBd| e^>9|4g>PXJZsPM4u0nG#4~uXe+R({+&Hf8@)|T!7 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/user/AdminUserDO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/user/AdminUserDO.class new file mode 100644 index 0000000000000000000000000000000000000000..09e94d05f31276131dc1c1f9a0ee31946829908d GIT binary patch literal 9937 zcmeHNS##V(5N?@dFFQCV5w17{oH)lOYdgt04he*ymBwquT4|%hiMen1 zM^r%-Jn=#m{15&F#Wy3ZR$ErQlQ5)s;6c`mw&&}f?orP-E&uk{k3SR941Hgu5seyw zZ`L}7?bdD@t47UqYqn>47V~Rsk!5(bj%P&~5w zV%H1M0Q%-elZ8MoH|@4-gpm*EE&SQB*t+BRZ7jCnw9OoD#AvwIWoHf7a+nVQVA~F` zJ6_9nF#4f@-QiZ(-H^4Jj{yZZGBhAt2r#P%T8oa?w%vLca-ub3gcvyvm8RkF&H~(l zk;PVIJMg_m=ES7Z$Q;T<=|rpq`u1m?8g;uq3xX?#@4~wQe%`!lIFazZ<8@lzO6?4D znGbWhTQ;4s{YNbUVROy;A1m zbkpF`*IP_a~%A|xOW|nM+8^1#pIz*FWbeNvSwtmcZ?eMrpyC$;xXG}^a7x~6+yKFA%w3sir z3}-KVr(ZODn{%7w;pR3I?4*RfUQnYFy{L_hso6LsCjP%jKIeE~egX3v!hb-s!etu_ za!x551brLD;^U+}rp!CB1o^aUg0{!+=v0Yb)9Ap)%Mmm##=4L)agIEflJPQnml8hC z+cOCzub_RQ$I6RPAM^6@xRqh!B?z91IX53ao6zn8+D*>9M=_$$y}8JALce*tnJ{p! zuF)gmW4%ty!?yupU_0g1H;CWO#fkXURLjP>|DmAo|5jcmQ66%r%!CQOOqkG1!-RGk zCO)PYrppr|O3Hn4UEroMSB_u8Bzj8-&2$N&Etb&LiF5@i*IkB^bU|{3y#JxizRAng+Dh|EDo0o%S@ahb)MI% zJg-$_>vJrq>h(~!1KoBl+ecx;S;Jv;iTTVmaeQ6!y$<@fBK&6QRntML)0c4g4=Uvc zr^RAW%nj%o=8Dl~`a#pJCbgQXsMS>CT1_>s)l^Zd!PTqPR3jw&gSzFhK3TlS!fuYo)k`2o>q`lPYW_nacO|a_7JGiX z8gzNFYsp6y43(~xVUrXgwyd_m4r=b$s^S3OgoInUObcr*BmGDLFDoA%qm zN!0j4KQcqlA0j{PIQKSSfw_hoo-hJ7Gd~17sW1+ak~oD+on{`ekc8P{{-VA)#0BS& zYXZ+*=vP383}_B5eo2_8&S7%39VvYZp$0bhjUB4duL%RqY}2v5Q}_8q95n@zlLF{* z>m1@mB<% zLqVsu7*Xh5VnO7Dvj)BcY-waNC#PEtei%e!M`Imj!qYO?pwo=H{L?_W(J$cdXsk=C zklxu?pFHt+SKT#{ero)=FDy(-mmFpdC&OU4*4u@3&+0CgK;bw&Uy8$6##bQQuNJ+Ymd z+h&y7c1o#jr|FDBzn!J}UC>6-Tq3{T&e3^=Xbq)kvr5tCl%mZmjlu=GnC6m8xw+(i zV%t%;s1Kb+Q7a(87y;>%vQ^ptp;AX zoMr+$HxrDfSzZ>kKsPaFgjNLJUhq=~eGgX`myavJ72=9;5v}5?z}L5Nt$_i5i~d%O W{g6JUPw8{|5*B_<-{I*dF7-FW$_pp} literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/dept/DeptMapper.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/dept/DeptMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..4a7d3ffa086758926053981ade9c8158924f06ed GIT binary patch literal 3062 zcmd5;ZFAf-5MHHieCMW32|1Ed3QB zei<`#2EOy77*_T*=bO5Bq0Imv&Sy!x&pvu~t<|4@{q{QmY{9n<%n-O|bm%8cNdGB2 zW_~Drp+XgL?GN&ZDL+wB9&_IeOvV#GVzHkL%u(z|Jk9(qeB5Vg%C!UM30x^4VkZ0k zPVXrXGXjnEFcwl|8wAd^*Y*jV-$ZZ+ngr%Y*57NbbOSDu+3iPCbED#89??)Gsfbx7 zl%%Ovy_hHFJL)#~4mr&RDW?{|v*Ell91WS2Dx*D4pM!X`n^9q?kde^HC?4R_0oPoH z7~w#x1jk1?u0_-fV`dCJ5HUCZW|W9yU`rrn;m@qk>1rswVHUh13tpK8ugrpnS@4Q1 zcs2{GG*aA9yYYl&;UUdXAO1^4Ls_Hqe_)|>-(x5l z?)JsJkMSvXoM$3_J;SonYcOc0C@V_RZQf;umxfQKSlW+gYiEj4APg%0LRnWMo(jhr zS*(ZrXn$%X_W6t&9u`a&uGug^ZdAiM4S*l79DA}K)(r%{3RHIkn;WkeZ{S+n> zVxLtJY^pfMQ^B66lS}IVLHD&-xX^%0b8s2v3Cyk!TTrVVjG9ha5gpr<<^v)5gFNYR zy~nW65LgIQ$l`sbg&hwkUBj(@HXQ_(+JQ~k$w$>$3+#J`Kyz30CChS+I4kv5>xJ*u zPG_UjfF(4W-1e~RVdu;ag(0vVoK43@qD$p|?hbyy_9L@ybVo)HSc0@y+ksWTQzO@N z<^)=$`=-ieHo_oqdFYISSPTM-Bi*WYi|t@kkt6wTRHxTVjE&)PMK=P=RoH+tytF(r zTz8`}3S~}~N1SkC494A6xeoa~Z2MRVHmBwJT{KDpYZVR3Yepxi9P(pO*B+u2BH>+m zER4Xyxnu7m#SI2C*9b~rRHW6Fp^^rvpzhm(Yo^1)fdd~AxL5&q;1dGwNF)b*tmg8h zaNsinm&QuafiJL3Y!y22m3>3`9r$|eVpdi?fw}v_7(5a8@FHbq3E=$0%-FXDcoWwai*c*){}TOYa9sMoRpUQj z_|Ks?TEQ}0#eV{C!!>+b1{T3GdpSa@7U3PZUO|}5;c6|yyYSx0Zs-Y@$w=30kyc>! z1nK=#BCXUQU4Rczi5d8CsPPTBiDR3qHvX^S58xa8Enp6B!N=gir|@~9;O)NwAK-o7 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/dept/PostMapper.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/dept/PostMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..fcda5c5928ee3226a3cc460f38454fc180a62aa2 GIT binary patch literal 3039 zcmd5;S##Sq5MH>kDKSp%y0v@cDB?Da+=J|WNzF`-X5tyd zp(HJ}>gT*L-_x+Yy~n8?mYh0($hnJZcQj>EDogvEJ^_j7rlrDAAv2*dqI`(2cDd#< zMGw1L6*%9o@LfiuG-t-pU6FJ1BE4iB9lHQZmj1#9oUW%b8mSO@6{1>&s8%6D6(X-f zk zp3aOT5qnN5EAszmSl7Y?3~Ci+K54`DHD-8i_|ptaS6(;n&M-=ZK~0`Y{HDie!nv;U z98<;>+jO)<$-xYhXU5u;mJhg|0hh3%pRxND*TYBJe{N2MxnpSw+tXfQg+Ab>%1?xK z=jfhC+~1k0^h-sGQQL5 zQ*_;(x0DFU?^H#f>urYD7=e{Ur7YiJTDbXWF*Mv&petwsw3CdhsM{QGB+jBspuHsq zlG#cl;15mnUgB!Bd!@OpmyBu+murMxQget4EqIf_#pzcs-n@8w+dW|j+)7TSYrsQ{ z4()1y!1<1k>98O$(t7O54UI2Pd*3(@fyJ83Yr{LNK;UzelzDRghP7)>Fs3b4>6G8Z zMgYZgEY;s@e{~YrXsBE_9^ItzQ9lyL*$0)hqTrkIKp25qUv(Xd?`e?7R#F4w(N;HQ zs-!_>xwN+g*G#8-!vHQ5INbmbU<2bDXGQ=Y5eP=o2Ji_=#wPP1wKe_b+;^5Z;2f zJ?1-b_7LgZA=2Dbq_v4i=ivfkyR*1hrXyUKi16-nAgoV7m)X1|fU^9pwCDh~QKB+(-QNe>d!p=>Px# literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/dept/UserPostMapper.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/dept/UserPostMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..0e9c0482e5396ddf83fa64e52cc232a97c3d5d47 GIT binary patch literal 2808 zcmcguZFAf-5MHHCeCLLwO&UsR18QjDQmD<_CoYqjwt*pxOMs*;eAL;>Ma7m}NzQP; zj2W1L@B9*e1;a|d%U#G3hv^L;d}pmz&+b0Y+Ur05`sFtO*nv+1m?Q9&(P>;TA>$Y9 zn8m4#g-TV%bv&ptrs6_nRnB8GFqRi_#`3rrn3s8+@zTam4cFf&W1q0HFr{GU&y=0@emJfo>9 zN|7@wl%%Cry_^^3Ga9xJjySc0l2Zo|xo}Y(j;2gXWoeJo5lBRLEft0enF);<IMZ5!FgWwGt63 z5qTvdr^E)$6gSirUND;;QH%WWpGvHD5)-wKoYs+N?Y~8+*$_pkw56$>!t?AsP?@uG zo(iLMKVrxkmfPUzORlWQU(K;@^(h$CD$0CMhV4hp@Y?bF2G7wGw6oXXm04-5;jhs8VI}+-7Jolv0;{-p-LKdD`A_lu z9Ios0uTMF@?9VTHtPtLSn;!E`xOIYb`vl2l`0q%oQ<2u;trMiTPms>f>E=`<3U@F| u$4YZm>r)WsVFS<3!8=2S?!rA>I~L!?|M&0$_!zGxv~`gA4Bvjb>@6gqNpG2yIs#dGxN-gX8-y3kG}w*1*;a!5O}VY??y~W_cc3W zt}k5?`*FaPo23DZ-6#&ykh?n536I=>g>IDT!_Wc%RezAWMS?Ucai zj;F*MrpBt{FytL6tB}lTOA`^Ekzi3*CCX?LQ&_vtp`bj>Ik~NhrQwg2KBD?Mhja4+(szyzns9;oZDswmEFvMXQyE{O;w847cF(4=E9vb! zQrbZ5`npmq(g?mg1v+iwP)72$SGT38bit>+3kV|xV z!|Z9+V3EL`$#Wi#c{nO22SO9@ywe*~n*_?7@mQOO1g`&|pJ>IsGDnAvwYlP%L`D4i zj_631qzc)2Hu=!%I8$pqpw&^v))02Fux&F=_Q+bgNKd{NBiR67*SPV)S!_z;eUu6+dFZpeEuCy>I5$L zbE_DH^7)p)!x5Fm?V#z6OiN>sH(w#KBH~-}NN9n%zizG)`Q-znU-JrZ6NoM8$5Nxy zTqe&1S4{Z_nFXH^xG6*cHyhEUqnF-S6$%e?sk-1^aiH z`x|#>;3B?_4B&Gq-!cCd;BxQW6Fg_|igQ;=&MoBU=5h=huEP5{*0p0GTrEYo4mZ%g zo4HLN8v;fkM5Y?D~Q)<)x?+Ps>mXL2?B6IJY~w4DQZcW@b~~ zFSAOk^t(UGvS;=#*^n&`%4qRn_ikpppMH6|r{}M~fBORfdhm4sa|G@hoyG+dGJeMP zS)9sPs8nTK$Kx_%DlSx3<~%lIV|fv0ERTz^*~{Zhq&Dv1t3Mv`du%k~I)Kvz&U=`g z$zi-Xc*avpptYXnLJE7Ez^TsKHi6UMp@9I}1eOk^zt>vn7Mvjq#UrV?QTaa4XsU{l z$e9&N(ven!oEPRB8n*kpoLaO@9YEyFMU^?4GAWg%15T$P5#6v<7%F5YGzYdnJC$Xq4v67`h{JZvIaz8Arp;fe}l8W&R#A)htxm5XDGoOH0!h$ zshE%Bm2t%5|3cE|*@~jsc-1xyeo?C^^YtCJ?=UmzuO~Akr`_1woFVuC3+y2`WsXE1 z>z2ChmqwflR>*tXvph&xG050YCD-G}+8-V#7Tna8#w>*G*YS59>Zd~jnt_-^PuCeIzfB9i4-Eq1h_k|Id@NeC)_tyiAtd&%C zh+fU_v%EyC>(49r>OnL5h-QFvU~!^ixTQ*+@*nU5K;XiZxay?#W0SzmT5VL9j&4#r zrJtk6xmBqn`s#*El{5k`Q_}t@xMn)t9S3lOz?m9E03V|#Q{%nO03rg*)Ad0W1@H-h zvq!QNz-LIbOJ4xD5aY1Q0{HUC?X0S5WaFMN22UGDpIIP)mo&T{0?cDy%)*-4PD=hwryK`_J-%bYbS@t{b-wIs7Z*TbZs@K1T`g6Fh^xtgIU-tTo9xH^4 z@V3Xi1ebBgc`zH{QX|4UuYhpnI09a2--Rn^e;%&mdk)^8#PtEZhie!6hxpsU2jDAw URxodC@DbdE7(Rv1G43z^0fP{NUjP6A literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/logger/LoginLogMapper.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/logger/LoginLogMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..4273ac1918b2dfe1773090586121990884b3c2c5 GIT binary patch literal 2318 zcmdT`TTc@~6h6bP?NYglH@pmZD<UtePzOGA!w{_NR3R8d~0uvcg$W-0itnCXP z6DTh7P%0TO5g4p2>=GDyjxGvNA~1f8UNuIWB8-yZPj8eFR)>copj<~y8M0VvMVm&~ zLJ`@g)G6&W1dUrwK~n-Zb?4^pC}&FPnAQaCkhpX$rqWWW0%0;tPq{jGP5EFzUzbRd^RhaeSoj961Id*Ld^DwvhMbMX2uRMXFk~N7lF^B zTEJc>!nEF+>?=RF!(AkGyD#-juv6+J;qR80wGIXAUHoTZ&IMgnNz_ABETfC1KRrSR zig2k6V=zu&WU<|}XDa@2o8FF%RP}1w#>aiB#6}X;gxO)(nF&n!nzL}18JXJcmyQ)7 zcA>Q52+URdP6S6KSY7as3%yF9v@Pq3#fd?@*AKsV#J93pU8)x0DmpoRfZ+VV85B39 zC9rX>6A*)Uwsm5-c!2|iz;x%Vd0)tyE`i5g>CA^#)$eK^znzG{>{g;;8HqJ@D6PcA zK1(NDHWTp#ML#D;-!p59Yh@)4YZbqg!Z5=dtpdyu80~UUfV&uHC$yE#0^BDs*|Cpg zDZoR79V=Xa+7SXc&+)$mzyMawFpQvGKE(^E{q~)tYCx|4QVDI^KEu>w&i2=j zS1am!z!7ztvb+$z+CyeVA^7?L$@0T#G!GD6!&-PDY#L*}_Z4=(^+RBmq6PZS=0RSB zENMmTc`8izmC3*LBMh;0XJ9tG+P@+2N0@AE{O?qHP=({;FaeVUMwfbRXL>#?8_l{i zQnl+@Bbp4Q602#_5@v&8Zy_)hYR=+KW@NVRZF*M3_#e#}Bye>;EDLh)1FA2CCBbz9 zwRPE6%%ui3?j5YL)Q8z<)|cy5I7{HluNxuuLF}b&TUr8Z;nDVT4B^@Ux3Ru{j&$)i z#P)?pz+2a;;o=E4S_0E$MvFga-kt~qeY6$ry&m@cW(UB|zDSjmiC9s)(n_T8K{gHK z^8;q78W!*v-Smp$T3LysjdD*VPBMmXcPns}z*wJ&3S1{JUb@$4R^TRq)8$UD1TZrd zSRim}-^nH(+{S>*`ar~I(ps#-4IE+YC;^;|a4rM9S78K3ab3aHt=_Kp394_Vybmz` z1$T$w1l}_l!0Tkblf6yBDLgx!ucveUMbsa{b)kP|fc`|TKb~WGa1Lg2%qcj(hcx?} pNHYVFM&Ls3&BdNqm*6t4GtVhLuiyo62d@d-n}cg`1Lm`szXN>tSNi|} literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/mail/MailAccountMapper.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/mail/MailAccountMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..503e0e18ddeb96ea0c4f8d1500f41483033aff5c GIT binary patch literal 2012 zcmd5-TTc@~6h6ak+ocF1-~}%Oq81-^HPIJKNYH8|X{`dHK2B$cc5rv5%~4ikXhe)LKJ2z<_FTVj=9_QdKYam!I;=V{LZE34_ai2izt0Yt&y_DV*MTs8 zKM9!jBON56@NM75BJu+k`cdB=;G4iDhpzTh!| z(i#t?lJPo$(dz0hfw3o8!+|n^>0|Gw#%NQ5Niuf-wKBr$@K6Ml>!>F~7E7&Y&**k2 zBKwHC<(;meala>Mn!roTd3ia?nNm8YZ9#t~@#tnurKM5@(qKnnA3yC0BNWF9dqziS zA0+rKpdJsIwRBI0!v4!DfxyCP13kvyvyPz4TzLaByo?MlC&SCh@Q@5IBg0F{Sf+s% zmZpP8EaqJrBR=9o52r2WM7mRV4=R^*OvPw_0AiF)f4-Ax}ALH?Ul78)9gNJ_zxj{K>I3niGUz&V&EFtIk!n)zzuSY5VbBUPuCs?T&o zD)AzT+QRHG6chrp4b54&%ZyCz!J=zLh{q>Ik-$o|QE2lB+1hI3n8g}_^0w?K7AFQn z9{xtiS}|+ARa>u>;39#gUkf1WA8Kgam6kxO@mD1rXK=T5Vz_vQ3P@m~Fm-+cGU*_2 zuYheXytPK*n4BDpz~UC(6fzQ<>QGvVKyRc%ok=?mQbH)wO9VTZ-&9;HEAi4%@pCB* zGrZe(V2QwFp@suD2}~6lthXGvMPRP5bi|YccW|_0vIta~(puaTJ9vxO2?BUI;mrsz zf_rHkCeU`!x;t2PKSSx=tosovUo)Q>e5XEu&-rX6{Wl92Fn%tx=d<_+7(aq`9=|Xo vekzNvWVu|p1eei!9Ij+J76-Ym!Zozhde`yy20j2)d@ATkVHsB7HjMrNyr*>5 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/mail/MailLogMapper.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/mail/MailLogMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..06285be0a1f1627d6c91fdea6f81655486544182 GIT binary patch literal 2197 zcmds2S#J|D5FYnRvJGu1l&c(Wxl#nXFFcW|5~Uz2wiJ2+kB-+(U3Tr%_EzMVA%O(% z{3yiiZc0NNH6T?W@vu(D{$|EA-+1QR_fKB{UgEb-wS+0b5P^x@O3YLWmM3n2KC1d8KRL10z0Nc2rs_RU{4GC~o7?wlG3*^ssGog7RL9 zXA$*z%&eu`G8Xo4dWi%&&Mwem{5@+5I?I*cA;Qmz@CzdRf(Rdp@N**kjEGqpX<=y= zc)}dtp$_vSKD02}ZktGT23LNbwLkMvWJ4w`Z5-vQN1p#%gf>l|Au*WK$0hsOAW#w^nuSGSX)}HFVxF$k-*H!9UU7w4h6R(ErA!|sm&w2x3{iS z!^Jaf=a`93l*Kd5dmw@PU3n}fNImR&tG@KQ} zCLwyBT2@>uD{*Qn_go6Y4Bu&&V1~eGm;Dml#O(eo=@Q(=5qgx365Pd54hbPpU6Ixz z=NmWz?Fa#!tT@sE2C!C!VFcw8O7}Xu-e)MkoAf?H^=poqz%|1FerNNY?B67uL;dr) zJeBJ|MEwDj3;hc{^v84kYHrJeOK=&{!*C_HG2O9s6|SM2`MZw4H}C_f;a5c@g;}@- HcVO@bpT)5S literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/mail/MailTemplateMapper.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/mail/MailTemplateMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..35cf415479d56dc4574babcc7f2798635fb23474 GIT binary patch literal 2619 zcmdT`ZEqAe5FV#V_HGFzqz!?Ff(b9Z^kuh5NJw0SLM1;1qxk$s9C1G0H1AH@?gq!%<5owmNTx_x|6UKu{0&|tB zgsFbG)q5s*PN22Q6RBi=o4_}nm0bdpchQIkZ344H>3ha#(}ELZ>Ypdd2&~6>QzypTiL0Pu?ei?uY{)dzCZ}AD;Q5P`(54?S zBo+DiG&B5mow*~HXs#)%Qp|6!F*``{KgUQm55@Y{7~zK)=f}bp3G(?#(l+gXme!_l zZQ)>doF@@Wdog=d2vh!HsBajj?XE<_Gtni`-j;pE^1|Srn@8ER`hni{t?un^3l<4n`tOc{4F#K0 zzAr6-htcsiMTBvt#(q~9Dqkz_aPEFKVgjc+k;@W4Rt83#Bknm&9!RB$W;q{ zag84_E^H{Sm6do?Q2Bi+3^RPc^x!Ii6AdFC{D@3Dv>vP=0ZnJuw>EZ`*-G>?>|0&1%MS;bYO_U3v0L^GpYPtw$FU7e5tt(h4H&t z$h05pFpGq5yEYZEAF{}gyLK<~l};rW{>$RC#*#!B2Sx}?6>cJ?+WvZLSMZcTWr;^p z$#j{(aAR?sz{nE};6RnYWMBKKG1^pMoQ%}pC?l+n_C-j!juRQNRBA;Nqg#=P?L+ET zw>pBR-9*sbftQE#%5ao3g}Kp|pa)Jox|&jHsZ^mfm{HWlqa9&{;uvAa=osa_49`O9 z@rYSVcVr~&zl;(J44fyBF#dtH1zq6E>mlJ4NO&a@UWtTe<_l(LqAzQcl*M}}tV4?=+V3NStQjbh#8bO~vHd7;2yP4C=WFVDznZ+$(wiq%7 zfqI}hi?*4Ox!l`yt%&e;j=)Jzp#9&E;kV zE)keNnbMHakQLL8v;>0S>=+r-b~klqxOj$yMqs+Ev7F&(!JiU`vofR>+UD0 zeJgaP@Hf{1T+_u){;v+_(f&dq&lL6#(0&Nz(*EKx_7jDDt?=c-Ww?Ucqj0tGG28QX b4X&e{$Gd^wIa~k@Ts73BumHE<4h;VU?iX1q literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/notify/NotifyMessageMapper.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/notify/NotifyMessageMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..c6bfd4d8aeb17e58a44a2f31204ab95a3d66632b GIT binary patch literal 5144 zcmeHLZFAd15Z+7E$W}vBQj!)*%QY>*DIh^x2(3eyHip5B($FLg@bMyDoGa4Fxsx*Z zmoWn~@SXp`-(c92jNhWfDwB4G(hstI((bb_&+eVpfBf~!ZvfDMRSPBvJl4v0BPOK# zlpQkHm#&EYIN-|dqydZFC=Sw)ySk$j9=QPv-Ke7vLRZF#*z35DvafZnHEZ#8)^2lU z!6bnT8Cu9>%iY+0%Kd~uWyKGL6v--qGqt510+VZK$AT(>nZERwO2w)I=g9P*Po&~H z4i9-i{WxlikR>9Pw5{UZkVpDHwX56voF<(%rv|_==A7Id^_fH$=`N@LfH<_7P@$=i zfl%mC*uh78Tyg26g*_EVxIRenSwI~>WLncb5pw+^tppqm8wc9V{}D4v7kue-32`z) zoSYCRC&WQQoQx1BCuD&JG1t_D9L%A|i1l!!@dh1uHrOHQ+{VGqIA1&#?FQ^|%2nq(mF-BU8|#o$g_*Id z|3#S>!QpzRG>frpjj5%kOn8f{F;cI}Ve}xht7~x>;)!5R)05lP8_z-sk#a@0G*|Qb6VX_#lrZb=OKfim@z@_&@O8QTI$4*1c|}jb`DSf2UcL3IgZTc7R8e*)%pe3kY1RdHu8Zh$qdA zt-ioY?&@lh;B0L)4%EJp6K}H50%P@I=ZWU389b1I`LT_oG66cOI*<#ag!#KOMx;30 zn}g=p;#3yfzcdQIl!rpV-ilM@^RIC1CUAMEZ1eFZn^y_k9%zqz-miNDqfN1QS2och zd|7D9L!kwB%LDUbl>MiGby)Fo3mE)dQ~I&gmzAEm%SO{T3!L zy)LxIy~5C}rwHI5E%;9lfQ5U^S(w7Lg{xcLyY{b8`C-=n8K!^7yAyB$KaC9F^?G*4 z{F;S}`0R~rJ(uadO+YuL?&wQ$gBe9RzSH{d8t5ExzT>gd#5u&10= zOEe2*od~27PqMfzOpBpd5||7$XVE4zvRHSG4J#rPhNZj^VglC&p#}T7Xx3ngz@=Y{ zGio#Hd%7(xfmZPEXH1iTTP0sK7J=(?`||wWZ_W8&ufx%;z9Bn`rI|sm=I?ne?!#VQ zYu+mo*wC5b;t|dW0%!VZsQ`VFDI@;f=eZ@lztlo&3Yg6R_LG@L=dvnAq8nZdzG#|I#d kz_}9Rd>88iT*P&eF~#R4yZ~=m6;fjIBme*a literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/oauth2/OAuth2AccessTokenMapper.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/oauth2/OAuth2AccessTokenMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..5c4fdcd8400f03df121fdb8e69053244ad883efe GIT binary patch literal 3503 zcmdT{TXP#V6g~<~)^N1AXRae@W2d=KT`hS-;P< z2j>V}%n=hNyTMN9DUU3H%4U=ZDeOZ6uhrKN2%P&8d3jJJuyjKGmDWmE;5_ku+LxLe zl^pY!Mk?)#gjt~^?Q7LZcxoQdTD9Hd)DHTbIso6X^9yz~Vp1wgJDmOv;?tI;!cZY& zp;4k_fJcX1a~UCrL#A~=@B~ZI)?ln_Ah2Er8kRVvLE!psCf&Q+lE=abL~gn|pLYg^z=d%9L2Fdt3V~by z+(%#=fvt$`3B3L!d?_6fihZ?E+y&6qV3!|aQ_{NN~+`)EjuPLE!utmIoga@P_Jn;A5yc4L$hS%}{p_?h;s;kav5>gL@bo z69*%Id2k=yd*U(=K7X$5E|QbL;$vY9mSJacvp@j5Z~O}YFpudy4-2^VaJ4bqt^Ep> zAC_xB!{YC_I|mo>*Ud; ftoA}}YC?fafn5ppsTUyyLe-O&Ml^xaN1xZZGu^cp+Z%QN zvP!MgzW0x+I`(eGU321EDdM3IyX%kfZ$5tGnf>F>Uw#9CeMll$BJjc*o)k=~sT0}IBGaHy1@C{3imP^^PE{rk7X|Ght!e@RO}5X8UK-u1>NQq$QgqH1b(*q}OTF$BX4_nTy+Cp%{r3;fR61qFC}S@wVe0Qq zxLF_CnqGIYe`hC?N{iWa>e@~dv)G(z=~S!n0>GhiVl2!8sY7SvLa6@{T|MZ)g*CVc z>jYMJ+nT-APv2GPCL#l0#n)4*#J5#366T0uVJ5JdYR>Xk%t$|P7gwt?V-9z(^wWRP zIM^9>V2i-5_ZNJu_t-PsL|Oue>6y2!0fD|1ITlKvh)?R5R+wS7r!qe{!XAUer@0i$ z4Ko5e{nV$|AZ;^fFef;v2SV8Hp&TpbDudqd{@ZiAr=s*2p?Zh9GF*I(eTl%enK(9; zEfjPDkEYCN8sZ?Gs%rDWuYXr5CkruDC(=r!ZqK*S&~!26owU(_R%{Iw*UF-I7>#eF zFwF2t9l>n^=clwpaECzD1}K7i$exc#1Ur6&(Tm_d=Ff~5`v(y`ocVodQjNgcb7?JJ zLr;ZWC4hes_!|TG?!XGH;yl9H7wu~ASLpn(+4~vRe#g}%*ub}!0emin6+ha9%k8-@ z@!S%wH|MU*Id>tPTMHOHxC$QytZVQwp8F&qUJn*{q~-S_ZOuVifg1ti(-!L{e1>yx YF~#pKd;ns6Hc-bld=7V^AAEiA7u&uHMgRZ+ literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/oauth2/OAuth2ClientMapper.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/oauth2/OAuth2ClientMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..f13e22b522cb931f6d5d7ad22da0cda5004b81d3 GIT binary patch literal 2301 zcmd5-TTc`*6h1{{c1Hw6@qVdz11~etn3%YP1Vtms;36REW4BXwt26D=c8L44d@|8Q z-~Ca>Gc&7^M6R)%{q4S2$=rJFJlb}ysE0t4p>bQyoe+Ja7V74-QC3O<68kD%luKt6(kkD%mZ zn#NjKnjbx7j(4a-gv9GEp10~1IS+Eqg95idjZq>Z)2=p-ay05XYqFKEdi_Kk>SCH#fVY3AB{HbuO@&CwcRk@6?wXs_! z5ldS!dy)y$duEFJ{7(;BO=%!1etnNrs;I6xBUSrvq4#~L!NE}&gK+{QbNya7H52W0 zw=z&8?|$QvRN`@#wuD({*w6?}Mw+u^gBh92{YBr31TSw+AAw6VQ5BtUoHk~ooeF9Y zsISSkVlFdibLV$#=Dzd0*lf%7Y{A&ZT}N61tI@w6BzTaC^7Qw5<$zg= z30xe6=a1`eS(TFN{d;l&4POWCj$y6+EBW6f9LBvPg*;W*-$wf(luP@g1MCkM_M?R_ACAL`!skgig)4am ryL&h}z{7qxU1V{lpUqh~hjN}V#qW810IuURhHKMs5iY|FW_tAtqLsjO literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/oauth2/OAuth2CodeMapper.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/oauth2/OAuth2CodeMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..e070aacb021ac8dbf4ad837a56c6321c5ed1567f GIT binary patch literal 1607 zcmcgs-EY${5I>h~ZL`A0pnQ!FuY73mkVuFpI!)Rbh)Law=$PQqb-dOiu`}D5$X|v8 z61?;8@Q%17MeRfdnwWTS9NTyIySv}ref#n03jl1vgDO-A>{`Qvm`N2JvSSu-6-do> zC`^#0A=5#u!!#0s&8!n~5V9zUGkX*Tnx$^|IOuNV+cQ+yVM!uP6=n!57N#Pm20^!f zD7Yg~TjP;b(ybFXxB76Oz)Y@Fg*t(SvGj9ew5h>7seFHsB4}>F&*A(Mj&i1ycC;_(FC#wPc2rs_RVWR56lM5yAdFBP5e|%w z@qCoxTS$E#F>C38jD-E4D4{^$+<}Dg_iP|&iz|P`hF`GZmu&bY8$Pn(7i{^|&ZH!SrsUO`3Z7b9k=e>Cx!c`wX>rOWsFl zd@W=a@tey4u8YM@{SMRl-7UGc&8KGI8+%edtUt=X~e%eC^k--#&f@fOWWCfiVI**6<){CvZB4 zjG5{L&DO5qjzD#l$5KhRM&QKq?HvN+PcT>oY6PYate+aAO%+a(@w=}SBI|fxM3n2K zCu8QMR$hUJK7TT2Z&D_j!H|Vilo7e;yy05 zg%OHlgtpNMj^CxY7Ezza%v#!(v9SL#N+d9FmOzj3J=PI)i7S7=il4LM7p(XND?YN~ z=dAbzD@!!e!qRN(33I$l9ac!Z@8N!jQIUB+W8Tl}_O~&LipZp=jiX$Z)cQYIXw&f- zmJRoNn0v2QoXwIY>NI8fA@XXEnH7cMn-P|W5C3{|gv*vQQguccg)C`B>}4uU|Fy}l z(=lXn#N?4gp_p=wj?$*As>7u_BIdBmkqUA|T+f3loT|eVOcR(~9q7#5a(JLDMYxqr zd8R|D#EUd(3A4>mObE<`nzML^8JUd-le3YCg%gka!y-qZ6tz)>IRcA+)-04Pls(s# zmcX0vc;t75z^ui*x%)luJ7v`f%L0SwkuHkBVerp)A8Wy0~oogtrm6iBV zDfe6o!wm2CD{zg#$sw=`+`!@-PHw$ffm^@4S;bi)P~VW&;;r4rH^xp9z^4lzP{3~$ zCSVfB6&&3e%zB@o`gX?q0QE08I|irmo7n)iGx8hz_p9d^ z9-M>oIo1WZh<=x_pP|p=Kg(h?+Dr-B1YAbnF<5{r`Ty!qT#DmGYyivHJQ#;1xQ-d$ F{0>c&hz0-v literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/package-info.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/package-info.class new file mode 100644 index 0000000000000000000000000000000000000000..107a30abcc68b1fbda596ef1c580d7c0e8b48046 GIT binary patch literal 160 zcmYk0I}XAy5CxyZClVDj+yeFxAX*Aeu-HrF;19$xlCMU=0XP&Qq2d)&%}DS4dAI)!K4G(sH2gNN;VwHN0XgUDybJwh8_8m?v8G(uiVJShD)q5RapLd m$DyI)xfR_jEKV_ZS`OBU!s@@+j`A8%m<(UWDa-~|n12Cp(=H7F literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/MenuMapper.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/MenuMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..7265f13507b0db7018ca9eb507802d3c50be7a71 GIT binary patch literal 2937 zcmc&$T~j1A6urTPo|$C{cgF|iA!fHuX!|H;lkC}8BvUVp!(oNaF z%qp$YcmIa}!}6xnz~D9mrK~gOAP`%_ql`%vJ!Qu% z;wqAw>qMBSEE1-pOeaMuB3s&AWKqJ>C@bwz8V!ZXq_tA3Xj`aan+3ANZj#AAzEMV4ogRyXa-9uj z%5tmLAAd*#FW>BG9mNV959nY#`_=S7EJ1SZNV@EkdtFh+2e| z7U7u|t2EKVQWt*4a(+m2%#!$Vh%t{cqvoO0Jgjo}Pwe>2$ZV)hPPuBx`Tu~>W)Lz= zAIAJ_4V?3*io3{V+6eT;+^|G*O<7fSo%RN^!UMm%1nItyM~|-q6l*oOgl9K5@>0-+ z9(CGdmabs^3XpLIq{U)-=Ib5J`h~my4vLZMi8$K7EblSP`U(5G5T^XrREOB}m2-TC zuPFh~tq4Z5{4b4kpar+4VFqRiOs&`5VWAtJ^#gC9=laELES1+BI&@ZN9gLXCt#V5atc&4)ms56b}V5x6-*9>9B83oh3IgzgRND}WEMn!Wb{d_>@udq34Cfcxj}N4~-d zOmDlZlp5^eea21^z-tm-(Ez6K8=1r>fdEJM>eL3A|X% zxVL$Dsor-V_c=bl@8yPlGu6In#3Kq8VX5MJ1zsItm>A12-^g$q?x26mxN`ztt734z zjAvSGWO^OmIAx+&WLj=yT7lIoM@1VLCgII0p1XBiZ^7F*b{f5d|6Tk6e1g9@^l}Z} Nh4&$X4>9VG{{la_Tr&Uw literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/RoleMapper.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/RoleMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..868358f0d9330ed2d56096f79f6c4c935c78abcd GIT binary patch literal 3053 zcmdT`ZEqYk5FUpnd$&zV2?=j$shbvh;boWiw~H!~21KN7Qj!qhqi@%_xb@l_+Z)*b z!2dx43BL2A5aZp8?v7q_B}7Pk*yL=FpP6}{u|0qM`O9wrunC_AFhd}*CXI6@RQ!;g zusBt*(5cS2iK{YWI?i=gN*>$FI-bWFlW|_zV;L9RKa+tK|vLXsYu< zNaoNJEsX9-p4-o8*xoT2eLM@_N zi)g6DD$O*v)Tf^_mmX1vEb$);%y|?UHIKaJQO(_X{4~snywJwcR88Rge`=vkKVm2W z^7eQgjpgJmZDEA!9~zePAGCQiZA(pe>4f}uhRtD{fI*$6tUeWCdxP1*sr+t=r9Z!$ zJ5!7vU`g(BTS}DsvGXjlQGy5Zhi2KEq9XP!_~;s^$*)ZA{5^)^By<*J_!PgiB6e3U`F`yU^2Aa2k(yn zf$N=Q>^yYWlHqCV5@_#(E5Hc{2Atd$JrUUihsQg;P+fT<9{u}^SHKD zkC*HHAK?BO95?%4n6Q7b-alVsh42!*Tw}fhD>&mLn2xYA5#icDK)5jx;X1sE(Kp%L z0E)2$o~E1r$5RD%YXa;ntm57oxHSO24X@$YQ~5gnzk?sZC-^Nv8#+k;TM)rJ@Lo;B GM}GnQbCbXT literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/RoleMenuMapper.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/RoleMenuMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..a2fbc7a529c07dd84591178cbf3d16d1a997f162 GIT binary patch literal 3284 zcmd5;-*X!^5MHHi&c24ExJ`jJ1vM0K0=?r$pKvBKZ3ENHTu7UQ0*|szaa8UkSJGwh zU&ai~z&n2w!|KkCFO7-QHUoV)+miOa-Tl6mcmMkPw?6=21MUSdL*TJBJkFU^@iTVF zVyr1Dpe{CMwAWk zXkQqiIC|JOI>+_%0?$$!@r+qZ_hlyRf9WL^=-3C)XZ&Z@6LguYXsAb2>Je3XM3o*9 z>JgQCL}NXcX{v>#KK-0Ien1_vB!1~*&UIweJ@UFoC3mmlr(#CteQg}&Y69mkYk?Y^ z6z&*^Hob@;JDAcG%QCIP$?WwEtD>HOL7k?otiG`MfLT!){y4>QbXPXErx+&EBB>{; zxbF4rSX%X72P*ATYZ&?4*nBWZXM?!67gD^|S4%d>g z)}8fE1KuHU`}DqzZ5vy^JCK&ZPIBJE2S$6Xos4hMIEmHz_F9$U`tbOLG?1)1FMhP~ zyey?imJ@Zd?yIyq#bi*5lD1>sQHon9_s8z>yj6!C`D%`6e$ikgQn;%N!^O8ap%Az_ zQlaWWWk)A)w^ka}RMbgojp{_wH+KrYa|soGQ7B{xKu*d@V5^YA|Z)_8o+wxPT>h0lJ zXJ-lEw20FxK!D|c31)E};A(Za8~zTBpIYIsF!v|!&cGG?^frLc+vSe`)q<;dcCB15 zmha!g_h)cjy?=ee`}5`db0t;?@4|Z}W(#f{A>BM9Qfng8(ksMteIn8=c>gG-4~}B; zto?g-Hzp!cxQ+RGey8(8Cn7Ar1j3yO2$$eP^gaW3hH8BTALH69`U!rw@d5Y>pLyI{ NfluKs#P9`N_y^K(!5jbp literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/UserRoleMapper.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/UserRoleMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..49fbd799ceba036e5a9922473f5c33d219a79388 GIT binary patch literal 3071 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/social/SocialUserMapper.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/social/SocialUserMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..d1aa03d5965daf707f2fd2519262312a97d873fb GIT binary patch literal 2842 zcmd5;-EZ7P5T6ZceCMVlBn_07k8MiJr3D)VPh6;!5)hHxUg@Q2`?$B>T(;P|&h9$m z{xT$x;GI7TFzLBegArDg?Y$|LYM#+39NdkjHzMV z8@v?U5om4mOe*Q_6L_PubwFV88&ncNo50G1`&(nQX~AW(bmyru!s_fqq?GHtkQsAQ zD_R&m$V6_xqG5agNKiK_1g!v~N?lZ|qns(F9UTbzH%LVH9F>+zl}dvaWh4A_D2z}X zH5?k9G86W7YDonut_&y`|B(#^-Q+47XCw02i0W)abv7c*M&z>* z)!EpjsTP)2uIJ40BkC|h;->=rZK7hvqblQ(kK2FMQAb4Pg*J|IH6_;nOAc*@5yQY@ zM9x-6*siO0$|veHWxmY9_5)@`&G>u<=cFxmd-G%6Q%($pnFZ*KRKvM2oi_JWFT(Z= zH!sf6jQ%{mzp!JEu|J;(TV~h;XD*wj)iXjgowY_kKA2TI3Cjm5`=JzO^vwAC_w^O# z#gjV+gb-SAWf|Ut6#`4!;{mhLNhTwu@4KN}jhvN4D)Fey2g2+#oFW9)63tn5z>KWU zW8!ryGQ2S#jP`N1?5MOFR6DBgm_v!LJIS~XyJwZ0rEDe5{C8WhLEz^3qYWn;PDghn zErG|$e5Z4lz{V@y^$MY6O5omkj=karfv`rY>Xg8(PQ%O7((P^~lO{pM?YQXS0@y;sCxHmy z9)abF?Yq4IJ|(a|p_~RVfcPJ)R9(p^{ZLwqH+)r|c8LIPRJhLpEMhNQf+ai$c)B~L zhQC7V#aj3?EdP$w1z5%3iU;s{%Tua^qr&cJCe>HfBy0t0Bpj#15*UP(JJ&4CZzw2 z9Wg(YzDUC~;>ypnh^2m#Mp?{#oomArKVq?;v2K?u2hI_gD`8?L zJN|b284nGC+FBS3Da<;7R~jpO1kT+@2M*K;%=WFnQYuw7xImnro=C-Y8Xxh9hH26j zF*72Sw5!r~%oBZ&y7k=yPEFqBv;go5cb;`eLndWvXq(ex5RbMD6`Bee355~GIS%b} z#bt;d_Enl-`!K_?hIZFb_x3;zA8x zoq>xmOJI7fcXcl`g8pS~GpAWx=Cgs2{9%@~x!PrTKNFY_(vZb_Oo^i1>vT1b@h&P3 z6#_RJf%SiK#xz%g{wdZZP~Q<9$xNoudUdq*S`TY;ySd)1!D|F=jxHdue!v>U90*My z2+pql!LVoSDmU_nEWyZ^syOS1OW?A#FVb)$f6Cih7@W3PIjt~47q|a*@DvdQu3GH- zX(kc;k*zCQ5rK=1pvYFFy!;SY7>uIY(E7%}j%Q-WkiYpslpTZOA-|UzK`$Q*cNXRP zaNiJ+yOU-r?!`{;WCb0DccL>{JS`R3fp%6)r$FZ<@}iv z%Z1nBjS_Pau3=9R!FYtlN`yDz`bjKH6Cy2DBHaKwaV)ng5pKfrNi4S}jO9)x(p&KM y3DWHekya~^&cmHjrAAM!6;#?Px{BX-@d5Y(pDR#@_rQk_;3N1LK84Rw&*oos@)!UB literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/tenant/TenantPackageMapper.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/tenant/TenantPackageMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..c0878ddfe90e09f047f8b39f7544fedb1e66330b GIT binary patch literal 2765 zcmd5;-)|H*5FV#V_Hv{RTpJn+EhYte;m2+ZytEe~HBAwb76M$FwvRrqb204N7uy?k z|1zXjqHjF#M^&BmUX$Bq)dUe$JZvtu$20SN-`L|ffBpUn0M_AN08<2>TEnA^NfkY3 z`z+!rlA7y8n5f7TrlU+Jc`71XSSPY5VQG{Vb}x;bP)xaK%l|xK`~@3|M{G0_CV*)I zXT7(SsbRD^crLgj&|2lGRMOoi@IiNFo51uB7$<-^0t<)MKN_P=3(k<4*FPyEtWNhu zLb=XHGG$I`MMp*tQjyv3XnSsJS5Q}s1T7teWw@{kM>$hUJ30{bA15K*a8z0$ zloq(OBaBcSBkUNR;dn2{wSM_1KZ2Z|jU97dF8ks@WCNH4(z$TXVbd}jqP7H;4 zXSGj4)nxtjosnwz?qS=|f)D56BUm6XyE<+Fi{1F}%C92z%9gMYOC=uX*+7^rhPOO{ zPOLdgx0#XUcs$v*BE=i6tWyHlyK$`u4yw1e5+9zH9)Y>O94h8=gPXoR(Wce9=k?9r z{ay<`C2-}xdlR-MY;SH?S_1v})H^I<=~N7q)wWjj9iqZe=eqH@S`d1j{pSQimM2SadAU&tt?{F%_u#_| zU>Z-v49wyyeg+p0JY71Wr=>B7<2Ii-*#xb&6EwZ7A$5s z5fv?OxA~L>i3OF7AmV~2n-;uMTRX5|_5oV3p=!ZGU;Cj_QdQu*Rb6-@6w@*~VIc`* z+~yHYxD=$VWHVy1zDu0y{t+Wdr_G1~aE&=PH%9_0giJ`2ky8+tG!nu!;UeS;J&HQ` z>5wTV0<>_bWQ^Yw4RJbM;t0a_66LavGCczO&Fh1<(HlDVKiOF_NvfV6dXS0w;gU4;D5)z1#IKPw{ zQng%)LB)6sGh@KxEGB8fqvuo1YoP>#B$CjKv`%%4YL+YhI7YKqW81q^)7(oG7p>=l zbE=a&_J1_@9oFDurqc+yKGaZ(nVdWfrcvgw#|Ptb`9MYy)~@M#qs{wrY$B(L<Axucjw9U5|J~<$dSsfYrvA%pP4%=5k+2q1V`^b^DLU1ux-`wI8soSF z6}T`D7h%DIxsC25wNmr@vs2E7x|yvOd@k6dG;T7rPjOtbV9A#OjSi^dX5AGoYGxYD zR>yQDL1WarS%&Bre5+Sr1=U7RXE>bUfR`L`ZNZK|#p$wc!G%+&AL0-bS#a@my(61A zuvy^b0@GzJxKr~7T5jF%=WO78&F^=6v{K#UEkTo1A;$g)j1Av3-}+_|t0yaBZVUu* z6HP4Vei}kx4Jtn^IlsXCA1IxHMf^27fX}5& zV&0bEa(CZt+&6>reBW}(zQt_ce1_q`6?iqnx_SnLW6yX|NN8fK`r+Ph$ zf;r9X$kW^?MS26?>>-gJ(&)I{Dn+^pt39N*CPZ2$^BNk~e$ia;SPU_-cvz|3~zPCVW0X4c+7pEO!oNtD{sBH5+; z%b0-~c;`nk9C?$*L;JuJ!vhb#eA3Z5`i{;Fiw(qIH2{4i%t8m;lcV;m_k}BwW9U9dPkjMcbp#3UO$cosSmGs(9x_a&nVBO zP?(1G+F*xvd%Y-0XgYil4SaabgU#A*hceEEwY1cagxbB0Bv%H*G`|0krqSV1zndc8 zH*rwuQl88x9>z3hB~tGkcH_QtI~=>nZ{r9aXYTyz%0*tT4X(Vr>j*oGhL7YBxAZj5 z`{=_KxR<9vHoyO&OOx@vq&JH1MGe!tNZ_X@jM{2qxsemmSmf^^c_qv5Jh;An=NJ#G zhlSOG5NTYUePoO_K78U`KOZY2tj-^cjBs5{B@)Celc~{@ToiVfw3pH|LCV=w5a%Fp zg%->Ujc}$gH)JBnrIUcfC6Sg$l}UrOn9p$PL|_$hjBsLff%wM?=Q0xToLNgwWG?K# z86^`K*ll3S_#<{I$QD<@g#v?Gfx%pX!CZj>Dln)OxJ5E8EODF*R`N4aVrs;bDH3hE zLwN^I-a(zPf9!mo16fS9DG684$!>dTuG;5Jkx~;@AJhLv;y;;!HU#i#2R?((Jy_hk z5b4JDvn|=lcBLH=&5Hu=US zF)tz4#9T*JrzuL?E_#3+1MjE~+=3Ti5m5`#HSiI)8~8=U%MJVz;u{UTig>+&Uq-yy zz&8=!YT#E9z23lYAbzWX3F55=eh2aG27V9mb_3tRo%`?se2CwVkip%W6+rt}2p+C| h{4?zQUi10_-;O2V^JP8a*nU<2eGPl~UBH>$zW_rkG3)>U literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/redis/oauth2/OAuth2AccessTokenRedisDAO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/dal/redis/oauth2/OAuth2AccessTokenRedisDAO.class new file mode 100644 index 0000000000000000000000000000000000000000..674453ba86e226d8671729246e73f98578a56d6e GIT binary patch literal 4848 zcmds5ZBtw|6g~m$zKEq#tJP{vLF-cOy^7U3(&@|&;E3IJXJEnUr%t#xEP;EIHOWQ! zGyV-{bky(u0soET$-PULoekYxpsnKv$mZtcIWIZq$;)5={Q3s~tiV?#m>}@I(NUN( zA;Ud(z`{s|LPaX(Iy}r`rovRkS;9keXe>{|m?fd+u`r=xncZCsn|0UJqlg>RQu|!4 zyU~?;vjkHFF6EdBlkKp%y~iU<;Igq=$aXH);%O&gmJ_(r*ckl0MBv(bCap;MnmiCj zY$v=frLxQlB@KaUW1Sn7>4>A~g?mB@d!N8$ZDEVR)G|6zg4YPl^o&^5TIn*(kn-P~ zQsdm@fX6gaX-A+P2ueFzp_bHqO{I!ZoEJgi1&x?9gKl$r1QO6SONF6A z#zLc`$srEyaLr|e8g{fwvHwGcV=)b)gc(D3M8eIB)Dm-4>^z#f%DEMg@7?#??_oM5G<1 zEsdln)-ORq>2_c`E^&7>OZksV?+-KV6jS!tKGT*BL(aqMs^WYFGb@sj5YJWcgcV-r z9c6@7`p{z%wTiO5G^>?0q!1AaOHJ0{8f#f1!DJE6q(!mT7F=CsGUhu%x?02${LQii z)2k;P(1)3^ZUm($lP<3d;A2A7$`RoVvC6|{LuL#R=}L3Rj6%nG2z_Ui+{D#49rUk>T<23PlcKmbO$5DNv zjczkLvTr1zzFm6AjAfN1xDmKbbZ~n-Ua=$PZ9`x&o&!$Ls`E_nkz6>NP_@#mZ??W& zd{SRtUftMu(rP|feRN_(o@QSars4HzsK6{9s%nki(WkIx$sLVm8c1=EvUHp4mP=Uz zvv~<@byK+eamwxrJY+p?Jf{;Pp4leb9FK$xK06y8N?0nxJA}{?j&7dGC&q5}oF7VVuGm+ZT+hadEv`^9FHYs|?o(5ic){eT4h}r)9jG#601am*ED1pGS!M*{EZX zY{y79yj2y(ItE6rs5N>NnzKh`L$oEcnMU52KR$YIkZtbcj52&g$i)$y?&%p)U?WB6 zKfQqvsNgXa?@$l;A%UA-{u`j~GJH(n_Ynd)Qhd%PbjsZclWQZtuYZGgUjo+$s4Y)a zd_Bmojs&Lhf`4=mSSrD%IKP)AC0NAggaL>Ze0sQp1BHWqnO}l0``#o95mfU~7=w4a z7M_m`+yEp{d?6t)0k6OXY)ja4ZMoZ4po+a$v3Cb03AWYWVEXaw#b4mkpV*s#%Uwx_ z@&^8%E~MZJyoo&mZ^2dke}piB-wK4cJqXvm2-o0UFT#5sgn2K*`!MT8pdN(VUW7TA zM_)fc>nGqtk2g0xNQ)k%GSpz9Ys;;^h~Dxb+|3bO%qHQJT=(s#D->Y=F8)+vzH{cA^WXn}{|f*Ec+`Oz0s~XM}1gR{pznckDCp|Vi>Y=+U+F!taAfzwT<+N%(z%&_I9XcQ&=KYHVFI86GJ z0am?4;C$n2a+C0Vrj*DMH)X8l{Nr%6G3>=*L*aV@7g_;0_-V$hXqYUzh$tKnj>dA8 zz`2&c5h^{J&$9F04Ey2wc6bzUoxn;fpb%Wh1924NJ>{8H(mo^b&DyPP0<(SO+JRd* z;NwdSi$WJ3+#xe>wiLFnvjdS*yq>8L#WPuDG#hDw!6Q>x(C_Fp|dL#&b*4%n`tMg)6uVD{unl z5OomEfQPu-!rvl3*}~r;UTWb}h)=ih8N}yW_&nm37QTq+atmKU{6h;<#H%fQ4Vigx y18(B)kI3+L#Tt4418XmqZ~p~9y{&lP!*ACG;OBmI;=1{{`u6}H;_ob4et8E^gw}Te literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.class new file mode 100644 index 0000000000000000000000000000000000000000..04664d8664625e9a20a9b35c7a5b5303b563dc58 GIT binary patch literal 8519 zcmeI1S##V(5P(Mz;>0BJ?brz+$^nExb|Ks(gvip^J49D>I5wA%ca>zru4Gp0fVr>V z!e5{Ys^Fa;MbR_rl}Ex!<%!~9AMDTDJ=4?E)6+Av{_F4G{vd=H7AytbuVcT6>>rggH~iZYs`*TG$YbIYEV01n&~U#NwYL`MIlR4)6l10 zWH4V_F{z=DQ<6&8+(2(>k?t5YqMqk?3RxEVpv61`$FiLuT46TyT@*UYSz#uPxR`D* zKY-Cyq44M$e1y^VvpZ)|JB)12qLC50CeyWmf<+;9H4i3Iu{a|u(6y<;gf#BFkQ81- zdW)F`7*fbdxik0EU|!^S5f?)QgjRPf*RjR0HJ_$Dr#8L0LQ-p2NJZ?V8J!nxbhUy8*D117|qpu|CR$8unLxV))Yo$caI4px)Z{} zS=t69j%=0LEQm%{V3~z(pTsE?W#a6m>6}4b$cS3V7lgE$Eaf!qqFEbW?oW>{E~8Uaj#cPlLJwV0;#E0HeFqegD(p+qV>9FhLsIG4bC&Ys0J99 zMc?9MX|_$xiupNNflCdwN|sjLJkC|Haa@ycA~{SaE1G(2g$HFn&1IwFcDmAyE40vn zOx0UdzrpM^C>;-I!8Zbw;D2eQd=N^X+D5cbqMzeEWo79eWV2>P7V{yGpDJ6GYI)YP zTrDOm4Le;5>4wYTOi;+tQUv=BK3^(7(+!qc%1j-5({zxePDH$C|{c>Upx{cy$CJ+?yk_6-)g*B-T_MSY(~75iO# zct1ELAZ_48ci>9mx0vg~K8l#V>WmCre-r}{KeoCFVX;@4XGI>>DO)dn7_9<^RNfQw zRqLV6ZicWpOAcSG%h7&4s;bf1xlk3C8PcfAxmm|!@53%y^Y~s6MOXHyHnguhaOykj z6fRfitF~aX!iI%oAoQ3hZC|Hp4mi6mEQQ=PK@Lr?E}p1U6w%dzg<_&Q@Af z#@cIiveL*8c%j|XE{+`GwLqTZtgIMq^yA{*q3Ok?KyH4nqVcGx=Vgf-t-z9KRf=T; z%T-meA@K5fO6ZD8H99NgqFVGVYA?SS$#ze`2cCEP4*GOmSwCk^V}l2eedubt*G;>_ zYYKV%!t?72Il!;_6XZTzsrGL8;_7~ge4$ML5~hPB&wBThj@r)p+udF~>}ILDJ;=6t zNk4yEoje@eP1ND;cA|0v4gN%E6i)=T9j9qFRJRg!WTc_8q1w&WZrbS%;1$u^1=a0j zkfd!G;r1Zw!{^U-K-Wg{eX$^XkyItdKS9oUZBpT>6*^=vzB;KQjQ9!`zo z;nXM|P7U#JI;(cFBv<)-`|+@SR~tRaH+NQR5Kcl+DfV5qj! zeWE&fxO{Bwqg98Q8jBSgx07>m92eO7<9z9i^I)6@;(#01$#Fg47oBk)jPqce2gQE@ z#`lA9J>XBoaUP8G;QyNklVpc{d4zmLzE;S=tM~=S!Uc2hD-C}*=%#nB@UJ|k%x;?4 zJN>O>5XA5;hC*h|tR45(<3X2yM&YEN?F`zy)oJP(dXOVNr zdE^3e5qTWBgj`0RK%PWCg*=6P8hIM2BF`YtBF`buBcDM&i+m1w0r@=gBJu^~i^xmJ z2C|8K3HdVeGV&GVtH{@ouOr_;zKMJb`8M(j@+$HjWAxq{S@29hFIk!#2n zk|Ezi-awj23uz-Aq>H?X^pHL>K!(V5 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/LogRecordConstants.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/LogRecordConstants.class new file mode 100644 index 0000000000000000000000000000000000000000..60c4d9782aadd0a1932624083cbb44f6d18d011f GIT binary patch literal 2624 zcmeH}-)|IE6vxkn+TAY2)+!<(dTmh(>Wqp%*IF#QQ*E-?W@lT|r{;F%whYYNyUfgj zP16JugZQ99LP(Go9!%g#i7~;nQQ!SH=nwcOjAwrA>@8g^e*h1=v!8pd+>oBR4g!)8+Vq}_129xMbQ_jE2AUZ7Xx ze3e_$w@Xq4AroPcgAM|{u?Lrld3}8LG`B(=GN;X&adKwTG^#VT=?Q~CU!`SchQ1@_ zKPIrd>1m3&4W5TC97hi_pje8d^FD?!=0`6vRY$gBM9)cDfULkX3Qim|B_FT|y|`QZA` zZ4=7u(}WJhrHIV8O^CoDwW#URCPqy2%kgSi*^QTQn;(4p{l=faBq^-@dU50C*8~Rs z|MfJZR|wc^cedG&pG_eruIGw%Ve+!0#>P&1ihnc~_eli8=qydRe!RotVKA&?)kTt_(JFoB(e zN2UmLl&~}902@Y6tBDxCFa11xLUxKt;qySc=eSKR>D3*Vg^m=o?#o%1dqI&Fx@xC5 z4HxR1Mh>*7S!qeLq81ZEhIE$GrW1{hh13bCBW%aVe&#OV)ExJ@urR`$FFoY54V<&7 zX1S;>I_J1NNTS#rhoY%Ev(B)2PWvsPrOj1~o2!;IS1oC-THIXwsV#Xxqf9&&TBm4; z3G=V&7+!USU0aK~wiYkru^bn=l6Ko>p){0~#btS7#GjPlF-uT@A{_6APho^W=TLf3 z_Y7|Re~*rCPsI`Zi-tGL{Tjp57+nOU#oQ_8I}xXY1yeSBi;v^$YQS^BD z9An3zvD@u$G1%Bc~W#YIkN{ z-*{3eCo}A+iL`Qb!T;D75+@Q73gi%tBEMZ=ph_pZkEB#bwLwywO zph6=YCiJnfNlZ22V+J3+0@*S~n!ilq7rlnDy8%l2Cd5Q8C~}E4}_6^U%za)v80IHo`cdmiD&0v32w8-KWE@}e~cxC z+>;#o# zOpM#qX&5ZmcPg0u;4=g literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/logger/LoginLogTypeEnum.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/logger/LoginLogTypeEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..a4a2e54fbd0524f3ca1fe8769486bf8ea5e059b2 GIT binary patch literal 2516 zcmeHJZExE)5I&|(9INRI(qvoLH#U8<+fKrOeQJxLUh1YEtm=WZ!bbYJ#?IvsU+HhoB7t;8Snx4Z4|Snc(H=!Upiqx#w# z5IBwR{k`F4cpjTGlLH#4YGb%khE;T_1Dnu7^vTt-1M2&vR)-%DZwZ zj2I=nEv2%|3MCDJ%i&um4Du|~+?W?kOCiSwL6@g2$q{lrOjJ5jN5Kx4TrbhK7_6}}?y$DTwql}vd|Bb8<%DK@2D6S-P6S5e+5(jBaXef5tFT3uub#lS!wD~3NS%{?M{~cV z`GTwYv}>s_RLEFp%!Fiyu{hwG%Lt=)pjC?cPdR>zsUIcG70>u{%J< zq9ZoubSsj6RRR2>0{CSG@XHF|7Zt!SE5H_w6*tuJEM+#DP>bH-KWBK?c|=Th-&GjD z@Y%=Um!1%5rnIFcXZ?1PwDs6*W2RZ1M^-Ij)uM$Tq~K@Im^4d7BrG*~=5k{0Ca#P& z2L;RTBX4ZW@h6utKR~v}KJDekIu94?kxxQS)e)x*Loj(4%4?h~eNW_0I#)UzH|LN1 zeivv~`?gB58@JZ+A{EA9@|M|C*_2`WAFT-cf9SUpQH6jvP`QryQ!G+gnBNb4k=_JW z!!psZmu-Z9XBSRycBKosz&{FUp9ySzI-1Pt(87LOoum%;@V{ZM0b*WYXYZ99avj+` z{uT(F!ate%FX$98`T)^H%KY&(4>k{qy0yMG!tp+!6%@W)! YPUqpLvw+JYGeN56b99K*T*whOMQTHwZ$g8>t0hXx zL7x@F03&o82OCJdUtqygmZg;&Gm-;a2k$A!x4dPT}DBm6%C~27#!la=G<1%5xCgy ztbMsQDx?(|AIPOJVwUo*l*%$Ilr#jcM^88y7kQ4@<{PG^kaL5u7nUq7I36TQRW?&+ z!96ayW|k-TvC%{7n{a^9Jpl=|R(c2CB=GyOL^PEyc|v2AYN}uk&yhT$Yxwm7>4fXR543Wm=A^-Yszf`^$}Ipf%9DLZchd$Og0q f9O9ZSc)vWIhrd3+@rU?)gb%={_-y0s$I$r`_)PbC literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/mail/MailSendStatusEnum.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/mail/MailSendStatusEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..35d9c2a2f069b67654f0a1952dd8504fdf391efc GIT binary patch literal 1752 zcmcgsTTc@~6h2c6r7PY*R0MUz8%@k^Ong#fAPBgoKtc<~$La3Sj_l5?Gqa8T75*F( zP4wMoe~}X7@|dY0RdJs1zzmG#X~1Qk8fTsa8~D@WGHzLBbF+#MHK-D}T)-quc7v_XdmdQ= z)o?Rx6KFQiF4S`Zwbstc%4(~HyS3%8xwE}WU_4yk+$uJv$cg|73DmpXmRS-wx7fg& zx$Rt9k@8UXg%O>EFH5P=Lnvto%r_5fXysX^xiN2{5%B@?H(`6rH&BaDatPu zHKHV+hL#FLg^Yzp(Io@qZI5d%BV>9{s}#>4a(s)aA0^Bfx+fBDy!!u(5_1gf63AGz z&$^s0MA9ENn_o1WUpAXxHk)5Go9~)!fyRm(>J*VO8}+C~ZurLxD?N&b{pHN1Uoduh z^pXXUW=dOHYRg|vl4adBE7%cM=aE&Tlr+lmMA@C4vcoh>L?kRVdFB*;Bu6)g7F&g8 zAEO#J;dG2cV&#y;K1jdjcw{-_cm`)Z$4hSc`{g!1aAqJSQ@B>}IcavkwClomF? z@d;V{F$5->B}q6ht~QTH!Rwh&x~c>YU1?tn94|WR4QlX+z{MkT1&bvxxgm_f9&O`j zFiTGWhaArLv87oUgK+>{Yr}P7xYpeYQ{cgQTr21?2^Vm^h^KKpT`67xo+1*#z4sNS z-%ZVYhU?!8`?;YVpx-?1Crc~1Rp3@|oZLPEt$KiVX9OCK-eYK0xQllcSSYgdaCZ;S Q_wjpxAHX7hRgC}eH!i~q+5i9m literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/notice/NoticeTypeEnum.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/notice/NoticeTypeEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..2a7bc2cbd833c1fadd54bd015d6440229bf752d8 GIT binary patch literal 2097 zcmcgt-)|E~5S~p;93N4EK-%)FYy-5mRNbjkpGt*@f&o{KBN3B|$MxRCUUIj4-QBb5 zzpPS`=zISK-uj1B%-&hx2m`4U@vyhv_3XDZ-+VLs&wqct0)U6mX~GJFC(gkftt8lJph(CYWJ$1z&6XpYeb-x!>4 zcNX@qKP|OaIrj8aIW@{~M^ik)E2ABQ8~t|?9F#?2(YfD*)k=>Yfu5U+tR%?IerEEK zIZhsQY`wuJwfBY#9%77I^~Iksn$vJ5R*%tpv>%6x;1Ybf0bjw_l<;4aR{lPNt@a|B z-V%rRI)}tgUuhha`3UV$Q0Re9BSm&7tP1P-X2VYuW#rZpl-}EXb`IC!8@BrIDYzX@ zu%eI$lH;J!xYp>B&|=>6Tsf|Esw~Mkn^7)~(4v-e-kAh-d zM5Kz1Lvx5L&i)U6&4kJeV?D1m8}DSCG}#Ej#!@34Zp9$%{-$<+&@1 zP!kK0gdW&Fs8s#~>Be`0eoCF<5ve_m`CjRKV7NL@dQy67j*$yW!Q>=V)H+@Ho{CPs z&^m%P7hN8lXyEPnt({uxE}RUi$dz+cx^?Z$ZR#YQ71pW3We^>h(n@?pg~s6WN#`qp zGFb1|QlV~qrT;!Zw7u2S!EHs)nf6Z66TWBg#X<|G%+iaqSMw0w z6!+jqV6aNh=<0*3a1Pc0Xl{lXHenrFG_R0F1m|hqpw$|!F3^0D#!qyT(Hy;mOV2ki z{|Q@v(`p5-(l^)vow`QfjoJ#XSGYjk^~ML#8f0Cg-CTmkmY_A@7M)oEUU?VMuWxC+ RP2)BVfHsXa+Pwqcy#aq|jU)g7 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/notify/NotifyTemplateTypeEnum.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/notify/NotifyTemplateTypeEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..9496254853a07468682b00cf7f480cac5509aea6 GIT binary patch literal 2153 zcmcgtZEq7t5S~p;93N4EKuT$7S<)A5sk&1oK0$@Bf(e!!2Vs+nPu2QvY%jUnz3%Q= z_?J~`rSiRhq5py(fI53;5hF~SN)aE{>)o4uX6D&vX8(Ho`=0>t2wHVmWAN0PILd@n z(MvHCQLG}VW1XOh=0zfOl(FpE$XnT?coay*av67RH6&hkEp^vqF;;KV9GZWJ3g8NS zz6ICe3kDlMNhRF_20P7VGMym~@3)SLot{+KFR~Gup`g?~ojMlju`trF7n?OVm2@Mw zR-km>-Dm4~6TW8aZ_dE&aEc{`+>;!7?S_?hSELs5uH({jsS;^O-szm~VvGh=Ot&{S zI-~Wk1$|3+7^lKoK9(ukpz-OvBuI{Z0J(@y#02?XtinZchh=exRdI(^affAbhgEU! z@kFELUT2wb@svAa2Vdos>oOu$aOj&ySaSA%@GB-{mTTj9rP;8ZrfoB^`&4Pp6tUB* zRJH2hMd2(ERKisaEo`dGI&aJ~ zrOzN3=)%PKmWFTLFJxEYU(DQ&g<|Uy(Eix z>Trjixuw=lH_l+|u;RtPHTL0;z+j!8-}Q$#-~wy_&|LR3Y{MorXkH_W04~zJMXL>3 zU84Cijk|P`(H#5%S6*yi{S9_r(`pTF(66@xI`t*}ZdF#WTjBzB-J2gltC4ku_SFhB hwgRmNx9H3o@G`o9{@tea9*u8k05oZA(C)YJ{Xgqjqdout literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/oauth2/OAuth2ClientConstants.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/oauth2/OAuth2ClientConstants.class new file mode 100644 index 0000000000000000000000000000000000000000..90cc024d90a4797d12ed00a1486e228e57514b39 GIT binary patch literal 840 zcmb7C!EO^V5FMA0O_qeTfdVZYte#p9yAnsJkg6n=B85h%X(UdS<8=}juN`b}MZOFP zB)IcYi1BW!g6M^d$DXmD-@G?Je|`N90DX87!4`qBvpmh2)aezwW+~UHG~8surt2bO zCe2M&D3Q9g^CC}$E^?O|R`}(sbbJy*Pf4MD&uHhF_AY`Nf$b7YF}+B~vn#F^hfF^+`6LVH5L}?szCAIW#3EVq8 zni8n>kZS}F33P6;2G$zefNetFUuY|wQP(1)+~g~%n3qP=l{GUZa`&3X&B;c<-|b`Sq`GPu(jNiEKbd?xIKq2R%C z!>I85&aKZ`f!F{M> zjPSGt4cs*#h6fm1n0Z;=0*Jps`$M<$1$KUv_jYj&uL8o8G80}uEqBl0ImQ}R_I?9i CFZL<` literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/oauth2/OAuth2GrantTypeEnum.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/oauth2/OAuth2GrantTypeEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..460de2b4edfb68d32c577696a734a5efa75299e3 GIT binary patch literal 2975 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 VUz@c4ipD(}04*AGw0j>O{sqyTsoVen literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/permission/RoleCodeEnum.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/permission/RoleCodeEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..e8bab07be4571e5b38f1e5a0b49b14e99de0c4d7 GIT binary patch literal 2989 zcmd5;|8E;L6n`#hlibR>l@=JA!0QGiW85*sPa8sux-x>&fZDVOenFQzH}QIB2iq5s zzYJ+e@H;>87a^YQbWPQ3xk+f+4;RPw`~LiS@BQ`9^FILK34C6MB?8}Sl|*^WMf5D5 z#!(_7E)$tD70rq?mQgO#B4d%BX~Xh}i6Yn0gsGfs&83L;WX86Ud$Wum=M%)#FVC}!QQ)^iIJ!C_5=Z}!Nw|V!rKH^zT|?NuPz9~ zAv)jVg7u4h$kZT4&unaE5@(08;&wkjtj}#Du+eIt4=90~dxbDOXI(Mnnj>S!2F1lp z6S%d=QcNZoDE&jM1SU>n=9Z^%Ryfs}%!l$gdddV-v0>?>22etdD3vPu?JB6`YIzfLIrDA;!ZAS=Q++J3Pj|k5vQW=_vl31Ui@Hh)QS=Lb_y)A_{sz{71 zdwFGy7e3RV`T7B`n@=*Ha6`3iI@l{ty|oRr<$-x0U!iH+*I0;@9bwH)L%LgNLorv5 zA73XIQ+dp2jL96I6;-jQc(1d(N>QvrL?GCg zg-Y1hSXKyJUkscBB7sKFKXz<_8@= ztoGTNS1JSM>?8In*vxI*900_K+!{YMe8?X#30JzrYYs0Rv4owK$dd00Z+^@o$ z$afV_?;$tAHTWIYeq6u)8@%-=?v~&k{9SQ3x8PlO0=T;Y@8R9e`Q7`tS{YxQk?}!^ zjKIlQ^_t+evx~r11!;FGN&_5_KD@xTWwg=z_fd&7Qes;TTFA2mZRcx%|L)=b6a4Pu O2k-#D6+HbEqJIJRahB8o literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/permission/RoleTypeEnum.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/permission/RoleTypeEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..50c4b7c98d0cff9fcfbb967975de93892db1bd98 GIT binary patch literal 2097 zcmcgt-%lJj5FW$9aSLjILR(529Qx}{s&-YWPo;`LlqMG)iNqaLJoIDEs>2+Er`E(#CZvik z#YjZ4ilmNpf+iXliO^A|lOn~)j;+HiLRDlo%F$%fTB%iZqEqaRb3CGjI@B1fmN2PM zgXnqx5@W|;v3uU_9UU|1bZ+mkJ;FUa?e?A%Zq1Pg3>uxbayURkYxMy-?-zsRW@~DG z`=n4#X4qCEX=Ojf1EsVRj_zU^-0xg_-!1aoptZjWqof*G0$mu1v>?d!PO7uMzKR~B zLL(d|v{*YN*6Og%;NCUJkulmV!3KlBPZgo*bc6|yb(YJtJe21~lNXu&kp~UGkH^A$ z#QVtK+B?k!_je2$)xrN`G@;>EtRACtX#N{2fHnAJ1wMt(C@4QkCEX(io6Tu5ogohQ zT4%&gM=E?)WPLO}L09*5>R6;_!bm@!OxD~`QbcxUptRq{vvsxv57_)aH{iB6#F9ep zNe;a}!%Ckst`_pP6l`1fd*Af(Yr7@qw#MAttC8+Q(-N?kSW@rad)RA zNC$fdauHvN0rK5gg_G0`%hV04)D5fD4a?LGuTyuICmJpHTFZoshujfE_8jEWJN<=Qx2X*WDb(*rZGhm>*76tUB@)HQ44d!=~inUm$IjHTnYAU-Lb zuW#b(V6$7Q{X5c+Yk3_ND!~gBH!aC1#xu0|;)kt3<7Zir!zoCN0&C>Wrbn>YZ z;x#($@^lGrPR?vqg13I3*F{eup=4vQHtl#RPXCKpUQHO6Cd^A~#%7?^V2Ae10WZA^=w3Ko+<;5LGDGNE+zS`0-bb)<|m z3EF5>B*H|QNs1IBH*y}c2z8OU$kFO%ZUZH%A$Gm+gU!&vtjw7Od>E34fuy**iuJ6jv83?^Ka4FeW4X!p_A*)ce>xI`xxHVW-k zhOr(hr+O(aYi;O;GTJe?*xAp$TjaS#=Uxh{mF_!=cXTMy0vSwqQj_(}ZuAs2TH!IF zkIfY#tp#TooZJUlwbs~4m}T&8OB0$&hnR3_vRtKAP@Y>uS!C`W58CBDE=8FU?;-!; z?+q8+k8%v!b>P1^Jw@-){@E#jX_%XWb1+YwJy2TthYV&H4-()l)qQ_yn=0xkjq63$ zL%S&`-I4+$MY=7lD))PbO+Qe?;@lXNI9}SGge$D^^$}h#Pp6e8SUQ`^ey3`OoelNN2Tb3_Wz5LAO$WH$c5Y$edG&L zhkIQXR$Ug>T^80|7FJyrQkO08#GvD)ATr_QfP10_-{w^4K{#rwux#P5BJ9xMH3uro zjrF`%R=Av|%eL=Us2{v7q&MSqH16VWMfdM?9cOu}r1IPqd8zLMIhNCBv0EwjHfg~x zm6|AYf;*(#B;;#_^CfZBebR{1L$ixq5VM1yp@R0IDB$}|$sp*O!b*HX!eTH#ZZcMX zhQVZ~ritdoOy}1)bUYjDvMxo_R{Lj)#*3AMQ44M|IB{UEP`M1I)|7M9qnk7u+@m`{ zLyiV}^U*vUg$V$%tvx$gTI%>V1Y{fJc?_n=9;e*|?M{(BP3tZpFtWi%n0_@q^B&HA zrdh`-37pOvaJ9-Vptl9uU!!%M M7Qii9P0HoQcf;fg`Tzg` literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/sms/SmsSceneEnum.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/sms/SmsSceneEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..b244a939f66f53809efc41b80dd7913200d71597 GIT binary patch literal 4670 zcmeHKTT|Oc6h2D8n3llwP$St<)51kp;?zn zT zdB7Utm@B^Tvzid0cFY`w9A$8~j+vC)V~9LztQO!s0#m1U>r#fY2)7CRy(1)3p?}Og z>V`p&<3bUS_GE|#0`-uVOE1x=>llM{pV5;!I;0NO{T?fqQWh>5)j4D|VEQohXuQix zm4*i~0?j%Y4I-s!nC^pyl5!-G1x#o(sG=T|#%cMqjNqu_iQ{|{WOLa zC@8{b1P*c>SH5$o85i5p+#hmYWdcRqPr8$dO7&zb1a4>9ih4ct1ohOB0{vK-062F1 zDCWu!gZ=QxUdMQl==|PN5iCOf&9MRFr$bgnGrpF9Uot2;%u5Dcm9c!RUzN37Tg$hk zTu`|Ntuw8eyqIr{EA*_+Kt`NF2RqG8i7E7!FA3ba*jq3;C6Tw5&7P}60=jYH!DlU< z)l_$j@C_-vxY&A}8%;Wk6Oq|~Won_7)WRV&ShS%jSCk8nODvauAM@w|lT5gneGg<9 z;QKETe)Fj1`i@fcfcs39ORvw0$I!4@K+kcHoGzmauCUVnz>50=E9nocq(89Y{=mZi zV1areQ`8iQz|rm@)kqEdwTBzc!eK*TndZZa3Cj(haDX)+l$yF?2)nO1BFP|D&G&1v zt5&guY8km23(eUoHvpYZJlEL=2FII>&dIVR^L2>1S59=VJJ1_gin+^mQiri`I3>?C zhm|CR7tzsm)i``4Ja&N9)U)V@DeLGJ@q7#bE{?+^MjdpULz6pBp>o#rQm)jLYfvs< z$R18yLwB*@nSS7sgUokECeSk+475a*6k?IS0fl9tjriBrBo zP8#($Y{VteN!X6)^1h@0n))O==gg=(Hbcr|N>k#yM;ETRN%X0I1<^}%aen|Fny zBZ=SdX8Hh=#g>`_;r-~OgLsT>Zn2r0(;I5tQ-Q2a4K=0r^NG;z70&n3he`0wK#$X%( zWg(TtRF+a%PUS=@Cym6r(KWb^avG-KMl5gQfAju!EXUEp49vm^+(NB+dk5va_&h+% z1ZDXTn0q!o{~NsjC%%oq9sD)p06vEW{GCij!AG&Z5_}AwpvEBF9YFYW2*SM>VFbq# zs6aKdibd3&UBwqeFs6pAf`AS8E=9Ya8||wrL<794J~(G>=EM@dzaFwSGGwP?@GZ_6 jf$!k^SU!x;v5cA}e1C+`5BLB)!KVzP@EDe11=jupI~to6 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/sms/SmsSendStatusEnum.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/sms/SmsSendStatusEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..9049c4dc832f6240758e4166bdccd98075d3babe GIT binary patch literal 1745 zcmcgsTTj$L6h5;qEL-u$RRnd!8=IImCO(NV5ad#`KtciI<7_+Z4zx3MX1Z~Ig+Iqc z6Mgs5A7ngjH-KSL9*7TTPbz90^=mXyDE4 zPA08LxG%fHh*r#(rBvu4lr#k9nkN+mS(<8Y%sZx~kZps3hq^4zIDxTdtdf>G^47WJ znpqy<$Lb35R)YxwH%>rSwN`orrU-o6lZd9`E{|xal2pV+P?~CmStRBqb?Uhv4OyNM zZE<@1-YUwd?WNqQmx2HBXq{Wj_1_;kFb=mzVFvCXd9Q>N_BDaYh0_FBjdd?J_OYU- zkbEmkT3qikOgE=Mg)H7@TIA>cWz}{BvN$~e#rGTgBS1;z=LLA!?eL;pniJyYdU8uW z4JgT_zNNxYAtRwta&ZrNJK&nj5Sc#ED#7!I48KLx4P#~uJrFTBPW}Hyi8uz%6G&Nj z#M+$Bhtlmgnp-rQTQ-_oHkw;Bnv0D#Pb0+*%>|J#8+NEgYWT+#3q1{o&E@7@>=uMw z7`)^_B&pJtmdbLM<9J!O%?kE|)mdoOARP^IJXds=r)xh+V-X5VO_t{RK9yrWgBF59 zvCmKowvlThlMz2au%#6*6EBsL-LUz>=rwp0x{0ZgMFGK-7X-Wc4pfVluH53+s zsWZc|_$>rRnk7d#EGC*~gW&a~FY}@VPFra=1kM&6c6v2Dzj4VGJC&inf9tqi_xFbvzB@=~nR--~}QP+&f=k z{QcPEXPEw8yr1pA1N582{b>0L?iRQeoF(_pL8~64-5-F4bN38d6&~PS1?G$F9Nay` R^CMi3aRDsgs$%>nzX7u)38Mf2 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/sms/SmsTemplateTypeEnum.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/enums/sms/SmsTemplateTypeEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..7036177e2658c33b881b683e01b5b21dbf221d5c GIT binary patch literal 1744 zcmcgsU2hvj6uo2IINk=@hNd61&>?&!6516KPqadf+_Wrm;wmvgJfZRK#GYn%W|^6_ z>R-XnL820U=aChMGdI+VPVRNIZ2*KEiH)1@v%Dqc|CfU(UmihU2Bb9r42?uf2Vew+9|f}Tk4rTzDyh}P-m8r`DXAn}3H z%74vhW9vKt-lFgO+eheVsI=U#%ZapOfpP-{CKJVxuqybcFS~xGz~ap%C~3NVv`Y6_ z=Z_2UFrLY#T^-%RaU%H6gzh62ABtL>&%;FI$Cz|wW51-x=yin zRHi(4brtk|uEwy2whkM`ehw}8?VyQT=kgfJ&11e-J0FN^?n5I=&&`SC0?f|-2^IA( zL;*h=N=DJ4scj}7Ls*P%E!mLGAH!&M*s_Fmaeeq|8ob^}b!bar>1zLt!gjIQY|*1n z8NG9Et)N>*YkSH$jA+$H}qyFR4Q$H3pBwcF1Rt5u?-of4~&r3W`neHcUPYB z%R1A}wD0{f{Ry3(l@zdx0Wrh$q0HXGrb(6sBuin%)Yx~=ct+hsF14k?M+ID4ce`8>DywYe?_L>BWKh$eNvksG} zdQ_vqsG@IZT!oQzad5hRYJXEpE;{(Zm?NcgOklE9?#H>?h=k?=tBD?0{J>`wAwunF z9tuTZrVnYW$E4&QGs;&nG&z_fFm+3XQssQAiIMJ^4n5)Sf65fG#35+ju!SxdYv!y=Qr9mj~qQmN3u+1nq zV6x?)H%zob*YS59$<1>*II0gh`hTM5_z~M`o9rgAQ#y%u`TEj04<8a}X9!ugSX4}! z?P%@~iCK|AuETU<%|xkuVh(|O{qBmoT}%e`!jS@#SDEaM9bug1hrvO3WUn#7q@$U) zl!uQA2{NqTr0S4G(Y|y`z%QAUMDvnK*QG3*)3eRWwD2{iHIo-xhkXab*i75a3}`?1JLP*=VtQ2Z-=P6 za?iNN0<9rqahL0au8?3){bDvirKA8CFq3uJWOO7v)<)9tEV^OX4`UvGj~UKIFFaz@ z!K64eHGc|~k@^amT1ut}_PaFZkX@uc!-$u-KbvPwk@lJQk8MFI1zDhpJ>{hKm06Q1 zlYlFQM3gj>bZ(MF|6?WF|Th9qy+(#obLO9A51A>r!pkg@QXF&M14 z(<7rdc}F-pk~rf*AMKi+vQ!_a$mJ7yeu7)Gd_8Hjcso-+Tk1GGTN9>EIG){vUgx-P zlkVYh4!$99V*oe@PjQEs8lHm+ft#iQ+wn;*Io+)eobD3q@ldmoRH)fms+C0`@ERU2 ziz{<52IBxIbE(XyvXIJRDkoAoX(Y_S4Y-MN8m8b@EN|mIAR4+4W?%$n@o5~N-az># zUXM^CL0SA2?(9v!^)uZ29iK*k;;)$p@Eq>r?_@Fy=3_ktcn{vk5rgnx0O5ln2-`8j z2+k$&5tRB?@es$(u3}*b#?+8i5U{|$6z!9YXn-f7PtQRc!*wPe`fLaqZW!_Xpohlb ma~vCiFW}2qeieJZh$CO)^JBc0@G^fSATo@?GCYA5`1Wt2>ks|_ literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/captcha/config/YudaoCaptchaConfiguration.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/captcha/config/YudaoCaptchaConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..3482fca6327b30ec00c7f14cdc073db4df562408 GIT binary patch literal 3023 zcmeHJ-A^1h5FZoZ?zW^5(zK-{m7#5NyzIX8saHiJv`9!xg93@fQ|0se?o4*=jqSa1 ze_5qgYM$Fas>*oxfIG4D3KB{yqHjy49mnX+Psc9%N-w}fL1-(kB&X_PPMmFZWV?( zsZ|5!39OX5Q>OaS^X`e@j=)X{ns%Mt4(@+3#r3IvNP-M!BF~LFkQzl`+bhQrgk3pl3=#y6330RH{T8 zJWo18QcoD6I9li#o#FaTfwY8%JZ09>o=kAx?7)?xc1^TjNI8L-3?lMWm2~br>`Tm zeKM{+*A+x_spQg8TjauEZBf>lf;(+!b>rGwzD^V>5k0AVZ9oeCvm!<0U2unVzp&0z zkc%?qp6W^kRATE++BP?(|QVur+dhz^WKSDnP$`p+jh zbRMQJL?Z2xz&J5C%f|IjHI^8=u*-bp>wFJd+$Bi8%Rrl#kbsMI|T0Yar>RX1cB{# zT$A}uT$9|+R$P-n)V%(pP)=rIPYtD&=-jsNr)395-xgz!YGj*NI2;gY#bXF}n(zf7 zfBuWs{oz{p!DgZgPUHMPaxDl1hq^Fa?BXay;L9s#zOuRdD>7BW5g{u$ubqy3w)ce_ z=mgQT7GF{Ek$qvv(gLT#O$2uhh#T-V5^5mZfX7IvK{$b>eQ7OLwIdu9Eo=bJpEwKy z%;DbxEaJO?t8a0a;5Yakn#ZfbudwvC1>d{_hTHMH literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/captcha/core/PictureWordCaptchaServiceImpl.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/captcha/core/PictureWordCaptchaServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..8d28ebf5cc4c8a4041fe23dfcd6ef042fcdbb799 GIT binary patch literal 10163 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/captcha/package-info.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/captcha/package-info.class new file mode 100644 index 0000000000000000000000000000000000000000..c85098a99c7feac74574c66be488ccaee54d4f2b GIT binary patch literal 168 zcmYk0I}(CG5JY?NLzR&x-a_XRmWhFZCm4qT7ua2D0WGd(-~l|8B^cR3N3UP?`}2GO zI3P`t7@XQD<#?q@m9^kPBH~E44%0siQoy(?^IE2{)bGm>QOf3*A|t shZJ*z_0LnYFX((NRXT&!CG=7BXlpgt{4e$syafzqwtpuvXVILlkzp-b&Z~XJu=dS>;0kjTN1p3zSC}UDZ`|OZKTt!lI z9Sai;ikRsr({YiC$PTO%S(F%-i4WQwL@{$L7bcU|O06QURU&)Q23p??t?Q++FwCJ# z9cl#T%OELJz36p!UvNiY_K8%|JtZ*RUfm;5TgTvaXcCw^@qJ;8HVwE$roX>cMp&I5 zikNbpN2k6`6fZgXV5uP&dd0^#Gv{7FNM1XG&>DyMq1!3F)Sz(o(5nX>dR3 z0H+dRgyI+>F*?KX`vT`;8uFA`OB0z2dy!FMfr0%7a>fr>PtX;v!s9B1WtGCJN?}!{ za9E{qyh>qJr4<@$VX4nV#vJcchY1r$IUavB2ofXo#0bkY{$xE3e4G{byi3N2Jpq(DO+}6jjD(QYh}#&r+0_6DDC?1OYVQatmhQ z3W23|=S1f_&X;S=_kp<%9`jX^b%ohwC~X3Z9nD#~$BgvjV`I&SCa~YRs5Z7n-~r0) ztQ-<}*k0|N<%M9&+l6v66PxN#T8RgH=37+R)bL!h9beD22HYg@;~cH;f2clzU`H2* zidn)%qU8v25jycT^Ul!nxar!umahsGNf+;J<>yOf*;YT4en wlAQ~s=9n9-f4YW4MW<^mwli2=w2xMft`URH|6)JETfks8UYlaD7(2uA3sIRgW&i*H literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/justauth/config/YudaoJustAuthConfiguration.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/justauth/config/YudaoJustAuthConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..5251c849b745dd4c6bc47fada4826053872850d7 GIT binary patch literal 3577 zcmds4TW=gS6h2PV?4@ZE0&O3-#0?j1xXf@V4|JMP#PQ4~n_-shE-Fayu(MPDHM9w6|}g3=k~OeyW?iJ<2o0o`*{ zS}Ij64aSp4S2$=r9GJl`)_)Q1v>TtWQ;#&eL=Um3dZyV z1wBDYPf*emT+kDo(-V~RY|~f^OMMPf=JpDS;nxtYDh&KJeW=5+1MV|imQz}ZFvRdjiWrb+kt;dR?lqxg6F**~* zNvxeZLzm~CD}U|@duf(PE*-TwdO%4l>rBp_Hnh}iXUEGkSFz|xZU_k{W2XH8f* zPu|0!V@~Wcj+(uC2@8iaM_LvN;6TLE9tq?YBc2iLq4QFF5k?CqwFq1lor>H(Wfydn1F{*qky7HRPZNR&@_0(&%0q z7JV;v2Aqu~3}3gwc9r@82WWQMad{-kpMa b4c;p7-oC(l2iu?E&!1X5@E&{sA$;@)qMMkR literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/justauth/core/AuthRequestFactory.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/justauth/core/AuthRequestFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..aa016a960a39970ea25a4e86cde9a35a680cca69 GIT binary patch literal 6227 zcmds5TXWk)6h51zD0V}yDW$Z4S}09`N>IwJE`^XLO&AxLrkCjpGaGqrZz5^c-BqZ6 z4l_LQ2bh5wc;`p(Qy9*!l-RBnOYStZ!-FkrefB%oJ$ugi>!08L0DzmY?!Xj*2TBHh zM0xCQ(H-gsvCl;yT1@)Av_*v8dyVm}JG?Qf+@(^Pl;KuG2<;jcUF zQOcBFrGXZ*=fDhsV-_={amW8|bBhI+ud(d^2QAaV#{|T*QjNxn>`1BTW*?lzKpA%;S#2&4+eqm@Xq^`O3+LOw=0X24VH<`P)R|}WAx|gte&B$0nvSH;bA$nFgOH$Ha1+Y;k zytK5NOU&-xAw4cRmhSkdB zfF&mXmN3i2QVAw%W)fyv6e*c>JGm3;mO(XLCO$d`EjwNg=-Dg*zHLaG+dIMG-5GYw_5Dorb!9cO7b6c zHh(^1u2I!3=X}t*R|&G}A$y0l&2=<3aV?9u&C8o zyi3T%3a7WaZk0mSz~z!`h*Sn_yy&&Dr*2ZPr#qztP6pN`SR=1#on-zYur`=8GvymL zLuLexf>Pbzy$$*}jm7)3;1O6I?+aTzS15G}Tv{k#oC($s7|ZoT;`}|HtF77Zc9|{5 zT~qXXrXljOhN!@Gp1ZDHu3R3sxWqsYdsx@EnPhQ*T|rxl2;U#2_+QKQ0$U`udB{|~ z_TO=7F=T86NNBK4JIuWh#9rPwdbV-&vc}QN8b@!harCzG#?dp4;{~@Rm~u_~5>Xv= zU5$ofj}ugT5F9Hs&-AFCHQ!UR%Iw3VL`ZCiib|U2L4n>J?cat4c_t)TSL~V8Wg-V} zS%qgzX_=bJzD$OEH^Y`kmRc?@j#W5>t%ZJP~5nZ}p z`)0C29`zRRMId!MU&gpxW(GorM5ixHs(W<^6WOu^*r7Y+svhy6T8C*SYw)CbNFqL0KSIT@p~?#f;Zqz zd?Vmm?z;$6xRxPYC_wn300H1_xQIBr2u6<#;hh46ULnH5J~Av8ApBH_@E*KBAj8a_ z43|d{$mIeAf|mEumVc5(*^Q8a) literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/justauth/package-info.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/justauth/package-info.class new file mode 100644 index 0000000000000000000000000000000000000000..b2e23b6e098c2d50ae8cd4106f3feccdabef82c5 GIT binary patch literal 169 zcmYk0I}XAy5Jbn}6Nw5MZUK7)tjezf1WP@ zJCr2~g+mOQEE`7+-6TSb~PQ(jp(GXIQbm3>`f;MtN+Dzgx7$=WH>cOVK#Ju`4_^|G4%id literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/AdminUserParseFunction.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/AdminUserParseFunction.class new file mode 100644 index 0000000000000000000000000000000000000000..5f13135f65032b16c69103254a062fbb6de99e4c GIT binary patch literal 3745 zcmeHKTW=dh6h51#b?l~12~DACq0;~*;j+smTtpC3NLz^HB&fL{9uS)Bj-5$%XO`Jn zQ~x3U0uo5@&R;@8e6wpicH?9tR0tiL zS(%7+)sdOpkHxA|+H!}Md33vZ47Q!8sS#QBH8)DCc81LtJ3P*XLymQ_uaAN+gevrm zusFH7y79oR4MA9gomjiF26)Sr-E#m_Gy}EU!VawZyt^J@iubMD7N#S^;-rC0Zw_dU z<|C2m+=K#yOP@+5?PoB0acK`)tbyGcz2MQzu^tbM(PoNndNsDIV3UqJB4VLVQW+Pf zv(#vCkz}8+Mt$c%FxyQ9a{#_0)-Q==A$Mf4eZl%5K3lg;W=yI`8gL(XvD6Yqs1PT# zj7~8AKF3mpbVI*%Lx13g{;?bS z&J7n>q(#OY2MM>~0kfb=JWgTwFg$$TcRueI1pe*AN{(cbYGYZb#<2fyNZ>|Ky1|Gd zhx~{e%d5o75c0)iD@>(vh-5!YT{I0YXDmMC#>_LT883XgQFnJzAyR5qAvFG^Mt$4m zn~J?_h&-)?!nK}=s9{~#lQfp0v@FY!4-v3PA|?;5Hmr=u#U&Sfxr#(fDi?5A!8^}m zKp#u{Y$MOCTY(hg%K2;wJS5bpua6|x3f;Dg+*Tpf&r=m*Pv*D^@vV+9Mn|7eU zWS0ngpg~@*s%)YNfmq!tv*19vQFao?sP1b5-VvzCpzcz6d0#~iEwSMi=b`Iq8g^>R z9(FKjwQFTOhR8;JVE6s4G3&!91Ib>Ast`vl1a0GdzfmvibOpe}9?hz30)@(K=eA<&lq+GJDnNL(D$;fr41xkXeQ{X9o>4-_!Q4r-SI3~uk43vjub+Z8;Z7}d rTO5OSXAIgTy@5Rw^k$)518;9({5BpR579?>roml6@51)?>4U!jk2tVt literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/AreaParseFunction.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/AreaParseFunction.class new file mode 100644 index 0000000000000000000000000000000000000000..63424da446abc193e2396e91e3ec4635c1672ba4 GIT binary patch literal 3495 zcmc&%TXP#V6g~=W9B%l}yIx60pUye@&c%QH{mX9va2GzQ!yJL{j1Gf@ z2^k!-J_|w_2otK*YOa+OGvX}>EU@T99j%Eq}QR$OFrCc-1W7Q2prFpQeIs2Mv z!|!J@v_i=`)Cer+pfQu(;9>iihnBz#xP`zoDP-5+<_momXWSvjDru{e;7cxZ6(d}%?Qieh zb896Ct8pi;UD`o-%cMPW01L20px))y8AM?IGa-fj9Mx`a93jpQx~2|S2`rr>-P2m> z1-M4$A3Tz%m5Td3qM=Gs5$DR&R4cS5F`rVeaoFS34pL4XfbU%67p|cpbLP@Er$Z2* z?pi7g6*3YUy%!H~slzpwA)e6DD#7s&8Lmat4`XHw?TDD0XL(A*@nEMw%EA-Y<#aui z{wat2oI`%WA-~{|f5svIoI}3j&^nD2H`MtcVK(ehi>~5NQZ&2_kA(FdVg1~J|M{@O zM>7n5R}zmQ&GdI9E;( zDKwiPRDF`yIBNZU=c%nIQDA&$Sj2pCINE zMZ#@QMW`7MGt0l=XbMO3RHsNGV@a1L&LlNF01ZciW9D&QWrf4?+*9CsjVV=`%B+&U zozohykJVz9>Q1G{ENyyfW-b#FwR&VlTydRV!`+ZuG?lAZdGM;L2=94t1zui+Ww=gY zwK-n5Ts2y1A#?Y$q|Nmq!vd3+)sV$UOba(YovhiO!20>P^?#LmS42lBnwQJR1g@6! z9$w4V0<07GX^KiY+)?4WvinQC8&P70#3Qg+rZgJX+$fn=&=L*1L*TF388#K$OV*cF zoT2fJY4pJUi=}BiAaJKl)*^nkDxLKffj^(Ivz}i#6YvgHrbB)o`!fR9#xi%_&0y!* z%1b3i)Wz0WLB!GOu5?vNU>7d!R{|Sb9rgxwc%Q)K(F#?E4@dg$;`ZwB5zhX*=SE)d z31hH literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/BooleanParseFunction.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/BooleanParseFunction.class new file mode 100644 index 0000000000000000000000000000000000000000..1b110b2f695d7613e1ff3a21a720979f9b923f3b GIT binary patch literal 3585 zcmd5p#k@ot>V*i+lH zbpI7^NFc#G|A-gF@k}HNNOSp@`d`p{7WRv#VQPk3%jxg&4ZhV_7CsVPd zy3)#nMBGzKJLb_Wft#%}u-!b%jIj1QW|UMNi<>WXS&|EnoappGA4gvaRcIOG;^fY~ z?T3D?0^tnq#I-9M2=AD3`yOB#W(fox;ZAHKF!hC0(tU}VudMDP)CM}J0oMu4o`F3y zMw@APg-ktptWYtXbVW?LPBWPl`qRv4G$^&7)1bL`D5&dYf_i|^dnYWtLpk#n(*r^K zAR*myR9Y%kEDbs^>ETja7@;_x&^9{7?245XD+A2Yd% zMO!K#C%A%RmM7?dGwG0S=hpcZl%h;|s+GVMp`f`nkl2Rkwp-+tAwrM3!WbEgA!0sJ zq{1EQ7&Q|-cjCT4Qv{l)+hq!=OT9GpR_Xp3XghKolaIfCR{E?+KP7a~98sH*EUT#8 zKB)vdST@G2@kpwS)2s{gb2WHStH(|zHJ2JRA4u*t`vufX*$c(?ur%~*Qk_(JWS1Gq zu%rY5T!YtUU=9`uEUcWbaK32GwvgaEd3qqsp5IgyV9t{L6Ofb1Np~o*(*D%?ANvAd zaR>9%$#w z8*acSIQwiXkM!S`)?!oQQ<;U^fH97LJ0@TWF2NLjHSo*-2Kc)Omth9SR|<)%Fp1+i zcp2aGIJ1U33H}DZ!?o|{7k-6T|19K|@a+)*pBwo02q*!XiK$dZ^Oz3XcOLs!qU|mv|BZ3lkhI?nSl2STLT=ukKZ9a5k3H) P;uD}xKR`cz1Z)2S8RKjy literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/DeptParseFunction.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/DeptParseFunction.class new file mode 100644 index 0000000000000000000000000000000000000000..ffca1d9ac09eeacd89ab26bc6a3dc1c44811027c GIT binary patch literal 3489 zcmds4TT>iG6h1>pmR%r33}{F+9n=V3X1w5~#L`M2(XCp*3Is22%}npoFw;Hu^kDW^ z`Dm3^>AOG3N6W8gSQy+%ma;TjKJ-psPJey+>vP**fB*4kB3h>p8#Lz8SD6Wegi941 z@FO0CDv&zVkuX6&kGKvJ9p$kIvVLYo5_Anu#CO^p209gnTM_GC5NacWb&=XHxXHx* zT!mI@)u3^Yt`wj#SG{0s??8msqYK#L(QHSXUXaDzm4l$8dp%)RJ-YrNS5_vXt&U_S z_hNBJDQ&q!%RIW#IR)F!)6|G8`;r?aRWHNli$^@pg+q>YvZoJ&&x9&ejIcPqd1vFE zTdP1=gPmBLUIV=4%I-RV37YX}vL~#&(A|DJ!YD#_TbLsm0)M*WR*r|*-s(IMna)ip zFu3%wRMLKeTP`i{;@CAX*`Vhjtx-u5o(>x^-IM^wW^6-%N1X~Q1e{6DoVRC+Ha(-!Y{)x%?rzYn+lUrnw z78!FKB;1Dk%z`TMD85x>!5Kvk_#roz zj}j|=#utyQFe5Jq*Y&g1xzEYt)Z#;~W}aEicwy76rhAhSBBf>{gz8UfHMd=W8L@W_ zo~M;ic-A40s_NQK(pZMlvMfjJgTo?fm^`%Fu+k%!mYwtEDiU3(oWo%SeV)gFK9%;_ zMxI%>0x8Cov)K~3BGhWO&qUJ^x@{N1Y=qDtPK^+>rlrTSvke8Ho{M=TgqaxkT7~ z4c?A3$R=_PIMv-U06M+Sa*{Y6^*{-*4fjOcbWh34S1KZB2@7L54@rOLogN#gt7ZkQ z9$FdKaM)_PE3a?WEL8!{|6WLRAgj*KTg@^FKl!K@&C~TMdX{c@G`BRIOI^yF>AT<%rd0@9TcS*-6GVw_&afd7U&{f!l;3f`?m1CMw2v!{xtey zbQ$dmJyVgHEp~c{C|5B%htUdiG6h1=;3k!sZ0S$?!gBrohj2FC=SXz-Jx>XCL0>R5$Gt;{?%yf@EJ!|$? z`Dm3^>AOG3N6W8gSQy+%ma;TjKJ-psPJey+>vP**fB*4kBDzB#HfYSFuQC$`370B3 z`?h5NJ^jW_ZVU(h~BTP?*z@KfqmE$3{H`@J~8}yt9|Kz;{ggC6g@Vjvcly*Z{<5Ez4xaq>7{g*>N9B9btqDaYD!F1mkaW ztVPTZW1eNKBV&<0%~K+QgPj5?507|Pu;ozs$0p|&Cg+zX=a(kupO~C~YI43axn&k< zkuk?X!fklKET|HXQe3Jro^{Bhs=Bt4G?t;XEXxu5;IN1qCJ(JPtn|p0Rp)%UibO{$=Wtj-pXV{4Po;gf znP=9mK#FnYY_He)3UGTBK_;^ekQXXkleIm%5ZU*M?PZ z<;lJH|>9_{6I3EsTz_;S5{VsRmOB>a`5=;lk|#5 zznvpJ4|Y76xbvCbf5Zh)O7S#}`ySn@zHw>H>opus(yHfu`jpA~zxfsl$(^E#yoZX+ zqs5_USJW>aHQGf^gLzN4Pcj!q3oYf+heVmK>=zQ1uL%$O4SLI?OJ`F_gWkdBO4Ml3 z+L=ndjFSy|AG3e1(&1H`GRu(qcTtpPbdyl);_t)-TB3_Ifl&h^_if^Pm8NM1{aN(K z=n~pxdZr>XU+nY{QLbQi0i!h_dH6PeqQ$T0pZ|fDeku08fM177XfNW|p+bso5G&?x z(lXEoXTOBGVYHWP(3Wb^ZqcicK^t?Y7P_s}pxvlJ8>iQ>XN+Div}>aG2F7oq`DjER Qpv{20fZoR4-=+8d0NY$tFaQ7m literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/SexParseFunction.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/core/SexParseFunction.class new file mode 100644 index 0000000000000000000000000000000000000000..a6b2666f394b91837c4b71e53285c1ec026e9f9f GIT binary patch literal 3553 zcmd5<-)|f>5FUp#m)oXINE@JOp>7H#;m0mN0!RcQm9&9KmlTmSRe5u~zKfGxd$GMo z?tkJP2_$&u|KSxe-pwU@$wqfVN7aYj+g*=8&o};N#`o7hzx@FKkKl_2Ob~cx4UbYL zRdmR@EaEDXn(J7YsF%k~N2!kUL`1e{ok*j$VX638o1;i)!Z0Ti-HEt1BH9th-!o&y zMy|M%S~Xyjz+8cuFx82k>>mp52)u$b2+X&%=|nbZuO3D%-RTIkM&R}jxpFcUo2o0V z+)uR6n7rOT3Bc;rN<`}!#QR;a?m7zZb}A8tMN zV-*Nza3+pjTSs`ul-u(F(=bb5sv{io!H2J;lJ0BtdU<6JVb(D)4Y)~Q_6+E;G1^SS zYh+43Rp^vXx+11rrT*ei3Kj~9mp6zVjV%3xC&1c z6c!2!O9h3cg2Gb;g=Y#1y@Hl#tc9gM1}Ss=fI1A7IL?rG6&~dpdbx&00RQu1WsGE+ zY2zqYHPIix1@70yO&(aLlx`@FoiIav!VC&+=2d(e(^~v>l%iHbAxV9Ve*=sJ8fv0NXsieXL1#bwp2b( za0H)Oo?rmZtV6n$Tjxj6iZbP;RsvUyg68HxQ5)jhPEk{a7(M9SR*0nL+cB}<%?a-H>=qe3VSdcaAMMYmiD-3uDzY4KVtl$JFjEyg@>*W0Fe_DyydDtvdwje` zN`?ygs*B^}-W1|IG(-_Mu* z;v_`iYU{MoW6m{NMKi^xg-zucpv9Xzy}4_0G~d@_YkiLFM!YS3NWT0 KVH`h!)qeqBhF^#P literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/package-info.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/operatelog/package-info.class new file mode 100644 index 0000000000000000000000000000000000000000..95efc1abfb863d057fce82843274d9da5d7498ff GIT binary patch literal 171 zcmYk0I}XAy5Jbn}6Nw5MZUK7dn)pxgT>exmR~;CGO+*v literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/package-info.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/package-info.class new file mode 100644 index 0000000000000000000000000000000000000000..f0b7ebb1249833d1e31192687f9fa3a9db13d329 GIT binary patch literal 160 zcmYk0I}XAy5CxyZ#}XAZ+yeFxAX*AeusEB@N$f>V0?O4WH~@!2Bvia&su}6MKhGC{ zBdkScaA=dGz&=vNcP1CftJ7Q(4Smi^LG!*5YKOLyKtvP*g5MQNfoVaPyDNUiYz_q+=9un_I((}1_U=8k6V8($ht$Z({TzC)Z zKJ|Rzap}u|DeoW-sPrNk#3A$afi^7inu)PR!$fh? zQ4%c?>8qr=VCNB^TC0#5u0M)tSW7F>L_w0WIP6{jhCNv?HM*W|2QW=N0~6(3U^;m+w}6pb zMqw(&pp?x~$v29%A#$H7#REp9B0TC~g=fNG71y!tpKR7nb9;4R1K)C=oAed-20|MZ z`vxbbZitI5 zPuZpB`4Dtaid;AOyc=t1*F2ffBg*hpd?;u4Hq~w0ZKLqzg<*Ph7}I`tU3v^zdOSEb zqB5n*wzLe{i?J$DV+xQIvUpj13N2QMsF;b0QI(}#vDJ!E74*zCYQ`LVtFQtuFTzE* zMN&YCty;Nd}I z3h)R50%s0a(|LH^fy+0~^ymMCRIte4tFF@0mg~I4J%=SWTuvH!~kTXIwI za5DhfO#o;&1)$v&fOdNTw2J_=n*z{RNFbRe78#AG@!JWog=Zl2?>uMB{WA!!YFN0g@lQmI<5?%2a&Py8XVIq8&#bdRc`wQ_)SqP>OMhl+43f%G$6 zzK`e+p|uEN7kS>HArCCpJ%%nr@yAeg-ER!pGhkM%u_-3lvGcIsEL=X!Q2n4mWHVtXAL#R=4iB_Tk5=lQ4tV96nX>$=>JjJ_FSuW2a#82;J!+V@pTImT}%PoI$?b zRbIeV&f)b5O5xzW`WvkLaQ4Mt;KCot`mf-xl?IU4tI2Od1+M|YCv4yfaJy2N+Z*ua zSlNnmd#hA#ZT_~>UJEd}a7v3vTw)acr=9bFMgAX!It9btqEuW8v zr{9TL_^8LxM$Kg09QYXHGL6+?^7Z4jxTkyypOwto#6hn1!$5Ccatw8@Mi{ZvX%Q literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/config/SmsConfiguration.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/config/SmsConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..93c5100bc899dbdfcf37729b3884eaed20265176 GIT binary patch literal 1918 zcmd5-OK%e~5T0$*=0Tt(w7hz#n^Su6UN}*N1f`WKrGVN{iKF9n61ThdVtYgLi}(ph zAi`$%x9TlPHI(#QUHrNT+CEI ze9=7=+yyZINGjJZ9FCo{WY4msTQyhP?wR<43G7NRumi!UxUypamba;Des>L6Hwy@X;iZ z7MA$%6Xy7UILwkbPBG?jWaOQC-f5n@-?39^)t}F zs4`L0Q~V%K6PA}>t-7Tc7UhJ-OQTa^oJ1-v7UQ_?PLjrwOGj*m3RvsPI+Jmy4JnGb zweIUSQ<3ON+#`RXV=0u|X5Nj_ z6~%o(m#fsE0@v#>2R8y(Zne*@|Gx9=Z}|4G(8e&HXGvF>j!$j?jke}2K43=r^~q+* z4WtdA)Bf{)Yy-O(UaN^z1hCXvZ=X*PO0Mi>%E?6RsG+nH{d?jYP~Ni8z4^9J`$h%s z2Jr3|8r%OsQUJAmof$5+u?-?mKIri_pEnNA)5NY%8n)=;kq=>4xPgu^{?+!SHw2aD zhAhtTIUuNiKD`0dccryh869l)7S;gY5PZV`W^gtK^Ej4q^#FGR{MSB0<#nU>9_pWS znFSoZ4B)qjW4(}qo6yMjZov{FEuTo;#{WgMJ5$gaQ_yDN9_r7){ZqUZT(99*LaVFa E0V_ghi~s-t literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/SmsClient.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/SmsClient.class new file mode 100644 index 0000000000000000000000000000000000000000..093a039bb28f00be050afc79fca607be35fe2e9d GIT binary patch literal 2289 zcmc&$-ER{|5TDK0B_<`15H!rtk$BwfO`HvPyT|T2;J*wB zBzWiV;TbV|=U_)U6t@pWmVLK7;E(hR$P=>{wCYD`Q_Iu5gJo7898()IRAJ?p}2l!5o8ARj^#> ze)42{52a_Y*db4?{2d0f?Tsx4bN2`)f+YqkWA6vn8oLN5*xaXQ+M+Z0K4x5+qExx? z%4l9%vz=q%Zu8bsZx^{AmdHbZIKag<9G60C!sI<>>xTlne|AMw|I#MF;C z^n<8}eysD%pyQzih46Bhdny&aE-CTJ@YMV`G(WBi_@BY*8mXc*)^n*Fs{b84s+0y^ z<&AVwqx%g8?hO}}rdmrR=`QN*DZ280@5wRF)5P;u9S=Hq-*`G~|P$^VVREs+oK z7`N^;aNm5UCINf9*1Qt*XdZ(&1$Qd^Q*#ptoQVeprT+ zu)<)WGa8p`?Q}dK>s&X(09{Fy#>azV8*MKXp22Erq{z2~Rbf5aobRK5n9%@kZ=^w` zn+zgHx~4=K+-=u;M-du!LhCj+(!H2 z9EgWOyD`Ls%Shd!f?YGP691wDhXRpHeU?^ZIfARyyn{kSaGj3MKr({g!X0%qf(-_z zkFbj1MjdQoibe1z$>b=92$Dmmb}cgo%a4?EG_`tk%DM#xba>Ot1He29bsiRI9ntFd z(QfMN!K&51nY1OeuXx1`h#N5Li`2eThN;T literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/SmsClientFactory.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/SmsClientFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..ea84b9ba08e9d78595c84c4f6971c23ce6f30a3d GIT binary patch literal 1417 zcmcgsO>fjN5FMA&?1qJw(o(*$dfIY`@3i7ls8lIXq<$c{d7as<+r$pGx3Iqq2_(4l zqY&fl(iT_=2~iG-Gh=7o%)ICM`t9Rq0C);Kff)v`yi=l*+K3~0B84(STV)G$Vl*tI z6_qW9B?>?C0V~mWvch-P9SdK1p{zrpN{uFn-O6t^Ut3ZI>qZI8GFWJ0meLHwPVWd+ zV9?s2AB+x97+mVE9Wa>PB(wzD4Cc>HKXcBy7F=O7+xy0$x8(^IT-mDDr3~5{UOU?> zvGR|3+TJ@v9!53t7$A#q*%*#1X^aiLhx|v7jBf|7J=dntjxs7owADw4MiD~a*^2D9 zL)t5Nrb_8O@9Pr%|3oQ}fMWu+RL63Fd{vojLQB@rl8tG}#BQ2}E zu;_X0K_!DaY>|{Bs2z#xmB_}kWNQ?;_M7CoGPEen{FQKTVKon^{rZG(4Us-MF6cRhce)f+ph~+ z&((L-&7<{e-!G=#bk`1@!Y#Ue43_(~?Wz!B2x|OfrMc zbL~CpY>x(qpJPDth{htoEXm|D%#odt^=RTvKSAsDV)_9(U&uQH3-pd>fS&7(C(gS? dxIqEpy40-8aI@K4Y2LTsA+0TncpL7*{qN#M#?1f# literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/dto/SmsReceiveRespDTO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/dto/SmsReceiveRespDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..c798ae2f3e9569393cbc7dc68938b455e19e9ad3 GIT binary patch literal 8935 zcmeHNdvn`F5MQN996RX~+5&CiT3$8}iAQ-grO-BQ2{`Rc6Ux9a%qY@1RwL=moovWQ z;gc`}Gw?s(35MUDWXEcq#ExZ`VfsfbowVA=-R|DrZ}Znbzx_c(D|D|!GZuZXq~}C# z5IYauj_Y`_69`ZETsk{#-xW?I{C3D4wWAUqISuJX{3ju|9Th3Z6Oub#81Oi8{6skG zk-E=49(4G9u39S_kT7e}3Bx#a<1Odj=0ol!7L`=n^SDwLmFqWz2)P?CaMn?VS|MVU(62qKJ**XzP_!xcB-`hosNaT&PbU18B& zD7IF8dCH^{yt1)mon}=kB-T1RPf5PN0I#kYA5uk+?}9VrYH7U%PgzC1J}q zu8g6kg3P&&8@7!Rp@=rcwsVKaTtX)wFK4xZC3+6Z?wWW@TfRUqSSSAeItDipcDT$Zm2#f5i72FsN$@UG>tbSgdbVfz za=dBHa{f?hDsNg{r||KF>*PPGWF*^LKepYln(km@`D@BzR1J2ws`0Ep{M4I>(wo_qkO_@_Jr5vDI zR#qKAHDxP{TAZQgeF$NIWe&hCDs-04FVO{h5irfwAP$mi7M-s4!!0QoRC}Po9&Au| z+tDVM8!o^RjT&k6=Yb2v2jlGFY|;#X+5AwSB+><7X9=mXSEE|=Ebt^fCyqhB(v@Fc zpw}$AxIe@Lga@!zmzhDk${3|3mPN<%8Q7we5R`LO=%PRGZdbs-Ff!FEZVhpYeyKk6 zE2#FsuiC^X3WED4N)B4yN$arK)ghf0d(9sk%^zDge-J{t`D3H`bBXzaE2di# zk(+o;gVW;Fh#>42fj!vP-6q=v^H>5?r@?7g$b_XOioHjLks~#db#G@t{-~4-EaZl& z_J$(LZSMor*0^}L^D`tvpy&H`kSwaKi?;OmZPR8u^B5#=R!}$7^qeo3=nmR?+2oZ7 z>HcU==@NZ~)|cMAO0<^i38wm@d|FFE{S7n#6kR0j5@=JRM@e%ukGmP%FPLjNyH>L6 zA}yKcN3-!UI*#!(;BbOY;=5BA&0};L*E9IL49*s=mEY;?x2K-}mCpT%(G0zWUrk5g z$IP#xf-aXZvgl=cvP*g5MQ}z{74`rX@SxLm+-QANIVNPrJX`bCo@hnlZ12%pDxllzDClycPB&s zGG<@~zVk;h?CBIo4sN2vipvcBV4tL0?dx{;_I~>7@8A9afEBn?g^B}@l=Qub^4NP! z`_%Jej|*P}OnUoCK!q2HAPJeL_LXLl*O4@0KMT3%sYrRgkj(Q#&SLEaT6mk0+GKIC z!BlT$YrP6n4qQsPhBV&w)^{E=Upr7$iSIL|9H_Uy6(VFbUUp!X_V@;Sk}#!L0|(~Y zhc9kw$>Uw5sVOEo4Ic<(g5=+!nhs3k)tcIMps~yJ<^k)OW-G`1+C~y<9S}6#+5foW*;yMLJSMMB}W92r`^$7&9Fv6~Txx6cJYnV>hErlc%f@ z8dmSF&B4iNH!OOxo;f1h7MU^3&dOd{t5TqXtjTp1hj^Xza!J>tIh+IWyWL=FC zrHSY>DS5z%kc3A)+_tgb!L3;(Jtos?YzuayzKXNl=h{x;h94^}6JO(tHdjy*S0sr8 z*5NS=T(V{auwU$J;XdJUU+ghLu@~qvndfk}G{eTIT%XysD2MGcjDoX>F30F2IX%&> zBqzH|RX5A1a$>)LM{Tx^-|E^nd_sJ(dVPYlLMlzv{zAeE5f!qn5K(#J%Hvd?;$>w( zA=?TO70{?yco&j3VWMK1m$$ry%qt{rh3XRy{0&%uS7+fWyoUJ3Ego}y+kq?1JWgRT zk=8Z>4{huv9wgBYlUo!~1%p%wpN88M!4kaB9!}{lN3i3k_PGH*2#3ra>Fyo4j6jTu zLodaEtP_`Ou;jqv@z@ALBM!_Uzk|NlB0Sld6TzcFD}oa$2mN%K1LUW5zQ&@|d}Hi@ z7_~&_s>6)2e1M7>KO8#9-lW*rG$Ly>#N{6fBHNTMw|>NB$}Q4**6LejR`goSIu!nKNw*kfI?s!hwxGuB&Ghl{rtalF8|1uD+eX{ zAz&CbCVYC--=n*XEcvmULEvr*fx8w0cP#|&4j^zBA#m3~;23xY0(TJtUm}5EiWn$2 zqT27KcpRSZFm&@GumrmXb9d7e7)zjybUc>|sfpcw+^1|Xje4;?v(QdASt2a)n<9}u z`yR8~frVlGGj${Glx<`9auu*}RWnno@XgRi2&*=JZdkJ*=@z1?3Kjut7=9GF2o?NI z<5dN!P)o;pHa40U&tX}o(0$9epHj+`7E8^6QCqxmbp!YhB`T?MY; zzoEk!xQ_p`+4bx22HrXFCXf@kEf(hXR;k?HE|uFmrE+^0-g}DQD#q98Dirry6Ivy5 zd%sj}AC$`N!&13@1a9WH296$jKA#V#Ux_LBc);;!cAcJ^1E0XB$LQyrAyPgYMDZw# u&%*I4){c|v$rmFk0Di$l{fFzx1^5!5Rp6^Zefk>jZ{x3q_30-5Zv6uVD*pHY literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/dto/SmsTemplateRespDTO.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/dto/SmsTemplateRespDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..69754d610b9113179415c5575d526b3ef4b64289 GIT binary patch literal 7040 zcmeHL>2KUb6o0ebWRIq$gq9XsV3Km|a@gEQQz2DNK`W(=l!PFV5SrMt*-7k~WoEpP z{|gBTB>2uBg?RQjyBoSm+{Bv{!3VE*?B{pQn|J*F{Oi}>0bm*K)}TV*JEH?XWEgik_2Y9x$PjktF87VhBwy|X+_LCav+S@iugS#6*3h{BHLTz zpCtXh=Ei)@v_xeLN}3t4DB-E9k&3s}uKy*MT%&yC z5UcWtN>r+VGdFsi#@zN4)^|hBapbC$Y zc#G=|hBIwCC#!%(n@o#zoj72PNj{mrg(y9@5Ou@FSb8C_(;8~tp1LYS>HD6UB<@cRyznxX@~M@WK8e%N}gj;R8}_9=)p>u9B94EN`bR zsh2`eo>OGP%CP+_Ce*RljcK?o1JcYp9Q;Yo72TWdO0}iW#Fjiz){bE zquvl4^$;BOQg9T*B?U)41V4a&xCl&T>Zpo>pz zXOy-ykP{;R0EI&)yhBPvv+*=eoS5?0RiXp_1s+HO*B_r5Ge2S}TS@I&s==p-Fy~QJ zgF6SXX=fmTxrc7B+`uW+zye_ELA<;Q6_|lp{8xcmey>9#TQ{@yC8WFvbNK!eKApwY z6}&%-*N4b~;Jx`9%zra~^%r>l4_sB?Mf^?a0KdD5zjKZXZox~qBJgqnZm$&Pwg8LA z>QTA#Oz(1g!YhwA^p$~clO@xJTp7@%slh!pFjQ#03X1118NMuc2>rj zP&z&kQxQuYDwh^AA%eUtug)V_&M#m@Sf7jzt7-mr+Q0wpF#Z&rKkay7_6Pd^P#oIHsNWu z^4k}h0yF6p6E00QQE3rBrvT_cnR}PFR`QJEbsDJbLl0Qnpw;yurm z<4PyWQUcQ%y&9rLEy=^snvB-p=JYP%kxYeie5g`%kJ3wmEfRwcL~FMXpIl|bl}8TzqF_y~P3 zAxfBG**hN+9G(Swn7MDFQD`QZQCp#sDo9o|-4bsZhO}TEHrsF!t}xi_oR%YRNriTT zJgoJJtDolC0PUWjj$cTf6zRUODy)wl*8NzK6n)b_R}Cgjs|QIV)$MfmoA5k?@6Vu5 z=fn#J4U#Srws8|~GWh)rkt{*#B}~rkyekE188kcHeqcL&kIScMGq01KCcMJnk2B#ZWYxYX6C%NzcmhtO2hR$;3WOV#2rv9Y47>t?S0FIhf)^>$`59lL80IHBiRa}Cv|ANub$FHRYtT8y X>(cr)x&Ypxt4$fb1#du1`FiUwn#=yI literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/AliyunSmsClient.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/AliyunSmsClient.class new file mode 100644 index 0000000000000000000000000000000000000000..013ff682e443ae03aa8ebf8dd67195c8c3ba53af GIT binary patch literal 9123 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/HuaweiSmsClient.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/HuaweiSmsClient.class new file mode 100644 index 0000000000000000000000000000000000000000..431e5e2010dd865e847bd31b54db987f0b9ade0f GIT binary patch literal 9064 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/SmsClientFactoryImpl.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/SmsClientFactoryImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..caa20a394dec32928e3951fd4a823caaf9556265 GIT binary patch literal 6058 zcmeHLTXPge6h0FIn_WOKfXGE@z{|$Vj0!3eK$m2J)lH%%f#L~!XF9u0X1dqzo`rq& zNBCE)(kgxTZ&;T9!t(S?vO9sWAKH zq!*ImE$SPohAsS9foTVhCg33zU2moHkom@eeWC0+Fx!@@>*;Xg@c~y+HWN%y z!vg$y)bCLtSl9|uJ`wIndqE06Rtk5qMEgioUFBUtO{@@Qu=DS=c3X<>e0w*A*63)X zP+lY9&EG&KX16$9KwXS@{ozS&GLkR~1+W*K9k|8?H#bm&^|`waOj`~sZ~`Sc=BBBX zR5NhWsr|VwP(d;ruz>h7>hmzsBk3!NijDMDQmd}@7%{^>BNo85R^p~sLVVPgG^E4G zHi%1FhHy=|2)IH+3WxY>gQ50(Twz1W2*=;Y_%9%?A5yK!1`nCu%T)q~3tI;I)Ze6C zMlSfm-Eu28aVs}rp3cjQ(sx|M6)3R$;q~ivZqY9O#gs(UvEgA6 z_AU|Lr6CV&EX!Gs7)fa2N3|+$rGUaRR6vr-yMQQvrCN2>hV+8DqlmYaE(*wZ#OVTB z8>S0L#&CD2?qTRJO6GU1C~K^JY`TQ7*~KfGNcTmh&@f zmm`fA&^?p-iq%m9ZkIRkj0RA=g;IdKy@`?Dzg7}W&TvdaPp9Opg2zr(yrmLa*=0Ce zXhh8PWI(#iv;uUPq++lMH7P)zs>RacLfb7`qKIpaDJ3Pg{AZn`w2%t@DJ#)JVsu@t zQ8_u9LGC66BAnH3-CtkMnU$_Spo&v0(Q4Jj=FRon4;EX?w;!xE+FzBJvDRE(XfCgn zpuDr*xYulzApEAa+*&U|mo^a-39XiE)m9j?E)5&18%J1WH6Qz|Z@Y_vX_JLngX3`O z5WEbh9XL_XHYjOXZVTljZ4AoGanxaI%?dVYeta6<-4gWH$7$2!*p_s5wZ|C6-ArSK zO~xVgg3&Jrj@8rlX0AQ@h(yOT+u05<^D}VKfj>&r_S-XxM7!NN7SQc^%y8gbo<1`Y znt`_*_-pS)G0_^c(c@VHXc<5UPWp;r1-hcv`?eAtS&9P}>xop-N?{xf=dNca(M-z4W{~m$Nfa^@vOW29!^+}5>h#})C6Uy1F0~Hd#NWYYf zYlY{NejTW-%2@gA79RCDaB5`0nRJ&Ni#TwwJ?fz`w^iCnpNelMTEaF|9FIALxx?|q zQ2D)K1wMA*@Qxr_flu+!%jTg9e1_R^Y#`&1R{=y!+NR_brvlgU=FT zM>6B1IK#nGWft$pkm53;IQXpn0>|&qzVZ{i`dc#Z4Bjmw;B^-777?l7HF!Pwb`A)l zZ?AhEzip#US-J%6LJr!c321K=qP>}eb|n|>ZKxNb&E=q7&p`ut7v96YKfSy6a}d7F sL6`;)B{BscB+{zk+lM&*2(L?c0o=rE7G_WrpTHHk3fE90H{gqZ0Q*L|Z~y=R literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/TencentSmsClient.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/client/impl/TencentSmsClient.class new file mode 100644 index 0000000000000000000000000000000000000000..a226c0378ef8f6bb630d2ab18b4d683538839f00 GIT binary patch literal 9698 zcmeHNTXWk)6h51#mE+#h+w=}Mz^lywBe24 zzzjcuzrYO4z#9*|^LH4|N_H&A>qsVUr)83iFDsq>&UMe8v+`g6{Q5fp%)+VyBLp6L zT+dk=vvW_iH7%#xIp*k&L3wVyX=qN)a*U=)bKbh=Q!BT^HH$uX_-f9xyqxZEn$t~2 zZ9m5>*UZ(Zt>d6-d4=Gr0;2>T4UaV+06#!Xb zqikjQDb;;dM~;rKE>pD)l2uE-$~=|X2IEL#uH&s0%7w`cb%i??j-NI0o}p%SQ}aA^ zg_+cQm0S#pjD-NMrmt#ss!r&3wiUS9AaJu`;AX?X&29v4R=8gTE{ZM!H!A{nLNy%f zslpJJ=IagBM|;s1E@~g;fq|SAOC=jvaeEv?Yaw%oqZ4e2A9g6Z<8sFyTiF9wW$#k% zGFcF`HggiuHGO8r5pFAL8;o*|>y35QSqYX~ke)VgAYmTTF^MzWe{4TJ7N&NIXsYk1 zT9D*kJ&`1H$4Hp>Jk0PCA{2gbv_wYPie<20N~DPzb-VLX$h-Zb>SgIXWS*5Z$~iM= zjHOVUDz%M8>bbMEN(^z?vFkA;iQJorsEo@fhS@E;9u!M4WQo}Itudl;RcmnPxrU`m z496O$^tR^4Pz_P8;qepYmqq=CW2klNSB=%Y>z0hnWLQm!Vnd$&g1XBS#u79Z^E@nT zL)uW!|CBBAoNMc1DS8rHrpInpD+`GnH+;f@7EWUJ1EGeR%Po^Ewvy$D1S=8cUZgr@ zYcyFVNhF@IS`Yvd-$z%apzE8iljp%2#qwJ7hpEAvoi9qZPwSM&Sie8j%UGWnXoLA_ ziFphY_MF3O)bmA7>a9Ja!PH-!C{;v^eA8fl)z|!{SG1e*()Q(&mrRq^H8aoaO$!Up z;tQR+L0i4GrhV7o0DkL>(PgY8CEF~kqksA?<9SQd^Jd-Q%x}nS9P(S!I1}4*It{1b z?R{_@R078`y~i!$tm0sq*>s_4EmK|-lf=1)>367DF-dMq& z0(hi%q;r(Ev7w*u?NQe^9p5<#z2nEfK84FDx;puH(N%(9?@e+h-On*=u2z z&5HxN;7AW`aWsP5-i4=9@F^LcOW@S@jJQDVGF}YvPXDsgzwGocqJImTu}Id5Svap} z|AJe)t8tHF0&O)PVHrl?lx)i{2l(DO56x<}>CU9~`iWu)ENfD@h1G~}7SFRE` zk$Er^DRaZ=Q32+UlaJgFZiB@ci>$drQp2{g!70X=t6||B?!d;L2wy?3``<* zn{#L0dC9!8g!2e|GyuXK2?Bu&kcCmmp**7~%SE^xNcJ(>BGmZ`ezqkPKR*dIyDE{e zCdK~@K1Z8`sMn;Z9g9y%P@hRrzkutA+L2l&Z3p*D3GNRPT!1{xpkLZ(g^2DQv{?z- zk5aTbxPfS)?(-W~6p;TTpIAiiog|EVm^He+CGGW*1cOeFW~n*Z2wW e6klg>g)Bl1mf#!s79PT5_zsrAfE8%K#eV@sCNI?h literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/enums/SmsChannelEnum.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/enums/SmsChannelEnum.class new file mode 100644 index 0000000000000000000000000000000000000000..e22088d92126981bbf1a39de1cf45fe3e86282ba GIT binary patch literal 3223 zcmeHJTW=dh6h2d&_(FP16QHz6lW>cn>{94ci%{Lfq!zBL5<69&s`2h5o_Kf0%*-16 z7x+U+Ai+C73UOw~N^NBuR-jfq@UT9f+qrz_oNwljKY#fR0QTTc6)q6y8y$ry6EZwu zQx--t6e?0N*WoOSnF>=CX9*9@%vhd=N1CPl2c^fMNlh3j%|k9T{Ckj^-4TX9o)7yXEZ*{*VaM*nn_U{o`ZFM`(20a4Re!I8Z z?)7o%;h^=j-662@q|@sR2vl641lGGRJUy^l$YVTTkr*j~`Z2c;X1n>mlby30o3G0M zinCdTbp-8&cWteeuE7QYK9HIll}vd|Bb81>!mLn|PP7^(JT-S|qwZs&5vE01I^^{9 zgjJMLJDc!Ey`?pq4Xj8C_B9%C72aBdx8WT`?<*mN{hGjL5e$duXIDtx%hDm&eTGgr zU{%DDL#Blr&nK&hsK;|-r+F4o0ynMk8tw zDgNUG<6hK`ydAiEBgpalr?xyoBAqC0X(S7ZsaSB{XrotFxec!}>i%#zc=04S?-S)0rHTsEA9 zb$Aoja(OYA6{y1{xQu$P;Or-;ji7A&3Rj=4U;7z0f5*`UxQ@T8`N|f&o6i7_Zoo}k zdvCr*Q92!WmUL_t=(w2cSo4)0*gR!TH%UvRk#RPRp!%6N=FfTIUaZskp zPrUG@JEFA~G#Fg1z%!xe$v4xdC_RJr@ZQnz>(PT_2GjBX?Zj;ct;xgT@Mtn&(6~Do zjTtmurqq~}8V9Aul~NCRYS8gOK`y*pa8FF(j|F}ACOQc+4p9+T z{QcLnYKBx^80&d`(eWV526pa-q!MpS>5biTCEGS0qxZPoI5@clg?qzAC4;C_pMHVS zIu0(fqBvJldG5+0IJEI4A>ey;w0uH(^8KKzQl~gm8q=8HFP#r;SNln4N-xbRazWRz z_$O4|!z`enl}6eaY| z9M@Hi!CtR_Rtnm1lffUCNXaj%@EAlBQ(B34Dd|&TJYRQJvSe^={O_Qos@5LYGN<9e zNC(9!`lrzTo}$8M52;MAueSv~2CoFplIpi1WEKY9`?Z8msI<8|p8|uI=wGIB z=Q`{{6M*{Gx^IV`M9_hV`WYu{m1*)euCG3quCBz zr)RJOYH!iATa6>QQQ=a3hj-3F3wvs`cekK*x1cqE)1Do8uktRU(IL%mQG1^nK%ZKZ J-hKcd{RJwB8`A&) literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/property/SmsChannelProperties.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/sms/core/property/SmsChannelProperties.class new file mode 100644 index 0000000000000000000000000000000000000000..2b419e68c847df41c1c4b85df913c0fef59b594e GIT binary patch literal 8333 zcmeHMTXWk)6h3m(ICVpM8A>T_VOwrC7m53&DWxSznG9~rkTwj=Fw92U*xN|EW_K0v zFJlH~;GG}Ea8?`J(u^9bL~h8?2iwwm^_{bOuKVe)zkmA!09N646B-`;pj8+ol#AdY z-K9Y&0xm-tF%=Bch{_<5Q5v&A54B-Qu&rpqewJz{(1{L0saP;ja=?@s1{;Z9=~E$C z{Iwh6OgCZ9gVPyuOhqraxAl;P#)AfrJecoxrRXhtaPgZ|7@n|ovCB2zirFn8q@jjO zp*=X!y(`V#G>&m*GhtfO9>Y=1dxDx&;q}?>M8bwqJOgdn$JUa88RBzuc1b9a4)|AW zh)?6i1`8EKT~3BHj<;yI^FYNO9Pcr+j>;{xJ0tZj<>Ax8K%oxbQYBE1M(pFeG)^-u zVwr5oo#0C*n4*S7R`3c6Zo=~(oSNvkrj%3*@Pc=0=Yc>p8Sk=)gfbcMI9oNrO~q|U z^fl5tVV@%*Zmcw9i;?ksBMBvDIABkwJl&VabB6nUMiOTFG9u{ix3ZvUcgVJq2{HJe z^(s;p&***IOlgAR?7W0)jZv^SKa0Fd&RCSc9vxV=O(c~hKe1pcF0tkZo777qy*yK;vSiblw*oz2@?jJtSrlBHPIE# zN(m;XgsZWx->hws^;EK=mNPcSO!lF;0u0t8u+Ou|lYOfDd)eerJ$)8FWZSzbM<93h zdSa7YR+%EMzDf11u0qJnA~XO)^Mr{or#hf9la8D2yp;5rxF-0p!mAdx88q>9`7y}>!t=SWff*qtehf;_@vz615(S!5^d zrUV(Q;%u?J0Izv)Wq(Ei2?bG zSvU6R$VJ2zQgwJ#%#Qp_gh)|k1cAb(;eQeF!A9%Z4k=>jsn%l$$nqk4Os6e@E1-=@w#%scA;RTVC zj`j79qn7U@6RqJ2V9CRmR`bw+Gg5q}%df|I$i#cb@ElChfTG2YSqP<81x5C@t*N7I>iuO*eXz$jF_Fk=M z?_*55IBntYhiJ!qtUkV7=is9;qK)W-p?UBze6o*zlU!2W?>-&JMA?e}4dP|E_6Sd& npe>hVC$A*e9fQx%1`W88N=Xie;KWq3|!2Ed&KP&$LSSYi2 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/web/config/SystemWebConfiguration.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/framework/web/config/SystemWebConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..fac21f0d95dd346fe5ee563694deeab8e6893ef4 GIT binary patch literal 1788 zcmc&#TTc`*6h4K8-5pmzF5ZY*d0Jj(UVIW`f_MqZB8iK5dFyt%vxS*&LuwfI3@$xX2w%>f`@||<$`;X6G0pKanI!q9FYYmSwCRMb@4p_uhBsJHu zFwwAxnT|3Y7paKs&^nPteZw+wsLg(KD0&gssxOnMTb{iUy^V5R80Mr_b*K@TD@jwP zl4!fPC%7Xp{YWb59ut^sukI44ZJ@C_GzrX}VxJkKO#`lwN%vYAVRd>SV#;-v%d{k? zxzW8;WcDEqnmYqQ-7pu_6NKJaSQ(?7DWx6l3Hpm9q??XPOQnjXL4VRA9`%J0ilc?T z(HX8k6nGZXkf+RA+Lx)Y|I$h<(6DzPXMCR}g065C9;*_Ts)Us)VWmoVqDqLWgq12Q zG}gjWAAZIhA5e!`5=S}4e3lv2554+fnY-VyQ)NbGxi*e+H74gH2yK$k=0>U{*8K9| zlMw&ZCnL2whLk!@Sy@&=b2H0R$)%&V$c4c=RMwe-J8fuHXzf*BQ-z8}Un*Zmc!KY& zNHHa+=#Xv|*7*}eQKq~e74aER(0n5B=zQs(_2`As=t{hu3$>oh3&8JuBX!W7+JY&VA+Xf$oc3kcdEwT4-_CY0hL=Uw6K02DD-xLRXwK4IW~5&qZ`RyE zS_1Doe{0OF5m>C+U^FM_PkXg9x`){1SA}vi6PxNlT8VzH`w3Cb6m)aC<8!~(fSUw9 zUSjh6cclmfU0oP1p5u_h=*ExYvbnuvBg$ho=5UN24Sf__!VPq6>u{IA%xKmKw6>(R zDEtl%Sqt|8XE**q04DHl3a0U1$JGPeCHM@!K;zwf@CjPqO3W(c|8vC4;yykr))Q)W@o{Gp`28}fhlF^-Q&7~Y%C^W^= pVEc1497?)omDtW;bJIRrIlD#-cK?gx4DSJh#q?*6!D{LR>o0B3FSY;x literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/job/DemoJob.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/job/DemoJob.class new file mode 100644 index 0000000000000000000000000000000000000000..1ca319bf876014ca04288e42b1a9b91e9cb4ab81 GIT binary patch literal 2505 zcmeHJL2n#26nUS=*FP=k=F1eBl+k=nEpN3X}5IGM2r+Y_?C z3<)H-^P>=-XR@1=u684Y5C;x39(z82@Ad+RW2hVB~bgA~tnf7{AsHeu*AcD5WGfIZfl()5$3ecNhYNNwf zjNaIM{E|_38{YNkO<1}#{phnuy1_?^Pf1d~7r6FZn_N3Au$bW2SUF`RER3Bk(f^^wznrJC5Z?2# zE|mW_t>g-ZqXU(Yr{YNQ4QbMgG^R}&(>9H1o5mDr+~B!Yp2yXeBFJMN5EOM@VTo6X zppG=EBW*%;4cd0yx~!}VT$(u%{ZAsSJ4$`!v^g3(QK}!UJ6-1bi8vK5h~+S7tPZ-E z3*3f8tx*QCdQEyfSS}i&CjGs#Dzwyr`x<)+$~Hc@S_bQQE8WeG z6X5C+-189g`j3E`DmaG;nr@ugwkD|auxkrc(7CvwM)()UbQY|ggX<#OQo9(P(17j? zs84H*);EWj#j}miRxGZoL&)O0x*REYC{QmMtqrXd#Y^FI>|YFa!?8x0elq;KhX=}f zPn|1S2bg#?&zaZ#V|4Gz;8Y`Ex;30BVQYonXKZqfGhjM@am+5#`oG3z$NA!T;pl$e zoZH{v3}iI8xGOZLM@-bL+#zl2dnVQ#><5&;U9FsO@_5pt4ajh|1zKVE=o2ts7Ns6N zdgboXDj4?mwfETThdA6leMGo3;Htx@LpSIq+8%nbT|wJH+ouHYTj+fbBtx70LWA$u z-uj7d|JGpc;vHv1mV0;)S`@9*+s)WJ^e&hpZ-Vwd+V}8G89Q;jVSF%$@$MYPE`5MG Z9r|$Q>qGQ89-`0iB-F*aK8ClS{t4JN9MJ#( literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/job/package-info.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/job/package-info.class new file mode 100644 index 0000000000000000000000000000000000000000..0291f860b670029f002c0c19a97a77a884593ba2 GIT binary patch literal 154 zcmYk0I}XAy5CxyZClVDj+yeFlbcmLM6KtF%a6E3DjyuceXcfWar{lOUw<{ztVGT j=v=j8dxOWo1`#VmCM9UotH&YoF&3&R~4AYqC7doZ6I~F-&i}e8qv*~D(8Bf zJQY7OzcsUdh0mn__5AlW(M!mV23Dax;V&q8ms%Q39~7bRKYH0;-oj zmCjUFNDQujp|tW}BH;e+vxrvrk%|s&gX%ZMsUV?7gkNv>ZIF_Tv;pL=Or>7er1 zl@=NuSzgE=jXiCP;N>hi;iueszBHJ92-s+;k*|LUlX=51+Wl z_tfhSLIG)6dr*|Q63R1ImD1vLYUgbwys>O{{QA4$q*XeTBc;RX!VKPdl_LQc=$IW= z&W9PG7}r6mGvWnMuRAXxEm8fg`m~@QO|ToOLghtGYr#HrQ!QFBbMJ?!q2c6Sz0b1( z-2$3ZHs$ncbdR>^^$mKJ-iYXSf3dLpa8~w0#obJi=f_nsl=g_Dh}KO*@cbFKDvTTB zsy|lf4&SE#ZTmt8=o;PRC!$;Z^M29Tniwzb3>J0LI{$m?bU&g${zX@~L~wQ1y8nl* zMH?N|J@jkzBkb;67yHeBL0!cox{;n&nL2CrN#5(wN7(rJk|xs~+FdX<`s&ap_`N_~ zxbzbd(Z->24iY*-qjhwj(7*AIvqEpt8ePYzgHd?)YU>T!Sg^fP+akzv6V{s;J;3S+ z&)zSz^~3gSKhf>qYRnzn0}J7L6ZgOZ6ujK6ZTIMH_zb>!c)o+@ySV0zE5TkfvL%dn emM~tU9jsZQ_s%)r$M^$WpW<3alpj)`KK=`s02~nj literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/mq/consumer/sms/SmsSendConsumer.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/mq/consumer/sms/SmsSendConsumer.class new file mode 100644 index 0000000000000000000000000000000000000000..e4ba333547920fe92b477c1bcce39028d3eedfba GIT binary patch literal 2497 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 U9sGTazg4v9UFgF5@F66B0bWsoK>z>% literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/mq/producer/sms/SmsProducer.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/mq/producer/sms/SmsProducer.class new file mode 100644 index 0000000000000000000000000000000000000000..379ed2c829824def61538d5a69eafc3c387b4305 GIT binary patch literal 3116 zcmeHJTW{Mo6h2DQD0Z_Y&D!1CZESXPc9C}J%jTd!k=?Q>?NDbK_Q*)I!&o8}lFI5| zHeds`_r2{84f`m^jf1#VQxts~3|Zpg;dc%XKb~{`{`dDkiRdf(JfyjRzOyEc3occB z$d7rPs#xk&XTrpzD&smXbXMgewj=9A5f?{sX&^~4Zwnju3j5>9IHZMuR%?))t3iBk z|4^hZp!r-60$NM78N@d4-#UyFJs1en4e0v)N;z4GZFMZI+|R`wrL^NtYGnhuk(`3{ zs+dyp^3(!VJY|9W&46nKq9v7n6yl)Od3QlA7QF5j8G{o z^o=esKB_R6u_(>CwX835VV|d!Ou(>rpycV04+L9JRdm9csOC&G=1er^OjI026V627 z%sR`ou*~ng;4VF24gnGmN^Ex;6ts*yEu%VY7c?=Bhb&5M981-VNMBH6OtAvE+~sxpBM+xej0DWIj_7c4x?$(~Q@oZMXdT29LoucHu9*bj((zFu0M*I#Z=i8#cajoeh7xDwT=8RQ^U` z2H(8O0ez|+v7O2~KLahsm8a(zcuJ|=nxu^eug)i(h6RaMO{daxo?g!jM1F;qpmL_ zD+!2nw<`99+2yDVbv;aZzQ>L9;}hY6JCG=R-zU$iCi_Zg5vH>N2;}C7n{VQKj^28RwCHteBsK$SeFoAzt=AZD*M7Hw_72AH;`t2EDx~jGhd!W>;Acdi F{09mP?2iBd literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/package-info.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/package-info.class new file mode 100644 index 0000000000000000000000000000000000000000..3047ce8a72a01df1525f9b02b76bdf1562f745da GIT binary patch literal 150 zcmYk0I}XAy5CxyZ#}XAZ+yb^vk7y}4!D26wLu?~EM#|MFH~@!2Bvia&su}6MKhGC{ z1GGk^Q0HXGvkTPngUJMP(L^hWhGIFAkG6C|dC0wZy0f`)BRdzaQDd&K{#6}^hEA7O gOs}vy$C8X3T_*~g|6)JMTR>qpKA5Jk7+GQY1vLpOJ^%m! literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthService.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthService.class new file mode 100644 index 0000000000000000000000000000000000000000..4d08daf3beff87792064839633e8509778597749 GIT binary patch literal 2554 zcmcguZEqAe5FP``UM>fL04XmmHQ_DcWtS34fdr%oiWGFbC>J8}(eXMLC%g7x`_kr@ zAyKLQ&W}PJdzajXtdxsH`{CB-@pxuD&*K??{_^Q>0C)~hA~-_er8PXsnN-Op+hz$@ ziPT)D!X!KWl<6ebX+IN*-LX#Oi4|sBa*?pU+ejAET&hL<*D0hC93yZtn8}#xCU4d@ z1$P7*3p|rbx~Bw=&djb7IQ9%3L@-8RVxaxIG1@d>oQ%x9Q$|>wZHtt0o%dwMoYac; zj9$w`ZXeU;*vf{WZl@=xHxPSwap8_~rj&McP0+7KV!Gt0v{b588jL90!KHO!gyQI7 z-RKzxI`lMNKDgI z3rqd6bLRL4b(kITXAjR>wTMW^9_cvb>@fC=Ovt>ajiX%EUS{fhTOT&99nB@n{-Yp5@P-m{jT8;g7<^IkS7|Hy#B5-A}7tIK`#my0E} zEv>{*-ZH~-fr(r6RXy|pOCV|ouHc4IG_U*EWG>Z3S6-QL=y8iz0?F%p4*^U~N#@;~ z60{n&q&I=HBXA~2zX2hFM@XKM z6%inRD$kYTf)HrElGb8hS;6Op9VLLT7JM%O_$xL7qd1RncJr(BFKE1m*D69$`me##c8+_ i#;b5Gc)1?FH(&wBDU5XnBfJeU+=Y8^A0EI%c>FK>rX+v> literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthServiceImpl.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..0864b44feee4a4fc050e713caa3c1f6161414122 GIT binary patch literal 9835 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptService.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptService.class new file mode 100644 index 0000000000000000000000000000000000000000..4b0e2a50f36c4212a219111413cfdb93e6ed021f GIT binary patch literal 3572 zcmdT{ZExFD6h1DaPQ1P?+t|in+!h$=Hf&zT+gdtU(oU5;Dv`E`kGJ-1a))DQwiA(G zh6ECP=jZSP5YN4K>~xL5(;^TbTKk@J?sJ~=W}W>0=g+?qQJWr{v|!L~5_?Xc%g}ks zN8Is3M@C-ci`W?teI7ae$R7s6NybSk`c5L^k@SS)i$UtN@voB!OuAsunnnnC*mVw0 zo(eBDsJ86|GL-3#L9aA7j}5xe0=7wYgH}uH-8hco8eKHZKaRp!BvCLDKJ%jfKn6UO zQOE{ybP|Yu@_~5*`VbztP z_-5EY5%D3%Mqp6GjXWM4^H{2LF0{N@@KmUIH0WB>RWF^%=YDI`RS|9(WDN&?Vb(Zj z27i_>0xk8+3CTdf!)Id)O;m-0PwI%LOP#6GYJ1y7@L;oQrgU z;D`ru(u^6w)#=RYzCkg|W+*PJcCII{RZg*t>M42A^cs^67{p9L6=EAuh3Qfe2uQ@ z=XJUPyVtedP3YgCH?{m0y;aB=V S*Pqho^nkW$hrXgm)cy;Mm^X|7 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptServiceImpl.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/dept/DeptServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..9899285f3e063531940f0dfdf017e15ea58a82bd GIT binary patch literal 10357 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 Q5qu1v!sqZMd<}y?0o9&-+W-In literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/dept/PostServiceImpl.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/dept/PostServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..737bedfc740421c73faf3887da97c1d5d79c9d4c GIT binary patch literal 10504 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 literal 0 HcmV?d00001 diff --git a/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/dict/DictDataServiceImpl.class b/yudao-module-system/bin/src/main/java/cn/iocoder/yudao/module/system/service/dict/DictDataServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..31cbdefcffd8aa2482b32a2697dfcead91aa7e79 GIT binary patch literal 10759 zcmeHNOLN>r5bjA#v|d8qF~kW(39mH-iFY720mn{)6FHlB9Yc79u{2)G)=C>aOnl+a zoeRYe-~bm+Q~?E59Qj3@D0-wFt=67+w8=W5Acx(RMy+qUzv=GjotZ!X{`ofmn1