From 90c60a49100f5fa2793597721e14b60eabdc9af5 Mon Sep 17 00:00:00 2001 From: zhangyunjie <1920430866@qq.com> Date: Thu, 15 May 2025 15:34:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=9C=E5=8C=BA=E7=BC=B4=E8=B4=B9?= =?UTF-8?q?=E5=88=86=E6=94=AF=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Readme.md | 4 +- .../controller/SocialLoginController.java | 19 - .../yida/data/auth/manager/UserManager.java | 27 +- .../com/yida/data/auth/mapper/MenuMapper.java | 2 +- .../yida/data/auth/mapper/UserMenuMapper.java | 2 +- .../data/auth/service/SocialLoginService.java | 22 - .../impl/FebsUserDetailServiceImpl.java | 23 +- .../service/impl/SocialLoginServiceImpl.java | 60 +- .../src/main/resources/mapper/MenuMapper.xml | 22 +- .../src/main/resources/mapper/UserMapper.xml | 2 - .../main/resources/mapper/UserMenuMapper.xml | 16 +- febs-common/febs-common-core/pom.xml | 24 +- .../data/common/core/common/ModuleName.java | 9 - .../common/core/common/ResultMsgType.java | 7 - .../data/common/core/entity/CurrentUser.java | 6 - .../common/core/entity/ErrorRecordMsg.java | 68 - .../data/common/core/entity/FebsAuthUser.java | 2 - .../core/entity/applyForm/CoreApplyForm.java | 176 -- .../CoreApplyFormApprovalProcess.java | 90 - .../applyForm/CoreApplyFormFillUser.java | 114 - .../CoreApplyFormFillUserApprovalProcess.java | 125 - ...pplyFormFillUserApprovalProcessRecord.java | 141 - .../entity/applyForm/CoreApplyFormItem.java | 190 -- .../applyForm/CoreApplyFormItemChildren.java | 105 - .../entity/applyForm/CoreApprovalProcess.java | 106 - .../applyForm/CoreApprovalProcessUser.java | 109 - .../entity/applyForm/CoreApprovalRemind.java | 93 - .../entity/applyForm/CoreOfficialSeal.java | 100 - .../attendance/EduAttendanceRecord.java | 6 - .../attendance/EduAttendanceResult.java | 11 +- .../EduAttendanceResultPushReportRecord.java | 80 - .../attendance/EduAttendanceRuleDevice.java | 6 +- .../attendance/EduAttendanceStaffResult.java | 25 +- .../entity/attendance/EduUserStrategy.java | 116 - .../attendance/AttendanceRecord.java | 265 -- .../AttendanceReportPushRecord.java | 104 - .../attendance/AttendanceReportStrategy.java | 199 -- .../attendance/AttendanceResult.java | 196 -- .../attendance/attendance/AttendanceRule.java | 219 -- .../attendance/AttendanceRuleAddress.java | 101 - .../attendance/AttendanceRuleAdmin.java | 70 - .../attendance/AttendanceRuleDevice.java | 87 - .../attendance/AttendanceRuleObj.java | 70 - .../attendance/AttendanceRuleObjUser.java | 59 - .../attendance/AttendanceRuleRemind.java | 77 - .../attendance/AttendanceRuleSpecialDate.java | 76 - .../attendance/AttendanceRuleTime.java | 161 -- .../attendance/AttendanceRuleWhiteList.java | 98 - .../attendance/AttendanceRuleWifi.java | 87 - .../core/entity/classCall/EduClassCall.java | 134 - .../classCall/EduClassCallPushConfig.java | 110 - .../EduClassCallPushConfigProcess.java | 90 - .../EduClassCallPushConfigProcessStaff.java | 91 - .../classCall/EduClassCallStudentRecord.java | 176 -- .../core/entity/constant/AppConstant.java | 31 +- .../entity/constant/CachePrefixConstant.java | 325 +-- .../constant/ConstructionPayConstant.java | 71 - .../core/entity/constant/ConsumeConstant.java | 50 - .../core/entity/constant/FebsConstant.java | 12 +- .../entity/constant/LockPrefixConstant.java | 9 +- .../entity/constant/NoticeTypeConstant.java | 27 - .../core/entity/constant/QywxConstant.java | 43 - .../constant/QywxServiceProviderConstant.java | 110 - .../core/entity/constant/UPayConstant.java | 134 - .../entity/constant/WxPublicConstant.java | 6 - .../hq/HaiqingCallbackCodeConstant.java | 40 - .../entity/constant/hq/HaiqingConstant.java | 128 - .../consume/DeptConsumeTerminalCache.java | 38 - .../core/entity/consume/EduConsumeConfig.java | 45 - .../core/entity/consume/EduConsumeDevice.java | 73 - .../core/entity/consume/EduConsumeOrder.java | 174 -- .../entity/consume/EduConsumeOrderRefund.java | 99 - .../consume/EduConsumeOrderStudent.java | 174 -- .../core/entity/consume/EduConsumeRecord.java | 157 -- .../entity/consume/EduStudentConsumeCard.java | 77 - .../common/core/entity/consume/Recharge.java | 82 - .../dashboard/EduSchoolDashboardData.java | 126 - .../core/entity/notice/app/AppNotice.java | 5 + .../entity/notice/app/inside/PushMessage.java | 1 + .../notice/qywx/TemplateCardStaffNotice.java | 24 - .../notice/qywx/TextCardStaffNotice.java | 19 - .../qywx/inside/TemplateCardNotice.java | 37 - .../entity/notice/qywx/inside/TextCard.java | 29 - .../qywx/inside/templateCard/CardAction.java | 24 - .../templateCard/HorizontalContent.java | 25 - .../notice/qywx/inside/templateCard/Jump.java | 27 - .../qywx/inside/templateCard/MainTitle.java | 18 - .../qywx/inside/templateCard/textNotice.java | 25 - .../core/entity/pay/ConstructionPayOrder.java | 35 - .../common/core/entity/pay/UPayOrder.java | 49 - .../data/common/core/entity/pay/URefund.java | 37 - .../common/core/entity/pay/UnionPayOrder.java | 2 +- .../core/entity/school/EduDeptHomeApp.java | 155 -- .../school/EduSchoolFunctionConfig.java | 43 - .../entity/school/EduSchoolManuscript.java | 4 +- .../entity/screen/EduSchoolDashboardData.java | 269 -- .../screen/EduSchoolDashboardDataBase.java | 98 - .../screen/EduSchoolDashboardDataTeacher.java | 91 - .../smart/ConstructionPayNotifyDTO.java | 86 - .../core/entity/smart/EduGuideStepOrder.java | 195 -- .../entity/smart/EduSmartWelcomeCampus.java | 84 - .../smart/EduSmartWelcomeDepartment.java | 105 - .../entity/smart/EduSmartWelcomeGuide.java | 147 - .../EduSmartWelcomeGuideClassRecord.java | 155 -- .../smart/EduSmartWelcomeGuideDormRecord.java | 128 - .../smart/EduSmartWelcomeGuideRoster.java | 291 -- .../EduSmartWelcomeGuideRosterRelation.java | 131 - ...duSmartWelcomeGuideRosterRelationStep.java | 160 -- .../smart/EduSmartWelcomeGuideStep.java | 180 -- .../smart/EduSmartWelcomeGuideStepClass.java | 207 -- .../EduSmartWelcomeGuideStepClassFix.java | 176 -- .../smart/EduSmartWelcomeGuideStepDorm.java | 178 -- .../EduSmartWelcomeGuideStepDormFix.java | 150 -- .../smart/EduSmartWelcomeGuideStepStaff.java | 108 - .../core/entity/system/BaiduApiConfig.java | 73 - .../entity/system/ConstructionPayConfig.java | 75 - .../data/common/core/entity/system/Dept.java | 8 +- .../common/core/entity/system/EduApp.java | 8 - .../core/entity/system/EduAppTemplate.java | 38 - .../common/core/entity/system/EduBaseApp.java | 63 - .../core/entity/system/EduDeptFunction.java | 40 - .../entity/system/EduQywxServiceProvider.java | 43 - .../system/EduQywxServiceProviderSchool.java | 38 - .../data/common/core/entity/system/Menu.java | 5 +- .../common/core/entity/system/SystemUser.java | 5 - .../core/entity/system/SystemUserMenu.java | 9 - .../common/core/entity/system/UPayConfig.java | 46 - .../common/core/entity/system/WhiteList.java | 42 - .../core/entity/system/enums/RoleEnum.java | 4 +- .../entity/system/enums/SchoolNatureEnum.java | 27 - .../entity/system/enums/SysFunctionEnum.java | 30 - .../entity/user/EduFaceGroupStrategy.java | 150 -- .../entity/user/EduFaceGroupStrategyPlan.java | 69 - .../user/EduFaceGroupStrategyPlanTime.java | 93 - .../user/EduFaceGroupStrategySpecialDate.java | 89 - .../user/EduFaceGroupStrategySpecialTime.java | 91 - .../common/core/entity/user/EduStaffDept.java | 3 - .../common/core/entity/user/EduStudent.java | 39 - .../core/entity/user/EduStudentApply.java | 77 - .../core/entity/user/EduStudentApplyFor.java | 79 - .../common/core/entity/user/EduUserFace.java | 29 +- .../entity/user/enums/StudentStatusEnum.java | 41 - .../entity/user/enums/StudentTypeEnum.java | 28 - .../EduLeaveRequestProcessConfig.java | 126 - ...estProcessConfigApplicableDepartments.java | 57 - ...LeaveRequestProcessConfigApprovalUser.java | 63 - .../EduLeaveRequestProcessConfigView.java | 65 - .../EduLeaveRequestProcessRecord.java | 148 -- .../entity/userLeave/EduLeaveRequestUser.java | 200 -- .../userLeave/EduLeaveRequestUserView.java | 87 - .../data/common/core/enums/AppTypeEnum.java | 31 - .../core/enums/ApprovalRoleTypeEnum.java | 32 - .../common/core/enums/AttendanceResult.java | 28 - .../common/core/enums/AuditStatusEnum.java | 29 - .../common/core/enums/BaiDuModuleEnum.java | 30 - .../enums/ConstructionTradeStateEnum.java | 41 - .../common/core/enums/FileDealStatusEnum.java | 32 - .../common/core/enums/GuideStepTypeEnum.java | 41 - .../common/core/enums/IssuedTypeEnum.java | 31 - .../data/common/core/enums/MsgChannel.java | 4 +- .../yida/data/common/core/enums/PayWay.java | 6 +- .../common/core/enums/QywxAppTypeEnum.java | 31 - .../core/enums/QywxCallbackTypeEnum.java | 27 - .../common/core/enums/RecordTypeEnum.java | 24 - .../core/enums/RegistrationStatusEnum.java | 31 - .../common/core/enums/SchoolFunctionCode.java | 36 - .../core/enums/StaffAttendanceResultEnum.java | 65 - .../core/enums/UPayNotifyResultEnum.java | 31 - .../common/core/enums/UPayTradeStateEnum.java | 53 - .../common/core/enums/UnionPayTypeEnum.java | 2 +- .../data/common/core/enums/UserTypeEnum.java | 31 - .../attendance/AttendanceModeTypeEnum.java | 24 - .../attendance/AttendanceNextDayEnum.java | 24 - .../attendance/AttendanceReportTypeEnum.java | 24 - .../attendance/AttendanceResultEnum.java | 45 - .../AttendanceStrategyTypeEnum.java | 17 - .../enums/attendance/AttendanceTypeEnum.java | 24 - .../attendance/AttendanceUserTypeEnum.java | 29 - .../attendance/AttendanceWifiStatusEnum.java | 23 - .../core/enums/leave/ApprovalResultEnum.java | 44 - .../core/enums/leave/AuditModeEnum.java | 42 - .../enums/leave/LeaveRequestTypeEnum.java | 41 - .../core/enums/school/DeptAppTypeEnum.java | 22 - .../core/enums/school/FunctionConfigCode.java | 24 - .../core/enums/system/MenuShowType.java | 28 - .../common/core/file/IExportExcelClient.java | 31 - .../common/core/file/IExportLargeClient.java | 46 - .../core/file/common/DownloadFileChunk.java | 36 - .../file/common/export/ExportExcelData.java | 47 - .../file/common/export/ExportLargeData.java | 53 - .../file/common/export/SelectExportData.java | 30 - .../core/handler/BaseExceptionHandler.java | 13 +- .../yida/data/common/core/utils/AppUtil.java | 70 +- .../data/common/core/utils/BaiDuUtil.java | 131 - .../core/utils/ConstructionPayUtil.java | 322 --- .../data/common/core/utils/ConsumeUtil.java | 183 -- .../yida/data/common/core/utils/DateUtil.java | 116 - .../yida/data/common/core/utils/FebsUtil.java | 96 +- .../yida/data/common/core/utils/FileUtil.java | 10 +- .../common/core/utils/ThreadPoolUtil.java | 30 - .../yida/data/common/core/utils/UPayUtil.java | 440 --- .../data/common/core/utils/WxPublicUtil.java | 117 +- .../core/utils/WxServiceProviderUtil.java | 407 --- .../yida/data/common/core/utils/WxUtil.java | 210 +- .../core/utils/construction/ABAProvider.java | 64 - .../common/core/utils/construction/DER.java | 96 - .../core/utils/construction/RSAPubKey.java | 111 - .../core/utils/construction/RSASig.java | 62 - .../common/core/utils/file/ChunkUtil.java | 33 - .../main/resources/META-INF/spring.factories | 3 +- .../data/log/aspect/OperationLogAspect.java | 16 +- .../com/yida/data/log/service/LogService.java | 27 +- .../data/rabbit/constant/RabbitConstant.java | 15 - febs-server/attendance/attendance-api/pom.xml | 19 - .../dto/AddAttendanceRecordDTO.java | 105 - .../dto/AddAttendanceReportStrategyDTO.java | 161 -- .../dto/AddAttendanceRuleAddressDTO.java | 55 - .../dto/AddAttendanceRuleAdminDTO.java | 56 - .../attendance/dto/AddAttendanceRuleDTO.java | 174 -- .../dto/AddAttendanceRuleDeviceDTO.java | 43 - .../dto/AddAttendanceRuleObjDTO.java | 40 - .../dto/AddAttendanceRuleRemindDTO.java | 49 - .../dto/AddAttendanceRuleSpecialDateDTO.java | 63 - .../dto/AddAttendanceRuleTimeDTO.java | 102 - .../dto/AddAttendanceRuleWhiteListDTO.java | 31 - .../dto/AddAttendanceRuleWifiDTO.java | 47 - .../dto/AddLeaveRequestStrategyDTO.java | 51 - .../dto/AttendanceCountPageDTO.java | 51 - .../dto/AttendanceDayReportDTO.java | 37 - .../dto/AttendanceFaceMatchDTO.java | 39 - .../dto/AttendanceResultByDayDTO.java | 34 - .../AttendanceResultByStartAndEndTimeDTO.java | 40 - .../dto/AttendanceRuleAdminUserAddDTO.java | 17 - .../dto/AttendanceRuleAdminUserPageDTO.java | 39 - .../dto/AttendanceRuleUserAddDTO.java | 25 - .../dto/AttendanceRuleUserPageDTO.java | 34 - .../dto/AttendanceStatusByMonthDTO.java | 41 - .../dto/AttendanceUserCheckInDTO.java | 47 - .../data/attendance/dto/BssidImportDTO.java | 30 - .../data/attendance/dto/DayReportDataDTO.java | 19 - .../data/attendance/dto/DealRecordDTO.java | 36 - .../yida/data/attendance/dto/DevicePage.java | 16 - .../dto/H5AttendanceRuleWifiDTO.java | 58 - .../data/attendance/dto/IssuedFaceDTO.java | 40 - .../attendance/dto/ListErrorRecordDTO.java | 42 - .../attendance/dto/ManageListUserDTO.java | 50 - .../dto/PageAttendanceRecordDTO.java | 52 - .../attendance/dto/PageAttendanceRuleDTO.java | 46 - .../data/attendance/dto/RemoveFaceDTO.java | 11 - .../dto/UpdateAttendanceRuleStatusDTO.java | 32 - ...RemoteAttendanceDeviceServiceFallback.java | 107 - ...RemoteAttendanceResultServiceFallback.java | 33 - ...moteAttendanceStrategyServiceFallback.java | 106 - .../RemoteUserStrategyServiceFallback.java | 28 - .../feign/RemoteAttendanceDeviceService.java | 71 - .../feign/RemoteAttendanceResultService.java | 19 - .../RemoteAttendanceStrategyService.java | 81 - .../feign/RemoteUserStrategyService.java | 15 - .../attendance/vo/AttdanceResultDetailVO.java | 59 - .../attendance/vo/AttdanceResultTotalVO.java | 30 - .../data/attendance/vo/AttdanceResultVO.java | 58 - .../attendance/vo/AttendanceFaceMatchVO.java | 31 - .../vo/AttendanceRecordExcelVO.java | 50 - .../vo/AttendanceRuleAdminUserVO.java | 49 - .../attendance/vo/AttendanceRuleUserVO.java | 56 - .../data/attendance/vo/AttendanceRuleVO.java | 203 -- .../vo/AttendanceStatusByMonthVO.java | 39 - .../vo/AttendanceUserCheckInVO.java | 32 - .../data/attendance/vo/AttendanceWifiVO.java | 132 - .../data/attendance/vo/ConflictRuleVO.java | 19 - .../yida/data/attendance/vo/DateStatusVO.java | 18 - .../data/attendance/vo/DayReportDataVO.java | 25 - .../com/yida/data/attendance/vo/DetailVO.java | 35 - .../data/attendance/vo/DeviceNumberVO.java | 34 - .../attendance/vo/DeviceOrDeviceGroupVO.java | 14 - .../com/yida/data/attendance/vo/DeviceVO.java | 52 - .../vo/DownLoadAttendanceResultVO.java | 35 - .../data/attendance/vo/ImportBssidDataVO.java | 30 - ...ManageListUserAttendanceDetailTotalVO.java | 18 - .../vo/ManageListUserAttendanceDetailVO.java | 69 - .../data/attendance/vo/ManageListUserVO.java | 41 - .../data/attendance/vo/OnlineCountVO.java | 11 - .../data/attendance/vo/StaRecordCountVO.java | 23 - .../data/attendance/vo/StaffIdentityVO.java | 13 - ...StudentDormAttendanceDayReportExcelVO.java | 98 - .../StudentDormAttendanceResultExcelVO.java | 68 - ...udentDormAttendanceResultTotalExcelVO.java | 66 - .../vo/UserAttendanceResultByDayVO.java | 24 - .../vo/UserAttendanceResultByTimeSlotVO.java | 55 - .../vo/UserAttendanceResultDayAndNumVO.java | 27 - .../main/resources/META-INF/spring.factories | 6 - febs-server/attendance/attendance-biz/pom.xml | 86 - .../attendance/AttendanceApplication.java | 29 - .../configure/ActiveMqConfigure.java | 147 - .../configure/ThreadPollConfigure.java | 26 - .../attendance/constant/MqttConstant.java | 16 - .../AttendanceDeviceController.java | 175 -- .../AttendanceDeviceGroupController.java | 122 - .../AttendanceRecordController.java | 96 - .../AttendanceReportStrategyController.java | 51 - .../AttendanceResultController.java | 119 - .../controller/AttendanceRuleController.java | 163 -- .../EduAttendanceStrategyController.java | 71 - .../H5/H5AttendanceRecordController.java | 38 - .../H5/H5AttendanceRuleController.java | 154 -- .../in/InAttendanceResultController.java | 89 - .../in/InEduAttendanceDeviceController.java | 42 - .../in/InEduUserStrategyController.java | 32 - .../in/InH5AttendanceRuleController.java | 61 - .../attendance/excel/BssidExcelListener.java | 93 - .../mapper/AttendanceRecordMapper.java | 32 - .../AttendanceReportPushRecordMapper.java | 10 - .../AttendanceReportStrategyMapper.java | 15 - .../mapper/AttendanceResultMapper.java | 44 - .../mapper/AttendanceRuleAddressMapper.java | 13 - .../mapper/AttendanceRuleAdminMapper.java | 15 - .../mapper/AttendanceRuleDeviceMapper.java | 14 - .../mapper/AttendanceRuleMapper.java | 89 - .../mapper/AttendanceRuleObjMapper.java | 17 - .../mapper/AttendanceRuleObjUserMapper.java | 14 - .../mapper/AttendanceRuleRemindMapper.java | 14 - .../AttendanceRuleSpecialDateMapper.java | 14 - .../mapper/AttendanceRuleTimeMapper.java | 14 - .../mapper/AttendanceRuleWhiteListMapper.java | 14 - .../mapper/AttendanceRuleWifiMapper.java | 17 - .../EduAttendanceDeviceGroupMapper.java | 28 - .../mapper/EduAttendanceDeviceMapper.java | 47 - .../mapper/EduDeviceGroupMapper.java | 14 - .../mapper/EduUserStrategyMapper.java | 14 - .../repository/ErrorRecordMsgRepository.java | 18 - .../repository/ReceiveMsgRepository.java | 9 - .../service/AttendanceCheckInService.java | 24 - .../service/AttendanceRecordService.java | 53 - .../AttendanceReportPushRecordService.java | 8 - .../AttendanceReportStrategyService.java | 22 - .../service/AttendanceResultService.java | 205 -- .../service/AttendanceRuleAddressService.java | 12 - .../service/AttendanceRuleAdminService.java | 15 - .../service/AttendanceRuleDeviceService.java | 13 - .../service/AttendanceRuleObjService.java | 15 - .../service/AttendanceRuleObjUserService.java | 18 - .../service/AttendanceRuleRemindService.java | 12 - .../service/AttendanceRuleService.java | 156 -- .../AttendanceRuleSpecialDateService.java | 12 - .../service/AttendanceRuleTimeService.java | 15 - .../AttendanceRuleWhiteListService.java | 12 - .../service/AttendanceRuleWifiService.java | 28 - .../EduAttendanceDeviceGroupService.java | 61 - .../service/EduAttendanceDeviceService.java | 103 - .../service/EduAttendanceStrategyService.java | 72 - .../service/EduDeviceGroupService.java | 23 - .../service/EduUserStrategyService.java | 22 - .../service/ErrorRecordMsgService.java | 44 - .../attendance/service/NoticeService.java | 52 - .../impl/AttendanceCheckInServiceImpl.java | 237 -- .../impl/AttendanceRecordServiceImpl.java | 654 ----- ...AttendanceReportPushRecordServiceImpl.java | 21 - .../AttendanceReportStrategyServiceImpl.java | 339 --- .../impl/AttendanceResultServiceImpl.java | 2363 ----------------- .../AttendanceRuleAddressServiceImpl.java | 25 - .../impl/AttendanceRuleAdminServiceImpl.java | 30 - .../impl/AttendanceRuleDeviceServiceImpl.java | 24 - .../impl/AttendanceRuleObjServiceImpl.java | 28 - .../AttendanceRuleObjUserServiceImpl.java | 110 - .../impl/AttendanceRuleRemindServiceImpl.java | 25 - .../impl/AttendanceRuleServiceImpl.java | 852 ------ .../AttendanceRuleSpecialDateServiceImpl.java | 25 - .../impl/AttendanceRuleTimeServiceImpl.java | 37 - .../AttendanceRuleWhiteListServiceImpl.java | 25 - .../impl/AttendanceRuleWifiServiceImpl.java | 101 - .../EduAttendanceDeviceGroupServiceImpl.java | 117 - .../impl/EduAttendanceDeviceServiceImpl.java | 681 ----- .../EduAttendanceStrategyServiceImpl.java | 438 --- .../impl/EduDeviceGroupServiceImpl.java | 32 - .../impl/EduUserStrategyServiceImpl.java | 87 - .../impl/ErrorRecordMsgServiceImpl.java | 84 - .../service/impl/HaiqingCallbackService.java | 888 ------- .../service/impl/NoticeServiceImpl.java | 501 ---- .../yida/data/attendance/utils/FormUtil.java | 99 - .../yida/data/attendance/utils/MqttUtil.java | 95 - .../src/main/resources/banner.txt | 9 - .../src/main/resources/bootstrap.yml | 33 - .../mapper/AttendanceRecordMapper.xml | 78 - .../mapper/AttendanceResultMapper.xml | 316 --- .../mapper/AttendanceRuleAddressMapper.xml | 5 - .../mapper/AttendanceRuleAdminMapper.xml | 32 - .../mapper/AttendanceRuleDeviceMapper.xml | 5 - .../resources/mapper/AttendanceRuleMapper.xml | 390 --- .../mapper/AttendanceRuleObjMapper.xml | 16 - .../mapper/AttendanceRuleRemindMapper.xml | 5 - .../AttendanceRuleSpecialDateMapper.xml | 5 - .../mapper/AttendanceRuleTimeMapper.xml | 5 - .../mapper/AttendanceRuleWhiteListMapper.xml | 5 - .../mapper/AttendanceRuleWifiMapper.xml | 11 - .../mapper/EduAttendanceDeviceGroupMapper.xml | 53 - .../mapper/EduAttendanceDeviceMapper.xml | 74 - febs-server/attendance/pom.xml | 25 - .../excel/DefaultExportExcelClient.java | 154 -- .../excel/DefaultExportLargeClient.java | 285 -- .../data/common/service/CommonService.java | 580 +--- .../dto/apply/ApplyFormDataInputDTO.java | 33 - .../dto/apply/ApplyFormFillSelectPageDTO.java | 45 - .../dto/apply/ApplyFormFillUserDataDTO.java | 40 - .../dto/apply/ApplyFormSelectPageDTO.java | 43 - .../apply/ApprovalFillUserFormPageDTO.java | 36 - .../apply/ApprovalProcessSelectPageDTO.java | 39 - .../dto/apply/ApprovalRemindDTO.java | 37 - .../customForm/dto/apply/AuditFormDTO.java | 54 - .../dto/apply/FormFillUserPageDTO.java | 30 - .../dto/apply/H5ApplyFormSelectPageDTO.java | 37 - .../dto/apply/OfficialSealSaveDTO.java | 36 - .../dto/apply/OfficialSealSelectPageDTO.java | 44 - .../dto/apply/SaveFormProcessDTO.java | 34 - .../SelectApprovalApplyFormDataListDTO.java | 38 - .../dto/apply/SendParentNoticeDTO.java | 60 - .../dto/apply/SendStaffNoticeDTO.java | 93 - .../vo/apply/ApplyFormFillSelectPageVO.java | 70 - .../vo/apply/ApplyFormFillUserDataVO.java | 61 - .../customForm/vo/apply/ApplyFormInfoVO.java | 75 - .../vo/apply/ApplyFormProcessSelectVO.java | 39 - .../vo/apply/ApplyFormSelectPageVO.java | 49 - .../vo/apply/ApprovalApplyFormPageVO.java | 34 - .../vo/apply/ApprovalProcessInfoVO.java | 43 - .../vo/apply/ApprovalProcessSelectPageVO.java | 47 - .../vo/apply/ApprovalRemindInfoVO.java | 40 - .../vo/apply/MyApplyFormPageVO.java | 65 - .../vo/apply/OfficialSealInfoVO.java | 43 - .../vo/apply/OfficialSealSelectPageVO.java | 49 - .../edu-custom-form-biz/pom.xml | 2 +- .../data/form/EduCustomFormApplication.java | 34 - .../controller/CoreApplyFormController.java | 89 - .../CoreApplyFormFillController.java | 37 - .../CoreApprovalProcessController.java | 71 - .../CoreApprovalRemindController.java | 40 - .../CoreOfficialSealController.java | 80 - .../app/AppApplyFormController.java | 76 - .../form/apply/mapper/AppApplyFormMapper.java | 12 - .../apply/mapper/ApplyFormDataMapper.java | 48 - .../CoreApplyFormApprovalProcessMapper.java | 43 - ...pplyFormFillUserApprovalProcessMapper.java | 15 - ...rmFillUserApprovalProcessRecordMapper.java | 15 - .../mapper/CoreApplyFormFillUserMapper.java | 78 - .../CoreApplyFormItemChildrenMapper.java | 14 - .../apply/mapper/CoreApplyFormItemMapper.java | 15 - .../apply/mapper/CoreApplyFormMapper.java | 49 - .../mapper/CoreApprovalProcessMapper.java | 30 - .../mapper/CoreApprovalProcessUserMapper.java | 15 - .../mapper/CoreApprovalRemindMapper.java | 21 - .../apply/mapper/CoreOfficialSealMapper.java | 33 - .../apply/service/AppApplyFormService.java | 85 - .../apply/service/ApplyFormDataService.java | 25 - .../CoreApplyFormApprovalProcessService.java | 43 - ...mFillUserApprovalProcessRecordService.java | 15 - ...plyFormFillUserApprovalProcessService.java | 15 - .../service/CoreApplyFormFillUserService.java | 42 - .../CoreApplyFormItemChildrenService.java | 16 - .../service/CoreApplyFormItemService.java | 16 - .../apply/service/CoreApplyFormService.java | 66 - .../service/CoreApprovalProcessService.java | 68 - .../CoreApprovalProcessUserService.java | 16 - .../service/CoreApprovalRemindService.java | 34 - .../service/CoreOfficialSealService.java | 67 - .../form/apply/service/SendNoticeService.java | 39 - .../service/impl/AppApplyFormServiceImpl.java | 532 ---- .../impl/ApplyFormDataServiceImpl.java | 214 -- ...reApplyFormApprovalProcessServiceImpl.java | 64 - ...lUserApprovalProcessRecordServiceImpl.java | 25 - ...ormFillUserApprovalProcessServiceImpl.java | 25 - .../CoreApplyFormFillUserServiceImpl.java | 47 - .../CoreApplyFormItemChildrenServiceImpl.java | 23 - .../impl/CoreApplyFormItemServiceImpl.java | 25 - .../impl/CoreApplyFormServiceImpl.java | 188 -- .../impl/CoreApprovalProcessServiceImpl.java | 130 - .../CoreApprovalProcessUserServiceImpl.java | 25 - .../impl/CoreApprovalRemindServiceImpl.java | 55 - .../impl/CoreOfficialSealServiceImpl.java | 75 - .../service/impl/SendNoticeServiceImpl.java | 168 -- .../CoreCustomFormAuthController.java | 53 - .../controller/CoreCustomFormController.java | 123 - .../CoreCustomFormDataController.java | 154 -- .../CoreCustomFormGroupController.java | 71 - .../CoreCustomFormModelController.java | 41 - .../CoreCustomFormTypeController.java | 47 - .../InCoreCustomFormController.java | 45 - .../app/AppCustomFormController.java | 145 - .../customForm/entity/FormDataReturn.java | 26 - .../data/form/customForm/entity/RedisKey.java | 14 - .../mapper/CoreCustomFormAuthMapper.java | 14 - .../CoreCustomFormAuthRelationFormMapper.java | 14 - .../mapper/CoreCustomFormDataMapper.java | 42 - .../mapper/CoreCustomFormGroupMapper.java | 23 - .../CoreCustomFormItemChildrenMapper.java | 17 - .../mapper/CoreCustomFormItemsMapper.java | 16 - .../mapper/CoreCustomFormMapper.java | 57 - ...CoreCustomFormModelItemChildrenMapper.java | 14 - .../CoreCustomFormModelItemsMapper.java | 14 - .../mapper/CoreCustomFormModelMapper.java | 14 - .../CoreCustomFormRelationAdminMapper.java | 14 - .../CoreCustomFormRelationUserMapper.java | 31 - ...oreCustomFormRelationUserParentMapper.java | 25 - .../mapper/CoreCustomFormStatisticMapper.java | 14 - .../mapper/CoreCustomFormTopicalMapper.java | 14 - .../mapper/CoreCustomFormTypeMapper.java | 14 - ...CoreCustomFormAuthRelationFormService.java | 15 - .../service/CoreCustomFormAuthService.java | 16 - .../service/CoreCustomFormDataService.java | 74 - .../service/CoreCustomFormGroupService.java | 21 - .../CoreCustomFormItemChildrenService.java | 16 - .../service/CoreCustomFormItemsService.java | 20 - ...oreCustomFormModelItemChildrenService.java | 13 - .../CoreCustomFormModelItemsService.java | 13 - .../service/CoreCustomFormModelService.java | 13 - .../CoreCustomFormRelationAdminService.java | 17 - ...reCustomFormRelationUserParentService.java | 18 - .../CoreCustomFormRelationUserService.java | 41 - .../service/CoreCustomFormService.java | 144 - .../CoreCustomFormStatisticService.java | 18 - .../service/CoreCustomFormTopicalService.java | 17 - .../service/CoreCustomFormTypeService.java | 18 - ...CustomFormAuthRelationFormServiceImpl.java | 27 - .../impl/CoreCustomFormAuthServiceImpl.java | 26 - .../impl/CoreCustomFormDataServiceImpl.java | 433 --- .../impl/CoreCustomFormGroupServiceImpl.java | 40 - ...CoreCustomFormItemChildrenServiceImpl.java | 27 - .../impl/CoreCustomFormItemsServiceImpl.java | 28 - ...ustomFormModelItemChildrenServiceImpl.java | 26 - .../CoreCustomFormModelItemsServiceImpl.java | 26 - .../impl/CoreCustomFormModelServiceImpl.java | 26 - ...oreCustomFormRelationAdminServiceImpl.java | 26 - ...stomFormRelationUserParentServiceImpl.java | 32 - ...CoreCustomFormRelationUserServiceImpl.java | 49 - .../impl/CoreCustomFormServiceImpl.java | 1062 -------- .../CoreCustomFormStatisticServiceImpl.java | 26 - .../CoreCustomFormTopicalServiceImpl.java | 26 - .../impl/CoreCustomFormTypeServiceImpl.java | 25 - .../mapper/apply/AppApplyFormMapper.xml | 7 - .../mapper/apply/ApplyFormDataMapper.xml | 27 - .../CoreApplyFormApprovalProcessMapper.xml | 38 - .../apply/CoreApplyFormFillUserMapper.xml | 101 - .../mapper/apply/CoreApplyFormMapper.xml | 33 - .../apply/CoreApprovalProcessMapper.xml | 23 - .../mapper/apply/CoreOfficialSealMapper.xml | 23 - .../CoreCustomFormAuthAdminMapper.xml | 5 - .../customForm/CoreCustomFormAuthMapper.xml | 5 - .../customForm/CoreCustomFormDataMapper.xml | 36 - .../customForm/CoreCustomFormGroupMapper.xml | 26 - .../CoreCustomFormGroupRelationFormMapper.xml | 5 - .../CoreCustomFormItemChildrenMapper.xml | 4 - .../customForm/CoreCustomFormItemsMapper.xml | 29 - .../customForm/CoreCustomFormMapper.xml | 151 -- .../CoreCustomFormModelItemChildrenMapper.xml | 5 - .../CoreCustomFormModelItemsMapper.xml | 5 - .../customForm/CoreCustomFormModelMapper.xml | 5 - .../CoreCustomFormRelationAdminMapper.xml | 5 - .../CoreCustomFormRelationUserMapper.xml | 37 - ...CoreCustomFormRelationUserParentMapper.xml | 22 - .../CoreCustomFormStatisticMapper.xml | 5 - .../CoreCustomFormTopicalMapper.xml | 5 - .../customForm/CoreCustomFormTypeMapper.xml | 5 - .../dto/consume/ConsumeOrderPageDTO.java | 42 - .../dto/consume/CreateConsumeOrderDTO.java | 54 - .../dto/consume/H5ConsumeOrderPageDTO.java | 36 - .../dto/consume/H5ConsumeRecordPageDTO.java | 36 - .../RemoteConsumeCardServiceFallback.java | 32 - .../RemoteConsumeOrderServiceFallback.java | 36 - .../consume/RemoteConsumeCardService.java | 20 - .../consume/RemoteConsumeOrderService.java | 38 - .../device/vo/consume/ConsumeDeviceVO.java | 53 - .../device/vo/consume/ConsumeOrderPageVO.java | 74 - .../consume/ConsumeOrderStudentCacheVO.java | 44 - .../device/vo/consume/ConsumePayInfoVO.java | 77 - .../vo/consume/ConsumeRefundOrderVO.java | 48 - .../data/device/vo/consume/ConsumeVipVO.java | 52 - .../vo/consume/H5ConsumeOrderPageVO.java | 67 - .../vo/consume/H5ConsumeRecordPageVO.java | 85 - .../main/resources/META-INF/spring.factories | 3 +- .../EduConsumeDeviceController.java | 69 - .../controller/EduConsumeOrderController.java | 46 - .../EduStudentConsumeCardController.java | 36 - .../controller/H5ConsumeController.java | 107 - .../InEduConsumeOrderController.java | 80 - .../controller/out/OutConsumeController.java | 35 - .../mapper/EduConsumeDeviceMapper.java | 21 - .../consume/mapper/EduConsumeOrderMapper.java | 80 - .../mapper/EduConsumeOrderRefundMapper.java | 14 - .../mapper/EduConsumeOrderStudentMapper.java | 14 - .../mapper/EduConsumeRecordMapper.java | 30 - .../mapper/EduStudentConsumeCardMapper.java | 14 - .../service/EduConsumeDeviceService.java | 38 - .../service/EduConsumeOrderRefundService.java | 13 - .../service/EduConsumeOrderService.java | 65 - .../EduConsumeOrderStudentService.java | 14 - .../service/EduConsumeRecordService.java | 14 - .../service/EduStudentConsumeCardService.java | 22 - .../consume/service/H5ConsumeService.java | 132 - .../impl/EduConsumeDeviceServiceImpl.java | 74 - .../EduConsumeOrderRefundServiceImpl.java | 26 - .../impl/EduConsumeOrderServiceImpl.java | 594 ----- .../EduConsumeOrderStudentServiceImpl.java | 24 - .../impl/EduConsumeRecordServiceImpl.java | 24 - .../EduStudentConsumeCardServiceImpl.java | 38 - .../service/impl/H5ConsumeServiceImpl.java | 784 ------ .../config/CardRabbitReceiver.java | 2 +- .../controller/EduStudentCardController.java | 9 +- .../EduStudentCardPhoneController.java | 10 +- .../impl/EduStudentCardAlarmServiceImpl.java | 2 +- .../controller/EduTelephoneController.java | 10 +- .../EduTelephoneOrderController.java | 14 +- .../mapper/consume/EduConsumeDeviceMapper.xml | 26 - .../mapper/consume/EduConsumeOrderMapper.xml | 130 - .../consume/EduConsumeOrderRefundMapper.xml | 5 - .../consume/EduConsumeOrderStudentMapper.xml | 5 - .../mapper/consume/EduConsumeRecordMapper.xml | 19 - .../consume/EduStudentConsumeCardMapper.xml | 5 - .../mall/vo/h5/BillOrderStudentCacheVO.java | 2 +- .../mall/controller/EduBillController.java | 9 + .../mall/mapper/EduBillOrderItemMapper.java | 15 + .../data/mall/mapper/EduBillOrderMapper.java | 6 +- .../mall/service/EduBillOrderItemService.java | 12 + .../mall/service/EduBillOrderService.java | 6 +- .../mall/service/EduBillStudentService.java | 13 + .../data/mall/service/H5EduBillService.java | 2 +- .../impl/EduBillOrderItemServiceImpl.java | 5 + .../service/impl/EduBillOrderServiceImpl.java | 8 +- .../mall/service/impl/EduBillServiceImpl.java | 11 +- .../impl/EduBillStatisticsServiceImpl.java | 2 - .../impl/EduBillStudentServiceImpl.java | 97 +- .../service/impl/H5EduBillServiceImpl.java | 52 +- .../mapper/EduBillOrderItemMapper.xml | 16 +- .../resources/mapper/EduBillOrderMapper.xml | 4 + .../school/dto/classCall/ClassCallAddDTO.java | 43 - .../dto/classCall/ClassCallPageDTO.java | 39 - .../data/school/dto/classCall/StudentDTO.java | 18 - .../config/EduSchoolFunctionConfigDTO.java | 29 - .../school/dto/index/SaveDeptHomeAppDTO.java | 30 - .../screen/SchoolDashboardBaseSaveDTO.java | 33 - .../dto/screen/SchoolDashboardSaveDTO.java | 130 - .../screen/SchoolDashboardTeacherSaveDTO.java | 30 - .../dto/smart/AddUploadFileStepDTO.java | 41 - .../school/dto/smart/ClassFixImportDTO.java | 63 - .../data/school/dto/smart/ClassImportDTO.java | 88 - .../school/dto/smart/CustomDormImportDTO.java | 102 - .../data/school/dto/smart/DormImportDTO.java | 67 - .../school/dto/smart/DormImportFixDTO.java | 49 - .../dto/smart/GuideFillInfoSaveDTO.java | 70 - .../dto/smart/GuideRosterErrorExportDTO.java | 30 - .../dto/smart/GuideRosterImportDTO.java | 76 - .../dto/smart/GuideRosterSelectPageDTO.java | 66 - .../data/school/dto/smart/GuideSaveDTO.java | 51 - .../school/dto/smart/GuideSelectPageDTO.java | 40 - .../school/dto/smart/GuideStepSaveDTO.java | 65 - .../school/dto/smart/StaffPassStepDTO.java | 41 - .../school/dto/smart/UpdateQrCodeInfoDTO.java | 34 - .../dto/smart/h5/CreateGuideStepOrderDTO.java | 60 - .../dto/smart/h5/RosterFaceMatchDTO.java | 38 - .../school/dto/smart/h5/RosterPageDTO.java | 39 - .../dto/transaction/ListApplyFunctionDTO.java | 55 - .../school/dto/userLeave/AuditRequestDTO.java | 72 - .../EduLeaveRequestProcessConfigDTO.java | 93 - .../dto/userLeave/LeaveRequestPageDTO.java | 51 - .../dto/userLeave/ListUserRequestDTO.java | 36 - .../dto/userLeave/SendStaffNoticeDTO.java | 96 - .../RemoteDormitoryServiceFallback.java | 16 - .../RemoteDeptHomeInfoServiceFallback.java | 37 - .../RemoteLeaveRequestServiceFallback.java | 15 +- ...uSchoolFuncationConfigServiceFallback.java | 37 - .../RemoteSmartWelcomeServiceFallback.java | 46 - .../facility/RemoteDormitoryService.java | 22 +- .../index/RemoteDeptHomeIndexService.java | 27 - .../leave/RemoteLeaveRequestService.java | 13 +- ...RemoteEduSchoolFuncationConfigService.java | 36 - .../smart/RemoteSmartWelcomeService.java | 60 - .../ClassCallPushConfigPageInfoVO.java | 37 - .../yida/data/school/vo/index/HomeInfoVO.java | 3 - .../school/vo/index/ManuscriptPageInfoVO.java | 4 + .../school/vo/news/SchoolNoticePageVO.java | 4 - .../vo/screen/SchoolDashboardInfoVO.java | 130 - .../school/vo/smart/ClassFixImportVO.java | 106 - .../data/school/vo/smart/ClassImportVO.java | 116 - .../data/school/vo/smart/DormImportFixVO.java | 77 - .../data/school/vo/smart/DormImportVO.java | 80 - .../school/vo/smart/ExportRosterDataVO.java | 46 - .../data/school/vo/smart/GuideInfoVO.java | 71 - .../school/vo/smart/GuideRosterInfoVO.java | 60 - .../vo/smart/GuideRosterSelectPageVO.java | 75 - .../school/vo/smart/GuideSelectPageVO.java | 64 - .../data/school/vo/smart/GuideStepColVO.java | 33 - .../school/vo/smart/ImportRosterDataVO.java | 35 - .../vo/smart/StatisticsGuideRosterVO.java | 35 - .../vo/smart/WelcomeImportProgress.java | 39 - .../yida/data/school/vo/smart/WxConfigVO.java | 38 - .../smart/h5/GuideStepOrderRosterCacheVO.java | 41 - .../school/vo/smart/h5/RosterFaceMatchVO.java | 35 - .../vo/smart/h5/RosterStepPayInfoVO.java | 53 - .../vo/transcation/DownStudentBuyDataVO.java | 35 - .../transcation/EduProductBuyStudentVO.java | 44 - .../EduLeaveRequestProcessConfigVO.java | 31 - .../EduLeaveRequestStatisticsVO.java | 30 - .../vo/userLeave/EduLeaveRequestUserVO.java | 151 -- .../main/resources/META-INF/spring.factories | 4 +- febs-server/edu-school/edu-school-biz/pom.xml | 152 +- .../data/school/EduSchoolApplication.java | 2 + .../controller/EduClassCallController.java | 58 - .../EduClassCallPushConfigController.java | 48 - .../classCall/mapper/EduClassCallMapper.java | 19 - .../mapper/EduClassCallPushConfigMapper.java | 8 - .../EduClassCallPushConfigProcessMapper.java | 8 - ...ClassCallPushConfigProcessStaffMapper.java | 8 - .../EduClassCallStudentRecordMapper.java | 8 - .../EduClassCallPushConfigProcessService.java | 9 - ...lassCallPushConfigProcessStaffService.java | 9 - .../EduClassCallPushConfigService.java | 12 - .../service/EduClassCallService.java | 30 - .../EduClassCallStudentRecordService.java | 17 - ...ClassCallPushConfigProcessServiceImpl.java | 19 - ...CallPushConfigProcessStaffServiceImpl.java | 20 - .../EduClassCallPushConfigServiceImpl.java | 62 - .../service/impl/EduClassCallServiceImpl.java | 103 - .../EduClassCallStudentRecordServiceImpl.java | 61 - .../in/EduSchoolFunctionConfigController.java | 104 - .../mapper/EduSchoolFunctionConfigMapper.java | 11 - .../EduSchoolFunctionConfigService.java | 12 - .../EduSchoolFunctionConfigServiceImpl.java | 18 - .../CoreExaminationPublishServiceImpl.java | 2 +- .../controller/InEduDormitoryController.java | 36 - .../InEduDormitoryRoomController.java | 19 - .../service/EduDormitoryMasterService.java | 4 +- .../facility/service/EduDormitoryService.java | 2 - .../service/impl/EduDormitoryServiceImpl.java | 47 +- ...ntPhysicalExaminationGroupServiceImpl.java | 2 +- .../controller/EduDeptHomeAppController.java | 79 - .../controller/EduSchoolHomeController.java | 17 +- .../controller/InEduSchoolHomeController.java | 19 +- .../index/mapper/EduDeptHomeAppMapper.java | 16 - .../index/service/EduDeptHomeAppService.java | 22 - .../service/EduSchoolHomeAppService.java | 2 - .../service/EduSchoolHomeCoverService.java | 3 +- .../impl/EduDeptHomeAppServiceImpl.java | 147 - .../impl/EduSchoolHomeAppServiceImpl.java | 3 - .../impl/EduSchoolHomeCoverServiceImpl.java | 169 +- .../impl/EduLeaveRequestServiceImpl.java | 4 +- .../EduLetterBoxConfigController.java | 21 +- .../controller/EduLetterBoxController.java | 50 +- .../controller/H5EduLetterBoxController.java | 53 +- .../out/OutEduLetterBoxController.java | 85 +- .../service/impl/EduLetterBoxServiceImpl.java | 42 +- .../EduSchoolManuscriptController.java | 10 + .../service/EduSchoolManuscriptService.java | 1 + .../service/impl/EduNoticeBuyServiceImpl.java | 6 +- .../impl/EduNoticeSchoolServiceImpl.java | 2 +- .../impl/EduSchoolManuscriptServiceImpl.java | 334 +-- .../impl/EduSchoolMatterServiceImpl.java | 15 +- .../EduSchoolDashboardDataController.java | 42 - .../OutEduSchoolDashboardDataController.java | 34 - .../EduSchoolDashboardDataBaseMapper.java | 14 - .../mapper/EduSchoolDashboardDataMapper.java | 14 - .../EduSchoolDashboardDataTeacherMapper.java | 14 - .../EduSchoolDashboardDataBaseService.java | 14 - .../EduSchoolDashboardDataService.java | 34 - .../EduSchoolDashboardDataTeacherService.java | 14 - ...EduSchoolDashboardDataBaseServiceImpl.java | 25 - .../EduSchoolDashboardDataServiceImpl.java | 122 - ...SchoolDashboardDataTeacherServiceImpl.java | 23 - .../EduSecondClassContentServiceImpl.java | 10 +- .../EduSecondClassVenueOrderServiceImpl.java | 7 +- .../smart/config/ExcelConfiguration.java | 30 - .../smart/config/ExportGuidePicClient.java | 67 - .../EduSmartWelcomeGuideController.java | 242 -- ...uSmartWelcomeGuideStepClassController.java | 78 - ...duSmartWelcomeGuideStepDormController.java | 103 - .../H5EduSmartWelcomeController.java | 117 - .../InEduGuideStepOrderController.java | 46 - .../InEduSmartWelcomeController.java | 61 - .../OutEduSmartWelcomeController.java | 80 - .../smart/excel/CustomDormExcelListener.java | 104 - .../school/smart/excel/ExcelListener.java | 62 - .../smart/excel/GuideRosterExcelListener.java | 122 - .../smart/excel/SelectGuidePicExportData.java | 31 - .../smart/mapper/EduGuideStepOrderMapper.java | 25 - .../mapper/EduSmartWelcomeCampusMapper.java | 8 - .../EduSmartWelcomeDepartmentMapper.java | 8 - ...EduSmartWelcomeGuideClassRecordMapper.java | 11 - .../EduSmartWelcomeGuideDormRecordMapper.java | 11 - .../mapper/EduSmartWelcomeGuideMapper.java | 30 - .../EduSmartWelcomeGuideRosterMapper.java | 42 - ...SmartWelcomeGuideRosterRelationMapper.java | 29 - ...tWelcomeGuideRosterRelationStepMapper.java | 26 - ...duSmartWelcomeGuideStepClassFixMapper.java | 11 - .../EduSmartWelcomeGuideStepClassMapper.java | 16 - ...EduSmartWelcomeGuideStepDormFixMapper.java | 11 - .../EduSmartWelcomeGuideStepDormMapper.java | 13 - .../EduSmartWelcomeGuideStepMapper.java | 14 - .../EduSmartWelcomeGuideStepStaffMapper.java | 14 - .../service/EduGuideStepOrderService.java | 31 - .../service/EduSmartWelcomeCampusService.java | 9 - .../EduSmartWelcomeDepartmentService.java | 10 - ...duSmartWelcomeGuideClassRecordService.java | 11 - ...EduSmartWelcomeGuideDormRecordService.java | 11 - ...martWelcomeGuideRosterRelationService.java | 24 - ...WelcomeGuideRosterRelationStepService.java | 24 - .../EduSmartWelcomeGuideRosterService.java | 170 -- .../service/EduSmartWelcomeGuideService.java | 83 - ...uSmartWelcomeGuideStepClassFixService.java | 11 - .../EduSmartWelcomeGuideStepClassService.java | 67 - ...duSmartWelcomeGuideStepDormFixService.java | 11 - .../EduSmartWelcomeGuideStepDormService.java | 68 - .../EduSmartWelcomeGuideStepService.java | 70 - .../EduSmartWelcomeGuideStepStaffService.java | 13 - .../service/H5EduSmartWelcomeService.java | 83 - .../service/ImportGuideRosterService.java | 37 - .../impl/EduGuideStepOrderServiceImpl.java | 170 -- .../EduSmartWelcomeCampusServiceImpl.java | 20 - .../EduSmartWelcomeDepartmentServiceImpl.java | 52 - ...artWelcomeGuideClassRecordServiceImpl.java | 23 - ...martWelcomeGuideDormRecordServiceImpl.java | 23 - ...WelcomeGuideRosterRelationServiceImpl.java | 78 - ...omeGuideRosterRelationStepServiceImpl.java | 29 - ...EduSmartWelcomeGuideRosterServiceImpl.java | 738 ----- .../impl/EduSmartWelcomeGuideServiceImpl.java | 470 ---- ...rtWelcomeGuideStepClassFixServiceImpl.java | 27 - ...SmartWelcomeGuideStepClassServiceImpl.java | 476 ---- ...artWelcomeGuideStepDormFixServiceImpl.java | 24 - ...uSmartWelcomeGuideStepDormServiceImpl.java | 623 ----- .../EduSmartWelcomeGuideStepServiceImpl.java | 294 -- ...SmartWelcomeGuideStepStaffServiceImpl.java | 26 - .../impl/H5EduSmartWelcomeServiceImpl.java | 604 ----- .../impl/ImportGuideRosterServiceImpl.java | 171 -- .../controller/EduApplyController.java | 21 +- .../EduApplyFunctionController.java | 9 +- .../controller/EduProductController.java | 19 +- .../controller/EduProductModelController.java | 10 +- .../EduProductNoticeStudentController.java | 38 +- .../controller/EduProductOrderController.java | 13 +- .../controller/InEduProductController.java | 13 +- .../EduProductNoticeStudentService.java | 5 +- .../impl/EduProductNoticeServiceImpl.java | 2 +- .../EduProductNoticeStudentServiceImpl.java | 129 +- .../impl/EduProductOrderServiceImpl.java | 63 +- .../transaction/service/impl/Scheduler.java | 2 +- ...ConfigApplicableDepartmentsController.java | 25 - ...stProcessConfigApprovalUserController.java | 25 - ...duLeaveRequestProcessConfigController.java | 67 - ...duLeaveRequestProcessRecordController.java | 30 - .../EduLeaveRequestUserController.java | 170 -- .../in/InEduLeaveRequestUserController.java | 52 - ...cessConfigApplicableDepartmentsMapper.java | 15 - ...equestProcessConfigApprovalUserMapper.java | 15 - .../EduLeaveRequestProcessConfigMapper.java | 26 - ...duLeaveRequestProcessConfigViewMapper.java | 16 - .../EduLeaveRequestProcessRecordMapper.java | 15 - .../mapper/EduLeaveRequestUserMapper.java | 60 - .../mapper/EduLeaveRequestUserViewMapper.java | 16 - ...essConfigApplicableDepartmentsService.java | 16 - ...questProcessConfigApprovalUserService.java | 14 - .../EduLeaveRequestProcessConfigService.java | 37 - ...uLeaveRequestProcessConfigViewService.java | 17 - .../EduLeaveRequestProcessRecordService.java | 15 - .../service/EduLeaveRequestUserService.java | 80 - .../EduLeaveRequestUserViewService.java | 15 - ...onfigApplicableDepartmentsServiceImpl.java | 26 - ...tProcessConfigApprovalUserServiceImpl.java | 26 - ...uLeaveRequestProcessConfigServiceImpl.java | 138 - ...veRequestProcessConfigViewServiceImpl.java | 26 - ...uLeaveRequestProcessRecordServiceImpl.java | 28 - .../impl/EduLeaveRequestUserServiceImpl.java | 1381 ---------- .../EduLeaveRequestUserViewServiceImpl.java | 29 - .../impl/EduVisitorRecordServiceImpl.java | 2 +- .../src/main/resources/bootstrap.yml | 1 - .../classCall/EduClassScheduleMapper.xml | 20 - .../mapper/index/EduDeptHomeAppMapper.xml | 5 - .../mapper/news/EduNoticeSchoolMapper.xml | 28 +- .../mapper/news/EduNoticeSystemMapper.xml | 1 - .../mapper/news/EduSchoolManuscriptMapper.xml | 20 +- .../EduSchoolDashboardDataBaseMapper.xml | 5 - .../screen/EduSchoolDashboardDataMapper.xml | 5 - .../EduSchoolDashboardDataTeacherMapper.xml | 5 - .../mapper/smart/EduGuideStepOrderMapper.xml | 17 - .../smart/EduSmartWelcomeGuideMapper.xml | 25 - .../EduSmartWelcomeGuideRosterMapper.xml | 56 - ...uSmartWelcomeGuideRosterRelationMapper.xml | 42 - ...rtWelcomeGuideRosterRelationStepMapper.xml | 27 - .../EduSmartWelcomeGuideStepClassMapper.xml | 15 - .../EduSmartWelcomeGuideStepDormMapper.xml | 9 - .../smart/EduSmartWelcomeGuideStepMapper.xml | 5 - .../EduSmartWelcomeGuideStepStaffMapper.xml | 5 - ...ocessConfigApplicableDepartmentsMapper.xml | 5 - ...RequestProcessConfigApprovalUserMapper.xml | 5 - .../EduLeaveRequestProcessConfigMapper.xml | 42 - ...EduLeaveRequestProcessConfigViewMapper.xml | 5 - .../EduLeaveRequestProcessRecordMapper.xml | 5 - .../userLeave/EduLeaveRequestUserMapper.xml | 117 - .../EduLeaveRequestUserViewMapper.xml | 5 - .../template/固定宿舍学生导入模板.xlsx | Bin 10105 -> 0 bytes .../template/固定班级学生导入模板.xlsx | Bin 10143 -> 0 bytes .../resources/template/宿舍预选导入模板.xlsx | Bin 10150 -> 0 bytes .../resources/template/班级预选导入模板.xlsx | Bin 10171 -> 0 bytes .../resources/template/花名册导入模板.xls | Bin 18432 -> 0 bytes .../data/user/dto/CardErrorExportDTO.java | 33 - .../com/yida/data/user/dto/CardImportDTO.java | 36 - .../user/dto/ImportStaffInformationDTO.java | 25 - .../data/user/dto/ImportStudentTypeDTO.java | 25 - .../data/user/dto/ListStudentApplyDTO.java | 91 - .../data/user/dto/ListStudentApplyForDTO.java | 80 - .../com/yida/data/user/dto/ManagerDTO.java | 11 - .../yida/data/user/dto/OutPageStudentDTO.java | 32 - .../yida/data/user/dto/PageStudentDTO.java | 6 - .../yida/data/user/dto/StaffImportDTO.java | 77 - .../data/user/dto/StrategyPlanSaveDTO.java | 31 - .../user/dto/StrategyPlanTimeSaveDTO.java | 37 - .../yida/data/user/dto/StrategySaveDTO.java | 71 - .../user/dto/StrategySpecialDateSaveDTO.java | 41 - .../user/dto/StrategySpecialTimeSaveDTO.java | 37 - .../data/user/dto/StudentDormExportDTO.java | 40 - .../yida/data/user/dto/StudentExportDTO.java | 72 +- .../data/user/dto/WelcomeInviteImportDTO.java | 111 - .../dto/h5/ListUserDeptAttendanceDTO.java | 32 - .../RemoteFaceGroupDeviceServiceFallback.java | 35 - ...emoteFaceGroupStrategyServiceFallback.java | 31 - .../fallback/RemoteStaffServiceFallback.java | 31 - .../RemoteStudentApplyServiceFallback.java | 44 - .../RemoteStudentServiceFallback.java | 22 - .../RemoteTeacherServiceFallback.java | 9 +- .../RemoteUserDeptServiceFallback.java | 15 - .../RemoteUserDeviceServiceFallback.java | 10 - .../feign/RemoteFaceGroupDeviceService.java | 36 - .../feign/RemoteFaceGroupStrategyService.java | 19 - .../data/user/feign/RemoteStaffService.java | 63 +- .../user/feign/RemoteStudentApplyService.java | 28 - .../data/user/feign/RemoteStudentService.java | 35 - .../data/user/feign/RemoteTeacherService.java | 4 +- .../user/feign/RemoteUserDeptService.java | 31 +- .../user/feign/RemoteUserDeviceService.java | 30 - .../user/feign/RemoteUserFaceService.java | 9 - .../data/user/vo/ClassAttendanceDataVO.java | 55 - .../com/yida/data/user/vo/DeptManagetVO.java | 16 - .../com/yida/data/user/vo/DownLoadPicVO.java | 2 +- .../vo/DownLoadStaffAttendanceRecordVO.java | 35 - .../java/com/yida/data/user/vo/ManagerVo.java | 10 - .../yida/data/user/vo/OutPageStudentVO.java | 46 - .../com/yida/data/user/vo/StrategyInfoVO.java | 71 - .../yida/data/user/vo/StrategyPlanTimeVO.java | 48 - .../com/yida/data/user/vo/StrategyPlanVO.java | 40 - .../data/user/vo/StrategySpecialDateVO.java | 50 - .../data/user/vo/StrategySpecialTimeVO.java | 37 - .../user/vo/StudentApplyImportErrorVO.java | 13 - .../user/vo/StudentApplyImportProgressVO.java | 13 - .../data/user/vo/StudentApplyImportVO.java | 53 - .../data/user/vo/StudentApplyStatusVO.java | 15 - .../com/yida/data/user/vo/TeacherDeptVO.java | 8 - .../com/yida/data/user/vo/UserInfoVO.java | 10 +- .../main/resources/META-INF/spring.factories | 5 +- febs-server/edu-user/edu-user-biz/pom.xml | 2 +- .../data/user/config/ExcelConfiguration.java | 40 - .../data/user/config/ExportStudentClient.java | 91 - .../user/config/ExportStudentDormClient.java | 99 - .../user/controller/EduCourseController.java | 8 +- .../EduFaceGroupStrategyController.java | 41 - .../user/controller/EduStaffController.java | 240 +- .../controller/EduStudentApplyController.java | 148 -- .../EduStudentApplyForController.java | 84 - .../user/controller/EduStudentController.java | 118 +- .../controller/EduStudentDormController.java | 35 +- .../controller/EduUserDeptController.java | 57 +- .../controller/EduUserDeviceController.java | 5 +- .../controller/EduUserFaceController.java | 25 +- .../controller/InEduUserDeptController.java | 52 +- .../controller/InEduUserDeviceController.java | 39 +- .../controller/InEduUserFaceController.java | 22 +- .../user/controller/InStaffController.java | 49 +- .../in/InEduFaceGroupDeviceController.java | 36 - .../in/InEduFaceGroupStrategyController.java | 37 - .../controller/in/InEduStaffController.java | 95 - .../in/InEduStudentApplyController.java | 53 - .../controller/in/InStudentController.java | 51 +- .../out/OutEduStudentController.java | 28 +- .../out/OutEduUserDeptController.java | 46 - .../WebEduSchoolWelcomeStudentController.java | 5 +- .../user/excel/CardDataDataExcelListener.java | 105 - .../excel/SelectStudentDormExportData.java | 46 - .../user/excel/SelectStudentExportData.java | 67 - .../user/excel/StaffDataExcelListener.java | 90 - .../listener/ImportStudentTypeListener.java | 108 - .../listener/importStudentApplyListener.java | 47 - .../data/user/mapper/EduFaceGroupMapper.java | 3 +- .../mapper/EduFaceGroupStrategyMapper.java | 22 - .../EduFaceGroupStrategyPlanMapper.java | 27 - .../EduFaceGroupStrategyPlanTimeMapper.java | 14 - ...EduFaceGroupStrategySpecialDateMapper.java | 27 - ...EduFaceGroupStrategySpecialTimeMapper.java | 14 - .../user/mapper/EduFaceGroupUserMapper.java | 10 +- .../yida/data/user/mapper/EduStaffMapper.java | 3 +- .../user/mapper/EduStudentApplyForMapper.java | 16 - .../user/mapper/EduStudentApplyMapper.java | 21 - .../data/user/mapper/EduStudentMapper.java | 33 +- .../user/mapper/EduTeacherDeptMapper.java | 22 +- .../service/EduFaceGroupDeviceService.java | 5 - .../user/service/EduFaceGroupService.java | 2 +- .../EduFaceGroupStrategyPlanService.java | 26 - .../EduFaceGroupStrategyPlanTimeService.java | 14 - .../service/EduFaceGroupStrategyService.java | 34 - ...duFaceGroupStrategySpecialDateService.java | 26 - ...duFaceGroupStrategySpecialTimeService.java | 13 - .../user/service/EduFaceGroupUserService.java | 16 +- .../EduSchoolStudentInformationService.java | 2 +- .../data/user/service/EduStaffService.java | 56 +- .../service/EduStudentApplyForService.java | 33 - .../user/service/EduStudentApplyService.java | 55 - .../user/service/EduStudentDormService.java | 16 - .../data/user/service/EduStudentService.java | 60 +- .../user/service/EduTeacherDeptService.java | 10 - .../data/user/service/EduUserDeptService.java | 41 +- .../service/ImportWelcomeStudentService.java | 19 +- .../data/user/service/QywxSyncService.java | 2 +- .../impl/EduFaceGroupDeviceServiceImpl.java | 78 +- .../service/impl/EduFaceGroupServiceImpl.java | 89 +- .../EduFaceGroupStrategyPlanServiceImpl.java | 32 - ...uFaceGroupStrategyPlanTimeServiceImpl.java | 26 - .../impl/EduFaceGroupStrategyServiceImpl.java | 241 -- ...ceGroupStrategySpecialDateServiceImpl.java | 32 - ...ceGroupStrategySpecialTimeServiceImpl.java | 27 - .../impl/EduFaceGroupUserServiceImpl.java | 129 +- ...duSchoolStudentInformationServiceImpl.java | 4 +- .../service/impl/EduStaffServiceImpl.java | 1168 +++----- .../impl/EduStudentApplyServiceForImpl.java | 137 - .../impl/EduStudentApplyServiceImpl.java | 426 --- .../impl/EduStudentDormServiceImpl.java | 85 +- .../service/impl/EduStudentServiceImpl.java | 307 +-- .../service/impl/EduTeachDeptServiceImpl.java | 16 +- .../service/impl/EduUserDeptServiceImpl.java | 762 +----- .../impl/EduUserDeviceFactoryServiceImpl.java | 8 +- .../service/impl/EduUserFaceServiceImpl.java | 149 +- .../impl/ImportWelcomeStudentServiceImpl.java | 298 +-- .../service/impl/QywxSyncServiceImpl.java | 231 +- .../src/main/resources/bootstrap.yml | 1 - .../resources/mapper/EduFaceGroupMapper.xml | 97 +- .../mapper/EduFaceGroupStrategyMapper.xml | 18 - .../mapper/EduFaceGroupStrategyPlanMapper.xml | 46 - .../EduFaceGroupStrategyPlanTimeMapper.xml | 5 - .../EduFaceGroupStrategySpecialDateMapper.xml | 45 - .../EduFaceGroupStrategySpecialTimeMapper.xml | 5 - .../mapper/EduFaceGroupUserMapper.xml | 339 ++- .../resources/mapper/EduStaffDeptMapper.xml | 1 - .../main/resources/mapper/EduStaffMapper.xml | 735 +++-- .../mapper/EduStudentApplyForMapper.xml | 35 - .../mapper/EduStudentApplyMapper.xml | 59 - .../resources/mapper/EduStudentMapper.xml | 154 +- .../resources/mapper/EduTeacherDeptMapper.xml | 12 - .../mapper/EduUserDeviceFactoryMapper.xml | 6 +- .../template/学生基础信息导入模板.xls | Bin 36352 -> 0 bytes .../template/学生开通应用导入模板.xls | Bin 19968 -> 0 bytes .../resources/template/校园卡号导入模板.xls | Bin 19456 -> 0 bytes febs-server/febs-server-generator/Dockerfile | 7 - febs-server/febs-server-generator/pom.xml | 35 - febs-server/febs-server-generator/run.sh | 4 - .../FebsServerGeneratorApplication.java | 24 - .../controller/GeneratorConfigController.java | 45 - .../controller/GeneratorController.java | 111 - .../server/generator/entity/FieldType.java | 13 - .../generator/helper/GeneratorHelper.java | 149 -- .../mapper/GeneratorConfigMapper.java | 11 - .../generator/mapper/GeneratorMapper.java | 60 - .../service/GeneratorConfigService.java | 25 - .../generator/service/GeneratorService.java | 55 - .../impl/GeneratorConfigServiceImpl.java | 34 - .../service/impl/GeneratorServiceImpl.java | 49 - .../resources/ValidationMessages.properties | 6 - .../src/main/resources/banner.txt | 9 - .../src/main/resources/bootstrap.yml | 27 - .../generator/templates/controller.ftl | 33 - .../resources/generator/templates/entity.ftl | 100 - .../resources/generator/templates/mapper.ftl | 14 - .../generator/templates/mapperXml.ftl | 5 - .../resources/generator/templates/service.ftl | 18 - .../generator/templates/serviceImpl.ftl | 32 - .../main/resources/mapper/GeneratorMapper.xml | 58 - .../febs-server-job-biz/pom.xml | 2 +- .../yida/data/job/task/AttendanceTask.java | 61 +- .../java/com/yida/data/job/task/BillTask.java | 2 +- .../com/yida/data/job/task/ConsumeTask.java | 32 - .../com/yida/data/job/task/GuideTask.java | 27 - .../yida/data/job/task/ProductUpdateTask.java | 2 - .../java/com/yida/data/job/task/UserTask.java | 18 - .../com/yida/data/system/dto/ListLogDTO.java | 5 - .../system/dto/QywxCallbackHandleDTO.java | 58 - .../data/system/dto/SchoolInformationDTO.java | 2 +- .../fallback/RemoteAppServiceFallback.java | 12 - .../RemoteBaiDuApiConfigServiceFallback.java | 33 - .../RemoteBaseAppServiceFallback.java | 24 - ...eConstructionPayConfigServiceFallback.java | 33 - .../RemoteConsumeConfigServiceFallback.java | 31 - .../RemoteDeptFunctionServiceFallback.java | 31 - .../fallback/RemoteDeptUserviceFallback.java | 10 - .../fallback/RemoteQywxServiceFallback.java | 38 - .../RemoteUPayConfigServiceFallback.java | 31 - .../RemoteWhiteListServiceFallback.java | 31 - .../data/system/feign/RemoteAppService.java | 9 - .../feign/RemoteBaiDuApiConfigService.java | 23 - .../system/feign/RemoteBaseAppService.java | 17 - .../RemoteConstructionPayConfigService.java | 19 - .../feign/RemoteConsumeConfigService.java | 17 - .../feign/RemoteDeptFunctionService.java | 27 - .../data/system/feign/RemoteDeptService.java | 29 +- .../data/system/feign/RemoteDictService.java | 24 - .../data/system/feign/RemoteQywxService.java | 40 - .../system/feign/RemoteUPayConfigService.java | 17 - .../system/feign/RemoteWhiteListService.java | 25 - .../main/resources/META-INF/spring.factories | 9 +- .../yida/data/system/aes/WXBizMsgCrypt.java | 51 +- .../system/configure/InitializeRunner.java | 74 +- .../configure/QywxHandleRabbitReceiver.java | 70 - .../data/system/configure/RabbitConfig.java | 26 +- .../system/configure/SysRabbitReceiver.java | 4 + .../system/controller/CommonController.java | 23 +- .../system/controller/DeptController.java | 60 +- .../system/controller/DictController.java | 24 +- .../controller/EduBaseAppController.java | 34 - .../EduInstructionsContentController.java | 22 +- .../EduInstructionsTypeController.java | 8 +- .../InBaiDuApiConfigController.java | 42 - .../InBaseDeptHomeAppController.java | 37 - .../InConstructionPayConfigController.java | 39 - .../controller/InConsumeConfigController.java | 38 - .../system/controller/InDeptController.java | 49 +- .../controller/InDeptFunctionController.java | 37 - .../system/controller/InDictController.java | 65 - .../system/controller/InEduAppController.java | 22 - .../system/controller/InQywxController.java | 133 +- .../controller/InUPayConfigController.java | 38 - .../system/controller/InUserController.java | 18 +- .../controller/InWhiteListController.java | 35 - .../system/controller/LoginLogController.java | 6 +- .../system/controller/MenuController.java | 23 +- .../system/controller/OutDeptController.java | 14 + .../system/controller/RoleController.java | 10 +- .../system/controller/UserController.java | 32 +- .../system/mapper/BaiduApiConfigMapper.java | 14 - .../mapper/ConstructionPayConfigMapper.java | 14 - .../mapper/DeptSchoolInformationMapper.java | 19 +- .../system/mapper/EduAppTemplateMapper.java | 14 - .../data/system/mapper/EduBaseAppMapper.java | 14 - .../system/mapper/EduConsumeConfigMapper.java | 14 - .../system/mapper/EduDeptFunctionMapper.java | 14 - .../mapper/EduQywxServiceProviderMapper.java | 14 - .../EduQywxServiceProviderSchoolMapper.java | 14 - .../yida/data/system/mapper/MenuMapper.java | 11 - .../data/system/mapper/UPayConfigMapper.java | 14 - .../yida/data/system/mapper/UserMapper.java | 2 - .../data/system/mapper/WhiteListMapper.java | 14 - .../system/service/BaiduApiConfigService.java | 13 - .../data/system/service/CommonService.java | 21 - .../service/ConstructionPayConfigService.java | 15 - .../system/service/EduAppTemplateService.java | 14 - .../system/service/EduBaseAppService.java | 13 - .../service/EduConsumeConfigService.java | 14 - .../service/EduDeptFunctionService.java | 13 - .../EduQywxServiceProviderSchoolService.java | 14 - .../EduQywxServiceProviderService.java | 14 - .../data/system/service/IDeptService.java | 23 +- .../data/system/service/IMenuService.java | 3 +- .../data/system/service/IUserService.java | 13 - .../yida/data/system/service/LogService.java | 19 +- .../system/service/QywxCallbackService.java | 15 +- .../system/service/QywxHandleService.java | 39 - .../yida/data/system/service/QywxService.java | 10 - .../service/QywxServiceProviderService.java | 104 - .../system/service/UPayConfigService.java | 14 - .../data/system/service/WhiteListService.java | 14 - .../impl/BaiduApiConfigServiceImpl.java | 25 - .../service/impl/CommonServiceImpl.java | 91 +- .../ConstructionPayConfigServiceImpl.java | 27 - .../DeptSchoolInformationServiceImpl.java | 18 +- .../system/service/impl/DeptServiceImpl.java | 354 ++- .../impl/EduAppTemplateServiceImpl.java | 24 - .../service/impl/EduBaseAppServiceImpl.java | 26 - .../impl/EduConsumeConfigServiceImpl.java | 25 - .../impl/EduDeptFunctionServiceImpl.java | 25 - ...uQywxServiceProviderSchoolServiceImpl.java | 26 - .../EduQywxServiceProviderServiceImpl.java | 24 - .../system/service/impl/MenuServiceImpl.java | 20 +- .../service/impl/QywxCallbackServiceImpl.java | 333 ++- .../service/impl/QywxHandleServiceImpl.java | 246 -- .../system/service/impl/QywxServiceImpl.java | 225 +- .../impl/QywxServiceProviderServiceImpl.java | 371 --- .../system/service/impl/RoleServiceImpl.java | 7 +- .../impl/SystemUserMenuServiceImpl.java | 61 +- .../service/impl/UPayConfigServiceImpl.java | 25 - .../system/service/impl/UserServiceImpl.java | 168 +- .../service/impl/WhiteListServiceImpl.java | 25 - .../mapper/DeptSchoolInformationMapper.xml | 508 ++-- .../resources/mapper/EduBaseAppMapper.xml | 5 - .../mapper/EduConsumeConfigMapper.xml | 5 - .../mapper/EduDeptFunctionMapper.xml | 5 - .../EduSchoolInquireCommonQuestionMapper.xml | 106 +- .../src/main/resources/mapper/MenuMapper.xml | 88 +- .../resources/mapper/UPayConfigMapper.xml | 5 - .../src/main/resources/mapper/UserMapper.xml | 20 +- .../main/resources/mapper/WhiteListMapper.xml | 5 - febs-server/pom.xml | 3 - 1198 files changed, 3752 insertions(+), 72555 deletions(-) delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/ErrorRecordMsg.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyForm.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormApprovalProcess.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormFillUser.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormFillUserApprovalProcess.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormFillUserApprovalProcessRecord.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormItem.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormItemChildren.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApprovalProcess.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApprovalProcessUser.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApprovalRemind.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreOfficialSeal.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceResultPushReportRecord.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduUserStrategy.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRecord.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceReportPushRecord.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceReportStrategy.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceResult.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRule.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleAddress.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleAdmin.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleDevice.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleObj.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleObjUser.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleRemind.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleSpecialDate.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleTime.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleWhiteList.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleWifi.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCall.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCallPushConfig.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCallPushConfigProcess.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCallPushConfigProcessStaff.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCallStudentRecord.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/ConstructionPayConstant.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/ConsumeConstant.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/NoticeTypeConstant.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/QywxServiceProviderConstant.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/UPayConstant.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/hq/HaiqingCallbackCodeConstant.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/hq/HaiqingConstant.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/DeptConsumeTerminalCache.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeConfig.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeDevice.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeOrder.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeOrderRefund.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeOrderStudent.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeRecord.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduStudentConsumeCard.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/Recharge.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/dashboard/EduSchoolDashboardData.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/TemplateCardStaffNotice.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/TextCardStaffNotice.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/TemplateCardNotice.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/TextCard.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/CardAction.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/HorizontalContent.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/Jump.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/MainTitle.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/textNotice.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/pay/ConstructionPayOrder.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/pay/UPayOrder.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/pay/URefund.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/school/EduDeptHomeApp.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/school/EduSchoolFunctionConfig.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/screen/EduSchoolDashboardData.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/screen/EduSchoolDashboardDataBase.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/screen/EduSchoolDashboardDataTeacher.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/ConstructionPayNotifyDTO.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduGuideStepOrder.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeCampus.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeDepartment.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuide.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideClassRecord.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideDormRecord.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideRoster.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideRosterRelation.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideRosterRelationStep.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStep.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepClass.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepClassFix.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepDorm.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepDormFix.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepStaff.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/BaiduApiConfig.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/ConstructionPayConfig.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduAppTemplate.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduBaseApp.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduDeptFunction.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduQywxServiceProvider.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduQywxServiceProviderSchool.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/UPayConfig.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/WhiteList.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/enums/SchoolNatureEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/enums/SysFunctionEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategy.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategyPlan.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategyPlanTime.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategySpecialDate.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategySpecialTime.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduStudentApply.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduStudentApplyFor.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/enums/StudentStatusEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/enums/StudentTypeEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessConfig.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessConfigApplicableDepartments.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessConfigApprovalUser.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessConfigView.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessRecord.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestUser.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestUserView.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/AppTypeEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/ApprovalRoleTypeEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/AuditStatusEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/BaiDuModuleEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/ConstructionTradeStateEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/FileDealStatusEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/GuideStepTypeEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/IssuedTypeEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/QywxAppTypeEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/QywxCallbackTypeEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/RecordTypeEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/RegistrationStatusEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/SchoolFunctionCode.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/StaffAttendanceResultEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/UPayNotifyResultEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/UPayTradeStateEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/UserTypeEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceModeTypeEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceNextDayEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceReportTypeEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceResultEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceStrategyTypeEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceTypeEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceUserTypeEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceWifiStatusEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/leave/ApprovalResultEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/leave/AuditModeEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/leave/LeaveRequestTypeEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/school/DeptAppTypeEnum.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/school/FunctionConfigCode.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/system/MenuShowType.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/IExportExcelClient.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/IExportLargeClient.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/common/DownloadFileChunk.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/common/export/ExportExcelData.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/common/export/ExportLargeData.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/common/export/SelectExportData.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/BaiDuUtil.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/ConstructionPayUtil.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/ConsumeUtil.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/ThreadPoolUtil.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/UPayUtil.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/WxServiceProviderUtil.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/construction/ABAProvider.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/construction/DER.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/construction/RSAPubKey.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/construction/RSASig.java delete mode 100644 febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/file/ChunkUtil.java delete mode 100644 febs-server/attendance/attendance-api/pom.xml delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRecordDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceReportStrategyDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleAddressDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleAdminDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleDeviceDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleObjDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleRemindDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleSpecialDateDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleTimeDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleWhiteListDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleWifiDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddLeaveRequestStrategyDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceCountPageDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceDayReportDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceFaceMatchDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceResultByDayDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceResultByStartAndEndTimeDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceRuleAdminUserAddDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceRuleAdminUserPageDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceRuleUserAddDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceRuleUserPageDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceStatusByMonthDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceUserCheckInDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/BssidImportDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/DayReportDataDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/DealRecordDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/DevicePage.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/H5AttendanceRuleWifiDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/IssuedFaceDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/ListErrorRecordDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/ManageListUserDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/PageAttendanceRecordDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/PageAttendanceRuleDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/RemoveFaceDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/UpdateAttendanceRuleStatusDTO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/fallback/RemoteAttendanceDeviceServiceFallback.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/fallback/RemoteAttendanceResultServiceFallback.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/fallback/RemoteAttendanceStrategyServiceFallback.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/fallback/RemoteUserStrategyServiceFallback.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/feign/RemoteAttendanceDeviceService.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/feign/RemoteAttendanceResultService.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/feign/RemoteAttendanceStrategyService.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/feign/RemoteUserStrategyService.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttdanceResultDetailVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttdanceResultTotalVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttdanceResultVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceFaceMatchVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceRecordExcelVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceRuleAdminUserVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceRuleUserVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceRuleVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceStatusByMonthVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceUserCheckInVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceWifiVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ConflictRuleVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DateStatusVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DayReportDataVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DetailVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DeviceNumberVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DeviceOrDeviceGroupVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DeviceVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DownLoadAttendanceResultVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ImportBssidDataVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ManageListUserAttendanceDetailTotalVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ManageListUserAttendanceDetailVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ManageListUserVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/OnlineCountVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StaRecordCountVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StaffIdentityVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StudentDormAttendanceDayReportExcelVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StudentDormAttendanceResultExcelVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StudentDormAttendanceResultTotalExcelVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/UserAttendanceResultByDayVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/UserAttendanceResultByTimeSlotVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/UserAttendanceResultDayAndNumVO.java delete mode 100644 febs-server/attendance/attendance-api/src/main/resources/META-INF/spring.factories delete mode 100644 febs-server/attendance/attendance-biz/pom.xml delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/AttendanceApplication.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/configure/ActiveMqConfigure.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/configure/ThreadPollConfigure.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/constant/MqttConstant.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceDeviceController.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceDeviceGroupController.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceRecordController.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceReportStrategyController.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceResultController.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceRuleController.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/EduAttendanceStrategyController.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/H5/H5AttendanceRecordController.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/H5/H5AttendanceRuleController.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/in/InAttendanceResultController.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/in/InEduAttendanceDeviceController.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/in/InEduUserStrategyController.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/in/InH5AttendanceRuleController.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/excel/BssidExcelListener.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRecordMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceReportPushRecordMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceReportStrategyMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceResultMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleAddressMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleAdminMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleDeviceMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleObjMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleObjUserMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleRemindMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleSpecialDateMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleTimeMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleWhiteListMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleWifiMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/EduAttendanceDeviceGroupMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/EduAttendanceDeviceMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/EduDeviceGroupMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/EduUserStrategyMapper.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/repository/ErrorRecordMsgRepository.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/repository/ReceiveMsgRepository.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceCheckInService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRecordService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceReportPushRecordService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceReportStrategyService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceResultService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleAddressService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleAdminService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleDeviceService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleObjService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleObjUserService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleRemindService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleSpecialDateService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleTimeService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleWhiteListService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleWifiService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduAttendanceDeviceGroupService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduAttendanceDeviceService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduAttendanceStrategyService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduDeviceGroupService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduUserStrategyService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/ErrorRecordMsgService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/NoticeService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceCheckInServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRecordServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceReportPushRecordServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceReportStrategyServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceResultServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleAddressServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleAdminServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleDeviceServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleObjServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleObjUserServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleRemindServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleSpecialDateServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleTimeServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleWhiteListServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleWifiServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduAttendanceDeviceGroupServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduAttendanceDeviceServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduAttendanceStrategyServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduDeviceGroupServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduUserStrategyServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/ErrorRecordMsgServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/HaiqingCallbackService.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/NoticeServiceImpl.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/utils/FormUtil.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/utils/MqttUtil.java delete mode 100644 febs-server/attendance/attendance-biz/src/main/resources/banner.txt delete mode 100644 febs-server/attendance/attendance-biz/src/main/resources/bootstrap.yml delete mode 100644 febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRecordMapper.xml delete mode 100644 febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceResultMapper.xml delete mode 100644 febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleAddressMapper.xml delete mode 100644 febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleAdminMapper.xml delete mode 100644 febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleDeviceMapper.xml delete mode 100644 febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleMapper.xml delete mode 100644 febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleObjMapper.xml delete mode 100644 febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleRemindMapper.xml delete mode 100644 febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleSpecialDateMapper.xml delete mode 100644 febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleTimeMapper.xml delete mode 100644 febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleWhiteListMapper.xml delete mode 100644 febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleWifiMapper.xml delete mode 100644 febs-server/attendance/attendance-biz/src/main/resources/mapper/EduAttendanceDeviceGroupMapper.xml delete mode 100644 febs-server/attendance/attendance-biz/src/main/resources/mapper/EduAttendanceDeviceMapper.xml delete mode 100644 febs-server/attendance/pom.xml delete mode 100644 febs-server/edu-common/src/main/java/com/yida/data/common/excel/DefaultExportExcelClient.java delete mode 100644 febs-server/edu-common/src/main/java/com/yida/data/common/excel/DefaultExportLargeClient.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApplyFormDataInputDTO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApplyFormFillSelectPageDTO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApplyFormFillUserDataDTO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApplyFormSelectPageDTO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApprovalFillUserFormPageDTO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApprovalProcessSelectPageDTO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApprovalRemindDTO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/AuditFormDTO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/FormFillUserPageDTO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/H5ApplyFormSelectPageDTO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/OfficialSealSaveDTO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/OfficialSealSelectPageDTO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/SaveFormProcessDTO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/SelectApprovalApplyFormDataListDTO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/SendParentNoticeDTO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/SendStaffNoticeDTO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormFillSelectPageVO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormFillUserDataVO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormInfoVO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormProcessSelectVO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormSelectPageVO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApprovalApplyFormPageVO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApprovalProcessInfoVO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApprovalProcessSelectPageVO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApprovalRemindInfoVO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/MyApplyFormPageVO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/OfficialSealInfoVO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/OfficialSealSelectPageVO.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/EduCustomFormApplication.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreApplyFormController.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreApplyFormFillController.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreApprovalProcessController.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreApprovalRemindController.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreOfficialSealController.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/app/AppApplyFormController.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/AppApplyFormMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/ApplyFormDataMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormApprovalProcessMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormFillUserApprovalProcessMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormFillUserApprovalProcessRecordMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormFillUserMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormItemChildrenMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormItemMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApprovalProcessMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApprovalProcessUserMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApprovalRemindMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreOfficialSealMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/AppApplyFormService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/ApplyFormDataService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormApprovalProcessService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormFillUserApprovalProcessRecordService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormFillUserApprovalProcessService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormFillUserService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormItemChildrenService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormItemService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApprovalProcessService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApprovalProcessUserService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApprovalRemindService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreOfficialSealService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/SendNoticeService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/AppApplyFormServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/ApplyFormDataServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormApprovalProcessServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormFillUserApprovalProcessRecordServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormFillUserApprovalProcessServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormFillUserServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormItemChildrenServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormItemServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApprovalProcessServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApprovalProcessUserServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApprovalRemindServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreOfficialSealServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/SendNoticeServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormAuthController.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormController.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormDataController.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormGroupController.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormModelController.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormTypeController.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/InCoreCustomFormController.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/app/AppCustomFormController.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/entity/FormDataReturn.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/entity/RedisKey.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormAuthMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormAuthRelationFormMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormDataMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormGroupMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormItemChildrenMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormItemsMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormModelItemChildrenMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormModelItemsMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormModelMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormRelationAdminMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormRelationUserMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormRelationUserParentMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormStatisticMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormTopicalMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormTypeMapper.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormAuthRelationFormService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormAuthService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormDataService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormGroupService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormItemChildrenService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormItemsService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormModelItemChildrenService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormModelItemsService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormModelService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormRelationAdminService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormRelationUserParentService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormRelationUserService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormStatisticService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormTopicalService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormTypeService.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormAuthRelationFormServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormAuthServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormDataServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormGroupServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormItemChildrenServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormItemsServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormModelItemChildrenServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormModelItemsServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormModelServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormRelationAdminServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormRelationUserParentServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormRelationUserServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormStatisticServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormTopicalServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormTypeServiceImpl.java delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/AppApplyFormMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/ApplyFormDataMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreApplyFormApprovalProcessMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreApplyFormFillUserMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreApplyFormMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreApprovalProcessMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreOfficialSealMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormAuthAdminMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormAuthMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormDataMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormGroupMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormGroupRelationFormMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormItemChildrenMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormItemsMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormModelItemChildrenMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormModelItemsMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormModelMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormRelationAdminMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormRelationUserMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormRelationUserParentMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormStatisticMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormTopicalMapper.xml delete mode 100644 febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormTypeMapper.xml delete mode 100644 febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/dto/consume/ConsumeOrderPageDTO.java delete mode 100644 febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/dto/consume/CreateConsumeOrderDTO.java delete mode 100644 febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/dto/consume/H5ConsumeOrderPageDTO.java delete mode 100644 febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/dto/consume/H5ConsumeRecordPageDTO.java delete mode 100644 febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/fallback/RemoteConsumeCardServiceFallback.java delete mode 100644 febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/fallback/RemoteConsumeOrderServiceFallback.java delete mode 100644 febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/feign/consume/RemoteConsumeCardService.java delete mode 100644 febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/feign/consume/RemoteConsumeOrderService.java delete mode 100644 febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeDeviceVO.java delete mode 100644 febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeOrderPageVO.java delete mode 100644 febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeOrderStudentCacheVO.java delete mode 100644 febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumePayInfoVO.java delete mode 100644 febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeRefundOrderVO.java delete mode 100644 febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeVipVO.java delete mode 100644 febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/H5ConsumeOrderPageVO.java delete mode 100644 febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/H5ConsumeRecordPageVO.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/EduConsumeDeviceController.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/EduConsumeOrderController.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/EduStudentConsumeCardController.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/H5ConsumeController.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/InEduConsumeOrderController.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/out/OutConsumeController.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeDeviceMapper.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeOrderMapper.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeOrderRefundMapper.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeOrderStudentMapper.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeRecordMapper.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduStudentConsumeCardMapper.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeDeviceService.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeOrderRefundService.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeOrderService.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeOrderStudentService.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeRecordService.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduStudentConsumeCardService.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/H5ConsumeService.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeDeviceServiceImpl.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeOrderRefundServiceImpl.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeOrderServiceImpl.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeOrderStudentServiceImpl.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeRecordServiceImpl.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduStudentConsumeCardServiceImpl.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/H5ConsumeServiceImpl.java delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeDeviceMapper.xml delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeOrderMapper.xml delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeOrderRefundMapper.xml delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeOrderStudentMapper.xml delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeRecordMapper.xml delete mode 100644 febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduStudentConsumeCardMapper.xml delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/classCall/ClassCallAddDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/classCall/ClassCallPageDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/classCall/StudentDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/config/EduSchoolFunctionConfigDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/index/SaveDeptHomeAppDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/screen/SchoolDashboardBaseSaveDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/screen/SchoolDashboardSaveDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/screen/SchoolDashboardTeacherSaveDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/AddUploadFileStepDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/ClassFixImportDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/ClassImportDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/CustomDormImportDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/DormImportDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/DormImportFixDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideFillInfoSaveDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideRosterErrorExportDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideRosterImportDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideRosterSelectPageDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideSaveDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideSelectPageDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideStepSaveDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/StaffPassStepDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/UpdateQrCodeInfoDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/h5/CreateGuideStepOrderDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/h5/RosterFaceMatchDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/h5/RosterPageDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/transaction/ListApplyFunctionDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/AuditRequestDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/EduLeaveRequestProcessConfigDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/LeaveRequestPageDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/ListUserRequestDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/SendStaffNoticeDTO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/index/RemoteDeptHomeInfoServiceFallback.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/schoolConfig/RemoteEduSchoolFuncationConfigServiceFallback.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/smart/RemoteSmartWelcomeServiceFallback.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/index/RemoteDeptHomeIndexService.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/schoolConfig/RemoteEduSchoolFuncationConfigService.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/smart/RemoteSmartWelcomeService.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/classCall/ClassCallPushConfigPageInfoVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/screen/SchoolDashboardInfoVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/ClassFixImportVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/ClassImportVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/DormImportFixVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/DormImportVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/ExportRosterDataVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideInfoVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideRosterInfoVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideRosterSelectPageVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideSelectPageVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideStepColVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/ImportRosterDataVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/StatisticsGuideRosterVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/WelcomeImportProgress.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/WxConfigVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/h5/GuideStepOrderRosterCacheVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/h5/RosterFaceMatchVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/h5/RosterStepPayInfoVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/transcation/DownStudentBuyDataVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/transcation/EduProductBuyStudentVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/userLeave/EduLeaveRequestProcessConfigVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/userLeave/EduLeaveRequestStatisticsVO.java delete mode 100644 febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/userLeave/EduLeaveRequestUserVO.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/controller/EduClassCallController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/controller/EduClassCallPushConfigController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallPushConfigMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallPushConfigProcessMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallPushConfigProcessStaffMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallStudentRecordMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallPushConfigProcessService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallPushConfigProcessStaffService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallPushConfigService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallStudentRecordService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallPushConfigProcessServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallPushConfigProcessStaffServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallPushConfigServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallStudentRecordServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/config/controller/in/EduSchoolFunctionConfigController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/config/mapper/EduSchoolFunctionConfigMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/config/service/EduSchoolFunctionConfigService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/config/service/impl/EduSchoolFunctionConfigServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/controller/EduDeptHomeAppController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/mapper/EduDeptHomeAppMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/EduDeptHomeAppService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/impl/EduDeptHomeAppServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/controller/EduSchoolDashboardDataController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/controller/out/OutEduSchoolDashboardDataController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/mapper/EduSchoolDashboardDataBaseMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/mapper/EduSchoolDashboardDataMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/mapper/EduSchoolDashboardDataTeacherMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/EduSchoolDashboardDataBaseService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/EduSchoolDashboardDataService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/EduSchoolDashboardDataTeacherService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/impl/EduSchoolDashboardDataBaseServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/impl/EduSchoolDashboardDataServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/impl/EduSchoolDashboardDataTeacherServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/config/ExcelConfiguration.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/config/ExportGuidePicClient.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/EduSmartWelcomeGuideController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/EduSmartWelcomeGuideStepClassController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/EduSmartWelcomeGuideStepDormController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/H5EduSmartWelcomeController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/InEduGuideStepOrderController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/InEduSmartWelcomeController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/OutEduSmartWelcomeController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/excel/CustomDormExcelListener.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/excel/ExcelListener.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/excel/GuideRosterExcelListener.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/excel/SelectGuidePicExportData.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduGuideStepOrderMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeCampusMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeDepartmentMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideClassRecordMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideDormRecordMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideRosterMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideRosterRelationMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideRosterRelationStepMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepClassFixMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepClassMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepDormFixMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepDormMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepStaffMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduGuideStepOrderService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeCampusService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeDepartmentService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideClassRecordService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideDormRecordService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideRosterRelationService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideRosterRelationStepService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideRosterService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepClassFixService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepClassService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepDormFixService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepDormService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepStaffService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/H5EduSmartWelcomeService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/ImportGuideRosterService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduGuideStepOrderServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeCampusServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeDepartmentServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideClassRecordServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideDormRecordServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideRosterRelationServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideRosterRelationStepServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideRosterServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepClassFixServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepClassServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepDormFixServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepDormServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepStaffServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/H5EduSmartWelcomeServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/ImportGuideRosterServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestProcessConfigApplicableDepartmentsController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestProcessConfigApprovalUserController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestProcessConfigController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestProcessRecordController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestUserController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/in/InEduLeaveRequestUserController.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessConfigApplicableDepartmentsMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessConfigApprovalUserMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessConfigMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessConfigViewMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessRecordMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestUserMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestUserViewMapper.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessConfigApplicableDepartmentsService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessConfigApprovalUserService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessConfigService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessConfigViewService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessRecordService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestUserService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestUserViewService.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessConfigApplicableDepartmentsServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessConfigApprovalUserServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessConfigServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessConfigViewServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessRecordServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestUserServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestUserViewServiceImpl.java delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/classCall/EduClassScheduleMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/index/EduDeptHomeAppMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/screen/EduSchoolDashboardDataBaseMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/screen/EduSchoolDashboardDataMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/screen/EduSchoolDashboardDataTeacherMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduGuideStepOrderMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideRosterMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideRosterRelationMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideRosterRelationStepMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideStepClassMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideStepDormMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideStepMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideStepStaffMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessConfigApplicableDepartmentsMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessConfigApprovalUserMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessConfigMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessConfigViewMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessRecordMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestUserMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestUserViewMapper.xml delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/template/固定宿舍学生导入模板.xlsx delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/template/固定班级学生导入模板.xlsx delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/template/宿舍预选导入模板.xlsx delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/template/班级预选导入模板.xlsx delete mode 100644 febs-server/edu-school/edu-school-biz/src/main/resources/template/花名册导入模板.xls delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/CardErrorExportDTO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/CardImportDTO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ImportStaffInformationDTO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ImportStudentTypeDTO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ListStudentApplyDTO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ListStudentApplyForDTO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ManagerDTO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/OutPageStudentDTO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StaffImportDTO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategyPlanSaveDTO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategyPlanTimeSaveDTO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategySaveDTO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategySpecialDateSaveDTO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategySpecialTimeSaveDTO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StudentDormExportDTO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/h5/ListUserDeptAttendanceDTO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteFaceGroupDeviceServiceFallback.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteFaceGroupStrategyServiceFallback.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteStudentApplyServiceFallback.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteFaceGroupDeviceService.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteFaceGroupStrategyService.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteStudentApplyService.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/ClassAttendanceDataVO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/DeptManagetVO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/DownLoadStaffAttendanceRecordVO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/ManagerVo.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/OutPageStudentVO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategyInfoVO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategyPlanTimeVO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategyPlanVO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategySpecialDateVO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategySpecialTimeVO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StudentApplyImportErrorVO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StudentApplyImportProgressVO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StudentApplyImportVO.java delete mode 100644 febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StudentApplyStatusVO.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/config/ExcelConfiguration.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/config/ExportStudentClient.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/config/ExportStudentDormClient.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduFaceGroupStrategyController.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStudentApplyController.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStudentApplyForController.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InEduFaceGroupDeviceController.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InEduFaceGroupStrategyController.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InEduStaffController.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InEduStudentApplyController.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/out/OutEduUserDeptController.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/excel/CardDataDataExcelListener.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/excel/SelectStudentDormExportData.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/excel/SelectStudentExportData.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/excel/StaffDataExcelListener.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/listener/ImportStudentTypeListener.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/listener/importStudentApplyListener.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategyMapper.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategyPlanMapper.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategyPlanTimeMapper.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategySpecialDateMapper.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategySpecialTimeMapper.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduStudentApplyForMapper.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduStudentApplyMapper.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategyPlanService.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategyPlanTimeService.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategyService.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategySpecialDateService.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategySpecialTimeService.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduStudentApplyForService.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduStudentApplyService.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategyPlanServiceImpl.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategyPlanTimeServiceImpl.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategyServiceImpl.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategySpecialDateServiceImpl.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategySpecialTimeServiceImpl.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStudentApplyServiceForImpl.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStudentApplyServiceImpl.java delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategyMapper.xml delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategyPlanMapper.xml delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategyPlanTimeMapper.xml delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategySpecialDateMapper.xml delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategySpecialTimeMapper.xml delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStudentApplyForMapper.xml delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStudentApplyMapper.xml delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/resources/template/学生基础信息导入模板.xls delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/resources/template/学生开通应用导入模板.xls delete mode 100644 febs-server/edu-user/edu-user-biz/src/main/resources/template/校园卡号导入模板.xls delete mode 100644 febs-server/febs-server-generator/Dockerfile delete mode 100644 febs-server/febs-server-generator/pom.xml delete mode 100644 febs-server/febs-server-generator/run.sh delete mode 100644 febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/FebsServerGeneratorApplication.java delete mode 100644 febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/controller/GeneratorConfigController.java delete mode 100644 febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/controller/GeneratorController.java delete mode 100644 febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/entity/FieldType.java delete mode 100644 febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/helper/GeneratorHelper.java delete mode 100644 febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/mapper/GeneratorConfigMapper.java delete mode 100644 febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/mapper/GeneratorMapper.java delete mode 100644 febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/service/GeneratorConfigService.java delete mode 100644 febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/service/GeneratorService.java delete mode 100644 febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/service/impl/GeneratorConfigServiceImpl.java delete mode 100644 febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/service/impl/GeneratorServiceImpl.java delete mode 100644 febs-server/febs-server-generator/src/main/resources/ValidationMessages.properties delete mode 100644 febs-server/febs-server-generator/src/main/resources/banner.txt delete mode 100644 febs-server/febs-server-generator/src/main/resources/bootstrap.yml delete mode 100644 febs-server/febs-server-generator/src/main/resources/generator/templates/controller.ftl delete mode 100644 febs-server/febs-server-generator/src/main/resources/generator/templates/entity.ftl delete mode 100644 febs-server/febs-server-generator/src/main/resources/generator/templates/mapper.ftl delete mode 100644 febs-server/febs-server-generator/src/main/resources/generator/templates/mapperXml.ftl delete mode 100644 febs-server/febs-server-generator/src/main/resources/generator/templates/service.ftl delete mode 100644 febs-server/febs-server-generator/src/main/resources/generator/templates/serviceImpl.ftl delete mode 100644 febs-server/febs-server-generator/src/main/resources/mapper/GeneratorMapper.xml delete mode 100644 febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/ConsumeTask.java delete mode 100644 febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/GuideTask.java delete mode 100644 febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/dto/QywxCallbackHandleDTO.java delete mode 100644 febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteBaiDuApiConfigServiceFallback.java delete mode 100644 febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteBaseAppServiceFallback.java delete mode 100644 febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteConstructionPayConfigServiceFallback.java delete mode 100644 febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteConsumeConfigServiceFallback.java delete mode 100644 febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteDeptFunctionServiceFallback.java delete mode 100644 febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteQywxServiceFallback.java delete mode 100644 febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteUPayConfigServiceFallback.java delete mode 100644 febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteWhiteListServiceFallback.java delete mode 100644 febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteBaiDuApiConfigService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteBaseAppService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteConstructionPayConfigService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteConsumeConfigService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteDeptFunctionService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteDictService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteQywxService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteUPayConfigService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteWhiteListService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/configure/QywxHandleRabbitReceiver.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/EduBaseAppController.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InBaiDuApiConfigController.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InBaseDeptHomeAppController.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InConstructionPayConfigController.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InConsumeConfigController.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InDeptFunctionController.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InDictController.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InUPayConfigController.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InWhiteListController.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/BaiduApiConfigMapper.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/ConstructionPayConfigMapper.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduAppTemplateMapper.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduBaseAppMapper.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduConsumeConfigMapper.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduDeptFunctionMapper.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduQywxServiceProviderMapper.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduQywxServiceProviderSchoolMapper.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/UPayConfigMapper.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/WhiteListMapper.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/BaiduApiConfigService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/ConstructionPayConfigService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduAppTemplateService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduBaseAppService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduConsumeConfigService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduDeptFunctionService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduQywxServiceProviderSchoolService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduQywxServiceProviderService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/QywxHandleService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/QywxServiceProviderService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/UPayConfigService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/WhiteListService.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/BaiduApiConfigServiceImpl.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/ConstructionPayConfigServiceImpl.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduAppTemplateServiceImpl.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduBaseAppServiceImpl.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduConsumeConfigServiceImpl.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduDeptFunctionServiceImpl.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduQywxServiceProviderSchoolServiceImpl.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduQywxServiceProviderServiceImpl.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/QywxHandleServiceImpl.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/QywxServiceProviderServiceImpl.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/UPayConfigServiceImpl.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/WhiteListServiceImpl.java delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/EduBaseAppMapper.xml delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/EduConsumeConfigMapper.xml delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/EduDeptFunctionMapper.xml delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/UPayConfigMapper.xml delete mode 100644 febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/WhiteListMapper.xml diff --git a/Readme.md b/Readme.md index 5406886..2e0879f 100644 --- a/Readme.md +++ b/Readme.md @@ -1 +1,3 @@ -### 校园旧版 \ No newline at end of file +### 校园旧版 + +攀枝花东区-缴费分支 \ No newline at end of file diff --git a/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/controller/SocialLoginController.java b/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/controller/SocialLoginController.java index a911440..eae6e23 100644 --- a/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/controller/SocialLoginController.java +++ b/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/controller/SocialLoginController.java @@ -3,14 +3,12 @@ package com.yida.data.auth.controller; import com.yida.data.auth.entity.BindUser; import com.yida.data.auth.service.SocialLoginService; import com.yida.data.common.core.common.ModuleName; -import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.FebsResponse; import com.yida.data.common.core.entity.constant.StringConstant; import com.yida.data.common.core.entity.system.UserConnection; import com.yida.data.common.core.exception.FebsException; import com.yida.data.common.core.utils.FebsUtil; import com.yida.data.log.annotation.OperationLog; -import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -31,7 +29,6 @@ import javax.validation.Valid; import javax.validation.constraints.NotBlank; import java.io.IOException; import java.util.List; -import java.util.Map; /** * @author MrBird @@ -206,20 +203,4 @@ public class SocialLoginController { @ApiParam("0-教师,1-家长") Integer type) { return new FebsResponse().data(socialLoginService.h5Login(schoolId, mobile, type)); } - - @ResponseBody - @ApiOperation("检查openId状态") - @GetMapping("smart/checkOpenId") - public ResultBean> checkOpenId(@RequestParam @ApiParam(value = "微信公众号授权code", required = true) String code, - @RequestParam @ApiParam(value = "学校id(链接上附带)", required = true) Long deptId) { - return ResultBean.buildSuccess(socialLoginService.checkOpenId(code, deptId)); - } - - @ResponseBody - @ApiOperation("智慧迎新学生端登录接口") - @GetMapping("wxPublic/welcome/login") - public FebsResponse wxPublicLogin(@RequestParam @ApiParam(value = "微信openId", required = true) String openId, - @RequestParam @ApiParam(value = "学校id(链接上附带)", required = true) Long deptId) { - return new FebsResponse().data(socialLoginService.wxPublicLogin(openId, deptId)); - } } diff --git a/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/manager/UserManager.java b/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/manager/UserManager.java index 56e4cd8..8442134 100644 --- a/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/manager/UserManager.java +++ b/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/manager/UserManager.java @@ -1,7 +1,6 @@ package com.yida.data.auth.manager; import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yida.data.auth.mapper.EduUserLogoMapper; @@ -18,7 +17,6 @@ import com.yida.data.common.core.entity.system.EduUserLogo; import com.yida.data.common.core.entity.system.Menu; import com.yida.data.common.core.entity.system.Role; import com.yida.data.common.core.entity.system.SystemUser; -import com.yida.data.common.core.entity.system.SystemUserMenu; import com.yida.data.common.core.entity.system.UserRole; import com.yida.data.common.service.CommonService; import com.yida.data.user.feign.RemoteTeacherService; @@ -81,24 +79,11 @@ public class UserManager { * @param username 用户名 * @return 权限 */ - public List findUserPermissions(String username) { - // 获取角色权限 - List menus = menuMapper.findUserPermissions(username); - // 获取用户权限 - List userPermissions = userMenuMapper.findUserPermissions(username); - // 过滤 - if (CollUtil.isNotEmpty(userPermissions)) { - menus.addAll( - userPermissions.stream().filter(x -> x.getType() == 0).map(SystemUserMenu::getPerms).filter(StrUtil::isNotBlank) - .collect(Collectors.toList())); - List excludePerms = userPermissions.stream().filter(x -> x.getType() == 1).map(SystemUserMenu::getPerms) - .filter(StrUtil::isNotBlank).collect(Collectors.toList()); - if (CollUtil.isNotEmpty(excludePerms)) { - menus = menus.stream().filter(x -> !excludePerms.contains(x)).collect(Collectors.toList()); - } - } - // 只返回串 - return menus; + public String findUserPermissions(String username) { +// List userPermissions = menuMapper.findUserPermissions(username); + // 从用户对应权限表查询权限数据 + List userPermissions = userMenuMapper.findUserPermissions(username); + return userPermissions.stream().map(Menu::getPerms).collect(Collectors.joining(StringConstant.COMMA)); } /** @@ -169,6 +154,6 @@ public class UserManager { public String findMainRole(Long mainDeptId) { // 查询主角色code List rolePerms = userMapper.findMainRole(mainDeptId); - return rolePerms.stream().filter(StringUtils::isNotBlank).distinct().collect(Collectors.joining(StringConstant.COMMA)); + return rolePerms.stream().filter(StringUtils::isNotBlank).collect(Collectors.joining()); } } diff --git a/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/mapper/MenuMapper.java b/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/mapper/MenuMapper.java index c7ccbbb..c777d3e 100644 --- a/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/mapper/MenuMapper.java +++ b/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/mapper/MenuMapper.java @@ -16,5 +16,5 @@ public interface MenuMapper extends BaseMapper { * @param username 用户名 * @return 权限集合 */ - List findUserPermissions(String username); + List findUserPermissions(String username); } \ No newline at end of file diff --git a/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/mapper/UserMenuMapper.java b/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/mapper/UserMenuMapper.java index 871ba29..29ef945 100644 --- a/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/mapper/UserMenuMapper.java +++ b/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/mapper/UserMenuMapper.java @@ -22,5 +22,5 @@ public interface UserMenuMapper extends BaseMapper { * @author ZYJ * @date 2021/11/8 15:54 */ - List findUserPermissions(String username); + List findUserPermissions(String username); } diff --git a/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/service/SocialLoginService.java b/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/service/SocialLoginService.java index 97bee61..a4377ce 100644 --- a/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/service/SocialLoginService.java +++ b/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/service/SocialLoginService.java @@ -105,26 +105,4 @@ public interface SocialLoginService { Map wxpublicLogin(String code, String appId, Integer type, Long schoolId, String mobile); Map h5Login(Long schoolId, String mobile, Integer type); - - /** - * 检查openId状态 - * - * @param code 微信公众号授权code - * @param deptId 学校id - * @return java.util.Map - * @author ZYJ - * @date 2023/6/2 10:31 - */ - Map checkOpenId(String code, Long deptId); - - /** - * 迎新功能微信公众号登录 - * - * @param openId 微信openId - * @param deptId 学校id - * @return java.util.Map - * @author ZYJ - * @date 2023/5/18 11:09 - */ - Map wxPublicLogin(String openId, Long deptId); } diff --git a/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/service/impl/FebsUserDetailServiceImpl.java b/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/service/impl/FebsUserDetailServiceImpl.java index 1f167fd..b13476c 100644 --- a/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/service/impl/FebsUserDetailServiceImpl.java +++ b/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/service/impl/FebsUserDetailServiceImpl.java @@ -1,6 +1,5 @@ package com.yida.data.auth.service.impl; -import cn.hutool.core.collection.CollUtil; import com.yida.data.auth.manager.UserManager; import cc.mrbird.febs.common.redis.service.RedisService; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; @@ -45,7 +44,7 @@ public class FebsUserDetailServiceImpl implements UserDetailsService { HttpServletRequest httpServletRequest = FebsUtil.getHttpServletRequest(); SystemUser systemUser = userManager.findByName(username); if (systemUser != null) { - List permissions = userManager.findUserPermissions(systemUser.getUsername()); + String permissions = userManager.findUserPermissions(systemUser.getUsername()); boolean notLocked = false; if (StringUtils.equals(SystemUser.STATUS_VALID, systemUser.getStatus())) { notLocked = true; @@ -60,31 +59,31 @@ public class FebsUserDetailServiceImpl implements UserDetailsService { // 设置角色权限 if (StringUtils.isNotBlank(systemUser.getRolePerms())) { List collect = Arrays.stream(systemUser.getRolePerms().split(StringConstant.COMMA)) - .map(s -> FebsConstant.SECURITY_ROLE_PREFIX + s) - .distinct() - .collect(Collectors.toList()); + .map(s -> FebsConstant.SECURITY_ROLE_PREFIX + s) + .collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(collect)) { - grantedAuthorities = AuthorityUtils - .commaSeparatedStringToAuthorityList(String.join(StringConstant.COMMA, collect)); + grantedAuthorities = AuthorityUtils.commaSeparatedStringToAuthorityList(String.join(StringConstant.COMMA, collect)); } } // 设置菜单权限 - if (CollUtil.isNotEmpty(permissions)) { - grantedAuthorities.addAll(AuthorityUtils.createAuthorityList(permissions.toArray(new String[0]))); + if (StringUtils.isNotBlank(permissions)) { + if (CollectionUtils.isNotEmpty(grantedAuthorities)) { + grantedAuthorities.addAll(AuthorityUtils.commaSeparatedStringToAuthorityList(permissions)); + } else { + grantedAuthorities = AuthorityUtils.commaSeparatedStringToAuthorityList(permissions); + } } // 查询主角色信息 if (Objects.nonNull(systemUser.getMainDeptId())) { String role = this.userManager.findMainRole(systemUser.getMainDeptId()); systemUser.setMainRolePerms(role); } - - //查询登录所属部门:学校对应的 log.info("登陆用户信息sysUser: {}", systemUser); log.info("登陆权限数据permission: {}", grantedAuthorities); log.info("登陆主角色数据mainRole: {}", systemUser.getMainRolePerms()); FebsAuthUser authUser = new FebsAuthUser(systemUser.getUsername(), password, true, true, true, notLocked, - grantedAuthorities); + grantedAuthorities); BeanUtils.copyProperties(systemUser, authUser); return authUser; diff --git a/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/service/impl/SocialLoginServiceImpl.java b/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/service/impl/SocialLoginServiceImpl.java index 1554122..efb60dc 100644 --- a/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/service/impl/SocialLoginServiceImpl.java +++ b/edu-auth/edu-auth-biz/src/main/java/com/yida/data/auth/service/impl/SocialLoginServiceImpl.java @@ -13,8 +13,6 @@ import com.yida.data.auth.service.SocialLoginService; import com.yida.data.auth.service.UserConnectionService; import com.yida.data.common.core.entity.FebsResponse; import com.yida.data.common.core.entity.constant.*; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelation; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStep; import com.yida.data.common.core.entity.system.*; import com.yida.data.common.core.entity.user.EduStaff; import com.yida.data.common.core.enums.RoleName; @@ -24,12 +22,11 @@ import com.yida.data.common.core.utils.FebsUtil; import com.yida.data.common.core.utils.WxPublicUtil; import com.yida.data.common.core.utils.WxUtil; import com.yida.data.common.service.CommonService; -import com.yida.data.school.feign.smart.RemoteSmartWelcomeService; +import com.yida.data.school.feign.transaction.RemoteStudentApplyService; import com.yida.data.system.feign.RemoteDeptService; import com.yida.data.system.feign.RemoteRoleService; import com.yida.data.system.feign.RemoteUserService; import com.yida.data.user.feign.RemoteStaffService; -import com.yida.data.user.feign.RemoteStudentApplyService; import com.yida.data.user.feign.RemoteStudentService; import com.yida.data.user.feign.RemoteTeacherService; import com.yida.data.user.vo.ParentInfoVO; @@ -64,6 +61,7 @@ public class SocialLoginServiceImpl implements SocialLoginService { private static final String USERNAME = "username"; private static final String PASSWORD = "password"; + private static final String NOT_BIND = "not_bind"; private static final String SOCIAL_LOGIN_SUCCESS = "social_login_success"; @@ -75,16 +73,17 @@ public class SocialLoginServiceImpl implements SocialLoginService { private final UserConnectionService userConnectionService; private final ResourceOwnerPasswordTokenGranter granter; private final RedisClientDetailsService redisClientDetailsService; - - private final RemoteStaffService remoteStaffService; - private final RemoteStudentService remoteStudentService; - private final RemoteTeacherService remoteTeacherService; - private final RemoteSmartWelcomeService remoteSmartWelcomeService; - private final WxUtil wxUtil; private final WxPublicUtil wxPublicUtil; - private final RedisService redisService; + private final RemoteStudentService remoteStudentService; + private final RemoteTeacherService remoteTeacherService; + private final RemoteStaffService remoteStaffService; + private final RemoteDeptService remoteDeptService; private final CommonService commonService; + private final RemoteRoleService remoteRoleService; + private final RemoteUserService remoteUserService; + private final RemoteStudentApplyService remoteStudentApplyService; + private final RedisService redisService; @Override public AuthRequest renderAuth(String oauthType) throws FebsException { @@ -580,43 +579,4 @@ public class SocialLoginServiceImpl implements SocialLoginService { res.put("identity", type == 0 ? teacher : parent); return res; } - - @Override - public Map checkOpenId(String code, Long deptId) { - Dept school = commonService.getDept(deptId); - if (Objects.isNull(school)) { - throw new FebsException("学校信息错误"); - } - // 查询用户信息 - String openId = wxPublicUtil.getOpenId(school.getWxPublicAppId(), school.getWxPublicSecret(), code); - // 查询openId是否绑定了对应的信息 - EduSmartWelcomeGuideRosterRelation relation = remoteSmartWelcomeService.getOpenIdRelation(openId, deptId).getData(); - Map map = new HashMap<>(); - // true代表已经绑定,false代表未绑定 - map.put("status", Objects.nonNull(relation)); - // 微信openId - map.put("openId", openId); - return map; - } - - @Override - public Map wxPublicLogin(String openId, Long deptId) { - // 查询关联关系 - EduSmartWelcomeGuideRosterRelation relation = remoteSmartWelcomeService.getOpenIdRelation(openId, deptId).getData(); - if (Objects.isNull(relation) || Objects.isNull(relation.getGuideRoster())) { - throw new FebsException("信息错误"); - } - // 用户信息 - SystemUser systemUser = userManager.findByName(relation.getGuideRoster().getMobile()); - // 登录返回token和用户信息 - Map res = new HashMap<>(); - res.put("token", getOauth2AccessToken(systemUser)); - systemUser.setPassword(null); - res.put("user", systemUser); -// // 查询人员步骤信息 -// List stepList = remoteSmartWelcomeService.listStepInfo(relation.getId(), relation.getGuideId()).getData(); -// relation.setStepList(stepList); - res.put("info", relation); - return res; - } } diff --git a/edu-auth/edu-auth-biz/src/main/resources/mapper/MenuMapper.xml b/edu-auth/edu-auth-biz/src/main/resources/mapper/MenuMapper.xml index 848b308..8da1407 100644 --- a/edu-auth/edu-auth-biz/src/main/resources/mapper/MenuMapper.xml +++ b/edu-auth/edu-auth-biz/src/main/resources/mapper/MenuMapper.xml @@ -2,15 +2,15 @@ - + \ No newline at end of file diff --git a/edu-auth/edu-auth-biz/src/main/resources/mapper/UserMapper.xml b/edu-auth/edu-auth-biz/src/main/resources/mapper/UserMapper.xml index 6c2875e..355aadd 100644 --- a/edu-auth/edu-auth-biz/src/main/resources/mapper/UserMapper.xml +++ b/edu-auth/edu-auth-biz/src/main/resources/mapper/UserMapper.xml @@ -18,7 +18,6 @@ u.description, u.avatar, d.dept_type deptType, - d.school_nature schoolNature, d.dept_name deptName, u.agent_id agentId, GROUP_CONCAT(r.role_id) roleId, @@ -60,7 +59,6 @@ - select um.*, m.perms - from t_user_menu um - left join t_user u on (u.user_id = um.user_id) - left join t_menu m on (m.menu_id = um.menu_id) - where u.username = #{userName} - and m.perms is not null - and m.perms '' + \ No newline at end of file diff --git a/febs-common/febs-common-core/pom.xml b/febs-common/febs-common-core/pom.xml index f520f5c..edbfcb4 100644 --- a/febs-common/febs-common-core/pom.xml +++ b/febs-common/febs-common-core/pom.xml @@ -148,30 +148,18 @@ ${wxpay.apiv3.version} compile - - - - - - + + com.github.wechatpay-apiv3 + wechatpay-apache-httpclient + ${wxpay.apiv3.version} + compile + com.google.zxing javase ${qr.code.version} - - - com.baidu.aip - java-sdk - ${baidu.api.version} - - - org.slf4j - slf4j-simple - - - diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/common/ModuleName.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/common/ModuleName.java index 55b62ac..0dcfbd0 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/common/ModuleName.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/common/ModuleName.java @@ -8,24 +8,15 @@ public enum ModuleName { AUTH("认证中心"), APPLY_PARODUCT("应用商品"), ATTENDANCE("考勤"), - DEVICE("设备"), LETTER_BOX("校长信箱"), NOTICE("通知"), SCHOOL("校园主页"), STUDENT_EXAM("考试管理"), USER("用户管理"), - STUDENT("学生管理"), - STAFF("职工管理"), JOB("任务调度"), SYSTEM("系统管理"), - DEPT("系统部门"), - USER_DEPT("家校部门"), - INSTRUCTION("系统指南"), ELECTRONIC_STUDENT_CARD("电子学生证"), TELEPHONE("亲情电话"), - COURSE("课程表"), - PRODUCT("商品管理"), - TRANSATION("交易管理"), HEALTH("健康管理"); @Getter String name; diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/common/ResultMsgType.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/common/ResultMsgType.java index fcec419..326bedd 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/common/ResultMsgType.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/common/ResultMsgType.java @@ -21,29 +21,22 @@ public enum ResultMsgType { IMPORT_EXCEL_FAIL("导入失败!", 500), FILE_TYPE_ERROR("导入文件类型错误", 500), ID_CARD_EXIST("身份证号码已存在!", 500), - STUDENT_CARD_NUMBER_EXIST("校园学号已存在!", 500), STUDENT_NUMBER_EXIST("学号已存在!", 500), - STUDENT_NUMBER_NOT_EXIST("学号不存在!", 500), CAMPUS_NAME_ERROR("学区名称错误", 500), SECTION_NAME_ERROR("学段名称错误", 500), GRADE_NAME_ERROR("年级名称错误", 500), CLASS_NAME_ERROR("班级名称错误", 500), - START_DATE_ERROR("入学时间错误", 500), SERVER_ERROR("服务器繁忙!请稍后再试", 500), LOGIN_INFO_ERROR("用户登陆信息异常", 500), PAY_TYPE_ERROR("暂不支持此支付方式", 500), ORDER_FAIL("创建订单失败!请稍后再试", 500), - ORDER_NOT_FOUND("未找到订单信息", 500), ORDER_INVALID("该订单已失效!无法执行该操作", 500), ORDER_QUERY_FAIL("订单查询失败", 500), ORDER_CLOSE_FAIL("关闭订单失败", 500), ORDER_REFUND_FAIL("订单退款失败", 500), REFUND_QUERY_FAIL("退款查询失败", 500), - ORDER_MONEY_ERROR("订单金额异常", 500), - - CARD_STATUS_ERROR("卡状态异常", 500), ; private final String value; diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/CurrentUser.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/CurrentUser.java index 3881bb9..acc1bd7 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/CurrentUser.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/CurrentUser.java @@ -91,12 +91,6 @@ public class CurrentUser implements Serializable { */ private String mainRolePerms; - - /** - * 学校性质:0幼儿园,1小学,2中学,3九年一贯,4十二年一贯,5:高校 - */ - private Integer schoolNature; - @JsonIgnore private EduUserLogo userLogo; } diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/ErrorRecordMsg.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/ErrorRecordMsg.java deleted file mode 100644 index 5fcf522..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/ErrorRecordMsg.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.yida.data.common.core.entity; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.enums.RecordTypeEnum; -import lombok.*; -import org.springframework.data.annotation.Id; -import org.springframework.data.elasticsearch.annotations.Document; -import org.springframework.data.elasticsearch.annotations.Field; -import org.springframework.data.elasticsearch.annotations.FieldType; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 通行记录错误信息 - * - * @author ZYJ - * @date 2023/11/1 14:00 - */ -@Data -@Builder -@ToString -@NoArgsConstructor -@AllArgsConstructor -@Document(indexName = "error_record_msg", shards = 5) -public class ErrorRecordMsg { - - @Id - private String id; - - /** - * 创建时间 - */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 学校id - */ - @Field(type = FieldType.Long) - private Long schoolId; - - /** - * 处理的信息. AddAttendanceRecordDTO - */ - @Field(type = FieldType.Text) - private String msg; - - /** - * 消息渠道-内部标识 - */ - @Field(type = FieldType.Text) - private String topic; - - /** - * 消息来源渠道 - */ - @Field(type = FieldType.Text) - private String channel; - - /** - * 通行记录类型 {@link RecordTypeEnum} - */ - @Field(type = FieldType.Text) - private String recordType; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/FebsAuthUser.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/FebsAuthUser.java index 71566fa..57aaf48 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/FebsAuthUser.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/FebsAuthUser.java @@ -55,8 +55,6 @@ public class FebsAuthUser extends User { private String status; - private Integer schoolNature; - private String deptIds; private Long identityId; diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyForm.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyForm.java deleted file mode 100644 index f9ccd72..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyForm.java +++ /dev/null @@ -1,176 +0,0 @@ -package com.yida.data.common.core.entity.applyForm; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.List; - -/** - * 申请类型表单 Entity - * - * @author ZYJ - * @date 2023/11/14 - */ -@Data -@TableName("core_apply_form") -public class CoreApplyForm implements Serializable { - - private static final long serialVersionUID = 1092492140890088204L; - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("school_id") - private Long schoolId; - - /** - * 表单标题 - */ - @ApiModelProperty(value = "表单标题") - @TableField("form_title") - private String formTitle; - - /** - * 表单类型 - */ - @ApiModelProperty(value = "表单类型") - @TableField("form_type_id") - private Long formTypeId; - - /** - * 表单描述说明 - */ - @ApiModelProperty(value = "表单描述说明") - @TableField("form_remark") - private String formRemark; - - /** - * 是否显示排序:1=是,0=否 - */ - @ApiModelProperty(value = "是否显示排序:1=是,0=否") - @TableField("sorted") - private String sorted; - - /** - * 对应数据表 - */ - @ApiModelProperty(value = "对应数据表名称") - @TableField("table_name") - private String tableName; - - /** - * 表单状态. 0为停用,1为启用 {@link EnableStatusEnum} - */ - @ApiModelProperty(value = "表单状态. 0为停用,1为启用") - @TableField("status") - private Integer status; - - /** - * 0为不开启一页一题,1为开启一页一题 - */ - @ApiModelProperty(value = "0为不开启一页一题,1为开启一页一题") - @TableField("page_one_question") - private Integer pageOneQuestion; - - /** - * 0为开启进度条,1为关闭进度条 - */ - @ApiModelProperty(value = "0为开启进度条,1为关闭进度条") - @TableField("progress_bar") - private Integer progressBar; - - /** - * 分页最大停留时间(单位秒) - */ - @ApiModelProperty(value = "分页最大停留时间(单位秒)") - @TableField("stop_max_time") - private Integer stopMaxTime; - - /** - * 分页最小停留时间(单位秒) - */ - @ApiModelProperty(value = "分页最小停留时间(单位秒)") - @TableField("stop_min_time") - private Integer stopMinTime; - - /** - * 背景图 - */ - @ApiModelProperty(value = "背景图") - @TableField("background_img_url") - private String backgroundImgUrl; - - /** - * 头图 - */ - @ApiModelProperty(value = "头图") - @TableField("header_img_url") - private String headerImgUrl; - - /** - * 导出模板文件地址 - */ - @ApiModelProperty(value = "导出模板文件地址") - @TableField("template_file_url") - private String templateFileUrl; - - @ApiModelProperty("组件集合") - private transient List itemList; - - @ApiModelProperty("表单对应审核流程节点集合") - private transient List processList; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormApprovalProcess.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormApprovalProcess.java deleted file mode 100644 index 77ecf84..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormApprovalProcess.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.yida.data.common.core.entity.applyForm; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.List; - -/** - * 申请表单对应的审核流程 - * - * @author ZYJ - * @date 2023/11/20 - */ -@Data -@TableName("core_apply_form_approval_process") -public class CoreApplyFormApprovalProcess implements Serializable { - - private static final long serialVersionUID = 6579266821751952059L; - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 申请表单id - */ - @TableField("apply_form_id") - private Long applyFormId; - - /** - * 审核流程id - */ - @TableField("approval_process_id") - private Long approvalProcessId; - - /** - * 排序 - */ - @TableField("sort") - private Integer sort; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormFillUser.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormFillUser.java deleted file mode 100644 index 92ebd27..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormFillUser.java +++ /dev/null @@ -1,114 +0,0 @@ -package com.yida.data.common.core.entity.applyForm; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 申请表单填报用户信息表 - * - * @author ZYJ - * @date 2023/11/22 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@TableName("core_apply_form_fill_user") -public class CoreApplyFormFillUser implements Serializable { - - private static final long serialVersionUID = -607929134997876061L; - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - @ApiModelProperty("学校id") - private Long schoolId; - - /** - * 表单id - */ - @ApiModelProperty(value = "表单id") - @TableField("apply_form_id") - private Long applyFormId; - - @ApiModelProperty(value = "表单对应填报数据id") - @TableField("apply_form_data_id") - private Long applyFormDataId; - - @ApiModelProperty(value = "填报用户id") - @TableField("user_id") - private Long userId; - - @ApiModelProperty(value = "填报用户名称") - @TableField("user_name") - private String userName; - - @ApiModelProperty("审核状态:默认0未审核,1已通过,2已拒绝,3审核中") - private Integer examineStatus; - - @ApiModelProperty(value = "审核时间") - @TableField(value = "audit_time") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime auditTime; - - @ApiModelProperty(value = "审核不通过原因") - @TableField("refuse_reason") - private String refuseReason; - - @ApiModelProperty("当前状态. 0-待审核审核,1-已通过,2-已拒绝") - private transient Integer currentUserStatus; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormFillUserApprovalProcess.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormFillUserApprovalProcess.java deleted file mode 100644 index 231519a..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormFillUserApprovalProcess.java +++ /dev/null @@ -1,125 +0,0 @@ -package com.yida.data.common.core.entity.applyForm; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.List; - -/** - * 表单填报用户对应审核流程表 - * - * @author ZYJ - * @date 2023/11/24 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@TableName("core_apply_form_fill_user_approval_process") -public class CoreApplyFormFillUserApprovalProcess implements Serializable { - - private static final long serialVersionUID = -6479609281502216481L; - - /** - * 主键id - */ - @ApiModelProperty("主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty("是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty("创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty("最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty("最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 表单id - */ - @ApiModelProperty("表单id") - @TableField("apply_form_id") - private Long applyFormId; - - @ApiModelProperty("用户填报信息id") - @TableField("fill_user_id") - private Long fillUserId; - - @ApiModelProperty("审核流程节点id") - private Long processId; - - @ApiModelProperty("审核流程节点名称") - private String processName; - - @ApiModelProperty("审核状态:默认0未审核,1已通过,2已拒绝,3审核中") - private Integer examineStatus; - - /** - * 审批人员类型:0指定角色,1指定人员 - */ - @ApiModelProperty("审批人员类型:0-指定角色,1-指定人员") - private Integer approvalUserType; - - /** - * 审批方式:0会审,1或审 - */ - @ApiModelProperty("审批方式:0-会审,1-或审") - private Integer approvalType; - - /** - * 审核顺序 - */ - @ApiModelProperty(value = "审核顺序") - @TableField("sort") - private Integer sort; - - @ApiModelProperty(value = "审核时间") - @TableField(value = "audit_time") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime auditTime; - - @ApiModelProperty("审核记录") - private transient List recordList; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormFillUserApprovalProcessRecord.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormFillUserApprovalProcessRecord.java deleted file mode 100644 index 7b15484..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormFillUserApprovalProcessRecord.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.yida.data.common.core.entity.applyForm; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.entity.user.EduStaff; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 填报用户表单审核流程记录表(具体的审核信息) - * - * @author ZYJ - * @date 2023/11/24 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@TableName("core_apply_form_fill_user_approval_process_record") -public class CoreApplyFormFillUserApprovalProcessRecord implements Serializable { - - private static final long serialVersionUID = -7325624862092619821L; - - /** - * 主键id - */ - @ApiModelProperty("主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty("是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty("创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty("创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty("最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty("最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - @ApiModelProperty("学校id") - private Long schoolId; - - /** - * 表单id - */ - @ApiModelProperty("表单id") - @TableField("apply_form_id") - private Long applyFormId; - - @ApiModelProperty("用户填报信息id") - @TableField("fill_user_id") - private Long fillUserId; - - @ApiModelProperty("用户审核流程节点id") - private Long userProcessId; - - /** - * 审核人ID - */ - @ApiModelProperty(value = "审核人ID") - @TableField("approval_id") - private Long approvalId; - - /** - * 审核人姓名,记录方便展示 - */ - @ApiModelProperty(value = "审核人姓名,记录方便展示") - @TableField("approval_name") - private String approvalName; - - /** - * 审核结果:2=审核不通过,1=通过,0=待审核,默认0 - */ - @ApiModelProperty(value = "审核结果:2=审核不通过,1=通过,0=待审核,默认0") - @TableField("approval_result") - private Integer approvalResult; - - /** - * 审核不通过的原因 - */ - @ApiModelProperty(value = "审核不通过的原因") - @TableField("approval_reason") - private String approvalReason; - - /** - * 审核顺序 - */ - @ApiModelProperty(value = "审核顺序") - @TableField("sort") - private Integer sort; - - @ApiModelProperty(value = "审核时间") - @TableField(value = "audit_time") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime auditTime; - - @ApiModelProperty("签名图片") - private String signPic; - - @ApiModelProperty(value = "审核人信息") - private transient EduStaff approvalInfo; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormItem.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormItem.java deleted file mode 100644 index acf825e..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormItem.java +++ /dev/null @@ -1,190 +0,0 @@ -package com.yida.data.common.core.entity.applyForm; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.List; - -/** - * 申请类型表单组件 Entity - * - * @author ZYJ - * @date 2023/11/14 - */ -@Data -@TableName("core_apply_form_item") -public class CoreApplyFormItem implements Serializable { - - private static final long serialVersionUID = -5678726924637884908L; - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 表单ID - */ - @ApiModelProperty(value = "表单ID") - @TableField("form_id") - private Long formId; - - /** - * 组件类型,radio,checkbox,singleInput,moreInput,date,time,dateTime,uploadPic,uploadFile - */ - @ApiModelProperty(value = "组件类型,radio,checkbox,singleInput,moreInput,date,time,dateTime,uploadPic,uploadFile") - @TableField("item_type") - private String itemType; - - /** - * 组件题干名称,如:姓名,性别。。 - */ - @ApiModelProperty(value = "组件题干名称,如:姓名,性别。。") - @TableField("item_title") - private String itemTitle; - - /** - * 表单字段名称 - */ - @ApiModelProperty(value = "表单字段名称") - @TableField("item_filed_name") - private String itemFiledName; - - /** - * 题干说明,子题干 - */ - @ApiModelProperty(value = "题干说明,子题干") - @TableField("item_sub_title") - private String itemSubTitle; - - /** - * 是否必填. 1=是,0=否 - */ - @ApiModelProperty(value = "是否必填. 1=是,0=否") - @TableField("needed") - private String needed; - - /** - * 是否唯一. 1=是,0=否 - */ - @ApiModelProperty(value = "是否唯一. 1=是,0=否") - @TableField("onlyed") - private String onlyed; - - /** - * 图片、文件允许上传数量 - */ - @ApiModelProperty(value = "图片、文件允许上传数量") - @TableField("file_num") - private String fileNum; - - /** - * 输入框宽度,默认 - */ - @ApiModelProperty(value = "输入框宽度,默认") - @TableField("input_width") - private Integer inputWidth; - - /** - * 输入框高度 - */ - @ApiModelProperty(value = "输入框高度") - @TableField("input_height") - private Integer inputHeight; - - /** - * 最少输入 - */ - @ApiModelProperty(value = "最少输入") - @TableField("input_min") - private Integer inputMin; - - /** - * 最大输入 - */ - @ApiModelProperty(value = "最大输入") - @TableField("input_max") - private Integer inputMax; - - /** - * 输入提示 - */ - @ApiModelProperty(value = "输入提示") - @TableField("input_placeholder") - private String inputPlaceholder; - - /** - * 输入限制,0不限,1文本,2数字,3中文,4字母,5邮箱,6电话号码,7身份证,8网址 - */ - @ApiModelProperty(value = "输入限制,0不限,1文本,2数字,3中文,4字母,5邮箱,6电话号码,7身份证,8网址") - @TableField("input_verify") - private Integer inputVerify; - - /** - * 默认值 - */ - @ApiModelProperty(value = "默认值") - @TableField("default_value") - private String defaultValue; - - /** - * 选项布局,1单列,2两列,3三列 - */ - @ApiModelProperty(value = "选项布局,1单列,2两列,3三列") - @TableField("layout") - private Integer layout; - - @ApiModelProperty(value = "排序") - @TableField("sort") - private Integer sort; - - @ApiModelProperty("组件选项集合") - private transient List childrenList; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormItemChildren.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormItemChildren.java deleted file mode 100644 index 053242d..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApplyFormItemChildren.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.yida.data.common.core.entity.applyForm; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 申请类型表单组件选项 Entity - * - * @author ZYJ - * @date 2023/11/14 - */ -@Data -@TableName("core_apply_form_item_children") -public class CoreApplyFormItemChildren implements Serializable { - - private static final long serialVersionUID = -2224125748353276612L; - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 表单id - */ - @ApiModelProperty(value = "表单id") - @TableField("form_id") - private Long formId; - - /** - * 表单组件id - */ - @ApiModelProperty(value = "表单组件id") - @TableField("form_item_id") - private Long formItemId; - - /** - * 组件选项排序 - */ - @ApiModelProperty(value = "组件选项排序") - @TableField("sort") - private String sort; - - /** - * 组件选项名称 - */ - @ApiModelProperty(value = "组件选项名称") - @TableField("name") - private String name; - - /** - * 组件选项值 - */ - @ApiModelProperty(value = "组件选项值") - @TableField("value") - private String value; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApprovalProcess.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApprovalProcess.java deleted file mode 100644 index 855edde..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApprovalProcess.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.yida.data.common.core.entity.applyForm; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.List; - -/** - * 审核流程表 - * - * @author ZYJ - * @date 2023/11/20 - */ -@Data -@TableName("core_approval_process") -public class CoreApprovalProcess implements Serializable { - - private static final long serialVersionUID = 1567064061806999398L; - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 部门id - */ - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - /** - * 审核流程名称 - */ - @ApiModelProperty(value = "审核流程名称") - @TableField("approval_process_name") - private String approvalProcessName; - - - /** - * 审批人员类型:0指定角色,1指定人员 - */ - @ApiModelProperty(value = "审批人员类型:0-指定角色,1-指定人员") - @TableField("approval_user_type") - private Integer approvalUserType; - - /** - * 审批方式:0会审,1或审 - */ - @ApiModelProperty(value = "审批方式:0-会审,1-或审") - @TableField("approval_type") - private Integer approvalType; - - @ApiModelProperty("审核人员字符串") - private transient String approvalUserName; - - @ApiModelProperty("对应用户集合") - private transient List userList; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApprovalProcessUser.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApprovalProcessUser.java deleted file mode 100644 index a2bcd53..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApprovalProcessUser.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.yida.data.common.core.entity.applyForm; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 审核流程人员配置表 - * - * @author ZYJ - * @date 2023/11/20 - */ -@Data -@TableName("core_approval_process_user") -public class CoreApprovalProcessUser implements Serializable { - - private static final long serialVersionUID = -3563923283400305812L; - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 流程id - */ - @ApiModelProperty(value = "流程id") - @TableField("process_id") - private Long processId; - - /** - * 对应名称 - */ - @TableField("name") - private String name; - - /** - * 指定人员id - */ - @ApiModelProperty(value = "指定人员id") - @TableField("staff_id") - private Long staffId; - - /** - * 指定角色id,这里指的是班主任、系主任. 1、班主任,2、系主任 - */ - @ApiModelProperty(value = "指定角色id,这里指的是班主任、系主任. 1、班主任,2、系主任") - @TableField("staff_role_id") - private Integer staffRoleId; - - /** - * 审核身份 - */ - @TableField("approval_identity") - private String approvalIdentity; - - /** - * 公章id - */ - @TableField("official_seal_id") - private Long officialSealId; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApprovalRemind.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApprovalRemind.java deleted file mode 100644 index 5f314d5..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreApprovalRemind.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.yida.data.common.core.entity.applyForm; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.List; - -/** - * 审核提醒策略表 - * - * @author ZYJ - * @date 2023/11/20 - */ -@Data -@TableName("core_approval_remind") -public class CoreApprovalRemind implements Serializable { - - private static final long serialVersionUID = 5478339812311556241L; - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 部门id - */ - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - /** - * 审核提醒状态. 0为停用,1为启用 {@link EnableStatusEnum} - */ - @ApiModelProperty(value = "审核提醒状态. 0为停用,1为启用") - @TableField("approval_remind_status") - private Integer approvalRemindStatus; - - /** - * 审核结果状态. 0为停用,1为启用 {@link EnableStatusEnum} - */ - @ApiModelProperty(value = "审核结果状态. 0为停用,1为启用") - @TableField("approval_result_status") - private Integer approvalResultStatus; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreOfficialSeal.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreOfficialSeal.java deleted file mode 100644 index 2687eab..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/applyForm/CoreOfficialSeal.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.yida.data.common.core.entity.applyForm; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.List; - -/** - * 学校公章表 Entity - * - * @author ZYJ - * @date 2023/11/17 - */ -@Data -@TableName("core_official_seal") -public class CoreOfficialSeal implements Serializable { - - private static final long serialVersionUID = 1044572430104864196L; - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 部门id - */ - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - /** - * 公章名称 - */ - @ApiModelProperty(value = "公章名称") - @TableField("official_seal_title") - private String officialSealTitle; - - /** - * 状态. 0为停用,1为启用 {@link EnableStatusEnum} - */ - @ApiModelProperty("状态. 0为停用,1为启用") - @TableField("status") - private Integer status; - - /** - * 公章图片地址 - */ - @ApiModelProperty("公章图片地址") - @TableField("pic_url") - private String picUrl; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceRecord.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceRecord.java index c5fb84b..6cd53c1 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceRecord.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceRecord.java @@ -35,9 +35,6 @@ public class EduAttendanceRecord { private String className; - @ApiModelProperty("0上学,1宿舍") - private Integer type; - @ApiModelProperty("宿舍id") private Long dormId; @@ -86,8 +83,5 @@ public class EduAttendanceRecord { @ApiModelProperty("该条记录使用的考勤时间段") private Long ruleTimeId; - @ApiModelProperty("考勤时间段类型:0开始时间,1结束时间") - private Integer ruleTimeType; - private transient String deviceName; } diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceResult.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceResult.java index 464f8a4..b700b27 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceResult.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceResult.java @@ -109,15 +109,9 @@ public class EduAttendanceResult { /** * 考勤结果,100-正常, 201-迟到,202-早退,203-迟到早退,204-旷课,205-请假, 211-晚归,212-异常晚归,213-旷宿,214-已被核查但学生还未归寝 */ - @ApiModelProperty(value = "考勤结果,100-正常,201-迟到,202-早退,203-迟到早退,204-旷课,205-请假,206-上班未打卡|下班正常,207-上班未打卡|下班早退,208-上班未打卡|下班未在有效打卡时间段内,209-上班未在有效打卡时间段内|下班早退,210-上班迟到|下班未打卡,211-晚归,212-异常晚归,213-旷宿,214-已被核查但学生还未归寝") + @ApiModelProperty(value = "考勤结果,100-正常,201-迟到,202-早退,203-迟到早退,204-旷课,205-请假,211-晚归,212-异常晚归,213-旷宿,214-已被核查但学生还未归寝") @TableField("status") private Integer status; - @ApiModelProperty(value = "开始时间考勤结果1正常,0异常,空未打卡") - @TableField("begin_status") - private Integer beginStatus; - @ApiModelProperty(value = "结束时间考勤结果1正常,0异常,空未打卡") - @TableField("end_status") - private Integer endStatus; /** * 核查时间 @@ -171,7 +165,4 @@ public class EduAttendanceResult { @ApiModelProperty("学号") private transient String stuNo; - - @ApiModelProperty("类型:1宿舍考勤,0上学考勤") - private transient Integer type; } diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceResultPushReportRecord.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceResultPushReportRecord.java deleted file mode 100644 index 661efe4..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceResultPushReportRecord.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.yida.data.common.core.entity.attendance; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 考勤结果报告推送记录 - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -@TableName("edu_attendance_result_push_report_record") -public class EduAttendanceResultPushReportRecord { - - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - @ApiModelProperty(value = "") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - @ApiModelProperty(value = "") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - @ApiModelProperty(value = "") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - @ApiModelProperty(value = "") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - @ApiModelProperty(value = "") - private Long staffId; - - @ApiModelProperty(value = "宿舍id") - private Long staffRole; - - @ApiModelProperty("推送日期") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate pushDate; - - @ApiModelProperty(value = "推送时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime pushTime; - - @ApiModelProperty("学校ID") - private Long schoolId; - - @ApiModelProperty("类型:1宿舍考勤,0上学考勤") - private Integer type; - - @ApiModelProperty("考勤规则ID") - private Long ruleId; - - @ApiModelProperty("考勤规则时段ID") - private Long ruleTimeId; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceRuleDevice.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceRuleDevice.java index 8a59f1f..3f44f10 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceRuleDevice.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceRuleDevice.java @@ -11,7 +11,6 @@ import java.time.LocalDateTime; @Data @ApiModel("规则设备") public class EduAttendanceRuleDevice { - @TableId(type = IdType.AUTO) private Long id; @@ -24,12 +23,9 @@ public class EduAttendanceRuleDevice { @ApiModelProperty("设备编号") private String deviceSn; - @ApiModelProperty("设备名称") - private String deviceName; - @ApiModelProperty("创建时间") private LocalDateTime createDate; - + @ApiModelProperty("创建人ID") private Long createId; diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceStaffResult.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceStaffResult.java index bb8a816..1238c8e 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceStaffResult.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduAttendanceStaffResult.java @@ -1,13 +1,11 @@ package com.yida.data.common.core.entity.attendance; -import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; @@ -62,21 +60,10 @@ public class EduAttendanceStaffResult { /** * 考勤结果,0-正常,1-迟到,2-早退,3-旷工,4-迟到早退,5-上班未在打卡时间段,6-下班未在打卡时间段 */ - @ApiModelProperty(value = "考勤结果,0-正常,1-迟到,2-早退,3-旷工,4-迟到早退,5-上班未在打卡时间段,6-下班未在打卡时间段,7-上班未在打卡时间段|早退,8-上班迟到|下班未打卡") + @ApiModelProperty(value = "考勤结果,0-正常,1-迟到,2-早退,3-旷工,4-迟到早退,5-上班未在打卡时间段,6-下班未在打卡时间段") @TableField("status") private Integer status; - /** - * 上班考勤状态 0 正常 1 异常 - */ - @TableField("start_status") - private Integer startStatus; - /** - * 下班考勤状态 0 正常 1 异常 - */ - @TableField("end_status") - private Integer endStatus; - /** * 考勤日期 */ @@ -105,14 +92,4 @@ public class EduAttendanceStaffResult { @DateTimeFormat(pattern = "HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") private LocalTime endRealTime; - - @TableField(value = "CREATE_TIME", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - - @TableField(value = "UPDATE_TIME", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; } diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduUserStrategy.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduUserStrategy.java deleted file mode 100644 index 41f58b0..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/EduUserStrategy.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.yida.data.common.core.entity.attendance; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 人员策略信息 Entity - * 请假策略 - * - * @author ZYJ - * @date 2023-11-07 11:40:58 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@TableName("edu_user_strategy") -public class EduUserStrategy implements Serializable { - - private static final long serialVersionUID = -1811492574443072051L; - - /** - * 策略id - */ - @ApiModelProperty(value = "策略id(主键)") - @TableId(value = "strategy_id", type = IdType.INPUT) - private Long strategyId; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 用户id - */ - @ApiModelProperty(value = "用户id") - @TableField("user_id") - private Long userId; - - /** - * 用户类型,0-学生,1-职工 - */ - @ApiModelProperty(value = "用户类型,0-学生,1-职工") - @TableField("user_type") - private Integer userType; - - /** - * 策略开始时间 - */ - @ApiModelProperty(value = "策略开始时间") - @TableField("start_time") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime startTime; - - /** - * 策略结束时间 - */ - @ApiModelProperty(value = "策略结束时间") - @TableField("end_time") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime endTime; - - /** - * 学校部门id - */ - @ApiModelProperty(value = "学校部门id") - @TableField("dept_id") - private Long deptId; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRecord.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRecord.java deleted file mode 100644 index 4ce11a8..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRecord.java +++ /dev/null @@ -1,265 +0,0 @@ -package com.yida.data.common.core.entity.attendance.attendance; - -import java.util.Date; -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * @date 2023-08-09 11:37:25 - */ -@Data -@TableName("attendance_record") -public class AttendanceRecord { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("user_type") - private Integer userType; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("user_id") - private Long userId; - - @ApiModelProperty(value = "") - @TableField("user_name") - private String userName; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("school_id") - private Long schoolId; - - /** - * 校区id - */ - @ApiModelProperty(value = "校区id") - @TableField("campus_id") - private Long campusId; - - /** - * 校区id - */ - @ApiModelProperty(value = "校区id") - @TableField("campus_name") - private String campusName; - - @ApiModelProperty(value = "年级id") - @TableField("section_id") - private Long sectionId; - - @ApiModelProperty(value = "年级id") - @TableField("section_name") - private String sectionName; - - /** - * 年级id - */ - @ApiModelProperty(value = "年级id") - @TableField("grade_id") - private Long gradeId; - - /** - * 年级名称 - */ - @ApiModelProperty(value = "年级名称") - @TableField("grade_name") - private String gradeName; - - /** - * 班级id - */ - @ApiModelProperty(value = "班级id") - @TableField("class_id") - private Long classId; - - /** - * 班级名称 - */ - @ApiModelProperty(value = "班级名称") - @TableField("class_name") - private String className; - - /** - * 宿舍id - */ - @ApiModelProperty(value = "宿舍id") - @TableField("dorm_id") - private Long dormId; - - /** - * 宿舍名称 - */ - @ApiModelProperty(value = "宿舍名称") - @TableField("dorm_name") - private String dormName; - - /** - * 考勤时宿舍-寝室id - */ - @ApiModelProperty(value = "考勤时宿舍-寝室id") - @TableField("dorm_room_id") - private Long dormRoomId; - - /** - * 考勤时宿舍-寝室名称 - */ - @ApiModelProperty(value = "考勤时宿舍-寝室名称") - @TableField("dorm_room_name") - private String dormRoomName; - - /** - * 考勤设备id - */ - @ApiModelProperty(value = "考勤设备id") - @TableField("device_id") - private Long deviceId; - - - /** - * 考勤设备Name - */ - @ApiModelProperty(value = "考勤设备Name") - @TableField("device_name") - private String deviceName; - - - /** - * 考勤wifiid - */ - @ApiModelProperty(value = "考勤wifiid") - @TableField("wifi_id") - private Long wifiId; - - - /** - * 考勤wifiName - */ - @ApiModelProperty(value = "考勤wifiName") - @TableField("wifi_name") - private String wifiName; - - /** - * 考勤范围ID - */ - @ApiModelProperty(value = "考勤范围ID") - @TableField("address_id") - private Long addressId; - - /** - * 范围名称 - */ - @ApiModelProperty(value = "范围名称") - @TableField("address_name") - private Long addressName; - - - /** - * 记录生成时间 - */ - @ApiModelProperty(value = "记录生成时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 进出时间 - */ - @ApiModelProperty(value = "进出时间") - @TableField("create_time") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - - /** - * 闸机识别图片地址 - */ - @ApiModelProperty(value = "闸机识别图片地址") - @TableField("pic_url") - private String picUrl; - - /** - * 考勤结果,0-正常,1-异常 - */ - @ApiModelProperty(value = "考勤结果,0-正常,1-异常") - @TableField("status") - private Integer status; - - /** - * 0-进,1-出 - */ - @ApiModelProperty(value = "0-进,1-出") - @TableField("scope") - private Integer scope; - - /** - * 0-进,1-出 - */ - @ApiModelProperty(value = "0-校门,1-宿舍") - @TableField("zone") - private Integer zone; - - /** - * 该次考勤比较的规则中正常考勤时间 - */ - @ApiModelProperty(value = "该次考勤比较的规则中正常考勤时间") - @TableField("sti_time") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime stiTime; - - /** - * 匹配的考勤规则 - */ - @ApiModelProperty(value = "匹配的考勤规则") - @TableField("rule_id") - private Long ruleId; - - /** - * 匹配的考勤时间id - */ - @ApiModelProperty(value = "匹配的考勤时间id") - @TableField("rule_time_id") - private Long ruleTimeId; - - /** - * 考勤时间段类型:0上班时间,1下班时间 - */ - @ApiModelProperty(value = "考勤时间段类型:0上班时间,1下班时间") - @TableField("rule_time_type") - private Integer ruleTimeType; - - /** - * 设备侧元数据ID - */ - @ApiModelProperty(value = "设备侧元数据ID") - @TableField("original_record_id") - private String originalRecordId; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceReportPushRecord.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceReportPushRecord.java deleted file mode 100644 index 656ef55..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceReportPushRecord.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.yida.data.common.core.entity.attendance.attendance; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * @date 2023-08-09 11:37:25 - */ -@Data -@TableName("attendance_report_push_record") -public class AttendanceReportPushRecord { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_name", fill = FieldFill.INSERT) - private String createName; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("school_id") - private Long schoolId; - - - @ApiModelProperty(value = "0-教职工考勤推送,1学生考勤推送") - @TableField("type") - private Integer type; - - @TableField("rule_id") - private Long ruleId; - - - @ApiModelProperty(value = "1日报") - @TableField("report_type") - private Integer reportType; - - - @TableField("push_date") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate pushDate; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceReportStrategy.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceReportStrategy.java deleted file mode 100644 index 942854d..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceReportStrategy.java +++ /dev/null @@ -1,199 +0,0 @@ -package com.yida.data.common.core.entity.attendance.attendance; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * @date 2023-08-09 11:37:25 - */ -@Data -@TableName("attendance_report_strategy") -public class AttendanceReportStrategy { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_name", fill = FieldFill.INSERT) - private String createName; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("school_id") - private Long schoolId; - - /** - * 0-教职工考勤推送,1学生考勤推送,2家长提醒 - */ - @ApiModelProperty(value = "0-教职工考勤推送,1学生考勤推送,2家长提醒") - @TableField("type") - private Integer type; - - /** - * 是否推送周报0-否,1是 - */ - @ApiModelProperty(value = "是否推送周报0-否,1是") - @TableField("week_report") - private Integer weekReport; - - @ApiModelProperty(value = "周报推送推送日期:小于周三,推送上月周。大于周三推送本周") - @TableField("week_report_date") - private Integer weekReportDate; - - /** - * 周报推送时间:每周一XX点 - */ - @ApiModelProperty(value = "周报推送时间:每周一XX点") - @TableField("week_report_time") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime weekReportTime; - - - /** - * 是否推送月报0-否,1是 - */ - @ApiModelProperty(value = "是否推送月报0-否,1是") - @TableField("month_report") - private Integer monthReport; - - @ApiModelProperty(value = "月报推送推送日期:小于5号,推送上月。大于5号推送本月") - @TableField("month_report_date") - private Integer monthReportDate; - - /** - * 月报推送时间:每月1号XX点 - */ - @ApiModelProperty(value = "月报推送时间:每月1号XX点") - @TableField("month_report_time") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime monthReportTime; - - /** - * 是否推送迟到报告 0-否,1是 - */ - @ApiModelProperty(value = "是否推送迟到报告 0-否,1是") - @TableField("late_report") - private Integer lateReport; - - /** - * 迟到报告推送时间:超过考勤开始时间XXX分钟 - */ - @ApiModelProperty(value = "迟到报告推送时间:超过考勤开始时间XXX分钟") - @TableField("late_report_time") - private Integer lateReportTime; - - - /** - * 是否推送缺勤报告 0-否,1是 - */ - @ApiModelProperty(value = "是否推送缺勤报告 0-否,1是") - @TableField("miss_report") - private Integer missReport; - - /** - * 缺勤报告推送时间:超过考勤结束时间XXX分钟 - */ - @ApiModelProperty(value = "缺勤报告推送时间:超过考勤结束时间XXX分钟") - @TableField("miss_report_time") - private Integer missReportTime; - - - /** - * 考勤管理员是否推送报告,1是,0否 - */ - @ApiModelProperty(value = "考勤管理员是否推送报告,1是,0否") - @TableField("obj_manager") - private Integer objManager; - - - /** - * 指定人员:职工ID集合,逗号分隔 - */ - @ApiModelProperty(value = "指定人员:职工ID集合,逗号分隔") - @TableField("obj_staff_ids") - private String objStaffIds; - - /** - * 家长入校/离校提醒:0否,1是 - */ - @ApiModelProperty(value = "家长入校/离校提醒:0否,1是") - @TableField("parent_enroll_report") - private Integer parentEnrollReport; - - - /** - * 是否推送日报0-否,1是 - */ - @ApiModelProperty(value = "是否推送日报0-否,1是") - @TableField("day_report") - private Integer dayReport; - - /** - * 日报推送时间:超过考勤结束时间XXX分钟 - */ - @ApiModelProperty(value = "日报推送时间:超过考勤结束时间XXX分钟") - @TableField("day_report_time") - private Integer dayReportTime; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceResult.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceResult.java deleted file mode 100644 index 899f702..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceResult.java +++ /dev/null @@ -1,196 +0,0 @@ -package com.yida.data.common.core.entity.attendance.attendance; - -import java.util.Date; -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * @date 2023-08-09 11:37:25 - */ -@Data -@TableName("attendance_result") -public class AttendanceResult { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 0-固定上下班时间模式,1自由打卡模式 - */ - @ApiModelProperty(value = "0-固定上下班时间模式,1自由打卡模式") - @TableField("att_type") - private Integer attType; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("user_type") - private Integer userType; - - /** - * 用户id - */ - @ApiModelProperty(value = "用户id") - @TableField("user_id") - private Long userId; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("school_id") - private Long schoolId; - - /** - * 考勤规则id - */ - @ApiModelProperty(value = "考勤规则id") - @TableField("rule_id") - private Long ruleId; - - /** - * 考勤规则时间段id - */ - @ApiModelProperty(value = "考勤规则时间段id") - @TableField("rule_time_id") - private Long ruleTimeId; - - /** - * 考勤结果,0-正常,1-迟到,2-早退,3-旷工,4-迟到早退,5缺卡 - */ - @ApiModelProperty(value = "考勤结果,0-正常,1-迟到,2-早退,3-旷工,4-迟到早退,5缺卡,6请假,7晚归,8异常晚归") - @TableField("status") - private Integer status; - - /** - * 考勤日期 - */ - @ApiModelProperty(value = "考勤日期") - @TableField("attendance_date") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate attendanceDate; - - /** - * 上班应打卡时间 - */ - @ApiModelProperty(value = "上班应打卡时间") - @TableField("start_sti_time") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime startStiTime; - - /** - * 上班实际打卡时间 - */ - @ApiModelProperty(value = "上班实际打卡时间") - @TableField("start_real_time") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime startRealTime; - - /** - * 上班考勤结果 - */ - @ApiModelProperty(value = "上班考勤结果") - @TableField("start_status") - private Integer startStatus; - - - /** - * 迟到分钟数 - */ - @ApiModelProperty(value = "迟到分钟数") - @TableField("start_late_time") - private Long startLateTime; - - /** - * 上班打卡照片 - */ - @ApiModelProperty(value = "上班打卡照片") - @TableField("start_pic_url") - private String startPicUrl; - - /** - * 早退分钟数 - */ - @ApiModelProperty(value = "早退分钟数") - @TableField("end_leave_time") - private Long endLeaveTime; - - /** - * 下班应打卡时间 - */ - @ApiModelProperty(value = "下班应打卡时间") - @TableField("end_sti_time") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime endStiTime; - - /** - * 下班实际打卡时间 - */ - @ApiModelProperty(value = "下班实际打卡时间") - @TableField("end_real_time") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime endRealTime; - - /** - * 下班考勤结果 - */ - @ApiModelProperty(value = "下班考勤结果") - @TableField("end_status") - private Integer endStatus; - - - /** - * 下班打卡照片 - */ - @ApiModelProperty(value = "下班打卡照片") - @TableField("end_pic_url") - private String endPicUrl; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("create_time") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("update_time") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateTime; - - - private transient String campusName; - private transient String sectionName; - private transient String gradeName; - private transient String className; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRule.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRule.java deleted file mode 100644 index fcfadf8..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRule.java +++ /dev/null @@ -1,219 +0,0 @@ -package com.yida.data.common.core.entity.attendance.attendance; - -import java.util.Date; -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * @date 2023-08-09 11:37:25 - */ -@Data -@TableName("attendance_rule") -public class AttendanceRule { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_name", fill = FieldFill.INSERT) - private String createName; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("school_id") - private Long schoolId; - - /** - * 考勤规则名称 - */ - @ApiModelProperty(value = "考勤规则名称") - @TableField("name") - private String name; - - /** - * 0-教职工打卡,1学生上学考勤,2学生宿舍考勤 - */ - @ApiModelProperty(value = "0-教职工打卡,1学生上学考勤,2学生宿舍考勤") - @TableField("user_type") - private Integer userType; - - /** - * 0-固定上下班时间模式,1自由打卡模式 - */ - @ApiModelProperty(value = "0-固定上下班时间模式,1自由打卡模式") - @TableField("type") - private Integer type; - - /** - * 打卡日期,1-周一,2-周二....多个用','连接 - */ - @ApiModelProperty(value = "打卡日期,1-周一,2-周二....多个用','连接") - @TableField("week") - private String week; - - /** - * 法定节假日是否打卡,0-是,1-否 - */ - @ApiModelProperty(value = "法定节假日是否打卡,0-是,1-否") - @TableField("holiday_attendance") - private Integer holidayAttendance; - - /** - * 管理员打卡规则内容权限,0-无,1-有 - */ - @ApiModelProperty(value = "管理员打卡规则内容权限,0-无,1-有") - @TableField("role_rule") - private Integer roleRule; - - /** - * 管理员打卡人员与白名单权限,0-无,1-有 - */ - @ApiModelProperty(value = "管理员打卡人员与白名单权限,0-无,1-有") - @TableField("role_user") - private Integer roleUser; - - /** - * 管理员节假日与特殊日期权限,0-无,1-有 - */ - @ApiModelProperty(value = "管理员节假日与特殊日期权限,0-无,1-有") - @TableField("role_date") - private Integer roleDate; - - /** - * 管理员打卡提醒权限,0-无,1-有 - */ - @ApiModelProperty(value = "管理员打卡提醒权限,0-无,1-有") - @TableField("role_remind") - private Integer roleRemind; - - /** - * 打卡是必须拍照 0-无,1-必须 - */ - @ApiModelProperty(value = "打卡是必须拍照 0-无,1-必须") - @TableField("photo_take") - private Integer photoTake; - - /** - * 打卡时必须人脸识别0-无,1-必须 - */ - @ApiModelProperty(value = "打卡时必须人脸识别0-无,1-必须") - @TableField("face_take") - private Integer faceTake; - - /** - * 填写备注时必须拍照0-无,1-必须 - */ - @ApiModelProperty(value = "填写备注时必须拍照0-无,1-必须") - @TableField("photo_remark") - private Integer photoRemark; - - /** - * 异常打卡可以提交申请,审批后可修正打卡状态 - */ - @ApiModelProperty(value = "异常打卡可以提交申请,审批后可修正打卡状态") - @TableField("apply_amendment") - private Integer applyAmendment; - - /** - * 每月补卡次数 - */ - @ApiModelProperty(value = "每月补卡次数") - @TableField("reissue_num") - private Integer reissueNum; - - /** - * 每月补卡截止日期 - */ - @ApiModelProperty(value = "每月补卡截止日期") - @TableField("reissue_end_date") - private Integer reissueEndDate; - - - /** - * 启用状态:0-未启用,1-已启用 - */ - @ApiModelProperty(value = "启用状态:0-未启用,1-已启用") - @TableField("status") - private Integer status; - - /** - * 有效开始时间 - */ - @ApiModelProperty(value = "有效开始时间") - @TableField("start_date") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate startDate; - - - /** - * 有效结束时间 - */ - @ApiModelProperty(value = "有效结束时间") - @TableField("end_date") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate endDate; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleAddress.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleAddress.java deleted file mode 100644 index 64aa5f5..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleAddress.java +++ /dev/null @@ -1,101 +0,0 @@ -package com.yida.data.common.core.entity.attendance.attendance; - -import java.util.Date; -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * 考勤规则关联地点 Entity - * - * @date 2023-08-09 11:37:25 - */ -@Data -@TableName("attendance_rule_address") -public class AttendanceRuleAddress { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_name", fill = FieldFill.INSERT) - private String createName; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("school_id") - private Long schoolId; - - /** - * 规则ID - */ - @ApiModelProperty(value = "规则ID") - @TableField("rule_id") - private Long ruleId; - - /** - * 地点名称 - */ - @ApiModelProperty(value = "地点名称") - @TableField("address_name") - private Long addressName; - - /** - * 地点纬度 - */ - @ApiModelProperty(value = "地点纬度") - @TableField("address_lat") - private String addressLat; - - /** - * 地点经度 - */ - @ApiModelProperty(value = "地点经度") - @TableField("address_lon") - private String addressLon; - - /** - * 范围,米 - */ - @ApiModelProperty(value = "范围,米") - @TableField("range") - private Integer range; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleAdmin.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleAdmin.java deleted file mode 100644 index 8269f73..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleAdmin.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.yida.data.common.core.entity.attendance.attendance; - -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * 考勤-规则管理员 Entity - * - * @date 2023-08-09 11:37:25 - */ -@Data -@TableName("attendance_rule_admin") -public class AttendanceRuleAdmin { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("school_id") - private Long schoolId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("rule_id") - private Long ruleId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("user_type") - private Integer userType; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("dept_id") - private Long deptId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("staff_id") - private Long staffId; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleDevice.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleDevice.java deleted file mode 100644 index 53e9f84..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleDevice.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.yida.data.common.core.entity.attendance.attendance; - -import java.util.Date; -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * 考勤规则关联设备表 Entity - * - * @date 2023-08-09 11:37:25 - */ -@Data -@TableName("attendance_rule_device") -public class AttendanceRuleDevice { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_name", fill = FieldFill.INSERT) - private String createName; - - /** - * 规则ID - */ - @ApiModelProperty(value = "规则ID") - @TableField("rule_id") - private Long ruleId; - - /** - * 设备类型 - */ - @ApiModelProperty(value = "设备类型") - @TableField("device_type") - private Integer deviceType; - - /** - * 设备ID - */ - @ApiModelProperty(value = "设备ID") - @TableField("device_id") - private Long deviceId; - - /** - * 设备编号 - */ - @ApiModelProperty(value = "设备编号") - @TableField("device_sn") - private String deviceSn; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleObj.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleObj.java deleted file mode 100644 index 0ae12e7..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleObj.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.yida.data.common.core.entity.attendance.attendance; - -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * 规则适用部门 Entity - * - * @date 2023-08-09 11:37:25 - */ -@Data -@TableName("attendance_rule_obj") -public class AttendanceRuleObj { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 0-教职工部门,1-家校部门 - */ - @ApiModelProperty(value = "0-教职工部门,1-家校部门") - @TableField("user_type") - private Integer userType; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("rule_id") - private Long ruleId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("dept_id") - private Long deptId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("dept_name") - private String deptName; - - /** - * 父级部门id,逗号连接 - */ - @ApiModelProperty(value = "父级部门id,逗号连接") - @TableField("parent_dept_id") - private String parentDeptId; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleObjUser.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleObjUser.java deleted file mode 100644 index d7f4e95..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleObjUser.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.yida.data.common.core.entity.attendance.attendance; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * 规则适用部门人员 Entity - */ -@Data -@TableName("attendance_rule_obj_user") -public class AttendanceRuleObjUser { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 0-教职工部门,1-家校部门 - */ - @ApiModelProperty(value = "0-教职工部门,1-家校部门") - @TableField("user_type") - private Integer userType; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("rule_id") - private Long ruleId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("dept_id") - private Long deptId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("user_id") - private Long userId; - - /** - * 父级部门id,逗号连接 - */ - @ApiModelProperty(value = "") - @TableField("user_name") - private String userName; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleRemind.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleRemind.java deleted file mode 100644 index 7e6add7..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleRemind.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.yida.data.common.core.entity.attendance.attendance; - -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * 考勤-打卡提醒 Entity - * - * @date 2023-08-09 11:37:25 - */ -@Data -@TableName("attendance_rule_remind") -public class AttendanceRuleRemind { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 规则id - */ - @ApiModelProperty(value = "规则id") - @TableField("rule_id") - private Long ruleId; - - /** - * 类型=规则usertype - */ - @ApiModelProperty(value = "类型=规则usertype") - @TableField("user_type") - private Integer userType; - - /** - * 0-上班提醒,1-下班提醒 - */ - @ApiModelProperty(value = "0-上班提醒,1-下班提醒") - @TableField("type") - private Integer type; - - /** - * 提醒的提前分钟数 - */ - @ApiModelProperty(value = "提醒的提前分钟数") - @TableField("minute") - private Integer minute; - - /** - * 提醒文本 - */ - @ApiModelProperty(value = "提醒文本") - @TableField("message") - private String message; - - /** - * 1-添加接收人姓名,0-不添加接收人姓名 - */ - @ApiModelProperty(value = "1-添加接收人姓名,0-不添加接收人姓名") - @TableField("include_receiver") - private Integer includeReceiver; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleSpecialDate.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleSpecialDate.java deleted file mode 100644 index 115bdfd..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleSpecialDate.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.yida.data.common.core.entity.attendance.attendance; - -import java.util.Date; -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * 考勤-特殊日期 Entity - * - * @date 2023-08-09 11:37:25 - */ -@Data -@TableName("attendance_rule_special_date") -public class AttendanceRuleSpecialDate { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 规则id - */ - @ApiModelProperty(value = "规则id") - @TableField("rule_id") - private Long ruleId; - - /** - * 0-不用打卡,1-必须打卡 - */ - @ApiModelProperty(value = "0-不用打卡,1-必须打卡") - @TableField("type") - private Long type; - - /** - * 开始日期 - */ - @ApiModelProperty(value = "开始日期") - @TableField("start_date") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate startDate; - - - /** - * 结束日期 - */ - @ApiModelProperty(value = "结束日期") - @TableField("end_date") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate endDate; - - /** - * 事由 - */ - @ApiModelProperty(value = "事由") - @TableField("reason") - private String reason; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleTime.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleTime.java deleted file mode 100644 index 473e7e5..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleTime.java +++ /dev/null @@ -1,161 +0,0 @@ -package com.yida.data.common.core.entity.attendance.attendance; - -import java.util.Date; -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * 考勤-打卡时段 Entity - * - * @date 2023-08-09 11:37:25 - */ -@Data -@TableName("attendance_rule_time") -public class AttendanceRuleTime { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 考勤规则id - */ - @ApiModelProperty(value = "考勤规则id") - @TableField("rule_id") - private Long ruleId; - - /** - * 上班时间 - */ - @ApiModelProperty(value = "上班时间") - @TableField("start_time") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime startTime; - - /** - * 下班时间 - */ - @ApiModelProperty(value = "下班时间") - @TableField("end_time") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime endTime; - - /** - * 最晚时间-针对宿舍考勤晚归情况 - */ - @ApiModelProperty(value = "最晚时间-针对宿舍考勤晚归情况") - @TableField("last_time") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime lastTime; - - - /** - * 结束时间是否为次日,1=是,0=否 - */ - @ApiModelProperty(value = "结束时间是否为次日,1=是,0=否") - @TableField("end_next_day") - private Integer endNextDay; - - - /** - * 上班打卡时段启用状态. 0-不启用, 1-启用 - */ - @ApiModelProperty(value = "上班打卡时段启用状态. 0-不启用, 1-启用") - @TableField("start_effective_status") - private Integer startEffectiveStatus; - - /** - * 上班打卡时段开始时间 - */ - @ApiModelProperty(value = "上班打卡时段开始时间") - @TableField("start_effective_start_time") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime startEffectiveStartTime; - - /** - * 上班打卡时段结束时间 - */ - @ApiModelProperty(value = "上班打卡时段结束时间") - @TableField("start_effective_end_time") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime startEffectiveEndTime; - - /** - * 下班打卡时段启用状态. 0-不启用, 1-启用 - */ - @ApiModelProperty(value = "下班打卡时段启用状态. 0-不启用, 1-启用") - @TableField("end_effective_status") - private Integer endEffectiveStatus; - - /** - * 下班打卡时段开始时间 - */ - @ApiModelProperty(value = "下班打卡时段开始时间") - @TableField("end_effective_start_time") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime endEffectiveStartTime; - - /** - * 下班打卡时段结束时间 - */ - @ApiModelProperty(value = "下班打卡时段结束时间") - @TableField("end_effective_end_time") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime endEffectiveEndTime; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleWhiteList.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleWhiteList.java deleted file mode 100644 index 9b581fa..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleWhiteList.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.yida.data.common.core.entity.attendance.attendance; - -import java.util.Date; -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * 考勤-白名单 Entity - * - * @date 2023-08-09 11:37:25 - */ -@Data -@TableName("attendance_rule_white_list") -public class AttendanceRuleWhiteList { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 0-教职工ID,1-学生ID - */ - @ApiModelProperty(value = "0-教职工ID,1-学生ID") - @TableField("user_type") - private Integer userType; - - /** - * 规则id - */ - @ApiModelProperty(value = "规则id") - @TableField("rule_id") - private Long ruleId; - - - /** - * 人员IDid - */ - @ApiModelProperty(value = "教职工id") - @TableField("user_id") - private Long userId; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleWifi.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleWifi.java deleted file mode 100644 index f9f4265..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/attendance/attendance/AttendanceRuleWifi.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.yida.data.common.core.entity.attendance.attendance; - -import java.util.Date; -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * 考勤规则关联wifi Entity - * - * @date 2023-08-09 11:37:25 - */ -@Data -@TableName("attendance_rule_wifi") -public class AttendanceRuleWifi { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_name", fill = FieldFill.INSERT) - private String createName; - - /** - * 规则ID - */ - @ApiModelProperty(value = "规则ID") - @TableField("rule_id") - private Long ruleId; - - /** - * wifi名称 - */ - @ApiModelProperty(value = "wifi名称") - @TableField("wifi_name") - private String wifiName; - - /** - * BSSID - */ - @ApiModelProperty(value = "BSSID") - @TableField("wifi_bssid") - private String wifiBssid; - - /** - * BSSID - */ - @ApiModelProperty(value = "ip") - @TableField("ip") - private String ip; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCall.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCall.java deleted file mode 100644 index 3dcb969..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCall.java +++ /dev/null @@ -1,134 +0,0 @@ -package com.yida.data.common.core.entity.classCall; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.entity.classschedule.EduClassScheduleTime; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import java.util.List; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 点名系统 - */ -@Data -@TableName("edu_class_call") -public class EduClassCall { - - - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 班级ID - */ - @ApiModelProperty(value = "课程ID") - @TableField("class_id") - private Long classId; - - /** - * 班级名称 - */ - @ApiModelProperty(value = "课程名称") - @TableField("class_name") - private String className; - - - /** - * 课程名称 - */ - @ApiModelProperty(value = "课程名称") - @TableField("subject_name") - private String subjectName; - - - /** - * 学生总人数 - */ - @ApiModelProperty(value = "学生总人数") - @TableField("student_num") - private Integer studentNum; - - - /** - * 学生异常人数 - */ - @ApiModelProperty(value = "学生异常人数") - @TableField("abnormal_number") - private Integer abnormalNumber; - - /** - * 点名教师id - */ - @ApiModelProperty(value = "点名教师id") - @TableField("teacher_id") - private Long teacherId; - - /** - * 点名教师名字 - */ - @ApiModelProperty(value = "点名教师名字") - @TableField("teacher_name") - private String teacherName; - - - /** - * 所属学校主键ID - */ - @ApiModelProperty(value = "所属学校主键ID") - @TableField("school_id") - private Long schoolId; - - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 更新时间 - */ - @ApiModelProperty(value = "更新时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 创建者 - */ - @ApiModelProperty(value = "创建者") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 修改者 - */ - @ApiModelProperty(value = "修改者") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 删除标识 - */ - @ApiModelProperty(value = "删除标识") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - @ApiModelProperty(value = "点名记录") - @TableField(exist = false) - private List studentRecordList; - -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCallPushConfig.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCallPushConfig.java deleted file mode 100644 index 86d3e88..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCallPushConfig.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.yida.data.common.core.entity.classCall; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.List; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 点名系统 消息推送配置 - */ -@Data -@TableName("edu_class_call_push_config") -public class EduClassCallPushConfig { - - - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 所属学校主键ID - */ - @ApiModelProperty(value = "所属学校主键ID") - @TableField("school_id") - private Long schoolId; - - /** - * 流程名称 - */ - @ApiModelProperty(value = "流程名称") - @TableField("title") - private String title; - - - /** - * 有效开始时间 - */ - @ApiModelProperty(value = "有效开始时间") - @TableField(value = "start_date") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate startDate; - - - /** - * 有效结束时间 - */ - @ApiModelProperty(value = "有效结束时间") - @TableField(value = "end_date") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate endDate; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 更新时间 - */ - @ApiModelProperty(value = "更新时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 创建者 - */ - @ApiModelProperty(value = "创建者") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 修改者 - */ - @ApiModelProperty(value = "修改者") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 删除标识 - */ - @ApiModelProperty(value = "删除标识") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 发送人员集合 - */ - @ApiModelProperty(value = "发送人员集合") - @TableField(exist = false) - private List staffList; - -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCallPushConfigProcess.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCallPushConfigProcess.java deleted file mode 100644 index a668d43..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCallPushConfigProcess.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.yida.data.common.core.entity.classCall; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import java.time.LocalDateTime; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 点名系统 消息推送配置 流程 - */ -@Data -@TableName("edu_class_call_push_config_process") -public class EduClassCallPushConfigProcess { - - - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 配置ID - */ - @ApiModelProperty(value = "配置ID") - @TableField("config_id") - private Long configId; - - /** - * 排序 - */ - @ApiModelProperty(value = "排序") - @TableField("sort") - private Integer sort; - - /** - * 0指定角色,1指定人员 - */ - @ApiModelProperty(value = "0指定角色,1指定人员") - @TableField("type") - private Integer type; - - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 更新时间 - */ - @ApiModelProperty(value = "更新时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 创建者 - */ - @ApiModelProperty(value = "创建者") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 修改者 - */ - @ApiModelProperty(value = "修改者") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 删除标识 - */ - @ApiModelProperty(value = "删除标识") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCallPushConfigProcessStaff.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCallPushConfigProcessStaff.java deleted file mode 100644 index c1c0176..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCallPushConfigProcessStaff.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.yida.data.common.core.entity.classCall; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 点名系统 消息推送配置 流程 对应人员 - */ -@Data -@TableName("edu_class_call_push_config_process_staff") -public class EduClassCallPushConfigProcessStaff { - - - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 配置ID - */ - @ApiModelProperty(value = "配置ID") - @TableField("config_id") - private Long configId; - - - /** - * 0指定角色,1指定人员 - */ - @ApiModelProperty(value = "0指定角色,1指定人员") - @TableField("type") - private Integer type; - - - /** - * 指定角色时,0=班主任,1=系主任;指定人员时,具体职工ID - */ - @ApiModelProperty(value = "指定角色时,0=班主任,1=系主任;指定人员时,具体职工ID") - @TableField("user_id") - private Long userId; - - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 更新时间 - */ - @ApiModelProperty(value = "更新时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 创建者 - */ - @ApiModelProperty(value = "创建者") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 修改者 - */ - @ApiModelProperty(value = "修改者") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 删除标识 - */ - @ApiModelProperty(value = "删除标识") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCallStudentRecord.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCallStudentRecord.java deleted file mode 100644 index 18769a9..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/classCall/EduClassCallStudentRecord.java +++ /dev/null @@ -1,176 +0,0 @@ -package com.yida.data.common.core.entity.classCall; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 点名系统-学生记录 - */ -@Data -@TableName("edu_class_call_student_record") -public class EduClassCallStudentRecord { - - - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 点名ID - */ - @ApiModelProperty(value = "点名ID") - @TableField("call_id") - private Long callId; - - /** - * 学生ID - */ - @ApiModelProperty(value = "学生ID") - @TableField("student_id") - private Long studentId; - - /** - * 性别 - */ - @ApiModelProperty(value = "性别(0男,1女,2或者null = 其他)") - @TableField("gender") - private Integer gender; - - - /** - * 头像 - */ - @ApiModelProperty(value = "头像") - @TableField("avatar") - private String avatar; - - - /** - * 学生姓名 - */ - @ApiModelProperty(value = "学生姓名") - @TableField("student_name") - private String studentName; - - - /** - * 点名状态:0异常。1正常 - */ - @ApiModelProperty(value = "点名状态:0异常。1正常") - @TableField("status") - private Integer status; - - - /** - * 班级Id - */ - @ApiModelProperty(value = "班级Id") - @TableField("class_id") - private Long classId; - /** - * 班级名称 - */ - @ApiModelProperty(value = "课程名称") - @TableField("class_name") - private String className; - - - /** - * 学区ID - */ - @ApiModelProperty(value = "学区ID") - @TableField("campus_id") - private Long campusId; - /** - * 学区名称 - */ - @ApiModelProperty(value = "学区名称") - @TableField("campus_name") - private String campusName; - - - /** - * 学段ID - */ - @ApiModelProperty(value = "学段ID") - @TableField("section_id") - private Long sectionId; - /** - * 学段名称 - */ - @ApiModelProperty(value = "学段名称") - @TableField("section_name") - private String sectionName; - - - /** - * 年级ID - */ - @ApiModelProperty(value = "年级ID") - @TableField("grade_id") - private Long gradeId; - /** - * 年级名称 - */ - @ApiModelProperty(value = "年级名称") - @TableField("grade_name") - private String gradeName; - - /** - * 所属学校主键ID - */ - @ApiModelProperty(value = "所属学校主键ID") - @TableField("school_id") - private Long schoolId; - - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 更新时间 - */ - @ApiModelProperty(value = "更新时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 创建者 - */ - @ApiModelProperty(value = "创建者") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 修改者 - */ - @ApiModelProperty(value = "修改者") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 删除标识 - */ - @ApiModelProperty(value = "删除标识") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/AppConstant.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/AppConstant.java index a9b57e3..b96f950 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/AppConstant.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/AppConstant.java @@ -3,18 +3,9 @@ package com.yida.data.common.core.entity.constant; public interface AppConstant { /** - * 通讯录(用于操作) https://developer.work.weixin.qq.com/document/path/96078 + * 通讯录 */ String CONTACT = "通讯录"; - - /** - * 通讯录(用于查询) 职工端智慧迎新 - */ - String CONTACT_SELECT = "contact_resources"; - - /** - * 家校沟通 - */ String CONTACT_SCHOOL = "家校沟通"; /** @@ -89,28 +80,8 @@ public interface AppConstant { */ String TEACHER_LEAVE_REQUEST = "teacher_leave_request"; - /** - * 请假家长端 - */ - String STUDENT_LEAVE_REQUEST = "student_leave_request"; - /** * 访客教师端 */ String VISITOR_STAFF = "visitor_staff"; - - /** - * 微官网 家长端智慧迎新 - */ - String INDEX_PARENT = "index_parent"; - - /** - * 查寝 - */ - String DORM_ATTENDANCE_STAFF = "dorm_attendance_staff"; - - /** - * 智慧迎新职工端 - */ - String SMART_WELCOME_STAFF = "smart_welcome_staff"; } diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/CachePrefixConstant.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/CachePrefixConstant.java index 6d1c750..b1a0676 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/CachePrefixConstant.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/CachePrefixConstant.java @@ -2,31 +2,11 @@ package com.yida.data.common.core.entity.constant; public interface CachePrefixConstant { - /** - * 企业微信服务商缓存前缀 - */ - String SYS_SERVICE_PROVIDER = "sys:service:provider."; - /** * 企业微信应用缓存前缀 */ String SYS_APP = "sys:app."; - /** - * 系统白名单信息 - */ - String SYS_WHITE_LIST = "sys:white:list."; - - /** - * 部门对应的第三方系统功能 - */ - String SYS_DEPT_FUNCTION = "sys:dept:function."; - - /** - * 企业微信应用模板缓存前缀 - */ - String SYS_APP_TEMPLATE = "sys:app.template."; - /** * 部门公众号 */ @@ -81,18 +61,6 @@ public interface CachePrefixConstant { String IMPORT_STUDENT_KEY = "import.student."; String IMPORT_STUDENT_FILE = "import.student.file."; - String IMPORT_STUDENT_CARD_NUMBER_KEY = "import.student.cardNo"; - - /** - * 学生导出信息 - */ - String EXPORT_STUDENT_DATA = "student:data:export."; - - /** - * 学生宿舍导出信息 - */ - String EXPORT_STUDENT_DORM_DATA = "student:dorm:data:export."; - /** * 登录用户将要登录的部门id */ @@ -139,31 +107,6 @@ public interface CachePrefixConstant { */ String UNION_PAY_CONFIG = "sys:union.pay.config"; - /** - * 建行支付配置信息 - */ - String CONSTRUCTION_PAY_CONFIG = "sys:construction.pay.config"; - - /** - * 收钱吧支付配置信息 - */ - String U_PAY_CONFIG = "sys:u.pay.config"; - - /** - * 百度api配置信息 - */ - String BAI_DU_API_CONFIG = "baidu:api.config"; - - /** - * 学校收钱吧终端信息 - */ - String DEPT_CONSUME_TERMINAL = "dept:consume:terminal."; - - /** - * 学校消费机服务器信息 - */ - String CONSUME_CONFIG = "sys:consume.config"; - //------------------学校------------------- /** * 导入寝室 进度信息 @@ -183,20 +126,11 @@ public interface CachePrefixConstant { //------------------用户------------------- String STUDENT_DATA = "user:student.data"; - //------------------用户------------------- - String STUDENT_BASE_DATA = "user:student.base.data"; - - /** * 导入住宿学生 进度信息 */ String IMPORT_STUDENT_DORM = "user:studentDorm.import"; - /** - * 导入学生类型 进度信息 - */ - String IMPORT_STUDENT_TYPE = "user:studentType.import"; - /** * 学生在校离校,在寝不在寝状态 */ @@ -229,11 +163,6 @@ public interface CachePrefixConstant { */ String ISSUE_FACE_ERROR_MSG = "user:face:issue.error.msg."; - /** - * 设备组人脸下发成功数量 - */ - String ISSUE_GROUP_USER_FACE_SUCCESS = "group.user.face.success."; - /** * 大华code与人员id对应 */ @@ -256,11 +185,6 @@ public interface CachePrefixConstant { */ String DEVICE_DATA = "attendance:device:data"; - /** - * 设备数据 - */ - String DEVICE_DATA_BY_ID = "attendance:device:id:data"; - /** * 最新考勤记录时间 */ @@ -276,31 +200,11 @@ public interface CachePrefixConstant { */ String ISSUE_FACE_GROUP_DEVICE = "attendance:device:face-group."; - /** - * 设备下发的人脸组鼠标数量 - */ - String ISSUE_FACE_GROUP_DEVICE_NUMBER = "attendance:device:face-group.number."; - /** * 海清设备批量编辑列表 */ String HQ_EDIT_BATCH = "hq.edit.batch."; - /** - * 海清人脸新增信息 - */ - String HQ_BATCH_ADD = "hq.batch.add."; - - /** - * 海清人脸新编辑信息 - */ - String HQ_BATCH_EDIT = "hq.batch.edit."; - - /** - * 接收的认证消息缓存 - */ - String HQ_RECEIVE_INFO = "hq.receive.info."; - //--------------商品订单------------------ /** @@ -436,13 +340,6 @@ public interface CachePrefixConstant { * 宿舍信息 */ String FACILITY_DORM_ROOM = "facility:dorm:room"; - - // --------------------宿舍数据----------------- - /** - * 宿舍信息 - */ - String FACILITY_DORM_MASTER = "facility:dorm:master."; - // --------------------第二课堂---------------- /** * 菜单配置 @@ -469,7 +366,7 @@ public interface CachePrefixConstant { String BILL_ORDER = "bill.order."; /** - * 账单订单调起支付所需参数,微信jsapi为prepay_id,微信h5为支付地址,银联支付为支付地址 + * 账单订单调起支付所需参数,微信jsapi为prepay_id,微信h5为回调地址,银联支付为支付地址 */ String BILL_ORDER_FLAG = "bill.order.flag."; @@ -508,27 +405,6 @@ public interface CachePrefixConstant { */ String BILL_PAY_DETAIL_EXPORT_URL = "bill:pay:detail:export:url:"; - // --------------------消费充值---------------- - /** - * 学生消费订单缓存 - */ - String CONSUME_ORDER_STUDENT = "consume.order.student."; - - /** - * 消费订单信息 - */ - String CONSUME_ORDER = "consume.order."; - - /** - * 消费订单调起支付所需参数,微信jsapi为prepay_id,微信h5为支付地址,银联支付为支付地址,收钱吧为支付地址 - */ - String CONSUME_ORDER_FLAG = "consume.order.flag."; - - /** - * 商品描述 - */ - String CONSUME_ORDER_DESC = "充值缴费"; - // -----------摄像头------------------------- /** * 摄像头 @@ -542,41 +418,6 @@ public interface CachePrefixConstant { */ String USER_PIC_DOWNLOAD = "user:pic:downLoad."; - - /** - * 职工通行记录下载 - */ - String STAFF_ATTENDANCE_RECORD_DOWNLOAD = "staff:attendance:record:downLoad."; - - /** - * 职工考勤记录下载 - */ - String STAFF_ATTENDANCE_RESULT_DOWNLOAD = "staff:attendance:result:downLoad."; - - - /** - * 学生宿舍考勤下载 - */ - String STUDENT_DORM_ATTENDANCE_RESULT_DOWNLOAD = "student:dorm:attendance:result:downLoad."; - - - /** - * 通行记录下载 - */ - String ATTENDANCE_RECORD_DOWNLOAD = "attendance:record:download."; - - - /** - * 考勤日报下载 - */ - String ATTENDANCE_DAY_REPORT_DOWNLOAD = "attendance:day:report:download."; - - - /** - * 商品购买情况下载 - */ - String PRODUCT_BUY_DATA_DOWNLOAD = "product:buy:data:downLoad."; - /** * 下载学生照片 */ @@ -590,7 +431,7 @@ public interface CachePrefixConstant { /** * 学校对应关键功能点配置 */ - String SCHOOL_FUNCATION_CODE = "school:funcation:code:"; + String SCHOOL_FUNCATION_CODE = "school:funcation:code."; String ATTENDANCE_DORMITORY_CLASS = "attendance:Dormitory:class."; @@ -599,9 +440,6 @@ public interface CachePrefixConstant { String STAFF_MANGE_DEPT = "staff:mange:dept."; - String STAFF_MANGE_CLASS = "staff:mange:class."; - - /** * 对应设备策略id(人脸组id)缓存 */ @@ -641,165 +479,6 @@ public interface CachePrefixConstant { String ADD_MANUSCRIPT_PROGRESS = "add:manuscript:progress"; // --------------------智慧迎新----------------- - /** - * 花名册下载缓存 - */ String GUIDE_ROSTER_DATA_DOWNLOAD = "guide:roster:data:download."; - /** - * 花名册身份证、通知书下载图片缓存 - */ - String GUIDE_ROSTER_PIC_DATA_DOWNLOAD = "guide:roster:pic:data:download."; - - // --------------------智慧迎新----------------- - /** - * 新生迎新步骤信息 - */ - String GUIDE_ROSTER_STEP_DATA = "guide:roster:step:data."; - - /** - * 花名册人员迎新订单缓存 - */ - String GUIDE_STEP_ORDER_ROSTER = "guide.step.order.roster."; - - /** - * 迎新步骤订单缓存 - */ - String GUIDE_STEP_ORDER = "guide.step.order."; - - /** - * 迎新订单调起支付所需参数,微信jsapi为prepay_id,微信h5为支付地址,银联支付为支付地址,建行为支付地址 - */ - String GUIDE_STEP_ORDER_FLAG = "guide.step.order.flag."; - - - /** - * 智慧迎新导入学生人脸 - */ - String IMPORT_GUIDE_AVATAR_KEY = "guide:avatar:import.key."; - - - /** - * 智慧迎新导入花名册 - */ - String IMPORT_GUIDE_ROSTER_KEY = "guide:roster:import.key."; - - /** - * 智慧迎新系部专业数据 - */ - String WELCOME_DEPARTMENT_DATA = "welcome:department:data."; - - /** - * 智慧迎新预分班级数据 - */ - String WELCOME_CLASS_DATA = "welcome:class:data."; - - /** - * 智慧迎新班级对应人员数量 - */ - String WELCOME_CLASS_STUDENT_NUMBER = "welcome:class:student:number:"; - - /** - * 智慧迎新预分宿舍数据 - */ - String WELCOME_DORM_DATA = "welcome:dorm:data."; - - - /** - * 智慧迎新宿舍对应人员数量 - */ - String WELCOME_DROM_STUDENT_NUMBER = "welcome:dorm:student:number:"; - - - /** - * 智慧迎新宿舍对应人员数量 - */ - String WELCOME_DROM_STUDENT_NUMBER_BUDING = "welcome:dorm:student:number:buding"; - - - /** - * 智慧迎新预分班级导入进度 - */ - String WELCOME_CLASS_IMPOST_PROGRESS = "welcome:class:import:progress:"; - - /** - * 智慧迎新预分宿舍导入进度 - */ - String WELCOME_DORM_IMPOST_PROGRESS = "welcome:dorm:import:progress:"; - - /** - * 智慧迎新花名册信息 - */ - String WELCOME_ROSTER = "welcome:roster"; - - - /** - * 学生考勤结果 每月记录 - */ - String ATTENDANCE_DATE_STATUS = "attendance:date:status."; - - - /** - * 管理员查看 每月记录 - */ - String ATTENDANCE_MANAGE_DATE_STATUS = "attendance:manage:date:status."; - - - /** - * 学生考勤结果 每日记录 - */ - String ATTENDANCE_STATUS_DAY_STUDENT = "attendance:status:day:student:"; - - - /** - * 教职工考勤结果 每日记录 - */ - String ATTENDANCE_STATUS_DAY_STAFF = "attendance:status:day:staff:"; - - /** - * 考勤管理管理部门树 - */ - String ATTENDANCE_USER_MANAGE_TREE = "attendance:user:manage:tree:"; - - /** - * 考勤管理管理部门树 - */ - String ATTENDANCE_STAFF_IDENTITY = "attendance:staff:identity:"; - - /** - * 职工管理规则 - */ - String ATTENDANCE_STAFF_MANAGE_RULE = "attendance:staff:manage:rule"; - - /** - * 用户打卡记录 - */ - String ATTENDANCE_USER_RECORD = "attendance:user:record"; - - /** - * 学生匹配的考勤规则 - */ - String ATTENDANCE_STUDENT_RULE = "attendance:student:rule"; - - /** - * 校园主页信息 - */ - String SCHOOL_HOME_INFO = "school:home:info"; - - /** - * 学校小程序信息 - */ - String DEPT_HOME_APP_INFO = "dept:home:app:info"; - - - /** - * 用户对应微信小程序 - */ - String USER_GENERATE_URL_LINK = "user:generate:url:link:"; - - - /** - * 考勤规则 - */ - String ATTENDANCE_RULE_DATA = "attendance:rule"; } diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/ConstructionPayConstant.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/ConstructionPayConstant.java deleted file mode 100644 index 72b137d..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/ConstructionPayConstant.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.yida.data.common.core.entity.constant; - -/** - * 建行支付常量 - * - * @author ZYJ - * @date 2023/6/19 - */ -public interface ConstructionPayConstant { - - /** - * 接口地址 - */ - String URL = "https://ibsbjstar.ccb.com.cn/CCBIS/ccbMain"; - - /** - * 二维码下单接口地址 - */ - String QR_PAY_URL = URL + "?CCB_IBSVersion=V6"; - - /** - * 二维码支付交易码 - */ - String QR_PAY_CODE = "530550"; - - /** - * 订单查询交易码 - */ - String QUERY_ORDER_CODE = "410408"; - - /** - * 业务状态码字段 - */ - String SUCCESS_KEY = "SUCCESS"; - - /** - * 业务成功状态码 - */ - String SUCCESS_CODE = "true"; - - /** - * 建行二维码下单返回地址 - * 用于获取二维码下单实际支付地址 - */ - String PAY_URL = "PAYURL"; - - /** - * 建行二维码支付实际地址 - */ - String QR_URL = "QRURL"; - - /** - * 订单查询返回码字段名称 - */ - String RETURN_CODE_NAME = "RETURN_CODE"; - - /** - * 订单查询返回消息段名称 - */ - String RETURN_MSG = "RETURN_MSG"; - - /** - * 订单查询返回码成功状态 - */ - String RETURN_SUCCESS_CODE = "000000"; - - /** - * 流水不存在状态码 - */ - String NO_ORDER_CODE = "YDCA02910001"; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/ConsumeConstant.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/ConsumeConstant.java deleted file mode 100644 index 8079315..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/ConsumeConstant.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.yida.data.common.core.entity.constant; - -/** - * 消费机常量 - * - * @author ZYJ - * @date 2023/4/4 - */ -public interface ConsumeConstant { - - /** - * 接口错误信息字段名称 - */ - String ERROR_CONTENT_NAME = "error"; - - /** - * 接口错误状态码名称 - */ - String ERROR_CODE_NAME = "errorCode"; - - /** - * 接口错误信息名称 - */ - String ERROR_MESSAGE_NAME = "errorMessage"; - - /** - * 获取人员信息 - */ - String GET_PERSON_INFO = "/hpt/v2/Accounts/Get"; - - /** - * 挂失卡片 - */ - String LOCK_CARD = "/hpt/v2/Accounts/LockCard"; - - /** - * 解挂卡片 - */ - String UN_LOCK_CARD = "/hpt/v2/Accounts/UnLockCard"; - - /** - * 充值 - */ - String RECHARGE = "/hpt/v2/Accounts/Recharge"; - - /** - * 充值撤销 - */ - String UNDO_RECHARGE = "/hpt/v2/Accounts/UndoRecharge"; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/FebsConstant.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/FebsConstant.java index b1816c7..09cf148 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/FebsConstant.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/FebsConstant.java @@ -79,20 +79,10 @@ public interface FebsConstant { String TP_TOKEN = "tupu.token."; /** - * 微信公众号 token key前缀 7200s + * 微信公众号 token key前缀 */ String WX_PUBLIC_ACCESS_TOKEN = "wx.public:access.token."; - /** - * 微信 JS-SDK jsapi_ticket key前缀 7200s - */ - String WX_PUBLIC_JS_API_TICKET = "wx.public:jsapi.ticket."; - - /** - * 企业微信 JS-SDK jsapi_ticket key前缀 7200s - */ - String QYWX_WX_JS_API_TICKET = "qywx.wx:jsapi.ticket."; - /** * 几米 access_token key前缀 */ diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/LockPrefixConstant.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/LockPrefixConstant.java index c3b7b77..f9d3c4c 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/LockPrefixConstant.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/LockPrefixConstant.java @@ -43,12 +43,7 @@ public interface LockPrefixConstant { String CARD_CMD_LOCK = "device:card:cmd-lock"; /** - * 设备下发处理返回数据锁 + * 学生账单订单锁 */ - String ISSUE_FACE_DEVICE_LOCK = "user:face:issue.device.lock."; - - /** - * 设备组下发处理人脸数据锁 - */ - String ISSUE_FACE_GROUP_LOCK = "user:face:group.lock."; + String STUDENT_BILL_ORDER_LOCK = "student.bill.order.lock."; } diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/NoticeTypeConstant.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/NoticeTypeConstant.java deleted file mode 100644 index a2fe981..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/NoticeTypeConstant.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.yida.data.common.core.entity.constant; - -public interface NoticeTypeConstant { - - String NOTICE_MSG_TEMPLATE_TYPE = "template_card"; - - /** - * 文本展示型卡片 - */ - String TEMPLATE_NOTICE_TYPE_TEXT = "text_notice"; - - /** - * 图文展示型卡片 - */ - String TEMPLATE_NOTICE_TYPE_NEWS = "news_notice"; - - /** - * 按钮交付型卡片 - */ - String TEMPLATE_NOTICE_TYPE_BUTTON = "button_interaction"; - - /** - * 投票选择型卡片 - */ - String TEMPLATE_NOTICE_TYPE_VOTE = "vote_interaction"; - -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/QywxConstant.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/QywxConstant.java index 40661e4..6557e70 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/QywxConstant.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/QywxConstant.java @@ -38,21 +38,11 @@ public interface QywxConstant { */ String USER_DETAIL_URL = "https://qyapi.weixin.qq.com/cgi-bin/user/get"; - /** - * 获取访问用户敏感信息 post https://qyapi.weixin.qq.com/cgi-bin/auth/getuserdetail?access_token=ACCESS_TOKEN - */ - String USER_SENSITIVE_INFO_URL = "https://qyapi.weixin.qq.com/cgi-bin/auth/getuserdetail?access_token="; - /** * 查询部门成员详情 get https://qyapi.weixin.qq.com/cgi-bin/user/list?access_token=ACCESS_TOKEN&department_id=DEPARTMENT_ID&fetch_child=FETCH_CHILD */ String USER_DETAIL_LIST_URL = "https://qyapi.weixin.qq.com/cgi-bin/user/list"; - /** - * 获取成员ID列表 POST https://qyapi.weixin.qq.com/cgi-bin/user/list_id?access_token=ACCESS_TOKEN - */ - String USER_ID_LIST_URL = "https://qyapi.weixin.qq.com/cgi-bin/user/list_id?access_token="; - /** * 创建部门 POST https://qyapi.weixin.qq.com/cgi-bin/department/create?access_token=ACCESS_TOKEN */ @@ -73,16 +63,6 @@ public interface QywxConstant { */ String DEPT_LIST_URL = "https://qyapi.weixin.qq.com/cgi-bin/department/list"; - /** - * 获取子部门ID列表 GET https://qyapi.weixin.qq.com/cgi-bin/department/simplelist?access_token=ACCESS_TOKEN&id=ID - */ - String SIMPLE_DEPT_LIST_URL = "https://qyapi.weixin.qq.com/cgi-bin/department/simplelist"; - - /** - * 获取单个部门详情 GET https://qyapi.weixin.qq.com/cgi-bin/department/get?access_token=ACCESS_TOKEN&id=ID - */ - String DEPT_INFO_URL = "https://qyapi.weixin.qq.com/cgi-bin/department/get"; - /** * 创建部门(家校沟通) POST https://qyapi.weixin.qq.com/cgi-bin/school/department/create?access_token=ACCESS_TOKEN */ @@ -225,39 +205,16 @@ public interface QywxConstant { */ String CONTACT_EVENT = "change_contact"; - /** - * 创建部门 - */ String DEPT_CREATE_TYPE = "create_party"; - /** - * 更新部门 - */ String DEPT_UPDATE_TYPE = "update_party"; - /** - * 删除部门 - */ String DEPT_DELETE_TYPE = "delete_party"; - /** - * 创建成员 - */ String USER_CREATE_TYPE = "create_user"; - /** - * 更新成员 - */ String USER_UPDATE_TYPE = "update_user"; - /** - * 删除成员 - */ String USER_DELETE_TYPE = "delete_user"; - /** - * 获取企业微信的jsapi_ticket - * https://developer.work.weixin.qq.com/document/path/96909 - */ - String GET_JS_API_TICKET_URL = "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket"; } diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/QywxServiceProviderConstant.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/QywxServiceProviderConstant.java deleted file mode 100644 index 358b40f..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/QywxServiceProviderConstant.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.yida.data.common.core.entity.constant; - -/** - * 企业微信服务商常量 - * - * @author ZYJ - * @date 2022/11/3 - */ -public interface QywxServiceProviderConstant { - - //------------------企业微信服务商接口地址-------------------- - /** - * 获取服务商凭证 - */ - String GET_PROVIDER_TOKEN_URL = "https://qyapi.weixin.qq.com/cgi-bin/service/get_provider_token"; - - /** - * 获取第三方应用凭证(suite_access_token) - */ - String GET_SUITE_TOKEN_URL = "https://qyapi.weixin.qq.com/cgi-bin/service/get_suite_token"; - - /** - * 获取企业凭证 - */ - String GET_CORP_TOKEN_URL = "https://qyapi.weixin.qq.com/cgi-bin/service/get_corp_token?suite_access_token="; - - /** - * 获取企业永久授权码 - */ - String GET_PERMANENT_CODE_URL = "https://qyapi.weixin.qq.com/cgi-bin/service/get_permanent_code?suite_access_token="; - - /** - * 获取企业授权信息 - */ - String GET_AUTH_INFO_URL = "https://qyapi.weixin.qq.com/cgi-bin/service/get_auth_info?suite_access_token="; - - /** - * corpid转换 - */ - String CONVERT_CORP_ID_URL = "https://qyapi.weixin.qq.com/cgi-bin/service/corpid_to_opencorpid?provider_access_token="; - - /** - * userid的转换 - * 将企业主体下的明文userid转换为服务商主体下的密文userid - */ - String CONVERT_USER_ID_TO_SECRET_URL = "https://qyapi.weixin.qq.com/cgi-bin/batch/userid_to_openuserid?access_token="; - - /** - * userid的转换 - * 将代开发应用或第三方应用获取的密文open_userid转换为明文userid - */ - String CONVERT_USER_ID_TO_PLAIN_URL = "https://qyapi.weixin.qq.com/cgi-bin/batch/openuserid_to_userid?access_token="; - - /** - * 手机号获取userid - */ - String GET_USER_ID_BY_MOBILE_URL = "https://qyapi.weixin.qq.com/cgi-bin/user/getuserid?access_token="; - - //------------------企业微信服务商redis key-------------------- - /** - * 代开发应用模板ticket - */ - String SERVICE_SUITE_TICKET = "service:suite:ticket:"; - - /** - * 企业微信 corp_token key前缀 - */ - String CORP_TOKEN = "corp:token."; - - /** - * 企业微信服务商 provider_token key前缀 - */ - String PROVIDER_TOKEN = "provider:token."; - - /** - * 企业微信服务商 suite_access_token key前缀 - */ - String SUITE_ACCESS_TOKEN = "suite:access.token."; - - /** - * 服务商对应学校加密corpId数据(加密值为key) - */ - String PROVIDER_SCHOOL_CORP_DATA = "provider:school:corp:data"; - - /** - * 服务商对应学校加密corpId数据(原始值为key) - */ - String PROVIDER_SCHOOL_CORP_ORIGINAL_DATA = "provider:school:corp:original:data"; - - //------------------企业微信服务商InfoType-------------------- - /** - * 授权安装待开发应用回调 - */ - String SERVICE_CREATE_AUTH = "create_auth"; - - /** - * 客户删除应用 - */ - String SERVICE_CANCEL_AUTH = "cancel_auth"; - - /** - * 代开发应用重置secret(即permanent_code) - */ - String RESET_PERMANENT_CODE = "reset_permanent_code"; - - /** - * 待开发应用模板suite_ticket - */ - String TEMPLATE_SUITE_TICKET = "suite_ticket"; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/UPayConstant.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/UPayConstant.java deleted file mode 100644 index dcbc523..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/UPayConstant.java +++ /dev/null @@ -1,134 +0,0 @@ -package com.yida.data.common.core.entity.constant; - -/** - * 收钱吧常量 - * - * @author ZYJ - * @date 2023/3/20 - */ -public interface UPayConstant { - - /** - * 订单时间 5分钟 - */ - long ORDER_TIME = 5 * 60L; - - /** - * 收钱吧支付回调地址 - */ - String NOTIFY_URL = "device/in/consume/uPayNotify"; - - /** - * 收钱吧支付后返回页面地址 - */ - String RETURN_URL = ""; - - /** - * 接口状态码名称 - */ - String RESULT_CODE_NAME = "result_code"; - - /** - * 返回信息主题 - */ - String BIZ_RESPONSE = "biz_response"; - - /** - * bizResponse接口状态码名称 - */ - String BIZ_CODE_NAME = "result_code"; - - /** - * 错误状态码名称 - * 。当result_code不等于200的时候才会出现error_code和error_message - */ - String ERROR_CODE_NAME = "error_code"; - - /** - * 错误信息名称 - * 。当result_code不等于200的时候才会出现error_code和error_message - */ - String ERROR_MESSAGE_NAME = "error_message"; - - /** - * 接口成功状态码 - */ - String RESULT_SUCCESS_CODE = "200"; - - /** - * bizResponse接口成功状态码 - */ - String BIZ_SUCCESS_CODE = "SUCCESS"; - - /** - * 无法找到指定的订单 状态码 - * 此类型订单需要直接关闭订单 - */ - String NO_ORDER_CODE = "UPAY_ORDER_NOT_EXISTS"; - - /** - * 交易不存在 - * 此类型订单需要直接关闭订单 - */ - String TRADE_NOT_EXIST = "TRADE_NOT_EXIST"; - - /** - * 撤单bizResponse接口成功状态码 - */ - String CANCEL_SUCCESS_CODE = "CANCEL_SUCCESS"; - - /** - * 撤单操作试图终止进行中的支付流程并且成功状态码 - */ - String CANCEL_ABORT_SUCCESS_CODE = "CANCEL_ABORT_SUCCESS"; - - /** - * 已经撤单 - */ - String CANCEL_ORDER_NOOP_CODE = "UPAY_CANCEL_ORDER_NOOP"; - - /** - * 退款bizResponse接口成功状态码 - */ - String REFUND_SUCCESS_CODE = "REFUND_SUCCESS"; - - /** - * 接口地址 - */ - String URL = "https://vsi-api.shouqianba.com"; - - /** - * 激活 - * post application/json - */ - String ACTIVATE = URL + "/terminal/activate"; - - /** - * 订单查询 - * post application/json - */ - String QUERY_ORDER = URL + "/upay/v2/query"; - - /** - * 撤单 - * post application/json - */ - String CLOSE_ORDER = URL + "/upay/v2/cancel"; - - /** - * 退款 - * post application/json - * 三个月以内都可以进行退款 - */ - String REFUND_ORDER = URL + "/upay/v2/refund"; - - /** - * 跳转支付接口 - */ - String TO_PAY_URL = "https://qr.shouqianba.com/gateway"; - - /** - * 品牌名称+支付场景 - */ - String ACTIVE_DEVICE_NAME = "zbz-consume-pay"; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/WxPublicConstant.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/WxPublicConstant.java index 9f7e084..9fe334b 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/WxPublicConstant.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/WxPublicConstant.java @@ -61,10 +61,4 @@ public interface WxPublicConstant { * 获取微信小程序 URL Link */ String GENERATE_URL_LINK = "https://api.weixin.qq.com/wxa/generate_urllink"; - - /** - * 获取JS-SDK jsapi_ticket - * https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#62 - */ - String GET_JS_API_TICKET_URL = "https://api.weixin.qq.com/cgi-bin/ticket/getticket"; } diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/hq/HaiqingCallbackCodeConstant.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/hq/HaiqingCallbackCodeConstant.java deleted file mode 100644 index 0206a3a..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/hq/HaiqingCallbackCodeConstant.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.yida.data.common.core.entity.constant.hq; - -/** - * 海清回调code和errorCode常量类 - * - * @author ZYJ - * @date 2023/9/27 - */ -public interface HaiqingCallbackCodeConstant { - - /** - * 接口正忙,上一个批量指令还未完成 - */ - String DEVICE_BUSY = "410"; - - /** - * 单包数据超过1M - */ - String DATA_OUT_OF_RANGE = "460"; - - /** - * customId(人脸id)已经存在 - */ - String ADD_PERSON_EXIST = "461"; - - /** - * customId(人脸id)不存在,不存在此名单 - */ - String EDIT_PERSON_NOT_EXIST = "462"; - - /** - * 操作成功, ok - */ - String PUSH_RETURN_SUCCESS_RESULT = "ok"; - - /** - * 操作失败, fail - */ - String PUSH_RETURN_FAIL_RESULT = "fail"; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/hq/HaiqingConstant.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/hq/HaiqingConstant.java deleted file mode 100644 index 427be90..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/constant/hq/HaiqingConstant.java +++ /dev/null @@ -1,128 +0,0 @@ -package com.yida.data.common.core.entity.constant.hq; - -/** - * 海清方法与回调方法常量类 - * - * @author ZYJ - * @date 2023-9-27 - */ -public interface HaiqingConstant { - - /** - * 增改人员消息回调返回类型 - */ - String EDIT_PERSON_CALL = "EditPerson-Ack"; - - /** - * 批量增加人员 - */ - String ADD_PERSONS_BATCH = "AddPersons"; - - /** - * 批量增加人员返回 - */ - String ADD_PERSON_BATCH_CALL = "AddPersons-Ack"; - - /** - * 批量修改人员 - */ - String EDIT_PERSONS_BATCH = "EditPersons"; - - /** - * 批量修改人员返回 - */ - String UPDATE_PERSON_BATCH_CALL = "EditPersons-Ack"; - - /** - * 批量删除人员 - */ - String DELETE_PERSONS_BATCH = "DeletePersons"; - - /** - * 删除人员回调信息 - */ - String DELETE_PERSON_CALL = "DelPerson-Ack"; - - /** - * 批量删除人员信息回调 - */ - String DELETE_PERSON_BATCH_CALL = "DeletePersons-Ack"; - - /** - * 接收认证人员信息 - */ - String REC_PERSON = "RecPush"; - - /** - * 心跳消息 - */ - String HEARTBEAT = "HeartBeat"; - /** - * 远程开门返回信息 - */ - String UNLOCK_ACK = "Unlock-Ack"; - /** - * 设置系统时间 - */ - String SET_SYS_TIME_ACK = "SetSysTime-Ack"; - - /** - * 设备上线通知 - */ - String ONLINE = "Online"; - - /** - * 添加/修改通行策略 - */ - String ADD_ACCESS_STRATEGY = "AddAccessStrategy"; - - /** - * 添加/修改通行策略返回 - */ - String ADD_ACCESS_STRATEGY_CALL = "AddAccessStrategy-Ack"; - - /** - * 删除通行策略 - */ - String DEL_ACCESS_STRATEGY = "DelAccessStrategy"; - - /** - * 删除通行策略返回 - */ - String DEL_ACCESS_STRATEGY_CALL = "DelAccessStrategy-Ack"; - - /** - * 人员绑定通行策略 - */ - String PERSONS_BIND_STRATEGY = "PersonsBindStrategyID"; - - /** - * 人员绑定通行策略返回 - */ - String PERSONS_BIND_STRATEGY_CALL = "PersonsBindStrategyID-Ack"; - - /** - * 人员解绑通行策略 - */ - String PERSONS_UNBIND_STRATEGY = "PersonsUnbindStrategyID"; - - /** - * 人员解绑通行策略返回 - */ - String PERSONS_UNBIND_STRATEGY_CALL = "PersonsUnbindStrategyID-Ack"; - - /** - * 设置开门条件 - */ - String UP_DOOR_CONFIG = "UpDoorconfig"; - - /** - * 接收认证消息推送方法 - */ - String PUSH_MESSAGE = "PushAck"; - - /** - * 接收认证消息推送方法返回 - */ - String PUSH_MESSAGE_ACK = "PushAck-Ack"; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/DeptConsumeTerminalCache.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/DeptConsumeTerminalCache.java deleted file mode 100644 index 4df4c8c..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/DeptConsumeTerminalCache.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.yida.data.common.core.entity.consume; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 学校收钱吧终端信息缓存类 - * - * @author ZYJ - * @date 2023/4/3 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class DeptConsumeTerminalCache implements Serializable { - - private static final long serialVersionUID = 2616403279476013295L; - - /** - * 部门id - */ - private Long deptId; - - /** - * 终端序列号 - */ - private String terminalSn; - - /** - * 终端密钥 - */ - private String terminalKey; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeConfig.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeConfig.java deleted file mode 100644 index 2434b38..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeConfig.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.yida.data.common.core.entity.consume; - -import com.baomidou.mybatisplus.annotation.*; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * 学校消费机服务器信息Entity - * - * @author ZYJ - * @date 2023-04-06 17:25:47 - */ -@Data -@TableName("edu_consume_config") -public class EduConsumeConfig { - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 对应部门id - */ - @ApiModelProperty(value = "对应部门id") - @TableField("dept_id") - private Long deptId; - - /** - * 服务器访问地址 - */ - @ApiModelProperty(value = "服务器访问地址") - @TableField("service_ip") - private String serviceIp; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeDevice.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeDevice.java deleted file mode 100644 index 18e3fee..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeDevice.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.yida.data.common.core.entity.consume; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 消费机设备Entity - * - * @author ZYJ - * @date 2023-03-14 17:55:59 - */ -@Data -@TableName("edu_consume_device") -public class EduConsumeDevice implements Serializable { - - private static final long serialVersionUID = 3799180102688755329L; - - @ApiModelProperty(value = "id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - @ApiModelProperty(value = "修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - @ApiModelProperty(value = "设备名称") - @TableField("name") - private String name; - - @ApiModelProperty(value = "设备编号") - @TableField("sn") - private String sn; - - @ApiModelProperty(value = "mac地址") - @TableField("mac_address") - private String macAddress; - - @ApiModelProperty(value = "设备厂商类型") - @TableField("device_type") - private String deviceType; - - @ApiModelProperty(value = "ip地址") - @TableField("ip") - private String ip; - - @ApiModelProperty(value = "学校id") - @TableField("school_id") - private Long schoolId; - - @ApiModelProperty(value = "设备在线状态,0-在线,1-未在线") - @TableField("state") - private Integer state; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeOrder.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeOrder.java deleted file mode 100644 index eb5acd0..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeOrder.java +++ /dev/null @@ -1,174 +0,0 @@ -package com.yida.data.common.core.entity.consume; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.enums.PayWay; -import com.yida.data.common.core.enums.RefundStatusEnum; -import com.yida.data.common.core.enums.UnionPayTypeEnum; -import com.yida.data.common.core.enums.WxPayTypeEnum; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -/** - * 消费订单(充值记录)Entity - * - * @author ZYJ - * @date 2023/3/23 - */ -@Data -@TableName("edu_consume_order") -public class EduConsumeOrder implements Serializable { - - private static final long serialVersionUID = -1900073075734150028L; - - @TableId(value = "order_id", type = IdType.AUTO) - private Long orderId; - - /** - * 订单编号:NOT NULL,不可重复,加索引,生成规则参照:snowflake算法原理生成 - */ - @ApiModelProperty(value = "订单编号:NOT NULL,不可重复,加索引,生成规则参照:snowflake算法原理生成") - @TableField("order_code") - private String orderCode; - - /** - * 流水号生成规则: - * 第一位:一位数前缀 - * 第2-10位:学校ID,缺少的以0在前补位 - * 第11-20位:商品编码code,缺少的以0在前补位, - * 第21-28位:购买日期(年月日), - * 第29-36位:8位随机数 - */ - @ApiModelProperty(value = "流水号生成规则: 第一位:Z 第2-10位:学校ID,缺少的以0在前补位 第11-20位:商品编码code,缺少的以0在前补位, 第21-28位:购买日期(年月日), 第29-36位:8位随机数") - @TableField("transaction_number") - private String transactionNumber; - - @ApiModelProperty(value = "学生id") - private Long studentId; - - @ApiModelProperty(value = "订单总金额") - private BigDecimal totalMoney; - - /** - * 实际支付金额 - */ - @ApiModelProperty(value = "实际支付金额") - @TableField("practical_money") - private BigDecimal practicalMoney; - - /** - * 支付人手机号(家长手机) - */ - @ApiModelProperty(value = "支付人手机号(家长手机)") - @TableField("phone") - private String phone; - - /** - * 支付时间 - */ - @ApiModelProperty(value = "支付时间") - @TableField("pay_date") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime payDate; - - /** - * 订单状态:0:待付款 - * 1:付款中 - * 2:交易完成(正常支付成功) - * 3:待退款 - * 4:交易关闭(a:超时未支付,b:退款成功 - */ - @ApiModelProperty(value = "订单状态:0:待付款 1:付款中 2:交易完成(正常支付成功) 3:待退款 4:交易关闭(a:超时未支付,b:退款成功") - @TableField("order_status") - private String orderStatus; - - /** - * 支付状态:0:未支付(默认) - * 1:已支付 - * 2:已退款 - * 3:已取消 - */ - @ApiModelProperty(value = "支付状态:0:未支付(默认) 1:已支付 2:已退款 3:已取消") - @TableField("pay_status") - private String payStatus; - - /** - * 支付方式:1:微信,2:支付宝,3:银联,4:收钱吧 {@link PayWay} - */ - @ApiModelProperty(value = "支付方式:1:微信,2:支付宝,3:银联,4:收钱吧") - @TableField("pay_way") - private String payWay; - - /** - * 具体支付类型 - * 银联云闪付: {@link UnionPayTypeEnum} - * 微信类型: {@link WxPayTypeEnum} - */ - @ApiModelProperty("具体支付类型") - private Integer payType; - - /** - * 是否退款: - * 0:否(默认) - * 1:是 - * {@link RefundStatusEnum} - */ - @ApiModelProperty(value = "是否退款:0:否(默认) 1:是") - @TableField("is_refund") - private String isRefund; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("dept_id") - private Long deptId; - - /** - * 是否删除:1删除 - * 0未删除 默认0 - */ - @ApiModelProperty(value = "是否删除:1删除 0未删除 默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间(下单时间) - */ - @ApiModelProperty(value = "创建时间(下单时间)") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 修改时间 - */ - @ApiModelProperty(value = "修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 修改人id - */ - @ApiModelProperty(value = "修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeOrderRefund.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeOrderRefund.java deleted file mode 100644 index f27b633..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeOrderRefund.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.yida.data.common.core.entity.consume; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 消费订单退款信息Entity - * - * @author ZYJ - * @date 2023-04-03 16:12:35 - */ -@Data -@TableName("edu_consume_order_refund") -public class EduConsumeOrderRefund implements Serializable { - - private static final long serialVersionUID = -8611143615152970476L; - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 订单编号 - */ - @ApiModelProperty(value = "订单编号") - @TableField("order_code") - private String orderCode; - - /** - * 退款编号 R+订单编号 - */ - @ApiModelProperty(value = "退款编号 R+订单编号") - @TableField("refund_code") - private String refundCode; - - /** - * 退款流水号 替换订单流水号首字母为R - */ - @ApiModelProperty(value = "退款流水号 替换订单流水号首字母为R") - @TableField("refund_serial_number") - private String refundSerialNumber; - - /** - * 实际退款时间 - */ - @ApiModelProperty(value = "实际退款时间") - @TableField("refund_time") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime refundTime; - - /** - * 退款理由 - */ - @ApiModelProperty(value = "退款理由") - @TableField("refund_reason") - private String refundReason; - - /** - * 创建时间(退款申请时间) - */ - @ApiModelProperty(value = "创建时间(退款申请时间)") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id(退款操作人)关联user表 - */ - @ApiModelProperty(value = "创建人id(退款操作人)关联user表") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 修改时间 - */ - @ApiModelProperty(value = "修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 修改人id - */ - @ApiModelProperty(value = "修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeOrderStudent.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeOrderStudent.java deleted file mode 100644 index 26059e7..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeOrderStudent.java +++ /dev/null @@ -1,174 +0,0 @@ -package com.yida.data.common.core.entity.consume; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; - -/** - * 消费订单(充值)学生详细信息Entity - * - * @author ZYJ - * @date 2023/3/23 - */ -@Data -@TableName("edu_consume_order_student") -public class EduConsumeOrderStudent implements Serializable { - - private static final long serialVersionUID = -2027376385019025656L; - - @ApiModelProperty(value = "主键") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 账单订单主键ID - */ - @ApiModelProperty(value = "账单订单主键ID") - @TableField("order_id") - private Long orderId; - - /** - * 支付学生主键ID - */ - @ApiModelProperty(value = "支付学生主键ID") - @TableField("student_id") - private Long studentId; - - /** - * 支付学生姓名 - */ - @ApiModelProperty(value = "支付学生姓名") - @TableField("student_name") - private String studentName; - - /** - * 支付学生学号 - */ - @ApiModelProperty(value = "支付学生学号") - @TableField("student_number") - private String studentNumber; - - /** - * 支付学生校园卡号 - */ - @ApiModelProperty(value = "支付学生校园卡号") - @TableField("stu_card_number") - private String stuCardNumber; - - /** - * 支付学生家庭类型 关联字典表t_dict的value值, - */ - @ApiModelProperty(value = "支付学生家庭类型.关联字典表t_dict的value值") - @TableField("student_family_type") - private String studentFamilyType; - - /** - * 支付学生与家长关系 - */ - @ApiModelProperty(value = "支付学生与家长关系") - @TableField("student_parent_type") - private String studentParentType; - - /** - * 省ID - */ - @ApiModelProperty(value = "省ID") - @TableField("province_id") - private Long provinceId; - - /** - * 市ID - */ - @ApiModelProperty(value = "市ID") - @TableField("city_id") - private Long cityId; - - /** - * 县ID - */ - @ApiModelProperty(value = "县ID") - @TableField("county_id") - private Long countyId; - - /** - * 乡镇ID - */ - @ApiModelProperty(value = "乡镇ID") - @TableField("town_id") - private Long townId; - - /** - * 学校主键ID - */ - @ApiModelProperty(value = "学校主键ID") - @TableField("school_id") - private Long schoolId; - - /** - * 学校名称 - */ - @ApiModelProperty(value = "学校名称") - @TableField("school_name") - private String schoolName; - - /** - * 学区主键ID - */ - @ApiModelProperty(value = "学区主键ID") - @TableField("campus_id") - private Long campusId; - - /** - * 学区名称 - */ - @ApiModelProperty(value = "学区名称") - @TableField("campus_name") - private String campusName; - - /** - * 学段主键ID - */ - @ApiModelProperty(value = "学段主键ID") - @TableField("section_id") - private Long sectionId; - - /** - * 学段名称 - */ - @ApiModelProperty(value = "学段名称") - @TableField("section_name") - private String sectionName; - - /** - * 年级主键ID - */ - @ApiModelProperty(value = "年级主键ID") - @TableField("grade_id") - private Long gradeId; - - /** - * 年级名称 - */ - @ApiModelProperty(value = "年级名称") - @TableField("grade_name") - private String gradeName; - - /** - * 班级主键ID - */ - @ApiModelProperty(value = "班级主键ID") - @TableField("class_id") - private Long classId; - - /** - * 班级名称 - */ - @ApiModelProperty(value = "班级名称") - @TableField("class_name") - private String className; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeRecord.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeRecord.java deleted file mode 100644 index c18240a..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduConsumeRecord.java +++ /dev/null @@ -1,157 +0,0 @@ -package com.yida.data.common.core.entity.consume; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -/** - * 消费机学生消费记录Entity - * - * @author ZYJ - * @date 2023-03-24 16:16:49 - */ -@Data -@TableName("edu_consume_record") -public class EduConsumeRecord implements Serializable { - - private static final long serialVersionUID = 7445355621973217547L; - - @ApiModelProperty(value = "主键") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 创建时间(下单时间) - */ - @ApiModelProperty(value = "创建时间(下单时间)") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 订单号 - */ - @ApiModelProperty(value = "订单号") - @TableField("order_no") - private Long orderNo; - - /** - * 消费机设备编号 - */ - @ApiModelProperty(value = "消费机设备编号") - @TableField("device_no") - private String deviceNo; - - /** - * 学生主键ID - */ - @ApiModelProperty(value = "学生主键ID") - @TableField("student_id") - private Long studentId; - - /** - * 学生姓名 - */ - @ApiModelProperty(value = "学生姓名") - @TableField("student_name") - private String studentName; - - /** - * 校园卡号 - */ - @ApiModelProperty(value = "校园卡号") - @TableField("stu_card_number") - private String stuCardNumber; - - /** - * 消费金额. 单位: 元 - */ - @ApiModelProperty(value = "消费金额. 单位: 元") - @TableField("transaction_amount") - private BigDecimal transactionAmount; - /** - * 消费时间 - */ - @ApiModelProperty(value = "消费时间") - @TableField("transaction_time") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime transactionTime; - - /** - * 学校主键ID - */ - @ApiModelProperty(value = "学校主键ID") - @TableField("school_id") - private Long schoolId; - - /** - * 学校名称 - */ - @ApiModelProperty(value = "学校名称") - @TableField("school_name") - private String schoolName; - - /** - * 学区主键ID - */ - @ApiModelProperty(value = "学区主键ID") - @TableField("campus_id") - private Long campusId; - - /** - * 学区名称 - */ - @ApiModelProperty(value = "学区名称") - @TableField("campus_name") - private String campusName; - - /** - * 学段主键ID - */ - @ApiModelProperty(value = "学段主键ID") - @TableField("section_id") - private Long sectionId; - - /** - * 学段名称 - */ - @ApiModelProperty(value = "学段名称") - @TableField("section_name") - private String sectionName; - - /** - * 年级主键ID - */ - @ApiModelProperty(value = "年级主键ID") - @TableField("grade_id") - private Long gradeId; - - /** - * 年级名称 - */ - @ApiModelProperty(value = "年级名称") - @TableField("grade_name") - private String gradeName; - - /** - * 班级主键ID - */ - @ApiModelProperty(value = "班级主键ID") - @TableField("class_id") - private Long classId; - - /** - * 班级名称 - */ - @ApiModelProperty(value = "班级名称") - @TableField("class_name") - private String className; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduStudentConsumeCard.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduStudentConsumeCard.java deleted file mode 100644 index 1574802..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/EduStudentConsumeCard.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.yida.data.common.core.entity.consume; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -/** - * 学生消费机信息管理Entity - * - * @author ZYJ - * @date 2023/3/20 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@TableName("edu_student_consume_card") -public class EduStudentConsumeCard implements Serializable { - - private static final long serialVersionUID = 1854565947440756892L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - @ApiModelProperty(value = "修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - @ApiModelProperty(value = "修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - @ApiModelProperty(value = "删除标识") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - @ApiModelProperty(value = "学校id") - @TableField("dept_id") - private Long deptId; - - @ApiModelProperty(value = "学生id") - @TableField("student_id") - private Long studentId; - - @ApiModelProperty(value = "余额") - @TableField("balance") - private BigDecimal balance; - - @ApiModelProperty(value = "卡片状态(1:正常卡 2:挂失卡)") - @TableField("card_status") - private Integer cardStatus; - - public static final Integer NORMAL_CARD = 1; - public static final Integer LOSS_CARD = 2; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/Recharge.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/Recharge.java deleted file mode 100644 index 0d3312b..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/consume/Recharge.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.yida.data.common.core.entity.consume; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 消费机充值类 - * - * @author ZYJ - * @date 2023/4/6 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class Recharge implements Serializable { - - private static final long serialVersionUID = 6448914388280845022L; - - /** - * 金额 - */ - private String amount; - - /** - * 校园卡号 - */ - private String accountNo; - - /** - * 增减方式. true:充值, false:提取 - */ - private boolean increase; - - /** - * 充值钱包类型. 1:现金, 2:补贴 - */ - private Integer walletType; - - /** - * 流水号 - */ - private String transactionNumber; - - /** - * PaymentModel类 - */ - private PaymentModel paymentModel; - - @Data - @Builder - @NoArgsConstructor - @AllArgsConstructor - public static class PaymentModel implements Serializable { - - private static final long serialVersionUID = -7667143304803691806L; - - /** - * 支付方式. 0:现金 1:微信 2:支付宝 4:银行卡 8:其他APP - */ - private Integer payType; - - /** - * 第三方支付时间(格式:yyyy-MM-dd HH:mm:ss) - */ - private String payTime; - - /** - * 终端向第三方发起交易请求的订单号 - */ - private String orderNumber; - - /** - * 第三方返回给终端的支付交易号 - */ - private String innerOrderNumber; - } -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/dashboard/EduSchoolDashboardData.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/dashboard/EduSchoolDashboardData.java deleted file mode 100644 index 2eca1e8..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/dashboard/EduSchoolDashboardData.java +++ /dev/null @@ -1,126 +0,0 @@ -package com.yida.data.common.core.entity.dashboard; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.entity.classschedule.EduClassScheduleTime; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.List; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 校园仪表盘基础数据 实体 - */ -@Data -@TableName("edu_school_dashboard_data") -public class EduSchoolDashboardData { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 更新时间 - */ - @ApiModelProperty(value = "更新时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 创建者 - */ - @ApiModelProperty(value = "创建者") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 修改者 - */ - @ApiModelProperty(value = "修改者") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 删除标识 - */ - @ApiModelProperty(value = "删除标识") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - @ApiModelProperty(value = "所属学校主键ID") - @TableField("school_id") - private Long schoolId; - - @ApiModelProperty(value = "仪表盘标题") - @TableField("title") - private String title; - - @ApiModelProperty(value = "头部logo地址") - @TableField("header_url") - private String headerUrl; - - @ApiModelProperty(value = "模板类型1:单页,2双页,3.。。") - @TableField("mode_type") - private Integer modeType; - - @ApiModelProperty(value = "地址") - @TableField("address") - private String address; - - @ApiModelProperty(value = "学校创建时间") - @TableField(value = "school_create_date") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate schoolCreateDate; - - @ApiModelProperty(value = "学校占地面积") - @TableField("school_area") - private Integer schoolArea; - - @ApiModelProperty(value = "办学类型") - @TableField("edu_type") - private String eduType; - - @ApiModelProperty(value = "院校特色") - @TableField("edu_feature") - private String eduFeature; - - @ApiModelProperty(value = "院校类型") - @TableField("institution_type") - private String institutionType; - - @ApiModelProperty(value = "硕士点") - @TableField("master_num") - private Integer masterNum; - - @ApiModelProperty(value = "博士点") - @TableField("doctor_num") - private Integer doctorNum; - - @ApiModelProperty(value = "博士点") - @TableField("key_disciplines_num") - private Integer keyDisciplinesNum; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/app/AppNotice.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/app/AppNotice.java index d74a5f8..63dd832 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/app/AppNotice.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/app/AppNotice.java @@ -15,6 +15,11 @@ public class AppNotice { */ private List userIds; + /** + * 用户id + */ + private List userIdList; + /** * 订阅号 消息内容 */ diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/app/inside/PushMessage.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/app/inside/PushMessage.java index 8f3ca95..781c407 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/app/inside/PushMessage.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/app/inside/PushMessage.java @@ -63,4 +63,5 @@ public class PushMessage { public static final String AUDIO = "audio"; public static final String NORMAL = "NORMAL"; public static final String ACCOUNT = "MSG_ACCOUNT_MSG"; + public static final String H5_SUB_MSG_TYPE = "NEWSEDUCATION"; } diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/TemplateCardStaffNotice.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/TemplateCardStaffNotice.java deleted file mode 100644 index ad4a41e..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/TemplateCardStaffNotice.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.common.core.entity.notice.qywx; - -import cn.hutool.json.JSONObject; -import com.yida.data.common.core.entity.constant.NoticeTypeConstant; -import com.yida.data.common.core.entity.notice.qywx.inside.News; -import com.yida.data.common.core.entity.notice.qywx.inside.TemplateCardNotice; -import com.yida.data.common.core.entity.notice.qywx.inside.templateCard.textNotice; -import java.io.Serializable; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * 职工模板卡片消息 - */ -@Data -@EqualsAndHashCode(callSuper = true) -public class TemplateCardStaffNotice extends BaseStaffNotice implements Serializable { - - private static final long serialVersionUID = -7273948565592163788L; - private String msgtype = NoticeTypeConstant.NOTICE_MSG_TEMPLATE_TYPE; - private TemplateCardNotice template_card; -} - - diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/TextCardStaffNotice.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/TextCardStaffNotice.java deleted file mode 100644 index db1b6f7..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/TextCardStaffNotice.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.yida.data.common.core.entity.notice.qywx; - -import com.yida.data.common.core.entity.notice.qywx.inside.Text; -import com.yida.data.common.core.entity.notice.qywx.inside.TextCard; -import java.io.Serializable; -import lombok.Data; - -/** - * 文本卡片消息 - */ -@Data -public class TextCardStaffNotice extends BaseStaffNotice implements Serializable { - - private static final long serialVersionUID = -5252303643753456126L; - private String msgtype = "textcard"; - private TextCard textcard; - - -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/TemplateCardNotice.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/TemplateCardNotice.java deleted file mode 100644 index 58d8ae7..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/TemplateCardNotice.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yida.data.common.core.entity.notice.qywx.inside; - -import cn.hutool.json.JSONArray; -import cn.hutool.json.JSONObject; -import com.yida.data.common.core.entity.notice.qywx.inside.templateCard.CardAction; -import com.yida.data.common.core.entity.notice.qywx.inside.templateCard.HorizontalContent; -import com.yida.data.common.core.entity.notice.qywx.inside.templateCard.Jump; -import com.yida.data.common.core.entity.notice.qywx.inside.templateCard.MainTitle; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class TemplateCardNotice { - - //模板卡片类型,文本通知型卡片填写 "text_notice" - private String card_type; - //一级标题 - private MainTitle main_title; - - //二级普通文本,建议不超过160个字,(支持id转译) - private String sub_title_text; - - //二级标题+文本列表 - private List horizontal_content_list; - - //整体卡片的点击跳转事件,text_notice必填本字段 - private CardAction card_action; - - //跳转指引样式的列表,该字段可为空数组,但有数据的话需确认对应字段是否必填,列表长度不超过3 - private List jump_list; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/TextCard.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/TextCard.java deleted file mode 100644 index 3d6cfbd..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/TextCard.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.yida.data.common.core.entity.notice.qywx.inside; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class TextCard { - - /** - * 描述,不超过512个字节,超过会自动截断(支持id转译) - */ - private String description; - /** - * 点击后跳转的链接。最长2048字节,请确保包含了协议头(http/https) - */ - private String url; - /** - * 标题,不超过128个字节,超过会自动截断(支持id转译) - */ - private String title; - - /** - * 按钮文字。 默认为“详情”, 不超过4个文字,超过自动截断。 - */ - private String btntxt = "查看详情"; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/CardAction.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/CardAction.java deleted file mode 100644 index 7ab6406..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/CardAction.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.common.core.entity.notice.qywx.inside.templateCard; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class CardAction { - - //跳转事件类型,1 代表跳转url,2 代表打开小程序。text_notice卡片模版中该字段取值范围为[1,2] - private Integer type; - // 跳转事件的小程序的appid,必须是与当前应用关联的小程序,card_action.type是2时必填 - private String appid; - - // 跳转事件的小程序的pagepath,card_action.type是2时选填 - private String pagepath; - - // 跳转事件的url,card_action.type是1时必填 - private String url; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/HorizontalContent.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/HorizontalContent.java deleted file mode 100644 index 3e3e875..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/HorizontalContent.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.common.core.entity.notice.qywx.inside.templateCard; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class HorizontalContent { - - //链接类型,0或不填代表不是链接,1 代表跳转url,2 代表下载附件,3 代表点击跳转成员详情 - private Integer type; - - // 二级标题,建议不超过5个字 - private String keyname; - - //二级文本,如果horizontal_content_list.type是2,该字段代表文件名称(要包含文件类型),建议不超过30个字,(支持id转译) - private String value; - - //链接跳转的url,horizontal_content_list.type是1时必填 - private String url; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/Jump.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/Jump.java deleted file mode 100644 index a21d9b7..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/Jump.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.yida.data.common.core.entity.notice.qywx.inside.templateCard; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class Jump { - - /** - * 跳转链接类型,0或不填代表不是链接,1 代表跳转url,2 代表跳转小程序 - */ - private Integer type; - /** - * 跳转链接样式的文案内容,建议不超过18个字 - */ - private String title; - /** - * 跳转链接的url,jump_list.type是1时必填 - */ - private String url; - -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/MainTitle.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/MainTitle.java deleted file mode 100644 index 0926145..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/MainTitle.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.yida.data.common.core.entity.notice.qywx.inside.templateCard; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class MainTitle { - - //一级标题,建议不超过36个字,文本通知型卡片本字段非必填,但不可本字段和sub_title_text都不填,(支持id转译) - private String title; - //标题辅助信息,建议不超过44个字,(支持id转译) - private String desc; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/textNotice.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/textNotice.java deleted file mode 100644 index a01bee0..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/notice/qywx/inside/templateCard/textNotice.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.common.core.entity.notice.qywx.inside.templateCard; - -import cn.hutool.json.JSONArray; -import cn.hutool.json.JSONObject; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class textNotice { - - private String card_type = "text_notice"; - - private JSONObject main_title; - - private String sub_title_text; - - private JSONArray horizontal_content_list; - - private String jump_list; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/pay/ConstructionPayOrder.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/pay/ConstructionPayOrder.java deleted file mode 100644 index 9f4e907..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/pay/ConstructionPayOrder.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.yida.data.common.core.entity.pay; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** - * 建行支付订单类 - * - * @author ZYJ - * @date 2023/6/20 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class ConstructionPayOrder implements Serializable { - - private static final long serialVersionUID = -7383648143242078954L; - - @ApiModelProperty("订单号. 由商户提供,最长 30 位。建议按以下规则生成订单号:商户代码后9位, 自定义字符串(不超 21位)") - private String orderNo; - - @ApiModelProperty("实际支付金额. 单位元") - private BigDecimal payMoney; - - @ApiModelProperty("下单时间") - private Date orderTime; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/pay/UPayOrder.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/pay/UPayOrder.java deleted file mode 100644 index b73cc94..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/pay/UPayOrder.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.yida.data.common.core.entity.pay; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** - * 收钱吧支付订单类 - * - * @author ZYJ - * @date 2023/3/21 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class UPayOrder implements Serializable { - - private static final long serialVersionUID = -5046106957542699001L; - - @ApiModelProperty("商户系统订单号. 唯一, 且长度不超过32字节") - private String clientSn; - - @ApiModelProperty("实际支付金额. 单位元") - private BigDecimal totalAmount; - - @ApiModelProperty("本次交易的概述") - private String subject; - - @ApiModelProperty("支付方式. 不传默认选择当前环境支持的支付方式") - private String payWay; - - @ApiModelProperty("发起本次交易的操作员") - private String operator; - - @ApiModelProperty("扩展参数集合") - private String extended; - - @ApiModelProperty("支付结果通知地址. 如果支付成功通知时间间隔为1s,5s,30s,600s") - private String notifyUrl; - - @ApiModelProperty("网页跳转地址") - private String returnUrl; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/pay/URefund.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/pay/URefund.java deleted file mode 100644 index 5f66ace..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/pay/URefund.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yida.data.common.core.entity.pay; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** - * 收钱吧退款类 - * - * @author ZYJ - * @date 2023/3/21 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class URefund implements Serializable { - - private static final long serialVersionUID = 110140312726486743L; - - @ApiModelProperty("商户系统订单号. 唯一, 且长度不超过32字节") - private String clientSn; - - @ApiModelProperty("退款序列号") - private String refundRequestNo; - - @ApiModelProperty("执行本次退款的操作员") - private String operator; - - @ApiModelProperty("退款金额. 单位元") - private BigDecimal refundAmount; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/pay/UnionPayOrder.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/pay/UnionPayOrder.java index fd9d486..7cbf25e 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/pay/UnionPayOrder.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/pay/UnionPayOrder.java @@ -23,7 +23,7 @@ import java.math.BigDecimal; @AllArgsConstructor public class UnionPayOrder implements Serializable { - private static final long serialVersionUID = -1580486861180880702L; + private static final long serialVersionUID = -1548806861180880702L; @ApiModelProperty("银联云闪付支付类型") private Integer unionPayType; diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/school/EduDeptHomeApp.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/school/EduDeptHomeApp.java deleted file mode 100644 index 3fd62c1..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/school/EduDeptHomeApp.java +++ /dev/null @@ -1,155 +0,0 @@ -package com.yida.data.common.core.entity.school; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.enums.AppTypeEnum; -import com.yida.data.common.core.enums.EnableStatusEnum; -import com.yida.data.common.core.enums.UserTypeEnum; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -/** - * 部门微官网应用配置 Entity - * - * @author ZYJ - * @date 2023-06-28 15:24:25 - */ -@Data -@TableName("edu_dept_home_app") -public class EduDeptHomeApp { - - /** - * 主键 - */ - @ApiModelProperty(value = "主键") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 部门id - */ - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - /** - * 应用类型. 0:系统应用, 1:第三方应用 {@link AppTypeEnum} - */ - @ApiModelProperty(value = "应用类型. 0:系统应用, 1:第三方应用,2:微信小程序") - @TableField("app_type") - private Integer appType; - - /** - * 类型. 0:教职工, 1:家长 {@link UserTypeEnum} - */ - @ApiModelProperty(value = "类型. 0:教职工, 1:家长") - @TableField("user_type") - private Integer userType; - - /** - * 基础应用id - */ - @ApiModelProperty(value = "基础应用id") - @TableField("base_app_id") - private Long baseAppId; - - /** - * 应用名称 - */ - @ApiModelProperty(value = "应用名称") - @TableField("name") - private String name; - - /** - * 应用代码 - */ - @ApiModelProperty(value = "应用代码") - @TableField("code") - private String code; - - /** - * 应用logo - */ - @ApiModelProperty(value = "应用logo") - @TableField("logo") - private String logo; - - /** - * 应用地址 - */ - @ApiModelProperty(value = "应用地址") - @TableField("app_src") - private String appSrc; - - /** - * 启用状态. 0:未启用,1:已启用 {@link EnableStatusEnum} - */ - @ApiModelProperty(value = "启用状态. 0:未启用,1:已启用") - @TableField("enable_status") - private Integer enableStatus; - - /** - * 排序 - */ - @ApiModelProperty(value = "排序") - @TableField("sort") - private Integer sort; - - /** - * 微信小程序appid - */ - @ApiModelProperty(value = "微信小程序appid") - @TableField("app_id") - private String appId; - - /** - * 微信小程序secret - */ - @ApiModelProperty(value = "微信小程序secret") - @TableField("app_secret") - private String appSecret; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/school/EduSchoolFunctionConfig.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/school/EduSchoolFunctionConfig.java deleted file mode 100644 index ff0f30c..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/school/EduSchoolFunctionConfig.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.yida.data.common.core.entity.school; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.entity.user.EduStaff; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import java.util.List; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 学校功能关键点配置 - * - * @author wjm - * @date 2021-09-14 17:42:11 - */ -@Data -@TableName("edu_school_function_config") -public class EduSchoolFunctionConfig { - - @ApiModelProperty(value = "主键") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - @ApiModelProperty(value = "学校主键") - @TableField(value = "school_id") - private Long schoolId; - - @ApiModelProperty(value = "关键功能点code") - @TableField(value = "function_code") - private String functionCode; - - @ApiModelProperty(value = "是否启用1启用,其他未启用") - @TableField(value = "state") - private Integer state; - -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/school/EduSchoolManuscript.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/school/EduSchoolManuscript.java index a464048..1e6b15a 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/school/EduSchoolManuscript.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/school/EduSchoolManuscript.java @@ -89,7 +89,7 @@ public class EduSchoolManuscript { @TableField("author_id") private Long authorId; - @ApiModelProperty("发布位置,0-城市书房, 1-第二课堂(精彩推荐),2-微信公众号,多个用逗号分割") + @ApiModelProperty("发布位置,0-城市书房, 1-第二课堂(精彩推荐),2-微信公众号,多个用逗号分割,3-首页") @TableField("publish_path") private String publishPath; @@ -132,7 +132,7 @@ public class EduSchoolManuscript { private transient String authorName; // 新闻区 - public static final String NEWS_PATH = "0"; + public static final String NEWS_PATH = "3"; // 第二课堂 public static final String SECOND_CLASS_PATH = "1"; // 公众号 diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/screen/EduSchoolDashboardData.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/screen/EduSchoolDashboardData.java deleted file mode 100644 index 03ce9e6..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/screen/EduSchoolDashboardData.java +++ /dev/null @@ -1,269 +0,0 @@ -package com.yida.data.common.core.entity.screen; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDate; -import java.time.LocalDateTime; - -/** - * 校园大数据仪表盘数据中心Entity - * - * @author ZYJ - * @date 2023-04-19 16:42:57 - */ -@Data -@TableName("edu_school_dashboard_data") -public class EduSchoolDashboardData implements Serializable { - - private static final long serialVersionUID = -5320543865040629256L; - - /** - * 主键 - */ - @ApiModelProperty(value = "主键") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 删除标识. 0: 未删除, 1: 已删除 - */ - @ApiModelProperty(value = "删除标识. 0: 未删除, 1: 已删除") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("school_id") - private Long schoolId; - - /** - * 大屏名称 - */ - @ApiModelProperty(value = "大屏名称") - @TableField("title") - private String title; - - /** - * 学校logo地址 - */ - @ApiModelProperty(value = "学校logo地址") - @TableField("header_url") - private String headerUrl; - - /** - * 模板类型1:单页,2双页,3.。。 - */ - @ApiModelProperty(value = "模板类型1:单页,2双页,3.。。") - @TableField("mode_type") - private Integer modeType; - - /** - * 所属区域 - */ - @ApiModelProperty(value = "所属区域") - @TableField("area") - private String area; - - /** - * 详细地址 - */ - @ApiModelProperty(value = "详细地址") - @TableField("address") - private String address; - - /** - * 学校创建时间 - */ - @ApiModelProperty(value = "学校创建时间") - @TableField("school_create_date") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate schoolCreateDate; - - /** - * 学校占地面积 - */ - @ApiModelProperty(value = "学校占地面积") - @TableField("school_area") - private Integer schoolArea; - - /** - * 主管部门 - */ - @ApiModelProperty(value = "主管部门") - @TableField("competent_department") - private String competentDepartment; - - /** - * 办学类型 - */ - @ApiModelProperty(value = "办学类型") - @TableField("edu_type") - private String eduType; - - /** - * 院校特色 - */ - @ApiModelProperty(value = "院校特色") - @TableField("edu_feature") - private String eduFeature; - - /** - * 院校类型 - */ - @ApiModelProperty(value = "院校类型") - @TableField("institution_type") - private String institutionType; - - /** - * 硕士点 - */ - @ApiModelProperty(value = "硕士点") - @TableField("master_num") - private Integer masterNum; - - /** - * 博士点 - */ - @ApiModelProperty(value = "博士点") - @TableField("doctor_num") - private Integer doctorNum; - - /** - * 重点学科数 - */ - @ApiModelProperty(value = "重点学科数") - @TableField("key_disciplines_num") - private Integer keyDisciplinesNum; - - /** - * 科研项目数 - */ - @ApiModelProperty(value = "科研项目数") - @TableField("research_project_num") - private Integer researchProjectNum; - - /** - * 学校简介 - */ - @ApiModelProperty(value = "学校简介") - @TableField("edu_introduction") - private String eduIntroduction; - - /** - * 办学理念 - */ - @ApiModelProperty(value = "办学理念") - @TableField("edu_philosophy") - private String eduPhilosophy; - - /** - * 办学使命 - */ - @ApiModelProperty(value = "办学使命") - @TableField("edu_mission") - private String eduMission; - - /** - * 办学校训 - */ - @ApiModelProperty(value = "办学校训") - @TableField("edu_motto") - private String eduMotto; - - /** - * 校园风采 - */ - @ApiModelProperty(value = "校园风采") - @TableField("campus_style") - private String campusStyle; - - /** - * 官方电话 - */ - @ApiModelProperty(value = "官方电话") - @TableField("telephone") - private String telephone; - - /** - * 教师人数 - */ - @ApiModelProperty(value = "教师人数") - @TableField("teacher_num") - private Integer teacherNum; - - /** - * 院系数量 - */ - @ApiModelProperty(value = "院系数量") - @TableField("department_num") - private Integer departmentNum; - - /** - * 一级学科数量 - */ - @ApiModelProperty(value = "一级学科数量") - @TableField("first_level_discipline_num") - private Integer firstLevelDisciplineNum; - - /** - * 二级学科数量 - */ - @ApiModelProperty(value = "二级学科数量") - @TableField("secondary_discipline_num") - private Integer secondaryDisciplineNum; - - /** - * 班级数 - */ - @ApiModelProperty(value = "班级数") - @TableField("class_num") - private Integer classNum; - - /** - * 学生人数 - */ - @ApiModelProperty(value = "学生人数") - @TableField("student_num") - private Integer studentNum; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/screen/EduSchoolDashboardDataBase.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/screen/EduSchoolDashboardDataBase.java deleted file mode 100644 index b49b265..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/screen/EduSchoolDashboardDataBase.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.yida.data.common.core.entity.screen; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 校园大数据仪表盘数据中心-基础建设Entity - * - * @author ZYJ - * @date 2023-04-19 16:52:15 - */ -@Data -@TableName("edu_school_dashboard_data_base") -public class EduSchoolDashboardDataBase implements Serializable { - - private static final long serialVersionUID = 4012887985974912015L; - - /** - * 主键 - */ - @ApiModelProperty(value = "主键") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 删除标识. 0: 未删除, 1: 已删除 - */ - @ApiModelProperty(value = "删除标识. 0: 未删除, 1: 已删除") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 数据中心id - */ - @ApiModelProperty(value = "数据中心id") - private Long dataId; - - /** - * 标题 - */ - @ApiModelProperty(value = "标题") - @TableField("label") - private String label; - - /** - * 数量+单位 - */ - @ApiModelProperty(value = "数量+单位") - @TableField("unit") - private String unit; - - /** - * 图标 - */ - @ApiModelProperty(value = "图标") - @TableField("icon") - private String icon; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/screen/EduSchoolDashboardDataTeacher.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/screen/EduSchoolDashboardDataTeacher.java deleted file mode 100644 index f3a8f81..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/screen/EduSchoolDashboardDataTeacher.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.yida.data.common.core.entity.screen; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 校园大数据仪表盘数据中心-师资力量Entity - * - * @author ZYJ - * @date 2023-04-19 16:58:48 - */ -@Data -@TableName("edu_school_dashboard_data_teacher") -public class EduSchoolDashboardDataTeacher implements Serializable { - - private static final long serialVersionUID = -8358393920496356887L; - - /** - * 主键 - */ - @ApiModelProperty(value = "主键") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 删除标识. 0: 未删除, 1: 已删除 - */ - @ApiModelProperty(value = "删除标识. 0: 未删除, 1: 已删除") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 数据中心id - */ - @ApiModelProperty(value = "数据中心id") - private Long dataId; - - /** - * 标题 - */ - @ApiModelProperty(value = "标题") - @TableField("title") - private String title; - - /** - * 数量 - */ - @ApiModelProperty(value = "数量") - @TableField("num") - private Integer num; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/ConstructionPayNotifyDTO.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/ConstructionPayNotifyDTO.java deleted file mode 100644 index a612f15..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/ConstructionPayNotifyDTO.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.yida.data.common.core.entity.smart; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 建行支付通知结果回调接收类 - * - * @author ZYJ - * @date 2023/6/22 1:06 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -public class ConstructionPayNotifyDTO implements Serializable { - - private static final long serialVersionUID = 2742657904325141306L; - - /** - * 商户柜台代码 - */ - private String POSID; - - /** - * 分行代码 - */ - private String BRANCHID; - - /** - * 订单号 - */ - private String ORDERID; - - /** - * 付款金额 - */ - private String PAYMENT; - - /** - * 币种 - */ - private String CURCODE; - - /** - * 备注1 - */ - private String REMARK1; - - /** - * 备注2 - */ - private String REMARK2; - - /** - * 账户类型 - */ - private String ACC_TYPE; - - /** - * 成功标志. 成功-Y,失败-N - */ - private String SUCCESS; - - /** - * 接口类型 - */ - private String TYPE; - - /** - * Referer 信息 - */ - private String REFERER; - - /** - * 客户端ip - */ - private String CLIENTIP; - - /** - * 签名 - */ - private String SIGN; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduGuideStepOrder.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduGuideStepOrder.java deleted file mode 100644 index 6304e18..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduGuideStepOrder.java +++ /dev/null @@ -1,195 +0,0 @@ -package com.yida.data.common.core.entity.smart; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.enums.UnionPayTypeEnum; -import com.yida.data.common.core.enums.WxPayTypeEnum; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.time.LocalDateTime; - -/** - * 指南步骤订单表 Entity - * - * @author ZYJ - * @date 2023-06-20 16:48:14 - */ -@Data -@TableName("edu_guide_step_order") -public class EduGuideStepOrder { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "order_id", type = IdType.AUTO) - private Long orderId; - - /** - * 订单编号:NOT NULL,不可重复,加索引,生成规则参照:snowflake算法原理生成 - */ - @ApiModelProperty(value = "订单编号:NOT NULL,不可重复,加索引,生成规则参照:snowflake算法原理生成") - @TableField("order_code") - private String orderCode; - - /** - * 流水号生成规则: - * 第一位:一位数前缀 - * 第2-10位:学校ID,缺少的以0在前补位 - * 第11-20位:商品编码code,缺少的以0在前补位, - * 第21-28位:购买日期(年月日), - * 第29-36位:8位随机数 - */ - @ApiModelProperty(value = "流水号生成规则: 第一位:Z 第2-10位:学校ID,缺少的以0在前补位 第11-20位:商品编码code,缺少的以0在前补位, 第21-28位:购买日期(年月日), 第29-36位:8位随机数") - @TableField("transaction_number") - private String transactionNumber; - - /** - * 指南id - */ - @ApiModelProperty(value = "指南id") - @TableField("guide_id") - private Long guideId; - - /** - * 指南步骤id - */ - @ApiModelProperty(value = "指南步骤id") - @TableField("step_id") - private Long stepId; - - /** - * 花名册id - */ - @ApiModelProperty(value = "花名册id") - @TableField("roster_id") - private Long rosterId; - - /** - * 关联关系id - */ - @ApiModelProperty(value = "关联关系id") - @TableField("relation_id") - private Long relationId; - - /** - * 订单总金额 - */ - @ApiModelProperty(value = "订单总金额") - @TableField("total_money") - private BigDecimal totalMoney; - /** - * 实际支付金额 - */ - @ApiModelProperty(value = "实际支付金额") - @TableField("practical_money") - private BigDecimal practicalMoney; - /** - * 支付人手机号(家长手机) - */ - @ApiModelProperty(value = "支付人手机号(家长手机)") - @TableField("phone") - private String phone; - - /** - * 支付时间 - */ - @ApiModelProperty(value = "支付时间") - @TableField("pay_date") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime payDate; - - /** - * 订单状态:0:待付款 - * 1:付款中 - * 2:交易完成(正常支付成功) - * 3:待退款 - * 4:交易关闭(a:超时未支付,b:退款成功 - */ - @ApiModelProperty(value = "订单状态:0:待付款 1:付款中 2:交易完成(正常支付成功) 3:待退款 4:交易关闭(a:超时未支付,b:退款成功") - @TableField("order_status") - private String orderStatus; - - /** - * 支付状态:0:未支付(默认) - * 1:已支付 - * 2:已退款 - * 3:已取消 - */ - @ApiModelProperty(value = "支付状态:0:未支付(默认) 1:已支付 2:已退款 3:已取消") - @TableField("pay_status") - private String payStatus; - - /** - * 支付方式:1:微信,2:支付宝,3:银联,4:收钱吧,5:建行 - */ - @ApiModelProperty(value = "支付方式:1:微信,2:支付宝,3:银联,4:收钱吧,5:建行") - @TableField("pay_way") - private String payWay; - - /** - * 具体的支持类型, 需要参考对应支付类型的枚举类 - *

- * 银联云闪付: UnionPayTypeEnum - * 微信类型: WxPayTypeEnum - */ - /** - * 具体支付类型 - * 银联云闪付: {@link UnionPayTypeEnum} - * 微信类型: {@link WxPayTypeEnum} - */ - @ApiModelProperty("具体支付类型") - private Integer payType; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("dept_id") - private Long deptId; - - /** - * 是否删除:0-未删除, 1-删除 默认0 - */ - @ApiModelProperty(value = "是否删除:0-未删除, 1-删除 默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间(下单时间) - */ - @ApiModelProperty(value = "创建时间(下单时间)") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 修改时间 - */ - @ApiModelProperty(value = "修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 修改人id - */ - @ApiModelProperty(value = "修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeCampus.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeCampus.java deleted file mode 100644 index f27c6d9..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeCampus.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.yida.data.common.core.entity.smart; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import java.math.BigDecimal; -import java.time.LocalDateTime; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -@Data -@TableName("edu_smart_welcome_campus") -public class EduSmartWelcomeCampus implements Serializable { - - - private static final long serialVersionUID = -9112087834472560029L; - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 部门id - */ - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - - /** - * 学区名称 - */ - @ApiModelProperty(value = "学区名称") - @TableField("campus_name") - private String campusName; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeDepartment.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeDepartment.java deleted file mode 100644 index 8d8cfcb..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeDepartment.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.yida.data.common.core.entity.smart; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.List; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 智慧迎新-关联系部 - * - * @author ZYJ - * @date 2023-05-15 15:33:18 - */ -@Data -@TableName("edu_smart_welcome_department") -public class EduSmartWelcomeDepartment implements Serializable { - - - private static final long serialVersionUID = -4187107044078844446L; - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 父级ID - */ - @ApiModelProperty(value = "父级ID") - @TableField("parent_id") - private Integer parentId; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 部门id - */ - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - /** - * 名称 - */ - @ApiModelProperty(value = "名称") - @TableField("name") - private String name; - - /** - * 0=系部,1=专业 - */ - @ApiModelProperty(value = "0=系部,1=专业") - @TableField("type") - private Integer type; - - private transient List childrenList; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuide.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuide.java deleted file mode 100644 index bf46a58..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuide.java +++ /dev/null @@ -1,147 +0,0 @@ -package com.yida.data.common.core.entity.smart; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * 智慧迎新指南表Entity - * - * @author ZYJ - * @date 2023-05-15 15:33:18 - */ -@Data -@TableName("edu_smart_welcome_guide") -public class EduSmartWelcomeGuide implements Serializable { - - private static final long serialVersionUID = -2989601716189955125L; - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 部门id - */ - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - - /** - * 学区id - */ - @ApiModelProperty(value = "学区id") - @TableField("campus_id") - private Long campusId; - - /** - * 指南标题 - */ - @ApiModelProperty(value = "指南标题") - @TableField("guide_title") - private String guideTitle; - - /** - * 指南前言 - */ - @ApiModelProperty(value = "指南前言") - @TableField("guide_foreword") - private String guideForeword; - - @ApiModelProperty(value = "资料上报字段,多个以英文逗号分隔") - @TableField("form_field") - private String formField; - - - @ApiModelProperty(value = "缴费金额") - @TableField("money") - private BigDecimal money; - - @ApiModelProperty(value = "是否启用二维码缴费. 0未启用,1启用") - @TableField("money_status") - private Integer moneyStatus; - - /** - * 启用状态(一个学校只能有一个启用的指南). 0:未启用,1:已启用 启用后无法删除和编辑 - */ - @ApiModelProperty(value = "启用状态(一个学校只能有一个启用的指南). 0:未启用,1:已启用") - @TableField("enable_status") - private Integer enableStatus; - - /** - * 最后一次启用时间 - */ - @ApiModelProperty(value = "最后一次启用时间") - @TableField("last_enable_date") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime lastEnableDate; - - @ApiModelProperty(value = "是否启用自动生成二维码状态. 0:未启用,1:已启用") - @TableField("qr_code_enable_status") - private Integer qrCodeEnableStatus; - - @ApiModelProperty(value = "没有二维码时的提示") - @TableField("qr_code_notice_message") - private String qrCodeNoticeMessage; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideClassRecord.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideClassRecord.java deleted file mode 100644 index 0826b55..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideClassRecord.java +++ /dev/null @@ -1,155 +0,0 @@ -package com.yida.data.common.core.entity.smart; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import java.time.LocalDateTime; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 智慧迎新班级记录Entity - */ -@Data -@TableName("edu_smart_welcome_guide_class_record") -public class EduSmartWelcomeGuideClassRecord implements Serializable { - - private static final long serialVersionUID = -5793682408605743520L; - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 部门id - */ - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - - /** - * 指南id - */ - @ApiModelProperty(value = "指南id") - @TableField("guide_id") - private Long guideId; - - - /** - * 迎新花名册人员Id - */ - @ApiModelProperty(value = "迎新花名册人员Id") - @TableField("roster_id") - private Long rosterId; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("school_id") - private Long schoolId; - /** - * 学区id - */ - @ApiModelProperty(value = "学区id") - @TableField("campus_id") - private Long campusId; - - - /** - * 学区 - */ - @ApiModelProperty(value = "学区") - @TableField("campus_name") - private String campusName; - - /** - * 学段id - */ - @ApiModelProperty(value = "学段id") - @TableField("section_id") - private Long sectionId; - - - /** - * 年级id - */ - @ApiModelProperty(value = "年级id") - @TableField("grade_id") - private Long gradeId; - - - /** - * 年级 - */ - @ApiModelProperty(value = "年级") - @TableField("grade_name") - private String gradeName; - - - /** - * 班级id - */ - @ApiModelProperty(value = "班级id") - @TableField("class_id") - private Long classId; - - - /** - * 班级 - */ - @ApiModelProperty(value = "班级") - @TableField("class_name") - private String className; - - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideDormRecord.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideDormRecord.java deleted file mode 100644 index 31da618..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideDormRecord.java +++ /dev/null @@ -1,128 +0,0 @@ -package com.yida.data.common.core.entity.smart; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import java.time.LocalDateTime; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 智慧迎新宿舍分配实际记录Entity - */ -@Data -@TableName("edu_smart_welcome_guide_dorm_record") -public class EduSmartWelcomeGuideDormRecord implements Serializable { - - private static final long serialVersionUID = 6882830727621880838L; - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 部门id - */ - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - - /** - * 指南id - */ - @ApiModelProperty(value = "指南id") - @TableField("guide_id") - private Long guideId; - - - /** - * 迎新花名册人员Id - */ - @ApiModelProperty(value = "迎新花名册人员Id") - @TableField("roster_id") - private Long rosterId; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("school_id") - private Long schoolId; - /** - * 宿舍ID - */ - @ApiModelProperty(value = "宿舍ID") - @TableField("dorm_id") - private Long dormId; - - /** - * 宿舍 - */ - @ApiModelProperty(value = "宿舍") - @TableField("dorm_name") - private Long dormName; - - /** - * 宿舍房间ID - */ - @ApiModelProperty(value = "宿舍房间ID") - @TableField("dorm_room_id") - private Long dormRoomId; - - /** - * 宿舍房间 - */ - @ApiModelProperty(value = "宿舍房间") - @TableField("dorm_room_name") - private String dormRoomName; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideRoster.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideRoster.java deleted file mode 100644 index 88ba71d..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideRoster.java +++ /dev/null @@ -1,291 +0,0 @@ -package com.yida.data.common.core.entity.smart; - -import java.io.Serializable; -import java.util.Date; - -import com.yida.data.common.core.enums.RegistrationStatusEnum; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * 智慧迎新指南花名册表Entity - * - * @author ZYJ - * @date 2023-05-16 15:06:19 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@TableName("edu_smart_welcome_guide_roster") -public class EduSmartWelcomeGuideRoster implements Serializable { - - private static final long serialVersionUID = 1885471695813947514L; - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 部门id - */ - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - /** - * 指南id - */ - @ApiModelProperty(value = "指南id") - @TableField("guide_id") - private Long guideId; - - /** - * 毕业院校 - */ - @ApiModelProperty(value = "毕业院校") - @TableField("graduate_school") - private String graduateSchool; - - /** - * 姓名 - */ - @ApiModelProperty(value = "姓名") - @TableField("full_name") - private String fullName; - - /** - * 身份证号码 - */ - @ApiModelProperty(value = "身份证号码") - @TableField("id_number") - private String idNumber; - - /** - * 性别:0男1女 - */ - @ApiModelProperty(value = "性别:0男1女") - @TableField("gender") - private Integer gender; - - - /** - * 人脸寸照URL地址 - */ - @ApiModelProperty(value = "人脸寸照URL地址") - @TableField("avatar") - private String avatar; - - /** - * 录取专业 - */ - @ApiModelProperty(value = "录取专业") - @TableField("admitted_major") - private String admittedMajor; - - /** - * 手机号码 - */ - @ApiModelProperty(value = "手机号码") - @TableField("mobile") - private String mobile; - - /** - * 二维码地址 - */ - @ApiModelProperty(value = "二维码地址") - @TableField("qr_code_url") - private String qrCodeUrl; - - @ApiModelProperty(value = "录取专业ID") - @TableField("admitted_major_id") - private Long admittedMajorId; - - @ApiModelProperty(value = "录取系部") - @TableField("admitted_department") - private String admittedDepartment; - - @ApiModelProperty(value = "录取系部ID") - @TableField("admitted_department_id") - private Long admittedDepartmentId; - - @ApiModelProperty(value = "身份证正面照片") - @TableField("id_card_right") - private String idCardRight; - - @ApiModelProperty(value = "身份证反面照片") - @TableField("id_card_reverse") - private String idCardReverse; - - @ApiModelProperty(value = "录取通知书照片") - @TableField("admission_letter") - private String admissionLetter; - - @ApiModelProperty(value = "没有二维码时的提示") - private transient String qrCodeNoticeMessage; - - @ApiModelProperty(value = "是否完成支付:1=是,0=否") - @TableField("pay_status") - private Integer payStatus; - - /** - * {@link RegistrationStatusEnum} - */ - @ApiModelProperty(value = "报到状态. 0-未报到,1-报到成功(全部步骤通过)") - @TableField("registration_status") - private Integer registrationStatus; - - - /** - * 学区id - */ - @ApiModelProperty(value = "学区id") - @TableField("campus_id") - private Long campusId; - - - /** - * 学区 - */ - @ApiModelProperty(value = "学区") - @TableField("campus_name") - private String campusName; - - /** - * 学段id - */ - @ApiModelProperty(value = "学段id") - @TableField("section_id") - private Long sectionId; - - - /** - * 学段 - */ - @ApiModelProperty(value = "学段") - @TableField("section_name") - private String sectionName; - - - /** - * 年级id - */ - @ApiModelProperty(value = "年级id") - @TableField("grade_id") - private Long gradeId; - - - /** - * 年级 - */ - @ApiModelProperty(value = "年级") - @TableField("grade_name") - private String gradeName; - - - /** - * 班级id - */ - @ApiModelProperty(value = "班级id") - @TableField("class_id") - private Long classId; - - - /** - * 班级 - */ - @ApiModelProperty(value = "班级") - @TableField("class_name") - private String className; - - /** - * 宿舍楼ID - */ - @ApiModelProperty(value = "宿舍楼ID") - @TableField("dormitory_id") - private Long dormitoryId; - - - /** - * 宿舍楼名称 - */ - @ApiModelProperty(value = "宿舍楼名称") - @TableField("dormitory") - private String dormitory; - - - /** - * 寝室号ID - */ - @ApiModelProperty(value = "寝室号ID") - @TableField("dormitory_room_id") - private Long dormitoryRoomId; - - - /** - * 寝室名称 - */ - @ApiModelProperty(value = "寝室名称") - @TableField("dormitory_room") - private String dormitoryRoom; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideRosterRelation.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideRosterRelation.java deleted file mode 100644 index ce3c4e0..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideRosterRelation.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.yida.data.common.core.entity.smart; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.List; - -/** - * 智慧迎新指南花名册-微信用户绑定关系表Entity - * - * @author ZYJ - * @date 2023-05-17 13:53:18 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@TableName("edu_smart_welcome_guide_roster_relation") -public class EduSmartWelcomeGuideRosterRelation implements Serializable { - - private static final long serialVersionUID = 8690951904136481894L; - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 部门id - */ - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - /** - * 学区id - */ - @ApiModelProperty(value = "学区id") - @TableField("campus_id") - private Long campusId; - - /** - * 指南id - */ - @ApiModelProperty(value = "指南id") - @TableField("guide_id") - private Long guideId; - - /** - * 花名册id - */ - @ApiModelProperty(value = "花名册id") - @TableField("roster_id") - private Long rosterId; - - /** - * 微信openId - */ - @ApiModelProperty(value = "微信openId") - @TableField("open_id") - private String openId; - - /** - * 登录用户id - */ - @ApiModelProperty(value = "登录用户id") - @TableField("user_id") - private Long userId; - - @ApiModelProperty(value = "头像") - private String avatar; - - @ApiModelProperty(value = "性别. 0-男,1-女") - private Integer sex; - - @ApiModelProperty("人员基础信息") - private transient EduSmartWelcomeGuideRoster guideRoster; - - @ApiModelProperty("人员步骤信息") - private transient List stepList; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideRosterRelationStep.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideRosterRelationStep.java deleted file mode 100644 index 589839b..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideRosterRelationStep.java +++ /dev/null @@ -1,160 +0,0 @@ -package com.yida.data.common.core.entity.smart; - -import java.io.Serializable; -import java.util.Date; - -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.apache.bcel.generic.LineNumberGen; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * 智慧迎新指南花名册-微信用户绑定关系-执行步骤表 Entity - * - * @author ZYJ - * @date 2023-05-19 14:37:43 - */ -@Data -@TableName("edu_smart_welcome_guide_roster_relation_step") -public class EduSmartWelcomeGuideRosterRelationStep implements Serializable { - - private static final long serialVersionUID = 107937172597095304L; - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 部门id - */ - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - /** - * 指南id - */ - @ApiModelProperty(value = "指南id") - @TableField("guide_id") - private Long guideId; - - /** - * 花名册id - */ - @ApiModelProperty(value = "花名册id") - @TableField("roster_id") - private Long rosterId; - - /** - * 关系id - */ - @ApiModelProperty(value = "关系id") - @TableField("relation_id") - private Long relationId; - - /** - * 执行步骤id - */ - @ApiModelProperty(value = "执行步骤id") - @TableField("step_id") - private Long stepId; - - /** - * 执行状态.0: 通过, 1: 未执行, 2: 未通过 - */ - @ApiModelProperty(value = "执行状态.0: 通过, 1: 未执行, 2: 未通过") - @TableField("status") - private Integer status; - - /** - * 审核评语 - */ - @ApiModelProperty(value = "审核评语") - @TableField("comment_content") - private String commentContent; - - /** - * 操作时间 - */ - @ApiModelProperty(value = "操作时间") - @TableField("operate_time") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime operateTime; - - /** - * 审核人员id - */ - @ApiModelProperty(value = "审核人员id") - @TableField("staff_id") - private Long staffId; - - /** - * 上传附件地址:多个以英文逗号分隔 - */ - @ApiModelProperty(value = "上传附件地址:多个以英文逗号分隔") - @TableField("upload_file_url") - private String uploadFileUrl; - - /** - * 上缴费状态:0=未缴,1=已交 - */ - @ApiModelProperty(value = "缴费状态:0=未缴,1=已交") - @TableField("pay_status") - private String payStatus; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStep.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStep.java deleted file mode 100644 index 072caa2..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStep.java +++ /dev/null @@ -1,180 +0,0 @@ -package com.yida.data.common.core.entity.smart; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.math.BigDecimal; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.List; - -/** - * 智慧迎新指南步骤表Entity - * - * @author ZYJ - * @date 2023-05-15 15:33:18 - */ -@Data -@TableName("edu_smart_welcome_guide_step") -public class EduSmartWelcomeGuideStep implements Serializable { - - private static final long serialVersionUID = 8292306932801252867L; - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 部门id - */ - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - /** - * 指南id - */ - @ApiModelProperty(value = "指南id") - @TableField("guide_id") - private Long guideId; - - /** - * 步骤类型 - */ - @ApiModelProperty(value = "步骤类型") - @TableField("step_type") - private Integer stepType; - - /** - * 步骤名称 - */ - @ApiModelProperty(value = "步骤名称") - @TableField("step_name") - private String stepName; - - - @ApiModelProperty(value = "缴费金额") - @TableField("money") - private BigDecimal money; - - /** - * 唯一id - */ - @ApiModelProperty(value = "唯一id") - @TableField("unique_id") - private String uniqueId; - - /** - * 前提步骤id - */ - @ApiModelProperty(value = "前提步骤id") - @TableField("premise_step_id") - private Long premiseStepId; - - /** - * 前提步骤唯一id - */ - @ApiModelProperty(value = "前提步骤唯一id") - @TableField("premise_step_unique_id") - private String premiseStepUniqueId; - - /** - * 步骤说明 - */ - @ApiModelProperty(value = "步骤说明") - @TableField("step_description") - private String stepDescription; - - @ApiModelProperty(value = "审核是否需要评语,0否,1是") - @TableField("is_comment") - private Integer isComment; - - - @ApiModelProperty("步骤审核人员职工id列表信息") - private transient List staffIdList; - - @ApiModelProperty("导入预选班级数据") - private transient List classList; - - @ApiModelProperty("导入固定班级数据") - private transient List classFixList; - - @ApiModelProperty("导入预选宿舍数据") - private transient List dormList; - - @ApiModelProperty("导入预选宿舍数据") - private transient List dormFixList; - - @ApiModelProperty("步骤审核人员职工姓名字符串") - private transient String staffNameStr; - - @ApiModelProperty(value = "执行状态. -1:未执行, 0:通过") - private transient Integer status; - - - @ApiModelProperty(value = "操作时间. 执行状态为通过时存在") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private transient LocalDateTime operateTime; - - @ApiModelProperty("审核人员名称. 执行状态为通过时存在") - private transient String staffName; - - @ApiModelProperty("按钮状态. 0-代表显示通过按钮,1-代表不显示通过按钮") - private transient Integer buttonStatus; - - @ApiModelProperty("上传附件地址") - private transient String uploadFileUrl; - - @ApiModelProperty("评语内容") - private transient String commentContent; - - @ApiModelProperty("花名册人员信息") - private transient EduSmartWelcomeGuideRoster roster; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepClass.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepClass.java deleted file mode 100644 index d144b68..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepClass.java +++ /dev/null @@ -1,207 +0,0 @@ -package com.yida.data.common.core.entity.smart; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import java.math.BigDecimal; -import java.time.LocalDateTime; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 智慧迎新班级预分表Entity - */ -@Data -@TableName("edu_smart_welcome_guide_step_class") -public class EduSmartWelcomeGuideStepClass implements Serializable { - - - private static final long serialVersionUID = 2227499769143173816L; - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 部门id - */ - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - - /** - * 指南id - */ - @ApiModelProperty(value = "指南id") - @TableField("guide_id") - private Long guideId; - - - /** - * 步骤id - */ - @ApiModelProperty(value = "步骤id") - @TableField("step_id") - private Long stepId; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("school_id") - private Long schoolId; - /** - * 学区id - */ - @ApiModelProperty(value = "学区id") - @TableField("campus_id") - private Long campusId; - - /** - * 学段id - */ - @ApiModelProperty(value = "学段id") - @TableField("section_id") - private Long sectionId; - - - /** - * 年级id - */ - @ApiModelProperty(value = "年级id") - @TableField("grade_id") - private Long gradeId; - - - /** - * 班级id - */ - @ApiModelProperty(value = "班级id") - @TableField("class_id") - private Long classId; - - - /** - * 计划班级人数 - */ - @ApiModelProperty(value = "计划班级人数") - @TableField("number") - private Integer number; - - /** - * 男性人数 - */ - @ApiModelProperty(value = "男性人数") - @TableField("male_number") - private Integer maleNumber; - - /** - * 实际男生人数 - */ - @ApiModelProperty(value = "实际男生人数") - @TableField("real_male_number") - private Integer realMaleNumber; - - /** - * 男性占比 - */ - @ApiModelProperty(value = "男性占比") - @TableField("male") - private Integer male; - - /** - * 女性人数 - */ - @ApiModelProperty(value = "女性人数") - @TableField("female_number") - private Integer femaleNumber; - /** - * 实际女生人数 - */ - @ApiModelProperty(value = "实际女生人数") - @TableField("real_female_number") - private Integer realFemaleNumber; - - /** - * 女性占比 - */ - @ApiModelProperty(value = "女性占比") - @TableField("female") - private Integer female; - - /** - * 系部ID - */ - @ApiModelProperty(value = "系部ID") - @TableField("department_id") - private Long departmentId; - - /** - * 系部名称 - */ - @ApiModelProperty(value = "系部名称") - @TableField("department_name") - private String departmentName; - /** - * 专业ID - */ - @ApiModelProperty(value = "专业ID") - @TableField("major_id") - private Long majorId; - - /** - * 专业名称 - */ - @ApiModelProperty(value = "专业名称") - @TableField("major_name") - private String majorName; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepClassFix.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepClassFix.java deleted file mode 100644 index a63a931..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepClassFix.java +++ /dev/null @@ -1,176 +0,0 @@ -package com.yida.data.common.core.entity.smart; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import java.time.LocalDateTime; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 智慧迎新固定班级人员Entity - */ -@Data -@TableName("edu_smart_welcome_guide_step_class_fix") -public class EduSmartWelcomeGuideStepClassFix implements Serializable { - - private static final long serialVersionUID = 5992449372638558018L; - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 部门id - */ - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - - /** - * 指南id - */ - @ApiModelProperty(value = "指南id") - @TableField("guide_id") - private Long guideId; - - - /** - * 步骤id - */ - @ApiModelProperty(value = "步骤id") - @TableField("step_id") - private Long stepId; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("school_id") - private Long schoolId; - /** - * 学区id - */ - @ApiModelProperty(value = "学区id") - @TableField("campus_id") - private Long campusId; - - /** - * 学区id - */ - @ApiModelProperty(value = "学区id") - @TableField("campus_name") - private String campusName; - - /** - * 学段id - */ - @ApiModelProperty(value = "学段id") - @TableField("section_id") - private Long sectionId; - - /** - * 学段id - */ - @ApiModelProperty(value = "学段id") - @TableField("section_name") - private String sectionName; - - /** - * 年级id - */ - @ApiModelProperty(value = "年级id") - @TableField("grade_id") - private Long gradeId; - - /** - * 年级id - */ - @ApiModelProperty(value = "年级id") - @TableField("grade_name") - private String gradeName; - - - /** - * 班级id - */ - @ApiModelProperty(value = "班级id") - @TableField("class_id") - private Long classId; - - /** - * 班级id - */ - @ApiModelProperty(value = "班级id") - @TableField("class_name") - private String className; - - - /** - * 迎新花名册人员ID - */ - @ApiModelProperty(value = "迎新花名册人员ID") - @TableField("roster_id") - private Long rosterId; - - /** - * 迎新花名册人员ID - */ - @ApiModelProperty(value = "迎新花名册人员姓名") - @TableField("roster_name") - private String rosterName; - - @ApiModelProperty(value = "迎新花名册人员身份证号") - @TableField("id_number") - private String idNumber; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepDorm.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepDorm.java deleted file mode 100644 index e7f3012..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepDorm.java +++ /dev/null @@ -1,178 +0,0 @@ -package com.yida.data.common.core.entity.smart; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import java.time.LocalDateTime; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 智慧迎新宿舍预分表Entity - */ -@Data -@TableName("edu_smart_welcome_guide_step_dorm") -public class EduSmartWelcomeGuideStepDorm implements Serializable { - - private static final long serialVersionUID = 2811817125778676867L; - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 部门id - */ - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - - /** - * 指南id - */ - @ApiModelProperty(value = "指南id") - @TableField("guide_id") - private Long guideId; - - /** - * 步骤id - */ - @ApiModelProperty(value = "步骤id") - @TableField("step_id") - private Long stepId; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("school_id") - private Long schoolId; - /** - * 宿舍id - */ - @ApiModelProperty(value = "宿舍id") - @TableField("dorm_id") - private Long dormId; - - - /** - * 宿舍id - */ - @ApiModelProperty(value = "宿舍") - @TableField("dorm_name") - private String dormName; - - - /** - * 宿舍房间id - */ - @ApiModelProperty(value = "宿舍房间id") - @TableField("dorm_room_id") - private Long dormRoomId; - - - /** - * 宿舍房间id - */ - @ApiModelProperty(value = "宿舍房间") - @TableField("dorm_room_name") - private String dormRoomName; - - - /** - * 宿舍类型:0=女性宿舍,1=男生宿舍 - */ - @ApiModelProperty(value = "宿舍类型:0=男性宿舍,1=女生宿舍") - @TableField("gender") - private Integer gender; - - @ApiModelProperty(value = "宿舍人数") - @TableField("number") - private Integer number; - - @ApiModelProperty(value = "实际人数") - @TableField("real_number") - private Integer realNumber; - - /** - * 校区ID - */ - @ApiModelProperty(value = "校区ID") - @TableField("campus_id") - private Long campusId; - /** - * 系部ID - */ - @ApiModelProperty(value = "系部ID") - @TableField("department_id") - private Long departmentId; - - /** - * 系部ID - */ - @ApiModelProperty(value = "系部") - @TableField("department_name") - private String departmentName; - /** - * 专业ID - */ - @ApiModelProperty(value = "专业ID") - @TableField("major_id") - private Long majorId; - - /** - * 专业ID - */ - @ApiModelProperty(value = "专业") - @TableField("major_name") - private String majorName; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepDormFix.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepDormFix.java deleted file mode 100644 index 090dad2..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepDormFix.java +++ /dev/null @@ -1,150 +0,0 @@ -package com.yida.data.common.core.entity.smart; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import java.time.LocalDateTime; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 智慧迎新固定班级人员Entity - */ -@Data -@TableName("edu_smart_welcome_guide_step_dorm_fix") -public class EduSmartWelcomeGuideStepDormFix implements Serializable { - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 部门id - */ - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - /** - * 指南id - */ - @ApiModelProperty(value = "指南id") - @TableField("guide_id") - private Long guideId; - - /** - * 步骤id - */ - @ApiModelProperty(value = "步骤id") - @TableField("step_id") - private Long stepId; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("school_id") - private Long schoolId; - - /** - * 宿舍 - */ - @ApiModelProperty(value = "宿舍") - @TableField("dorm_id") - private Long dormId; - - - /** - * 宿舍 - */ - @ApiModelProperty(value = "宿舍") - @TableField("dorm_name") - private String dormName; - - - /** - * 寝室号id - */ - @ApiModelProperty(value = "寝室号id") - @TableField("dorm_room_id") - private Long dormRoomId; - - /** - * 寝室号id - */ - @ApiModelProperty(value = "寝室号id") - @TableField("dorm_room_name") - private String dormRoomName; - - /** - * 迎新花名册人员ID - */ - @ApiModelProperty(value = "迎新花名册人员ID") - @TableField("roster_id") - private Long rosterId; - - /** - * 迎新花名册人员ID - */ - @ApiModelProperty(value = "迎新花名册人员姓名") - @TableField("roster_name") - private String rosterName; - - /** - * 迎新花名册人员ID - */ - @ApiModelProperty(value = "身份证") - @TableField("id_number") - private String idNumber; - - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepStaff.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepStaff.java deleted file mode 100644 index c4f78e7..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/smart/EduSmartWelcomeGuideStepStaff.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.yida.data.common.core.entity.smart; - -import java.io.Serializable; -import java.util.Date; - -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * 智慧迎新指南步骤-审核人员表Entity - * - * @author ZYJ - * @date 2023-05-15 15:33:18 - */ -@Data -@TableName("edu_smart_welcome_guide_step_staff") -public class EduSmartWelcomeGuideStepStaff implements Serializable { - - private static final long serialVersionUID = 4677189987292839132L; - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 是否删除,1删除0未删除,默认0 - */ - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人id - */ - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 最后修改时间 - */ - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 最后修改人id - */ - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 部门id - */ - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - /** - * 指南id - */ - @ApiModelProperty(value = "指南id") - @TableField("guide_id") - private Long guideId; - - /** - * 步骤id - */ - @ApiModelProperty(value = "步骤id") - @TableField("step_id") - private Long stepId; - - /** - * 职工id - */ - @ApiModelProperty(value = "职工id") - @TableField("staff_id") - private Long staffId; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/BaiduApiConfig.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/BaiduApiConfig.java deleted file mode 100644 index 5c02235..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/BaiduApiConfig.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.yida.data.common.core.entity.system; - -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * 百度api配置信息 Entity - * - * @author ZYJ - * @date 2023-06-20 20:42:47 - */ -@Data -@TableName("baidu_api_config") -public class BaiduApiConfig implements Serializable { - - private static final long serialVersionUID = -6393970562092146041L; - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("school_id") - private Long schoolId; - - /** - * 模块名称 - */ - @ApiModelProperty(value = "模块名称") - @TableField("module_name") - private String moduleName; - - /** - * 应用appId - */ - @ApiModelProperty(value = "应用appId") - @TableField("app_id") - private String appId; - - /** - * 应用API Key - */ - @ApiModelProperty(value = "应用API Key") - @TableField("api_key") - private String apiKey; - - /** - * 应用Secret Key - */ - @ApiModelProperty(value = "应用Secret Key") - @TableField("secret_key") - private String secretKey; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/ConstructionPayConfig.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/ConstructionPayConfig.java deleted file mode 100644 index cf72485..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/ConstructionPayConfig.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.yida.data.common.core.entity.system; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 建行学校信息配置 Entity - * - * @author ZYJ - * @date 2023-06-19 16:30:18 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@TableName("construction_pay_config") -public class ConstructionPayConfig implements Serializable { - - private static final long serialVersionUID = 8107846780600318858L; - - /** - * 主键id - */ - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 对应部门id - */ - @ApiModelProperty(value = "对应部门id") - @TableField("dept_id") - private Long deptId; - - /** - * 商户代码 - */ - @ApiModelProperty(value = "商户代码") - @TableField("merchant_id") - private String merchantId; - - /** - * 商户柜台代码 - */ - @ApiModelProperty(value = "商户柜台代码") - @TableField("pos_id") - private String posId; - - /** - * 分行代码 - */ - @ApiModelProperty(value = "分行代码") - @TableField("branch_id") - private String branchId; - - /** - * 商户公钥串 - */ - @ApiModelProperty(value = "商户公钥串") - @TableField("public_key") - private String publicKey; - - @ApiModelProperty(value = "密码") - @TableField("private_code") - private String privateCode; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/Dept.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/Dept.java index db9a6ad..df601ba 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/Dept.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/Dept.java @@ -54,7 +54,8 @@ public class Dept implements Serializable { @ApiModelProperty("部门简称") private String deptAbbreviation; /** - * 部门类型,0表示学校,5公司,6部门, 7教育局, 8代理商 {@link DeptTypeEnum} + * 部门类型,0表示学校,5公司,6部门, 7教育局, 8代理商 + * {@link DeptTypeEnum} */ @ApiModelProperty("部门类型,0表示学校,5公司,6部门, 7教育局, 8代理商") private Integer deptType; @@ -70,11 +71,6 @@ public class Dept implements Serializable { private String wxAesKey; @ApiModelProperty("学校关联类型类型,0-企业微信,1-易达app,2-大华平台 多类型使用','连接") private String schoolType; - - @ApiModelProperty("学校性质:0小学,1中学,2九年一贯,3十二年一贯,4:高校") - @TableField(value = "school_nature") - private Integer schoolNature; - private Long wxId; private Long parentWxId; /** diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduApp.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduApp.java index 4519a69..716b393 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduApp.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduApp.java @@ -45,12 +45,4 @@ public class EduApp { @ApiModelProperty("应用地址") private String appSrc; - @ApiModelProperty("应用类型。0-自建应用, 1-服务商代开发应用") - private Integer appType; - - @ApiModelProperty("应用模板id") - private String templateId; - - @ApiModelProperty("服务商企业微信corpId") - private String serviceCorpId; } diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduAppTemplate.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduAppTemplate.java deleted file mode 100644 index 78c791c..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduAppTemplate.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.yida.data.common.core.entity.system; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; - -/** - * 企业微信服务商代开发应用模板表 - * - * @author ZYJ - * @date 2022/11/3 - */ -@Data -public class EduAppTemplate implements Serializable { - - private static final long serialVersionUID = 5143956082215782989L; - - @TableId(type = IdType.AUTO) - private Long id; - - @ApiModelProperty("应用模板名称") - private String templateName; - - @ApiModelProperty("应用模板id") - private String templateId; - - @ApiModelProperty("应用模板secret") - private String templateSecret; - - @ApiModelProperty("应用模板code") - private String templateCode; - - @ApiModelProperty("服务商企业微信corpId") - private String serviceCorpId; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduBaseApp.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduBaseApp.java deleted file mode 100644 index fe9242a..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduBaseApp.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.yida.data.common.core.entity.system; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.yida.data.common.core.enums.UserTypeEnum; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * 基础应用信息(本地配置) Entity - * - * @author ZYJ - * @date 2023-06-28 14:57:58 - */ -@Data -@TableName("edu_base_app") -public class EduBaseApp { - - /** - * 主键 - */ - @ApiModelProperty(value = "主键") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 应用名称 - */ - @ApiModelProperty(value = "应用名称") - @TableField("name") - private String name; - - /** - * 应用代码 - */ - @ApiModelProperty(value = "应用代码") - @TableField("code") - private String code; - - /** - * 应用logo - */ - @ApiModelProperty(value = "应用logo") - @TableField("logo") - private String logo; - - /** - * 应用地址 - */ - @ApiModelProperty(value = "应用地址") - @TableField("app_src") - private String appSrc; - - /** - * 类型. 0:教职工, 1:家长 - * {@link UserTypeEnum} - */ - @ApiModelProperty(value = "类型. 0:教职工, 1:家长") - @TableField("user_type") - private Integer userType; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduDeptFunction.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduDeptFunction.java deleted file mode 100644 index 4742ead..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduDeptFunction.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.yida.data.common.core.entity.system; - -import com.baomidou.mybatisplus.annotation.*; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; - -/** - * 部门对应的第三方系统功能Entity - * - * @author ZYJ - * @date 2023-02-20 15:29:05 - */ -@Data -@TableName("edu_dept_function") -public class EduDeptFunction implements Serializable { - - private static final long serialVersionUID = 1818514125422193304L; - - @ApiModelProperty(value = "主键ID(唯一)") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - - @ApiModelProperty(value = "是否删除,1删除0未删除默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - - @ApiModelProperty(value = "部门id") - @TableField("dept_id") - private Long deptId; - - - @ApiModelProperty(value = "功能名称(自定义的功能, 具体的支持功能对应枚举类SysFunctionEnum)") - @TableField("function_name") - private String functionName; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduQywxServiceProvider.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduQywxServiceProvider.java deleted file mode 100644 index 400459e..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduQywxServiceProvider.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.yida.data.common.core.entity.system; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; - -/** - * 企业微信服务商信息表 - * - * @author ZYJ - * @date 2022/11/3 - */ -@Data -public class EduQywxServiceProvider implements Serializable { - - private static final long serialVersionUID = 600170148188322117L; - - @TableId(type = IdType.AUTO) - private Long id; - - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - @ApiModelProperty("服务商名称") - private String serviceProviderName; - - @ApiModelProperty("服务商secret") - private String serviceProviderSecret; - - @ApiModelProperty("服务商corpId") - private String corpId; - - @ApiModelProperty("微信回调token") - private String wxCallToken; - - @ApiModelProperty("微信回调编码aesKey") - private String wxAesKey; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduQywxServiceProviderSchool.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduQywxServiceProviderSchool.java deleted file mode 100644 index 477b2ab..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/EduQywxServiceProviderSchool.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.yida.data.common.core.entity.system; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; - -/** - * 企业微信服务商-学校密文corpId对照表 - * 同一服务商的所有应用获取的corpId一致;不同服务商获取的corpId不同。 - * - * @author ZYJ - * @date 2022/11/9 - */ -@Data -public class EduQywxServiceProviderSchool implements Serializable { - - private static final long serialVersionUID = -1501554930464457126L; - - @TableId(type = IdType.AUTO) - private Long id; - - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - @ApiModelProperty("服务商corpId") - private String providerCorpId; - - @ApiModelProperty("部门原始corpId") - private String deptOriginalCorpId; - - @ApiModelProperty("部门加密corpId") - private String deptEncryptionCorpId; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/Menu.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/Menu.java index a1af709..eedb9b3 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/Menu.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/Menu.java @@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import java.time.LocalDateTime; @@ -106,7 +105,5 @@ public class Menu implements Serializable { private transient String createTimeFrom; private transient String createTimeTo; - - @ApiModelProperty("菜单类型(0-合并, 1-剔除)") - private transient Integer userMenuType; + } \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/SystemUser.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/SystemUser.java index 78b4267..bd0bfcf 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/SystemUser.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/SystemUser.java @@ -244,9 +244,4 @@ public class SystemUser implements Serializable { private String mainRolePerms; private transient EduUserLogo userLogo; - - /** - * 学校性质:0幼儿园,1小学,2中学,3九年一贯,4十二年一贯,5:高校 - */ - private transient Integer schoolNature; } diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/SystemUserMenu.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/SystemUserMenu.java index 00eec42..4465e57 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/SystemUserMenu.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/SystemUserMenu.java @@ -25,13 +25,4 @@ public class SystemUserMenu { @ApiModelProperty("菜单id") @TableField("menu_id") private Long menuId; - - - @ApiModelProperty("菜单类型(0-合并, 1-剔除)") - private Integer type; - - /** - * 权限串 - */ - private transient String perms; } diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/UPayConfig.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/UPayConfig.java deleted file mode 100644 index 9376b5b..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/UPayConfig.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.yida.data.common.core.entity.system; - -import com.baomidou.mybatisplus.annotation.*; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; - -/** - * 收钱吧学校信息配置Entity - * - * @author ZYJ - * @date 2023/3/20 - */ -@Data -@TableName("u_pay_config") -public class UPayConfig implements Serializable { - - private static final long serialVersionUID = 4708925018349787447L; - - @ApiModelProperty(value = "主键id") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - @ApiModelProperty(value = "是否删除,1删除0未删除,默认0") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - @ApiModelProperty("对应部门id") - private Long deptId; - - @ApiModelProperty("开发者序列号") - private String vendorSn; - - @ApiModelProperty("开发者密钥") - private String vendorKey; - - @ApiModelProperty("wap支付应用id") - private String wapAppId; - - @ApiModelProperty("激活码内容") - private String code; - - @ApiModelProperty("公钥") - private String publicKey; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/WhiteList.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/WhiteList.java deleted file mode 100644 index bfc46fe..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/WhiteList.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.yida.data.common.core.entity.system; - -import com.baomidou.mybatisplus.annotation.*; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; - -/** - * 白名单Entity - * - * @author ZYJ - * @date 2023-02-20 14:15:49 - */ -@Data -@TableName("t_white_list") -public class WhiteList implements Serializable { - - private static final long serialVersionUID = -1590863122390062997L; - - @ApiModelProperty(value = "主键ID(唯一)") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - @ApiModelProperty(value = "是否删除,1删除0未删除默认0") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - @ApiModelProperty(value = "功能名称(自定义的功能, 具体的支持功能对应枚举类SysFunctionEnum)") - @TableField("function_name") - private String functionName; - - @ApiModelProperty(value = "ip地址(多个地址用英文逗号隔开)") - @TableField("request_ip") - private String requestIp; - - @ApiModelProperty(value = "接口调用频率(空或者0代表无限制)") - @TableField("frequency") - private Integer frequency; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/enums/RoleEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/enums/RoleEnum.java index d28ced0..37da08e 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/enums/RoleEnum.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/enums/RoleEnum.java @@ -27,9 +27,7 @@ public enum RoleEnum { ROLE_CLASS_PRINCIPAL("role:class:principal", "班主任", 9, 5), - ROLE_EDUCATION_PRINCIPAL("role:education:principal", "教育局负责人", 8, 2), - - ROLE_TEACHER("role:teacher", "教师基础角色", 10, 8); + ROLE_EDUCATION_PRINCIPAL("role:education:principal", "教育局负责人", 8, 2); /** * 角色标识值 diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/enums/SchoolNatureEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/enums/SchoolNatureEnum.java deleted file mode 100644 index 0f777d9..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/enums/SchoolNatureEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.yida.data.common.core.entity.system.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 学校性质枚举 - */ -@Getter -@AllArgsConstructor -public enum SchoolNatureEnum { - KINDER_TYPE(0, "幼儿园"), - PRI_TYPE(1, "小学"), - MID_TYPE(2, "中学"), - NINE_TYPE(3, "九年一贯"), - TWE_TYPE(4, "十二年一贯"), - VOC_TYPE(5, "中高职"), - UNI_TYPE(6, "高校"); - /** - * 性质 - */ - private final Integer value; - /** - * 性质名称 - */ - private final String name; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/enums/SysFunctionEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/enums/SysFunctionEnum.java deleted file mode 100644 index ad594aa..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/system/enums/SysFunctionEnum.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.common.core.entity.system.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 系统功能枚举 - * - * @author ZYJ - * @date 2023/2/19 - */ -@Getter -@AllArgsConstructor -public enum SysFunctionEnum { - - /** - * 系统功能枚举 - */ - HAI_PU_TIAN("hai_pu_tian", "海普天消费机"); - - /** - * 功能名称 - */ - private final String value; - - /** - * 说明 - */ - private final String message; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategy.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategy.java deleted file mode 100644 index 6f8b379..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategy.java +++ /dev/null @@ -1,150 +0,0 @@ -package com.yida.data.common.core.entity.user; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.util.List; - -/** - * 人脸组-策略Entity - * - * @author ZYJ - * @date 2022-12-12 11:04:39 - */ -@Data -@TableName("edu_face_group_strategy") -public class EduFaceGroupStrategy { - - @ApiModelProperty(value = "主键") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 删除标识,0-未删除,1-已删除 - */ - @ApiModelProperty(value = "删除标识,0-未删除,1-已删除") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 人脸组id - */ - @ApiModelProperty(value = "人脸组id") - @TableField("face_group_id") - private Long faceGroupId; - - /** - * 策略生效时间 - */ - @ApiModelProperty(value = "策略生效时间") - @TableField("strategy_start_date") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime strategyStartDate; - - /** - * 策略失效时间 - */ - @ApiModelProperty(value = "策略失效时间") - @TableField("strategy_end_date") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime strategyEndDate; - - /** - * 星期一通行计划id - */ - @ApiModelProperty(value = "星期一通行计划id") - @TableField("monday_plan_id") - private Long mondayPlanId; - - /** - * 星期二通行计划id - */ - @ApiModelProperty(value = "星期二通行计划id") - @TableField("tuesday_plan_id") - private Long tuesdayPlanId; - - /** - * 星期三通行计划id - */ - @ApiModelProperty(value = "星期三通行计划id") - @TableField("wednesday_plan_id") - private Long wednesdayPlanId; - - /** - * 星期四通行计划id - */ - @ApiModelProperty(value = "星期四通行计划id") - @TableField("thursday_plan_id") - private Long thursdayPlanId; - - /** - * 星期五通行计划id - */ - @ApiModelProperty(value = "星期五通行计划id") - @TableField("friday_plan_id") - private Long fridayPlanId; - - /** - * 星期六通行计划id - */ - @ApiModelProperty(value = "星期六通行计划id") - @TableField("saturday_plan_id") - private Long saturdayPlanId; - - /** - * 星期天通行计划id - */ - @ApiModelProperty(value = "星期天通行计划id") - @TableField("sunday_plan_id") - private Long sundayPlanId; - - private transient List mondayTimeList; - private transient List tuesdayTimeList; - private transient List wednesdayTimeList; - private transient List thursdayTimeList; - private transient List fridayTimeList; - private transient List saturdayTimeList; - private transient List sundayTimeList; - - /** - * 特殊日期集合 - */ - private transient List specialDateList; - - /** - * 关联的设备组信息 - */ - private transient List groupDeviceList; - - /** - * 关联的人员信息 - */ - private transient List groupUserList; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategyPlan.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategyPlan.java deleted file mode 100644 index 76394d2..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategyPlan.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.yida.data.common.core.entity.user; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -/** - * 人脸组-策略-通行计划Entity - * - * @author ZYJ - * @date 2022-12-12 11:36:19 - */ -@Data -@TableName("edu_face_group_strategy_plan") -public class EduFaceGroupStrategyPlan { - - @ApiModelProperty(value = "主键") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 删除标识,0-未删除,1-已删除 - */ - @ApiModelProperty(value = "删除标识,0-未删除,1-已删除") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 人脸组id - */ - @ApiModelProperty(value = "人脸组id") - @TableField("face_group_id") - private Long faceGroupId; - - /** - * 人脸组-策略id - */ - @ApiModelProperty(value = "人脸组-策略id") - @TableField("face_group_strategy_id") - private Long faceGroupStrategyId; - - @ApiModelProperty("通行计划唯一编码") - private String uniqueCode; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategyPlanTime.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategyPlanTime.java deleted file mode 100644 index c04f0a3..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategyPlanTime.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.yida.data.common.core.entity.user; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalTime; - -/** - * 人脸组-策略-通行计划-时间Entity - * - * @author ZYJ - * @date 2022-12-12 11:36:19 - */ -@Data -@TableName("edu_face_group_strategy_plan_time") -public class EduFaceGroupStrategyPlanTime { - - @ApiModelProperty(value = "主键") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - @ApiModelProperty(value = "创建人id") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - @ApiModelProperty(value = "最后修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - @ApiModelProperty(value = "最后修改人id") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 删除标识,0-未删除,1-已删除 - */ - @ApiModelProperty(value = "删除标识,0-未删除,1-已删除") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 人脸组id - */ - @ApiModelProperty(value = "人脸组id") - @TableField("face_group_id") - private Long faceGroupId; - - /** - * 人脸组-策略-通行计划id - */ - @ApiModelProperty(value = "人脸组-策略-通行计划id") - @TableField("face_group_strategy_id") - private Long faceGroupStrategyId; - - /** - * 人脸组-策略id - */ - @ApiModelProperty(value = "人脸组-策略id") - @TableField("face_group_strategy_plan_id") - private Long faceGroupStrategyPlanId; - - /** - * 开始时间 - */ - @ApiModelProperty(value = "开始时间") - @TableField("plan_start_time") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime planStartTime; - - /** - * 结束时间 - */ - @ApiModelProperty(value = "结束时间") - @TableField("plan_end_time") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime planEndTime; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategySpecialDate.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategySpecialDate.java deleted file mode 100644 index a0f2ac2..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategySpecialDate.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.yida.data.common.core.entity.user; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.List; - -/** - * 人脸组-策略-特殊日期Entity - * - * @author ZYJ - * @date 2022-12-26 13:57:32 - */ -@Data -@TableName("edu_face_group_strategy_special_date") -public class EduFaceGroupStrategySpecialDate implements Serializable { - - private static final long serialVersionUID = 8045410029465939747L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 删除标识,0-未删除,1-已删除 - */ - @ApiModelProperty(value = "删除标识,0-未删除,1-已删除") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 人脸组id - */ - @ApiModelProperty(value = "人脸组id") - @TableField("face_group_id") - private Long faceGroupId; - - /** - * 人脸组-策略id - */ - @ApiModelProperty(value = "人脸组-策略id") - @TableField("face_group_strategy_id") - private Long faceGroupStrategyId; - - /** - * 特殊日期开始日期 - */ - @ApiModelProperty(value = "特殊日期开始日期") - @TableField("special_start_date") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate specialStartDate; - - /** - * 特殊日期结束日期 - */ - @ApiModelProperty(value = "特殊日期结束日期") - @TableField("special_end_date") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate specialEndDate; - - /** - * 特殊时间集合 - */ - private transient List specialTimeList; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategySpecialTime.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategySpecialTime.java deleted file mode 100644 index 4607c4b..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduFaceGroupStrategySpecialTime.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.yida.data.common.core.entity.user; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; -import java.time.LocalTime; - -/** - * 人脸组-策略-特殊日期-时间Entity - * - * @author ZYJ - * @date 2022-12-26 13:57:32 - */ -@Data -@TableName("edu_face_group_strategy_special_time") -public class EduFaceGroupStrategySpecialTime implements Serializable { - - private static final long serialVersionUID = 7774597210860207565L; - - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 删除标识,0-未删除,1-已删除 - */ - @ApiModelProperty(value = "删除标识,0-未删除,1-已删除") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 人脸组id - */ - @ApiModelProperty(value = "人脸组id") - @TableField("face_group_id") - private Long faceGroupId; - - /** - * 人脸组-策略id - */ - @ApiModelProperty(value = "人脸组-策略id") - @TableField("face_group_strategy_id") - private Long faceGroupStrategyId; - - /** - * 人脸组-策略-特殊日期id - */ - @ApiModelProperty(value = "人脸组-策略-特殊日期id") - @TableField("face_group_strategy_special_date_id") - private Long faceGroupStrategySpecialDateId; - - /** - * 开始时间 - */ - @ApiModelProperty(value = "开始时间") - @TableField("special_start_time") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime specialStartTime; - - /** - * 结束时间 - */ - @ApiModelProperty(value = "结束时间") - @TableField("special_end_time") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime specialEndTime; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduStaffDept.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduStaffDept.java index 9b10dea..63e7555 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduStaffDept.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduStaffDept.java @@ -49,9 +49,6 @@ public class EduStaffDept { @ApiModelProperty(value = "") private String staffName; - @ApiModelProperty(value = "z职工用户头像") - private String avatar; - /** * 部门id */ diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduStudent.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduStudent.java index 5267d5d..9ceaaee 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduStudent.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduStudent.java @@ -51,42 +51,6 @@ public class EduStudent implements Serializable { @ApiModelProperty("学生姓名") private String stuName; - @ApiModelProperty("曾用名") - private String formerName; - - @ApiModelProperty("考生号") - private String stuExamNumber; - - @ApiModelProperty("银行卡号") - private String creditCardNumbers; - - @ApiModelProperty("民族") - private String nation; - - @ApiModelProperty("QQ号") - private String qqCode; - - @ApiModelProperty("微信号") - private String wxCode; - - @ApiModelProperty("邮箱") - private String email; - - @ApiModelProperty("入学年级") - private String startGrade; - - @ApiModelProperty("政治面貌") - private String politicsStatus; - - @ApiModelProperty("邮政编码") - private String postalCode; - - @ApiModelProperty("籍贯") - private String nativePlace; - - @ApiModelProperty("现住址") - private String presentAddress; - @ApiModelProperty("学生头像url") private String avatar; @@ -136,9 +100,6 @@ public class EduStudent implements Serializable { @ApiModelProperty("学生当前状态,0=在校/在寝,1=离校/离寝") private Integer status; - @ApiModelProperty("学籍状态:关联字典表") - private String studentStatus; - @ApiModelProperty("学生在寝状态,0-在寝,1-离寝") private Integer dormStatus; diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduStudentApply.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduStudentApply.java deleted file mode 100644 index cd50438..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduStudentApply.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.yida.data.common.core.entity.user; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -@Data -public class EduStudentApply { - - @TableId(type = IdType.AUTO) - private Long id; - - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - /** - * 创建时间 - */ - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - private Long studentId; - - private String studentName; - private String studentNumber; - - @ApiModelProperty("应用编码") - private String applyCode; - - @ApiModelProperty("应用名称") - private String applyName; - - @ApiModelProperty("有效期开始时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime startTime; - - @ApiModelProperty("有效期结束时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime endTime; - - @ApiModelProperty("学校ID") - private Long schoolId; - @ApiModelProperty("学校名称") - private String schoolName; - @ApiModelProperty("学区ID") - private Long campusId; - @ApiModelProperty("学区名称") - private String campusName; - @ApiModelProperty("学段ID") - private Long sectionId; - @ApiModelProperty("学段名称") - private String sectionName; - @ApiModelProperty("年级ID") - private Long gradeId; - @ApiModelProperty("年级名称") - private String gradeName; - @ApiModelProperty("班级ID") - private Long classId; - @ApiModelProperty("班级名称") - private String className; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduStudentApplyFor.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduStudentApplyFor.java deleted file mode 100644 index 98b82d5..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduStudentApplyFor.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.yida.data.common.core.entity.user; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -@Data -public class EduStudentApplyFor { - - @TableId(type = IdType.AUTO) - private Long id; - - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - /** - * 创建时间 - */ - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - private Long studentId; - - private String studentName; - - private String studentNumber; - - private String studentMobile; - - @ApiModelProperty("应用编码") - private String applyCode; - - @ApiModelProperty("应用名称") - private String applyName; - - @ApiModelProperty("处理人ID") - private Long dealStaffId; - - @ApiModelProperty("处理人姓名") - private String dealStaffName; - - @ApiModelProperty("状态:0待处理,1已处理") - private Integer status; - - @ApiModelProperty("学校ID") - private Long schoolId; - @ApiModelProperty("学校名称") - private String schoolName; - @ApiModelProperty("学区ID") - private Long campusId; - @ApiModelProperty("学区名称") - private String campusName; - @ApiModelProperty("学段ID") - private Long sectionId; - @ApiModelProperty("学段名称") - private String sectionName; - @ApiModelProperty("年级ID") - private Long gradeId; - @ApiModelProperty("年级名称") - private String gradeName; - @ApiModelProperty("班级ID") - private Long classId; - @ApiModelProperty("班级名称") - private String className; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduUserFace.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduUserFace.java index 0ddba20..9e1ce37 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduUserFace.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/EduUserFace.java @@ -9,11 +9,13 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; -import lombok.Data; + import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import lombok.Data; + /** * 用户人脸图像 Entity * @@ -82,30 +84,7 @@ public class EduUserFace { private String picPath; /** - * 人脸组id + * 人脸与人脸组的关联id */ private transient Long faceGroupUserId; - - /** - * 学生对应卡号 - */ - private transient String rfidCard; - - /** - * 是否为会员 1=是,0=否(针对学生,教师全是会员) - */ - private transient Integer notes; - /** - * 会员开始时间 - */ - private transient String cardValidBegin; - /** - * 会员结束时间 - */ - private transient String cardValidEnd; - - /** - * 下发的设备名称 - */ - private transient String deviceName; } \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/enums/StudentStatusEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/enums/StudentStatusEnum.java deleted file mode 100644 index e28a25a..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/enums/StudentStatusEnum.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.yida.data.common.core.entity.user.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 学生学籍状态枚举 - */ -@Getter -@AllArgsConstructor -public enum StudentStatusEnum { - - ZAIDU("zaidu", "在读"), - BIYE("biye", "毕业"), - TUIXUE("tuixue", "退学"), - XIUXUE("xiuxue", "休学"), - TINGXUE("tingxue", "停学"), - FUXUE("fuxue", "复学"), - LIUSHI("liushi", "流失"), - JIEYE("jieye", "结业"), - YIYE("yiye", "肄业"), - ZHUANXUE("zhuanxue", "转学(转出)"), - SIWANG("siwang", "死亡"), - BAOLIURUXUEZIGE("baoliuruxuezige", "保留入学资格"), - GONGPAICHUGUO("gongpaichuguo", "公派出国"), - KAICHU("kaichu", "开除"), - XIALUOBUMING("xialuobuming", "下落不明"), - CANJUN("canjun", "保留学籍(参军)"), - WEIBAODAO("weibaodao", "未报到"), - QITA("qita", "其他"); - - /** - * 家校部门类型 - */ - private final String status; - - /** - * 家校类型名称 - */ - private final String name; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/enums/StudentTypeEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/enums/StudentTypeEnum.java deleted file mode 100644 index 90ce4fe..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/user/enums/StudentTypeEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.yida.data.common.core.entity.user.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 学生住宿类型枚举 - */ -@Getter -@AllArgsConstructor -public enum StudentTypeEnum { - - /** - * 家校部门类型枚举 - */ - SCHOOL_TYPE(0, "走读"), - DORM_TYPE(1, "住宿"); - - /** - * 家校部门类型 - */ - private final Integer value; - - /** - * 家校类型名称 - */ - private final String name; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessConfig.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessConfig.java deleted file mode 100644 index e6ea4e0..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessConfig.java +++ /dev/null @@ -1,126 +0,0 @@ -package com.yida.data.common.core.entity.userLeave; - -import java.util.Date; -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * Entity - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -@Data -@TableName("edu_leave_request_process_config") -public class EduLeaveRequestProcessConfig { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 学生id - */ - @ApiModelProperty(value = "学生id") - @TableField("process_name") - private String processName; - - /** - * 流程类型:0=教师,1=学生 - */ - @ApiModelProperty(value = "流程类型:0=教师,1=学生") - @TableField("process_type") - private Integer processType; - - /** - * 最小天数 - */ - @ApiModelProperty(value = "最小天数") - @TableField("min_days") - private Integer minDays; - - /** - * 最大天数 - */ - @ApiModelProperty(value = "最大天数") - @TableField("max_days") - private Integer maxDays; - - - /** - * 是否小于半天 - */ - @ApiModelProperty(value = "是否小于半天1=是,0=否") - private Integer lessHalfDay; - - - /** - * 基于less_half_day 定义半天是几小时 - */ - @ApiModelProperty(value = "基于less_half_day 定义半天是几小时") - private Integer hours; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("school_id") - private Long schoolId; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人 - */ - @ApiModelProperty(value = "创建人") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 修改时间 - */ - @ApiModelProperty(value = "修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 修改人 - */ - @ApiModelProperty(value = "修改人") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 0为未删除,1为已删除 - */ - @ApiModelProperty(value = "0为未删除,1为已删除") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessConfigApplicableDepartments.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessConfigApplicableDepartments.java deleted file mode 100644 index 12199a5..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessConfigApplicableDepartments.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.yida.data.common.core.entity.userLeave; - -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * Entity - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -@Data -@TableName("edu_leave_request_process_config_applicable_departments") -public class EduLeaveRequestProcessConfigApplicableDepartments { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 流程ID - */ - @ApiModelProperty(value = "流程ID") - @TableField("process_id") - private Long processId; - - /** - * 指定部门 - */ - @ApiModelProperty(value = "指定部门") - @TableField("user_dept_id") - private Long userDeptId; - - /** - * 指定部门父ID,用于数据回显 - */ - @ApiModelProperty(value = "指定部门父ID,用于数据回显") - @TableField("user_parent_dept_id") - private String userParentDeptId; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessConfigApprovalUser.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessConfigApprovalUser.java deleted file mode 100644 index 1f1081e..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessConfigApprovalUser.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.yida.data.common.core.entity.userLeave; - -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * Entity - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -@Data -@TableName("edu_leave_request_process_config_approval_user") -public class EduLeaveRequestProcessConfigApprovalUser { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 流程ID - */ - @ApiModelProperty(value = "流程ID") - @TableField("process_id") - private Long processId; - - /** - * 指定人员ID - */ - @ApiModelProperty(value = "指定人员ID") - @TableField("staff_id") - private Long staffId; - - /** - * 指定角色ID,这里指的是班主任、系主任 - */ - @ApiModelProperty(value = "指定角色ID,这里指的是班主任、系主任") - @TableField("staff_role_id") - private Integer staffRoleId; - - /** - * 流程ID - */ - @ApiModelProperty(value = "所属第几审核阶段ID") - @TableField("view_id") - private Long viewId; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessConfigView.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessConfigView.java deleted file mode 100644 index 31294ef..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessConfigView.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.yida.data.common.core.entity.userLeave; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import java.util.List; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * Entity - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -@Data -@TableName("edu_leave_request_process_config_view") -public class EduLeaveRequestProcessConfigView { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 流程ID - */ - @ApiModelProperty(value = "流程ID") - @TableField("process_id") - private Long processId; - - - /** - * 审批人员类型:0指定角色,1指定人员 - */ - @ApiModelProperty(value = "审批人员类型:0指定角色,1指定人员") - @TableField("approval_user_type") - private Integer approvalUserType; - - /** - * 审批方式:0会审,1或审 - */ - @ApiModelProperty(value = "审批方式:0会审,1或审") - @TableField("approval_type") - private Integer approvalType; - - /** - * 排序 - */ - @ApiModelProperty(value = "审批方式:0会审,1或审") - @TableField("sort") - private Integer sort; - - @ApiModelProperty(value = "审核人员") - private transient List eduLeaveRequestProcessConfigApprovalUserList; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessRecord.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessRecord.java deleted file mode 100644 index 002e1c9..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestProcessRecord.java +++ /dev/null @@ -1,148 +0,0 @@ -package com.yida.data.common.core.entity.userLeave; - -import com.yida.data.common.core.entity.user.EduStaff; -import java.util.Date; -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** - * Entity - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -@Data -@TableName("edu_leave_request_process_record") -public class EduLeaveRequestProcessRecord { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 流程ID - */ - @ApiModelProperty(value = "流程ID") - @TableField("process_id") - private Long processId; - - /** - * 请假主体ID - */ - @ApiModelProperty(value = "请假主体ID") - @TableField("request_id") - private Long requestId; - - /** - * 审核人ID - */ - @ApiModelProperty(value = "审核人ID") - @TableField("approval_id") - private Long approvalId; - - /** - * 审核人姓名,记录方便展示 - */ - @ApiModelProperty(value = "审核人姓名,记录方便展示") - @TableField("approval_name") - private String approvalName; - - /** - * 审核人ID - */ - @ApiModelProperty(value = "审核人信息") - private transient EduStaff approvaler; - - /** - * 审核结果:2=审核不通过,1=通过,0=待审核,默认0 - */ - @ApiModelProperty(value = "审核结果:2=审核不通过,1=通过,0=待审核,默认0") - @TableField("approval_result") - private Integer approvalResult; - - /** - * 审核不通过的原因 - */ - @ApiModelProperty(value = "审核不通过的原因") - @TableField("approval_reason") - private String approvalReason; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("school_id") - private Long schoolId; - - /** - * 审核顺序 - */ - @ApiModelProperty(value = "审核顺序") - @TableField("sort") - private Integer sort; - - - /** - * 审核顺序 - */ - @ApiModelProperty(value = "审核第几流程ID") - @TableField("view_id") - private Long viewId; - - /** - * 创建时间 - */ - @ApiModelProperty(value = "创建时间") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * 创建人 - */ - @ApiModelProperty(value = "创建人") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * 修改时间 - */ - @ApiModelProperty(value = "修改时间") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * 修改人 - */ - @ApiModelProperty(value = "修改人") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 0为未删除,1为已删除 - */ - @ApiModelProperty(value = "0为未删除,1为已删除") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestUser.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestUser.java deleted file mode 100644 index e58cea3..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestUser.java +++ /dev/null @@ -1,200 +0,0 @@ -package com.yida.data.common.core.entity.userLeave; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.util.List; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -/** - * Entity - * - * @author wjm - * @date 2022-12-01 10:51:19 - */ -@Data -@TableName("edu_leave_request_user") -public class EduLeaveRequestUser { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 请假人ID - */ - @ApiModelProperty(value = "请假人ID") - @TableField("user_id") - private Long userId; - - /** - * 请假人姓名 - */ - @ApiModelProperty(value = "请假人姓名") - @TableField("user_name") - private String userName; - - - /** - * 请假人图像 - */ - @ApiModelProperty(value = "请假人图像") - private transient String userPicUrl; - - /** - * 请假人所属部门 - */ - @ApiModelProperty(value = "请假人所属部门") - private transient String userDeptName; - - - /** - * 1:病假,2:事假,0:其他,3年假,4调休假,5婚嫁,6产假,7陪产假 - */ - @ApiModelProperty(value = "1:病假,2:事假,0:其他,3年假,4调休假,5婚嫁,6产假,7陪产假") - @TableField("type") - private Integer type; - - /** - * 0教师请假,1学生请假 - */ - @ApiModelProperty(value = "0教师请假,1学生请假") - @TableField("request_type") - private Integer requestType; - - /** - * 请假理由 - */ - @ApiModelProperty(value = "请假理由") - @TableField("request_reason") - private String requestReason; - /** - * 请假去向 - */ - @ApiModelProperty(value = "请假去向") - @TableField("request_for") - private String requestFor; - - /** - * 审核不通过原因 - */ - @ApiModelProperty(value = "审核不通过原因") - @TableField("refuse_reason") - private String refuseReason; - - /** - * 开始时间 - */ - @ApiModelProperty(value = "开始时间") - @TableField("start_time") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime startTime; - - /** - * 结束时间 - */ - @ApiModelProperty(value = "结束时间") - @TableField("end_time") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime endTime; - - /** - * 审核状态:审核状态:默认0待审核审核,1已通过,2已拒绝,3审核中 - */ - @ApiModelProperty(value = "审核状态:默认0待审核审核,1已通过,2已拒绝,3审核中") - @TableField("status") - private Integer status; - - /** - * 审核时间 - */ - @ApiModelProperty(value = "审核时间") - @TableField(value = "audit_time") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime auditTime; - /** - * 图片路径,用逗号分割 - */ - @ApiModelProperty(value = "图片路径,用逗号分割") - @TableField("pic_url") - private String picUrl; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - @TableField("school_id") - private Long schoolId; - - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_date", fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "create_id", fill = FieldFill.INSERT) - private Long createId; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "update_date", fill = FieldFill.UPDATE) - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * - */ - @ApiModelProperty(value = "") - @TableField(value = "update_id", fill = FieldFill.UPDATE) - private Long updateId; - - /** - * 0为未删除,1为已删除 - */ - @ApiModelProperty(value = "0为未删除,1为已删除") - @TableField("del_flag") - @TableLogic(value = "0", delval = "1") - private Integer delFlag; - - /** - * 审核状态:审核状态:默认0待审核审核,1已通过,2已拒绝,3审核中 - */ - @ApiModelProperty(value = "审核状态:默认0待审核审核,1已通过,2已拒绝") - private transient Integer currentUserStatus; - - @ApiModelProperty("策略id") - private Long strategyId; - - @ApiModelProperty("当前请假审核到第几级,从0开始") - @TableField(value = "view_sort") - private Integer viewSort; - - @ApiModelProperty("下级审核人员ids") - @TableField(value = "next_app_user_ids") - private String nextAppUserIds; - - - @ApiModelProperty("下一步审核人信息") - private transient List eduLeaveRequestProcessRecordList; - -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestUserView.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestUserView.java deleted file mode 100644 index b0e20a8..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/entity/userLeave/EduLeaveRequestUserView.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.yida.data.common.core.entity.userLeave; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import java.util.List; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * Entity - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -@Data -@TableName("edu_leave_request_user_view") -public class EduLeaveRequestUserView { - - /** - * - */ - @ApiModelProperty(value = "") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - /** - * 流程ID - */ - @ApiModelProperty(value = "流程ID") - @TableField("process_id") - private Long processId; - - /** - * 请假主体ID - */ - @ApiModelProperty(value = "请假主体ID") - @TableField("request_id") - private Long requestId; - - - /** - * 排序 - */ - @ApiModelProperty(value = "排序") - @TableField("sort") - private Integer sort; - - /** - * 审批人员类型:0指定角色,1指定人员 - */ - @ApiModelProperty(value = "审批人员类型:0指定角色,1指定人员") - @TableField("approval_user_type") - private Integer approvalUserType; - - /** - * 审批方式:0会审,1或审 - */ - @ApiModelProperty(value = "审批方式:0会审,1或审") - @TableField("approval_type") - private Integer approvalType; - - - /** - * 创建时间 - */ - @ApiModelProperty(value = "审核时间") - @TableField(value = "audit_time") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime auditTime; - - /** - * 审核状态:0待审核,1已通过,2已拒绝 - */ - @ApiModelProperty(value = "审核状态:0待审核,1已通过,2已拒绝") - @TableField("status") - private Integer status; - - @ApiModelProperty(value = "审核记录") - private transient List eduLeaveRequestProcessRecordList; -} \ No newline at end of file diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/AppTypeEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/AppTypeEnum.java deleted file mode 100644 index 7fbae27..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/AppTypeEnum.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.common.core.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 应用类型枚举 - * - * @author ZYJ - * @date 2023/6/28 - */ -@Getter -@AllArgsConstructor -public enum AppTypeEnum { - - /** - * 应用类型枚举 - */ - SYSTEM_APPLICATION_TYPE(0, "系统应用"), - THIRD_PARTY_APPLICATION_TYPE(1, "第三方应用"); - - /** - * 类型 - */ - private final Integer type; - - /** - * 描述 - */ - private final String message; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/ApprovalRoleTypeEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/ApprovalRoleTypeEnum.java deleted file mode 100644 index 46b15cb..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/ApprovalRoleTypeEnum.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.yida.data.common.core.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 审核角色类型枚举 - * - * @author ZYJ - * @date 2023/11/24 - */ -@Getter -@AllArgsConstructor -public enum ApprovalRoleTypeEnum { - - /** - * 审核角色类型枚举 - * 1、班主任,2、系主任 - */ - CLASS_TEACHER_TYPE(1, "班主任"), - DEAN_TYPE(2, "系主任"); - - /** - * 类型 - */ - private final Integer type; - - /** - * 描述 - */ - private final String message; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/AttendanceResult.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/AttendanceResult.java index d022fd5..2247454 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/AttendanceResult.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/AttendanceResult.java @@ -14,11 +14,6 @@ public enum AttendanceResult { */ NORMAL(100, "正常"), - /** - * 异常状态 - */ - ABNORMAL(999, "异常"), - /** * 上学未在打卡有效时间段 */ @@ -45,33 +40,10 @@ public enum AttendanceResult { * 走读-旷课 */ STU_NOTARRIVE(204, "旷课"), - /** * 走读-请假 */ STU_REQUEST(205, "请假"), - /** - * 上班未打卡|下班正常 - */ - STU_NOSTART_AND_END_NORMAL(206, "上班未打卡|下班正常"), - - /** - * 上班未打卡|下班正常 - */ - STU_NOSTART_AND_END_LATE(207, "上班未打卡|下班早退"), - /** - * 上班未打卡|下班正常 - */ - STU_NOSTART_AND_END_NOTIN(208, "上班未打卡|下班未在有效打卡时间段内"), - /** - * 上班未在有效打卡时间段内|下班早退 - */ - STU_NOSTARTIN_AND_END_LEAVE(209, "上班未在有效打卡时间段内|下班早退"), - - /** - * 上班迟到|下班未打卡 - */ - STU_NOSTARTIN_AND_END_NO(210, "上班迟到|下班未打卡"), /** * 住宿-晚归 */ diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/AuditStatusEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/AuditStatusEnum.java deleted file mode 100644 index 668fcb7..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/AuditStatusEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.yida.data.common.core.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 审核状态 枚举 - */ -@Getter -@AllArgsConstructor -public enum AuditStatusEnum { - - /** - * 审核状态枚举 - */ - PASS_STATUS(0, "审核通过"), - NO_DO_STATUS(1, "未执行"), - NOT_PASS_STATUS(2, "审核未通过"); - - /** - * 审核状态 - */ - private final Integer status; - - /** - * 审核状态描述 - */ - private final String message; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/BaiDuModuleEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/BaiDuModuleEnum.java deleted file mode 100644 index c1b1227..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/BaiDuModuleEnum.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.common.core.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 百度api模块枚举 - * - * @author ZYJ - * @date 2023/6/20 - */ -@Getter -@AllArgsConstructor -public enum BaiDuModuleEnum { - - /** - * 百度api模块枚举 - */ - FACE_DETECT("face_detect", "人脸识别"); - - /** - * 类型 - */ - private final String value; - - /** - * 描述 - */ - private final String message; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/ConstructionTradeStateEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/ConstructionTradeStateEnum.java deleted file mode 100644 index 52459a2..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/ConstructionTradeStateEnum.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.yida.data.common.core.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 建行交易状态枚举 - * - * @author ZYJ - * @date 2023/6/20 - */ -@Getter -@AllArgsConstructor -public enum ConstructionTradeStateEnum { - - /** - * 建行交易状态枚举 - * 0  STATUS:失败 - * 1  STATUS:成功 - * 2  STATUS:待银行确认 - * 3  STATUS:已部分退款 - * 4  STATUS:已全额退款 - * 5  STATUS:待银行确认 - */ - TRADE_FAIL("0", "失败"), - TRADE_SUCCESS("1", "成功"), - WAIT_BANK_CONFIRM("2", "待银行确认"), - PARTIAL_REFUNDED("3", "已部分退款"), - REFUNDED("4", "已全额退款"), - WAIT_BANK_CONFIRM_OTHER("5", "待银行确认"); - - /** - * 状态值 - */ - private final String status; - - /** - * 描述 - */ - private final String message; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/FileDealStatusEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/FileDealStatusEnum.java deleted file mode 100644 index 494fbaf..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/FileDealStatusEnum.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.yida.data.common.core.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 文件处理状态枚举 - * - * @author ZYJ - * @date 2023/8/26 14:37 - */ -@Getter -@AllArgsConstructor -public enum FileDealStatusEnum { - - /** - * excel处理状态枚举 - */ - DEALING(0, "处理中"), - DEAL_SUCCESS(1, "处理成功"), - DEAL_FAIL(2, "处理失败"); - - /** - * 状态 - */ - private final Integer status; - - /** - * 描述 - */ - private final String message; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/GuideStepTypeEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/GuideStepTypeEnum.java deleted file mode 100644 index 612d313..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/GuideStepTypeEnum.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.yida.data.common.core.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 指南步骤类型枚举 - * - * @author ZYJ - * @date 2023/6/20 19:07 - */ -@Getter -@AllArgsConstructor -public enum GuideStepTypeEnum { - - /** - * 指南步骤类型枚举 - */ - EXAMINE_TYPE(2, "审核", true), - UPLOAD_FILE_TYPE(0, "上传文件", true), - PAY_TYPE(1, "缴费", false), - MATCH_FACE(3, "人脸对比", true), - NOTICE(4, "提示", false), - CLASS(5, "班级预分", true), - DORM(6, "宿舍预分", true); - - /** - * 类型 - */ - private final Integer type; - - /** - * 描述 - */ - private final String message; - - /** - * 是否需要审核 - */ - private final boolean examineFlag; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/IssuedTypeEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/IssuedTypeEnum.java deleted file mode 100644 index 85a12e9..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/IssuedTypeEnum.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.common.core.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 人脸下发类型枚举 - * - * @author ZYJ - * @date 2023/9/28 11:17 - */ -@Getter -@AllArgsConstructor -public enum IssuedTypeEnum { - - /** - * 人脸下发类型枚举 - */ - FACE_GROUP(0, "人脸组下发"), - LEAVE_REQUEST(1, "请假下发"); - - /** - * 下发类型 - */ - private final Integer type; - - /** - * 下发描述 - */ - private final String message; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/MsgChannel.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/MsgChannel.java index 7766998..138ed4e 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/MsgChannel.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/MsgChannel.java @@ -6,10 +6,8 @@ import lombok.Getter; @Getter @AllArgsConstructor public enum MsgChannel { - MQTT("mqtt","mqtt(人脸设备)"), - ACTIVE("activeMq","active(人脸设备)"), - WIFI("WIFI", "WIFI打卡"); + ACTIVE("activeMq","active(人脸设备)"); private String value; private String name; diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/PayWay.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/PayWay.java index 57ea57b..8bb1995 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/PayWay.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/PayWay.java @@ -16,11 +16,9 @@ public enum PayWay { /** * 支付方式枚举 */ - WEI_XIN("1", "微信"), + WEIXIN("1", "微信"), ALIPAY("2", "支付宝"), - UNION("3", "银联"), - U_PAY("4", "收钱吧"), - CONSTRUCTION_PAY("5", "建行"); + UNION("3", "银联"); /** * 类型 diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/QywxAppTypeEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/QywxAppTypeEnum.java deleted file mode 100644 index fc311e5..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/QywxAppTypeEnum.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.common.core.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 企业微信应用类型枚举 - * - * @author ZYJ - * @date 2022/11/10 - */ -@Getter -@AllArgsConstructor -public enum QywxAppTypeEnum { - - /** - * 应用类型枚举 - */ - SELF_BUILT_APPLICATION_TYPE(0, "自建应用"), - SERVICE_PROVIDER_APPLICATION_TYPE(1, "服务商代开发应用"); - - /** - * 类型 - */ - private final Integer type; - - /** - * 描述 - */ - private final String message; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/QywxCallbackTypeEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/QywxCallbackTypeEnum.java deleted file mode 100644 index 0a2d114..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/QywxCallbackTypeEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.yida.data.common.core.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 企业微信回调类型枚举 - * - * @author ZYJ - * @date 2023/10/27 16:33 - */ -@Getter -@AllArgsConstructor -public enum QywxCallbackTypeEnum { - - /** - * 企业微信回调类型枚举 - */ - POST("自开发回调"), - POST_NORMAL("代开发应用模板回调"), - POST_EVENT("代开发应用回调"); - - /** - * 描述 - */ - private final String message; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/RecordTypeEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/RecordTypeEnum.java deleted file mode 100644 index 3327efd..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/RecordTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.common.core.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 通行记录类型枚举 - * - * @author ZYJ - * @date 2023/11/1 15:10 - */ -@Getter -@AllArgsConstructor -public enum RecordTypeEnum { - - /** - * 通行记录类型枚举 - */ - PANEL_MACHINE("0", "面板机"), - WIFI("1", "WIFI打卡"); - - private final String type; - private final String name; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/RegistrationStatusEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/RegistrationStatusEnum.java deleted file mode 100644 index e9d8838..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/RegistrationStatusEnum.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.common.core.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 报到状态 - * - * @author ZYJ - * @date 2023/8/28 11:16 - */ -@Getter -@AllArgsConstructor -public enum RegistrationStatusEnum { - - /** - * 报到状态 - */ - NOT_REGISTRATION(0, "未报到"), - REGISTRATION_SUCCESS(1, "报到成功(全部步骤通过)"); - - /** - * 状态 - */ - private final Integer status; - - /** - * 描述 - */ - private final String message; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/SchoolFunctionCode.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/SchoolFunctionCode.java deleted file mode 100644 index 03ecd6a..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/SchoolFunctionCode.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.yida.data.common.core.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 考勤结果状态类别 - */ -@Getter -@AllArgsConstructor -public enum SchoolFunctionCode { - - - /** - * 教师考勤 - */ - ATTENDANCE_TEACHER("attendance_teacher"), - - /** - * 上学考勤 - */ - ATTENDANCE_CLASS("attendance_class"), - - /** - * 宿舍考勤 - */ - ATTENDANCE_DORMITORY("attendance_dormitory"), - - /** - * 门禁 - */ - ACCESS("Access"); - - - private final String name; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/StaffAttendanceResultEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/StaffAttendanceResultEnum.java deleted file mode 100644 index 2b1a16e..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/StaffAttendanceResultEnum.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.yida.data.common.core.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 考勤结果状态类别 - */ -@Getter -@AllArgsConstructor -public enum StaffAttendanceResultEnum { - //考勤结果,0-正常,1-迟到,2-早退,3-旷工,4-迟到早退,5-上班未在打卡时间段,6-下班未在打卡时间段,7-上班未在打卡时间段|早退,8-上班迟到|下班未打卡" - /** - * 正常状态 - */ - NORMAL(0, "正常"), - - /** - * 异常状态 - */ - LATE(1, "迟到"), - - /** - * 走读-早退 - */ - LEAVE(2, "早退"), - - /** - * 旷工 - */ - NOTARRIVE(3, "旷工"), - - /** - * 旷工 - */ - LATE_LEAVE(4, "迟到早退"), - - /** - * 上班未在打卡时间段 - */ - START_NOT_IN(5, "上班未打卡"), - - /** - * 上班未在打卡时间段 - */ - END_NOT_IN(6, "下班未打卡"), - - /** - * 上班未在打卡时间段|早退 - */ - START_NOT_IN_LEAVE(7, "上班未打卡|下班早退"), - - /** - * 上班未在打卡时间段|早退 - */ - LATE_START_NOT(8, "上班迟到|下班未打卡"), - - /** - * 未打卡|早退 - */ - NOT_ATTENDANCE(9, "未打卡"); - - private final Integer value; - private final String name; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/UPayNotifyResultEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/UPayNotifyResultEnum.java deleted file mode 100644 index 44b61c3..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/UPayNotifyResultEnum.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.common.core.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 收钱吧通知返回结果枚举 - * - * @author ZYJ - * @date 2023/3/31 - */ -@Getter -@AllArgsConstructor -public enum UPayNotifyResultEnum { - - /** - * 收钱吧通知返回结果枚举 - */ - SUCCESS_STATUS("success", "处理成功"), - FAILED_STATUS("failed", "处理失败"); - - /** - * 值 - */ - private final String value; - - /** - * 描述 - */ - private final String message; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/UPayTradeStateEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/UPayTradeStateEnum.java deleted file mode 100644 index 4e9110d..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/UPayTradeStateEnum.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.yida.data.common.core.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 收钱吧交易状态枚举 - * - * @author ZYJ - * @date 2023/3/24 - */ -@Getter -@AllArgsConstructor -public enum UPayTradeStateEnum { - - /** - * 收钱吧交易状态枚举 - * CREATED 订单已创建/支付中 - * PAID 订单支付成功 - * PAY_CANCELED 支付失败并且已经成功充正 - * PAY_ERROR 支付异常,不确定是否已经成功充正,请联系收钱吧客服确认是否支付成功 - * REFUNDED 已成功全额退款 - * PARTIAL_REFUNDED 已成功部分退款 - * REFUND_INPROGRESS 退款进行中 - * REFUND_ERROR 退款异常并且不确定第三方支付通道的最终退款状态 - * CANCELED 客户端发起的撤单已成功 - * CANCEL_ERROR 客户端发起的撤单异常并且不确定第三方支付通道的最终状态 - * CANCEL_INPROGRESS 撤单进行中 - * INVALID_STATUS_CODE 无效的状态码 - */ - CREATED("CREATED", "订单已创建/支付中"), - PAID("PAID", "订单支付成功"), - PAY_CANCELED("PAY_CANCELED", "支付失败并且已经成功充正"), - PAY_ERROR("PAY_ERROR", "支付异常,不确定是否已经成功充正,请联系收钱吧客服确认是否支付成功"), - REFUNDED("REFUNDED", "已成功全额退款"), - PARTIAL_REFUNDED("PARTIAL_REFUNDED", "已成功部分退款"), - REFUND_IN_PROGRESS("REFUND_INPROGRESS", "退款进行中"), - REFUND_ERROR("REFUND_ERROR", "退款异常并且不确定第三方支付通道的最终退款状态"), - CANCELED("CANCELED", "客户端发起的撤单已成功"), - CANCEL_ERROR("CANCEL_ERROR", "客户端发起的撤单异常并且不确定第三方支付通道的最终状态"), - CANCEL_IN_PROGRESS("CANCEL_INPROGRESS", "撤单进行中"), - INVALID_STATUS_CODE("INVALID_STATUS_CODE", "无效的状态码"),; - - /** - * 状态值 - */ - private final String status; - - /** - * 描述 - */ - private final String message; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/UnionPayTypeEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/UnionPayTypeEnum.java index 1d149c3..2ad88e7 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/UnionPayTypeEnum.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/UnionPayTypeEnum.java @@ -17,7 +17,7 @@ public enum UnionPayTypeEnum { /** * 银联云闪付支付类型枚举 */ - WX_H5_TYPE(0, "微信H5", UnionPayConstant.UNION_H5_PAY), + WX_H5_TYPE(0, "微信H5", UnionPayConstant.WX_H5_PAY), WX_TO_MINI_H5_TYPE(1, "微信H5转小程序", UnionPayConstant.WX_TO_MINI_H5_PAY), ALI_H5_TYPE(2, "支付宝H5", UnionPayConstant.ALI_H5_PAY), UNION_H5_TYPE(3, "银联H5", UnionPayConstant.UNION_H5_PAY); diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/UserTypeEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/UserTypeEnum.java deleted file mode 100644 index 3c256f9..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/UserTypeEnum.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.common.core.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 用户类型枚举 - * - * @author ZYJ - * @date 2023/6/28 - */ -@Getter -@AllArgsConstructor -public enum UserTypeEnum { - - /** - * 用户类型枚举 - */ - STAFF_USER_TYPE(0, "教职工"), - PARENT_USER_TYPE(1, "家长"); - - /** - * 类型 - */ - private final Integer type; - - /** - * 描述 - */ - private final String message; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceModeTypeEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceModeTypeEnum.java deleted file mode 100644 index 49b1841..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceModeTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.common.core.enums.attendance; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 考勤结果状态类别 - */ -@Getter -@AllArgsConstructor -public enum AttendanceModeTypeEnum { - /** - * 固定上下班时间模式 - */ - FIX(0, "固定上下班时间模式"), - - /** - * 自由打卡模式 - */ - FREE(1, "自由打卡模式"); - - private final Integer value; - private final String name; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceNextDayEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceNextDayEnum.java deleted file mode 100644 index 860421c..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceNextDayEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.common.core.enums.attendance; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 考勤结果状态类别 - */ -@Getter -@AllArgsConstructor -public enum AttendanceNextDayEnum { - /** - * 正常状态 - */ - YES(1, "是"), - - /** - * 异常状态 - */ - NO(0, "否"); - - private final Integer value; - private final String name; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceReportTypeEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceReportTypeEnum.java deleted file mode 100644 index 7234beb..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceReportTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.common.core.enums.attendance; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 考勤报告类别 - */ -@Getter -@AllArgsConstructor -public enum AttendanceReportTypeEnum { - /** - * 日报 - */ - DAY_REPORT(1, "日报"), - - /** - * 自由打卡模式 - */ - LATE_REPORT(2, "迟到提醒"); - - private final Integer value; - private final String name; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceResultEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceResultEnum.java deleted file mode 100644 index 20f3a09..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceResultEnum.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.yida.data.common.core.enums.attendance; - -import cn.hutool.core.util.ObjectUtil; -import com.yida.data.common.core.enums.leave.LeaveRequestTypeEnum; -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 考勤结果状态类别 - */ -@Getter -@AllArgsConstructor -public enum AttendanceResultEnum { - /** - * 正常状态 - */ - NORMAL(0, "正常"), - - /** - * 异常状态 - */ - ABNORMAL(1, "异常"), - - LATE(2, "迟到"), - LEAVE(3, "早退"), - LATE_LEAVE(4, "迟到+早退"), - OUT(5, "旷工"), - MISS(6, "缺卡"), - LATE_DORM(7, "晚归"), - AB_LATE_DORM(8, "异常晚归"); - - private final Integer value; - private final String name; - - - public static String getName(Integer type) { - for (AttendanceResultEnum typeEnum : AttendanceResultEnum.values()) { - if (ObjectUtil.equals(typeEnum.value, type)) { - return typeEnum.name; - } - } - return null; - } - -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceStrategyTypeEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceStrategyTypeEnum.java deleted file mode 100644 index 97e4c9e..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceStrategyTypeEnum.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.yida.data.common.core.enums.attendance; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 考勤推送类型 - */ -@Getter -@AllArgsConstructor -public enum AttendanceStrategyTypeEnum { - STAFF_STAFF(0, "教职工考勤推送"), - STUDENT_STAFF(1, "学生考勤推送"), - STUDENT_PARENT(2, "家长提醒"); - private final Integer value; - private final String name; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceTypeEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceTypeEnum.java deleted file mode 100644 index 5dbc29f..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.common.core.enums.attendance; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 考勤结果状态类别 - */ -@Getter -@AllArgsConstructor -public enum AttendanceTypeEnum { - /** - * 上班 - */ - WORK_ON(0, "上班"), - - /** - * 下班 - */ - WORK_OFF(1, "下班"); - - private final Integer value; - private final String name; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceUserTypeEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceUserTypeEnum.java deleted file mode 100644 index 835c705..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceUserTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.yida.data.common.core.enums.attendance; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 考勤规则类型 - */ -@Getter -@AllArgsConstructor -public enum AttendanceUserTypeEnum { - /** - * 教职工打卡 - */ - STAFF(0, "教职工打卡"), - - /** - * 学生上学考勤 - */ - STUDENT_TO_SCHOOL(1, "学生上学考勤"), - - /** - * 学生宿舍考勤 - */ - STUDENT_TO_DORM(2, "学生宿舍考勤"); - - private final Integer value; - private final String name; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceWifiStatusEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceWifiStatusEnum.java deleted file mode 100644 index 854326c..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/attendance/AttendanceWifiStatusEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.yida.data.common.core.enums.attendance; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 考勤结果状态类别 - */ -@Getter -@AllArgsConstructor -public enum AttendanceWifiStatusEnum { - - WORK_ON(1, "签到"), - WORK_OFF(2, "签退"), - REST(3, "休息不用打卡"), - TIME_OUT(4, "不在打卡时间段内"), - RULE_NO(5, "无打卡规则"), - RANGE_OUT(6, "不在打卡范围内"), - NON_MEMBER(7, "无权限,非智慧校园用户"); - - private final Integer value; - private final String name; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/leave/ApprovalResultEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/leave/ApprovalResultEnum.java deleted file mode 100644 index 8e25060..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/leave/ApprovalResultEnum.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.yida.data.common.core.enums.leave; - -import cn.hutool.core.util.ObjectUtil; -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 审核结果枚举 - * - * @author ZYJ - * @date 2023/11/28 - */ -@Getter -@AllArgsConstructor -public enum ApprovalResultEnum { - - /** - * 0-待审核,1-审核通过,2-审核不通过,3-审核中 - */ - AUDIT(0, "待审核"), - AUDIT_PASS(1, "审核通过"), - AUDIT_NO(2, "审核不通过"), - AUDIT_ING(3, "审核中"); - - /** - * 类型 - */ - private final Integer result; - - /** - * 描述 - */ - private final String dec; - - - public static String getDec(Integer type) { - for (ApprovalResultEnum typeEnum : ApprovalResultEnum.values()) { - if (ObjectUtil.equals(typeEnum.result, type)) { - return typeEnum.dec; - } - } - return null; - } -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/leave/AuditModeEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/leave/AuditModeEnum.java deleted file mode 100644 index b4f2183..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/leave/AuditModeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.yida.data.common.core.enums.leave; - -import cn.hutool.core.util.ObjectUtil; -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 审核类型枚举 - * - * @author ZYJ - * @date 2023/11/30 14:43 - */ -@Getter -@AllArgsConstructor -public enum AuditModeEnum { - - /** - * 0会审,1或审 - */ - OR_AUDIT(1, "或审"), - AND_AUDIT(0, "会审"); - - /** - * 类型 - */ - private final Integer mode; - - /** - * 描述 - */ - private final String value; - - - public static String getName(Integer type) { - for (AuditModeEnum typeEnum : AuditModeEnum.values()) { - if (ObjectUtil.equals(typeEnum.mode, type)) { - return typeEnum.value; - } - } - return null; - } -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/leave/LeaveRequestTypeEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/leave/LeaveRequestTypeEnum.java deleted file mode 100644 index 84e3cae..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/leave/LeaveRequestTypeEnum.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.yida.data.common.core.enums.leave; - -import cn.hutool.core.util.ObjectUtil; -import lombok.AllArgsConstructor; -import lombok.Getter; - -@Getter -@AllArgsConstructor -public enum LeaveRequestTypeEnum { - /** - * 1:病假,2:事假,0:其他,3年假,4调休假,5婚嫁,6产假,7陪产假 - */ - OTHER(1, "其他"), - SICK(1, "病假"), - ABSENCE(2, "事假"), - YEAR(3, "年假"), - COMP(4, "调休假"), - MAR(5, "婚嫁"), - MATER(6, "产假"), - PATER(7, "陪产假"); - - /** - * 类型 - */ - private final Integer type; - - /** - * 描述 - */ - private final String name; - - - public static String getName(Integer type) { - for (LeaveRequestTypeEnum typeEnum : LeaveRequestTypeEnum.values()) { - if (ObjectUtil.equals(typeEnum.type, type)) { - return typeEnum.name; - } - } - return null; - } -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/school/DeptAppTypeEnum.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/school/DeptAppTypeEnum.java deleted file mode 100644 index a743a43..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/school/DeptAppTypeEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.yida.data.common.core.enums.school; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 主页小程序类型枚举 - */ -@Getter -@AllArgsConstructor -public enum DeptAppTypeEnum { - - SYS(0, "系统应用"), - - OTHER(1, "第三方应用"), - - WX(2, "微信小程序"); - - private final Integer type; - - private final String name; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/school/FunctionConfigCode.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/school/FunctionConfigCode.java deleted file mode 100644 index 51d8eab..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/school/FunctionConfigCode.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.common.core.enums.school; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 差异化功能点编码枚举 - */ -@Getter -@AllArgsConstructor -public enum FunctionConfigCode { - - /** - * WiFi打卡,会员使用 - */ - ATTENDANCE_WIFI("attendance_wifi", "wifi打卡"), - - /** - * 门禁进去推送记录,会员使用 - */ - ATTENDANCE_ACCESS("attendance_access", "门禁"); - private final String code; - private final String name; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/system/MenuShowType.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/system/MenuShowType.java deleted file mode 100644 index 31d686b..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/enums/system/MenuShowType.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.yida.data.common.core.enums.system; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * 菜单显示类型枚举 - */ -@Getter -@AllArgsConstructor -public enum MenuShowType { - - /** - * 菜单显示类型枚举 - */ - ADD_TYPE(0, "合并"), - REMOVE_TYPE(1, "删除"); - - /** - * 类型 - */ - private final Integer type; - - /** - * 描述 - */ - private final String message; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/IExportExcelClient.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/IExportExcelClient.java deleted file mode 100644 index 48b63fd..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/IExportExcelClient.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.common.core.file; - -import com.yida.data.common.core.file.common.export.SelectExportData; - -/** - * 导出excel默认interface - * - * @author ZYJ - * @date 2023/12/11 - */ -public interface IExportExcelClient { - - /** - * 导出excel数据 - * - * @param t 导出文件查询类 - * @author ZYJ - * @date 2023/12/11 11:10 - */ - void exportExcelData(T t); - - /** - * 查询导出进度 - * - * @param key 导出唯一标识 - * @return java.lang.Object - * @author ZYJ - * @date 2023/12/12 14:06 - */ - Object selectExportInfo(String key); -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/IExportLargeClient.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/IExportLargeClient.java deleted file mode 100644 index e62eb96..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/IExportLargeClient.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.yida.data.common.core.file; - -import com.yida.data.common.core.file.common.DownloadFileChunk; -import com.yida.data.common.core.file.common.export.SelectExportData; - -import javax.servlet.http.HttpServletResponse; - -/** - * 导出大文件默认interface - * 进度条类型 - * zip文件 - * - * @author ZYJ - * @date 2023/10/18 15:56 - */ -public interface IExportLargeClient { - - /** - * 导出大文件数据 - * - * @param t 导出文件查询类 - * @author ZYJ - * @date 2023/10/20 11:10 - */ - void exportLargeData(T t); - - /** - * 查询导出进度 - * - * @param key 导出唯一标识 - * @return java.lang.Object - * @author ZYJ - * @date 2023/12/12 14:06 - */ - Object selectExportInfo(String key); - - /** - * 分片下载 - * - * @param dto 分片下载请求类 - * @param response response返回流信息 - * @author ZYJ - * @date 2023/10/19 16:41 - */ - void downLoadChunk(DownloadFileChunk dto, HttpServletResponse response); -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/common/DownloadFileChunk.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/common/DownloadFileChunk.java deleted file mode 100644 index cb46266..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/common/DownloadFileChunk.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.yida.data.common.core.file.common; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 分片下载请求类 - * - * @author ZYJ - * @date 2023-06-12 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class DownloadFileChunk implements Serializable { - - private static final long serialVersionUID = -7770973043532024287L; - - @ApiModelProperty("本次操作标识") - private String key; - - @ApiModelProperty("分片下标(下载的第几块)") - private Integer index; - - @ApiModelProperty("总分片数") - private Integer chunkTotal; - - @ApiModelProperty("分片大小") - private Integer chunkSize; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/common/export/ExportExcelData.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/common/export/ExportExcelData.java deleted file mode 100644 index 65711b1..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/common/export/ExportExcelData.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.yida.data.common.core.file.common.export; - -import com.yida.data.common.core.enums.FileDealStatusEnum; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 导出excel进度信息实体类 - * 普通下载(小文件下载) - * - * @author ZYJ - * @date 2023-06-12 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class ExportExcelData implements Serializable { - - private static final long serialVersionUID = 3576934413070680889L; - - @ApiModelProperty("本次操作标识") - private String key; - - /** - * {@link FileDealStatusEnum} - */ - @ApiModelProperty("导出状态") - private Integer exportStatus; - - @ApiModelProperty("文件名称") - private String fileName; - - @ApiModelProperty("处理的总数量") - private Integer total; - - @ApiModelProperty("完成的数量") - private Integer finish; - - @ApiModelProperty("excel文件路径") - private String filePath; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/common/export/ExportLargeData.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/common/export/ExportLargeData.java deleted file mode 100644 index 3d5e756..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/common/export/ExportLargeData.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.yida.data.common.core.file.common.export; - -import com.yida.data.common.core.enums.FileDealStatusEnum; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 导出zip文件进度信息实体类 - * 分片下载(大文件下载) - * - * @author ZYJ - * @date 2023/10/20 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class ExportLargeData implements Serializable { - - private static final long serialVersionUID = 2826753566888775932L; - - @ApiModelProperty("本次操作标识") - private String key; - - /** - * {@link FileDealStatusEnum} - */ - @ApiModelProperty("导出状态") - private Integer exportStatus; - - @ApiModelProperty("文件名称") - private String fileName; - - @ApiModelProperty("文件大小. 单位:bytes") - private Long fileSize; - - @ApiModelProperty("处理的总数量") - private Integer total; - - @ApiModelProperty("完成的数量") - private Integer finish; - - @ApiModelProperty("失败的数量") - private Integer error; - - @ApiModelProperty("信息导出失败的文件地址") - private String errorFilePath; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/common/export/SelectExportData.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/common/export/SelectExportData.java deleted file mode 100644 index c2bf50b..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/file/common/export/SelectExportData.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.common.core.file.common.export; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; - -/** - * 导出文件查询类 - * - * @author ZYJ - * @date 2023/10/19 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -public class SelectExportData implements Serializable { - - private static final long serialVersionUID = 3164964446820550103L; - - @ApiModelProperty("本次操作标识") - private String key; - - @ApiModelProperty("本次操作模块名称") - private String functionName; -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/handler/BaseExceptionHandler.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/handler/BaseExceptionHandler.java index cc5752b..1f0d75f 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/handler/BaseExceptionHandler.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/handler/BaseExceptionHandler.java @@ -5,8 +5,7 @@ import com.yida.data.common.core.entity.constant.StringConstant; import com.yida.data.common.core.exception.FebsException; import com.yida.data.common.core.exception.FileDownloadException; import com.yida.data.common.core.utils.FebsUtil; -import feign.FeignException; -import lombok.extern.slf4j.Slf4j; + import org.apache.commons.lang3.StringUtils; import org.springframework.http.HttpStatus; import org.springframework.security.access.AccessDeniedException; @@ -19,11 +18,15 @@ import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestControllerAdvice; +import java.util.List; +import java.util.Set; + import javax.validation.ConstraintViolation; import javax.validation.ConstraintViolationException; import javax.validation.Path; -import java.util.List; -import java.util.Set; + +import feign.FeignException; +import lombok.extern.slf4j.Slf4j; /** * @author MrBird @@ -135,7 +138,7 @@ public class BaseExceptionHandler { @ExceptionHandler(value = HttpRequestMethodNotSupportedException.class) @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) public FebsResponse handleHttpRequestMethodNotSupportedException(HttpRequestMethodNotSupportedException e) { - log.error("error: ", e); + log.error("error:{},{}", e.getMessage(), e.getStackTrace()); String message = "该方法不支持" + StringUtils.substringBetween(e.getMessage(), "'", "'") + "请求方法"; log.error(message); return new FebsResponse().message(message); diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/AppUtil.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/AppUtil.java index 7dc3de6..2e9e8b7 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/AppUtil.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/AppUtil.java @@ -178,25 +178,55 @@ public class AppUtil { } } + /** + * 推送app消息 + * + * @param appNotice 消息配置类 + * @param app app信息 + * @author ZYJ + * @date 2023/7/14 16:04 + */ + public static void sendPushMsg(AppNotice appNotice, EduYidaApp app) { + StringBuilder url = new StringBuilder(); + AppNotice appNotice1 = new AppNotice(); + BeanUtils.copyProperties(appNotice, appNotice1); + appNotice1.setMsgList(null); + url.append(app.getAppUrl()).append(YidaAppConstant.JIGUANG_SEND_MSG); +// url.append("http://10.143.132.192:8082/push/sendMulti").append(YidaAppConstant.JIGUANG_SEND_MSG); + String body = JSONUtil.toJsonStr(appNotice1); + // 1s后超时 不保证收到推送 + try { + String res = HttpUtil.post(url.toString(), body, 1000); + log.info("app消息推送,res:[{}],params:[{}]", res, body); + } catch (Exception e) { + log.error("app消息推送超时,url:[{}],params:[{}]", url, body); + } + } /** * 发送稿件 */ public static String publishManuscript(EduSchoolManuscript manuscript, EduYidaApp yidaApp, String columnId, String yidaUserId) { - JSONObject body = new JSONObject() {{ - set("title", manuscript.getTitle()); - set("fileType", manuscript.getCoverType()); - set("type", 1); - set("isPush", 1); - set("isSub", 1); - set("isPublish", 1); - set("from", 2); - set("isTop", 0); - set("titleFilePath", manuscript.getCoverUrl()); - set("areaId", yidaApp.getAppAreaId()); - set("createById", yidaUserId); - }}; + JSONObject body = JSONUtil.createObj() + .set("title", manuscript.getTitle()) + .set("fileType", manuscript.getCoverType()) + .set("type", 1) + .set("isPush", 1) + .set("isSub", 1) + .set("isPublish", 1) + .set("from", 2) + .set("isTop", 0) + .set("titleFilePath", manuscript.getCoverUrl()) + .set("areaId", yidaApp.getAppAreaId()) + .set("createById", yidaUserId); + // 判断稿件id + if (StrUtil.isNotBlank(manuscript.getYidaAppMunascriptId())) { + body.set("id", manuscript.getYidaAppMunascriptId()); + body.set("isNewRecord", false); + } else { + body.set("isNewRecord", true); + } // 是否发布到栏目 if (StrUtil.isNotBlank(columnId)) { body.set("columnId", columnId); @@ -207,9 +237,9 @@ public class AppUtil { if (StrUtil.isNotBlank(manuscript.getContentUrl())) { body.set("contenUrl", manuscript.getContentUrl()); } - if (StrUtil.isNotBlank(manuscript.getYidaAppMunascriptId())) { - body.set("id", manuscript.getYidaAppMunascriptId()); - } +// if (StrUtil.isNotBlank(manuscript.getYidaAppMunascriptId())) { +// body.set("id", manuscript.getYidaAppMunascriptId()); +// } String res = HttpUtil.post(yidaApp.getAppUrl() + YidaAppConstant.MANUSCRIPT_SAVE, body); JSONObject resJson = JSONUtil.parseObj(res); log.info("易达发送稿件,res:[{}],params:[{}]", res, body); @@ -258,10 +288,16 @@ public class AppUtil { /** * 删除稿件 */ - public static void manuscriptDel(List ids, EduYidaApp yidaApp) { + public static void manuscriptDel(List ids, EduYidaApp yidaApp, String userId) { + if (CollUtil.isEmpty(ids)) { + log.info("易达删除稿件IDS为空"); + return; + } JSONObject body = new JSONObject() {{ set("ids", CollUtil.join(ids, ",")); + set("operateUserId", userId); }}; + log.info("易达删除稿件:params:{}", body); HttpUtil.post(yidaApp.getAppUrl() + YidaAppConstant.MANUSCRIPT_DEL, body); } diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/BaiDuUtil.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/BaiDuUtil.java deleted file mode 100644 index 5f46390..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/BaiDuUtil.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.yida.data.common.core.utils; - -import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.NumberUtil; -import cn.hutool.json.JSONUtil; -import com.baidu.aip.face.AipFace; -import com.baidu.aip.face.MatchRequest; -import com.yida.data.common.core.entity.system.BaiduApiConfig; -import com.yida.data.common.core.exception.FebsException; -import lombok.AccessLevel; -import lombok.NoArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.json.JSONException; -import org.json.JSONObject; - -import java.math.BigDecimal; -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; - -/** - * 百度api - * - * @author ZYJ - * @date 2023/6/20 19:31 - */ -@Slf4j -@NoArgsConstructor(access = AccessLevel.PRIVATE) -public class BaiDuUtil { - - /** - * 百度api返回码 - */ - public static final String ERR_CODE = "error_code"; - - /** - * 百度api对返回码的文本描述内容 - */ - public static final String ERR_MESSAGE = "error_msg"; - - /** - * 百度api接口成功状态码 - */ - public static final String SUCCESS_CODE = "0"; - - /** - * 人脸对比 返回人脸相似度分数 - * - * @param config 百度api配置信息 - * @param url 原始图片url - * @param base64 对比图片base64 - * @return java.lang.String - * @author ZYJ - * @date 2023/6/21 10:31 - */ - public static String faceMatch(BaiduApiConfig config, String url, String base64) { - // 初始化一个AipFace - AipFace client = new AipFace(config.getAppId(), config.getApiKey(), config.getSecretKey()); - // 原始图片url - MatchRequest originalRequest = new MatchRequest(url, "URL"); - /* - 活体检测控制 - NONE: 不进行控制 - LOW:较低的活体要求(高通过率 低攻击拒绝率) - NORMAL: 一般的活体要求(平衡的攻击拒绝率, 通过率) - HIGH: 较高的活体要求(高攻击拒绝率 低通过率) - */ - originalRequest.setLivenessControl("NONE"); - // 对比图片base64 - MatchRequest contrastRequest = new MatchRequest(new String(base64.getBytes(), StandardCharsets.UTF_8), "BASE64"); - contrastRequest.setLivenessControl("NONE"); - ArrayList requests = new ArrayList<>(); - requests.add(originalRequest); - requests.add(contrastRequest); - JSONObject result = client.match(requests); - log.info("人脸对比信息, 返回值: {}", result.toString()); - cn.hutool.json.JSONObject response = JSONUtil.parseObj(result.toString()); - log.info("人脸对比信息: {}", response); - - if (!SUCCESS_CODE.equals(response.containsKey(ERR_CODE) ? response.get(ERR_CODE).toString() : null)) { - log.error("人脸对比失败,code:{},msg:{},params:{}", response.get(ERR_CODE), response.get(ERR_MESSAGE), url); - throw new FebsException("人脸对比失败"); - } - return response.getJSONObject("result").getStr("score"); - } - - - public static String faceMatchURl(BaiduApiConfig config, String url, String url2) { - // 初始化一个AipFace - AipFace client = new AipFace(config.getAppId(), config.getApiKey(), config.getSecretKey()); - // 原始图片url - MatchRequest originalRequest = new MatchRequest(url, "URL"); - /* - 活体检测控制 - NONE: 不进行控制 - LOW:较低的活体要求(高通过率 低攻击拒绝率) - NORMAL: 一般的活体要求(平衡的攻击拒绝率, 通过率) - HIGH: 较高的活体要求(高攻击拒绝率 低通过率) - */ - originalRequest.setLivenessControl("NONE"); - // 对比图片base64 - MatchRequest contrastRequest = new MatchRequest(url2, "URL"); - contrastRequest.setLivenessControl("NONE"); - ArrayList requests = new ArrayList<>(); - requests.add(originalRequest); - requests.add(contrastRequest); - JSONObject result = client.match(requests); - log.info("人脸对比信息, 返回值: {}", result.toString()); - cn.hutool.json.JSONObject response = JSONUtil.parseObj(result.toString()); - log.info("人脸对比信息: {}", response); - - if (!SUCCESS_CODE.equals(response.containsKey(ERR_CODE) ? response.get(ERR_CODE).toString() : null)) { - log.error("人脸对比失败,code:{},msg:{},params:{}", response.get(ERR_CODE), response.get(ERR_MESSAGE), url); - throw new FebsException("人脸对比失败"); - } - return response.getJSONObject("result").getStr("score"); - } - - public static void main(String[] args) { - BaiduApiConfig config = new BaiduApiConfig(); - config.setAppId("35081632"); - config.setApiKey("BjKb3C1UbOfFq7Mhd7xfZi6I"); - config.setSecretKey("L7XCtinZl1o3CeX7xBb2of8DnhVhjvfo"); - - String url = "http://zbz.yd-data.com:8864/pic/other/20231118/b12b0da7cde14459b1244d1b7406afa4.jpg"; - String url2 = "http://zbz.yd-data.com:8864/pic/other/20231130/8feab7e881544d25892a3b049a0a2387.jpg"; - - faceMatchURl(config, url, url2); - } -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/ConstructionPayUtil.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/ConstructionPayUtil.java deleted file mode 100644 index 644b774..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/ConstructionPayUtil.java +++ /dev/null @@ -1,322 +0,0 @@ -package com.yida.data.common.core.utils; - -import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.net.URLDecoder; -import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.RandomUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.core.util.XmlUtil; -import cn.hutool.crypto.digest.DigestUtil; -import cn.hutool.http.HttpUtil; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.google.common.base.Joiner; -import com.google.common.collect.Maps; -import com.yida.data.common.core.common.ResultMsgType; -import com.yida.data.common.core.entity.constant.ConstructionPayConstant; -import com.yida.data.common.core.entity.pay.ConstructionPayOrder; -import com.yida.data.common.core.entity.smart.ConstructionPayNotifyDTO; -import com.yida.data.common.core.entity.system.ConstructionPayConfig; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.construction.RSASig; -import lombok.AccessLevel; -import lombok.NoArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -import java.io.UnsupportedEncodingException; -import java.math.BigDecimal; -import java.util.Date; -import java.util.Map; - -/** - * 建设银行二维码支付工具类 - * - * @author ZYJ - * @date 2023/6/19 15:10 - */ -@Slf4j -@NoArgsConstructor(access = AccessLevel.PRIVATE) -public class ConstructionPayUtil { - - /** - * 二维码下单 - * - * @param config 建行学校信息配置 - * @param payOrder 建行支付订单类 - * @return java.lang.String - * @author ZYJ - * @date 2023/6/20 11:18 - */ - public static String getQrPayUrl(ConstructionPayConfig config, ConstructionPayOrder payOrder) { - // 封装参数 - Map map = Maps.newLinkedHashMap(); - // 商户代码 - map.put("MERCHANTID", config.getMerchantId()); - // 商户柜台代码 - map.put("POSID", config.getPosId()); - // 分行代码 - map.put("BRANCHID", config.getBranchId()); - // 订单号 - map.put("ORDERID", payOrder.getOrderNo()); - // 支付金额. 单位: 元 - map.put("PAYMENT", payOrder.getPayMoney()); - // 币种. 缺省为 01-人民币(只支持人民币支付) - map.put("CURCODE", "01"); - // 交易码 - map.put("TXCODE", ConstructionPayConstant.QR_PAY_CODE); - map.put("REMARK1", ""); - map.put("REMARK2", ""); - // H5支付 - map.put("RETURNTYPE", "3"); - // 订单超时时间. yyyyMMddHHmmss - map.put("TIMEOUT", DateUtil.format(DateUtil.offsetMinute(payOrder.getOrderTime(), 15), DatePattern.PURE_DATETIME_PATTERN)); - // 加密串 - String paramsStr = Joiner.on("&").withKeyValueSeparator("=").join(map); - String md5Str = paramsStr + "&PUB=" + config.getPublicKey().substring(config.getPublicKey().length() - 30); - log.info("加密串: {}", md5Str); - // MD5加密 - String md5 = DigestUtil.md5Hex(md5Str.getBytes()); - paramsStr = paramsStr + "&MAC=" + md5; - - String s = HttpUtil.get(ConstructionPayConstant.QR_PAY_URL + "&" + paramsStr); - log.info("H5接口返回值: {}", s); - // 接口 - JSONObject response = JSONUtil.parseObj(s); - log.info("建行二维码下单请求参数: {}, 返回值: {}", map, response); - if (!response.containsKey(ConstructionPayConstant.SUCCESS_KEY) || - !ConstructionPayConstant.SUCCESS_CODE.equals(response.getStr(ConstructionPayConstant.SUCCESS_KEY))) { - log.error("建行二维码下单失败"); - throw new FebsException(ResultMsgType.ORDER_FAIL.getValue()); - } - // 获取真实支付地址 - JSONObject realResponse = JSONUtil.parseObj(HttpUtil.get(response.getStr(ConstructionPayConstant.PAY_URL))); - log.info("获取建行二维码支付实际地址返回值: {}", realResponse); - if (!realResponse.containsKey(ConstructionPayConstant.SUCCESS_KEY) || - !ConstructionPayConstant.SUCCESS_CODE.equals(realResponse.getStr(ConstructionPayConstant.SUCCESS_KEY))) { - log.error("获取建行二维码支付实际地址失败"); - throw new FebsException(ResultMsgType.ORDER_FAIL.getValue()); - } - return URLDecoder.decode(realResponse.getStr(ConstructionPayConstant.QR_URL), CharsetUtil.CHARSET_UTF_8); - } - - /** - * 订单查询接口 - * - * @param config 建行学校信息配置 - * @param orderNo 订单号 - * @return cn.hutool.json.JSONObject - * @author ZYJ - * @date 2023/6/20 16:03 - */ - public static JSONObject queryOrder(ConstructionPayConfig config, String orderNo) { - try { - // 封装参数 - Map map = Maps.newLinkedHashMap(); - // 商户代码 - map.put("MERCHANTID", config.getMerchantId()); - // 分行代码 - map.put("BRANCHID", config.getBranchId()); - // 商户柜台代码 - map.put("POSID", config.getPosId()); - // 订单日期 - map.put("ORDERDATE", ""); - // 开始时间 - map.put("BEGORDERTIME", ""); - // 截止时间 - map.put("ENDORDERTIME", ""); - // 订单号 - map.put("ORDERID", orderNo); - // 密码. 参与加密但不赋值, 加密完成后赋值 - map.put("QUPWD", ""); - // 交易码 - map.put("TXCODE", ConstructionPayConstant.QUERY_ORDER_CODE); - // 流水类型. 0-支付流水, 1-退款流水 - map.put("TYPE", "0"); - // 流水状态. 0-未结算流水, 1-已结算流水 - map.put("KIND", "0"); - // 交易状态. 0-失败, 1-成功, 2-不确定, 3-全部(已结算流水查询不支持全部) - map.put("STATUS", "1"); - // 查询方式s 1-页面形式, 2-文件返回形式 (提供 TXT 和 XML 格式文件的下载), 3-XML页面形式 - map.put("SEL_TYPE", "3"); - // 页码 - map.put("PAGE", "1"); - // 操作员 - map.put("OPERATOR", ""); - // 预留字段 - map.put("CHANNEL", ""); - // 加密串 - String paramsStr = Joiner.on("&").withKeyValueSeparator("=").join(map); - log.info("加密串: {}", paramsStr); - // MD5加密 - String md5 = DigestUtil.md5Hex(paramsStr.getBytes()); - map.put("QUPWD", config.getPrivateCode()); - map.put("MAC", md5); - // 接口 - String xmlStr = HttpUtil.get(ConstructionPayConstant.URL, map); - log.info("建行查询订单接口xmlStr: {}", xmlStr); - // xml转json - JSONObject response = xmlToJson(xmlStr); - log.info("建行查询订单接口请求参数: {}, 返回值: {}", map, response); - - if (response.containsKey(ConstructionPayConstant.RETURN_CODE_NAME) - && !ConstructionPayConstant.RETURN_SUCCESS_CODE.equals(response.getStr(ConstructionPayConstant.RETURN_CODE_NAME)) - && !ConstructionPayConstant.NO_ORDER_CODE.equals(response.getStr(ConstructionPayConstant.RETURN_CODE_NAME)) - ) { - log.error("建行查询订单接口失败,code:{},msg:{},params:{}", response.get(ConstructionPayConstant.RETURN_CODE_NAME), - response.get(ConstructionPayConstant.RETURN_MSG), JSONUtil.toJsonStr(map)); - throw new FebsException(ResultMsgType.ORDER_QUERY_FAIL.getValue()); - } - - return response; - } catch (Exception e) { - log.error("建行查询订单接口失败", e); - throw new FebsException(ResultMsgType.ORDER_QUERY_FAIL.getValue()); - } - } - - /** - * 生成订单号 - * 规则: 最长30位, {商户代码后9位}{时间(yyyyMMddmmHHssSSS)(17位)}{4位随机数} - * - * @param merchantId 商户代码 - * @return java.lang.String - * @author ZYJ - * @date 2022/6/16 14:32 - */ - public static String getOrderNumber(String merchantId) { - return merchantId.substring(merchantId.length() - 9) + - DateUtil.format(new Date(), DatePattern.PURE_DATETIME_MS_PATTERN) + RandomUtil.randomNumbers(4); - } - - /** - * xml字符串转json - * - * @param xmlStr xml字符串 - * @return cn.hutool.json.JSONObject - * @author ZYJ - * @date 2023/6/20 14:40 - */ - public static JSONObject xmlToJson(String xmlStr) { - JSONObject jsonObject = JSONUtil.createObj(); - if (StrUtil.isEmpty(xmlStr)) { - throw new IllegalArgumentException("xml is empty"); - } else { - // 去除xml无效字符 - xmlStr = cleanXml(xmlStr); - Document document = XmlUtil.parseXml(xmlStr); - Element element = document.getDocumentElement(); - if (element != null) { - NodeList nodeList = element.getChildNodes(); - for (int i = 0; i < nodeList.getLength(); i++) { - Node node = nodeList.item(i); - getChildNodesInfo(node, jsonObject); - } - } - } - return jsonObject; - } - - /** - * 递归查询所有子节点信息 - * - * @param rootNode 根节点 - * @param jsonObject 返回的json数据 - * @author ZYJ - * @date 2023/6/20 15:55 - */ - public static void getChildNodesInfo(Node rootNode, JSONObject jsonObject) { - NodeList nodeList = rootNode.getChildNodes(); - int length = nodeList.getLength(); - if (length <= 1) { - String nodeName = rootNode.getNodeName(); - // 去除无效字符 - if ("#text".equalsIgnoreCase(nodeName)) { - return; - } - String nodeText = rootNode.getTextContent(); - jsonObject.set(nodeName, nodeText); - } else { - JSONObject childObject = JSONUtil.createObj(); - for (int i = 0; i < nodeList.getLength(); i++) { - Node node = nodeList.item(i); - getChildNodesInfo(node, childObject); - } - jsonObject.set(rootNode.getNodeName(), childObject); - } - } - - /** - * 去除xml无效字符 - * - * @param xmlStr xml字符串 - * @return java.lang.String - * @author ZYJ - * @date 2023/6/20 14:36 - */ - public static String cleanXml(String xmlStr) { - return XmlUtil.cleanInvalid(xmlStr.trim() - .replaceAll("\n\t", "") - .replaceAll("\n", "") - .replaceAll("\t", "") - .replaceAll("\t\t", "") - ); - } - - public static boolean validateSign(ConstructionPayNotifyDTO dto, String sign, String publicKey) { - try { - // 封装验签参数 - Map map = Maps.newLinkedHashMap(); - map.put("POSID", dto.getPOSID()); - map.put("BRANCHID", dto.getBRANCHID()); - map.put("ORDERID", dto.getORDERID()); - map.put("PAYMENT", dto.getPAYMENT()); - map.put("CURCODE", dto.getCURCODE()); - map.put("REMARK1", dto.getREMARK1()); - map.put("REMARK2", dto.getREMARK2()); - map.put("ACC_TYPE", dto.getACC_TYPE()); - map.put("SUCCESS", dto.getSUCCESS()); - map.put("TYPE", dto.getTYPE()); - map.put("REFERER", dto.getREFERER()); - map.put("CLIENTIP", dto.getCLIENTIP()); - String paramsStr = Joiner.on("&").withKeyValueSeparator("=").join(map); - // TODO 2023/7/28 添加第三方包后可验签成功, 此处需要处理spring-cloud项目如何添加本地jar包 - RSASig rsaSig = new RSASig(); - rsaSig.setPublicKey(publicKey); - return rsaSig.verifySignature(sign, paramsStr); - } catch (Exception e) { - log.error("验签失败", e); - return false; - } - } - - public static void main(String[] args) throws UnsupportedEncodingException { - ConstructionPayConfig config = ConstructionPayConfig.builder() - .merchantId("105000348168188") - .posId("078024457") - .branchId("430000000") - .publicKey("30819c300d06092a864886f70d010101050003818a003081860281804e9b9f299771a0c16f2e5d66e0dee653b172ab9cad1ce32053ed1db1af4249cd4475ac5a2e4a92baf8d015e56a8fa7e3df6432a0c952af8cb79d4a0171bef382468dcdf0f149e3a6a1c72aabad028c8c6a2d9e0fd85cadd908a1ce5ba5047d3dd40c49115a4833194086574f74ce1f106eed451e41c10cdec7bb69c90294ecf5020111") - .privateCode("Jh123456") - .build(); - ConstructionPayOrder order = ConstructionPayOrder.builder() - .orderNo("2023072814460000001") - .payMoney(new BigDecimal("0.01")) - .orderTime(new Date()) - .build(); - System.out.println(getQrPayUrl(config, order)); -// queryOrder(config, "9823740924298749823742"); -// String sign = "2275646a3c214e250fd03fc21c50f9c50b22b43fcf74c22db0946647ae70ed7950fdad20d172cd411999bddccb70f25d7d4104c4e8b8c372b900e842a8c6d688cfc77362e9261154b473b6b621b15f4770f48a5fcd8f0776ac335a522e5c830d3d5002c9969aca2810c2664df3d1b90539095247c5bcd05dbaa710bb4b7fbdd0"; -// String paramStr = "POSID=075570790&BRANCHID=430000000&ORDERID=2023072814460000001&PAYMENT=0.01&CURCODE=01&REMARK1=&REMARK2=&ACC_TYPE=WX&SUCCESS=Y&TYPE=1&REFERER=&CLIENTIP=11.168.99.30"; -// String publicKey = "30819c300d06092a864886f70d010101050003818a003081860281804e9b9f299771a0c16f2e5d66e0dee653b172ab9cad1ce32053ed1db1af4249cd4475ac5a2e4a92baf8d015e56a8fa7e3df6432a0c952af8cb79d4a0171bef382468dcdf0f149e3a6a1c72aabad028c8c6a2d9e0fd85cadd908a1ce5ba5047d3dd40c49115a4833194086574f74ce1f106eed451e41c10cdec7bb69c90294ecf5020111"; -// -// -// RSASig rsaSig = new RSASig(); -//// rsaSig.setPublicKey(publicKey.substring(publicKey.length() - 30)); -// rsaSig.setPublicKey(publicKey); -// System.out.println(rsaSig.verifySignature(sign, paramStr)); - } -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/ConsumeUtil.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/ConsumeUtil.java deleted file mode 100644 index 50b405d..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/ConsumeUtil.java +++ /dev/null @@ -1,183 +0,0 @@ -package com.yida.data.common.core.utils; - -import cn.hutool.http.HttpRequest; -import cn.hutool.http.HttpResponse; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.yida.data.common.core.entity.constant.ConsumeConstant; -import com.yida.data.common.core.entity.consume.EduConsumeConfig; -import com.yida.data.common.core.entity.consume.Recharge; -import com.yida.data.common.core.exception.FebsException; -import lombok.AccessLevel; -import lombok.NoArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -/** - * 消费机工具类 - * - * @author ZYJ - * @date 2023/4/4 - */ -@Slf4j -@NoArgsConstructor(access = AccessLevel.PRIVATE) -public class ConsumeUtil { - - public static final String DEFAULT_CLIENT_TYPE = "4"; - - /** - * 获取人员信息 - * - * @param config 学校消费机服务器信息 - * @param accountNo 校园卡号 - * @return cn.hutool.json.JSONObject - * @author ZYJ - * @date 2023/4/6 11:16 - */ - public static JSONObject getPersonInfo(EduConsumeConfig config, String accountNo) { - // 封装请求参数 - JSONObject params = JSONUtil.createObj() - // 人员编号 - .set("accountno", accountNo); - HttpResponse httpResponse = HttpRequest.get(config.getServiceIp() + ConsumeConstant.GET_PERSON_INFO) - .form(params) - .execute(); - // 返回数据 - log.info("获取消费机人员信息接口返回数据: {}", httpResponse.body()); - JSONObject jsonObject = JSONUtil.parseObj(httpResponse.body()); - if (jsonObject.containsKey(ConsumeConstant.ERROR_CONTENT_NAME)) { - JSONObject errorContent = jsonObject.getJSONObject(ConsumeConstant.ERROR_CONTENT_NAME); - log.error("获取人员信息失败, param: {}, code: {}, msg: {}", params, errorContent.getStr(ConsumeConstant.ERROR_CODE_NAME), - errorContent.getStr(ConsumeConstant.ERROR_MESSAGE_NAME)); - throw new FebsException("获取人员信息失败"); - } - return jsonObject; - } - - /** - * 挂失卡片 - * - * @param config 学校消费机服务器信息 - * @param cardId 卡片唯一标识 - * @return cn.hutool.json.JSONObject - * @author ZYJ - * @date 2023/4/6 14:11 - */ - public static JSONObject lockCard(EduConsumeConfig config, String cardId) { - // 封装请求参数 - JSONObject params = JSONUtil.createObj() - // 卡片唯一标识 - .set("cardID", cardId); - HttpResponse httpResponse = HttpRequest.post(config.getServiceIp() + ConsumeConstant.LOCK_CARD + "?client-type=" + DEFAULT_CLIENT_TYPE) - .body(params.toString()) - .execute(); - // 返回数据 - log.info("挂失卡片接口返回数据: {}", httpResponse.body()); - JSONObject jsonObject = JSONUtil.parseObj(httpResponse.body()); - if (jsonObject.containsKey(ConsumeConstant.ERROR_CONTENT_NAME)) { - JSONObject errorContent = jsonObject.getJSONObject(ConsumeConstant.ERROR_CONTENT_NAME); - log.error("挂失卡片失败, param: {}, code: {}, msg: {}", params, errorContent.getStr(ConsumeConstant.ERROR_CODE_NAME), - errorContent.getStr(ConsumeConstant.ERROR_MESSAGE_NAME)); - throw new FebsException("挂失卡片失败"); - } - return jsonObject; - } - - /** - * 解挂卡片 - * - * @param config 学校消费机服务器信息 - * @param cardId 卡片唯一标识 - * @return cn.hutool.json.JSONObject - * @author ZYJ - * @date 2023/4/6 14:26 - */ - public static JSONObject unLockCard(EduConsumeConfig config, String cardId) { - // 封装请求参数 - JSONObject params = JSONUtil.createObj() - // 卡片唯一标识 - .set("cardID", cardId); - HttpResponse httpResponse = HttpRequest.post(config.getServiceIp() + ConsumeConstant.UN_LOCK_CARD + "?client-type=" + DEFAULT_CLIENT_TYPE) - .body(params.toString()) - .execute(); - // 返回数据 - log.info("解挂卡片接口返回数据: {}", httpResponse.body()); - JSONObject jsonObject = JSONUtil.parseObj(httpResponse.body()); - if (jsonObject.containsKey(ConsumeConstant.ERROR_CONTENT_NAME)) { - JSONObject errorContent = jsonObject.getJSONObject(ConsumeConstant.ERROR_CONTENT_NAME); - log.error("解挂卡片失败, param: {}, code: {}, msg: {}", params, errorContent.getStr(ConsumeConstant.ERROR_CODE_NAME), - errorContent.getStr(ConsumeConstant.ERROR_MESSAGE_NAME)); - throw new FebsException("解挂卡片失败"); - } - return jsonObject; - } - - /** - * 充值 - * - * @param config 学校消费机服务器信息 - * @param recharge 消费机充值类 - * @return cn.hutool.json.JSONObject - * @author ZYJ - * @date 2023/4/6 16:56 - */ - public static JSONObject recharge(EduConsumeConfig config, Recharge recharge) { - // 封装请求参数 - JSONObject params = JSONUtil.createObj() - .set("amount", recharge.getAmount()) - .set("accountNo", recharge.getAccountNo()) - .set("increase", recharge.isIncrease()) - .set("walletType", recharge.getWalletType()) - .set("transactionNumber", recharge.getTransactionNumber()) - .set("payment", JSONUtil.createObj() - .set("payType", recharge.getPaymentModel().getPayType()) - .set("payTime", recharge.getPaymentModel().getPayTime()) - .set("orderNumber", recharge.getPaymentModel().getOrderNumber()) - .set("innerOrderNumber", recharge.getPaymentModel().getInnerOrderNumber()) - ); - HttpResponse httpResponse = HttpRequest.post(config.getServiceIp() + ConsumeConstant.RECHARGE + "?client-type=" + DEFAULT_CLIENT_TYPE) - .body(params.toString()) - .execute(); - // 返回数据 - log.info("充值接口返回数据: {}", httpResponse.body()); - JSONObject jsonObject = JSONUtil.parseObj(httpResponse.body()); - if (jsonObject.containsKey(ConsumeConstant.ERROR_CONTENT_NAME)) { - JSONObject errorContent = jsonObject.getJSONObject(ConsumeConstant.ERROR_CONTENT_NAME); - log.error("充值失败, param: {}, code: {}, msg: {}", params, errorContent.getStr(ConsumeConstant.ERROR_CODE_NAME), - errorContent.getStr(ConsumeConstant.ERROR_MESSAGE_NAME)); - throw new FebsException("充值失败"); - } - return jsonObject; - } - - /** - * 充值撤销 - * - * @param config 学校消费机服务器信息 - * @param accountNo 校园卡号 - * @param walletType 充值钱包类型. 1:现金, 2:补贴 - * @param transactionNumber 流水号 - * @return cn.hutool.json.JSONObject - * @author ZYJ - * @date 2023/4/6 17:15 - */ - public static JSONObject undoRecharge(EduConsumeConfig config, String accountNo, Integer walletType, String transactionNumber) { - // 封装请求参数 - JSONObject params = JSONUtil.createObj() - .set("accountNo", accountNo) - .set("walletType", walletType) - .set("transactionNumber", transactionNumber); - HttpResponse httpResponse = HttpRequest.post(config.getServiceIp() + ConsumeConstant.UNDO_RECHARGE + "?client-type=" + DEFAULT_CLIENT_TYPE) - .body(params.toString()) - .execute(); - // 返回数据 - log.info("充充值撤销接口返回数据: {}", httpResponse.body()); - JSONObject jsonObject = JSONUtil.parseObj(httpResponse.body()); - if (jsonObject.containsKey(ConsumeConstant.ERROR_CONTENT_NAME)) { - JSONObject errorContent = jsonObject.getJSONObject(ConsumeConstant.ERROR_CONTENT_NAME); - log.error("充值撤销失败, param: {}, code: {}, msg: {}", params, errorContent.getStr(ConsumeConstant.ERROR_CODE_NAME), - errorContent.getStr(ConsumeConstant.ERROR_MESSAGE_NAME)); - throw new FebsException("充值撤销失败"); - } - return jsonObject; - } -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/DateUtil.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/DateUtil.java index fb59258..bdceddf 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/DateUtil.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/DateUtil.java @@ -1,19 +1,14 @@ package com.yida.data.common.core.utils; -import cn.hutool.core.date.DateUnit; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.Instant; -import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; -import java.util.Calendar; import java.util.Date; -import java.util.HashMap; import java.util.Locale; -import java.util.Map; /** * 时间工具类 @@ -99,115 +94,4 @@ public abstract class DateUtil { LocalTime now = LocalTime.now(); return now.isAfter(from) && now.isBefore(to); } - - - /** - * 计算两个时间点相差的天数 - * - * @param - * @return - */ - public static Long daysBetween(Date beginDate, Date endDate) { - return cn.hutool.core.date.DateUtil.between(beginDate, endDate, DateUnit.DAY); - } - - - /** - * 获取指定年指定月的开始天数和结束天数 - * - * @param yearMonth - * @return - */ - public static Map getFirstDayAndLastDayOfTheSpecifiedMonth(String yearMonth) { - - int year = Integer.parseInt(yearMonth.split("-")[0]); - int month = Integer.parseInt(yearMonth.split("-")[1]); - // 获取当前分区的日历信息(这里可以使用参数指定时区) - Calendar calendar = Calendar.getInstance(); - // 设置年 - calendar.set(Calendar.YEAR, year); - // 设置月,月份从0开始 - calendar.set(Calendar.MONTH, month - 1); - // 设置为指定月的第一天 - calendar.set(Calendar.DAY_OF_MONTH, 1); - // 获取指定月第一天的时间 - Date start = calendar.getTime(); - // 设置日历天数为当前月实际天数的最大值,即指定月份的最后一天 - calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE)); - // 获取最后一天的时间 - Date end = calendar.getTime(); - // 设置返回信息,返回样式根据需求自行格式化 - Map dateMap = new HashMap<>(); - dateMap.put("start", start); - dateMap.put("end", end); - return dateMap; - } - - - /** - * 查询日期间有几天一周中的某一天 日期格式 yyyy-MM-dd yyyy-MM-dd 1-7(表示周一到周日) - * - * @param startDate 准备查询的起始日期 - * @param endDate 准备查询的结束日期 - * @param dayOfWeek 准备查的一周中的某一天(准备查周几?) - * @return 包含所查周几的天数 - * @throws ParseException 不支持跨年查询、不支持结束日期早于起始日期、周几输入错误等 - */ - public static Integer getMondayNumber(LocalDate startDate, LocalDate endDate, int dayOfWeek) throws ParseException { - try { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - int differenceDay = 0; - //实例化起始和结束Calendar对象 - Calendar startCalendar = Calendar.getInstance(); - Calendar endCalendar = Calendar.getInstance(); - //分别设置Calendar对象的时间 - ZoneId zone = ZoneId.systemDefault(); - Instant instantStartDate = startDate.atStartOfDay().atZone(zone).toInstant(); - Instant instantEndDate = endDate.atStartOfDay().atZone(zone).toInstant(); - startCalendar.setTime(Date.from(instantStartDate)); - endCalendar.setTime(Date.from(instantEndDate)); - - //定义起始日期和结束日期分别属于第几周 - int startWeek = startCalendar.get(Calendar.WEEK_OF_YEAR); - int endWeek = endCalendar.get(Calendar.WEEK_OF_YEAR); - - //拿到起始日期是星期几 - int startDayOfWeek = startCalendar.get(Calendar.DAY_OF_WEEK); - if (startDayOfWeek == 1) { - startDayOfWeek = 7; - startWeek--; - } else { - startDayOfWeek--; - } - - //拿到结束日期是星期几 - int endDayOfWeek = endCalendar.get(Calendar.DAY_OF_WEEK); - if (endDayOfWeek == 1) { - endDayOfWeek = 7; - endWeek--; - } else { - endDayOfWeek--; - } - - //计算相差的周数 - int differenceWeek = endWeek - startWeek; - - //开始计算 - if (startDayOfWeek <= dayOfWeek) { - if (endDayOfWeek >= dayOfWeek) { - differenceDay = differenceWeek + 1; - } - } else if (startDayOfWeek > dayOfWeek) { - if (endDayOfWeek < dayOfWeek) { - differenceDay = differenceWeek - 1; - } - } else { - differenceDay = differenceWeek; - } - return differenceDay; - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } } diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/FebsUtil.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/FebsUtil.java index e256c57..d794edf 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/FebsUtil.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/FebsUtil.java @@ -9,10 +9,8 @@ import com.yida.data.common.core.entity.constant.PageConstant; import com.yida.data.common.core.entity.constant.RegexpConstant; import com.yida.data.common.core.entity.constant.StringConstant; import com.yida.data.common.core.exception.FebsException; -import java.time.LocalDate; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.omg.CORBA.UNKNOWN; import org.springframework.core.env.Environment; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.core.io.buffer.DataBufferUtils; @@ -49,7 +47,6 @@ import java.util.stream.IntStream; public abstract class FebsUtil { private static final String UNKNOW = "unknown"; - private static final String UNKNOWN = "unknown"; /** * 驼峰转下划线 @@ -216,18 +213,13 @@ public abstract class FebsUtil { public static String getHttpServletRequestIpAddress() { HttpServletRequest request = getHttpServletRequest(); String ip = request.getHeader("x-forwarded-for"); - if (ip != null && ip.length() != 0 && !UNKNOWN.equalsIgnoreCase(ip)) { - if (ip.contains(StringConstant.COMMA)) { - ip = ip.split(StringConstant.COMMA)[0]; - } - } - if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + if (ip == null || ip.length() == 0 || UNKNOW.equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); } - if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + if (ip == null || ip.length() == 0 || UNKNOW.equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } - if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) { + if (ip == null || ip.length() == 0 || UNKNOW.equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); } return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : ip; @@ -409,91 +401,11 @@ public abstract class FebsUtil { res = "星期六"; break; case 7: - res = "星期日"; + res = "星期天"; break; default: } } return res; } - - public static boolean isWeek(String weekStr, Integer week) { - boolean flag = false; - switch (week) { - case 1: - if (weekStr.contains("星期一")) { - flag = true; - } - break; - case 2: - if (weekStr.contains("星期二")) { - flag = true; - } - break; - case 3: - if (weekStr.contains("星期三")) { - flag = true; - } - break; - case 4: - if (weekStr.contains("星期四")) { - flag = true; - } - break; - case 5: - if (weekStr.contains("星期五")) { - flag = true; - } - break; - case 6: - if (weekStr.contains("星期六")) { - flag = true; - } - break; - case 7: - if (weekStr.contains("星期日")) { - flag = true; - } - break; - default: - break; - } - return flag; - } - - - /** - * 通过身份证号码获取性别(sex) - * - * @param idCardNo 身份证号码 - * @return 性别格式:1:女,0:男 - */ - public static Integer getSexByIdCardNo(String idCardNo) { - Integer sexCode = null; - char[] number = idCardNo.toCharArray(); - boolean flag = true; - if (number.length == 15) { - for (int x = 0; x < number.length; x++) { - if (!flag) { - return null; - } - flag = Character.isDigit(number[x]); - } - } else if (number.length == 18) { - for (int x = 0; x < number.length - 1; x++) { - if (!flag) { - return null; - } - flag = Character.isDigit(number[x]); - } - } - if (flag && idCardNo.length() == 15) { - sexCode = Integer.parseInt(idCardNo.substring(idCardNo.length() - 3, idCardNo.length())) % 2 == 0 ? 1 : 0; - } else if (flag && idCardNo.length() == 18) { - sexCode = Integer.parseInt(idCardNo.substring(idCardNo.length() - 4, idCardNo.length() - 1)) % 2 == 0 ? 1 : 0; - } - - return sexCode; - } - } diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/FileUtil.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/FileUtil.java index bde3fc5..f736310 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/FileUtil.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/FileUtil.java @@ -111,7 +111,7 @@ public abstract class FileUtil { put("source", 50); } }); -// log.info("上传响应,[{}]", resp); + log.info("上传响应,[{}]", resp); JSONObject respJson = JSONUtil.parseObj(resp); if (!"200".equals(respJson.get("status").toString())) { throw new FebsException(respJson.getStr("message")); @@ -261,14 +261,6 @@ public abstract class FileUtil { public static String downloadToLocal(String url) { LocalDateTime now = LocalDateTime.now(); String path = TEMP_DIR + now.getYear() + "/" + now.getMonthValue() + "/" + now.getDayOfMonth() + "/"; -// String filename = cn.hutool.core.io.FileUtil.getName(url); -// if (filename.contains(".jpg") || filename.contains(".png")) { -// if (filename.contains("?")) { -// filename = filename.split("\\?")[0]; -// } -// } else { -// filename = UUID.randomUUID() + ".jpg"; -// } String filename = UUID.randomUUID() + ".jpg"; try { HttpUtil.downloadFile(url, path + filename); diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/ThreadPoolUtil.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/ThreadPoolUtil.java deleted file mode 100644 index 2c35c7b..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/ThreadPoolUtil.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.common.core.utils; - -import cn.hutool.core.thread.ThreadUtil; -import lombok.AccessLevel; -import lombok.NoArgsConstructor; - -import java.util.concurrent.*; - -/** - * 线程池工具类 - * - * @author ZYJ - * @date 2022/4/14 - */ -@NoArgsConstructor(access = AccessLevel.PRIVATE) -public class ThreadPoolUtil { - - /** - * 生成线程池 - * - * @return java.util.concurrent.ExecutorService - * @author ZYJ - * @date 2022/4/14 10:10 - */ - public static ExecutorService getThreadPool(String threadName) { - ThreadFactory threadFactory = ThreadUtil.newNamedThreadFactory(threadName, false); - return new ThreadPoolExecutor(3, 6, 1, - TimeUnit.MINUTES, new LinkedBlockingQueue<>(), threadFactory); - } -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/UPayUtil.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/UPayUtil.java deleted file mode 100644 index 1233f51..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/UPayUtil.java +++ /dev/null @@ -1,440 +0,0 @@ -package com.yida.data.common.core.utils; - -import cn.hutool.core.codec.Base64; -import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.NumberUtil; -import cn.hutool.crypto.digest.DigestUtil; -import cn.hutool.http.HttpRequest; -import cn.hutool.http.HttpResponse; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.google.common.base.Joiner; -import com.yida.data.common.core.common.ResultMsgType; -import com.yida.data.common.core.entity.constant.StringConstant; -import com.yida.data.common.core.entity.constant.UPayConstant; -import com.yida.data.common.core.entity.consume.DeptConsumeTerminalCache; -import com.yida.data.common.core.entity.pay.UPayOrder; -import com.yida.data.common.core.entity.pay.URefund; -import com.yida.data.common.core.entity.system.UPayConfig; -import com.yida.data.common.core.exception.FebsException; -import lombok.AccessLevel; -import lombok.NoArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; - -import java.math.BigDecimal; -import java.net.URLEncoder; -import java.security.KeyFactory; -import java.security.PublicKey; -import java.security.Signature; -import java.security.spec.X509EncodedKeySpec; -import java.util.TreeMap; - -/** - * 收钱吧支付工具类 - * - * @author ZYJ - * @date 2023/3/20 - */ -@Slf4j -@NoArgsConstructor(access = AccessLevel.PRIVATE) -public class UPayUtil { - - private static final String KEY_ALGORITHM = "RSA"; - private static final String SIGNATURE_ALGORITHM = "SHA256withRSA"; - - /** - * 跳转支付接口 - * - * @param order 收钱吧支付订单类 - * @param terminalSn 终端序列号 - * @param terminalKey 终端密钥 - * @return java.lang.String - * @author ZYJ - * @date 2023/3/21 17:06 - */ - public static String placeOrder(UPayOrder order, String terminalSn, String terminalKey) { - try { - JSONObject jsonObject = JSONUtil.createObj() - .set("terminal_sn", terminalSn) - .set("client_sn", order.getClientSn()) - .set("total_amount", String.valueOf(NumberUtil.mul(order.getTotalAmount(), new BigDecimal(100)).intValue())) - .set("subject", StringUtils.isNotBlank(order.getSubject()) ? order.getSubject() : "充值缴费") - .set("operator", URLEncoder.encode(order.getOperator(), CharsetUtil.UTF_8)) - .set("return_url", order.getReturnUrl()) - .set("notify_url", order.getNotifyUrl()); - TreeMap paramMap = MapUtil.sort(jsonObject); - // 处理请求参数 - String paramsStr = Joiner.on("&").withKeyValueSeparator("=").join(paramMap); - // 签名 - String sign = getPayUrlSign(paramsStr, terminalKey); - // 生成支付地址 - String url = UPayConstant.TO_PAY_URL + StringConstant.QUESTION_MARK + paramsStr + "&sign=" + sign; - log.info("收钱吧支付地址: {}", url); - return url; - } catch (Exception e) { - log.error("生成收钱吧支付地址失败", e); - throw new FebsException(ResultMsgType.ORDER_FAIL.getValue()); - } - } - - /** - * 激活 - * - * @param uPayConfig 收钱吧学校信息配置 - * @param deviceId 同一个app_id下唯一. 例:品牌名称+支付场景 - * @return com.yida.data.common.core.entity.consume.DeptConsumeTerminalCache - * @author ZYJ - * @date 2023/4/3 14:43 - */ - public static DeptConsumeTerminalCache active(UPayConfig uPayConfig, String deviceId) { - // 封装请求参数 - JSONObject params = JSONUtil.createObj() - // wap支付应用id - .set("app_id", uPayConfig.getWapAppId()) - // 激活码内容 - .set("code", uPayConfig.getCode()) - // 设备唯一编号 - .set("device_id", deviceId); - HttpResponse httpResponse = HttpRequest.post(UPayConstant.ACTIVATE) - .header("Authorization", setSignHeader(uPayConfig.getVendorSn(), getSign(params.toString(), uPayConfig.getVendorKey()))) - .body(params.toString()) - .execute(); - // 返回数据 - log.info("激活接口返回数据: {}", httpResponse.body()); - JSONObject jsonObject = JSONUtil.parseObj(httpResponse.body()); - JSONObject bizResponse; - // 激活接口返回数据: {"result_code":"200","biz_response":{"terminal_sn":"100053610028601010","terminal_key":"50f76a2c11121f22bd4d62e8350ec0f6","merchant_sn":"18956397746","merchant_name":"半夜鸡叫","store_sn":"00010101001200200046406","store_name":"半夜鸡叫"}} - if (jsonObject.containsKey(UPayConstant.RESULT_CODE_NAME) - && !UPayConstant.RESULT_SUCCESS_CODE.equals(jsonObject.getStr(UPayConstant.RESULT_CODE_NAME))) { - log.error("激活设备失败, param : {}, resultCode: {}, errorCode: {}, msg: {}", params, - jsonObject.getStr(UPayConstant.RESULT_CODE_NAME), jsonObject.getStr(UPayConstant.ERROR_CODE_NAME), - jsonObject.getStr(UPayConstant.ERROR_MESSAGE_NAME)); - throw new FebsException("激活设备失败"); - } else { - bizResponse = jsonObject.getJSONObject(UPayConstant.BIZ_RESPONSE); - if (bizResponse.containsKey(UPayConstant.BIZ_CODE_NAME) - && !UPayConstant.BIZ_SUCCESS_CODE.equals(bizResponse.getStr(UPayConstant.BIZ_CODE_NAME))) { - log.error("激活设备失败, param : {}, resultCode: {}, errorCode: {}, msg: {}", params, - bizResponse.getStr(UPayConstant.BIZ_CODE_NAME), bizResponse.getStr(UPayConstant.ERROR_CODE_NAME), - bizResponse.getStr(UPayConstant.ERROR_MESSAGE_NAME)); - throw new FebsException("激活设备失败"); - } - } - return DeptConsumeTerminalCache.builder() - .terminalSn(bizResponse.getStr("terminal_sn")) - .terminalKey(bizResponse.getStr("terminal_key")) - .build(); - } - - /** - * 订单查询 - * - * @param clientSn 商户订单号 - * @param terminalSn 终端序列号 - * @param terminalKey 终端密钥 - * @return cn.hutool.json.JSONObject - * @author ZYJ - * @date 2023/3/21 17:10 - */ - public static JSONObject queryOrder(String clientSn, String terminalSn, String terminalKey) { - // 封装请求参数 - JSONObject params = JSONUtil.createObj() - // 终端序列号 - .set("terminal_sn", terminalSn) - // 商户订单号 - .set("client_sn", clientSn); - HttpResponse httpResponse = HttpRequest.post(UPayConstant.QUERY_ORDER) - .header("Authorization", setSignHeader(terminalSn, getSign(params.toString(), terminalKey))) - .body(params.toString()) - .execute(); - // 返回数据 - log.info("订单查询接口返回数据: {}", httpResponse.body()); - JSONObject jsonObject = JSONUtil.parseObj(httpResponse.body()); - if (jsonObject.containsKey(UPayConstant.RESULT_CODE_NAME) - && !UPayConstant.RESULT_SUCCESS_CODE.equals(jsonObject.getStr(UPayConstant.RESULT_CODE_NAME))) { - log.error("订单查询接口失败, param : {}, resultCode: {}, errorCode: {}, msg: {}", params, - jsonObject.getStr(UPayConstant.RESULT_CODE_NAME), jsonObject.getStr(UPayConstant.ERROR_CODE_NAME), - jsonObject.getStr(UPayConstant.ERROR_MESSAGE_NAME)); - throw new FebsException(ResultMsgType.ORDER_QUERY_FAIL.getValue()); - } else { - JSONObject bizResponse = jsonObject.getJSONObject(UPayConstant.BIZ_RESPONSE); - if (bizResponse.containsKey(UPayConstant.BIZ_CODE_NAME) - && !UPayConstant.BIZ_SUCCESS_CODE.equals(bizResponse.getStr(UPayConstant.BIZ_CODE_NAME)) - && !UPayConstant.NO_ORDER_CODE.equals(bizResponse.getStr(UPayConstant.ERROR_CODE_NAME)) - && !UPayConstant.TRADE_NOT_EXIST.equals(bizResponse.getStr(UPayConstant.ERROR_CODE_NAME)) - ) { - log.error("订单查询接口失败, param : {}, resultCode: {}, errorCode: {}, msg: {}", params, - bizResponse.getStr(UPayConstant.BIZ_CODE_NAME), bizResponse.getStr(UPayConstant.ERROR_CODE_NAME), - bizResponse.getStr(UPayConstant.ERROR_MESSAGE_NAME)); - throw new FebsException(ResultMsgType.ORDER_QUERY_FAIL.getValue()); - } - } - return jsonObject; - } - - /** - * 退款订单查询 - * - * @param clientSn 商户订单号 - * @param refundRequestNo 退款序列号 - * @param terminalSn 终端序列号 - * @param terminalKey 终端密钥 - * @return cn.hutool.json.JSONObject - * @author ZYJ - * @date 2023/4/15 15:48 - */ - public static JSONObject queryRefundOrder(String clientSn, String refundRequestNo, String terminalSn, String terminalKey) { - // 封装请求参数 - JSONObject params = JSONUtil.createObj() - // 终端序列号 - .set("terminal_sn", terminalSn) - // 商户订单号 - .set("client_sn", clientSn) - // 退款序列号 - .set("refund_request_no", refundRequestNo); - HttpResponse httpResponse = HttpRequest.post(UPayConstant.QUERY_ORDER) - .header("Authorization", setSignHeader(terminalSn, getSign(params.toString(), terminalKey))) - .body(params.toString()) - .execute(); - // 返回数据 - log.info("退款查询接口返回数据: {}", httpResponse.body()); - JSONObject jsonObject = JSONUtil.parseObj(httpResponse.body()); - if (jsonObject.containsKey(UPayConstant.RESULT_CODE_NAME) - && !UPayConstant.RESULT_SUCCESS_CODE.equals(jsonObject.getStr(UPayConstant.RESULT_CODE_NAME))) { - log.error("退款查询接口失败, param : {}, resultCode: {}, errorCode: {}, msg: {}", params, - jsonObject.getStr(UPayConstant.RESULT_CODE_NAME), jsonObject.getStr(UPayConstant.ERROR_CODE_NAME), - jsonObject.getStr(UPayConstant.ERROR_MESSAGE_NAME)); - throw new FebsException(ResultMsgType.REFUND_QUERY_FAIL.getValue()); - } else { - JSONObject bizResponse = jsonObject.getJSONObject(UPayConstant.BIZ_RESPONSE); - if (bizResponse.containsKey(UPayConstant.BIZ_CODE_NAME) - && !UPayConstant.BIZ_SUCCESS_CODE.equals(bizResponse.getStr(UPayConstant.BIZ_CODE_NAME))) { - log.error("退款查询接口失败, param : {}, resultCode: {}, errorCode: {}, msg: {}", params, - bizResponse.getStr(UPayConstant.BIZ_CODE_NAME), bizResponse.getStr(UPayConstant.ERROR_CODE_NAME), - bizResponse.getStr(UPayConstant.ERROR_MESSAGE_NAME)); - throw new FebsException(ResultMsgType.REFUND_QUERY_FAIL.getValue()); - } - } - return jsonObject; - } - - /** - * 退款 - * TODO 2023/4/3 需要验证返回结果 - * - * @param refund 收钱吧退款类 - * @param terminalSn 终端序列号 - * @param terminalKey 终端密钥 - * @return cn.hutool.json.JSONObject - * @author ZYJ - * @date 2023/3/21 17:50 - */ - public static JSONObject refund(URefund refund, String terminalSn, String terminalKey) { - // 封装请求参数 - JSONObject params = JSONUtil.createObj() - // 终端序列号 - .set("terminal_sn", terminalSn) - // 商户订单号 - .set("client_sn", refund.getClientSn()) - // 退款金额 - .set("refund_amount", String.valueOf(NumberUtil.mul(refund.getRefundAmount(), new BigDecimal("100")).intValue())) - // 退款序列号 - .set("refund_request_no", refund.getRefundRequestNo()) - // 执行本次退款的操作员 - .set("operator", refund.getOperator()); - log.info(params.toString()); - HttpResponse httpResponse = HttpRequest.post(UPayConstant.REFUND_ORDER) - .header("Authorization", setSignHeader(terminalSn, getSign(params.toString(), terminalKey))) - .body(params.toString()) - .execute(); - // 返回数据 - log.info("订单退款接口返回数据: {}", httpResponse.body()); - JSONObject jsonObject = JSONUtil.parseObj(httpResponse.body()); - if (jsonObject.containsKey(UPayConstant.RESULT_CODE_NAME) - && !UPayConstant.RESULT_SUCCESS_CODE.equals(jsonObject.getStr(UPayConstant.RESULT_CODE_NAME))) { - log.error("订单退款接口失败, param : {}, resultCode: {}, errorCode: {}, msg: {}", params, - jsonObject.getStr(UPayConstant.RESULT_CODE_NAME), jsonObject.getStr(UPayConstant.ERROR_CODE_NAME), - jsonObject.getStr(UPayConstant.ERROR_MESSAGE_NAME)); - throw new FebsException(ResultMsgType.ORDER_REFUND_FAIL.getValue()); - } else { - JSONObject bizResponse = jsonObject.getJSONObject(UPayConstant.BIZ_RESPONSE); - if (bizResponse.containsKey(UPayConstant.BIZ_CODE_NAME) - && !UPayConstant.REFUND_SUCCESS_CODE.equals(bizResponse.getStr(UPayConstant.BIZ_CODE_NAME)) - && !UPayConstant.NO_ORDER_CODE.equals(bizResponse.getStr(UPayConstant.ERROR_CODE_NAME)) - && !UPayConstant.TRADE_NOT_EXIST.equals(bizResponse.getStr(UPayConstant.ERROR_CODE_NAME))) { - log.error("订单退款接口失败, param : {}, resultCode: {}, errorCode: {}, msg: {}", params, - bizResponse.getStr(UPayConstant.BIZ_CODE_NAME), bizResponse.getStr(UPayConstant.ERROR_CODE_NAME), - bizResponse.getStr(UPayConstant.ERROR_MESSAGE_NAME)); - throw new FebsException(ResultMsgType.ORDER_REFUND_FAIL.getValue()); - } - } - return jsonObject; - } - - /** - * 撤单 - * - * @param clientSn 商户订单号 - * @param terminalSn 终端序列号 - * @param terminalKey 终端密钥 - * @return cn.hutool.json.JSONObject - * @author ZYJ - * @date 2023/3/21 17:52 - */ - public static JSONObject closeOrder(String clientSn, String terminalSn, String terminalKey) { - // 封装请求参数 - JSONObject params = JSONUtil.createObj() - // 终端序列号 - .set("terminal_sn", terminalSn) - // 商户订单号 - .set("client_sn", clientSn); - - HttpResponse httpResponse = HttpRequest.post(UPayConstant.CLOSE_ORDER) - .header("Authorization", setSignHeader(terminalSn, getSign(params.toString(), terminalKey))) - .body(params.toString()) - .execute(); - // 返回数据 - log.info("撤单接口返回数据: {}", httpResponse.body()); - JSONObject jsonObject = JSONUtil.parseObj(httpResponse.body()); - if (jsonObject.containsKey(UPayConstant.RESULT_CODE_NAME) - && !UPayConstant.RESULT_SUCCESS_CODE.equals(jsonObject.getStr(UPayConstant.RESULT_CODE_NAME))) { - log.error("撤单接口失败, param : {}, resultCode: {}, errorCode: {}, msg: {}", params, - jsonObject.getStr(UPayConstant.RESULT_CODE_NAME), jsonObject.getStr(UPayConstant.ERROR_CODE_NAME), - jsonObject.getStr(UPayConstant.ERROR_MESSAGE_NAME)); - throw new FebsException(ResultMsgType.ORDER_CLOSE_FAIL.getValue()); - } else { - JSONObject bizResponse = jsonObject.getJSONObject(UPayConstant.BIZ_RESPONSE); - if (bizResponse.containsKey(UPayConstant.BIZ_CODE_NAME) - && !UPayConstant.CANCEL_SUCCESS_CODE.equals(bizResponse.getStr(UPayConstant.BIZ_CODE_NAME)) - && !UPayConstant.CANCEL_ABORT_SUCCESS_CODE.equals(bizResponse.getStr(UPayConstant.BIZ_CODE_NAME)) - && !UPayConstant.CANCEL_ORDER_NOOP_CODE.equals(bizResponse.getStr(UPayConstant.ERROR_CODE_NAME)) - && !UPayConstant.NO_ORDER_CODE.equals(bizResponse.getStr(UPayConstant.ERROR_CODE_NAME)) - && !UPayConstant.TRADE_NOT_EXIST.equals(bizResponse.getStr(UPayConstant.ERROR_CODE_NAME))) { - log.error("撤单接口失败, param : {}, resultCode: {}, errorCode: {}, msg: {}", params, - bizResponse.getStr(UPayConstant.BIZ_CODE_NAME), bizResponse.getStr(UPayConstant.ERROR_CODE_NAME), - bizResponse.getStr(UPayConstant.ERROR_MESSAGE_NAME)); - throw new FebsException(ResultMsgType.ORDER_CLOSE_FAIL.getValue()); - } - } - return jsonObject; - } - - /** - * 跳转支付接口签名 - * 排序: 将筛选的参数按照第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序,以此类推。 - * 拼接: 组合成“参数=参数值”的格式,并且把这些参数用&字符连接起来,此时生成的字符串为待签名字符串;将key参数拼接在字符串后面,形式为:“&key=key值”;调用MD5算法生成sign,将sign转换成大写。 - * - * @param paramStr 请求参数字符串 - * @param key 密钥 - * @return java.lang.String - * @author ZYJ - * @date 2023/3/21 14:59 - */ - private static String getPayUrlSign(String paramStr, String key) { - String signStr = paramStr + "&key=" + key; - log.info(signStr); - return DigestUtil.md5Hex(signStr.getBytes()).toUpperCase(); - } - - /** - * 获取签名 - * MD5( CONCAT( body + key ) ) - * - * @param params 请求参数 - * @param key 密钥. vendor_Key(激活接口)或terminal_key(其它接口) - * @return java.lang.String - * @author ZYJ - * @date 2023/3/21 11:19 - */ - private static String getSign(String params, String key) { - String md5Params = params + key; - return DigestUtil.md5Hex(md5Params.getBytes()); - } - - /** - * 封装请求头 - * - * @param sn 签名序列号. vendor_sn(激活接口)或terminal_sn(其它接口) - * @param sign 签名值. 签名算法: sign = MD5( CONCAT( body + key ) ) - * @return java.lang.String - * @author ZYJ - * @date 2023/3/20 17:07 - */ - private static String setSignHeader(String sn, String sign) { - return sn + " " + sign; - } - - /** - * 收钱吧回调验签 - * - * @param data 回调值 - * @param sign 签名 - * @param publicKey 公钥 - * @return boolean - * @author ZYJ - * @date 2023/3/31 14:52 - */ - public static boolean validateSign(String data, String sign, String publicKey) { - try { - Signature signature = Signature.getInstance(SIGNATURE_ALGORITHM); - PublicKey localPublicKey = getPublicKeyFromX509(KEY_ALGORITHM, publicKey); - signature.initVerify(localPublicKey); - signature.update(data.getBytes()); - byte[] bytesSign = Base64.decode(sign); - return signature.verify(bytesSign); - } catch (Exception e) { - log.error("验签失败", e); - return false; - } - } - - private static PublicKey getPublicKeyFromX509(String algorithm, String publicKey) throws Exception { - KeyFactory keyFactory = KeyFactory.getInstance(algorithm); - return keyFactory.generatePublic(new X509EncodedKeySpec(Base64.decode(publicKey))); - } - - - // public static void main(String[] args) { -// // 激活 -// UPayConfig uPayConfig = new UPayConfig(); -// uPayConfig.setVendorSn("91801724"); -// uPayConfig.setVendorKey("80ecee91936004490496304e29b1fe5c"); -// uPayConfig.setWapAppId("2023032000005361"); -// uPayConfig.setCode("18531985"); -// JSONObject jsonObject = active(uPayConfig, "zbz-consume-pay-1"); -// log.info("返回数据: {}", jsonObject); -// } -// public static void main(String[] args) { -// // 下单 -// String url = "http://zbztest.yd-data.com"; -// UPayOrder order = UPayOrder.builder() -// .clientSn("3E32124asda211213") -// .totalAmount(new BigDecimal("0.01")) -// .operator("zbz") -// .notifyUrl(url) -// .returnUrl(url) -// .build(); -// String result = placeOrder(order, "100053610028601010", "50f76a2c11121f22bd4d62e8350ec0f6"); -// log.info(result); -// } -// public static void main(String[] args) { -// // 订单查询 -// queryOrder("1642812693868056576", "11111", "100053610028601010", "50f76a2c11121f22bd4d62e8350ec0f6"); -// } -// public static void main(String[] args) { -// // 订单退款 -// refund(URefund.builder() -// .clientSn("1642812693868056576") -// .refundRequestNo("11111") -// .operator("zbz") -// .refundAmount(new BigDecimal("0.01")) -// .build(), -// "100053610028601010", "50f76a2c11121f22bd4d62e8350ec0f6"); -// } -// public static void main(String[] args) { -// // 撤单 -// closeOrder("3E32124asda211213", "100053610028601010", "50f76a2c11121f22bd4d62e8350ec0f6"); -// } -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/WxPublicUtil.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/WxPublicUtil.java index 6d327ff..c06f34b 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/WxPublicUtil.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/WxPublicUtil.java @@ -106,7 +106,7 @@ public class WxPublicUtil { public String getAccessToken(String appId, String secret) { String accessToken = - String.valueOf(redisService.get(FebsConstant.WX_PUBLIC_ACCESS_TOKEN + appId + "." + secret)); + String.valueOf(redisService.get(FebsConstant.WX_PUBLIC_ACCESS_TOKEN + appId + "." + secret)); if ("null".equals(accessToken)) { Map params = new HashMap<>(); params.put("grant_type", "client_credential"); @@ -117,7 +117,7 @@ public class WxPublicUtil { JSONObject token = JSONUtil.parseObj(response); if (token.containsKey("errcode") && !"0".equals(token.get("errcode").toString())) { log.error("请求微信公众号access token失败,code:{},msg:{}", token.get("errcode").toString(), - token.get("errmsg").toString()); + token.get("errmsg").toString()); throw new FebsException("验证失败"); } accessToken = token.get("access_token").toString(); @@ -138,7 +138,7 @@ public class WxPublicUtil { JSONObject token = JSONUtil.parseObj(response); if (token.containsKey("errcode") && !"0".equals(token.get("errcode"))) { log.error("请微信求access token失败,code:{},msg:{}", token.get("errcode"), - token.get("errmsg")); + token.get("errmsg")); throw new FebsException("验证失败"); } return token.getStr("openid"); @@ -151,10 +151,10 @@ public class WxPublicUtil { Map body = new HashMap<>(); body.put("media", img); JSONObject response = JSONUtil.parseObj( - post(WxPublicConstant.UPLOAD_NEWS_IMG + "?access_token=" + token, body)); + post(WxPublicConstant.UPLOAD_NEWS_IMG + "?access_token=" + token, body)); if (response.containsKey("errcode") && !"0".equals(response.get("errcode").toString())) { log.error("上传图片失败,code:{},msg:{}", response.get("errcode"), - response.get("errmsg")); + response.get("errmsg")); throw new FebsException("上传图片失败"); } return response.getStr("url"); @@ -166,10 +166,10 @@ public class WxPublicUtil { public String uploadNews(News news, String token) { String body = JSONUtil.toJsonPrettyStr(news); JSONObject response = JSONUtil.parseObj( - post(WxPublicConstant.UPLOAD_NEWS + "?access_token=" + token, body)); + post(WxPublicConstant.UPLOAD_NEWS + "?access_token=" + token, body)); if (response.containsKey("errcode") && !"0".equals(response.get("errcode").toString())) { log.error("上传图文素材失败,code:{},msg:{}", response.get("errcode"), - response.get("errmsg")); + response.get("errmsg")); throw new FebsException("上传图文素材失败"); } return response.getStr("media_id"); @@ -190,10 +190,10 @@ public class WxPublicUtil { put("send_ignore_reprint", 1); }}; JSONObject response = JSONUtil.parseObj( - post(WxPublicConstant.SEND_MSG + "?access_token=" + token, JSONUtil.toJsonStr(body))); + post(WxPublicConstant.SEND_MSG + "?access_token=" + token, JSONUtil.toJsonStr(body))); if (response.containsKey("errcode") && !"0".equals(response.get("errcode").toString())) { log.error("群发图文消息失败,code:{},msg:{}", response.get("errcode"), - response.get("errmsg")); + response.get("errmsg")); throw new FebsException("群发图文消息失败"); } return response.getStr("msg_data_id"); @@ -213,10 +213,10 @@ public class WxPublicUtil { set("msgtype", "text"); }}; JSONObject response = JSONUtil.parseObj( - post(WxPublicConstant.SEND_MSG + "?access_token=" + token, body)); + post(WxPublicConstant.SEND_MSG + "?access_token=" + token, body)); if (response.containsKey("errcode") && !"0".equals(response.get("errcode").toString())) { log.error("群发文本消息失败,code:{},msg:{}", response.get("errcode"), - response.get("errmsg")); + response.get("errmsg")); throw new FebsException("群发文本消息失败"); } return response.getStr("msg_data_id"); @@ -236,10 +236,10 @@ public class WxPublicUtil { set("msgtype", "voice"); }}; JSONObject response = JSONUtil.parseObj( - post(WxPublicConstant.SEND_MSG + "?access_token=" + token, body)); + post(WxPublicConstant.SEND_MSG + "?access_token=" + token, body)); if (response.containsKey("errcode") && !"0".equals(response.get("errcode").toString())) { log.error("群发音频消息失败,code:{},msg:{}", response.get("errcode"), - response.get("errmsg")); + response.get("errmsg")); throw new FebsException("群发音频消息失败"); } return response.getStr("msg_data_id"); @@ -259,10 +259,10 @@ public class WxPublicUtil { set("msgtype", "image"); }}; JSONObject response = JSONUtil.parseObj( - post(WxPublicConstant.SEND_MSG + "?access_token=" + token, body)); + post(WxPublicConstant.SEND_MSG + "?access_token=" + token, body)); if (response.containsKey("errcode") && !"0".equals(response.get("errcode").toString())) { log.error("群发音频消息失败,code:{},msg:{}", response.get("errcode"), - response.get("errmsg")); + response.get("errmsg")); throw new FebsException("群发音频消息失败"); } return response.getStr("msg_data_id"); @@ -282,10 +282,10 @@ public class WxPublicUtil { set("msgtype", "mpvideo"); }}; JSONObject response = JSONUtil.parseObj( - post(WxPublicConstant.SEND_MSG + "?access_token=" + token, body)); + post(WxPublicConstant.SEND_MSG + "?access_token=" + token, body)); if (response.containsKey("errcode") && !"0".equals(response.get("errcode").toString())) { log.error("群发音频消息失败,code:{},msg:{}", response.get("errcode"), - response.get("errmsg")); + response.get("errmsg")); throw new FebsException("群发音频消息失败"); } return response.getStr("msg_data_id"); @@ -305,10 +305,10 @@ public class WxPublicUtil { }})); } JSONObject response = JSONUtil.parseObj( - post(WxPublicConstant.UPLOAD_MATERIAL + "?access_token=" + token + "&type=" + type, body)); + post(WxPublicConstant.UPLOAD_MATERIAL + "?access_token=" + token + "&type=" + type, body)); if (response.containsKey("errcode") && !"0".equals(response.get("errcode").toString())) { log.error("上传永久素材失败,code:{},msg:{}", response.get("errcode"), - response.get("errmsg")); + response.get("errmsg")); throw new FebsException("上传永久素材失败"); } return response.getStr("media_id"); @@ -322,10 +322,10 @@ public class WxPublicUtil { put("media_id", mediaId); }}; JSONObject response = JSONUtil.parseObj( - post(WxPublicConstant.DELETE_MATERIAL + "?access_token=" + token, JSONUtil.toJsonStr(body))); + post(WxPublicConstant.DELETE_MATERIAL + "?access_token=" + token, JSONUtil.toJsonStr(body))); if (response.containsKey("errcode") && !"0".equals(response.get("errcode").toString())) { log.error("删除永久素材失败,code:{},msg:{}", response.get("errcode"), - response.get("errmsg")); + response.get("errmsg")); throw new FebsException("删除永久素材失败"); } } @@ -334,15 +334,15 @@ public class WxPublicUtil { * 上传临时素材 图片(image)、语音(voice)、视频(video)和缩略图(thumb) */ public String uploadTempMaterial(String type, File file, - String token) { + String token) { Map body = new HashMap() {{ put("media", file); }}; JSONObject response = JSONUtil.parseObj( - HttpUtil.post(WxPublicConstant.UPLOAD_TEMP_MATERIAL + "?access_token=" + token + "&type=" + type, body)); + HttpUtil.post(WxPublicConstant.UPLOAD_TEMP_MATERIAL + "?access_token=" + token + "&type=" + type, body)); if (response.containsKey("errcode") && !"0".equals(response.get("errcode").toString())) { log.error("上传临时素材失败,code:{},msg:{}", response.get("errcode"), - response.get("errmsg")); + response.get("errmsg")); throw new FebsException("上传临时素材失败"); } if ("thumb".equals(type)) { @@ -364,7 +364,7 @@ public class WxPublicUtil { return null; } String url = new StringBuilder(WxPublicConstant.QR_CODE).append("?access_token=").append(accessToken) - .toString(); + .toString(); JSONObject body = new JSONObject() {{ if (expire != null) { set("expire_seconds", expire); @@ -408,13 +408,13 @@ public class WxPublicUtil { }}); }}; String post = HttpUtil.post( - new StringBuilder(WxPublicConstant.PUSH_CUSTOM_MSG).append("?access_token=").append(accessToken).toString(), - body.toString()); + new StringBuilder(WxPublicConstant.PUSH_CUSTOM_MSG).append("?access_token=").append(accessToken).toString(), + body.toString()); log.info("发送客户消息,res:[{}],body:[{}]", post, body); } public void publishTemplateMsg(String accessToken, String openUserId, String templateId, String url, - JSONObject data) { + JSONObject data) { JSONObject body = new JSONObject() {{ set("touser", openUserId); if (StrUtil.isNotBlank(url)) { @@ -424,12 +424,13 @@ public class WxPublicUtil { set("data", data); }}; String post = HttpUtil.post(new StringBuilder(WxPublicConstant.PUSH_TEMPLATE_MSG).append( - "?access_token=").append(accessToken).toString(), body.toString()); + "?access_token=").append(accessToken).toString(), body.toString()); log.info("发送模板消息,res:[{}],body:[{}]", post, body); } /** - * 获取小程序URL Link https + post + * 获取小程序URL Link + * https + post * * @param accessToken token值 * @param generateUrlLink 获取小程序URL Link请求类 @@ -440,62 +441,30 @@ public class WxPublicUtil { public String generateUrlLink(String accessToken, GenerateUrlLink generateUrlLink) { // 封装参数 JSONObject body = JSONUtil.createObj() - .set("path", generateUrlLink.getPath()) - .set("query", generateUrlLink.getQuery()) - .set("env_version", generateUrlLink.getEnvVersion()) - .set("expire_type", generateUrlLink.getExpireType()) - .set("expire_interval", 30); + .set("path", generateUrlLink.getPath()) + .set("query", generateUrlLink.getQuery()) + .set("env_version", generateUrlLink.getEnvVersion()) + .set("expire_type", generateUrlLink.getExpireType()) + .set("expire_interval", 30); if (Objects.nonNull(generateUrlLink.getCloudBase())) { GenerateUrlLink.CloudBase cloudBase = generateUrlLink.getCloudBase(); body.set("cloud_base", JSONUtil.createObj() - .set("env", cloudBase.getEnv()) - .set("domain", cloudBase.getDomain()) - .set("path", cloudBase.getPath()) - .set("query", cloudBase.getQuery()) - .set("resource_appid", cloudBase.getResourceAppId()) + .set("env", cloudBase.getEnv()) + .set("domain", cloudBase.getDomain()) + .set("path", cloudBase.getPath()) + .set("query", cloudBase.getQuery()) + .set("resource_appid", cloudBase.getResourceAppId()) ); } // 请求接口 String result = HttpUtil.post(WxPublicConstant.GENERATE_URL_LINK + "?access_token=" + accessToken, body.toString()); -// log.info("获取小程序URL Link接口, result: [{}], body: [{}]", result, body); + log.info("获取小程序URL Link接口, result: [{}], body: [{}]", result, body); JSONObject response = JSONUtil.parseObj(result); if (response.containsKey("errcode") && !"0".equals(response.getStr("errcode"))) { log.error("获取小程序URL Link接口失败,code:{},msg:{}", response.get("errcode"), - response.get("errmsg")); + response.get("errmsg")); throw new FebsException("获取小程序URL Link接口失败"); } return response.getStr("url_link"); } - - /** - * 微信获取JS-SDK jsapi_ticket - * - * @param appId 微信appId - * @param secret 微信secret - * @return java.lang.String - * @author ZYJ - * @date 2023/6/5 14:50 - */ - public String getJsApiTicket(String appId, String secret) { - String jsApiTicket = - String.valueOf(redisService.get(FebsConstant.WX_PUBLIC_JS_API_TICKET + appId + "." + secret)); - if ("null".equals(jsApiTicket)) { - - Map params = new HashMap<>(); - params.put("access_token", getAccessToken(appId, secret)); - params.put("type", "jsapi"); - // 获取JS-SDK jsapi_ticket - String response = get(WxPublicConstant.GET_JS_API_TICKET_URL, params); - JSONObject token = JSONUtil.parseObj(response); - if (token.containsKey("errcode") && !"0".equals(token.get("errcode").toString())) { - log.error("获取JS-SDK jsapi_ticket失败,code:{},msg:{}", token.get("errcode").toString(), - token.get("errmsg").toString()); - throw new FebsException("验证失败"); - } - jsApiTicket = token.get("ticket").toString(); - // 缓存accessToken两小时 - redisService.set(FebsConstant.WX_PUBLIC_JS_API_TICKET + appId + "." + secret, jsApiTicket, 7200L); - } - return jsApiTicket; - } } diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/WxServiceProviderUtil.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/WxServiceProviderUtil.java deleted file mode 100644 index 20c7cef..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/WxServiceProviderUtil.java +++ /dev/null @@ -1,407 +0,0 @@ -package com.yida.data.common.core.utils; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.http.HttpUtil; -import cn.hutool.json.JSONArray; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.yida.data.common.core.entity.constant.QywxServiceProviderConstant; -import com.yida.data.common.core.exception.FebsException; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.Map; - -/** - * 企业微信服务商工具类 - * - * @author ZYJ - * @date 2022/11/3 - */ -@Slf4j -@Component -public class WxServiceProviderUtil { - - /** - * 企业微信返回码 - */ - public static final String ERR_CODE = "errcode"; - - /** - * 企业微信对返回码的文本描述内容 - */ - public static final String ERR_MESSAGE = "errmsg"; - - /** - * 企业微信接口成功状态码 - */ - public static final String SUCCESS_CODE = "0"; - - public static final String ACCESS_TOKEN = "access_token"; - - public static final String SUITE_ACCESS_TOKEN = "suite_access_token"; - - public static final String PERMANENT_CODE = "permanent_code"; - - public static final String PROVIDER_ACCESS_TOKEN = "provider_access_token"; - - @Autowired - private RedisService redisService; - - private static String post(String url, String body) { - return post(1, url, body); - } - - private static String post(String url, Map body) { - return post(1, url, body); - } - - private static String post(Integer count, String url, String body) { - if (count <= 3) { - String res = null; - try { - res = HttpUtil.post(url, body); - } catch (Exception e) { - log.error("调用企业微信服务商接口异常: {}", e.getMessage(), e); - if (StrUtil.isNotBlank(e.getMessage()) && e.getMessage().contains("UnknownHostException")) { - try { - Thread.sleep(500L); - } catch (InterruptedException interruptedException) { - interruptedException.printStackTrace(); - } - res = post(++count, url, body); - } - } - return res; - } - return null; - } - - private static String post(Integer count, String url, Map body) { - if (count <= 3) { - String res = null; - try { - res = HttpUtil.post(url, body); - } catch (Exception e) { - log.error("调用企业微信服务商接口异常: {}", e.getMessage(), e); - if (StrUtil.isNotBlank(e.getMessage()) && e.getMessage().contains("UnknownHostException")) { - try { - Thread.sleep(500L); - } catch (InterruptedException interruptedException) { - interruptedException.printStackTrace(); - } - res = post(++count, url, body); - } - } - return res; - } - return null; - } - - private static String get(String url, Map params) { - return get(1, url, params); - } - - private static String get(Integer count, String url, Map params) { - if (count <= 3) { - String res = null; - try { - res = HttpUtil.get(url, params); - } catch (Exception e) { - log.error("调用企业微信服务商接口异常: {}", e.getMessage(), e); - if (StrUtil.isNotBlank(e.getMessage()) && e.getMessage().contains("UnknownHostException")) { - try { - Thread.sleep(500L); - } catch (InterruptedException interruptedException) { - interruptedException.printStackTrace(); - } - res = get(++count, url, params); - } - } - return res; - } else { - return null; - } - } - - /** - * 获取服务商凭证 - * - * @param corpId 服务商的corpid - * @param providerSecret 服务商的secret - * @return java.lang.String - * @author ZYJ - * @date 2022/11/9 13:50 - */ - public String getProviderToken(String corpId, String providerSecret) { - String providerToken = String.valueOf(redisService.get(QywxServiceProviderConstant.PROVIDER_TOKEN + corpId + "." + providerSecret)); - if ("null".equals(providerToken)) { - // 封装请求参数 - JSONObject jsonObject = JSONUtil.createObj() - .set("corpid", corpId) - .set("provider_secret", providerSecret); - // 获取服务商凭证 - String response = post(QywxServiceProviderConstant.GET_PROVIDER_TOKEN_URL, jsonObject.toString()); - JSONObject token = JSONUtil.parseObj(response); - log.info("企业微信服务商请求provider_token请求参数: {}, 返回值: {}", jsonObject, token); - if (!token.containsKey(PROVIDER_ACCESS_TOKEN)) { - throw new FebsException("企业微信服务商请求provider_token失败"); - } - providerToken = token.get(PROVIDER_ACCESS_TOKEN).toString(); - // 缓存accessToken两小时 - redisService.set(QywxServiceProviderConstant.PROVIDER_TOKEN + corpId + "." + providerSecret, providerToken, 7200L); - } - return providerToken; - } - - /** - * 获取企业凭证 - * - * @param authCorpId 授权方corpId - * @param permanentCode 永久授权码 - * @param suiteAccessToken 第三方应用凭证 - * @return java.lang.String - * @author ZYJ - * @date 2022/11/21 17:23 - */ - public String getCorpToken(String authCorpId, String permanentCode, String suiteAccessToken) { - String corpToken = String.valueOf(redisService.get(QywxServiceProviderConstant.CORP_TOKEN + authCorpId + "." + permanentCode)); - if ("null".equals(corpToken)) { - // 封装请求参数 - JSONObject jsonObject = JSONUtil.createObj() - .set("auth_corpid", authCorpId) - .set("permanent_code", permanentCode); - // 获取企业凭证 - String response = post(QywxServiceProviderConstant.GET_CORP_TOKEN_URL + suiteAccessToken, jsonObject.toString()); - JSONObject token = JSONUtil.parseObj(response); - log.info("企业微信请求corp_token请求参数: {}, 返回值: {}", jsonObject, token); - if (!token.containsKey(ACCESS_TOKEN)) { - throw new FebsException("企业微信请求corp_token失败"); - } - corpToken = token.get(ACCESS_TOKEN).toString(); - // 缓存accessToken两小时 - redisService.set(QywxServiceProviderConstant.CORP_TOKEN + authCorpId + "." + permanentCode, corpToken, 7200L); - } - return corpToken; - } - - /** - * 获取第三方应用凭证 - * - * @param suiteId 第三方应用id或者代开发应用模板id - * @param suiteSecret 第三方应用secret 或者代开发应用模板secret - * @param suiteTicket 企业微信后台推送的ticket - * @return java.lang.String - * @author ZYJ - * @date 2022/11/3 15:53 - */ - public String getSuiteAccessToken(String suiteId, String suiteSecret, String suiteTicket) { - String accessToken = String.valueOf(redisService.get(QywxServiceProviderConstant.SUITE_ACCESS_TOKEN + suiteId + "." + suiteSecret)); - if ("null".equals(accessToken)) { - // 封装请求参数 - JSONObject jsonObject = JSONUtil.createObj() - .set("suite_id", suiteId) - .set("suite_secret", suiteSecret) - .set("suite_ticket", suiteTicket); - // 请求微信access token - String response = post(QywxServiceProviderConstant.GET_SUITE_TOKEN_URL, jsonObject.toString()); - JSONObject token = JSONUtil.parseObj(response); - log.info("企业微信服务商请求suite_access_token请求参数: {}, 返回值: {}", jsonObject, token); - if (!token.containsKey(SUITE_ACCESS_TOKEN)) { - throw new FebsException("企业微信服务商请求suite_access_token失败"); - } - accessToken = token.get(SUITE_ACCESS_TOKEN).toString(); - // 缓存accessToken两小时 - redisService.set(QywxServiceProviderConstant.SUITE_ACCESS_TOKEN + suiteId + "." + suiteSecret, accessToken, 7200L); - } - return accessToken; - } - - /** - * 获取企业永久授权码 - * - * @param suiteAccessToken 第三方应用凭证 - * @param authCode 临时授权码 - * @return cn.hutool.json.JSONObject - * @author ZYJ - * @date 2022/11/3 17:55 - */ - public JSONObject getPermanentCode(String suiteAccessToken, String authCode) { - // 封装请求参数 - JSONObject jsonObject = JSONUtil.createObj().set("auth_code", authCode); - - JSONObject response = JSONUtil.parseObj(post(QywxServiceProviderConstant.GET_PERMANENT_CODE_URL + suiteAccessToken, - jsonObject.toString())); - log.info("获取企业服务商永久授权码请求参数: {}, 返回值: {}", jsonObject, response); - if (!response.containsKey(PERMANENT_CODE)) { - throw new FebsException("获取企业服务商永久授权码失败"); - } - return response; - } - - /** - * 获取企业授权信息 - * - * @param suiteAccessToken 第三方应用凭证 - * @param authCorpId 授权方corpid - * @param permanentCode 永久授权码 - * @return cn.hutool.json.JSONObject - * @author ZYJ - * @date 2022/11/7 14:02 - */ - public JSONObject getAuthInfo(String suiteAccessToken, String authCorpId, String permanentCode) { - // 封装请求参数 - JSONObject jsonObject = JSONUtil.createObj() - .set("auth_corpid", authCorpId) - .set("permanent_code", permanentCode); - - JSONObject response = JSONUtil.parseObj(post(QywxServiceProviderConstant.GET_AUTH_INFO_URL + suiteAccessToken, - jsonObject.toString())); - log.info("获取企业授权信息请求参数: {}, 返回值: {}", jsonObject, response); - if (!response.containsKey(PERMANENT_CODE)) { - throw new FebsException("获取企业授权信息失败"); - } - return response; - } - - /** - * 获取企业授权信息 - * - * @param suiteAccessToken 第三方应用凭证 - * @param authCode 临时授权码 - * @return cn.hutool.json.JSONObject - * @author ZYJ - * @date 2022/11/7 15:11 - */ - public JSONObject getAuthInfoDetail(String suiteAccessToken, String authCode) { - // 获取企业永久授权码 - JSONObject jsonObject = getPermanentCode(suiteAccessToken, authCode); - String permanentCode = jsonObject.getStr(PERMANENT_CODE); - String authCorpId = jsonObject.getJSONObject("auth_corp_info").getStr("corpid"); - - return getAuthInfo(suiteAccessToken, authCorpId, permanentCode); - } - - /** - * corpId转换 - * - * @param providerAccessToken 服务商凭证 - * @param corpId 企业ID - * @return java.lang.String - * @author ZYJ - * @date 2022/11/10 9:52 - */ - public String convertCorpId(String providerAccessToken, String corpId) { - // 封装请求参数 - JSONObject jsonObject = JSONUtil.createObj() - .set("corpid", corpId); - JSONObject response = JSONUtil.parseObj(post(QywxServiceProviderConstant.CONVERT_CORP_ID_URL + providerAccessToken, - jsonObject.toString())); - log.info("corpId转换请求参数: {}, 返回值: {}", jsonObject, response); - if (!SUCCESS_CODE.equals(response.containsKey(ERR_CODE) ? response.get(ERR_CODE).toString() : null)) { - log.error("corpId转换失败,code:{},msg:{},params:{}", response.get(ERR_CODE), - response.get(ERR_MESSAGE), jsonObject); - throw new FebsException("corpId转换失败"); - } - return response.getStr("open_corpid"); - } - - /** - * userId转换(单个用户id转换) - * 将企业主体下的明文userid转换为服务商主体下的密文userid - * - * @param accessToken 应用access_token - * @param userId 成员ID - * @return java.lang.String - * @author ZYJ - * @date 2022/12/1 10:33 - */ - public String convertUserIdToSecret(String accessToken, String userId) { - JSONArray array = JSONUtil.createArray(); - array.add(userId); - // 封装请求参数 - JSONObject jsonObject = JSONUtil.createObj() - .set("userid_list", array); - JSONObject response = JSONUtil.parseObj(post(QywxServiceProviderConstant.CONVERT_USER_ID_TO_SECRET_URL + accessToken, - jsonObject.toString())); - log.info("明文userId转换密文userId请求参数: {}, 返回值: {}", jsonObject, response); - if (!SUCCESS_CODE.equals(response.containsKey(ERR_CODE) ? response.get(ERR_CODE).toString() : null)) { - log.error("明文userId转换密文userId失败,code:{},msg:{},params:{}", response.get(ERR_CODE), - response.get(ERR_MESSAGE), jsonObject); - throw new FebsException("明文userId转换密文userId失败"); - } - // 返回的转换用户id信息 - JSONArray userArray = response.getJSONArray("open_userid_list"); - if (CollUtil.isEmpty(userArray)) { - log.error("明文userId转换密文userId失败"); - throw new FebsException("明文userId转换密文userId失败"); - } - Object object = userArray.get(0); - JSONObject obj = JSONUtil.parseObj(object); - return obj.getStr("open_userid"); - } - - /** - * userId的转换 - * 将代开发应用或第三方应用获取的密文open_userid转换为明文userid - * - * @param accessToken 企业自建应用或基础应用的调用接口凭证 - * @param userId 成员ID - * @param agentId 企业授权的代开发自建应用或第三方应用的agentid - * @return java.lang.String - * @author ZYJ - * @date 2023/2/2 10:31 - */ - public String convertUserIdToPlain(String accessToken, String userId, String agentId) { - JSONArray array = JSONUtil.createArray(); - array.add(userId); - // 封装请求参数 - JSONObject jsonObject = JSONUtil.createObj() - .set("open_userid_list", array) - .set("source_agentid", agentId); - JSONObject response = JSONUtil.parseObj(post(QywxServiceProviderConstant.CONVERT_USER_ID_TO_PLAIN_URL + accessToken, - jsonObject.toString())); - log.info("密文userId转换明文userId请求参数: {}, 返回值: {}", jsonObject, response); - if (!SUCCESS_CODE.equals(response.containsKey(ERR_CODE) ? response.get(ERR_CODE).toString() : null)) { - log.error("密文userId转换明文userId失败,code:{},msg:{},params:{}", response.get(ERR_CODE), - response.get(ERR_MESSAGE), jsonObject); - throw new FebsException("密文userId转换明文userId失败"); - } - // 返回的转换用户id信息 - JSONArray userArray = response.getJSONArray("userid_list"); - if (CollUtil.isEmpty(userArray)) { - log.error("密文userId转换明文userId失败"); - throw new FebsException("密文userId转换明文userId失败"); - } - Object object = userArray.get(0); - JSONObject obj = JSONUtil.parseObj(object); - return obj.getStr("userid"); - } - - /** - * 手机号获取userId - * - * @param corpAccessToken 企业token - * @param mobile 手机号 - * @return java.lang.String - * @author ZYJ - * @date 2023/2/2 10:25 - */ - public String getUserIdByMobile(String corpAccessToken, String mobile) { - // 封装请求参数 - JSONObject jsonObject = JSONUtil.createObj() - .set("mobile", mobile); - JSONObject response = JSONUtil.parseObj(post(QywxServiceProviderConstant.GET_USER_ID_BY_MOBILE_URL + corpAccessToken, - jsonObject.toString())); - log.info("手机号获取userId请求参数: {}, 返回值: {}", jsonObject, response); - if (!SUCCESS_CODE.equals(response.containsKey(ERR_CODE) ? response.get(ERR_CODE).toString() : null)) { - log.error("手机号获取userId失败,code:{},msg:{},params:{}", response.get(ERR_CODE), - response.get(ERR_MESSAGE), jsonObject); - throw new FebsException("手机号获取userId失败"); - } - return ""; - } -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/WxUtil.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/WxUtil.java index 3eab974..99248a8 100644 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/WxUtil.java +++ b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/WxUtil.java @@ -9,20 +9,28 @@ import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.yida.data.common.core.entity.constant.FebsConstant; import com.yida.data.common.core.entity.constant.QywxConstant; -import com.yida.data.common.core.entity.constant.WxPublicConstant; import com.yida.data.common.core.entity.notice.qywx.BaseSchoolNotice; import com.yida.data.common.core.entity.notice.qywx.BaseStaffNotice; import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.user.*; +import com.yida.data.common.core.entity.user.EduParent; +import com.yida.data.common.core.entity.user.EduStaff; +import com.yida.data.common.core.entity.user.EduStaffDept; +import com.yida.data.common.core.entity.user.EduStudent; +import com.yida.data.common.core.entity.user.EduTeacherDept; +import com.yida.data.common.core.entity.user.EduUserDept; import com.yida.data.common.core.exception.FebsException; +import java.io.File; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.io.File; -import java.util.*; -import java.util.stream.Collectors; - @Component @Slf4j public class WxUtil { @@ -168,7 +176,7 @@ public class WxUtil { public Boolean pushSchoolNotice(String token, BaseSchoolNotice notice) { JSONObject resp = JSONUtil.parseObj(post(QywxConstant.PUSH_SCHOOL_NOTICE_URL + token, JSONUtil.toJsonStr(notice).replace("\\n", "\n"))); -// log.info("打印学校消息推送信息: {}", JSONUtil.toJsonStr(notice).replace("\\n", "\n")); + log.info("打印学校消息推送信息: {}", JSONUtil.toJsonStr(notice).replace("\\n", "\n")); if (!"0".equals(resp.containsKey("errcode") ? resp.get("errcode").toString() : null)) { log.error("微信通知发送失败,msg:{},notice:{}", resp, notice); return false; @@ -176,14 +184,12 @@ public class WxUtil { return true; } - public Boolean pushStaffNotice(String token, BaseStaffNotice notice) { -// log.info("打印学校消息推送信息: {}", JSONUtil.toJsonStr(notice).replace("\\n", "\n")); JSONObject resp = JSONUtil.parseObj(post(QywxConstant.PUSH_STAFF_NOTICE_URL + token, JSONUtil.toJsonStr(notice).replace("\\n", "\n"))); -// log.info("打印学校消息推送信息返回信息: {}", resp); + log.info("打印学校消息推送信息: {}", JSONUtil.toJsonStr(notice).replace("\\n", "\n")); if (!"0".equals(resp.containsKey("errcode") ? resp.get("errcode").toString() : null)) { - log.error("微信通知发送失败,msg:{},notice:{}", resp.get("errmsg"), JSONUtil.toJsonStr(notice).replace("\\n", "\n")); + log.error("微信通知发送失败,msg:{},notice:{}", resp.get("errmsg"), notice); return false; } return true; @@ -220,41 +226,6 @@ public class WxUtil { return user.getJSONArray("userlist"); } - /** - * 获取成员ID列表 - * - * @param accessToken 调用接口凭证 - * @param cursor 用于分页查询的游标,字符串类型,由上一次调用返回,首次调用不填 - * @param limit 分页,预期请求的数据量,取值范围 1 ~ 10000 - * @return cn.hutool.json.JSONArray - * @author ZYJ - * @date 2022/12/6 17:35 - */ - public JSONArray getUserIdList(String accessToken, String cursor, String limit, JSONArray jsonArray) { - // 封装请求参数 - JSONObject params = JSONUtil.createObj() - .set("limit", limit); - if (StrUtil.isNotBlank(cursor)) { - params.set("cursor", cursor); - } - String response = post(QywxConstant.USER_ID_LIST_URL + accessToken, params.toString()); - JSONObject jsonObject = JSONUtil.parseObj(response); - log.info("企业微信获取成员ID列表请求参数: {}, 返回值: {}", params, jsonObject); - if (!SUCCESS_CODE.equals(jsonObject.containsKey(ERR_CODE) ? jsonObject.get(ERR_CODE).toString() : null)) { - log.error("企业微信获取获取成员ID列表失败,code:{},msg:{}", jsonObject.get(ERR_CODE), jsonObject.get(ERR_MESSAGE)); - throw new FebsException("企业微信获取获取成员ID列表失败"); - } - // 获取成员列表id数据 - JSONArray deptUser = jsonObject.getJSONArray("dept_user"); - jsonArray.addAll(deptUser); - // 获取分页游标 - String nextCursor = jsonObject.getStr("next_cursor"); - if (StrUtil.isNotBlank(nextCursor)) { - getUserIdList(accessToken, nextCursor, limit, jsonArray); - } - return jsonArray; - } - /** * 使用授权登陆code,获取成员信息,通讯录成员返回UserId,家长返回parent_userid */ @@ -265,17 +236,14 @@ public class WxUtil { params.put("code", code); String response = get(QywxConstant.USER_INFO_URL, params); JSONObject user = JSONUtil.parseObj(response); - if (!SUCCESS_CODE.equals(user.containsKey(ERR_CODE) ? user.get(ERR_CODE).toString() : null)) { - log.error("请求微信用户信息失败,code:{},msg:{}", user.get(ERR_CODE), - user.get(ERR_MESSAGE)); + if (!"0".equals(user.containsKey("errcode") ? user.get("errcode").toString() : null)) { + log.error("请求微信用户信息失败,code:{},msg:{}", user.get("errcode"), + user.get("errmsg")); throw new FebsException("获取用户信息失败"); } return user; } - /** - * 查询用户详细信息 - */ public JSONObject getUserDetail(String accessToken, String userId) { // 查询用户微信userid Map params = new HashMap<>(); @@ -283,34 +251,10 @@ public class WxUtil { params.put("userid", userId); String userDetailResponse = get(QywxConstant.USER_DETAIL_URL, params); JSONObject userDetail = JSONUtil.parseObj(userDetailResponse); - log.info("请求企业微信用户详细信息请求参数: {}, 返回值: {}", params, userDetail); - if (!SUCCESS_CODE.equals(userDetail.containsKey(ERR_CODE) ? userDetail.get(ERR_CODE).toString() : null)) { - log.error("请求企业微信用户详细信息失败,code:{},msg:{}", userDetail.get(ERR_CODE), - userDetail.get(ERR_MESSAGE)); - throw new FebsException("请求企业微信用户详细信息失败"); - } - return userDetail; - } - - /** - * 查询用户敏感信息 - * - * @param accessToken 调用接口凭证 - * @param userTicket 成员票据 - * @return cn.hutool.json.JSONObject - * @author ZYJ - * @date 2022/11/28 15:35 - */ - public JSONObject getUserSensitiveInfo(String accessToken, String userTicket) { - JSONObject params = JSONUtil.createObj() - .set("user_ticket", userTicket); - String userDetailResponse = post(QywxConstant.USER_SENSITIVE_INFO_URL + accessToken, params.toString()); - JSONObject userDetail = JSONUtil.parseObj(userDetailResponse); - log.info("查询用户敏感信息请求参数: {}, 返回值: {}", params, userDetail); - if (!SUCCESS_CODE.equals(userDetail.containsKey(ERR_CODE) ? userDetail.get(ERR_CODE).toString() : null)) { - log.error("查询用户敏感信息失败,code:{}, msg:{}", userDetail.get(ERR_CODE), - userDetail.get(ERR_MESSAGE)); - throw new FebsException("查询用户敏感信息失败"); + if (!"0".equals(userDetail.containsKey("errcode") ? userDetail.get("errcode").toString() : null)) { + log.error("请求微信用户详细信息失败,code:{},msg:{}", userDetail.get("errcode"), + userDetail.get("errmsg")); + throw new FebsException("获取用户信息失败"); } return userDetail; } @@ -384,9 +328,9 @@ public class WxUtil { if (deptId != null) { params.put("id", deptId); } + JSONObject response = JSONUtil.parseObj( get(QywxConstant.DEPT_LIST_URL, params)); - log.info("获取企业微信部门列表请求参数: {}, 返回值: {}", params, response); if (!"0".equals(response.containsKey("errcode") ? response.get("errcode").toString() : null)) { log.error("获取企业微信部门列表失败,code:{},msg:{},params:{}", response.get("errcode"), response.get("errmsg"), params); @@ -396,50 +340,6 @@ public class WxUtil { return response.getJSONArray("department").toList(Map.class); } - /** - * 获取子部门ID列表 - * - * @param accessToken 调用接口凭证 - * @param deptId 部门id。获取指定部门及其下的子部门(以及子部门的子部门等等,递归)。 如果不填,默认获取全量组织架构 - * @return java.util.List - * @author ZYJ - * @date 2023/4/24 10:46 - */ - public List listSimpleDept(String accessToken, Long deptId) { - Map params = new HashMap<>(); - params.put("access_token", accessToken); - if (deptId != null) { - params.put("id", deptId); - } - JSONObject response = JSONUtil.parseObj(get(QywxConstant.SIMPLE_DEPT_LIST_URL, params)); - log.info("获取企业微信子部门ID列表请求参数: {}, 返回值: {}", params, response); - if (!SUCCESS_CODE.equals(response.containsKey(ERR_CODE) ? response.get(ERR_CODE).toString() : null)) { - log.error("获取企业微信子部门ID列表失败,code:{},msg:{},params:{}", response.get(ERR_CODE), - response.get(ERR_MESSAGE), params); - throw new FebsException("获取企业微信子部门ID列表失败"); - } - return response.getJSONArray("department_id").toList(Map.class); - } - - /** - * 获取单个部门详情 - */ - public JSONObject getDeptInfo(String accessToken, String deptId) { - Map params = new HashMap<>(); - params.put("access_token", accessToken); - if (deptId != null) { - params.put("id", deptId); - } - JSONObject response = JSONUtil.parseObj(get(QywxConstant.DEPT_INFO_URL, params)); - log.info("获取企业单个部门详情请求参数: {}, 返回值: {}", params, response); - if (!SUCCESS_CODE.equals(response.containsKey(ERR_CODE) ? response.get(ERR_CODE).toString() : null)) { - log.error("获取企业单个部门详情失败,code:{},msg:{},params:{}", response.get(ERR_CODE), - response.get(ERR_MESSAGE), params); - throw new FebsException("获取企业单个部门详情失败"); - } - return response.getJSONObject("department"); - } - /** * 创建企业微信部门(家校沟通) */ @@ -507,10 +407,10 @@ public class WxUtil { JSONObject response = JSONUtil.parseObj( post(QywxConstant.SCHOOL_DEPT_UPDATE_URL + "?access_token=" + accessToken, JSONUtil.toJsonStr(body))); - log.info("删除部门管理员接口,params:[{}],res:[{}]", body, response); - if (!SUCCESS_CODE.equals(response.containsKey(ERR_CODE) ? response.get(ERR_CODE).toString() : null)) { - log.error("企业微信删除部门(家校)管理员失败,code:{},msg:{}", response.get(ERR_CODE), - response.get(ERR_MESSAGE)); + log.info("删除部门,params:[{}],res:[{}]", body, response); + if (!"0".equals(response.containsKey("errcode") ? response.get("errcode").toString() : null)) { + log.error("企业微信删除部门(家校)管理员失败,code:{},msg:{}", response.get("errcode"), + response.get("errmsg")); throw new FebsException("删除部门(家校)管理员失败"); } } @@ -544,10 +444,9 @@ public class WxUtil { } JSONObject response = JSONUtil.parseObj( get(QywxConstant.SCHOOL_DEPT_LIST_URL, params)); - log.info("获取家校沟通部门列表请求参数: {}, 返回值: {}", params, response); - if (!SUCCESS_CODE.equals(response.containsKey(ERR_CODE) ? response.get(ERR_CODE).toString() : null)) { - log.error("获取企业微信部门(家校)列表失败,code:{},msg:{},params:{}", response.get(ERR_CODE), - response.get(ERR_MESSAGE), params); + if (!"0".equals(response.containsKey("errcode") ? response.get("errcode").toString() : null)) { + log.error("获取企业微信部门(家校)列表失败,code:{},msg:{},params:{}", response.get("errcode"), + response.get("errmsg"), params); throw new FebsException("获取企业微信部门(家校)列表失败"); } @@ -590,9 +489,6 @@ public class WxUtil { if (StrUtil.isNotBlank(staff.getLandLine())) { body.put("telephone", staff.getLandLine()); } - if (StrUtil.isNotBlank(staff.getAddress())) { - body.put("address", staff.getAddress()); - } log.info(JSONUtil.toJsonStr(body)); JSONObject response = JSONUtil.parseObj( post(QywxConstant.USER_CREATE_URL + "?access_token=" + accessToken, @@ -668,15 +564,12 @@ public class WxUtil { if (StrUtil.isNotBlank(staff.getLandLine())) { body.put("telephone", staff.getLandLine()); } - if (StrUtil.isNotBlank(staff.getAddress())) { - body.put("address", staff.getAddress()); - } log.info(JSONUtil.toJsonStr(body)); JSONObject response = JSONUtil.parseObj( post(QywxConstant.USER_UPDATE_URL + "?access_token=" + accessToken, JSONUtil.toJsonStr(body))); if (!"0".equals(response.containsKey("errcode") ? response.get("errcode").toString() : null)) { - log.error("企业微信修改用户失败,code:{},msg:{}", response.get("errcode"), + log.error("企业微信新增用户失败,code:{},msg:{}", response.get("errcode"), response.get("errmsg")); throw new FebsException("更新职工失败"); } @@ -691,7 +584,6 @@ public class WxUtil { JSONObject response = JSONUtil.parseObj( post(QywxConstant.USER_DELETE_URL + "?access_token=" + accessToken, JSONUtil.toJsonStr(body))); - log.info("企业微信删除用户请求参数: {}, 返回值: {}", body, response); if (!"0".equals(response.containsKey("errcode") ? response.get("errcode").toString() : null)) { log.error("企业微信删除用户失败,code:{},msg:{}", response.get("errcode"), response.get("errmsg")); @@ -827,7 +719,6 @@ public class WxUtil { JSONObject response = JSONUtil.parseObj( post(QywxConstant.PARENT_CREATE_URL + "?access_token=" + accessToken, JSONUtil.toJsonStr(body))); - log.info("企业微信新增家长,res:[{}],params:[{}]", response, body); if (!"0".equals(response.containsKey("errcode") ? response.get("errcode").toString() : null)) { log.error("企业微信新增家长失败,code:{},msg:{},result_list:{}", response.get("errcode"), response.get("errmsg"), response.get("result_list")); @@ -983,43 +874,10 @@ public class WxUtil { JSONObject response = JSONUtil.parseObj( get(QywxConstant.SCHOOL_DEPT_DELETE_URL, params)); - String code = response.containsKey(ERR_CODE) ? response.get(ERR_CODE).toString() : null; - // 60003代表企业微信部门不存在 - if (!SUCCESS_CODE.equals(code) && !"60003".equals(code)) { + if (!SUCCESS_CODE.equals(response.containsKey(ERR_CODE) ? response.get(ERR_CODE).toString() : null)) { log.error("企业微信删除家校部门失败,code:{},msg:{},params:{}", response.get(ERR_CODE), response.get(ERR_MESSAGE), params); throw new FebsException("删除家校部门失败,请检查是否包含成员或子部门"); } } - - /** - * 获取企业微信JS-SDK jsapi_ticket - * - * @param accessToken 应用token - * @param deptId 部门id - * @return java.lang.String - * @author ZYJ - * @date 2023/6/5 14:50 - */ - public String getJsApiTicket(String accessToken, Long deptId) { - String jsApiTicket = - String.valueOf(redisService.get(FebsConstant.QYWX_WX_JS_API_TICKET + deptId)); - if ("null".equals(jsApiTicket)) { - - Map params = new HashMap<>(); - params.put("access_token", accessToken); - // 获取JS-SDK jsapi_ticket - String response = get(QywxConstant.GET_JS_API_TICKET_URL, params); - JSONObject token = JSONUtil.parseObj(response); - if (token.containsKey("errcode") && !"0".equals(token.get("errcode").toString())) { - log.error("获取JS-SDK jsapi_ticket失败,code:{},msg:{}", token.get("errcode").toString(), - token.get("errmsg").toString()); - throw new FebsException("验证失败"); - } - jsApiTicket = token.get("ticket").toString(); - // 缓存accessToken两小时 - redisService.set(FebsConstant.QYWX_WX_JS_API_TICKET + deptId, jsApiTicket, 7200L); - } - return jsApiTicket; - } } diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/construction/ABAProvider.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/construction/ABAProvider.java deleted file mode 100644 index 4d9b54c..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/construction/ABAProvider.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.yida.data.common.core.utils.construction; - -import java.security.Provider; - -/** - * ABAProvider类 - * - * @author ZYJ - * @date 2023/6/22 2:24 - */ -public class ABAProvider extends Provider { - - private static String info = "ABA Security Provider v1.1, SHA, MD5 message Digests, and Crypto algorithms."; - - public ABAProvider() { - super("ABA", 1.1, info); - this.put("MessageDigest.MD5", "netpay.merchant.crypto.MD5"); - this.put("MessageDigest.SHA-1", "netpay.merchant.crypto.SHA1"); - this.put("Alg.Alias.MessageDigest.SHA1", "SHA-1"); - this.put("Alg.Alias.MessageDigest.SHA", "SHA-1"); - this.put("MessageDigest.SHA-0", "netpay.merchant.crypto.SHA0"); - this.put("MessageDigest.CRC16", "netpay.merchant.crypto.CRC16"); - this.put("Cipher.RSA", "netpay.merchant.crypto.RSA"); - this.put("Alg.Alias.Cipher.OID.1.2.840.113549.1.1.1", "RSA"); - this.put("Cipher.RC4", "netpay.merchant.crypto.RC4"); - this.put("Cipher.DES", "netpay.merchant.crypto.DES"); - this.put("Cipher.DESede", "netpay.merchant.crypto.DESede"); - this.put("Cipher.IDEA", "netpay.merchant.crypto.IDEA"); - this.put("Cipher.Blowfish", "netpay.merchant.crypto.Blowfish"); - this.put("Cipher.Twofish", "netpay.merchant.crypto.Twofish"); - this.put("Cipher.PBEWithMD5AndDES", "netpay.merchant.crypto.PBEWithMD5AndDES"); - this.put("Cipher.PBEWithSHA1And128BitRC4", "netpay.merchant.crypto.PBEWithSHA1And128BitRC4"); - this.put("Mac.DESMac", "netpay.merchant.crypto.DESMac"); - this.put("Alg.Alias.Mac.DES-MAC", "DESMac"); - this.put("KeyPairGenerator.RSA", "netpay.merchant.crypto.RSAKeyPairGenerator"); - this.put("Alg.Alias.KeyPairGenerator.OID.1.2.840.113549.1.1.1", "RSA"); - this.put("Alg.Alias.KeyPairGenerator.1.2.840.113549.1.1.1", "RSA"); - this.put("KeyGenerator.RC4", "netpay.merchant.crypto.RC4KeyGenerator"); - this.put("KeyGenerator.DES", "netpay.merchant.crypto.DESKeyGenerator"); - this.put("KeyGenerator.DESede", "netpay.merchant.crypto.DESedeKeyGenerator"); - this.put("KeyGenerator.IDEA", "netpay.merchant.crypto.IDEAKeyGenerator"); - this.put("KeyGenerator.Blowfish", "netpay.merchant.crypto.BlowfishKeyGenerator"); - this.put("KeyGenerator.Twofish", "netpay.merchant.crypto.TwofishKeyGenerator"); - this.put("KeyFactory.RSA", "netpay.merchant.crypto.RSAKeyFactory"); - this.put("Alg.Alias.KeyFactory.1.2.840.113549.1.1.1", "RSA"); - this.put("SecretKeyFactory.DES", "netpay.merchant.crypto.DESKeyFactory"); - this.put("SecretKeyFactory.DESede", "netpay.merchant.crypto.DESedeKeyFactory"); - this.put("SecretKeyFactory.RC4", "netpay.merchant.crypto.RC4KeyFactory"); - this.put("SecretKeyFactory.IDEA", "netpay.merchant.crypto.IDEAKeyFactory"); - this.put("SecretKeyFactory.Blowfish", "netpay.merchant.crypto.BlowfishKeyFactory"); - this.put("SecretKeyFactory.Twofish", "netpay.merchant.crypto.TwofishKeyFactory"); - this.put("SecretKeyFactory.PBEWithMD5AndDES", "netpay.merchant.crypto.PBEKeyFactory"); - this.put("SecretKeyFactory.PBEWithSHA1And128BitRC4", "netpay.merchant.crypto.PBEKeyFactory"); - this.put("KeyStore.ABA", "netpay.merchant.crypto.KeyStore"); - this.put("Signature.MD5withRSA", "netpay.merchant.crypto.MD5withRSA"); - this.put("Alg.Alias.Signature.MD5/RSA", "MD5withRSA"); - this.put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.4", "MD5withRSA"); - this.put("Alg.Alias.Signature.1.2.840.113549.1.1.4", "MD5withRSA"); - this.put("Alg.Alias.Signature.1.3.14.3.2.25", "MD5withRSA"); - this.put("CertificateFactory.X509", "au.net.aba.cert.ABAX509CertFactory"); - this.put("Alg.Alias.CertificateFactory.X.509", "X509"); - } - -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/construction/DER.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/construction/DER.java deleted file mode 100644 index f3f98d2..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/construction/DER.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.yida.data.common.core.utils.construction; - -import java.io.DataInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.math.BigInteger; - -/** - * DER类 - * - * @author ZYJ - * @date 2023/6/22 2:26 - */ -public class DER { - - static int INTEGER = 2; - static int BIT_STRING = 3; - static int OCTET_STRING = 4; - static int SEQUENCE = 16; - static int CONSTRUCTED = 32; - static byte[] version = new byte[]{2, 1, 0}; - static byte[] rsaEncryptionAlgorithmIdentifier = new byte[]{48, 13, 6, 9, 42, -122, 72, -122, -9, 13, 1, 1, 1, 5, 0}; - - DER() { - } - - static BigInteger readDERint(InputStream inputstream) throws IOException { - DataInputStream datainputstream = new DataInputStream(inputstream); - int i = readTag(datainputstream); - int j = readLen(datainputstream); - if (i != INTEGER) { - throw new RuntimeException("Expecting tag[0x02] got " + Integer.toHexString(i)); - } else if (j > 5096) { - throw new RuntimeException("Length value seems a little big " + Integer.toHexString(j)); - } else { - byte[] abyte0 = new byte[j]; - datainputstream.readFully(abyte0); - return new BigInteger(abyte0); - } - } - - static int readLen(InputStream inputstream) throws IOException { - int i = inputstream.read(); - if (i > 127) { - int j = 0; - i ^= 128; - - for(int k = 0; k < i; ++k) { - j = j * 256 + inputstream.read(); - } - - i = j; - } - - return i; - } - - static int readTag(InputStream inputstream) throws IOException { - return inputstream.read(); - } - - static int writeDERint(OutputStream outputstream, BigInteger biginteger) throws IOException { - byte[] abyte0 = biginteger.toByteArray(); - int i = abyte0.length + 1; - outputstream.write(INTEGER); - i += writeDERlen(outputstream, abyte0.length); - outputstream.write(abyte0); - return i; - } - - static int writeDERlen(OutputStream outputstream, int i) throws IOException { - if (i <= 127) { - outputstream.write((byte)i); - return 1; - } else { - byte byte0 = 1; - if (i >= 256) { - byte0 = 2; - } else if (i >= 65536) { - byte0 = 3; - } else if (i >= 16777216) { - byte0 = 4; - } - - outputstream.write((byte)(byte0 | 128)); - - for(int j = (byte0 - 1) * 8; j >= 0; j -= 8) { - int k = i >> j; - outputstream.write((byte)k); - } - - return byte0; - } - } -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/construction/RSAPubKey.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/construction/RSAPubKey.java deleted file mode 100644 index bb71b39..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/construction/RSAPubKey.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.yida.data.common.core.utils.construction; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.math.BigInteger; -import java.security.interfaces.RSAPublicKey; - -/** - * RSAPubKey类 - * - * @author ZYJ - * @date 2023/6/22 2:25 - */ -public class RSAPubKey implements RSAPublicKey { - - protected BigInteger exponent; - protected BigInteger modulus; - - public RSAPubKey() { - } - - public RSAPubKey(BigInteger biginteger, BigInteger biginteger1) { - this.modulus = biginteger; - this.exponent = biginteger1; - } - - public RSAPubKey(byte[] abyte0) { - this.x509Decode(abyte0); - } - - @Override - public String getAlgorithm() { - return "RSA"; - } - - @Override - public byte[] getEncoded() { - return this.x509Encode(); - } - - @Override - public String getFormat() { - return "X.509"; - } - - @Override - public BigInteger getModulus() { - return this.modulus; - } - - @Override - public BigInteger getPublicExponent() { - return this.exponent; - } - - @Override - public String toString() { - return this.modulus.toString(16) + "." + this.exponent.toString(16); - } - - private void x509Decode(byte[] abyte0) { - ByteArrayInputStream bytearrayinputstream = new ByteArrayInputStream(abyte0); - - try { - DER.readTag(bytearrayinputstream); - DER.readLen(bytearrayinputstream); - bytearrayinputstream.skip((long)DER.rsaEncryptionAlgorithmIdentifier.length); - DER.readTag(bytearrayinputstream); - DER.readLen(bytearrayinputstream); - bytearrayinputstream.skip(1L); - DER.readTag(bytearrayinputstream); - DER.readLen(bytearrayinputstream); - this.modulus = DER.readDERint(bytearrayinputstream); - this.exponent = DER.readDERint(bytearrayinputstream); - } catch (IOException var4) { - var4.printStackTrace(); - throw new ExceptionInInitializerError(var4); - } - } - - private byte[] x509Encode() { - try { - ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream(); - DER.writeDERint(bytearrayoutputstream, this.modulus); - DER.writeDERint(bytearrayoutputstream, this.exponent); - byte[] abyte0 = bytearrayoutputstream.toByteArray(); - bytearrayoutputstream = new ByteArrayOutputStream(); - bytearrayoutputstream.write(DER.SEQUENCE | DER.CONSTRUCTED); - DER.writeDERlen(bytearrayoutputstream, abyte0.length); - bytearrayoutputstream.write(abyte0); - byte[] abyte1 = bytearrayoutputstream.toByteArray(); - bytearrayoutputstream = new ByteArrayOutputStream(); - bytearrayoutputstream.write(DER.BIT_STRING); - DER.writeDERlen(bytearrayoutputstream, abyte1.length + 1); - bytearrayoutputstream.write(0); - bytearrayoutputstream.write(abyte1); - byte[] abyte2 = bytearrayoutputstream.toByteArray(); - bytearrayoutputstream = new ByteArrayOutputStream(); - bytearrayoutputstream.write(DER.SEQUENCE | DER.CONSTRUCTED); - DER.writeDERlen(bytearrayoutputstream, DER.rsaEncryptionAlgorithmIdentifier.length + abyte2.length); - bytearrayoutputstream.write(DER.rsaEncryptionAlgorithmIdentifier); - bytearrayoutputstream.write(abyte2); - return bytearrayoutputstream.toByteArray(); - } catch (IOException var5) { - var5.printStackTrace(); - throw new ExceptionInInitializerError(var5); - } - } - -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/construction/RSASig.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/construction/RSASig.java deleted file mode 100644 index 32bf1c3..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/construction/RSASig.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.yida.data.common.core.utils.construction; - -import java.security.*; - -/** - * RSASig类 - * - * @author ZYJ - * @date 2023/6/22 2:22 - */ -public class RSASig { - - private String pubKey; - private static final char[] bcdLookup = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; - - public RSASig() { - } - - public String getPublicKey() { - return this.pubKey; - } - - public void setPublicKey(String pkey) { - this.pubKey = pkey; - } - - public boolean verifySignature(String sign, String src) { - try { - Security.addProvider(new ABAProvider()); - Signature sigEng = Signature.getInstance("MD5withRSA", "ABA"); - byte[] pubByte = hexStrToBytes(this.pubKey.trim()); - sigEng.initVerify(new RSAPubKey(pubByte)); - sigEng.update(src.getBytes()); - byte[] sign1 = hexStrToBytes(sign); - return sigEng.verify(sign1); - } catch (Exception var6) { - return false; - } - } - - public static final String bytesToHexStr(byte[] bcd) { - StringBuffer s = new StringBuffer(bcd.length * 2); - - for(int i = 0; i < bcd.length; ++i) { - s.append(bcdLookup[bcd[i] >>> 4 & 15]); - s.append(bcdLookup[bcd[i] & 15]); - } - - return s.toString(); - } - - public static final byte[] hexStrToBytes(String s) { - byte[] bytes = new byte[s.length() / 2]; - - for(int i = 0; i < bytes.length; ++i) { - bytes[i] = (byte)Integer.parseInt(s.substring(2 * i, 2 * i + 2), 16); - } - - return bytes; - } - -} diff --git a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/file/ChunkUtil.java b/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/file/ChunkUtil.java deleted file mode 100644 index 58c89c4..0000000 --- a/febs-common/febs-common-core/src/main/java/com/yida/data/common/core/utils/file/ChunkUtil.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.yida.data.common.core.utils.file; - -import com.yida.data.common.core.exception.FebsException; -import lombok.extern.slf4j.Slf4j; - -import java.io.RandomAccessFile; - -/** - * 分片工具类 - * - * @author ZYJ - * @date 2023/10/20 10:35 - */ -@Slf4j -public class ChunkUtil { - - /** - * 获取分片字节信息 - */ - public static byte[] getChunk(Integer index, Integer chunkSize, String resultFileName, long offset) { - try (RandomAccessFile randomAccessFile = new RandomAccessFile(resultFileName, "r")) { - // 定位到该分片的偏移量 - randomAccessFile.seek(offset); - //读取 - byte[] buffer = new byte[chunkSize]; - randomAccessFile.read(buffer); - return buffer; - } catch (Exception e) { - log.error("获取分片信息失败"); - throw new FebsException("获取分片信息失败"); - } - } -} diff --git a/febs-common/febs-common-core/src/main/resources/META-INF/spring.factories b/febs-common/febs-common-core/src/main/resources/META-INF/spring.factories index 9568df0..4e32f5b 100644 --- a/febs-common/febs-common-core/src/main/resources/META-INF/spring.factories +++ b/febs-common/febs-common-core/src/main/resources/META-INF/spring.factories @@ -5,5 +5,4 @@ com.yida.data.common.core.utils.WxUtil,\ com.yida.data.common.core.utils.WxPublicUtil,\ com.yida.data.common.core.utils.UnionPayPublicUtil,\ com.yida.data.common.core.configure.AsyncPollConfigure,\ -com.yida.data.common.core.handler.BaseExceptionHandler,\ -com.yida.data.common.core.utils.WxServiceProviderUtil \ No newline at end of file +com.yida.data.common.core.handler.BaseExceptionHandler \ No newline at end of file diff --git a/febs-common/febs-common-log-starter/src/main/java/com/yida/data/log/aspect/OperationLogAspect.java b/febs-common/febs-common-log-starter/src/main/java/com/yida/data/log/aspect/OperationLogAspect.java index 1dfc2e9..337dcff 100644 --- a/febs-common/febs-common-log-starter/src/main/java/com/yida/data/log/aspect/OperationLogAspect.java +++ b/febs-common/febs-common-log-starter/src/main/java/com/yida/data/log/aspect/OperationLogAspect.java @@ -3,7 +3,6 @@ package com.yida.data.log.aspect; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.yida.data.common.core.entity.CurrentUser; import com.yida.data.common.core.exception.FebsException; import com.yida.data.common.core.utils.FebsUtil; import com.yida.data.log.service.LogService; @@ -61,24 +60,13 @@ public class OperationLogAspect { public Object insertOperationLog(ProceedingJoinPoint joinPoint) throws Throwable { //返回结果 Object result; - HttpServletRequest request = ((ServletRequestAttributes) Objects - .requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); + HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); //请求参数 String params = getRequestParams(joinPoint, request); //执行接口 result = joinPoint.proceed(); //异步保存日志 - Long createId = null; - String createName = null; - if (FebsUtil.isLogin()) { - CurrentUser currentUser = FebsUtil.getCurrentUser(); - if (currentUser != null) { - createId = currentUser.getUserId(); - createName = currentUser.getUsername(); - } - } - logService.saveOperationLog(joinPoint, FebsUtil.getHttpServletRequestIpAddress(), params, result, createId, - createName); + logService.saveOperationLog(joinPoint, FebsUtil.getHttpServletRequestIpAddress(), params, result); return result; } diff --git a/febs-common/febs-common-log-starter/src/main/java/com/yida/data/log/service/LogService.java b/febs-common/febs-common-log-starter/src/main/java/com/yida/data/log/service/LogService.java index 9d70bd7..2afa0a0 100644 --- a/febs-common/febs-common-log-starter/src/main/java/com/yida/data/log/service/LogService.java +++ b/febs-common/febs-common-log-starter/src/main/java/com/yida/data/log/service/LogService.java @@ -15,7 +15,6 @@ import com.yida.data.log.annotation.OperationLog; import org.apache.commons.lang3.StringUtils; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.reflect.MethodSignature; -import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import java.lang.reflect.Method; @@ -50,23 +49,21 @@ public class LogService { * @author ZYJ * @date 2021/1/8 16:30 */ - @Async - public void saveOperationLog(JoinPoint joinPoint, String ip, String params, Object result, Long createId, String createName) { + //@Async + public void saveOperationLog(JoinPoint joinPoint, String ip, String params, Object result) { MethodSignature signature = (MethodSignature) joinPoint.getSignature(); Method method = signature.getMethod(); OperationLog opLog = method.getAnnotation(OperationLog.class); //ip地址 Log systemLogInfo = new Log(); - systemLogInfo.setCreateId(createId); - systemLogInfo.setCreateName(createName); // 创建人 -// if (FebsUtil.isLogin()) { -// CurrentUser currentUser = FebsUtil.getCurrentUser(); -// if (currentUser != null) { -// systemLogInfo.setCreateId(currentUser.getUserId()); -// systemLogInfo.setCreateName(currentUser.getUsername()); -// } -// } + if (FebsUtil.isLogin()) { + CurrentUser currentUser = FebsUtil.getCurrentUser(); + if (currentUser != null) { + systemLogInfo.setCreateId(currentUser.getUserId()); + systemLogInfo.setCreateName(currentUser.getUsername()); + } + } systemLogInfo.setIp(ip); //设置开始时间 systemLogInfo.setStartTime(LocalDateTime.now()); @@ -87,8 +84,8 @@ public class LogService { systemLogInfo.setResult(JSON.toJSONString(result)); //将返回值转换为对象 ResultBean logResult = JSON.parseObject(JSON.toJSONString(result), - new TypeReference>() { - }); + new TypeReference>() { + }); int successStatus = 200; if (logResult != null) { if (logResult.getStatus() == successStatus) { @@ -112,7 +109,7 @@ public class LogService { systemLogInfo.setEndTime(LocalDateTime.now()); //操作时长 systemLogInfo.setOperationTime(LocalDateTimeUtil.between(systemLogInfo.getStartTime(), - systemLogInfo.getEndTime(), ChronoUnit.MILLIS)); + systemLogInfo.getEndTime(), ChronoUnit.MILLIS)); //保存数据到redis list数据 redisService.lSet(CachePrefixConstant.OPERATION_LOG_LIST, systemLogInfo); } diff --git a/febs-common/rabbitmq-starter/src/main/java/com/yida/data/rabbit/constant/RabbitConstant.java b/febs-common/rabbitmq-starter/src/main/java/com/yida/data/rabbit/constant/RabbitConstant.java index 29e6054..616b618 100644 --- a/febs-common/rabbitmq-starter/src/main/java/com/yida/data/rabbit/constant/RabbitConstant.java +++ b/febs-common/rabbitmq-starter/src/main/java/com/yida/data/rabbit/constant/RabbitConstant.java @@ -104,19 +104,4 @@ public interface RabbitConstant { * websocket推送队列与交换机绑定key */ String MSG_WEBSOCKET_KEY = "msg_websocket_key"; - - /** - * 企业微信处理交换机 - */ - String QYWX_HANDLE_EXCHANGE = "qywx_handle_exchange"; - - /** - * 企业微信处理队列 - */ - String QYWX_HANDLE_QUEUE = "qywx_handle_queue"; - - /** - * 企业微信处理绑定key值 - */ - String QYWX_HANDLE_KEY = "qywx_handle_key"; } diff --git a/febs-server/attendance/attendance-api/pom.xml b/febs-server/attendance/attendance-api/pom.xml deleted file mode 100644 index 36b87a3..0000000 --- a/febs-server/attendance/attendance-api/pom.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - attendance - com.yida.data.attendance - 2.2-RELEASE - - 4.0.0 - - attendance-api - jar - - 8 - 8 - - - \ No newline at end of file diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRecordDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRecordDTO.java deleted file mode 100644 index 09813ef..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRecordDTO.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.enums.MsgChannel; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import java.time.LocalTime; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * @date 2023-08-09 11:37:25 - */ -@Data -@TableName("attendance_record") -public class AddAttendanceRecordDTO { - - @ApiModelProperty(value = "考勤规则ID") - private Long ruleId; - - @ApiModelProperty(value = "考勤时段ID") - private Long ruleTimeId; - /** - * - */ - @ApiModelProperty(value = "0教师,1学生") - private Integer userType; - - /** - * - */ - @ApiModelProperty(value = "") - private Long userId; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - private Long schoolId; - - /** - * 考勤设备id - */ - @ApiModelProperty(value = "考勤设备id") - private Long deviceId; - - /** - * 考勤设备编号 - */ - @ApiModelProperty(value = "考勤设备编号") - private String deviceSn; - - /** - * 考勤wifiid - */ - @ApiModelProperty(value = "考勤wifiid") - private Long wifiId; - - - /** - * 考勤范围ID - */ - @ApiModelProperty(value = "考勤范围ID") - private Long addressId; - - - /** - * 闸机识别图片地址 - */ - @ApiModelProperty(value = "闸机识别图片地址或者人脸识别比对图片地址") - private String picUrl; - - @ApiModelProperty(value = "wifi名称") - private String wifiName; - - @ApiModelProperty(value = "wifi BSSID") - private String wifiBssid; - - @ApiModelProperty(value = "打卡时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - - private MsgChannel msgChannel; - - /** - * 名称 - */ - private String name; - - /** - * es记录id - */ - private String esRecordId; - - /** - * 设备侧元数据ID - */ - private String originalRecordId; -} \ No newline at end of file diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceReportStrategyDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceReportStrategyDTO.java deleted file mode 100644 index 3260c25..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceReportStrategyDTO.java +++ /dev/null @@ -1,161 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import java.time.LocalTime; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * @date 2023-08-09 11:37:25 - */ -@Data -public class AddAttendanceReportStrategyDTO { - - /** - * - */ - @ApiModelProperty(value = "") - private Long id; - - /** - * - */ - @ApiModelProperty(value = "") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * - */ - @ApiModelProperty(value = "") - private Long createId; - - /** - * - */ - @ApiModelProperty(value = "") - private String createName; - - /** - * - */ - @ApiModelProperty(value = "") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * - */ - @ApiModelProperty(value = "") - private Long updateId; - - /** - * - */ - @ApiModelProperty(value = "") - private Integer delFlag; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - private Long schoolId; - - /** - * 0-教职工考勤推送,1学生考勤推送,2家长提醒 - */ - @ApiModelProperty(value = "0-教职工考勤推送,1学生考勤推送,2家长提醒") - private Integer type; - - /** - * 是否推送周报0-否,1是 - */ - @ApiModelProperty(value = "是否推送周报0-否,1是,默认0") - private Integer weekReport = 0; - - - @ApiModelProperty(value = "周报推送推送日期:小于周三,推送上月周。大于周三推送本周") - private Integer weekReportDate; - - /** - * 周报推送时间:每周一XX点 - */ - @ApiModelProperty(value = "周报推送时间:每周一XX点") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime weekReportTime; - - - /** - * 是否推送月报0-否,1是 - */ - @ApiModelProperty(value = "是否推送月报0-否,1是,默认0") - private Integer monthReport = 0; - - @ApiModelProperty(value = "月报推送推送日期:小于5号,推送上月。大于5号推送本月") - @TableField("month_report_date") - private Integer monthReportDate = 0; - - /** - * 月报推送时间:每月1号XX点 - */ - @ApiModelProperty(value = "月报推送时间:每月1号XX点") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime monthReportTime; - - /** - * 是否推送迟到报告 0-否,1是 - */ - @ApiModelProperty(value = "是否推送迟到报告 0-否,1是,默认0") - private Integer lateReport = 0; - - /** - * 迟到报告推送时间:超过考勤开始时间XXX分钟 - */ - @ApiModelProperty(value = "迟到报告推送时间:超过考勤开始时间XXX分钟") - private Integer lateReportTime; - - - /** - * 是否推送缺勤报告 0-否,1是 - */ - @ApiModelProperty(value = "是否推送缺勤报告 0-否,1是,默认0") - private Integer missReport = 0; - - /** - * 缺勤报告推送时间:超过考勤结束时间XXX分钟 - */ - @ApiModelProperty(value = "缺勤报告推送时间:超过考勤结束时间XXX分钟") - private Integer missReportTime; - - - /** - * 考勤管理员是否推送报告,1是,0否 - */ - @ApiModelProperty(value = "考勤管理员是否推送报告,1是,0否,默认0") - private Integer objManager = 0; - - - /** - * 指定人员:职工ID集合,逗号分隔 - */ - @ApiModelProperty(value = "指定人员:职工ID集合,逗号分隔") - private String objStaffIds; - - /** - * 家长入校/离校提醒:0否,1是 - */ - @ApiModelProperty(value = "家长入校/离校提醒:0否,1是,默认0") - private Integer parentEnrollReport = 0; -} \ No newline at end of file diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleAddressDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleAddressDTO.java deleted file mode 100644 index e44d3d7..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleAddressDTO.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.yida.data.attendance.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 考勤规则关联地点 Entity - * - * @date 2023-08-09 11:37:25 - */ -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AddAttendanceRuleAddressDTO { - - /** - * - */ - @ApiModelProperty(value = "") - private Long id; - /** - * 规则ID - */ - @ApiModelProperty(value = "规则ID") - private Long ruleId; - - /** - * 地点名称 - */ - @ApiModelProperty(value = "地点名称") - private Long addressName; - - /** - * 地点纬度 - */ - @ApiModelProperty(value = "地点纬度") - private String addressLat; - - /** - * 地点经度 - */ - @ApiModelProperty(value = "地点经度") - private String addressLon; - - /** - * 范围,米 - */ - @ApiModelProperty(value = "范围,米") - private Integer range; - -} \ No newline at end of file diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleAdminDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleAdminDTO.java deleted file mode 100644 index ea6772d..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleAdminDTO.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.yida.data.attendance.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 考勤-规则管理员 Entity - * - * @date 2023-08-09 11:37:25 - */ -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AddAttendanceRuleAdminDTO { - - /** - * - */ - @ApiModelProperty(value = "") - private Long id; - - /** - * - */ - @ApiModelProperty(value = "") - private Long schoolId; - - /** - * - */ - @ApiModelProperty(value = "") - private Long ruleId; - - /** - * - */ - @ApiModelProperty(value = "") - private Long userType; - - /** - * - */ - @ApiModelProperty(value = "") - private Long deptId; - - /** - * - */ - @ApiModelProperty(value = "") - private Long staffId; - -} \ No newline at end of file diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleDTO.java deleted file mode 100644 index 9c97631..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleDTO.java +++ /dev/null @@ -1,174 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleRemind; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import java.util.List; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AddAttendanceRuleDTO { - - @ApiModelProperty(value = "主键id") - private Long id; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - private Long schoolId; - - /** - * 考勤规则名称 - */ - @NotBlank - @ApiModelProperty(value = "考勤规则名称") - private String name; - - /** - * 0-教职工打卡,1学生上学考勤,2学生宿舍考勤 - */ - @ApiModelProperty(value = "0-教职工打卡,1学生上学考勤,2学生宿舍考勤") - @NotNull - private Integer userType; - - /** - * 0-固定上下班时间模式,1自由打卡模式 - */ - @ApiModelProperty(value = "0-固定上下班时间模式,1自由打卡模式") - @NotNull - private Integer type; - - /** - * 打卡日期,1-周一,2-周二....多个用','连接 - */ - @ApiModelProperty(value = "打卡日期,1-周一,2-周二....多个用','连接") - @NotBlank - private String week; - - /** - * 法定节假日是否打卡,0-是,1-否 - */ - @ApiModelProperty(value = "法定节假日是否打卡,0-是,1-否") - @NotNull - private Integer holidayAttendance; - - /** - * 管理员打卡规则内容权限,0-无,1-有 - */ - @ApiModelProperty(value = "管理员打卡规则内容权限,0-无,1-有") - private Integer roleRule; - - /** - * 管理员打卡人员与白名单权限,0-无,1-有 - */ - @ApiModelProperty(value = "管理员打卡人员与白名单权限,0-无,1-有") - private Integer roleUser; - - /** - * 管理员节假日与特殊日期权限,0-无,1-有 - */ - @ApiModelProperty(value = "管理员节假日与特殊日期权限,0-无,1-有") - private Integer roleDate; - - /** - * 管理员打卡提醒权限,0-无,1-有 - */ - @ApiModelProperty(value = "管理员打卡提醒权限,0-无,1-有") - private Integer roleRemind; - - /** - * 打卡是必须拍照 0-无,1-必须 - */ - @ApiModelProperty(value = "打卡是必须拍照 0-无,1-必须") - private Integer photoTake; - - /** - * 打卡时必须人脸识别0-无,1-必须 - */ - @ApiModelProperty(value = "打卡时必须人脸识别0-无,1-必须") - private Integer faceTake; - - /** - * 填写备注时必须拍照0-无,1-必须 - */ - @ApiModelProperty(value = "填写备注时必须拍照0-无,1-必须") - private Integer photoRemark; - - /** - * 异常打卡可以提交申请,审批后可修正打卡状态 - */ - @ApiModelProperty(value = "异常打卡可以提交申请,审批后可修正打卡状态") - private Integer applyAmendment; - - /** - * 每月补卡次数 - */ - @ApiModelProperty(value = "每月补卡次数") - private Integer reissueNum; - - /** - * 每月补卡截止日期 - */ - @ApiModelProperty(value = "每月补卡截止日期") - private Integer reissueEndDate; - - /** - * 启用状态:0-未启用,1-已启用 - */ - @ApiModelProperty(value = "启用状态:0-未启用,1-已启用,默认0") - private Integer status = 0; - - /** - * 有效开始时间 - */ - @ApiModelProperty(value = "有效开始时间") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - @NotNull - private LocalDate startDate; - - - /** - * 有效结束时间 - */ - @ApiModelProperty(value = "有效结束时间") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - @NotNull - private LocalDate endDate; - - @ApiModelProperty(value = "打卡提醒") - private List remindDTOList; - - @ApiModelProperty(value = "打卡对象") - @NotEmpty - private List attendanceRuleObjList; - @ApiModelProperty(value = "特殊日期") - private List specialDateDTOList; - @ApiModelProperty(value = "白名单") - private List whiteListDTOList; - @ApiModelProperty(value = "打卡设备") - private List deviceDTOList; - @ApiModelProperty(value = "打卡wifi") - private List wifiDTOList; - @ApiModelProperty(value = "打卡地点") - private List addressDTOList; - @ApiModelProperty(value = "打卡时间段") - @NotEmpty - private List timeDTOList; - @ApiModelProperty(value = "管理员") - @NotEmpty - private List adminDTOList; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleDeviceDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleDeviceDTO.java deleted file mode 100644 index 1d70827..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleDeviceDTO.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.yida.data.attendance.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 考勤规则关联设备表 Entity - * - * @date 2023-08-09 11:37:25 - */ -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AddAttendanceRuleDeviceDTO { - - /** - * - */ - @ApiModelProperty(value = "") - private Long id; - /** - * 设备类型 - */ - @ApiModelProperty(value = "设备类型") - private Integer deviceType; - - /** - * 设备ID - */ - @ApiModelProperty(value = "设备ID") - private Long deviceId; - - /** - * 设备编号 - */ - @ApiModelProperty(value = "设备编号") - private String deviceSn; - -} \ No newline at end of file diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleObjDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleObjDTO.java deleted file mode 100644 index 89f131b..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleObjDTO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.yida.data.attendance.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AddAttendanceRuleObjDTO { - - - /** - * - */ - @ApiModelProperty(value = "") - private Long id; - - /** - * - */ - @ApiModelProperty(value = "") - private Long deptId; - - /** - * - */ - @ApiModelProperty(value = "") - private String deptName; - - /** - * 父级部门id,逗号连接 - */ - @ApiModelProperty(value = "父级部门id,逗号连接") - private String parentDeptId; - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleRemindDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleRemindDTO.java deleted file mode 100644 index d7ada31..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleRemindDTO.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * 考勤-打卡提醒 Entity - * - * @date 2023-08-09 11:37:25 - */ -@Data -public class AddAttendanceRuleRemindDTO { - - - /** - * 类型=规则usertype - */ - @ApiModelProperty(value = "类型=规则usertype") - private Integer userType; - - /** - * 0-上班提醒,1-下班提醒 - */ - @ApiModelProperty(value = "0-上班提醒,1-下班提醒") - private Integer type; - - /** - * 提醒的提前分钟数 - */ - @ApiModelProperty(value = "提醒的提前分钟数") - private Integer minute; - - /** - * 提醒文本 - */ - @ApiModelProperty(value = "提醒文本") - private String message; - - /** - * 1-添加接收人姓名,0-不添加接收人姓名 - */ - @ApiModelProperty(value = "1-添加接收人姓名,0-不添加接收人姓名") - private Integer includeReceiver; - -} \ No newline at end of file diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleSpecialDateDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleSpecialDateDTO.java deleted file mode 100644 index 1f7e423..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleSpecialDateDTO.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 考勤-特殊日期 Entity - * - * @date 2023-08-09 11:37:25 - */ -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AddAttendanceRuleSpecialDateDTO { - - /** - * - */ - @ApiModelProperty(value = "") - private Long id; - - /** - * 规则id - */ - @ApiModelProperty(value = "规则id") - private Long ruleId; - - /** - * 0-不用打卡,1-必须打卡 - */ - @ApiModelProperty(value = "0-不用打卡,1-必须打卡") - private Long type; - - /** - * 开始日期 - */ - @ApiModelProperty(value = "开始日期") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate startDate; - - /** - * 结束日期 - */ - @ApiModelProperty(value = "结束日期") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate endDate; - - /** - * 事由 - */ - @ApiModelProperty(value = "事由") - private String reason; - -} \ No newline at end of file diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleTimeDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleTimeDTO.java deleted file mode 100644 index 0b58e66..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleTimeDTO.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import java.time.LocalTime; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 考勤-打卡时段 Entity - * - * @date 2023-08-09 11:37:25 - */ -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AddAttendanceRuleTimeDTO { - - /** - * - */ - @ApiModelProperty(value = "") - private Long id; - /** - * 考勤规则id - */ - @ApiModelProperty(value = "考勤规则id") - private Long ruleId; - - /** - * 上班时间 - */ - @ApiModelProperty(value = "上班时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime startTime; - - /** - * 下班时间 - */ - @ApiModelProperty(value = "下班时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime endTime; - - /** - * 最晚时间-针对宿舍考勤晚归情况 - */ - @ApiModelProperty(value = "最晚时间-针对宿舍考勤晚归情况") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime lastTime; - - /** - * 上班打卡时段开始时间 - */ - @ApiModelProperty(value = "上班打卡时段开始时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime startEffectiveStartTime; - - /** - * 上班打卡时段结束时间 - */ - @ApiModelProperty(value = "上班打卡时段结束时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime startEffectiveEndTime; - - /** - * 下班打卡时段开始时间 - */ - @ApiModelProperty(value = "下班打卡时段开始时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime endEffectiveStartTime; - - /** - * 下班打卡时段结束时间 - */ - @ApiModelProperty(value = "下班打卡时段结束时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime endEffectiveEndTime; - - - /** - * 结束时间是否为次日,1=是,0=否 - */ - @ApiModelProperty(value = "结束时间是否为次日,1=是,0=否") - private Integer endNextDay; -} \ No newline at end of file diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleWhiteListDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleWhiteListDTO.java deleted file mode 100644 index 86293a5..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleWhiteListDTO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.attendance.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AddAttendanceRuleWhiteListDTO { - - /** - * - */ - @ApiModelProperty(value = "") - private Long id; - - /** - * - */ - @ApiModelProperty(value = "") - private Integer userType; - /** - * 人员id - */ - @ApiModelProperty(value = "人员id") - private Long userId; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleWifiDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleWifiDTO.java deleted file mode 100644 index 657c0c7..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddAttendanceRuleWifiDTO.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.yida.data.attendance.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 考勤规则关联wifi Entity - * - * @date 2023-08-09 11:37:25 - */ -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AddAttendanceRuleWifiDTO { - - /** - * - */ - @ApiModelProperty(value = "") - private Long id; - /** - * 规则ID - */ - @ApiModelProperty(value = "规则ID") - private Long ruleId; - - /** - * wifi名称 - */ - @ApiModelProperty(value = "wifi名称") - private String wifiName; - - /** - * BSSID - */ - @ApiModelProperty(value = "BSSID") - private String wifiBssid; - - - @ApiModelProperty(value = "ip") - private String ip; - -} \ No newline at end of file diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddLeaveRequestStrategyDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddLeaveRequestStrategyDTO.java deleted file mode 100644 index 60f5ce2..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AddLeaveRequestStrategyDTO.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import java.time.LocalDateTime; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 添加请假类型短策略请求类 - * - * @author ZYJ - * @date 2023/2/2 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class AddLeaveRequestStrategyDTO implements Serializable { - - private static final long serialVersionUID = -1438414521101194453L; - - @ApiModelProperty("请假ID") - private Long requestId; - - @ApiModelProperty("请假人ID") - private Long userId; - - @ApiModelProperty("策略id") - private Long strategyId; - - @ApiModelProperty("0教师请假,1学生请假") - private Integer requestType; - - @ApiModelProperty("学校id") - private Long schoolId; - - @ApiModelProperty("开始时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime startTime; - - @ApiModelProperty("结束时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime endTime; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceCountPageDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceCountPageDTO.java deleted file mode 100644 index 29a77cc..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceCountPageDTO.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.common.BaseDTO; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceResult; -import io.swagger.annotations.ApiModelProperty; -import io.swagger.models.auth.In; -import java.time.LocalDate; -import java.util.List; -import javax.validation.constraints.NotNull; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -@Data -public class AttendanceCountPageDTO extends BaseDTO { - - @ApiModelProperty("开始日期") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate startDate; - - @ApiModelProperty("结束日期") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate endDate; - - @ApiModelProperty("状态") - private Integer status; - @ApiModelProperty("学校") - private Long schoolId; - @ApiModelProperty("考勤规则") - private Long ruleId; - @ApiModelProperty("所属部门,职能部门") - private Long deptId; - @ApiModelProperty("所属部门,学区") - private Long campusId; - @ApiModelProperty("所属部门,学段") - private Long sectionId; - @ApiModelProperty("所属部门,年级") - private Long gradeId; - @ApiModelProperty("所属部门,班级") - private Long classId; - @ApiModelProperty("学生姓名或者学号/职工姓名或者手机号:支持模糊匹配") - private String nameOrNumber; - @ApiModelProperty("统计类型:0=教职工考勤,1=学生考勤") - @NotNull - private Integer type; - @ApiModelProperty("用户ID集合") - private List userIdList; - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceDayReportDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceDayReportDTO.java deleted file mode 100644 index 95e3b0f..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceDayReportDTO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.common.BaseDTO; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceResult; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import java.util.List; -import javax.validation.constraints.NotNull; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -@Data -public class AttendanceDayReportDTO extends BaseDTO { - - @ApiModelProperty("开始日期") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate attendanceDate; - - @ApiModelProperty("开始日期") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate startAttendanceDate; - - @ApiModelProperty("结束日期") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate endAttendanceDate; - - @ApiModelProperty("用户类型:0教师,1学生") - private Integer userType; - @ApiModelProperty("学校") - private Long schoolId; - - private List userIdList; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceFaceMatchDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceFaceMatchDTO.java deleted file mode 100644 index cc020b9..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceFaceMatchDTO.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.yida.data.attendance.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 考勤人脸对比请求类 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "RosterFaceMatchDTO", description = "考勤人脸对比请求类") -public class AttendanceFaceMatchDTO implements Serializable { - - private static final long serialVersionUID = 1474013091202762132L; - - @ApiModelProperty("学校ID") - private Long schoolId; - - @ApiModelProperty("用户ID") - @NotNull - private Long userId; - - @ApiModelProperty("人员类型 0教职工,1学生") - @NotNull - private Integer userType; - - @ApiModelProperty("base64图片信息") - @NotBlank - private String base64; -} \ No newline at end of file diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceResultByDayDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceResultByDayDTO.java deleted file mode 100644 index 461bab0..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceResultByDayDTO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import javax.validation.constraints.NotNull; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel("获取某日用户考勤记录请求类") -public class AttendanceResultByDayDTO { - - @ApiModelProperty("用户ID") - @NotNull - private Long userId; - - @ApiModelProperty("用户类型:0教职工,1学生") - @NotNull - private Integer userType; - - @ApiModelProperty("考勤日期") - @NotNull - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate attendanceDate; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceResultByStartAndEndTimeDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceResultByStartAndEndTimeDTO.java deleted file mode 100644 index 2cb7092..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceResultByStartAndEndTimeDTO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import javax.validation.constraints.NotNull; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel("获取某时间段内用户考勤记录请求类") -public class AttendanceResultByStartAndEndTimeDTO { - - @ApiModelProperty("用户ID") - @NotNull - private Long userId; - - @ApiModelProperty("用户类型:0教职工,1学生") - @NotNull - private Integer userType; - - @ApiModelProperty("考勤开始日期") - @NotNull - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate attendanceStartDate; - - @ApiModelProperty("考勤结束日期") - @NotNull - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate attendanceEndDate; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceRuleAdminUserAddDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceRuleAdminUserAddDTO.java deleted file mode 100644 index 7b8e445..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceRuleAdminUserAddDTO.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.yida.data.common.core.common.BaseDTO; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AttendanceRuleAdminUserAddDTO extends BaseDTO { - - private Long Id; - private Long ruleId; - private Long deptId; - private Long staffId; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceRuleAdminUserPageDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceRuleAdminUserPageDTO.java deleted file mode 100644 index 785fc7c..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceRuleAdminUserPageDTO.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.yida.data.common.core.common.BaseDTO; -import io.swagger.annotations.ApiModelProperty; -import java.util.List; -import javax.validation.constraints.NotNull; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AttendanceRuleAdminUserPageDTO extends BaseDTO { - - /** - * 考勤规则名称 - */ - @ApiModelProperty(value = "管理员名称") - private String staffName; - /** - * 考勤人员名称 - */ - @ApiModelProperty(value = "管理员Id") - private String staffId; - - @ApiModelProperty(value = "规则Id") - @NotNull - private Long ruleId; - - private Long campusId; - private Long sectionId; - private Long gradeId; - private Long classId; - private Long deptId; - - private List deptIdList; - private List staffIdList; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceRuleUserAddDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceRuleUserAddDTO.java deleted file mode 100644 index 05569b6..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceRuleUserAddDTO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.yida.data.common.core.common.BaseDTO; -import io.swagger.annotations.ApiModelProperty; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AttendanceRuleUserAddDTO extends BaseDTO { - - /** - * 0-教职工打卡,1学生上学考勤,2学生宿舍考勤 - */ - @ApiModelProperty(value = "0-教职工,1学生") - private Integer userType; - private Long ruleId; - private Long deptId; - private Long userId; - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceRuleUserPageDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceRuleUserPageDTO.java deleted file mode 100644 index 01f70b9..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceRuleUserPageDTO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.yida.data.common.core.common.BaseDTO; -import io.swagger.annotations.ApiModelProperty; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AttendanceRuleUserPageDTO extends BaseDTO { - - /** - * 0-教职工打卡,1学生上学考勤,2学生宿舍考勤 - */ - @ApiModelProperty(value = "0-教职工打卡,1学生上学考勤") - private Integer userType; - /** - * 考勤规则名称 - */ - @ApiModelProperty(value = "考勤人员名称") - private String userName; - private Long ruleId; - private Long schoolId; - private Long campusId; - private Long sectionId; - private Long gradeId; - private Long classId; - private Long deptId; - private List userIdList; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceStatusByMonthDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceStatusByMonthDTO.java deleted file mode 100644 index 4a99eaf..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceStatusByMonthDTO.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import javax.validation.constraints.NotNull; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import net.sf.cglib.core.Local; -import org.springframework.format.annotation.DateTimeFormat; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel("查询当前月份考勤状态请求类") -public class AttendanceStatusByMonthDTO { - - @ApiModelProperty("用户ID") - @NotNull - private Long userId; - - @ApiModelProperty("用户类型:0教职工,1学生") - @NotNull - private Integer userType; - - @ApiModelProperty("考勤开始日期") - @NotNull - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate attendanceStartDate; - - @ApiModelProperty("考勤结束日期") - @NotNull - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate attendanceEndDate; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceUserCheckInDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceUserCheckInDTO.java deleted file mode 100644 index a7ab105..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/AttendanceUserCheckInDTO.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import javax.validation.constraints.NotNull; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -@ApiModel(value = "AttendanceUserCheckInDTO", description = "wifi打卡请求类") -public class AttendanceUserCheckInDTO { - - @ApiModelProperty(value = "学校ID") - private Long schoolId; - - @ApiModelProperty(value = "打卡用户ID") - private Long userId; - - @ApiModelProperty(value = "打卡用户类型:0教职工,1学生") - private Integer userType; - - @ApiModelProperty(value = "打卡规则ID") - private Long ruleId; - - @ApiModelProperty(value = "打卡时段ID") - private Long ruleTimeId; - - @ApiModelProperty(value = "wifi的BSSID") - private String wifiBssid; - - @ApiModelProperty(value = "当前打卡时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - @NotNull - private LocalDateTime currentDateTime; - - @ApiModelProperty(value = "人脸认证图片地址") - private String avatar; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/BssidImportDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/BssidImportDTO.java deleted file mode 100644 index 74f57ec..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/BssidImportDTO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.alibaba.excel.annotation.ExcelProperty; -import java.io.Serializable; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class BssidImportDTO implements Serializable { - - private static final long serialVersionUID = 3552156436496408092L; - - /** - * 名称 - */ - @ExcelProperty(index = 0) - private String wifiName; - - /** - * bssid - */ - @ExcelProperty(index = 1) - private String wifiBssid; - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/DayReportDataDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/DayReportDataDTO.java deleted file mode 100644 index 44ec013..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/DayReportDataDTO.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.yida.data.attendance.dto; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -public class DayReportDataDTO { - - private String deptName; - private Integer totalNum; - private Integer normalNum; - private Integer abNum; - private Integer requestNum; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/DealRecordDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/DealRecordDTO.java deleted file mode 100644 index 93a6e1f..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/DealRecordDTO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.yida.data.attendance.dto; - -import lombok.Data; - -@Data -public class DealRecordDTO { - /** - * 设备sn号 - */ - private String sn; - - /** - * 考勤时间 - */ - private String date; - - /** - * 考勤用户id - */ - private Long userId; - - /** - * 用户类型,0-学生,1-教职工 - */ - private Integer userType; - - /** - * 设备方用户唯一标识 - */ - private String userFlag; - - /** - * 考勤图片 - */ - private String picUrl; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/DevicePage.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/DevicePage.java deleted file mode 100644 index fef594e..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/DevicePage.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.Data; - -@Data -public class DevicePage extends Page { - - public DevicePage(Integer pageNum, Integer pageSize) { - super(pageNum, pageSize); - } - - private Integer onlineNumber; - - private Integer offlineNumber; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/H5AttendanceRuleWifiDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/H5AttendanceRuleWifiDTO.java deleted file mode 100644 index 7c6e750..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/H5AttendanceRuleWifiDTO.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.List; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -public class H5AttendanceRuleWifiDTO { - - - @ApiModelProperty(value = "学校ID") - @NotNull - private Long schoolId; - - @ApiModelProperty(value = "用户主键id") - @NotNull - private Long userId; - - - @ApiModelProperty(value = "0-教职工,1学生") - @NotNull - private Integer userType; - - /** - * BSSID - */ - @ApiModelProperty(value = "BSSID") - @NotNull - private String wifiBssid; - - - /** - * ip - */ - @ApiModelProperty(value = "ip") - private String ip; - - - @ApiModelProperty(value = "当前打卡时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - @NotNull - private LocalDateTime currentDateTime; - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/IssuedFaceDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/IssuedFaceDTO.java deleted file mode 100644 index e0f544a..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/IssuedFaceDTO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.yida.data.common.core.entity.user.EduFaceGroupStrategy; -import com.yida.data.common.core.entity.user.EduUserFace; -import com.yida.data.common.core.enums.IssuedTypeEnum; -import io.swagger.annotations.ApiModelProperty; -import java.util.List; -import lombok.Data; - -@Data -public class IssuedFaceDTO { - - /** - * 人脸列表 - */ - private List userFaceList; - - /** - * 设备id列表 - */ - private List deviceList; - - @ApiModelProperty("下发类型,0-添加,1-修改") - private Integer type; - - /** - * 人脸组id - */ - private Long groupId; - - /** - * 策略信息 - */ - private EduFaceGroupStrategy groupStrategy; - - /** - * 下发类型 - */ - private IssuedTypeEnum issuedTypeEnum; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/ListErrorRecordDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/ListErrorRecordDTO.java deleted file mode 100644 index 11f2600..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/ListErrorRecordDTO.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.common.BaseDTO; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.List; - -/** - * 分页查询通行记录错误记录请求类 - * - * @author ZYJ - * @date 2023/11/1 17:29 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class ListErrorRecordDTO extends BaseDTO implements Serializable { - - private static final long serialVersionUID = -4152682288872419619L; - - @ApiModelProperty(value = "姓名") - private String name; - - @ApiModelProperty(value = "开始时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime startDateTime; - - @ApiModelProperty(value = "结束时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime endDateTime; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/ManageListUserDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/ManageListUserDTO.java deleted file mode 100644 index a6bd844..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/ManageListUserDTO.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.common.BaseDTO; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import java.util.List; -import javax.validation.constraints.NotNull; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -@Data -@ApiModel("教师端管理员查询学生/教师考勤统计请求类") -public class ManageListUserDTO extends BaseDTO { - - - @ApiModelProperty(value = "当前用户ID--职工ID") - private Long userId; - - @ApiModelProperty(value = "查询用户类型:0教师,1学生") - private Integer searchUserType; - - @ApiModelProperty("考勤开始日期") - @NotNull - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate attendanceStartDate; - - @ApiModelProperty("考勤结束日期") - @NotNull - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate attendanceEndDate; - - @ApiModelProperty("考勤状态:-1全部,0正常,1,迟到,2早退,3缺卡,7晚归,8异常晚归") - private Integer attendanceStatus; - - @ApiModelProperty("考勤规则ID") - private Long ruleId; - - @ApiModelProperty("家校部门ID") - private Long deptId; - - @ApiModelProperty("部门类型") - private Integer deptType; - - private List userIdList; - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/PageAttendanceRecordDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/PageAttendanceRecordDTO.java deleted file mode 100644 index aba9cc0..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/PageAttendanceRecordDTO.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.common.BaseDTO; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class PageAttendanceRecordDTO extends BaseDTO { - - @ApiModelProperty(value = "打卡类型,0-面板机,1wifi") - private Integer type; - - @ApiModelProperty(value = "用户ID") - private Long userId; - - @ApiModelProperty(value = "姓名") - private String studentName; - - - @ApiModelProperty(value = "人员类型,0-教职工,1学生") - private Integer userType; - - - @ApiModelProperty(value = "开始时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime startDateTime; - - - @ApiModelProperty(value = "结束时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime endDateTime; - - private Long schoolId; - private Long campusId; - private Long sectionId; - private Long gradeId; - private Long classId; - private List classIdList; - - List userIdList; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/PageAttendanceRuleDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/PageAttendanceRuleDTO.java deleted file mode 100644 index 9bdea64..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/PageAttendanceRuleDTO.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.common.BaseDTO; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import java.time.LocalDateTime; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class PageAttendanceRuleDTO extends BaseDTO { - - /** - * - */ - @ApiModelProperty(value = "规则名称") - private String ruleName; - - /** - * - */ - @ApiModelProperty(value = "规则类型,0-固定上下班时间模式,1自由打卡模式") - private Integer type; - - /** - * - */ - @ApiModelProperty(value = "规则类型,0-教职工打卡,1学生上学考勤,2学生宿舍考勤") - private Integer userType; - - - /** - * - */ - @ApiModelProperty(value = "启用状态:0-未启用,1-已启用") - private Integer status; - - - private Long schoolId; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/RemoveFaceDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/RemoveFaceDTO.java deleted file mode 100644 index 1f14894..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/RemoveFaceDTO.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.yida.data.attendance.dto; - -import java.util.List; -import lombok.Data; - -@Data -public class RemoveFaceDTO { - private List deviceFactoryUserId; - - private List deviceList; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/UpdateAttendanceRuleStatusDTO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/UpdateAttendanceRuleStatusDTO.java deleted file mode 100644 index 287e836..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/dto/UpdateAttendanceRuleStatusDTO.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.yida.data.attendance.dto; - -import com.yida.data.common.core.common.BaseDTO; -import io.swagger.annotations.ApiModelProperty; -import javax.validation.constraints.NotNull; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -public class UpdateAttendanceRuleStatusDTO { - - /** - * - */ - @ApiModelProperty(value = "规则Id") - @NotNull - private Long id; - - - /** - * - */ - @ApiModelProperty(value = "启用状态:0-未启用,1-已启用") - @NotNull - private Integer status; - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/fallback/RemoteAttendanceDeviceServiceFallback.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/fallback/RemoteAttendanceDeviceServiceFallback.java deleted file mode 100644 index 0491054..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/fallback/RemoteAttendanceDeviceServiceFallback.java +++ /dev/null @@ -1,107 +0,0 @@ -package com.yida.data.attendance.fallback; - -import com.yida.data.attendance.dto.IssuedFaceDTO; -import com.yida.data.attendance.dto.RemoveFaceDTO; -import com.yida.data.attendance.feign.RemoteAttendanceDeviceService; -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; -import com.yida.data.common.core.entity.attendance.EduAttendanceDeviceGroup; -import feign.hystrix.FallbackFactory; -import java.util.List; -import lombok.extern.slf4j.Slf4j; - -/** - * RemoteAttendanceDeviceService fallback处理类 - * - * @author ZYJ - * @date 2022/8/26 - */ -@Slf4j -@Fallback -public class RemoteAttendanceDeviceServiceFallback implements FallbackFactory { - - @Override - public RemoteAttendanceDeviceService create(Throwable throwable) { - log.error("RemoteAttendanceDeviceService fallback reason:{}", throwable.getMessage()); - - return new RemoteAttendanceDeviceService() { - @Override - public ResultBean> listDeviceBySchool(Long schoolId) { - return null; - } - - @Override - public ResultBean> listDeviceByType(String type) { - return null; - } - - /** - * 下发人脸到设备 - * - * @param dto - */ - @Override - public ResultBean issuedFace(IssuedFaceDTO dto) { - return null; - } - - /** - * 删除设备中的人脸 - * - * @param dto - */ - @Override - public ResultBean removeFace(RemoveFaceDTO dto) { - return null; - } - - /** - * 查询设备组中的设备 - * - * @param groupIds - */ - @Override - public ResultBean> listDeviceByGroup(Long[] groupIds) { - return null; - } - - /** - * 根据id查询设备 - * - * @param ids - */ - @Override - public ResultBean> listDeviceById(Long[] ids) { - return null; - } - - /** - * 根据id查询设备组 - * - * @param ids - * @return - */ - @Override - public ResultBean> listDeviceGroupById(Long[] ids) { - return null; - } - - /** - * 更新设备在线状态 - */ - @Override - public ResultBean updateDeviceStatus() { - return null; - } - - /** - * 校时所有设备 - */ - @Override - public ResultBean timingAllDevice() { - return null; - } - }; - } -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/fallback/RemoteAttendanceResultServiceFallback.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/fallback/RemoteAttendanceResultServiceFallback.java deleted file mode 100644 index eab8b63..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/fallback/RemoteAttendanceResultServiceFallback.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.yida.data.attendance.fallback; - -import com.yida.data.attendance.feign.RemoteAttendanceResultService; -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import feign.hystrix.FallbackFactory; -import lombok.extern.slf4j.Slf4j; - -/** - * RemoteAttendanceResultService fallback处理类 - */ -@Slf4j -@Fallback -public class RemoteAttendanceResultServiceFallback implements FallbackFactory { - - @Override - public RemoteAttendanceResultService create(Throwable throwable) { - log.error("RemoteAttendanceResultService fallback reason:{}", throwable.getMessage()); - - return new RemoteAttendanceResultService() { - - @Override - public ResultBean initAttendanceResult() { - return null; - } - - @Override - public ResultBean attendanceNotice() { - return null; - } - }; - } -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/fallback/RemoteAttendanceStrategyServiceFallback.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/fallback/RemoteAttendanceStrategyServiceFallback.java deleted file mode 100644 index 5ce7c5c..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/fallback/RemoteAttendanceStrategyServiceFallback.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.yida.data.attendance.fallback; - -import com.yida.data.attendance.dto.AddLeaveRequestStrategyDTO; -import com.yida.data.attendance.feign.RemoteAttendanceStrategyService; -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategy; -import feign.hystrix.FallbackFactory; -import lombok.extern.slf4j.Slf4j; - -/** - * RemoteAttendanceStrategyService fallback处理类 - * - * @author ZYJ - * @date 2022/8/26 - */ -@Slf4j -@Fallback -public class RemoteAttendanceStrategyServiceFallback implements FallbackFactory { - - @Override - public RemoteAttendanceStrategyService create(Throwable throwable) { - log.error("RemoteAttendanceStrategyService fallback reason:{}", throwable.getMessage()); - - return new RemoteAttendanceStrategyService() { - - /** - * 保存策略并绑定人员信息 - * - * @param eduFaceGroupStrategy 人脸组-策略信息 - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2022/12/13 10:51 - */ - @Override - public ResultBean saveStrategyAndUser(EduFaceGroupStrategy eduFaceGroupStrategy) { - return null; - } - - /** - * 删除策略 - * - * @param eduFaceGroupStrategy 人脸策略信息 - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2022/12/21 15:44 - */ - @Override - public ResultBean deleteStrategy(EduFaceGroupStrategy eduFaceGroupStrategy) { - return null; - } - - /** - * 绑定对应的人员-策略信息 - * - * @param eduFaceGroupStrategy 人脸策略信息 - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2022/12/22 16:25 - */ - @Override - public ResultBean bindUserStrategy(EduFaceGroupStrategy eduFaceGroupStrategy) { - return null; - } - - /** - * 解绑对应的人员-策略信息 - * - * @param eduFaceGroupStrategy 人脸策略信息 - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2022/12/26 10:16 - */ - @Override - public ResultBean unBindUserStrategy(EduFaceGroupStrategy eduFaceGroupStrategy) { - return null; - } - - /** - * 删除并保存策略 - * - * @param eduFaceGroupStrategy 人脸策略信息 - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2023/1/9 15:12 - */ - @Override - public ResultBean deleteAndSaveStrategy(EduFaceGroupStrategy eduFaceGroupStrategy) { - return null; - } - - /** - * 添加请假类型短策略 - * - * @param dto 添加请假类型短策略请求类 - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2023/2/2 16:00 - */ - @Override - public ResultBean addLeaveRequestStrategy(AddLeaveRequestStrategyDTO dto) { - return null; - } - }; - } -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/fallback/RemoteUserStrategyServiceFallback.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/fallback/RemoteUserStrategyServiceFallback.java deleted file mode 100644 index 382aa58..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/fallback/RemoteUserStrategyServiceFallback.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.yida.data.attendance.fallback; - -import com.yida.data.attendance.feign.RemoteUserStrategyService; -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import feign.hystrix.FallbackFactory; -import lombok.extern.slf4j.Slf4j; - -/** - * RemoteUserStrategyService fallback处理类 - */ -@Slf4j -@Fallback -public class RemoteUserStrategyServiceFallback implements FallbackFactory { - - @Override - public RemoteUserStrategyService create(Throwable throwable) { - log.error("RemoteUserStrategyService fallback reason:{}", throwable.getMessage()); - - return new RemoteUserStrategyService() { - - @Override - public ResultBean checkOverTimeUserStrategy() { - return null; - } - }; - } -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/feign/RemoteAttendanceDeviceService.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/feign/RemoteAttendanceDeviceService.java deleted file mode 100644 index b65c576..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/feign/RemoteAttendanceDeviceService.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.yida.data.attendance.feign; - -import com.yida.data.attendance.dto.IssuedFaceDTO; -import com.yida.data.attendance.dto.RemoveFaceDTO; -import com.yida.data.attendance.fallback.RemoteAttendanceDeviceServiceFallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; -import com.yida.data.common.core.entity.attendance.EduAttendanceDeviceGroup; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import java.util.List; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; - -@FeignClient(value = FebsServerConstant.EDU_ATTENDANCE, contextId = "attendanceDeviceServiceClient", - fallbackFactory = RemoteAttendanceDeviceServiceFallback.class) -public interface RemoteAttendanceDeviceService { - - @GetMapping("/device/listDeviceBySchool") - ResultBean> listDeviceBySchool(@RequestParam("schoolId") Long schoolId); - - @GetMapping("/in/device/listDeviceByType") - ResultBean> listDeviceByType(@RequestParam("type") String type); - - /** - * 下发人脸到设备 - */ - @PostMapping("/device/issuedFace") - ResultBean issuedFace(@RequestBody IssuedFaceDTO dto); - - /** - * 删除设备中的人脸 - */ - @PostMapping("/device/removeFace") - ResultBean removeFace(@RequestBody RemoveFaceDTO dto); - - /** - * 查询设备组中的设备 - */ - @GetMapping("/deviceGroup/listDeviceByGroup") - ResultBean> listDeviceByGroup(@RequestParam("groupIds") Long[] groupIds); - - /** - * 根据id查询设备 - */ - @GetMapping("/device/listDeviceById") - ResultBean> listDeviceById(@RequestParam("ids") Long[] ids); - - /** - * 根据id查询设备组 - * - * @return - */ - @GetMapping("/deviceGroup/listDeviceGroupById") - ResultBean> listDeviceGroupById(@RequestParam("ids") Long[] ids); - - /** - * 更新设备在线状态 - */ - @GetMapping("/in/device/updateDeviceStatus") - ResultBean updateDeviceStatus(); - - /**aaaaaa - * 校时所有设备 - */ - @GetMapping("/in/device/timingAllDevice") - ResultBean timingAllDevice(); - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/feign/RemoteAttendanceResultService.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/feign/RemoteAttendanceResultService.java deleted file mode 100644 index 4d741d6..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/feign/RemoteAttendanceResultService.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.yida.data.attendance.feign; - -import com.yida.data.attendance.fallback.RemoteAttendanceResultServiceFallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; - -@FeignClient(value = FebsServerConstant.EDU_ATTENDANCE, contextId = "attendanceResultClient", - fallbackFactory = RemoteAttendanceResultServiceFallback.class) -public interface RemoteAttendanceResultService { - - - @GetMapping("/in/attendanceResult/initAttendanceResult") - ResultBean initAttendanceResult(); - - @GetMapping("/in/attendanceResult/attendanceNotice") - ResultBean attendanceNotice(); -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/feign/RemoteAttendanceStrategyService.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/feign/RemoteAttendanceStrategyService.java deleted file mode 100644 index 062f252..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/feign/RemoteAttendanceStrategyService.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.yida.data.attendance.feign; - -import com.yida.data.attendance.dto.AddLeaveRequestStrategyDTO; -import com.yida.data.attendance.fallback.RemoteAttendanceDeviceServiceFallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategy; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; - -@FeignClient(value = FebsServerConstant.EDU_ATTENDANCE, contextId = "attendanceStrategyServiceClient", - fallbackFactory = RemoteAttendanceDeviceServiceFallback.class) -public interface RemoteAttendanceStrategyService { - - /** - * 保存策略并绑定人员信息 - * - * @param eduFaceGroupStrategy 人脸组-策略信息 - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2022/12/13 10:51 - */ - @PostMapping("/in/deviceStrategy/saveStrategyAndUser") - ResultBean saveStrategyAndUser(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy); - - /** - * 删除策略 - * - * @param eduFaceGroupStrategy 人脸策略信息 - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2022/12/21 15:44 - */ - @PostMapping("/in/deviceStrategy/deleteStrategy") - ResultBean deleteStrategy(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy); - - /** - * 绑定对应的人员-策略信息 - * - * @param eduFaceGroupStrategy 人脸策略信息 - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2022/12/22 16:25 - */ - @PostMapping("/in/deviceStrategy/bindUserStrategy") - ResultBean bindUserStrategy(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy); - - /** - * 解绑对应的人员-策略信息 - * - * @param eduFaceGroupStrategy 人脸策略信息 - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2022/12/26 10:16 - */ - @PostMapping("/in/deviceStrategy/unBindUserStrategy") - ResultBean unBindUserStrategy(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy); - - /** - * 删除并保存策略(包含人员信息) - * - * @param eduFaceGroupStrategy 人脸策略信息 - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2023/1/9 15:12 - */ - @PostMapping("/in/deviceStrategy/deleteAndSaveStrategy") - ResultBean deleteAndSaveStrategy(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy); - - /** - * 添加请假类型短策略 - * - * @param dto 添加请假类型短策略请求类 - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2023/2/2 16:00 - */ - @PostMapping("/in/deviceStrategy/addLeaveRequestStrategy") - ResultBean addLeaveRequestStrategy(@RequestBody AddLeaveRequestStrategyDTO dto); -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/feign/RemoteUserStrategyService.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/feign/RemoteUserStrategyService.java deleted file mode 100644 index 8202148..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/feign/RemoteUserStrategyService.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.attendance.feign; - -import com.yida.data.attendance.fallback.RemoteUserStrategyServiceFallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; - -@FeignClient(value = FebsServerConstant.EDU_ATTENDANCE, contextId = "remoteUserStrategyServiceClient", - fallbackFactory = RemoteUserStrategyServiceFallback.class) -public interface RemoteUserStrategyService { - - @GetMapping("/in/eduUserStrategy/checkOverTimeUserStrategy") - ResultBean checkOverTimeUserStrategy(); -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttdanceResultDetailVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttdanceResultDetailVO.java deleted file mode 100644 index f1c6b9e..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttdanceResultDetailVO.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.yida.data.attendance.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import java.time.LocalTime; -import java.util.List; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -@Data -public class AttdanceResultDetailVO { - - @ApiModelProperty("主键ID") - private Long id; - @ApiModelProperty("用户主键ID") - private Long userId; - @ApiModelProperty("姓名") - private String name; - @ApiModelProperty("学号/手机号") - private String number; - @ApiModelProperty("部门名称") - private String deptName; - @ApiModelProperty("打卡规则") - private String ruleName; - @ApiModelProperty("打卡规则ID") - private Long ruleId; - @ApiModelProperty("打卡规则时段ID") - private Long ruleTimeId; - @ApiModelProperty("打卡规则时段名称") - private String ruleTimeName; - // @ApiModelProperty("打卡明细") -// List detailVOList; - @ApiModelProperty("日期") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate attendanceDate; - - @ApiModelProperty("星期") - private Integer week; - - @ApiModelProperty("上班打卡状态;0正常,1异常") - private Integer startStatus; - - @ApiModelProperty("上班打卡时间") - private LocalTime startRealTime; - - @ApiModelProperty("下班打卡状态:0正常,1异常") - private Integer endStatus; - - @ApiModelProperty("下班打卡时间") - private LocalTime endRealTime; - - @ApiModelProperty("是否需要打卡考勤,0是,1否") - private Integer needAttendance; - - @ApiModelProperty("打卡类型:0=需要上下班打卡,1=只需要打卡一次(取上班打卡时间与状态)") - private Integer modelType; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttdanceResultTotalVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttdanceResultTotalVO.java deleted file mode 100644 index 5b6964c..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttdanceResultTotalVO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.attendance.vo; - -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class AttdanceResultTotalVO { - - @ApiModelProperty("请假人数") - private Integer leaveNumber; - - @ApiModelProperty("正常人数") - private Integer normalNumber; - - @ApiModelProperty("晚归人数") - private Integer lateNumber; - - @ApiModelProperty("异常晚归人数") - private Integer abLateNumber; - - @ApiModelProperty("缺卡人数") - private Integer missNumber; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttdanceResultVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttdanceResultVO.java deleted file mode 100644 index 0fb126d..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttdanceResultVO.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.yida.data.attendance.vo; - -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import lombok.Data; - -@Data -public class AttdanceResultVO { - - @ApiModelProperty("主键ID") - private Long id; - @ApiModelProperty("用户主键ID") - private Long userId; - @ApiModelProperty("开始日期") - private LocalDate startDate; - @ApiModelProperty("结束日期") - private LocalDate endDate; - @ApiModelProperty("开始星期") - private String startWeek; - @ApiModelProperty("结束星期") - private String endWeek; - @ApiModelProperty("姓名") - private String name; - @ApiModelProperty("学号/手机号") - private String number; - @ApiModelProperty("部门名称") - private String deptName; - @ApiModelProperty("打卡规则") - private String ruleName; - @ApiModelProperty("打卡规则ID") - private Long ruleId; - @ApiModelProperty("打卡规则时段") - private String ruleTimeName; - @ApiModelProperty("打卡规则时段ID") - private Long ruleTimeId; - @ApiModelProperty("应打卡天数") - private Integer needDays; - @ApiModelProperty("实际打卡天数") - private Integer realDays; - @ApiModelProperty("正常天数") - private Integer normalDays; - @ApiModelProperty("异常天数") - private Integer abnormalDays; - @ApiModelProperty("异常次数") - private Integer abnormalNumber; - @ApiModelProperty("迟到次数") - private Integer lateNumber; - @ApiModelProperty("迟到时长:单位分") - private Integer lateTime; - @ApiModelProperty("早退次数") - private Integer leaveNumber; - @ApiModelProperty("早退时长:单位分") - private Integer leaveTime; - @ApiModelProperty("旷工次数") - private Integer outNumber; - @ApiModelProperty("缺卡次数") - private Integer missNumber; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceFaceMatchVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceFaceMatchVO.java deleted file mode 100644 index bff21f7..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceFaceMatchVO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.attendance.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 考勤人脸对比返回类 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "RosterFaceMatchVO", description = "考勤人脸对比返回类") -public class AttendanceFaceMatchVO implements Serializable { - - private static final long serialVersionUID = 1474013091202762132L; - - @ApiModelProperty("0-对比成功,1-对比不成功") - private Integer valid; - - @ApiModelProperty("对比分数") - private String score; - - @ApiModelProperty("对比成功的图片") - private String url; -} \ No newline at end of file diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceRecordExcelVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceRecordExcelVO.java deleted file mode 100644 index 56e2e77..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceRecordExcelVO.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.yida.data.attendance.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@ApiModel("通行记录导出实体对象") -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class AttendanceRecordExcelVO { - - @ApiModelProperty("姓名") - @ExcelProperty(order = 0, value = "姓名") - private String studentName; - - @ApiModelProperty("学号/手机号") - @ExcelProperty(order = 1, value = "学号/手机号") - private String studentNumber; - - @ApiModelProperty("校区") - @ExcelProperty(order = 2, value = "校区") - private String campusName; - - @ApiModelProperty("学段") - @ExcelProperty(order = 3, value = "学段") - private String sectionName; - - @ApiModelProperty("年级") - @ExcelProperty(order = 4, value = "年级") - private String gradeName; - - @ApiModelProperty("班级") - @ExcelProperty(order = 5, value = "班级") - private String className; - - @ApiModelProperty("通行时间") - @ExcelProperty(order = 6, value = "通行时间") - private String attendanceTime; - - @ApiModelProperty("通行位置") - @ExcelProperty(order = 7, value = "通行位置") - private String attendanceDevice; - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceRuleAdminUserVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceRuleAdminUserVO.java deleted file mode 100644 index 5f58223..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceRuleAdminUserVO.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.yida.data.attendance.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AttendanceRuleAdminUserVO { - - @ApiModelProperty(value = "主键id") - private Long id; - - /** - * 0-教职工,1学生 - */ - @ApiModelProperty(value = "0-教职工,1学生") - private Integer userType; - - /** - * 管理部门ID - */ - @ApiModelProperty(value = "管理部门ID") - private Long deptId; - - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - private String deptName; - - /** - * 考勤规则名称 - */ - @ApiModelProperty(value = "考勤人员Id") - private Long staffId; - - /** - * 考勤规则名称 - */ - @ApiModelProperty(value = "考勤人员名称") - private String staffName; - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceRuleUserVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceRuleUserVO.java deleted file mode 100644 index 9143b6a..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceRuleUserVO.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.yida.data.attendance.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.attendance.dto.AddAttendanceRuleAddressDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleAdminDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleDeviceDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleObjDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleRemindDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleSpecialDateDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleTimeDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleWhiteListDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleWifiDTO; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AttendanceRuleUserVO { - - @ApiModelProperty(value = "主键id") - private Long id; - - /** - * 0-教职工打卡,1学生上学考勤,2学生宿舍考勤 - */ - @ApiModelProperty(value = "0-教职工打卡,1学生上学考勤") - private Integer userType; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - private String deptName; - - /** - * 考勤规则名称 - */ - @ApiModelProperty(value = "考勤人员Id") - private Long userId; - - /** - * 考勤规则名称 - */ - @ApiModelProperty(value = "考勤人员名称") - private String userName; - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceRuleVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceRuleVO.java deleted file mode 100644 index 29365be..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceRuleVO.java +++ /dev/null @@ -1,203 +0,0 @@ -package com.yida.data.attendance.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.attendance.dto.AddAttendanceRuleAddressDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleAdminDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleDeviceDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleObjDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleRemindDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleSpecialDateDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleTimeDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleWhiteListDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleWifiDTO; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AttendanceRuleVO { - - @ApiModelProperty(value = "主键id") - private Long id; - - /** - * - */ - @ApiModelProperty(value = "") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * - */ - @ApiModelProperty(value = "") - private Long createId; - - /** - * - */ - @ApiModelProperty(value = "") - private String createName; - - /** - * - */ - @ApiModelProperty(value = "") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * - */ - @ApiModelProperty(value = "") - private Long updateId; - - /** - * - */ - @ApiModelProperty(value = "") - private Integer delFlag; - - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - private Long schoolId; - - /** - * 考勤规则名称 - */ - @ApiModelProperty(value = "考勤规则名称") - private String name; - - /** - * 0-教职工打卡,1学生上学考勤,2学生宿舍考勤 - */ - @ApiModelProperty(value = "0-教职工打卡,1学生上学考勤,2学生宿舍考勤") - private Integer userType; - - /** - * 0-固定上下班时间模式,1自由打卡模式 - */ - @ApiModelProperty(value = "0-固定上下班时间模式,1自由打卡模式") - private Integer type; - - /** - * 打卡日期,1-周一,2-周二....多个用','连接 - */ - @ApiModelProperty(value = "打卡日期,1-周一,2-周二....多个用','连接") - private String week; - - /** - * 法定节假日是否打卡,0-是,1-否 - */ - @ApiModelProperty(value = "法定节假日是否打卡,0-是,1-否") - private Integer holidayAttendance; - - /** - * 管理员打卡规则内容权限,0-无,1-有 - */ - @ApiModelProperty(value = "管理员打卡规则内容权限,0-无,1-有") - private Integer roleRule; - - /** - * 管理员打卡人员与白名单权限,0-无,1-有 - */ - @ApiModelProperty(value = "管理员打卡人员与白名单权限,0-无,1-有") - private Integer roleUser; - - /** - * 管理员节假日与特殊日期权限,0-无,1-有 - */ - @ApiModelProperty(value = "管理员节假日与特殊日期权限,0-无,1-有") - private Integer roleDate; - - /** - * 管理员打卡提醒权限,0-无,1-有 - */ - @ApiModelProperty(value = "管理员打卡提醒权限,0-无,1-有") - private Integer roleRemind; - - /** - * 打卡是必须拍照 0-无,1-必须 - */ - @ApiModelProperty(value = "打卡是必须拍照 0-无,1-必须") - private Integer photoTake; - - /** - * 打卡时必须人脸识别0-无,1-必须 - */ - @ApiModelProperty(value = "打卡时必须人脸识别0-无,1-必须") - private Integer faceTake; - - /** - * 填写备注时必须拍照0-无,1-必须 - */ - @ApiModelProperty(value = "填写备注时必须拍照0-无,1-必须") - private Integer photoRemark; - - /** - * 异常打卡可以提交申请,审批后可修正打卡状态 - */ - @ApiModelProperty(value = "异常打卡可以提交申请,审批后可修正打卡状态") - private Integer applyAmendment; - - /** - * 每月补卡次数 - */ - @ApiModelProperty(value = "每月补卡次数") - private Integer reissueNum; - - /** - * 启用状态:0-未启用,1-已启用 - */ - @ApiModelProperty(value = "启用状态:0-未启用,1-已启用") - private Integer status; - - /** - * 每月补卡截止日期 - */ - @ApiModelProperty(value = "每月补卡截止日期") - private Integer reissueEndDate; - - @ApiModelProperty(value = "有效开始时间") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate startDate; - - @ApiModelProperty(value = "有效结束时间") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate endDate; - - @ApiModelProperty(value = "打卡提醒") - private List remindDTOList; - @ApiModelProperty(value = "打卡对象") - private List attendanceRuleObjList; - @ApiModelProperty(value = "特殊日期") - private List specialDateDTOList; - @ApiModelProperty(value = "白名单") - private List whiteListDTOList; - @ApiModelProperty(value = "打卡设备") - private List deviceDTOList; - @ApiModelProperty(value = "打卡wifi") - private List wifiDTOList; - @ApiModelProperty(value = "打卡地点") - private List addressDTOList; - @ApiModelProperty(value = "打卡时间段") - private List timeDTOList; - @ApiModelProperty(value = "管理员") - private List adminDTOList; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceStatusByMonthVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceStatusByMonthVO.java deleted file mode 100644 index 2baaaf0..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceStatusByMonthVO.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.yida.data.attendance.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import javax.validation.constraints.NotNull; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel("查询当前月份考勤状态返回结果类") -public class AttendanceStatusByMonthVO { - - @ApiModelProperty("打卡规则ID") - private Long ruleId; - - @ApiModelProperty("打卡时间段ID") - private Long ruleTimeId; - - @ApiModelProperty("日期") - private LocalDate date; - - @ApiModelProperty("上班考勤状态:0正常,1异常") - private Integer startStatus; - - @ApiModelProperty("下班考勤状态:0正常,1异常") - private Integer endStatus; - - @ApiModelProperty("总考勤状态:0正常,1异常,2请假,3休假,4无") - private Integer Status; - - @ApiModelProperty("考勤类型:0-固定上下班时间模式,1自由打卡模式") - private Integer attType; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceUserCheckInVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceUserCheckInVO.java deleted file mode 100644 index 68b66bd..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceUserCheckInVO.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.yida.data.attendance.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import java.time.LocalTime; -import javax.validation.constraints.NotNull; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -@ApiModel(value = "AttendanceUserCheckInVO", description = "wifi打卡返回类") -public class AttendanceUserCheckInVO { - - @ApiModelProperty(value = "打卡状态:0正常,2迟到,3早退,7晚归,8异常晚归") - private Integer status; - - @ApiModelProperty(value = "当前打卡时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime checkInDateTime; - - @ApiModelProperty(value = "人脸认证图片地址") - private String avatar; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceWifiVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceWifiVO.java deleted file mode 100644 index 87c5c62..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/AttendanceWifiVO.java +++ /dev/null @@ -1,132 +0,0 @@ -package com.yida.data.attendance.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.attendance.dto.AddAttendanceRuleAddressDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleAdminDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleDeviceDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleObjDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleRemindDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleSpecialDateDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleTimeDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleWhiteListDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleWifiDTO; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import java.time.LocalTime; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -public class AttendanceWifiVO { - - @ApiModelProperty(value = "打卡规则ID") - private Long ruleId; - - @ApiModelProperty(value = "打卡规则类型,0-固定上下班时间模式,1自由打卡模式") - private Integer ruleType; - - @ApiModelProperty(value = "打卡时段ID") - private Long ruleTimeId; - - @ApiModelProperty(value = "打卡规则名称") - private String ruleName; - - @ApiModelProperty(value = "打卡是必须拍照人脸识别 0-无,1-必须") - private Integer ruleFaceTake; - - /** - * 是否WiFi打卡范围 0否,1是 - */ - @ApiModelProperty(value = "是否WiFi打卡范围 0否,1是") - private Integer wifiRange; - - /** - * wifi名称 - */ - @ApiModelProperty(value = "wifi名称") - private String wifiName; - - /** - * BSSID - */ - @ApiModelProperty(value = "BSSID") - private String wifiBssid; - - /** - * 上班时间 - */ - @ApiModelProperty(value = "上班时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime startTime; - - - /** - * 实际上班时间 - */ - @ApiModelProperty(value = "实际上班时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime startRealTime; - - - /** - * 上班考勤状态:0-正常,1-异常 - */ - @ApiModelProperty(value = "上班考勤状态:0-正常,1-异常") - private Integer startStatus; - - - /** - * 上班打卡照片 - */ - @ApiModelProperty(value = "上班打卡照片") - private String startImg; - - - /** - * 下班时间 - */ - @ApiModelProperty(value = "下班时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime endTime; - - - /** - * 实际下班时间 - */ - @ApiModelProperty(value = "实际下班时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime endRealTime; - - - /** - * 下班考勤状态:0-正常,1-异常 - */ - @ApiModelProperty(value = "下班考勤状态:0-正常,1-异常") - private Integer endStatus; - - /** - * 下班打卡照片 - */ - @ApiModelProperty(value = "下班打卡照片") - private String endImg; - - - /** - * 本次打卡所属:1签到,2签退 - */ - @ApiModelProperty(value = "本次打卡所属:1签到,2签退,3休息不用打卡,4,不在打卡时间段内,5无打卡规则,6不在范围内,7无权限,非智慧校园用户") - private Integer status; - - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ConflictRuleVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ConflictRuleVO.java deleted file mode 100644 index cff74a2..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ConflictRuleVO.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.yida.data.attendance.vo; - - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("冲突规则") -public class ConflictRuleVO { - @ApiModelProperty("规则Id") - private Long ruleId; - @ApiModelProperty("规则名称") - private String ruleName; - @ApiModelProperty("部门id") - private Long deptId; - @ApiModelProperty("部门名称") - private String deptName; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DateStatusVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DateStatusVO.java deleted file mode 100644 index e3bedc6..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DateStatusVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.yida.data.attendance.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import lombok.Data; - -@Data -@ApiModel("查询管理员管理用户统计状态-用于日历展示") -public class DateStatusVO { - - @ApiModelProperty("日期") - private LocalDate date; - - @ApiModelProperty("总考勤状态:0正常,1异常,2请假,3休假,4无") - private Integer Status; - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DayReportDataVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DayReportDataVO.java deleted file mode 100644 index 7fa479d..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DayReportDataVO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.attendance.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import java.time.LocalDate; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -@Builder -@Data -@AllArgsConstructor -@NoArgsConstructor -public class DayReportDataVO { - - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate date; - private String deptName; - private Integer totalNum; - private Integer abNum; - private String score; - private Integer requestNum; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DetailVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DetailVO.java deleted file mode 100644 index d030502..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DetailVO.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.yida.data.attendance.vo; - -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import java.time.LocalTime; -import lombok.Data; - -@Data -public class DetailVO { - - @ApiModelProperty("日期") - private LocalDate date; - - @ApiModelProperty("星期") - private Integer week; - - @ApiModelProperty("上班打卡状态;0正常,1异常") - private Integer startStatus; - - @ApiModelProperty("上班打卡时间") - private LocalTime startRealTime; - - @ApiModelProperty("下班打卡状态:0正常,1异常") - private Integer endStatus; - - @ApiModelProperty("下班打卡时间") - private LocalTime endRealTime; - - @ApiModelProperty("是否需要打卡考勤,0是,1否") - private Integer needAttendance; - - @ApiModelProperty("打卡类型:0=需要上下班打卡,1=只需要打卡一次(取上班打卡时间与状态)") - private Integer modelType; - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DeviceNumberVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DeviceNumberVO.java deleted file mode 100644 index a34b45b..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DeviceNumberVO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.yida.data.attendance.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 设备数量统计返回类 - * - * @author ZYJ - * @date 2021/10/8 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "DeviceNumberVO", description = "设备数量统计返回类") -public class DeviceNumberVO implements Serializable { - - private static final long serialVersionUID = -7261215589760191372L; - - @ApiModelProperty(value = "设备总数量") - private Long totalNumber; - - @ApiModelProperty(value = "在线设备数量") - private Long onlineNumber; - - @ApiModelProperty(value = "离线设备数量") - private Long offlineNumber; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DeviceOrDeviceGroupVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DeviceOrDeviceGroupVO.java deleted file mode 100644 index a83716e..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DeviceOrDeviceGroupVO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.attendance.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -public class DeviceOrDeviceGroupVO { - private Long id; - - @ApiModelProperty("0-设备,1-设备组") - private Integer type; - - private String name; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DeviceVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DeviceVO.java deleted file mode 100644 index 3a6ff0f..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DeviceVO.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.yida.data.attendance.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -@ApiModel("设备信息") -@Data -public class DeviceVO { - - private Long id; - - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - @ApiModelProperty("设备名称") - private String name; - - @ApiModelProperty("设备编号") - private String sn; - - @ApiModelProperty("设备mac地址") - private String macAddress; - - @ApiModelProperty("设备厂商") - private String deviceType; - - @ApiModelProperty("ip") - private String ip; - - @ApiModelProperty("学校id") - private Long schoolId; - - @ApiModelProperty("学校名称") - private String schoolName; - - @ApiModelProperty("区域类型,0-进门,1-出门") - private Integer zoneScope; - - @ApiModelProperty("0-校门,1-宿舍") - private Integer type; - - @ApiModelProperty("设备在线状态,0-在线,1-未在线") - private Integer state; - - @ApiModelProperty("分组名称") - private String groupName; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DownLoadAttendanceResultVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DownLoadAttendanceResultVO.java deleted file mode 100644 index 4c55ed9..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/DownLoadAttendanceResultVO.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.yida.data.attendance.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class DownLoadAttendanceResultVO { - - @ApiModelProperty("操作标识") - private String key; - - @ApiModelProperty("文件名称") - private String fileName; - - @ApiModelProperty("进度 0-100") - private Integer percent; - - @ApiModelProperty("是否下载完成,0-否,1-是") - private Integer finish; - - @ApiModelProperty("下载总数") - private Integer totalNum; - - @ApiModelProperty("当前下载到第几个") - private Integer currentNum; - - @ApiModelProperty("文件路径") - private String filePath; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ImportBssidDataVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ImportBssidDataVO.java deleted file mode 100644 index 2c03c16..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ImportBssidDataVO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.attendance.vo; - -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class ImportBssidDataVO implements Serializable { - - private static final long serialVersionUID = 6853343450276063448L; - - - @ApiModelProperty("本次操作标识") - private String wifiName; - - @ApiModelProperty("进度 0-100") - private Integer percent; - - @ApiModelProperty("是否下载完成,0-否,1-是") - private Integer finish; - - @ApiModelProperty("错误文件路径") - private String filePath; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ManageListUserAttendanceDetailTotalVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ManageListUserAttendanceDetailTotalVO.java deleted file mode 100644 index f0ca2a7..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ManageListUserAttendanceDetailTotalVO.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.yida.data.attendance.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import io.swagger.models.auth.In; -import lombok.Data; - -@Data -@ApiModel("打卡明细-统计-返回类") -public class ManageListUserAttendanceDetailTotalVO { - - @ApiModelProperty("总数") - private Integer totalNum; - - @ApiModelProperty("异常人数") - private Integer abNormalNum; - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ManageListUserAttendanceDetailVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ManageListUserAttendanceDetailVO.java deleted file mode 100644 index 0b1c18e..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ManageListUserAttendanceDetailVO.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.yida.data.attendance.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("打卡明细-返回类") -public class ManageListUserAttendanceDetailVO { - - @ApiModelProperty("用户Id") - private Long userId; - - @ApiModelProperty("用户姓名") - private String userName; - - @ApiModelProperty("用户姓名") - private String deptName; - - @ApiModelProperty("宿舍") - private String dormName; - - @ApiModelProperty("用户头像") - private String avatar; - - @ApiModelProperty("学生类型,0-走读,1-住宿") - private Integer studentType; - - @ApiModelProperty("用户类型:0职工,1学生") - private Integer userType; - - @ApiModelProperty("打卡规则Id") - private Long ruleId; - - @ApiModelProperty("打卡规则") - private String ruleName; - - @ApiModelProperty("迟到次数") - private Integer lateNum; - - @ApiModelProperty("晚归次数") - private Integer lateDormNum; - - @ApiModelProperty("晚归分钟数") - private Integer lateDormMinute; - - @ApiModelProperty("异常晚归次数") - private Integer aBLateDormNum; - - @ApiModelProperty("异常晚归分钟数") - private Integer aBLateDormMinute; - - @ApiModelProperty("早退次数") - private Integer leaveNum; - - @ApiModelProperty("缺卡次数") - private Integer missNum; - - @ApiModelProperty("请假次数") - private Integer requestNum; - - @ApiModelProperty("迟到分钟数") - private Integer lateMinute; - - @ApiModelProperty("早退分钟数") - private Integer leaveMinute; - - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ManageListUserVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ManageListUserVO.java deleted file mode 100644 index e00fa6d..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/ManageListUserVO.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.yida.data.attendance.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.util.List; -import lombok.Data; - -@Data -@ApiModel("管理员管理用户考勤统计-返回类") -public class ManageListUserVO { - - @ApiModelProperty("管理部门名称") - private Long deptId; - - @ApiModelProperty("管理部门名称") - private Integer deptType; - - @ApiModelProperty("管理部门名称") - private String deptName; - - @ApiModelProperty("正常打卡人数") - private Integer normalNum; - - @ApiModelProperty("异常打卡人数") - private Integer abNormalNum; - - @ApiModelProperty("总打卡人数") - private Integer totalNum; - - @ApiModelProperty("迟到人数") - private Integer lateUserNum; - - @ApiModelProperty("早退次数") - private Integer leaveUserNum; - - @ApiModelProperty("缺卡人数") - private Integer missUserNum; - - @ApiModelProperty("请假人数") - private Integer requestUserNum; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/OnlineCountVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/OnlineCountVO.java deleted file mode 100644 index 7cf4c43..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/OnlineCountVO.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.yida.data.attendance.vo; - -import lombok.Data; - -@Data -public class OnlineCountVO { - - private Integer onlineNum; - - private Integer offlineNum; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StaRecordCountVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StaRecordCountVO.java deleted file mode 100644 index 7f1fef7..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StaRecordCountVO.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.yida.data.attendance.vo; - -import io.swagger.annotations.ApiModel; -import lombok.Data; - -@ApiModel("各类型考勤状态数量") -@Data -public class StaRecordCountVO { - - private Integer studentNormal; - - private Integer studentLate; - - private Integer studentNotArrive; - - private Integer studentRequest; - - private Integer staffNormal; - - private Integer staffLate; - - private Integer staffNotArrive; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StaffIdentityVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StaffIdentityVO.java deleted file mode 100644 index 8fd0bac..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StaffIdentityVO.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.yida.data.attendance.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -public class StaffIdentityVO { - - @ApiModelProperty("学生管理员") - private boolean manageStudent; - @ApiModelProperty("职工管理员") - private boolean manageStaff; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StudentDormAttendanceDayReportExcelVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StudentDormAttendanceDayReportExcelVO.java deleted file mode 100644 index 7c4ef33..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StudentDormAttendanceDayReportExcelVO.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.yida.data.attendance.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@ApiModel("学生宿舍考勤日报/周报/月报导出实体对象") -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class StudentDormAttendanceDayReportExcelVO { - - @ApiModelProperty("考勤日期") - @ExcelProperty(order = 1, value = "考勤日期") - private String attendanceTime; - - @ApiModelProperty("校区") - @ExcelProperty(order = 2, value = "校区") - private String campusName; - - @ApiModelProperty("学段") - @ExcelProperty(order = 3, value = "学段") - private String sectionName; - - @ApiModelProperty("年级") - @ExcelProperty(order = 4, value = "年级") - private String gradeName; - - @ApiModelProperty("班级") - @ExcelProperty(order = 5, value = "班级") - private String className; - - @ApiModelProperty("应打卡人数") - @ExcelProperty(order = 6, value = "应打卡人数") - private String needNum; - - @ApiModelProperty("实际打卡人数") - @ExcelProperty(order = 7, value = "实际打卡人数") - private String realNum; - - @ApiModelProperty("请假人数") - @ExcelProperty(order = 8, value = "请假人数") - private String requestNum; - - @ApiModelProperty("正常打卡人数") - @ExcelProperty(order = 9, value = "正常打卡人数") - private String normalNum; - - @ApiModelProperty("旷宿人数") - @ExcelProperty(order = 10, value = "旷宿人数") - private String missNum; - - @ApiModelProperty("晚归打卡人数") - @ExcelProperty(order = 11, value = "晚归打卡人数") - private String lateNum; - - @ApiModelProperty("异常晚归打卡人数") - @ExcelProperty(order = 12, value = "异常晚归打卡人数") - private String abLateNum; - - - @ApiModelProperty("出勤率") - @ExcelProperty(order = 13, value = "出勤率") - private String attendanceRate; - -// @ApiModelProperty("应打卡次数") -// @ExcelProperty(order = 13, value = "应打卡次数") -// private String needDay; -// -// @ApiModelProperty("实际打卡次数") -// @ExcelProperty(order = 14, value = "实际打卡次数") -// private String realDay; -// -// @ApiModelProperty("正常打卡次数") -// @ExcelProperty(order = 15, value = "正常打卡次数") -// private String normalDay; -// -// @ApiModelProperty("旷宿次数") -// @ExcelProperty(order = 16, value = "旷宿次数") -// private String missDay; -// -// @ApiModelProperty("晚归打卡次数") -// @ExcelProperty(order = 17, value = "晚归打卡次数") -// private String lateDay; -// -// @ApiModelProperty("异常晚归打卡次数") -// @ExcelProperty(order = 18, value = "异常晚归打卡次数") -// private String abLateDay; -// -// @ApiModelProperty("打卡率") -// @ExcelProperty(order = 19, value = "打卡率") -// private String checkRate; -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StudentDormAttendanceResultExcelVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StudentDormAttendanceResultExcelVO.java deleted file mode 100644 index 9b29eca..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StudentDormAttendanceResultExcelVO.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.yida.data.attendance.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.yida.data.common.core.converter.LocalDateConverter; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@ApiModel("学生宿舍考勤结果导出实体对象") -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class StudentDormAttendanceResultExcelVO { - - @ApiModelProperty("姓名") - @ExcelProperty(order = 0, value = "姓名") - private String studentName; - - @ApiModelProperty("学号") - @ExcelProperty(order = 1, value = "学号") - private String studentNumber; - - @ApiModelProperty("校区") - @ExcelProperty(order = 2, value = "校区") - private String campusName; - - @ApiModelProperty("学段") - @ExcelProperty(order = 3, value = "学段") - private String sectionName; - - @ApiModelProperty("年级") - @ExcelProperty(order = 4, value = "年级") - private String gradeName; - - @ApiModelProperty("班级") - @ExcelProperty(order = 5, value = "班级") - private String className; - - @ApiModelProperty("考勤规则") - @ExcelProperty(order = 6, value = "考勤规则") - private String ruleName; - - @ApiModelProperty("考勤日期") - @ExcelProperty(order = 7, value = "考勤日期") - private String attendanceDate; - - @ApiModelProperty("星期") - @ExcelProperty(order = 8, value = "星期") - private String attendanceWeek; - - @ApiModelProperty("考勤时段") - @ExcelProperty(order = 9, value = "考勤时段") - private String attendanceTime; - - @ApiModelProperty("考勤结果") - @ExcelProperty(order = 10, value = "考勤结果") - private String status; - - @ApiModelProperty("打卡时间") - @ExcelProperty(order = 11, value = "打卡时间") - private String attendanceRealTime; - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StudentDormAttendanceResultTotalExcelVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StudentDormAttendanceResultTotalExcelVO.java deleted file mode 100644 index cdb905c..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/StudentDormAttendanceResultTotalExcelVO.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.yida.data.attendance.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@ApiModel("学生宿舍考勤结果导出实体对象") -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class StudentDormAttendanceResultTotalExcelVO { - - @ApiModelProperty("姓名") - @ExcelProperty(order = 0, value = "姓名") - private String studentName; - - @ApiModelProperty("学号") - @ExcelProperty(order = 1, value = "学号") - private String studentNumber; - - @ApiModelProperty("校区") - @ExcelProperty(order = 2, value = "校区") - private String campusName; - - @ApiModelProperty("学段") - @ExcelProperty(order = 3, value = "学段") - private String sectionName; - - @ApiModelProperty("年级") - @ExcelProperty(order = 4, value = "年级") - private String gradeName; - - @ApiModelProperty("班级") - @ExcelProperty(order = 5, value = "班级") - private String className; - - @ApiModelProperty("应打卡次数") - @ExcelProperty(order = 6, value = "应打卡次数") - private String needDay; - - @ApiModelProperty("实际打卡次数") - @ExcelProperty(order = 7, value = "实际打卡次数") - private String realDay; - - @ApiModelProperty("正常打卡次数") - @ExcelProperty(order = 8, value = "正常打卡次数") - private String normalDay; - - @ApiModelProperty("旷宿次数") - @ExcelProperty(order = 9, value = "旷宿次数") - private String missDay; - - @ApiModelProperty("晚归打卡次数") - @ExcelProperty(order = 10, value = "晚归打卡次数") - private String lateDay; - - @ApiModelProperty("异常晚归打卡次数") - @ExcelProperty(order = 11, value = "异常晚归打卡次数") - private String abLateDay; - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/UserAttendanceResultByDayVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/UserAttendanceResultByDayVO.java deleted file mode 100644 index 682d184..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/UserAttendanceResultByDayVO.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.attendance.vo; - -import com.carrotsearch.hppc.LongDeque; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceResult; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRule; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.util.List; -import lombok.Data; - -@Data -@ApiModel("获取某日用户考勤记录返回类") -public class UserAttendanceResultByDayVO { - - @ApiModelProperty("打卡规则") - private AttendanceRuleVO rule; - - @ApiModelProperty("累计打卡时长,单位分钟") - private Long attendanceTime; - - @ApiModelProperty("打卡结果") - private List result; - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/UserAttendanceResultByTimeSlotVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/UserAttendanceResultByTimeSlotVO.java deleted file mode 100644 index 60ad780..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/UserAttendanceResultByTimeSlotVO.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.yida.data.attendance.vo; - -import com.yida.data.common.core.entity.attendance.attendance.AttendanceResult; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@ApiModel("获取某时间段内用户考勤结果返回类") -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class UserAttendanceResultByTimeSlotVO { - - @ApiModelProperty("正常打卡天数") - private Integer normalDays; - - @ApiModelProperty("异常打卡天数") - private Integer abNormalDays; - - @ApiModelProperty("总打卡天数") - private Integer totalDays; - - @ApiModelProperty("迟到次数") - private Integer lateTimes; - - @ApiModelProperty("早退次数") - private Integer leaveTimes; - - @ApiModelProperty("缺卡次数") - private Integer missTimes; - -// @ApiModelProperty("旷课次数") -// private Integer outTimes; - - @ApiModelProperty("请假次数") - private Integer requestTimes; - - @ApiModelProperty("打卡结果-迟到") - private List lateList; - - @ApiModelProperty("打卡结果-早退") - private List leaveList; - - @ApiModelProperty("打卡结果-缺卡") - private List missList; - -// @ApiModelProperty("打卡结果-旷课") -// private List outList; - -} diff --git a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/UserAttendanceResultDayAndNumVO.java b/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/UserAttendanceResultDayAndNumVO.java deleted file mode 100644 index 5850fb7..0000000 --- a/febs-server/attendance/attendance-api/src/main/java/com/yida/data/attendance/vo/UserAttendanceResultDayAndNumVO.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.yida.data.attendance.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -@Data -@ApiModel("获取某时间段内用户考勤结果-日期对应次数返回类") -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class UserAttendanceResultDayAndNumVO { - - @ApiModelProperty("日期") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate attendanceDate; - - @ApiModelProperty("次数") - private Integer num; -} diff --git a/febs-server/attendance/attendance-api/src/main/resources/META-INF/spring.factories b/febs-server/attendance/attendance-api/src/main/resources/META-INF/spring.factories deleted file mode 100644 index 317b197..0000000 --- a/febs-server/attendance/attendance-api/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,6 +0,0 @@ -# Auto Configure -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -com.yida.data.attendance.fallback.RemoteAttendanceDeviceServiceFallback,\ -com.yida.data.attendance.fallback.RemoteAttendanceStrategyServiceFallback,\ -com.yida.data.attendance.fallback.RemoteAttendanceResultServiceFallback,\ -com.yida.data.attendance.fallback.RemoteUserStrategyServiceFallback diff --git a/febs-server/attendance/attendance-biz/pom.xml b/febs-server/attendance/attendance-biz/pom.xml deleted file mode 100644 index 593fe8f..0000000 --- a/febs-server/attendance/attendance-biz/pom.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - - attendance - com.yida.data.attendance - 2.2-RELEASE - - 4.0.0 - - attendance-biz - - - 8 - 8 - - - - - - org.eclipse.paho - org.eclipse.paho.client.mqttv3 - ${paho.mqttv3.version} - - - com.yida.data.system - febs-server-system-api - ${febs-cloud.version} - compile - - - com.yida.data.user - edu-user-api - ${febs-cloud.version} - compile - - - com.yida.data.school - edu-school-api - ${febs-cloud.version} - compile - - - - com.yida.data.common - edu-common - ${febs-cloud.version} - compile - - - com.yida.data.job - febs-server-job-api - ${febs-cloud.version} - compile - - - com.yida.data.attendance - attendance-api - ${febs-cloud.version} - compile - - - - org.springframework.boot - spring-boot-starter-activemq - - - com.yida.data.server - edu-card-server-api - 2.2-RELEASE - compile - - - - - - org.springframework.boot - spring-boot-maven-plugin - - ../../../febs-jar - - - - - \ No newline at end of file diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/AttendanceApplication.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/AttendanceApplication.java deleted file mode 100644 index 88c3f88..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/AttendanceApplication.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.yida.data.attendance; - - -import cc.mrbird.febs.common.security.starter.annotation.EnableFebsCloudResourceServer; -import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.boot.WebApplicationType; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.cloud.openfeign.EnableFeignClients; -import org.springframework.jms.annotation.EnableJms; -import org.springframework.scheduling.annotation.EnableAsync; -import org.springframework.scheduling.annotation.EnableScheduling; - -@EnableAsync -@EnableScheduling -@EnableFebsCloudResourceServer -@EnableFeignClients(basePackages = "com.yida.data") -@MapperScan("com.yida.data.attendance.mapper") -@SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class) -@EnableJms -public class AttendanceApplication { - - public static void main(String[] args) { - new SpringApplicationBuilder(AttendanceApplication.class) - .web(WebApplicationType.SERVLET) - .run(args); - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/configure/ActiveMqConfigure.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/configure/ActiveMqConfigure.java deleted file mode 100644 index 81f7360..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/configure/ActiveMqConfigure.java +++ /dev/null @@ -1,147 +0,0 @@ -package com.yida.data.attendance.configure; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.date.LocalDateTimeUtil; -import cn.hutool.core.lang.Snowflake; -import cn.hutool.json.JSONArray; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.attendance.dto.AddAttendanceRecordDTO; -import com.yida.data.attendance.service.AttendanceRecordService; -import com.yida.data.attendance.service.EduAttendanceDeviceService; -import com.yida.data.attendance.service.ErrorRecordMsgService; -import com.yida.data.common.core.entity.ErrorRecordMsg; -import com.yida.data.common.core.entity.ReceiveMsg; -import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.enums.MsgChannel; -import com.yida.data.common.core.enums.RecordTypeEnum; -import com.yida.data.user.feign.RemoteStaffService; -import com.yida.data.user.feign.RemoteStudentService; - -import java.time.LocalDateTime; -import java.util.Objects; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.context.annotation.Configuration; -import org.springframework.jms.annotation.JmsListener; - -@RequiredArgsConstructor -@Slf4j -@Configuration -public class ActiveMqConfigure { - - private final AttendanceRecordService attendanceRecordService; - private final RemoteStaffService remoteStaffService; - private final RemoteStudentService remoteStudentService; - private final RedisService redisService; - private final ErrorRecordMsgService errorRecordMsgService; - private final EduAttendanceDeviceService eduAttendanceDeviceService; - - public static final String TOPIC = "mq.bfms.client.msg.topic"; - - private static final Snowflake SNOWFLAKE; - - static { - SNOWFLAKE = new Snowflake(1L, 1L); - } - - @JmsListener(destination = "mq.bfms.client.msg.topic") - public void consumeAttendance(String text) { - AddAttendanceRecordDTO dto = new AddAttendanceRecordDTO(); - Long schoolId = null; - try { - // 保存接收消息到es - ReceiveMsg receiveMsg = new ReceiveMsg(); - receiveMsg.setTopic(TOPIC); - receiveMsg.setMsg(text); - receiveMsg.setId(SNOWFLAKE.nextId()); - receiveMsg.setChannel(MsgChannel.ACTIVE.getValue()); - receiveMsg.setCreateDate(LocalDateTime.now()); - redisService.lSet(CachePrefixConstant.RECEIVE_MSG, receiveMsg); - - // 处理业务 - JSONObject json = JSONUtil.parseObj(text); - String method = json.getStr("method"); - if ("bfms.notifyFaceInfo".equals(method)) { - JSONObject data = json.getJSONObject("info"); - - // 设备号 - String sn = data.getStr("channelId"); - // 查询设备信息 - EduAttendanceDevice attendanceDevice = eduAttendanceDeviceService.getOne(Wrappers.lambdaQuery(new EduAttendanceDevice()) - .eq(EduAttendanceDevice::getSn, sn)); - if (Objects.isNull(attendanceDevice)) { - log.error("设备信息不存在: {}", sn); - return; - } - schoolId = attendanceDevice.getSchoolId(); - dto.setSchoolId(attendanceDevice.getSchoolId()); - JSONArray jsonArray = data.getJSONArray("similarFaces"); - if (Objects.isNull(jsonArray)) { - return; - } - JSONObject personData = (JSONObject) jsonArray.get(0); - String personId = personData.getStr("personId"); - Integer personType = personData.getInt("personTypeId"); -// DealRecordDTO dto = new DealRecordDTO(); - - String pictureUrl = data.getStr("pictureUrl"); - String[] pictureUrls = pictureUrl.split("\\|"); - if (pictureUrls.length < 2) { - // 图片未上传 不处理该数据 - return; - } - dto.setPicUrl(pictureUrls[1]); - dto.setCreateTime(LocalDateTimeUtil.of(data.getLong("beginTime") * 1000)); - dto.setDeviceSn(sn); - Object userId = redisService.hget(CachePrefixConstant.USER_DAHUA_USER, personId); - // 查询用户 - if (personType == 2) { - if (userId == null) { - EduStaff staff = remoteStaffService.getStaffByDahuaNoPermission(personId).getData(); - if (staff != null) { - dto.setUserId(staff.getId()); - redisService.hset(CachePrefixConstant.USER_DAHUA_USER, personId, dto.getUserId()); - } - } else { - dto.setUserId(Long.valueOf(userId.toString())); - } - dto.setUserType(0); - } else if (personType == 1) { - if (userId == null) { - EduStudent student = remoteStudentService.getStudentByDahuaNoPermission(personId).getData(); - if (student != null) { - dto.setUserId(student.getId()); - redisService.hset(CachePrefixConstant.USER_DAHUA_USER, personId, dto.getUserId()); - } - } else { - dto.setUserId(Long.valueOf(userId.toString())); - } - dto.setUserType(1); - } - dto.setMsgChannel(MsgChannel.ACTIVE); - if (dto.getUserId() != null) { - log.info("大华人脸识别信息:[{}]", dto); - attendanceRecordService.addRecord(dto); - } - } - } catch (Exception e) { - log.error("处理大华人脸推送错误,接收消息:[{}]", text, e); - errorRecordMsgService.saveMsg(ErrorRecordMsg.builder() -// .id(SNOWFLAKE.nextId()) - .createDate(LocalDateTime.now()) - .schoolId(schoolId) - .msg(JSONUtil.toJsonStr(dto)) - .topic(TOPIC) - .channel(MsgChannel.ACTIVE.getValue()) - .recordType(RecordTypeEnum.PANEL_MACHINE.getType()) - .build() - ); - } - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/configure/ThreadPollConfigure.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/configure/ThreadPollConfigure.java deleted file mode 100644 index f550fdd..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/configure/ThreadPollConfigure.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.attendance.configure; - -import java.util.concurrent.ThreadPoolExecutor; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; - -@Configuration -public class ThreadPollConfigure { - - public static final String POLL_NAME = "attendance_thread_pool"; - - @Bean(POLL_NAME) - public ThreadPoolTaskExecutor asyncThreadPoolTaskExecutor() { - ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - executor.setCorePoolSize(5); - executor.setMaxPoolSize(20); - executor.setKeepAliveSeconds(30); - executor.setThreadNamePrefix("attendance-thread"); - executor.setWaitForTasksToCompleteOnShutdown(true); - executor.setAwaitTerminationSeconds(60); - executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); - executor.initialize(); - return executor; - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/constant/MqttConstant.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/constant/MqttConstant.java deleted file mode 100644 index 5c7dbe6..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/constant/MqttConstant.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.yida.data.attendance.constant; - -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Component; - -import lombok.Data; - -@Data -@Component -@ConfigurationProperties(prefix = "febs.mqtt") -public class MqttConstant { - - private String url; - private String username; - private String password; -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceDeviceController.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceDeviceController.java deleted file mode 100644 index 16736e7..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceDeviceController.java +++ /dev/null @@ -1,175 +0,0 @@ -package com.yida.data.attendance.controller; - -import cn.hutool.core.util.ArrayUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.attendance.dto.DevicePage; -import com.yida.data.attendance.dto.IssuedFaceDTO; -import com.yida.data.attendance.dto.RemoveFaceDTO; -import com.yida.data.attendance.service.EduAttendanceDeviceService; -import com.yida.data.attendance.vo.DeviceNumberVO; -import com.yida.data.attendance.vo.DeviceVO; -import com.yida.data.attendance.vo.OnlineCountVO; -import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.log.annotation.OperationLog; -import com.yida.data.system.feign.RemoteDeptService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.stream.Collectors; -import lombok.RequiredArgsConstructor; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -@Api(tags = "考勤-设备", value = "考勤") -@RestController -@RequestMapping("/device") -@RequiredArgsConstructor -public class AttendanceDeviceController { - - private final EduAttendanceDeviceService eduAttendanceDeviceService; - private final RemoteDeptService remoteDeptService; - - - @ApiOperation("考勤设备列表分页查询") - @GetMapping("/listDevicePage") - @PreAuthorize("hasAuthority('attendance:device:view')") - public ResultBean> listDevicePage(@ApiParam("学校名称") String schoolName, - @ApiParam("设备编号或名称") String number, - @ApiParam("进出类型,0-进门,1-出门") Integer scope, - @ApiParam("区域类型,0-校门,1-宿舍") Integer type, - @ApiParam("设备状态,0-在线,1-离线") Integer state, - @ApiParam("当前页码") @RequestParam(defaultValue = "1") Integer pageNum, - @ApiParam("页面大小") @RequestParam(defaultValue = "10") Integer pageSize - ) { - return ResultBean.buildSuccess(eduAttendanceDeviceService.listDevicePage(new DevicePage(pageNum, - pageSize), schoolName, number, scope, type, state, FebsUtil.getCurrentUser())); - } - - /** - * 考勤设备数量统计 - * - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2021/10/8 16:57 - */ - @ApiOperation("考勤设备数量统计") - @GetMapping("/findDeviceNumber") - public ResultBean findDeviceNumber() throws NoSuchMethodException { - return eduAttendanceDeviceService.findDeviceNumber(); - } - - @ApiOperation("新增、修改设备") - @PostMapping("/saveDevice") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "新增、修改考勤设备", type = OperationLogTypeEnum.SAVE) - @PreAuthorize("hasAuthority('attendance:device:edit')") - public ResultBean saveDevice(@RequestBody EduAttendanceDevice device) { - return ResultBean.buildSuccess(eduAttendanceDeviceService.saveDevice(device)); - } - - @ApiOperation("删除考勤设备") - @PostMapping("/delDevice") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "删除考勤设备", type = OperationLogTypeEnum.DELETE) - @PreAuthorize("hasAuthority('attendance:device:delete')") - public ResultBean delDevice(@RequestBody List ids) { - eduAttendanceDeviceService.delDevice(ids); - // 更新缓存 - return ResultBean.buildSuccess(); - } - - @ApiOperation("根据学校和区域查询设备列表") - @GetMapping("/listDeviceBySchool") - public ResultBean> listDeviceBySchool( - @ApiParam("学校id") Long schoolId, - @ApiParam("区域类型,0-进门,1-出门") @RequestParam(required = false) Integer scope, - @ApiParam("类型,0-校门,1-宿舍") @RequestParam(required = false) Integer type) { - LambdaQueryWrapper condition = Wrappers.lambdaQuery(new EduAttendanceDevice()) - .eq(EduAttendanceDevice::getSchoolId, schoolId); - if (scope != null) { - condition.eq(EduAttendanceDevice::getZoneScope, scope); - } - if (type != null) { - condition.eq(EduAttendanceDevice::getType, type); - } - return ResultBean.buildSuccess(eduAttendanceDeviceService.list(condition)); - } - - @ApiOperation("根据id查询设备列表") - @GetMapping("/listDeviceById") - ResultBean> listDeviceById(@RequestParam("ids") Long[] ids) { - return ResultBean.buildSuccess( - ArrayUtil.isNotEmpty(ids) ? eduAttendanceDeviceService.listByIds(Arrays.asList(ids)) - : Collections.EMPTY_LIST); - } - - @ApiOperation("根据id开门") - @GetMapping("/openDoor") - public ResultBean openDoor(@ApiParam("设备id") @RequestParam String eduAttendanceDevice) { - eduAttendanceDeviceService.openDoor(eduAttendanceDevice); - return ResultBean.buildSuccess(); - } - - @ApiOperation("根据id设置时间") - @GetMapping("/setSysTime") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "根据id设置设备时间", type = OperationLogTypeEnum.UPDATE) - public ResultBean setSysTime(@ApiParam("设备id") @RequestParam String id) { - eduAttendanceDeviceService.setSysTime(id); - return ResultBean.buildSuccess(); - } - - @ApiOperation("批量设置时间") - @PostMapping("/setAllTime") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "批量设置设备时间", type = OperationLogTypeEnum.UPDATE) - public ResultBean setAllTime(@RequestBody List list) { - - eduAttendanceDeviceService.setAllTime(list); - return ResultBean.buildSuccess(); - } - - @ApiOperation("批量开门") - @PostMapping("/openAllDoor") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "批量开门设备", type = OperationLogTypeEnum.UPDATE) - public ResultBean openAllDoor(@RequestBody List list) { - - eduAttendanceDeviceService.openAllDoor(list); - return ResultBean.buildSuccess(); - } - - @ApiOperation("下发人脸(下发设备需为同一厂商设备)") - @PostMapping("/issuedFace") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "下发人脸", type = OperationLogTypeEnum.SELECT) - public ResultBean issuedFace(@RequestBody IssuedFaceDTO dto) { - eduAttendanceDeviceService.issuedFace(dto); - return ResultBean.buildSuccess(); - } - - @ApiOperation("删除设备中的人脸") - @PostMapping("/removeFace") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "删除设备中的人脸", type = OperationLogTypeEnum.DELETE) - public ResultBean removeFace(@RequestBody RemoveFaceDTO dto) { - eduAttendanceDeviceService.removeFace(dto); - return ResultBean.buildSuccess(); - } - - @ApiOperation("获取面板机状态分布") - @GetMapping("/getOnlineDistrib") - public ResultBean getOnlineDistrib() { - List schoolIds = remoteDeptService.getSchoolByArea(null, null).getData().stream().map(Dept::getDeptId) - .collect(Collectors.toList()); - return ResultBean.buildSuccess(eduAttendanceDeviceService.getOnlineDistrib(schoolIds)); - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceDeviceGroupController.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceDeviceGroupController.java deleted file mode 100644 index e28bfc8..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceDeviceGroupController.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.yida.data.attendance.controller; - -import cn.hutool.core.util.ArrayUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.attendance.service.EduAttendanceDeviceGroupService; -import com.yida.data.attendance.service.EduDeviceGroupService; -import com.yida.data.attendance.vo.DeviceOrDeviceGroupVO; -import com.yida.data.common.core.common.ModuleName; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; -import com.yida.data.common.core.entity.attendance.EduAttendanceDeviceGroup; -import com.yida.data.common.core.entity.attendance.EduDeviceGroup; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.log.annotation.OperationLog; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -/** - * 设备分组表 Controller - * - * @author zhanghaijun - * @date 2021-06-16 15:27:11 - */ - -@Api(tags = "考勤-设备分组") -@Slf4j -@Validated -@RestController -@RequestMapping("/deviceGroup") -@RequiredArgsConstructor -public class AttendanceDeviceGroupController { - - private final EduAttendanceDeviceGroupService eduAttendanceDeviceGroupService; - private final EduDeviceGroupService eduDeviceGroupService; - - - @ApiOperation("根据name分页查询分组") - @GetMapping("/listDevicePage") - public ResultBean> listDeviceGroupPage(@ApiParam("分组名称") @RequestParam String name, - @ApiParam("当前页码") @RequestParam(defaultValue = "1") Long current, - @ApiParam("页面大小") @RequestParam(defaultValue = "10") Long size, - @ApiParam("学校id") @RequestParam(required = false) Long schoolId) throws NoSuchMethodException { - - return ResultBean.buildSuccess(eduAttendanceDeviceGroupService.selectGroup(name, current, size, schoolId)); - } - - - @ApiOperation("全部查询") - @GetMapping("/listDevice") - public ResultBean> listDeviceGroup() { - - return ResultBean.buildSuccess(eduAttendanceDeviceGroupService.selectGroupAll()); - } - - - @ApiOperation("新增或修改分组") - @PostMapping("/insertGroup") - @OperationLog(module = ModuleName.DEVICE, methods = "新增分组", type = OperationLogTypeEnum.SAVE) - public ResultBean insertGroup(@ApiParam("分组详细") @RequestBody EduAttendanceDeviceGroup eduAttendanceDeviceGroup) { - - eduAttendanceDeviceGroupService.saveOrUpdate(eduAttendanceDeviceGroup); - return ResultBean.buildSuccess(); - } - - - @ApiOperation("删除分组") - @GetMapping("/delGroup") - @OperationLog(module = ModuleName.DEVICE, methods = "删除分组", type = OperationLogTypeEnum.DELETE) - public ResultBean delGroup(@RequestParam Long id) { - eduAttendanceDeviceGroupService.delGroup(id); - return ResultBean.buildSuccess(); - } - - - @ApiOperation("查询设备与设备组列表") - @GetMapping("/listDeviceAndDeviceGroup") - public ResultBean> listDeviceAndDevice(String keyword) { - CurrentUser currentUser = FebsUtil.getCurrentUser(); - Long schoolId = null; - if (currentUser.getDeptType() == 0) { - schoolId = currentUser.getDeptId(); - } - return ResultBean.buildSuccess(eduAttendanceDeviceGroupService.listDeviceAndDevice(keyword, schoolId)); - } - - @ApiOperation("根据设备组查询设备") - @GetMapping("/listDeviceByGroup") - public ResultBean> listDeviceByGroup(Long[] groupIds) { - return ResultBean.buildSuccess(eduAttendanceDeviceGroupService.listDeviceByGroup(Arrays.asList(groupIds))); - } - - @ApiOperation("查询设备组列表") - @GetMapping("/listDeviceGroupById") - public ResultBean> listDeviceGroupById(Long[] ids) { - return ResultBean.buildSuccess(ArrayUtil.isNotEmpty(ids) ? eduAttendanceDeviceGroupService.listByIds(Arrays.asList(ids)) : - Collections.EMPTY_LIST); - } - - @ApiOperation("批量分组") - @PostMapping("/batchGroup") - @OperationLog(module = ModuleName.DEVICE, methods = "批量分组", type = OperationLogTypeEnum.UPDATE) - public ResultBean batchGroup(@ApiParam("批量分组") @RequestBody List list) { - eduDeviceGroupService.insertGroup(list); - return ResultBean.buildSuccess(); - } - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceRecordController.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceRecordController.java deleted file mode 100644 index 1a9d219..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceRecordController.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.yida.data.attendance.controller; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.lang.UUID; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.attendance.dto.AddAttendanceRecordDTO; -import com.yida.data.attendance.dto.AttendanceCountPageDTO; -import com.yida.data.attendance.dto.ListErrorRecordDTO; -import com.yida.data.attendance.dto.PageAttendanceRecordDTO; -import com.yida.data.attendance.service.AttendanceRecordService; -import com.yida.data.attendance.service.ErrorRecordMsgService; -import com.yida.data.attendance.vo.DownLoadAttendanceResultVO; -import com.yida.data.common.core.common.ModuleName; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.ErrorRecordMsg; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRecord; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; -import com.yida.data.log.annotation.OperationLog; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.data.domain.Page; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 进出记录 Controller - * - * @date 2023-08-09 11:37:25 - */ -@Slf4j -@Validated -@RestController -@RequestMapping("/attendanceRecord") -@RequiredArgsConstructor -@Api(tags = "考勤-记录", value = "考勤记录") -public class AttendanceRecordController { - - private final ErrorRecordMsgService errorRecordMsgService; - private final AttendanceRecordService attendanceRecordService; - private final RedisService redisService; - - @ApiOperation("增加考勤记录") - @PostMapping("/saveRecord") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "增加考勤记录", type = OperationLogTypeEnum.INSERT) - public ResultBean addRecord(@RequestBody AddAttendanceRecordDTO dto) { - attendanceRecordService.addRecord(dto); - return ResultBean.buildSuccess(); - } - - - @ApiOperation("分页查询通讯记录") - @PostMapping("/pageListRecord") - public ResultBean> pageListRecord(@RequestBody PageAttendanceRecordDTO dto) { - return ResultBean.buildSuccess(attendanceRecordService.listRecordPage(dto)); - } - - @ApiOperation("分页查询通行记录错误记录") - @PostMapping("/listErrorRecord") - public ResultBean> listErrorRecord(@RequestBody ListErrorRecordDTO dto) { - return ResultBean.buildSuccess(errorRecordMsgService.listErrorRecord(dto)); - } - - @ApiOperation("批量删除通行记录错误记录") - @PostMapping("/batchDeleteErrorRecord") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "批量删除通行记录错误记录", type = OperationLogTypeEnum.DELETE) - public ResultBean batchDeleteErrorRecord(@RequestBody String[] recordIds) { - errorRecordMsgService.batchDeleteErrorRecord(recordIds); - return ResultBean.buildSuccess(); - } - - @ApiOperation("通行记录导出") - @PostMapping("/downloadAttendanceRecord") - public ResultBean downloadAttendanceRecord(@RequestBody PageAttendanceRecordDTO dto) { - String uuid = UUID.fastUUID().toString(); - attendanceRecordService.downloadAttendanceRecord(dto, uuid); - return ResultBean.buildSuccess(DownLoadAttendanceResultVO.builder() - .key(uuid) - .finish(0) - .totalNum(100) - .currentNum(1).build()); - } - - @ApiOperation("获取通行记录导出进度") - @GetMapping("/getDownloadAttendanceRecordProcess") - public ResultBean getDownloadAttendanceRecordProcess(String key) { - return ResultBean.buildSuccess( - (DownLoadAttendanceResultVO) redisService.hget(CachePrefixConstant.ATTENDANCE_RECORD_DOWNLOAD, key)); - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceReportStrategyController.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceReportStrategyController.java deleted file mode 100644 index 01a2df9..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceReportStrategyController.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.yida.data.attendance.controller; - -import com.yida.data.attendance.dto.AddAttendanceReportStrategyDTO; -import com.yida.data.attendance.service.AttendanceReportStrategyService; -import com.yida.data.common.core.common.ModuleName; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceReportStrategy; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; -import com.yida.data.log.annotation.OperationLog; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import java.util.List; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 进出记录 Controller - * - * @date 2023-08-09 11:37:25 - */ -@Slf4j -@Validated -@RestController -@RequestMapping("/attendanceReportStrategy") -@RequiredArgsConstructor -@Api(tags = "考勤-推送策略", value = "推送策略") -public class AttendanceReportStrategyController { - - private final AttendanceReportStrategyService attendanceReportStrategyService; - - - @ApiOperation("获取推送策略详情") - @GetMapping("/get") - public ResultBean> getStrategy() { - return ResultBean.buildSuccess(attendanceReportStrategyService.getList()); - } - - @ApiOperation("新增/编辑推送策略") - @PostMapping("/save") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "新增/编辑推送策略", type = OperationLogTypeEnum.SAVE) - public ResultBean saveStrategy(@RequestBody List strategyList) { - attendanceReportStrategyService.saveStrategy(strategyList); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceResultController.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceResultController.java deleted file mode 100644 index 9861219..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceResultController.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.yida.data.attendance.controller; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.lang.UUID; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.attendance.dto.AttendanceCountPageDTO; -import com.yida.data.attendance.dto.AttendanceDayReportDTO; -import com.yida.data.attendance.service.AttendanceResultService; -import com.yida.data.attendance.vo.AttdanceResultDetailVO; -import com.yida.data.attendance.vo.AttdanceResultTotalVO; -import com.yida.data.attendance.vo.AttdanceResultVO; -import com.yida.data.attendance.vo.DownLoadAttendanceResultVO; -import com.yida.data.attendance.vo.StaRecordCountVO; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.system.feign.RemoteDeptService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import java.time.LocalDate; -import java.util.List; -import java.util.stream.Collectors; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 考勤-考勤结果 Controller - * - * @date 2023-08-09 11:37:25 - */ -@Slf4j -@RestController -@RequestMapping("/attendanceResult") -@RequiredArgsConstructor -@Api(tags = "考勤-结果", value = "考勤结果") -public class AttendanceResultController { - - private final AttendanceResultService attendanceResultService; - - private final RemoteDeptService remoteDeptService; - - private final RedisService redisService; - - @ApiOperation("考勤-概况统计") - @PostMapping("/overview/sta") - public ResultBean> listResultPage(@RequestBody @Validated AttendanceCountPageDTO dto) { - return ResultBean.buildSuccess(attendanceResultService.listResultPage(dto)); - } - - @ApiOperation("考勤-概况统计") - @PostMapping("/overview/total") - public ResultBean total(@RequestBody @Validated AttendanceCountPageDTO dto) { - return ResultBean.buildSuccess(attendanceResultService.total(dto)); - } - - - @ApiOperation("考勤-明细") - @PostMapping("/detail") - public ResultBean> listResultDetail(@RequestBody AttendanceCountPageDTO dto) { - return ResultBean.buildSuccess(attendanceResultService.listResultDetailPage(dto)); - } - - @ApiOperation("dashboard-考勤概况") - @GetMapping("/staRecordCount") - public ResultBean staRecordCount(@ApiParam("yyyy-MM-dd") String startDate, - @ApiParam("yyyy-MM-dd") String endDate) { - List schoolIds = remoteDeptService.getSchoolByArea(null, null).getData().stream().map(Dept::getDeptId) - .collect(Collectors.toList()); - return ResultBean.buildSuccess( - attendanceResultService.staRecordCount(LocalDate.parse(startDate), LocalDate.parse(endDate), schoolIds)); - } - - @ApiOperation("考勤结果导出") - @PostMapping("/downloadAttendanceResult") - public ResultBean downLocalAttendanceResult(@RequestBody AttendanceCountPageDTO dto) { - String uuid = UUID.fastUUID().toString(); - attendanceResultService.downLocalAttendanceResult(dto, uuid); - return ResultBean.buildSuccess(DownLoadAttendanceResultVO.builder() - .key(uuid) - .finish(0) - .totalNum(100) - .currentNum(0).build()); - } - - - @ApiOperation("获取考勤结果导出进度") - @GetMapping("/getDownloadAttendanceResultProcess") - public ResultBean getDownLocalAttendanceResultProcess(String key) { - return ResultBean.buildSuccess( - (DownLoadAttendanceResultVO) redisService.hget(CachePrefixConstant.STUDENT_DORM_ATTENDANCE_RESULT_DOWNLOAD, key)); - } - - @ApiOperation("考勤日报导出") - @PostMapping("/downloadAttendanceDayReport") - public ResultBean downloadAttendanceDayReport(@RequestBody AttendanceDayReportDTO dto) { - String uuid = UUID.fastUUID().toString(); - attendanceResultService.downLocalAttendanceDayReport(dto, uuid); - return ResultBean.buildSuccess(DownLoadAttendanceResultVO.builder() - .key(uuid) - .finish(0) - .totalNum(100) - .currentNum(0).build()); - } - - @ApiOperation("获取考勤日报导出进度") - @GetMapping("/getDownloadAttendanceDayReportProcess") - public ResultBean getDownloadAttendanceDayReportProcess(String key) { - return ResultBean.buildSuccess( - (DownLoadAttendanceResultVO) redisService.hget(CachePrefixConstant.ATTENDANCE_DAY_REPORT_DOWNLOAD, key)); - } - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceRuleController.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceRuleController.java deleted file mode 100644 index 502d03b..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/AttendanceRuleController.java +++ /dev/null @@ -1,163 +0,0 @@ -package com.yida.data.attendance.controller; - -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.attendance.dto.AddAttendanceRuleDTO; -import com.yida.data.attendance.dto.AttendanceRuleAdminUserAddDTO; -import com.yida.data.attendance.dto.AttendanceRuleAdminUserPageDTO; -import com.yida.data.attendance.dto.AttendanceRuleUserAddDTO; -import com.yida.data.attendance.dto.AttendanceRuleUserPageDTO; -import com.yida.data.attendance.dto.PageAttendanceRuleDTO; -import com.yida.data.attendance.dto.UpdateAttendanceRuleStatusDTO; -import com.yida.data.attendance.service.AttendanceRuleService; -import com.yida.data.attendance.service.AttendanceRuleWifiService; -import com.yida.data.attendance.vo.AttendanceRuleAdminUserVO; -import com.yida.data.attendance.vo.AttendanceRuleUserVO; -import com.yida.data.attendance.vo.AttendanceRuleVO; -import com.yida.data.common.core.common.ModuleName; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.common.ResultMsgType; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.constant.FebsConstant; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.common.core.utils.FileUtil; -import com.yida.data.log.annotation.OperationLog; -import com.yida.data.school.vo.smart.ImportRosterDataVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import java.util.List; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.http.MediaType; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.multipart.MultipartFile; - -/** - * 教职工考勤规则 Controller - * - * @date 2023-08-09 11:37:25 - */ -@Slf4j -@RestController -@RequestMapping("attendanceRule") -@RequiredArgsConstructor -@Api(tags = "考勤-规则", value = "考勤规则") -public class AttendanceRuleController { - - private final AttendanceRuleService attendanceRuleService; - - private final AttendanceRuleWifiService attendanceRuleWifiService; - - @ApiOperation("查询规则列表") - @PostMapping("/listRule") - public ResultBean> listRule(@RequestBody PageAttendanceRuleDTO dto) { - dto.setSchoolId(FebsUtil.getTopDeptId()); - return ResultBean - .buildSuccess(attendanceRuleService.listRulePage(dto)); - } - - @ApiOperation("新增、修改规则") - @PostMapping("/saveRule") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "新增、修改考勤规则", type = OperationLogTypeEnum.SAVE) - public ResultBean saveRule(@RequestBody @Validated AddAttendanceRuleDTO dto) { - attendanceRuleService.addAttendanceRule(dto); - return ResultBean.buildSuccess(); - } - - @ApiOperation("获取规则") - @GetMapping("/getRule") - public ResultBean getRule(Long ruleId) { - return ResultBean - .buildSuccess(attendanceRuleService.getRule(ruleId)); - } - - @ApiOperation("删除规则") - @PostMapping("/delRule") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "删除考勤规则", type = OperationLogTypeEnum.DELETE) - public ResultBean delRule(@RequestBody List ruleIds) { - attendanceRuleService.deleteRule(ruleIds); - return ResultBean.buildSuccess(); - } - - @ApiOperation("更改规则状态") - @PostMapping("/updateRuleStatus") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "更改规则状态", type = OperationLogTypeEnum.UPDATE) - public ResultBean updateRuleStatus(@RequestBody UpdateAttendanceRuleStatusDTO dto) { - attendanceRuleService.updateRuleStatus(dto); - return ResultBean.buildSuccess(); - } - - @ApiOperation("导入BSSID") - @PostMapping(value = "/importBssid", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - public ResultBean importBssid( - @ApiParam(value = "导入的excel文件", required = true) @RequestParam("file") MultipartFile file, - @ApiParam(value = "规则ID", required = true) @RequestParam("ruleId") Long ruleId) { - // 验证文件类型 - if (!FileUtil.checkMultipartFile(file, FebsConstant.EXCEL_FILE_TYPE)) { - return ResultBean.buildError(ResultMsgType.FILE_TYPE_ERROR.getValue()); - } - String uuid = StrUtil.uuid(); - // 当前登录用户信息 - CurrentUser currentUser = FebsUtil.getCurrentUser(); - String fileUrl = FileUtil.uploadMultipartFile(file); - // 导入花名册数据 - attendanceRuleWifiService.ImportBssid(fileUrl, ruleId); - return ResultBean - .buildSuccess(ImportRosterDataVO.builder().percent(0).finish(0).key(uuid).build()); - } - - - @ApiOperation("查询打卡人员列表") - @PostMapping("/listRuleAttendanceUser") - public ResultBean> listRuleAttendanceUser(@RequestBody AttendanceRuleUserPageDTO dto) { - dto.setSchoolId(FebsUtil.getTopDeptId()); - return ResultBean - .buildSuccess(attendanceRuleService.listRuleAttendanceUser(dto)); - } - - - @ApiOperation("批量删除打卡人员") - @PostMapping("/deleteRuleAttendanceUser") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "批量删除打卡人员", type = OperationLogTypeEnum.DELETE) - public ResultBean deleteRuleAttendanceUser(@RequestBody List ids) { - attendanceRuleService.deleteRuleAttendanceUser(ids); - return ResultBean.buildSuccess(); - } - - @ApiOperation("增加打卡人员") - @PostMapping("/addRuleAttendanceUser") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "增加打卡人员", type = OperationLogTypeEnum.INSERT) - public ResultBean addRuleAttendanceUser(@RequestBody AttendanceRuleUserAddDTO dto) { - attendanceRuleService.addRuleAttendanceUser(dto); - return ResultBean.buildSuccess(); - } - - @ApiOperation("查询规则管理员列表") - @PostMapping("/listRuleAttendanceAdminUser") - public ResultBean> listRuleAttendanceUser(@RequestBody AttendanceRuleAdminUserPageDTO dto) { - return ResultBean.buildSuccess(attendanceRuleService.listRuleAttendanceAdminUser(dto)); - } - - @ApiOperation("批量删除管理员人员") - @PostMapping("/deleteRuleAttendanceAdminUser") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "批量删除管理员人员", type = OperationLogTypeEnum.DELETE) - public ResultBean deleteRuleAttendanceAdminUser(@RequestBody List ids) { - attendanceRuleService.deleteRuleAttendanceAdminUser(ids); - return ResultBean.buildSuccess(); - } - - @ApiOperation("增加管理员人员") - @PostMapping("/addRuleAttendanceAdminUser") - public ResultBean addRuleAttendanceAdminUser(@RequestBody AttendanceRuleAdminUserAddDTO dto) { - attendanceRuleService.addAttendanceAdminUser(dto); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/EduAttendanceStrategyController.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/EduAttendanceStrategyController.java deleted file mode 100644 index 558310c..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/EduAttendanceStrategyController.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.yida.data.attendance.controller; - -import com.yida.data.attendance.dto.AddLeaveRequestStrategyDTO; -import com.yida.data.attendance.service.EduAttendanceStrategyService; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategy; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 设备策略Controller - * 未鉴权 - * - * @author ZYJ - * @date 2022-12-13 11:04:39 - */ -@RestController -@RequiredArgsConstructor -@RequestMapping("/in/deviceStrategy") -@Api(tags = "考勤-设备-策略", value = "考勤") -public class EduAttendanceStrategyController { - - private final EduAttendanceStrategyService eduAttendanceStrategyService; - - @PostMapping("saveStrategyAndUser") - @ApiOperation("保存策略并绑定人员信息") - public ResultBean saveStrategyAndUser(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy) { - eduAttendanceStrategyService.saveStrategyAndUser(eduFaceGroupStrategy); - return ResultBean.buildSuccess(); - } - - @PostMapping("deleteStrategy") - @ApiOperation("删除策略") - public ResultBean deleteStrategy(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy) { - eduAttendanceStrategyService.deleteStrategy(eduFaceGroupStrategy); - return ResultBean.buildSuccess(); - } - - @PostMapping("bindUserStrategy") - @ApiOperation("绑定对应的人员-策略信息") - public ResultBean bindUserStrategy(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy) { - eduAttendanceStrategyService.bindUserStrategy(eduFaceGroupStrategy); - return ResultBean.buildSuccess(); - } - - @PostMapping("unBindUserStrategy") - @ApiOperation("解绑对应的人员-策略信息") - public ResultBean unBindUserStrategy(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy) { - eduAttendanceStrategyService.unBindUserStrategy(eduFaceGroupStrategy); - return ResultBean.buildSuccess(); - } - - @PostMapping("deleteAndSaveStrategy") - @ApiOperation("删除并保存策略(包含人员信息)") - public ResultBean deleteAndSaveStrategy(@RequestBody EduFaceGroupStrategy eduFaceGroupStrategy) { - eduAttendanceStrategyService.deleteAndSaveStrategy(eduFaceGroupStrategy); - return ResultBean.buildSuccess(); - } - - @PostMapping("addLeaveRequestStrategy") - @ApiOperation("添加请假类型短策略") - public ResultBean addLeaveRequestStrategy(@RequestBody AddLeaveRequestStrategyDTO dto) { - eduAttendanceStrategyService.addLeaveRequestStrategy(dto); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/H5/H5AttendanceRecordController.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/H5/H5AttendanceRecordController.java deleted file mode 100644 index b361e68..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/H5/H5AttendanceRecordController.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.yida.data.attendance.controller.H5; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.attendance.dto.PageAttendanceRecordDTO; -import com.yida.data.attendance.service.AttendanceRecordService; -import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRecord; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 教职工考勤规则 Controller - * - * @date 2023-08-09 11:37:25 - */ -@Slf4j -@RestController -@RequestMapping("H5/attendanceRecord") -@RequiredArgsConstructor -@Api(tags = "移动端-打卡记录", value = "移动端-打卡记录") -public class H5AttendanceRecordController { - - private final AttendanceRecordService attendanceRecordService; - - @ApiOperation("分页查看打卡记录") - @PostMapping("/listRecord") - public ResultBean> listRule(@RequestBody PageAttendanceRecordDTO dto) { - return ResultBean - .buildSuccess(attendanceRecordService.listRecordPage(dto)); - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/H5/H5AttendanceRuleController.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/H5/H5AttendanceRuleController.java deleted file mode 100644 index 4eb49c9..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/H5/H5AttendanceRuleController.java +++ /dev/null @@ -1,154 +0,0 @@ -package com.yida.data.attendance.controller.H5; - -import cn.hutool.json.JSONObject; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.attendance.dto.AttendanceFaceMatchDTO; -import com.yida.data.attendance.dto.AttendanceResultByDayDTO; -import com.yida.data.attendance.dto.AttendanceResultByStartAndEndTimeDTO; -import com.yida.data.attendance.dto.AttendanceStatusByMonthDTO; -import com.yida.data.attendance.dto.AttendanceUserCheckInDTO; -import com.yida.data.attendance.dto.H5AttendanceRuleWifiDTO; -import com.yida.data.attendance.dto.ManageListUserDTO; -import com.yida.data.attendance.service.AttendanceCheckInService; -import com.yida.data.attendance.service.AttendanceResultService; -import com.yida.data.attendance.service.AttendanceRuleService; -import com.yida.data.attendance.vo.AttendanceFaceMatchVO; -import com.yida.data.attendance.vo.AttendanceRuleVO; -import com.yida.data.attendance.vo.AttendanceStatusByMonthVO; -import com.yida.data.attendance.vo.AttendanceUserCheckInVO; -import com.yida.data.attendance.vo.AttendanceWifiVO; -import com.yida.data.attendance.vo.DateStatusVO; -import com.yida.data.attendance.vo.DayReportDataVO; -import com.yida.data.attendance.vo.ManageListUserAttendanceDetailVO; -import com.yida.data.attendance.vo.ManageListUserVO; -import com.yida.data.attendance.vo.StaffIdentityVO; -import com.yida.data.attendance.vo.UserAttendanceResultByDayVO; -import com.yida.data.attendance.vo.UserAttendanceResultByTimeSlotVO; -import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; -import com.yida.data.log.annotation.OperationLog; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import java.util.List; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -/** - * 教职工考勤规则 Controller - * - * @date 2023-08-09 11:37:25 - */ -@Slf4j -@RestController -@RequestMapping("H5/attendanceRule") -@RequiredArgsConstructor -@Api(tags = "移动端-考勤-打卡", value = "移动端-考勤-打卡") -public class H5AttendanceRuleController { - - private final AttendanceRuleService attendanceRuleService; - private final AttendanceResultService attendanceResultService; - private final AttendanceCheckInService attendanceCheckInService; - - @ApiOperation("查询用户当前时间的打卡规则") - @PostMapping("/findRuleByUserAndDate") - public ResultBean findRuleByUserAndDate(@RequestBody H5AttendanceRuleWifiDTO dto) { - return ResultBean.buildSuccess(attendanceCheckInService.findByUserIdAndDateTime(dto)); - } - - @ApiOperation("签到打卡") - @PostMapping("/userCheckIn") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "签到打卡", type = OperationLogTypeEnum.INSERT) - public ResultBean userCheckIn(@RequestBody AttendanceUserCheckInDTO dto) { - return ResultBean.buildSuccess(attendanceCheckInService.userCheckIn(dto)); - } - - @ApiOperation("签到人脸比对") - @PostMapping("/rosterFaceMatch") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "签到人脸比对", type = OperationLogTypeEnum.SELECT) - public ResultBean rosterFaceMatch(@RequestBody AttendanceFaceMatchDTO dto) { - return ResultBean.buildSuccess(attendanceRuleService.AttendanceFaceMatch(dto)); - } - - - @ApiOperation("家长端/教师我的考勤-获取当前月份用户考勤状态汇总") - @PostMapping("/getUserAttendanceStatusByMonth") - public ResultBean> getUserAttendanceStatusByMonth( - @Validated @RequestBody AttendanceStatusByMonthDTO dto) { - return ResultBean.buildSuccess(attendanceResultService.getUserAttendanceStatusByMonth(dto)); - } - - @ApiOperation("家长端/教师我的考勤-获取某日用户考勤结果") - @PostMapping("/getUserAttendanceResultByDay") - public ResultBean> getUserAttendanceRecordByDay( - @Validated @RequestBody AttendanceResultByDayDTO dto) { - return ResultBean.buildSuccess(attendanceResultService.getUserAttendanceResultByDay(dto)); - } - - @ApiOperation("家长端/教师我的考勤(周和月)-获取某时间段内用户考勤结果统计") - @PostMapping("/getUserAttendanceResultByTimeSlot") - public ResultBean getUserAttendanceResultByTimeSlot( - @Validated @RequestBody AttendanceResultByStartAndEndTimeDTO dto) { - return ResultBean.buildSuccess(attendanceResultService.getUserAttendanceResultByTimeSlot(dto)); - } - - @ApiOperation("教师端-管理人员考勤状态-日历显示") - @PostMapping("/findTotalUserStatus") - public ResultBean> findTotalUserStatus( - @Validated @RequestBody ManageListUserDTO dto) { - return ResultBean.buildSuccess(attendanceResultService.findTotalUserStatus(dto)); - } - - @ApiOperation("教师端-管理人员考勤统计") - @PostMapping("/findManageListUserVO") - public ResultBean> findManageListUserVO( - @Validated @RequestBody ManageListUserDTO dto) { - return ResultBean.buildSuccess(attendanceResultService.findManageListUserVO(dto)); - } - - @ApiOperation("教师端-查看明细") - @PostMapping("/findManageListUserDetailVO") - public ResultBean findManageListUserDetailVO( - @Validated @RequestBody ManageListUserDTO dto) { - return ResultBean.buildSuccess(attendanceResultService.findManageListUserDetailVO(dto)); - } - - @ApiOperation("教师端-用户管理的家校部门树") - @GetMapping("/findManageUserDeptTree") - @Cacheable(value = CachePrefixConstant.ATTENDANCE_USER_MANAGE_TREE, key = "#userId+''+#searchUserType") - public ResultBean findManageUserDeptTree(@RequestParam Long userId, @RequestParam Integer searchUserType) { - return ResultBean.buildSuccess(attendanceResultService.findManageUserDeptTree(userId, searchUserType)); - } - - @ApiOperation("教师端-职工身份") - @GetMapping("/findStaffIdentity") - @Cacheable(value = CachePrefixConstant.ATTENDANCE_STAFF_IDENTITY, key = "#userId") - public ResultBean findStaffIdentity(@RequestParam Long userId) { - return ResultBean.buildSuccess(attendanceResultService.findStaffIdentity(userId)); - } - - @ApiOperation("教师端-查询用户管理规则") - @GetMapping("/findUserManageRuleList") - @Cacheable(value = CachePrefixConstant.ATTENDANCE_STAFF_MANAGE_RULE, key = "#userId + '' + #userType") - public ResultBean> findUserManageRuleList(@RequestParam Long userId, @RequestParam Integer userType) { - return ResultBean.buildSuccess(attendanceRuleService.findUserManageRuleList(userId, userType)); - } - - - @ApiOperation("教师端-获取日报详情") - @GetMapping("/getDayReport") - public ResultBean> getDayReport(@RequestParam Long staffId, @RequestParam Integer searchUserType, - @RequestParam Long ruleId, @RequestParam String attendanceDateStr) { - return ResultBean.buildSuccess(attendanceRuleService.getDayReport(staffId, searchUserType, ruleId, attendanceDateStr)); - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/in/InAttendanceResultController.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/in/InAttendanceResultController.java deleted file mode 100644 index 9413ca1..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/in/InAttendanceResultController.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.yida.data.attendance.controller.in; - -import com.yida.data.attendance.dto.DayReportDataDTO; -import com.yida.data.attendance.service.AttendanceRecordService; -import com.yida.data.attendance.service.AttendanceReportStrategyService; -import com.yida.data.attendance.service.AttendanceResultService; -import com.yida.data.attendance.service.AttendanceRuleService; -import com.yida.data.attendance.service.NoticeService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRule; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.List; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import org.w3c.dom.stylesheets.LinkStyle; - -@Slf4j -@RestController -@RequestMapping("in/attendanceResult") -@RequiredArgsConstructor -public class InAttendanceResultController { - - private final AttendanceResultService attendanceResultService; - private final AttendanceRecordService attendanceRecordService; - private final AttendanceReportStrategyService attendanceReportStrategyService; - private final NoticeService noticeService; - private final AttendanceRuleService attendanceRuleService; - - /** - * 每日凌晨先初始化考勤结果 - */ - @GetMapping("/initAttendanceResult") - public void initAttendanceResult() { - attendanceResultService.initUserAttendance(); - } - - - /** - * 策略推送消息 - */ - @GetMapping("/attendanceNotice") - public void notice() { - attendanceReportStrategyService.sendNotice(); - } - - - /** - * 同步老数据 - * - * @param schoolId - * @param startDateTime - */ - @GetMapping("/resetOldData") - public void resetOldData(Long schoolId, String startDateTime, Integer userType) { - attendanceRecordService - .resetOldData(schoolId, - LocalDateTime.parse(startDateTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")), userType); - } - - - /** - * 同步老数据 - */ - @GetMapping("/testPushDayReport") - public void testPushDayReport(Long staffId, Long ruleId) { - List dtoList = new ArrayList<>(); - dtoList.add(DayReportDataDTO.builder().deptName("经济管理系").totalNum(1234).abNum(456).requestNum(15).build()); - dtoList.add(DayReportDataDTO.builder().deptName("基础部").totalNum(2563).abNum(652).requestNum(95).build()); - dtoList.add(DayReportDataDTO.builder().deptName("机电工程系").totalNum(859).abNum(15).requestNum(3).build()); - dtoList.add(DayReportDataDTO.builder().deptName("建筑工程系").totalNum(1596).abNum(325).requestNum(35).build()); - dtoList.add(DayReportDataDTO.builder().deptName("计算机信息工程系").totalNum(1846).abNum(15).requestNum(105).build()); - noticeService.sendAttendanceDayReportToStaff(staffId, dtoList, attendanceRuleService.getById(ruleId), 1, true); - } - - - /** - * 每日/每周/每月考勤数据 - */ - @GetMapping("/initAttendanceReport") - public void initAttendanceReport() { - attendanceReportStrategyService.sendNotice(); - } - - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/in/InEduAttendanceDeviceController.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/in/InEduAttendanceDeviceController.java deleted file mode 100644 index 3bf72d3..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/in/InEduAttendanceDeviceController.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.yida.data.attendance.controller.in; - -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.attendance.service.EduAttendanceDeviceService; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import java.util.List; -import javax.annotation.Resource; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@Api(tags = "考勤-设备(不鉴权)") -@RestController -@RequestMapping("/in/device") -public class InEduAttendanceDeviceController { - - @Resource - private EduAttendanceDeviceService eduAttendanceDeviceService; - - @GetMapping("/listDeviceByType") - public ResultBean> listDeviceByType(String type) { - return ResultBean.buildSuccess(eduAttendanceDeviceService.list( - Wrappers.lambdaQuery(new EduAttendanceDevice()).eq(EduAttendanceDevice::getDeviceType, type))); - } - - @ApiOperation("更新设备在线状态") - @GetMapping("/updateDeviceStatus") - public ResultBean updateDeviceStatus() { - eduAttendanceDeviceService.updateDeviceStatus(); - return ResultBean.buildSuccess(); - } - - @ApiOperation("校时所有设备") - @GetMapping("/timingAllDevice") - public ResultBean timingAllDevice() { - eduAttendanceDeviceService.timingAllDevice(); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/in/InEduUserStrategyController.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/in/InEduUserStrategyController.java deleted file mode 100644 index 13ff0f3..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/in/InEduUserStrategyController.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.yida.data.attendance.controller.in; - -import com.yida.data.attendance.service.AttendanceResultService; -import com.yida.data.attendance.service.EduUserStrategyService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 人员策略信息 controller (不鉴权) - * - * @author ZYJ - * @date 2023/11/7 19:38 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@RequestMapping("in/eduUserStrategy") -public class InEduUserStrategyController { - - private final EduUserStrategyService eduUserStrategyService; - - /** - * 处理超时用户策略 - */ - @GetMapping("/checkOverTimeUserStrategy") - public void checkOverTimeUserStrategy() { - eduUserStrategyService.checkOverTimeUserStrategy(); - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/in/InH5AttendanceRuleController.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/in/InH5AttendanceRuleController.java deleted file mode 100644 index 06fd3ed..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/controller/in/InH5AttendanceRuleController.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.yida.data.attendance.controller.in; - -import com.yida.data.attendance.dto.AttendanceFaceMatchDTO; -import com.yida.data.attendance.dto.AttendanceUserCheckInDTO; -import com.yida.data.attendance.dto.H5AttendanceRuleWifiDTO; -import com.yida.data.attendance.service.AttendanceCheckInService; -import com.yida.data.attendance.service.AttendanceRuleService; -import com.yida.data.attendance.vo.AttendanceFaceMatchVO; -import com.yida.data.attendance.vo.AttendanceUserCheckInVO; -import com.yida.data.attendance.vo.AttendanceWifiVO; -import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; -import com.yida.data.log.annotation.OperationLog; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 教职工考勤规则 Controller - * - * @date 2023-08-09 11:37:25 - */ -@Slf4j -@RestController -@RequestMapping("in/H5/attendanceRule") -@RequiredArgsConstructor -@Api(tags = "移动端-考勤-打卡-非鉴权", value = "移动端-考勤-打卡-非鉴权") -public class InH5AttendanceRuleController { - - private final AttendanceRuleService attendanceRuleService; - private final AttendanceCheckInService attendanceCheckInService; - - @ApiOperation("查询用户当前时间的打卡规则") - @PostMapping("/findRuleByUserAndDate") - public ResultBean findRuleByUserAndDate(@Validated @RequestBody H5AttendanceRuleWifiDTO dto) { - return ResultBean.buildSuccess(attendanceCheckInService.findByUserIdAndDateTime(dto)); - } - - @ApiOperation("签到打卡") - @PostMapping("/userCheckIn") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "签到打卡", type = OperationLogTypeEnum.INSERT) - public ResultBean userCheckIn(@RequestBody AttendanceUserCheckInDTO dto) { - return ResultBean.buildSuccess(attendanceCheckInService.userCheckIn(dto)); - } - - @ApiOperation("签到人脸比对") - @PostMapping("/rosterFaceMatch") - @OperationLog(module = ModuleName.ATTENDANCE, methods = "签到人脸比对", type = OperationLogTypeEnum.SELECT) - public ResultBean rosterFaceMatch(@RequestBody AttendanceFaceMatchDTO dto) { - return ResultBean.buildSuccess(attendanceRuleService.AttendanceFaceMatch(dto)); - } - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/excel/BssidExcelListener.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/excel/BssidExcelListener.java deleted file mode 100644 index 972f8b2..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/excel/BssidExcelListener.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.yida.data.attendance.excel; - -import com.alibaba.excel.context.AnalysisContext; -import com.alibaba.excel.event.AnalysisEventListener; -import com.alibaba.fastjson.JSON; -import com.yida.data.attendance.dto.BssidImportDTO; -import com.yida.data.attendance.service.AttendanceRuleWifiService; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRule; -import com.yida.data.school.dto.smart.GuideRosterErrorExportDTO; -import com.yida.data.school.dto.smart.GuideRosterImportDTO; -import java.util.List; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.ehcache.impl.internal.concurrent.ConcurrentHashMap; - - -@Slf4j -@RequiredArgsConstructor -public class BssidExcelListener extends AnalysisEventListener { - - private final AttendanceRuleWifiService attendanceRuleWifiService; - - /** - * 当前导入数据唯一标识 - */ - private final Long ruleId; - - /** - * 每次存储条数 每隔5条存储数据库, 实际使用中可以3000条, 然后清理list, 方便内存回收 - */ - private static final int BATCH_COUNT = 3000; - - /** - * 需要保存的数据集合 - */ - ConcurrentHashMap concurrentHashMap = new ConcurrentHashMap<>(); - - /** - * excel总数量 - */ - private static Integer totalCount = 0; - - /** - * 处理次数 - */ - private static Integer handleNumber = 0; - - /** - * 解析成功一条数据调用一次 - */ - @Override - public void invoke(BssidImportDTO dto, AnalysisContext analysisContext) { - totalCount = analysisContext.readSheetHolder().getApproximateTotalRowNumber() - 1; - // 获取读取的第几条数据 - Integer i = analysisContext.readRowHolder().getRowIndex(); - log.info("解析到第: {}条数据: {}", i, JSON.toJSONString(dto)); - concurrentHashMap.put(i, dto); - // 达到BATCH_COUNT了, 需要去存储一次数据库, 防止数据几万条数据在内存, 容易OOM - if (concurrentHashMap.size() >= BATCH_COUNT) { - handleNumber += 1; - saveData(); - // 存储完成清理集合 - concurrentHashMap.clear(); - } - } - - /** - * 所有数据解析完成调用 - * - * @param analysisContext analysisContext类 - * @author ZYJ - * @date 2021/8/23 16:18 - */ - @Override - public void doAfterAllAnalysed(AnalysisContext analysisContext) { - // 这里也要保存数据, 确保最后遗留的数据也存储到数据库 - saveData(); - - } - - /** - * 保存导入数据 - * - * @author ZYJ - * @date 2021/8/23 16:20 - */ - private void saveData() { - log.info("{}条数据,开始存储数据库!", concurrentHashMap.size()); - attendanceRuleWifiService.addBssidList(concurrentHashMap, ruleId); - log.info("存储数据库成功!"); - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRecordMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRecordMapper.java deleted file mode 100644 index df3e589..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRecordMapper.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.yida.data.attendance.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.attendance.dto.PageAttendanceRecordDTO; -import com.yida.data.attendance.vo.AttendanceRuleVO; -import com.yida.data.common.core.entity.attendance.EduAttendanceRecord; -import com.yida.data.common.core.entity.attendance.EduAttendanceStaffRecord; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRecord; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.List; -import org.apache.ibatis.annotations.Param; - -/** - * 进出记录 Mapper - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRecordMapper extends BaseMapper { - - IPage listOldDataPage(@Param("page") Page page, @Param("schoolId") Long schoolId, @Param("startDateTime") - LocalDateTime startDateTime); - - IPage listStaffOldDataPage(@Param("page") Page page, @Param("schoolId") Long schoolId, - @Param("startDateTime") LocalDateTime startDateTime); - - - IPage listRecordPage(Page page, @Param("dto") PageAttendanceRecordDTO dto); - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceReportPushRecordMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceReportPushRecordMapper.java deleted file mode 100644 index f30e320..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceReportPushRecordMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.yida.data.attendance.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceReportPushRecord; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceReportStrategy; - -public interface AttendanceReportPushRecordMapper extends BaseMapper { - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceReportStrategyMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceReportStrategyMapper.java deleted file mode 100644 index 21f6644..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceReportStrategyMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.attendance.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceReportStrategy; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleWifi; - -/** - * 考勤推送策略关联wifi Mapper - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceReportStrategyMapper extends BaseMapper { - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceResultMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceResultMapper.java deleted file mode 100644 index 12d54e3..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceResultMapper.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.yida.data.attendance.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.attendance.dto.AttendanceCountPageDTO; -import com.yida.data.attendance.dto.ManageListUserDTO; -import com.yida.data.attendance.vo.AttdanceResultDetailVO; -import com.yida.data.attendance.vo.AttdanceResultTotalVO; -import com.yida.data.attendance.vo.AttdanceResultVO; -import com.yida.data.attendance.vo.AttendanceStatusByMonthVO; -import com.yida.data.attendance.vo.ManageListUserAttendanceDetailVO; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceResult; -import java.time.LocalDate; -import java.util.List; -import org.apache.ibatis.annotations.Param; - -/** - * 考勤-考勤结果 Mapper - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceResultMapper extends BaseMapper { - - IPage listResultPage(@Param("page") Page page, @Param("dto") AttendanceCountPageDTO dto); - - List findAttandanceTotal(@Param("dto") AttendanceCountPageDTO dto); - - List listResultDetailPage(@Param("dto") AttendanceCountPageDTO dto); - - IPage listUserPage(@Param("page") Page page, @Param("dto") AttendanceCountPageDTO dto); - - List findAttendanceStatus(@Param("userType") Integer userType, - @Param("userIdList") List userIdList, - @Param("startDate") LocalDate startDate, - @Param("endDate") LocalDate endDate); - - IPage findManageListUserDetailVO(@Param("page") Page page, - @Param("dto") ManageListUserDTO dto); - - Integer findManageListUserDetailVOErrorNum(@Param("dto") ManageListUserDTO dto); - - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleAddressMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleAddressMapper.java deleted file mode 100644 index b60fd5a..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleAddressMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.yida.data.attendance.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleAddress; - -/** - * 考勤规则关联地点 Mapper - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRuleAddressMapper extends BaseMapper { - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleAdminMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleAdminMapper.java deleted file mode 100644 index 21406a2..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleAdminMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.attendance.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleAdmin; -import java.util.List; - -/** - * 考勤-规则管理员 Mapper - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRuleAdminMapper extends BaseMapper { - - List findList(AttendanceRuleAdmin admin); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleDeviceMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleDeviceMapper.java deleted file mode 100644 index 34f3782..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleDeviceMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.attendance.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleDevice; - -/** - * 考勤规则关联设备表 Mapper - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRuleDeviceMapper extends BaseMapper { - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleMapper.java deleted file mode 100644 index 337ee60..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleMapper.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.yida.data.attendance.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.attendance.dto.AttendanceRuleAdminUserPageDTO; -import com.yida.data.attendance.dto.AttendanceRuleUserPageDTO; -import com.yida.data.attendance.vo.AttdanceResultVO; -import com.yida.data.attendance.vo.AttendanceRuleAdminUserVO; -import com.yida.data.attendance.vo.AttendanceRuleUserVO; -import com.yida.data.attendance.vo.AttendanceRuleVO; -import com.yida.data.attendance.vo.ConflictRuleVO; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRule; -import java.time.LocalDate; -import java.util.List; -import org.apache.ibatis.annotations.Param; - -/** - * 教职工考勤规则 Mapper - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRuleMapper extends BaseMapper { - - AttendanceRuleVO getRule(Long id); - - IPage listRulePage(Page page, - @Param("schoolId") Long schoolId, - @Param("ruleName") String ruleName, - @Param("type") Integer type, - @Param("userType") Integer userType, - @Param("status") Integer status); - - List listRule(@Param("schoolId") Long schoolId, - @Param("ruleName") String ruleName, - @Param("type") Integer type, - @Param("userType") Integer userType, - @Param("status") Integer status); - - IPage listRuleAttendanceUser(Page page, @Param("dto") AttendanceRuleUserPageDTO dto); - - IPage listRuleAttendanceAdminUser(Page page, @Param("dto") AttendanceRuleAdminUserPageDTO dto); - - List checkNormalRule(@Param("deptIds") List deptIds, - @Param("startDate") LocalDate startDate, - @Param("endDate") LocalDate endDate, - @Param("userType") Integer userType, - @Param("ruleId") Long ruleId, - @Param("week") String week); - - List findUserMatchRuleByDevice( - @Param("userType") Integer userType, - @Param("deptIdList") List deptIdList, - @Param("deviceSn") String deviceSn, - @Param("currentDate") LocalDate currentDate, - @Param("dayOfWeek") Integer dayOfWeek, - @Param("schoolId") Long schoolId); - - List findUserMatchRuleByWifi( - @Param("userType") Integer userType, - @Param("deptIdList") List deptIdList, - @Param("wifiName") String wifiName, - @Param("wifiBssid") String wifiBssid, - @Param("ip") String ip, - @Param("currentDate") LocalDate currentDate, - @Param("dayOfWeek") Integer dayOfWeek, - @Param("schoolId") Long schoolId); - - - List findUserMatchRuleByUserId( - @Param("userType") Integer userType, - @Param("userId") Long userId); - - - List findByUserDeptListAndUserType(@Param("deptIdList") List deptIdList, - @Param("userType") Integer userType, - @Param("schoolId") Long schoolId); - - List findByUserIdAndUserType(@Param("userId") Long userId, - @Param("userType") Integer userType); - - List findUserManageRuleList(@Param("userId") Long userId, @Param("userType") Integer userType); - - - List getSchoolIdList(); - -// List listByWifi(@Param("schoolId") Long schoolId); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleObjMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleObjMapper.java deleted file mode 100644 index be68a7e..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleObjMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.yida.data.attendance.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleObj; -import java.util.List; -import org.apache.ibatis.annotations.Param; - -/** - * 规则适用部门 Mapper - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRuleObjMapper extends BaseMapper { - - List findList(@Param("deptId") Long deptId, @Param("ruleId") Long ruleId); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleObjUserMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleObjUserMapper.java deleted file mode 100644 index 82da80c..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleObjUserMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.attendance.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleObjUser; - -/** - * 规则适用部门 Mapper - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRuleObjUserMapper extends BaseMapper { - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleRemindMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleRemindMapper.java deleted file mode 100644 index 42183c6..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleRemindMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.attendance.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleRemind; - -/** - * 考勤-打卡提醒 Mapper - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRuleRemindMapper extends BaseMapper { - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleSpecialDateMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleSpecialDateMapper.java deleted file mode 100644 index 34aa9dc..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleSpecialDateMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.attendance.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleSpecialDate; - -/** - * 考勤-特殊日期 Mapper - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRuleSpecialDateMapper extends BaseMapper { - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleTimeMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleTimeMapper.java deleted file mode 100644 index 099f621..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleTimeMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.attendance.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleTime; - -/** - * 考勤-打卡时段 Mapper - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRuleTimeMapper extends BaseMapper { - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleWhiteListMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleWhiteListMapper.java deleted file mode 100644 index fbbec3a..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleWhiteListMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.attendance.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleWhiteList; - -/** - * 考勤-白名单 Mapper - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRuleWhiteListMapper extends BaseMapper { - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleWifiMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleWifiMapper.java deleted file mode 100644 index 703639e..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/AttendanceRuleWifiMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.yida.data.attendance.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleWifi; -import java.util.List; -import org.apache.ibatis.annotations.Param; - -/** - * 考勤规则关联wifi Mapper - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRuleWifiMapper extends BaseMapper { - - List listRuleWifi(@Param("ruleId") Long ruleId, @Param("bssid") String bssid); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/EduAttendanceDeviceGroupMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/EduAttendanceDeviceGroupMapper.java deleted file mode 100644 index 99823e0..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/EduAttendanceDeviceGroupMapper.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.yida.data.attendance.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.attendance.vo.DeviceOrDeviceGroupVO; -import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; -import com.yida.data.common.core.entity.attendance.EduAttendanceDeviceGroup; -import java.util.List; -import org.apache.ibatis.annotations.Param; - -/** - * 设备分组表 Mapper - * - * @author zhanghaijun - * @date 2021-06-16 15:27:11 - */ -public interface EduAttendanceDeviceGroupMapper extends BaseMapper { - - List listDeviceAndGroup(@Param("keyword") String keyword, - @Param("schoolId") Long schoolId); - - List listDeviceByGroup(@Param("groupIds") List groupIds); - - IPage selectGroup(Page page, - @Param("name") String name, - @Param("schoolIds") List schoolId); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/EduAttendanceDeviceMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/EduAttendanceDeviceMapper.java deleted file mode 100644 index 8ec802f..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/EduAttendanceDeviceMapper.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.yida.data.attendance.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.attendance.dto.DevicePage; -import com.yida.data.attendance.vo.DeviceVO; -import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; - -import java.util.List; -import java.util.Set; - -import org.apache.ibatis.annotations.Param; - -public interface EduAttendanceDeviceMapper extends BaseMapper { - - DevicePage listDevicePage(@Param("page") Page page, - @Param("schoolIds") List schoolIds, - @Param("number") String number, - @Param("scope") Integer scope, - @Param("type") Integer type, - @Param("state") Integer state); - - void updateDevice(@Param("operation") Integer operation, - @Param("type") String type, - @Param("aliveDeviceSn") Set aliveDeviceSn); - - /** - * 根据学校id和状态查询考勤设备数量统计 - * - * @param schoolIds 学校id集合 - * @param state 考勤设备状态 - * @return java.lang.Long - * @author ZYJ - * @date 2021/10/9 13:36 - */ - Long findDeviceNumber(@Param("schoolIds") List schoolIds, @Param("state") Integer state); - - /** - * 判断设备编号是否重复 - * - * @param device 设备信息 - * @return com.yida.data.common.core.entity.attendance.EduAttendanceDevice - * @author ZYJ - * @date 2023/10/23 15:02 - */ - EduAttendanceDevice checkSn(@Param("device") EduAttendanceDevice device); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/EduDeviceGroupMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/EduDeviceGroupMapper.java deleted file mode 100644 index 90b6953..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/EduDeviceGroupMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.attendance.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.attendance.EduDeviceGroup; - -/** - * 设备对应分组关系表 Mapper - * - * @author zhanghaijun - * @date 2021-06-16 15:29:10 - */ -public interface EduDeviceGroupMapper extends BaseMapper { - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/EduUserStrategyMapper.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/EduUserStrategyMapper.java deleted file mode 100644 index 9f9b900..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/mapper/EduUserStrategyMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.attendance.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.attendance.EduUserStrategy; - -/** - * 人员策略信息 Mapper - * - * @author ZYJ - * @date 2023-11-07 11:40:58 - */ -public interface EduUserStrategyMapper extends BaseMapper { - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/repository/ErrorRecordMsgRepository.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/repository/ErrorRecordMsgRepository.java deleted file mode 100644 index 215c644..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/repository/ErrorRecordMsgRepository.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.yida.data.attendance.repository; - -import com.yida.data.common.core.entity.ErrorRecordMsg; -import com.yida.data.common.core.entity.ReceiveMsg; -import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; -import org.springframework.stereotype.Repository; - -/** - * 通行记录错误信息es处理Repository - * - * @author ZYJ - * @date 2023/11/1 16:00 - */ -@Repository -public interface ErrorRecordMsgRepository extends ElasticsearchRepository { - - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/repository/ReceiveMsgRepository.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/repository/ReceiveMsgRepository.java deleted file mode 100644 index ad22b53..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/repository/ReceiveMsgRepository.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.yida.data.attendance.repository; - -import com.yida.data.common.core.entity.ReceiveMsg; -import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; -import org.springframework.stereotype.Repository; - -@Repository -public interface ReceiveMsgRepository extends ElasticsearchRepository { -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceCheckInService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceCheckInService.java deleted file mode 100644 index f9bbab4..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceCheckInService.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.attendance.service; - -import com.yida.data.attendance.dto.AttendanceUserCheckInDTO; -import com.yida.data.attendance.dto.H5AttendanceRuleWifiDTO; -import com.yida.data.attendance.vo.AttendanceUserCheckInVO; -import com.yida.data.attendance.vo.AttendanceWifiVO; - -public interface AttendanceCheckInService { - - /** - * 查询用户当前时间的打卡规则 - * - * @param dto - * @return - */ - AttendanceWifiVO findByUserIdAndDateTime(H5AttendanceRuleWifiDTO dto); - - /** - * 用户打卡 - * - * @param dto - */ - AttendanceUserCheckInVO userCheckIn(AttendanceUserCheckInDTO dto); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRecordService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRecordService.java deleted file mode 100644 index 89144ba..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRecordService.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.yida.data.attendance.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.attendance.dto.AddAttendanceRecordDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleTimeDTO; -import com.yida.data.attendance.dto.PageAttendanceRecordDTO; -import com.yida.data.attendance.dto.PageAttendanceRuleDTO; -import com.yida.data.attendance.vo.AttendanceRuleVO; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRecord; -import java.time.LocalDateTime; -import java.util.List; -import org.springframework.scheduling.annotation.Async; - -/** - * 进出记录 Service接口 - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRecordService extends IService { - - /** - * 生成考勤记录 - * - * @param dto - */ - AttendanceRecord addRecord(AddAttendanceRecordDTO dto); - - - /** - * 分页查询通行记录 - */ - IPage listRecordPage(PageAttendanceRecordDTO dto); - - - AddAttendanceRuleTimeDTO MatchAttendanceTime(List timeDTOList, LocalDateTime createTime, - Integer attendanceType, Long userId, Integer userType, Integer attendanceUserType); - - /** - * 通行记录导出 - * - * @param dto - */ - void downloadAttendanceRecord(PageAttendanceRecordDTO dto, String uuid); - - /** - * 同步老考勤系统数据 - * - * @param schoolId - */ - @Async - void resetOldData(Long schoolId, LocalDateTime startDateTime, Integer userType); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceReportPushRecordService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceReportPushRecordService.java deleted file mode 100644 index e99a687..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceReportPushRecordService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.yida.data.attendance.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceReportPushRecord; - -public interface AttendanceReportPushRecordService extends IService { - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceReportStrategyService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceReportStrategyService.java deleted file mode 100644 index ce52a89..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceReportStrategyService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.yida.data.attendance.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.attendance.dto.AddAttendanceReportStrategyDTO; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceReportStrategy; -import java.util.List; -import org.springframework.scheduling.annotation.Async; - -/** - * 考勤-考勤推送策略 Service接口 - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceReportStrategyService extends IService { - - void saveStrategy(List dtoList); - - List getList(); - - @Async - void sendNotice(); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceResultService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceResultService.java deleted file mode 100644 index ff440f2..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceResultService.java +++ /dev/null @@ -1,205 +0,0 @@ -package com.yida.data.attendance.service; - -import cn.hutool.json.JSONObject; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.attendance.dto.AttendanceCountPageDTO; -import com.yida.data.attendance.dto.AttendanceDayReportDTO; -import com.yida.data.attendance.dto.AttendanceResultByDayDTO; -import com.yida.data.attendance.dto.AttendanceResultByStartAndEndTimeDTO; -import com.yida.data.attendance.dto.AttendanceStatusByMonthDTO; -import com.yida.data.attendance.dto.ManageListUserDTO; -import com.yida.data.attendance.vo.AttdanceResultDetailVO; -import com.yida.data.attendance.vo.AttdanceResultTotalVO; -import com.yida.data.attendance.vo.AttdanceResultVO; -import com.yida.data.attendance.vo.AttendanceRuleVO; -import com.yida.data.attendance.vo.AttendanceStatusByMonthVO; -import com.yida.data.attendance.vo.DateStatusVO; -import com.yida.data.attendance.vo.DownLoadAttendanceResultVO; -import com.yida.data.attendance.vo.ManageListUserAttendanceDetailTotalVO; -import com.yida.data.attendance.vo.ManageListUserAttendanceDetailVO; -import com.yida.data.attendance.vo.ManageListUserVO; -import com.yida.data.attendance.vo.StaRecordCountVO; -import com.yida.data.attendance.vo.StaffIdentityVO; -import com.yida.data.attendance.vo.UserAttendanceResultByDayVO; -import com.yida.data.attendance.vo.UserAttendanceResultByTimeSlotVO; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRecord; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceResult; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRule; -import com.yida.data.user.vo.DownLoadPicVO; -import java.time.LocalDate; -import java.util.List; -import java.util.Map; -import org.springframework.scheduling.annotation.Async; -import org.springframework.web.bind.annotation.RequestParam; - -/** - * 考勤-考勤结果 Service接口 - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceResultService extends IService { - - /** - * 计算保存考勤结果 - * - * @param record - */ - @Async - void addResult(AttendanceRecord record); - - /** - * 学生考勤-概况统计 - * - * @param dto - * @return - */ - IPage listResultPage(AttendanceCountPageDTO dto); - - AttdanceResultTotalVO total(AttendanceCountPageDTO dto); - - - void downLocalAttendanceResult(AttendanceCountPageDTO dto, String uuid); - - - /** - * 下载考勤日报 - * - * @param dto - * @param uuid - */ - void downLocalAttendanceDayReport(AttendanceDayReportDTO dto, String uuid); - - - /** - * 学生考勤-明细 - * - * @param dto - * @return - */ - IPage listResultDetailPage(AttendanceCountPageDTO dto); - - /** - * 获取当前月份用户考勤状态汇总--个人 - * - * @param dto - * @return - */ - List getUserAttendanceStatusByMonth(AttendanceStatusByMonthDTO dto); - - /** - * 获取某日用户考勤结果 - * - * @param attendanceResultByDayDTO - * @return - */ - List getUserAttendanceResultByDay(AttendanceResultByDayDTO attendanceResultByDayDTO); - - /** - * 获取某时间段内用户考勤结果统计 - * - * @param dto - * @return - */ - UserAttendanceResultByTimeSlotVO getUserAttendanceResultByTimeSlot(AttendanceResultByStartAndEndTimeDTO dto); - - - /** - * 查询管理员日历展示状态 - * - * @param dto - * @return - */ - List findTotalUserStatus(ManageListUserDTO dto); - - - /** - * 查询管理员管理考勤统计 - * - * @param dto - * @return - */ - List findManageListUserVO(ManageListUserDTO dto); - - /** - * 职工查看管理考勤明细 - * - * @param dto - * @return - */ - JSONObject findManageListUserDetailVO(ManageListUserDTO dto); - - - /** - * 职工查看管理考勤明细-汇总 - * - * @param dto - * @return - */ - ManageListUserAttendanceDetailTotalVO findManageListUserDetailTotalVO(ManageListUserDTO dto); - - /** - * 职工管理员获取部门树 - * - * @param userId - * @param searchUserType - * @return - */ - List findManageUserDeptTree(Long userId, Integer searchUserType); - - - /** - * 查询职工身份信息 - * - * @param staffId - * @return - */ - StaffIdentityVO findStaffIdentity(Long staffId); - - - /** - * 每日凌晨先初始化考勤结果 - */ - @Async - void initUserAttendance(); - - - /** - * 每日/每周/每月考勤数据 以便于下载 - */ - @Async - void initAttendanceReport(Long schoolId, LocalDate currentDate); - - - /** - * 发送迟到提醒 - * - * @param mode 0=推动至教职工,1=推送至学生家长 - * @param userType 0=职工,1=学生 - * @param ruleId - * @param ruleTimeId - * @param staffIds 推送职工ID集合 - * @param isManager 是否推送管理员1=是,0=否 - */ - void lateReport(Integer mode, Integer userType, Long ruleId, Long ruleTimeId, List staffIds, Integer isManager); - - - /** - * @param mode 0=推动至教职工,1=推送至学生家长 - * @param userType 0=职工,1=学生 - * @param ruleId - */ - void dayReport(Integer mode, Integer userType, Long ruleId); - - - /** - * 系统首页考勤概况统计 - * - * @param startDate - * @param endDate - * @param schoolIds - * @return - */ - StaRecordCountVO staRecordCount(LocalDate startDate, LocalDate endDate, List schoolIds); - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleAddressService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleAddressService.java deleted file mode 100644 index 57b2c73..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleAddressService.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.yida.data.attendance.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleAddress; - -/** -* 考勤规则关联地点 Service接口 -* -* @date 2023-08-09 11:37:25 -*/ -public interface AttendanceRuleAddressService extends IService { -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleAdminService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleAdminService.java deleted file mode 100644 index 443f276..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleAdminService.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.attendance.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleAdmin; -import java.util.List; - -/** - * 考勤-规则管理员 Service接口 - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRuleAdminService extends IService { - - List findList(AttendanceRuleAdmin admin); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleDeviceService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleDeviceService.java deleted file mode 100644 index 8376627..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleDeviceService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.yida.data.attendance.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleDevice; - -/** - * 考勤规则关联设备表 Service接口 - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRuleDeviceService extends IService { - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleObjService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleObjService.java deleted file mode 100644 index 0c28aed..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleObjService.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.attendance.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleObj; -import java.util.List; - -/** - * 规则适用部门 Service接口 - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRuleObjService extends IService { - - List findList(Long deptId, Long ruleId); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleObjUserService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleObjUserService.java deleted file mode 100644 index 93e05db..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleObjUserService.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.yida.data.attendance.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleObj; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleObjUser; -import java.util.List; -import org.springframework.scheduling.annotation.Async; - -/** - * 规则适用部门 Service接口 - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRuleObjUserService extends IService { - - @Async - void addRuleUser(List ruleObjList, Long schoolId, Integer ruleType); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleRemindService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleRemindService.java deleted file mode 100644 index a475fbe..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleRemindService.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.yida.data.attendance.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleRemind; - -/** -* 考勤-打卡提醒 Service接口 -* -* @date 2023-08-09 11:37:25 -*/ -public interface AttendanceRuleRemindService extends IService { -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleService.java deleted file mode 100644 index c1cd486..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleService.java +++ /dev/null @@ -1,156 +0,0 @@ -package com.yida.data.attendance.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.attendance.dto.AddAttendanceRuleDTO; -import com.yida.data.attendance.dto.AttendanceRuleAdminUserAddDTO; -import com.yida.data.attendance.dto.AttendanceRuleAdminUserPageDTO; -import com.yida.data.attendance.dto.AttendanceRuleUserAddDTO; -import com.yida.data.attendance.dto.AttendanceRuleUserPageDTO; -import com.yida.data.attendance.dto.AttendanceStatusByMonthDTO; -import com.yida.data.attendance.dto.AttendanceUserCheckInDTO; -import com.yida.data.attendance.dto.H5AttendanceRuleWifiDTO; -import com.yida.data.attendance.dto.PageAttendanceRuleDTO; -import com.yida.data.attendance.dto.AttendanceFaceMatchDTO; -import com.yida.data.attendance.dto.UpdateAttendanceRuleStatusDTO; -import com.yida.data.attendance.vo.AttendanceRuleAdminUserVO; -import com.yida.data.attendance.vo.AttendanceRuleUserVO; -import com.yida.data.attendance.vo.AttendanceRuleVO; -import com.yida.data.attendance.vo.AttendanceStatusByMonthVO; -import com.yida.data.attendance.vo.AttendanceUserCheckInVO; -import com.yida.data.attendance.vo.AttendanceWifiVO; -import com.yida.data.attendance.vo.AttendanceFaceMatchVO; -import com.yida.data.attendance.vo.DayReportDataVO; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRule; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleAdmin; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleObj; -import java.time.LocalDate; -import java.util.List; -import org.springframework.scheduling.annotation.Async; - -/** - * 教职工考勤规则 Service接口 - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRuleService extends IService { - - /** - * 添加规则 - */ - void addAttendanceRule(AddAttendanceRuleDTO dto); - - - /** - * 获取规则详情 - * - * @param id - * @return - */ - AttendanceRuleVO getRule(Long id); - - - /** - * 删除规则 - * - * @return - */ - void deleteRule(List idList); - - - /** - * 分页查询规则 - */ - IPage listRulePage(PageAttendanceRuleDTO dto); - - /** - * 分页查询规则 - */ - List listRule(PageAttendanceRuleDTO dto); - - /** - * 分页查询打卡人员 - */ - IPage listRuleAttendanceUser(AttendanceRuleUserPageDTO dto); - - /** - * 删除打卡人员 - */ - void deleteRuleAttendanceUser(List ids); - - - /** - * add打卡人员 - */ - void addRuleAttendanceUser(AttendanceRuleUserAddDTO dto); - - - /** - * 变更规则启用状态 - * - * @param dto - */ - void updateRuleStatus(UpdateAttendanceRuleStatusDTO dto); - - - /** - * 查询用户匹配规则 - * - * @return - */ - AttendanceRuleVO findUserMatchRule(Integer userType, Long userId, String deviceSn, String wifiName, String wifiBssid, - LocalDate currentDate, Long schoolId); - - - /** - * 考勤人脸比对 - * - * @param dto - * @return - */ - AttendanceFaceMatchVO AttendanceFaceMatch(AttendanceFaceMatchDTO dto); - - - /** - * 查询用户对应考勤规则 - * - * @return - */ - List findByUserIdAndUserType(Long userId, Integer userType); - - /** - * 查询用户管理规则 - * - * @param userId - * @param searchUserType - * @return - */ - List findUserManageRuleList(Long userId, Integer searchUserType); - - /** - * 查询学校信息 - * - * @return - */ - List getSchoolIdList(); - - - /** - * 分页查询管理员人员 - */ - IPage listRuleAttendanceAdminUser(AttendanceRuleAdminUserPageDTO dto); - - - /** - * 增加管理人员 - */ - void addAttendanceAdminUser(AttendanceRuleAdminUserAddDTO dto); - - /** - * 删除管理人员 - */ - void deleteRuleAttendanceAdminUser(List ids); - - - List getDayReport(Long staffId, Integer userType, Long ruleId,String attendanceDateStr); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleSpecialDateService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleSpecialDateService.java deleted file mode 100644 index 2cb1328..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleSpecialDateService.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.yida.data.attendance.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleSpecialDate; - -/** -* 考勤-特殊日期 Service接口 -* -* @date 2023-08-09 11:37:25 -*/ -public interface AttendanceRuleSpecialDateService extends IService { -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleTimeService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleTimeService.java deleted file mode 100644 index 98cf627..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleTimeService.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.attendance.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.attendance.dto.AddAttendanceRuleTimeDTO; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleTime; - -/** -* 考勤-打卡时段 Service接口 -* -* @date 2023-08-09 11:37:25 -*/ -public interface AttendanceRuleTimeService extends IService { - - AddAttendanceRuleTimeDTO get(Long id); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleWhiteListService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleWhiteListService.java deleted file mode 100644 index e073dcc..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleWhiteListService.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.yida.data.attendance.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleWhiteList; - -/** -* 考勤-白名单 Service接口 -* -* @date 2023-08-09 11:37:25 -*/ -public interface AttendanceRuleWhiteListService extends IService { -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleWifiService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleWifiService.java deleted file mode 100644 index 0a26d4b..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/AttendanceRuleWifiService.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.yida.data.attendance.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.attendance.dto.AttendanceUserCheckInDTO; -import com.yida.data.attendance.dto.BssidImportDTO; -import com.yida.data.attendance.dto.H5AttendanceRuleWifiDTO; -import com.yida.data.attendance.vo.AttendanceUserCheckInVO; -import com.yida.data.attendance.vo.AttendanceWifiVO; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleWifi; -import com.yida.data.school.dto.smart.GuideRosterImportDTO; -import java.util.List; -import org.ehcache.impl.internal.concurrent.ConcurrentHashMap; -import org.springframework.scheduling.annotation.Async; - -/** - * 考勤规则关联wifi Service接口 - * - * @date 2023-08-09 11:37:25 - */ -public interface AttendanceRuleWifiService extends IService { - - @Async - void ImportBssid(String fileUrl, Long ruleId); - - void addBssidList(ConcurrentHashMap concurrentHashMap, Long ruleId); - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduAttendanceDeviceGroupService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduAttendanceDeviceGroupService.java deleted file mode 100644 index 6f3cc48..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduAttendanceDeviceGroupService.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.yida.data.attendance.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.attendance.vo.DeviceOrDeviceGroupVO; -import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; -import com.yida.data.common.core.entity.attendance.EduAttendanceDeviceGroup; -import java.util.List; - - -/** - * 设备分组表 Service接口 - * - * @author zhanghaijun - * @date 2021-06-16 15:27:11 - */ -public interface EduAttendanceDeviceGroupService extends IService { - - /** - * 分页模糊查询分组 - * - * @param current - * @param size - * @return - */ - IPage selectGroup(String name, Long current, Long size, Long schoolId) throws NoSuchMethodException; - - /** - * 查询全部 - * - * @param - * @return - */ - List selectGroupAll(); - - /** - * 新增 - * - * @param eduAttendanceDeviceGroup - */ - void insertGroup(EduAttendanceDeviceGroup eduAttendanceDeviceGroup); - - /** - * 修改 - * - * @param eduAttendanceDeviceGroup - */ - void updateGroup(EduAttendanceDeviceGroup eduAttendanceDeviceGroup); - - /** - * 删除 - */ - void delGroup(Long id); - - List listDeviceAndDevice(String keyword, Long schoolId); - - /** - * 根据设备组id查询设备 - */ - List listDeviceByGroup(List groupIds); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduAttendanceDeviceService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduAttendanceDeviceService.java deleted file mode 100644 index 688890c..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduAttendanceDeviceService.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.yida.data.attendance.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.attendance.dto.DevicePage; -import com.yida.data.attendance.dto.IssuedFaceDTO; -import com.yida.data.attendance.dto.RemoveFaceDTO; -import com.yida.data.attendance.vo.DeviceNumberVO; -import com.yida.data.attendance.vo.DeviceVO; -import com.yida.data.attendance.vo.OnlineCountVO; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; -import com.yida.data.common.core.entity.constant.FebsConstant; - -import java.util.List; - -import org.springframework.scheduling.annotation.Async; - -public interface EduAttendanceDeviceService extends IService { - - DevicePage listDevicePage(DevicePage page, String schoolName, String number, - Integer scope, Integer type, Integer state, CurrentUser currentUser); - - EduAttendanceDevice saveDevice(EduAttendanceDevice device); - - /** - * 批量开门 - * - * @param list - */ - - void openAllDoor(List list); - - /** - * 批量设置时间 - * - * @param list - */ - - void setAllTime(List list); - - /** - * 远程开门 - * - * @param id - */ - void openDoor(String id); - - /** - * 设置时间 - * - * @param id - */ - void setSysTime(String id); - - /** - * 下发人脸,异步调用 防止超时 - */ - @Async(FebsConstant.ASYNC_POOL) - void issuedFace(IssuedFaceDTO dto); - - /** - * 删除设备中的人脸 - */ - @Async(FebsConstant.ASYNC_POOL) - void removeFace(RemoveFaceDTO dto); - - /** - * 检测在线设备 - */ - void updateDeviceStatus(); - - /** - * 考勤设备数量统计 - * - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2021/10/8 17:14 - */ - ResultBean findDeviceNumber() throws NoSuchMethodException; - - /** - * 校时所有设备 - */ - @Async(FebsConstant.ASYNC_POOL) - void timingAllDevice(); - - /** - * 获取面板机状态分布 - * - * @return - */ - OnlineCountVO getOnlineDistrib(List schoolIds); - - /** - * 删除设备信息 - * - * @param ids 设备id集合 - * @author ZYJ - * @date 2023/10/23 15:34 - */ - void delDevice(List ids); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduAttendanceStrategyService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduAttendanceStrategyService.java deleted file mode 100644 index 0a6dc7d..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduAttendanceStrategyService.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.yida.data.attendance.service; - -import com.yida.data.attendance.dto.AddLeaveRequestStrategyDTO; -import com.yida.data.common.core.entity.constant.FebsConstant; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategy; -import org.springframework.scheduling.annotation.Async; - -/** - * 设备策略service - * - * @author ZYJ - * @date 2022/12/13 - */ -public interface EduAttendanceStrategyService { - - /** - * 保存策略并绑定人员信息 - * - * @param eduFaceGroupStrategy 策略信息 - * @author ZYJ - * @date 2022/12/13 10:59 - */ - @Async(FebsConstant.ASYNC_POOL) - void saveStrategyAndUser(EduFaceGroupStrategy eduFaceGroupStrategy); - - /** - * 删除策略 - * - * @param eduFaceGroupStrategy 策略信息 - * @author ZYJ - * @date 2022/12/21 15:59 - */ - void deleteStrategy(EduFaceGroupStrategy eduFaceGroupStrategy); - - /** - * 绑定对应的人员-策略信息 - * - * @param eduFaceGroupStrategy 策略信息 - * @author ZYJ - * @date 2022/12/22 16:32 - */ - void bindUserStrategy(EduFaceGroupStrategy eduFaceGroupStrategy); - - /** - * 解绑对应的人员-策略信息 - * - * @param eduFaceGroupStrategy 策略信息 - * @author ZYJ - * @date 2022/12/26 10:19 - */ - void unBindUserStrategy(EduFaceGroupStrategy eduFaceGroupStrategy); - - /** - * 删除并保存策略(包含人员信息) - * - * @param eduFaceGroupStrategy 策略信息 - * @author ZYJ - * @date 2023/1/9 15:35 - */ - @Async(FebsConstant.ASYNC_POOL) - void deleteAndSaveStrategy(EduFaceGroupStrategy eduFaceGroupStrategy); - - /** - * 添加请假类型短策略 - * - * @param dto 添加请假类型短策略请求类 - * @author ZYJ - * @date 2023/2/2 16:20 - */ - @Async(FebsConstant.ASYNC_POOL) - void addLeaveRequestStrategy(AddLeaveRequestStrategyDTO dto); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduDeviceGroupService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduDeviceGroupService.java deleted file mode 100644 index f521df6..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduDeviceGroupService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.yida.data.attendance.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.attendance.EduDeviceGroup; -import java.util.List; - -/** - * 设备对应分组关系表 Service接口 - * - * @author zhanghaijun - * @date 2021-06-16 15:29:10 - */ -public interface EduDeviceGroupService extends IService { - - /** - * 批量分组 - * - * @param list - */ - void insertGroup(List list); - - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduUserStrategyService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduUserStrategyService.java deleted file mode 100644 index 1880eca..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/EduUserStrategyService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.yida.data.attendance.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.attendance.EduUserStrategy; - -/** - * 人员策略信息 Service接口 - * - * @author ZYJ - * @date 2023-11-07 11:40:58 - */ -public interface EduUserStrategyService extends IService { - - - /** - * 处理超时用户策略 - * - * @author ZYJ - * @date 2023/11/7 19:39 - */ - void checkOverTimeUserStrategy(); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/ErrorRecordMsgService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/ErrorRecordMsgService.java deleted file mode 100644 index 120c852..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/ErrorRecordMsgService.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.yida.data.attendance.service; - -import com.yida.data.attendance.dto.ListErrorRecordDTO; -import com.yida.data.common.core.entity.ErrorRecordMsg; -import org.springframework.data.domain.Page; -import org.springframework.scheduling.annotation.Async; - -/** - * 通行记录错误信息es处理service - * - * @author ZYJ - * @date 2023/11/1 16:07 - */ -public interface ErrorRecordMsgService { - - /** - * 添加数据到es - * - * @param errorRecordMsg 通行记录错误信息 - * @author ZYJ - * @date 2023/11/1 16:12 - */ - @Async - void saveMsg(ErrorRecordMsg errorRecordMsg); - - /** - * 分页查询通行记录错误记录 - * - * @param dto 分页查询通行记录错误记录请求类 - * @return org.springframework.data.domain.Page - * @author ZYJ - * @date 2023/11/1 17:48 - */ - Page listErrorRecord(ListErrorRecordDTO dto); - - /** - * 批量删除通行记录错误记录 - * - * @param recordIds 记录ids - * @author ZYJ - * @date 2023/11/1 19:41 - */ - void batchDeleteErrorRecord(String[] recordIds); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/NoticeService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/NoticeService.java deleted file mode 100644 index 8bd4d8a..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/NoticeService.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.yida.data.attendance.service; - - -import com.yida.data.attendance.dto.DayReportDataDTO; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRecord; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceResult; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRule; -import java.util.List; -import org.springframework.scheduling.annotation.Async; - -public interface NoticeService { - - /** - * 发送考勤进出通知 - * - * @param record - */ - @Async - void sendAttendanceNotice(AttendanceRecord record); - - /** - * 重新采集人脸通知 - * - * @param picUrl - * @param userId - * @param type - */ - void sendCollectFailNotice(String picUrl, Long userId, Integer type); - - - /** - * 向家长发送迟到提醒 - * - * @param result - */ - void sendLateNoticeToParent(AttendanceResult result); - - - /** - * 发送学生迟到报告给职工 - * - * @param - */ - @Async - void sendStudentAttendanceLateReportToStaff(List resultList, Long staffId, AttendanceRule rule, - Long lateMinute); - - - @Async - void sendAttendanceDayReportToStaff(Long staffId, List dtoList, AttendanceRule rule, Integer userType, - Boolean isLeader); -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceCheckInServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceCheckInServiceImpl.java deleted file mode 100644 index 4cb1300..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceCheckInServiceImpl.java +++ /dev/null @@ -1,237 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.lang.Snowflake; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.attendance.dto.AddAttendanceRecordDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleWifiDTO; -import com.yida.data.attendance.dto.AttendanceUserCheckInDTO; -import com.yida.data.attendance.dto.H5AttendanceRuleWifiDTO; -import com.yida.data.attendance.mapper.AttendanceRuleMapper; -import com.yida.data.attendance.service.AttendanceCheckInService; -import com.yida.data.attendance.service.AttendanceRecordService; -import com.yida.data.attendance.service.AttendanceResultService; -import com.yida.data.attendance.service.ErrorRecordMsgService; -import com.yida.data.attendance.vo.AttendanceRuleVO; -import com.yida.data.attendance.vo.AttendanceUserCheckInVO; -import com.yida.data.attendance.vo.AttendanceWifiVO; -import com.yida.data.common.core.entity.ErrorRecordMsg; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRecord; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceResult; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.enums.MsgChannel; -import com.yida.data.common.core.enums.RecordTypeEnum; -import com.yida.data.common.core.enums.UserTypeEnum; -import com.yida.data.common.core.enums.attendance.AttendanceModeTypeEnum; -import com.yida.data.common.core.enums.attendance.AttendanceResultEnum; -import com.yida.data.common.core.enums.attendance.AttendanceWifiStatusEnum; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.service.CommonService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * WIFI打卡service - * - * @author ZYJ - * @date 2023/11/1 16:44 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS) -public class AttendanceCheckInServiceImpl implements AttendanceCheckInService { - - private final RedisService redisService; - private final CommonService commonService; - - private final AttendanceRecordService attendanceRecordService; - private final AttendanceResultService attendanceResultService; - private final AttendanceRuleMapper attendanceRuleMapper; - - @Override - public AttendanceWifiVO findByUserIdAndDateTime(H5AttendanceRuleWifiDTO dto) { - AttendanceWifiVO vo = new AttendanceWifiVO(); - AttendanceRuleVO attendanceRuleVO = new AttendanceRuleVO(); - //查询学校是否开启会员使用WiFi打卡 -// Boolean isWifiOpen = remoteEduSchoolFuncationConfigService -// .checkSchoolFunctionCode(dto.getSchoolId(), FunctionConfigCode.ATTENDANCE_WIFI.getCode()).getData(); -// if (isWifiOpen) { -// //查询会员 -// if (!remoteStudentApplyService.hasApply(dto.getUserId(), FunctionConfigCode.ATTENDANCE_WIFI.getCode()).getData()) { -// vo.setStatus(AttendanceWifiStatusEnum.NON_MEMBER.getValue()); -// return vo; -// } -// } - - List ruleVOList = new ArrayList<>(); - - //缓存用户匹配的考勤规则 - if (redisService.hHasKey(CachePrefixConstant.ATTENDANCE_STUDENT_RULE, String.valueOf(dto.getUserId()))) { - String ruleVOListStr = (String) redisService - .hget(CachePrefixConstant.ATTENDANCE_STUDENT_RULE, String.valueOf(dto.getUserId())); - ruleVOList = JSONUtil.toList(ruleVOListStr, AttendanceRuleVO.class); - } else { - Long userId = dto.getUserId(); - if (UserTypeEnum.STAFF_USER_TYPE.getType().equals(dto.getUserType())) { - //教职工 - EduStaff staff = commonService.getStaffById(userId); - if (Objects.isNull(staff)) { - log.error("职工不存在,id:[{}]", userId); - throw new FebsException("职工信息不存在:【{" + userId + "}】"); - } - } else { - EduStudent student = commonService.getStudentById(userId); - if (ObjectUtil.isNull(student)) { - log.error("学生信息不存在,id:[{}]", userId); - throw new FebsException("学生信息不存在:【{" + userId + "}】"); - } - //用户匹配规则 - ruleVOList = attendanceRuleMapper - .findUserMatchRuleByUserId(dto.getUserType(), dto.getUserId()); - if (CollUtil.isNotEmpty(ruleVOList)) { - redisService - .hset(CachePrefixConstant.ATTENDANCE_STUDENT_RULE, String.valueOf(dto.getUserId()), - JSONUtil.toJsonStr(ruleVOList)); - } - } - } - - //wifi匹配的规则 - List matchList = new ArrayList<>(); - - if (CollUtil.isEmpty(ruleVOList)) { - vo.setStatus(AttendanceWifiStatusEnum.RULE_NO.getValue()); - return vo; - } else { - //查询所有WiFi打卡的规则 - //匹配对应的考勤规则 根据BSSID判断 - for (AttendanceRuleVO ruleVO : ruleVOList) { - boolean contains = ruleVO.getWifiDTOList().stream().map(AddAttendanceRuleWifiDTO::getWifiBssid) - .collect(Collectors.toList()).contains(dto.getWifiBssid()); - if (contains) { - matchList.add(ruleVO); - } - } - } - - if (CollUtil.isEmpty(matchList)) { - vo.setStatus(AttendanceWifiStatusEnum.RANGE_OUT.getValue()); - return vo; - } else { - for (AttendanceRuleVO ruleVO : matchList) { - if (ruleVO.getWeek().contains(String.valueOf(dto.getCurrentDateTime().getDayOfWeek().getValue()))) { - attendanceRuleVO = ruleVO; - Map> wifiMap = ruleVO.getWifiDTOList().stream() - .collect(Collectors.groupingBy(AddAttendanceRuleWifiDTO::getWifiBssid)); - vo.setWifiName(wifiMap.get(dto.getWifiBssid()).get(0).getWifiName()); - break; - } - } - } - - if (ObjectUtil.isNull(attendanceRuleVO)) { - vo.setStatus(AttendanceWifiStatusEnum.REST.getValue()); - return vo; - } else { - vo.setRuleType(attendanceRuleVO.getType()); - vo.setRuleId(attendanceRuleVO.getId()); - vo.setRuleName(attendanceRuleVO.getName()); - vo.setRuleFaceTake(attendanceRuleVO.getFaceTake()); - //默认一个考勤时段 - vo.setRuleTimeId(attendanceRuleVO.getTimeDTOList().get(0).getId()); - vo.setStartTime(attendanceRuleVO.getTimeDTOList().get(0).getStartTime()); - vo.setEndTime(attendanceRuleVO.getTimeDTOList().get(0).getEndTime()); - - //判断是否在打卡时段 - if (LocalTime.now().isBefore(attendanceRuleVO.getTimeDTOList().get(0).getStartEffectiveStartTime()) || LocalTime.now() - .isAfter(attendanceRuleVO.getTimeDTOList().get(0).getEndEffectiveEndTime())) { - vo.setStatus(AttendanceWifiStatusEnum.TIME_OUT.getValue()); - } else { - AttendanceResult result = attendanceResultService.getOne(Wrappers.lambdaQuery(new AttendanceResult()) - .eq(AttendanceResult::getRuleId, attendanceRuleVO.getId()) - .eq(AttendanceResult::getRuleTimeId, attendanceRuleVO.getTimeDTOList().get(0).getId()) - .eq(AttendanceResult::getUserId, dto.getUserId()) - .eq(AttendanceResult::getAttendanceDate, dto.getCurrentDateTime().toLocalDate())); - - if (ObjectUtil.isNotNull(result)) { - vo.setStartRealTime(result.getStartRealTime()); - vo.setStartStatus(result.getStartStatus()); - vo.setEndRealTime(result.getEndRealTime()); - vo.setEndStatus(result.getEndStatus()); - vo.setStartImg(result.getStartPicUrl()); - vo.setEndImg(result.getEndPicUrl()); - } - //判断是上班还是下班打卡 - if (ObjectUtil.equals(AttendanceModeTypeEnum.FREE.getValue(), attendanceRuleVO.getType())) { - //自由打卡 - vo.setStatus(AttendanceWifiStatusEnum.WORK_ON.getValue()); - } else { - if (dto.getCurrentDateTime().toLocalTime() - .isAfter(attendanceRuleVO.getTimeDTOList().get(0).getStartEffectiveStartTime()) && dto - .getCurrentDateTime().toLocalTime() - .isBefore(attendanceRuleVO.getTimeDTOList().get(0).getStartEffectiveEndTime())) { - if (ObjectUtil.isNotNull(result) && ObjectUtil.isNotNull(result.getStartStatus())) { - vo.setStatus(AttendanceWifiStatusEnum.WORK_OFF.getValue()); - } else { - vo.setStatus(AttendanceWifiStatusEnum.WORK_ON.getValue()); - } - } else if (dto.getCurrentDateTime().toLocalTime() - .isAfter(attendanceRuleVO.getTimeDTOList().get(0).getEndEffectiveStartTime())) { - vo.setStatus(AttendanceWifiStatusEnum.WORK_OFF.getValue()); - } - } - } - } - return vo; - } - - @Override - public AttendanceUserCheckInVO userCheckIn(AttendanceUserCheckInDTO dto) { - AddAttendanceRecordDTO param = new AddAttendanceRecordDTO(); - param.setUserId(dto.getUserId()); - param.setUserType(dto.getUserType()); - param.setSchoolId(dto.getSchoolId()); - param.setWifiBssid(dto.getWifiBssid()); - param.setCreateTime(dto.getCurrentDateTime()); - param.setPicUrl(dto.getAvatar()); - param.setRuleId(dto.getRuleId()); - param.setRuleTimeId(dto.getRuleTimeId()); - AttendanceRecord record = attendanceRecordService.addRecord(param); - AttendanceUserCheckInVO vo = new AttendanceUserCheckInVO(); - if (record.getRuleTimeType() == 0) { - //上班打卡 - if (record.getStatus().equals(AttendanceResultEnum.ABNORMAL.getValue())) { - vo.setStatus(AttendanceResultEnum.LATE.getValue()); - } else { - vo.setStatus(record.getStatus()); - } - } else { - //下班打卡 - if (record.getStatus().equals(AttendanceResultEnum.ABNORMAL.getValue())) { - vo.setStatus(AttendanceResultEnum.LEAVE.getValue()); - } else { - vo.setStatus(AttendanceResultEnum.NORMAL.getValue()); - } - } - vo.setCheckInDateTime(dto.getCurrentDateTime()); - vo.setAvatar(dto.getAvatar()); - return vo; - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRecordServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRecordServiceImpl.java deleted file mode 100644 index b7f0986..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRecordServiceImpl.java +++ /dev/null @@ -1,654 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.date.LocalDateTimeUtil; -import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.support.ExcelTypeEnum; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.dto.AddAttendanceRecordDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleTimeDTO; -import com.yida.data.attendance.dto.PageAttendanceRecordDTO; -import com.yida.data.attendance.dto.RemoveFaceDTO; -import com.yida.data.attendance.mapper.AttendanceRecordMapper; -import com.yida.data.attendance.mapper.AttendanceRuleWifiMapper; -import com.yida.data.attendance.service.*; -import com.yida.data.attendance.vo.AttendanceRecordExcelVO; -import com.yida.data.attendance.vo.AttendanceRuleVO; -import com.yida.data.attendance.vo.DownLoadAttendanceResultVO; -import com.yida.data.attendance.vo.StudentDormAttendanceResultExcelVO; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; -import com.yida.data.common.core.entity.attendance.EduAttendanceRecord; -import com.yida.data.common.core.entity.attendance.EduAttendanceStaffRecord; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRecord; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceResult; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleAddress; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleWifi; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.system.enums.RoleEnum; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.enums.MsgChannel; -import com.yida.data.common.core.enums.UserTypeEnum; -import com.yida.data.common.core.enums.attendance.AttendanceModeTypeEnum; -import com.yida.data.common.core.enums.attendance.AttendanceNextDayEnum; -import com.yida.data.common.core.enums.attendance.AttendanceResultEnum; -import com.yida.data.common.core.enums.attendance.AttendanceTypeEnum; -import com.yida.data.common.core.enums.attendance.AttendanceUserTypeEnum; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.common.core.utils.FileUtil; -import com.yida.data.common.service.CommonService; -import com.yida.data.user.dto.ListStudentDTO; -import com.yida.data.user.feign.RemoteStaffService; -import com.yida.data.user.feign.RemoteStudentService; - -import java.io.File; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import java.util.stream.Collectors; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.regexp.RE; -import org.apache.tomcat.jni.User; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.ApplicationContext; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.StopWatch; - -/** - * 进出记录 Service实现 - * - * @date 2023-08-09 11:37:25 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class AttendanceRecordServiceImpl extends ServiceImpl - implements AttendanceRecordService { - - private final RedisService redisService; - private final AttendanceRuleService attendanceRuleService; - private final EduAttendanceDeviceService eduAttendanceDeviceService; - private final RemoteStudentService remoteStudentService; - private final AttendanceRuleWifiMapper attendanceRuleWifiMapper; - private final AttendanceRuleAddressService attendanceRuleAddressService; - private final AttendanceResultService attendanceResultService; - private final AttendanceRuleTimeService attendanceRuleTimeService; - private final CommonService commonService; - private final NoticeService noticeService; - private final ErrorRecordMsgService errorRecordMsgService; - private final RemoteStaffService remoteStaffService; - @Value("${febs.uploadUrl}") - private String uploadUrl; - - @Autowired - ApplicationContext applicationContext; - - @Override - @Transactional(rollbackFor = Exception.class) - public AttendanceRecord addRecord(AddAttendanceRecordDTO dto) { - AttendanceRecord erecord = getOne(Wrappers.lambdaQuery(new AttendanceRecord()) - .eq(AttendanceRecord::getUserId, dto.getUserId()) - .eq(AttendanceRecord::getUserType, dto.getUserType()) - .eq(AttendanceRecord::getCreateTime, dto.getCreateTime())); - if (ObjectUtil.isNotNull(erecord)) { - log.error("用户:{},类型:{},通行时间数据:{}已存在,不加入数据库", dto.getUserType(), dto.getUserId(), dto.getCreateTime()); - return null; - } - - LocalTime now = dto.getCreateTime().toLocalTime(); - AttendanceRecord record = new AttendanceRecord(); - BeanUtils.copyProperties(dto, record); - EduStaff staff = null; - EduStudent student = null; - EduAttendanceDevice device = null; - //查设备 - if (ObjectUtil.isNotEmpty(dto.getDeviceSn())) { - device = (EduAttendanceDevice) redisService - .hget(CachePrefixConstant.DEVICE_DATA, dto.getDeviceSn()); - if (ObjectUtil.isNull(device)) { - device = eduAttendanceDeviceService.getOne(Wrappers.lambdaQuery(new EduAttendanceDevice()) - .eq(EduAttendanceDevice::getSn, dto.getDeviceSn())); - } - if (ObjectUtil.isNull(device)) { - return null; - } else { - redisService.hset(CachePrefixConstant.DEVICE_DATA, dto.getDeviceSn(), device); - } - } - - //判断记录数据是否已存在 -// if (ObjectUtil.isNotNull(dto.getOriginalRecordId())) { -// if (MsgChannel.MQTT.equals(dto.getMsgChannel())) { -// AttendanceRecord erecord = getOne(Wrappers.lambdaQuery(new AttendanceRecord()) -// .eq(AttendanceRecord::getOriginalRecordId, dto.getOriginalRecordId()) -// .eq(AttendanceRecord::getDeviceId,device.getId())); -// if (ObjectUtil.isNotNull(erecord)) { -// log.error("通行数据:【{}】已存在,不加入数据库", dto.getOriginalRecordId()); -// return null; -// } -// } -// } - - if (ObjectUtil.equals(AttendanceUserTypeEnum.STAFF.getValue(), dto.getUserType())) { - staff = commonService.getStaffById(dto.getUserId()); - if (ObjectUtil.isNull(staff)) { - //反向删除人脸机数据 - if (!MsgChannel.ACTIVE.equals(dto.getMsgChannel()) && ObjectUtil.isNotNull(device)) { - log.error("教职工{}数据为空,删除面板机{}消息", dto.getUserId(), device.getId()); - RemoveFaceDTO removeFaceDTO = new RemoveFaceDTO(); - removeFaceDTO - .setDeviceFactoryUserId( - Collections.singletonList(dto.getUserId() + "1")); - removeFaceDTO.setDeviceList(Collections.singletonList(device.getId())); - eduAttendanceDeviceService.removeFace(removeFaceDTO); - } - return null; - } - } else { - student = commonService.getStudentById(dto.getUserId()); - if (ObjectUtil.isNull(student)) { - //反向删除人脸机数据t - if (!MsgChannel.ACTIVE.equals(dto.getMsgChannel()) && ObjectUtil.isNotNull(device)) { - log.error("学生{}数据为空,删除面板机{}消息", dto.getUserId(), device.getId()); - RemoveFaceDTO removeFaceDTO = new RemoveFaceDTO(); - removeFaceDTO - .setDeviceFactoryUserId( - Collections.singletonList(dto.getUserId() + "0")); - removeFaceDTO.setDeviceList(Collections.singletonList(device.getId())); - eduAttendanceDeviceService.removeFace(removeFaceDTO); - } - return null; - } - } - - //查看匹配的考勤规则 - AttendanceRuleVO userMatchRule = new AttendanceRuleVO(); - if (ObjectUtil.isNotEmpty(dto.getRuleId())) { - userMatchRule = (AttendanceRuleVO) redisService - .hget(CachePrefixConstant.ATTENDANCE_RULE_DATA, String.valueOf(dto.getRuleId())); - if (ObjectUtil.isNull(userMatchRule)) { - userMatchRule = attendanceRuleService.getRule(dto.getRuleId()); - if (ObjectUtil.isNotNull(userMatchRule)) { - redisService.hset(CachePrefixConstant.ATTENDANCE_RULE_DATA, String.valueOf(dto.getRuleId()), userMatchRule); - } - } - } else { - userMatchRule = attendanceRuleService - .findUserMatchRule(dto.getUserType(), dto.getUserId(), dto.getDeviceSn(), dto.getWifiName(), dto.getWifiBssid(), - dto.getCreateTime().toLocalDate(), dto.getSchoolId()); - } - - if (ObjectUtil.isNotNull(userMatchRule)) { - //匹配考勤时段 - AddAttendanceRuleTimeDTO addAttendanceRuleTimeDTO = new AddAttendanceRuleTimeDTO(); - if (ObjectUtil.isNotEmpty(dto.getRuleTimeId())) { -// addAttendanceRuleTimeDTO = attendanceRuleTimeService.get(dto.getRuleTimeId()); - addAttendanceRuleTimeDTO = userMatchRule.getTimeDTOList().stream().filter(t -> t.getId() - .equals(dto.getRuleTimeId())) - .collect(Collectors.toList()).get(0); - } else { - addAttendanceRuleTimeDTO = MatchAttendanceTime(userMatchRule.getTimeDTOList(), - dto.getCreateTime(), userMatchRule.getType(), dto.getUserId(), dto.getUserType(), - userMatchRule.getUserType()); - } - - record.setRuleId(userMatchRule.getId()); - if (ObjectUtil.isNotNull(addAttendanceRuleTimeDTO)) { - record.setRuleTimeId(addAttendanceRuleTimeDTO.getId()); - if (ObjectUtil.equals(AttendanceModeTypeEnum.FREE.getValue(), userMatchRule.getType())) { - if (ObjectUtil.equals(AttendanceUserTypeEnum.STUDENT_TO_DORM.getValue(), userMatchRule.getUserType())) { - //宿舍考勤 - if (dto.getCreateTime().toLocalTime().isAfter(addAttendanceRuleTimeDTO.getStartTime()) && - dto.getCreateTime().toLocalTime().isBefore(addAttendanceRuleTimeDTO.getEndTime())) { - record.setStatus(AttendanceResultEnum.NORMAL.getValue()); - } else if (dto.getCreateTime().toLocalTime().isAfter(addAttendanceRuleTimeDTO.getEndTime()) && - dto.getCreateTime().toLocalTime().isBefore(addAttendanceRuleTimeDTO.getLastTime())) { - record.setStatus(AttendanceResultEnum.LATE_DORM.getValue()); - } else if (dto.getCreateTime().toLocalTime().isAfter(addAttendanceRuleTimeDTO.getLastTime()) && - dto.getCreateTime().toLocalTime().isBefore(addAttendanceRuleTimeDTO.getEndEffectiveEndTime())) { - record.setStatus(AttendanceResultEnum.AB_LATE_DORM.getValue()); - } else { - record.setStatus(AttendanceResultEnum.ABNORMAL.getValue()); - } - } else { - if (dto.getCreateTime().toLocalTime().isAfter(addAttendanceRuleTimeDTO.getStartTime()) && - dto.getCreateTime().toLocalTime().isBefore(addAttendanceRuleTimeDTO.getEndTime())) { - record.setStatus(AttendanceResultEnum.NORMAL.getValue()); - } else { - record.setStatus(AttendanceResultEnum.ABNORMAL.getValue()); - } - } - record.setRuleTimeType(AttendanceTypeEnum.WORK_ON.getValue()); - record.setStiTime(addAttendanceRuleTimeDTO.getStartTime()); - } else { - //固定时间段打卡模式 - //判断是上班打卡还是下班打卡 - if (now.isAfter(addAttendanceRuleTimeDTO.getStartEffectiveStartTime()) && now - .isBefore(addAttendanceRuleTimeDTO.getStartEffectiveEndTime())) { - //在上班打卡时间段,并且上班未打卡,表示此次打卡未 - List recordList = this.list(Wrappers.lambdaQuery(new AttendanceRecord()) - .eq(AttendanceRecord::getUserId, dto.getUserId()) - .eq(AttendanceRecord::getRuleId, userMatchRule.getId()) - .eq(AttendanceRecord::getRuleTimeId, addAttendanceRuleTimeDTO.getId()) - .eq(AttendanceRecord::getRuleTimeType, 0)); - if (CollUtil.isNotEmpty(recordList)) { - record.setStiTime(addAttendanceRuleTimeDTO.getEndTime()); - record.setRuleTimeType(AttendanceTypeEnum.WORK_OFF.getValue()); - //下班打卡,计算考勤结果 - if (now.isBefore(addAttendanceRuleTimeDTO.getEndTime())) { - record.setStatus(AttendanceResultEnum.ABNORMAL.getValue()); - } else { - record.setStatus(AttendanceResultEnum.NORMAL.getValue()); - } - } else { - record.setStiTime(addAttendanceRuleTimeDTO.getStartTime()); - record.setRuleTimeType(AttendanceTypeEnum.WORK_ON.getValue()); - //上班打卡,计算考勤结果 - if (now.isBefore(addAttendanceRuleTimeDTO.getStartTime())) { - record.setStatus(AttendanceResultEnum.NORMAL.getValue()); - } else { - record.setStatus(AttendanceResultEnum.ABNORMAL.getValue()); - } - } - } else if (now.isAfter(addAttendanceRuleTimeDTO.getEndEffectiveStartTime())) { - record.setRuleTimeType(AttendanceTypeEnum.WORK_OFF.getValue()); - LocalDateTime endDateTime = null; - //大于下班 开始打卡时间 - record.setStiTime(addAttendanceRuleTimeDTO.getEndTime()); - if (dto.getCreateTime() - .isAfter(dto.getCreateTime().toLocalDate().atTime(addAttendanceRuleTimeDTO.getEndTime())) && - dto.getCreateTime().isBefore( - dto.getCreateTime().toLocalDate().atTime(addAttendanceRuleTimeDTO.getEndEffectiveEndTime()))) { - //正常 - record.setStatus(AttendanceResultEnum.NORMAL.getValue()); - } else { - record.setStatus(AttendanceResultEnum.ABNORMAL.getValue()); - } - } - } - } - } - //增加辅助字段 - - if (ObjectUtil.isNotEmpty(dto.getPicUrl())) { - record.setPicUrl(dto.getPicUrl()); - } - if (ObjectUtil.isNotEmpty(dto.getDeviceSn())) { - if (ObjectUtil.isNotNull(device)) { - record.setScope(device.getZoneScope()); - record.setDeviceName(device.getName()); - record.setZone(device.getType()); - record.setDeviceId(device.getId()); - } - } - if (ObjectUtil.isNotEmpty(dto.getWifiId())) { - AttendanceRuleWifi wifi = attendanceRuleWifiMapper.selectById(dto.getWifiId()); - if (ObjectUtil.isNotNull(wifi)) { - record.setWifiName(wifi.getWifiName()); - } - } - - if (ObjectUtil.isNotEmpty(dto.getWifiBssid())) { - List wifiList = attendanceRuleWifiMapper.listRuleWifi(dto.getRuleId(), dto.getWifiBssid()); - AttendanceRuleWifi wifi = wifiList.get(0); - if (ObjectUtil.isNotNull(wifi)) { - record.setWifiName(wifi.getWifiName()); - record.setWifiId(wifi.getId()); - } - } - if (ObjectUtil.isNotEmpty(dto.getAddressId())) { - AttendanceRuleAddress address = attendanceRuleAddressService.getById(dto.getAddressId()); - if (ObjectUtil.isNotNull(address)) { - record.setAddressName(address.getAddressName()); - } - } - if (ObjectUtil.equals(AttendanceUserTypeEnum.STAFF.getValue(), dto.getUserType())) { - //TODO 教职工 辅助信息 - if (ObjectUtil.isNotNull(staff)) { - record.setSchoolId(staff.getSchoolId()); - if (CollUtil.isNotEmpty(staff.getStaffDept())) { - record.setCampusId(staff.getStaffDept().get(0).getId()); - record.setCampusName(staff.getStaffDept().get(0).getDeptName()); - } - record.setUserName(staff.getName()); - } - - } else if (ObjectUtil.equals(AttendanceUserTypeEnum.STUDENT_TO_SCHOOL.getValue(), dto.getUserType())) { - if (ObjectUtil.isNotNull(student)) { - record.setSchoolId(student.getSchoolId()); - record.setUserName(student.getStuName()); - record.setCampusId(student.getCampusId()); - record.setCampusName(student.getCampusName()); - record.setSectionId(student.getSectionId()); - record.setSectionName(student.getSectionName()); - record.setGradeId(student.getGradeId()); - record.setGradeName(student.getGradeName()); - record.setClassId(student.getClassId()); - record.setClassName(student.getClassName()); - } - } else { - if (ObjectUtil.isNotNull(student)) { - record.setUserName(student.getStuName()); - record.setCampusId(student.getCampusId()); - record.setCampusName(student.getCampusName()); - record.setSectionId(student.getSectionId()); - record.setSectionName(student.getSectionName()); - record.setGradeId(student.getGradeId()); - record.setGradeName(student.getGradeName()); - record.setClassId(student.getClassId()); - record.setClassName(student.getClassName()); - record.setDormId(student.getDormId()); - record.setDormName(student.getDormName()); - record.setDormRoomId(student.getDormRoomId()); - record.setDormRoomName(student.getDormRoomName()); - record.setSchoolId(student.getSchoolId()); - } - } - - //保存记录 - save(record); - //生成结果 - if (ObjectUtil.isNotEmpty(record.getStatus())) { - attendanceResultService.addResult(record); - } - //TODO 推送通行记录 - noticeService.sendAttendanceNotice(record); - - if (StrUtil.isNotBlank(dto.getEsRecordId())) { - errorRecordMsgService.batchDeleteErrorRecord(new String[]{dto.getEsRecordId()}); - } - return record; - } - - @Override - public IPage listRecordPage(PageAttendanceRecordDTO dto) { - // 先查询出人员 - List userIdList = new ArrayList<>(); - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), dto.getUserType())) { - ListStudentDTO listStudentDTO = new ListStudentDTO(); - if (ObjectUtil.isNotNull(dto.getStudentName())) { - listStudentDTO.setStuName(dto.getStudentName()); - } - if (ObjectUtil.isNotNull(dto.getSectionId()) && ObjectUtil.isNull(dto.getClassId())) { - listStudentDTO.setSectionId(dto.getSectionId()); - } - if (ObjectUtil.isNotNull(listStudentDTO.getStuName()) || ObjectUtil.isNotNull(listStudentDTO.getSectionId())) { - userIdList = remoteStudentService.listStudent(listStudentDTO).getData().stream().map(EduStudent::getId).collect( - Collectors.toList()); - } - dto.setUserIdList(userIdList); - String rolePerms = FebsUtil.getCurrentUser().getRolePerms(); - //学校管理员 - if (rolePerms.contains(RoleEnum.ROLE_SCHOOL_PRINCIPAL.getValue())) { - dto.setSchoolId(FebsUtil.getTopDeptId()); - } else { - if (ObjectUtil.isNull(dto.getClassId())) { - dto.setClassIdList(remoteStaffService.listClassIdByStaffId().getData()); - } else { - dto.setClassIdList(Collections.singletonList(dto.getClassId())); - } - } - } - return baseMapper - .listRecordPage(dto.toPage(), dto); - } - - /** - * 匹配考勤时段 - * - * @param timeDTOList - * @param createTime 打卡时间 - * @return - */ - @Override - public AddAttendanceRuleTimeDTO MatchAttendanceTime(List timeDTOList, LocalDateTime createTime, - Integer attendanceType, Long userId, Integer userType, Integer attendanceUserType) { - //根据当前打卡时间与打卡时间段对应打卡时间。 - LocalDateTime now = createTime; - LocalDate nowDate = createTime.toLocalDate(); - if (ObjectUtil.equals(AttendanceModeTypeEnum.FREE.getValue(), attendanceType)) { - //自由打卡模式 - for (AddAttendanceRuleTimeDTO addAttendanceRuleTimeDTO : timeDTOList) { - if (now.toLocalTime().isAfter(addAttendanceRuleTimeDTO.getStartEffectiveStartTime()) && now.toLocalTime() - .isBefore(addAttendanceRuleTimeDTO.getEndEffectiveEndTime())) { - return addAttendanceRuleTimeDTO; - } - } - } else { - for (AddAttendanceRuleTimeDTO addAttendanceRuleTimeDTO : timeDTOList) { - - AttendanceResult result = attendanceResultService.getOne(Wrappers.lambdaQuery(new AttendanceResult()) - .eq(AttendanceResult::getRuleId, addAttendanceRuleTimeDTO.getRuleId()) - .eq(AttendanceResult::getRuleTimeId, addAttendanceRuleTimeDTO.getId()) - .eq(AttendanceResult::getUserId, userId) - .eq(AttendanceResult::getUserType, userType) - .eq(AttendanceResult::getAttendanceDate, createTime.toLocalDate())); - - if (ObjectUtil.isNotNull(result) && ObjectUtil.isNotNull(result.getStartStatus())) { - if (now.isAfter(nowDate.atTime(addAttendanceRuleTimeDTO.getEndEffectiveStartTime())) && now - .isBefore(nowDate.atTime(addAttendanceRuleTimeDTO.getEndEffectiveEndTime()))) { - return addAttendanceRuleTimeDTO; - } - } else { - if (now.isAfter(nowDate.atTime(addAttendanceRuleTimeDTO.getStartEffectiveStartTime())) && now - .isBefore(nowDate.atTime(addAttendanceRuleTimeDTO.getStartEffectiveEndTime()))) { - return addAttendanceRuleTimeDTO; - } - if (now.isAfter(nowDate.atTime(addAttendanceRuleTimeDTO.getEndEffectiveStartTime())) && now - .isBefore(nowDate.atTime(addAttendanceRuleTimeDTO.getEndEffectiveEndTime()))) { - return addAttendanceRuleTimeDTO; - } - } - } - } - return null; - } - - @Override - public void downloadAttendanceRecord(PageAttendanceRecordDTO dto, String uuid) { - // 先查询出人员 - List userIdList = new ArrayList<>(); - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), dto.getUserType())) { - ListStudentDTO listStudentDTO = new ListStudentDTO(); - if (ObjectUtil.isNotNull(dto.getStudentName())) { - listStudentDTO.setStuName(dto.getStudentName()); - } - if (ObjectUtil.isNotNull(dto.getSectionId()) && ObjectUtil.isNull(dto.getClassId())) { - listStudentDTO.setSectionId(dto.getSectionId()); - } - if (ObjectUtil.isNotNull(listStudentDTO.getStuName()) || ObjectUtil.isNotNull(listStudentDTO.getSectionId())) { - userIdList = remoteStudentService.listStudent(listStudentDTO).getData().stream().map(EduStudent::getId).collect( - Collectors.toList()); - } - dto.setUserIdList(userIdList); - String rolePerms = FebsUtil.getCurrentUser().getRolePerms(); - //学校管理员 - if (rolePerms.contains(RoleEnum.ROLE_SCHOOL_PRINCIPAL.getValue())) { - dto.setSchoolId(FebsUtil.getTopDeptId()); - } else { - if (ObjectUtil.isNull(dto.getClassId())) { - dto.setClassIdList(remoteStaffService.listClassIdByStaffId().getData()); - } else { - dto.setClassIdList(Collections.singletonList(dto.getClassId())); - } - } - } - AttendanceRecordServiceImpl bean = applicationContext - .getBean(AttendanceRecordServiceImpl.class); - bean.dealDownRecordData(dto, uuid); - } - - - @Async - void dealDownRecordData(PageAttendanceRecordDTO dto, String uuid) { - String fileName = FileUtil.getLocalUploadAddress() + uuid + ".xls"; - File file = new File(fileName); - try { - log.info("开始处理下载通行数据"); - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - IPage attendanceRecordIPage = baseMapper.listRecordPage(new Page(1, -1), dto); - List records = attendanceRecordIPage.getRecords(); - List> exportDataList = new ArrayList<>(); - for (int i = 0; i < records.size(); i++) { - AttendanceRecord record = records.get(i); - //更新进度缓存 - redisService - .hset(CachePrefixConstant.ATTENDANCE_RECORD_DOWNLOAD, uuid, - DownLoadAttendanceResultVO.builder() - .key(uuid) - .finish(0) - .totalNum(records.size()) - .currentNum(i + 1).build()); - //封装单行数据 - List singleDataList = new ArrayList<>(); - singleDataList.add(record.getUserName()); - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), dto.getUserType())) { - EduStudent student = commonService.getStudentById(record.getUserId()); - if (ObjectUtil.isNotNull(student)) { - singleDataList.add(student.getStuNumber()); - } else { - singleDataList.add(""); - } - } else { - EduStaff staff = commonService.getStaffById(record.getUserId()); - if (ObjectUtil.isNotNull(staff)) { - singleDataList.add(staff.getMobile()); - } else { - singleDataList.add(""); - } - } - singleDataList.add(record.getCampusName()); - singleDataList.add(record.getSectionName()); - singleDataList.add(record.getGradeName()); - singleDataList.add(record.getClassName()); - singleDataList.add(LocalDateTimeUtil.format(record.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); - singleDataList.add(record.getDeviceName()); - exportDataList.add(singleDataList); - } - EasyExcel.write(file) - .excelType(ExcelTypeEnum.XLSX) - // 这里放入动态头 - .head(AttendanceRecordExcelVO.class).sheet("通行记录") - // 当然这里数据也可以用 List> 去传入 - .doWrite(exportDataList); - - // 上传文件到媒资 - String fileUrl = com.yida.data.common.core.utils.FileUtil.uploadFileToMediaServer(uploadUrl, file); - redisService - .hset(CachePrefixConstant.ATTENDANCE_RECORD_DOWNLOAD, uuid, DownLoadAttendanceResultVO.builder() - .key(uuid) - .finish(1) - .filePath(fileUrl) - .totalNum(CollUtil.isEmpty(records) ? 100 : records.size()) - .currentNum(CollUtil.isEmpty(records) ? 100 : records.size()).build()); - } catch (Exception e) { - e.printStackTrace(); - } finally { - //删除本地文件 - if (cn.hutool.core.io.FileUtil.exist(file)) { - cn.hutool.core.io.FileUtil.del(file); - } - } - } - - @Override - public void resetOldData(Long schoolId, LocalDateTime startDateTime, Integer userType) { - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - - Boolean isEnd = false; - Integer pageNum = 1; - while (!isEnd) { - log.info("开始处理第【{}】页数据", pageNum); - //每次查询1000调数据 - //学生数据 - List addRecordList = new ArrayList<>(); - List addResultList = new ArrayList<>(); - - if (!isEnd) { - if (ObjectUtil.equals(UserTypeEnum.STAFF_USER_TYPE.getType(), userType)) { - List staffRecords = baseMapper - .listStaffOldDataPage(new Page(pageNum, 1000), schoolId, startDateTime).getRecords(); - for (EduAttendanceStaffRecord record : staffRecords) { - //判断记录是否存在 - List list = list(Wrappers.lambdaQuery(new AttendanceRecord()) - .eq(AttendanceRecord::getCreateTime, record.getCreateTime()) - .eq(AttendanceRecord::getUserId, record.getStaffId()) - .eq(AttendanceRecord::getUserType, UserTypeEnum.STAFF_USER_TYPE.getType())); - if (CollUtil.isEmpty(list)) { - EduStaff staff = commonService.getStaffById(record.getStaffId()); - AttendanceRecord attendanceRecord = new AttendanceRecord(); - attendanceRecord.setDeviceId(record.getDeviceId()); - attendanceRecord.setCreateTime(record.getCreateTime()); - attendanceRecord.setUserId(record.getStaffId()); - attendanceRecord.setUserType(0); - attendanceRecord.setPicUrl(record.getPicUrl()); - attendanceRecord.setUserName(commonService.getStaffById(record.getStaffId()).getName()); - attendanceRecord.setSchoolId(record.getSchoolId()); - attendanceRecord.setCampusId(staff.getStaffDept().get(0).getId()); - attendanceRecord.setCampusName(staff.getStaffDept().get(0).getDeptName()); - addRecordList.add(attendanceRecord); - - //考勤结果 - - } - } - if (staffRecords.size() < 1000) { - isEnd = true; - } - } else { - List records = baseMapper - .listOldDataPage(new Page(pageNum, 1000), schoolId, startDateTime) - .getRecords(); - for (EduAttendanceRecord record : records) { - List list = list(Wrappers.lambdaQuery(new AttendanceRecord()) - .eq(AttendanceRecord::getCreateTime, record.getCreateTime()) - .eq(AttendanceRecord::getUserId, record.getStudentId()) - .eq(AttendanceRecord::getUserType, UserTypeEnum.PARENT_USER_TYPE.getType())); - - if (CollUtil.isEmpty(list)) { - EduAttendanceDevice device = eduAttendanceDeviceService.getById(record.getDeviceId()); - AddAttendanceRecordDTO dto = new AddAttendanceRecordDTO(); - dto.setDeviceSn(device.getSn()); - dto.setCreateTime(record.getCreateTime()); - dto.setUserId(record.getStudentId()); - dto.setUserType(1); - dto.setPicUrl(record.getPicUrl()); - addRecord(dto); - } - } - if (records.size() < 1000) { - isEnd = true; - } - } - } - pageNum++; - } - - stopWatch.stop(); - log.info("迁移结束,总共耗时:[{}]", stopWatch.getTotalTimeSeconds() + "秒"); - } - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceReportPushRecordServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceReportPushRecordServiceImpl.java deleted file mode 100644 index 294490f..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceReportPushRecordServiceImpl.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.mapper.AttendanceReportPushRecordMapper; -import com.yida.data.attendance.service.AttendanceReportPushRecordService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceReportPushRecord; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - - -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -@Slf4j -public class AttendanceReportPushRecordServiceImpl extends ServiceImpl - implements AttendanceReportPushRecordService { - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceReportStrategyServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceReportStrategyServiceImpl.java deleted file mode 100644 index 1a62a1d..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceReportStrategyServiceImpl.java +++ /dev/null @@ -1,339 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.dto.AddAttendanceReportStrategyDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleTimeDTO; -import com.yida.data.attendance.dto.PageAttendanceRuleDTO; -import com.yida.data.attendance.mapper.AttendanceReportStrategyMapper; -import com.yida.data.attendance.mapper.AttendanceRuleTimeMapper; -import com.yida.data.attendance.service.AttendanceReportPushRecordService; -import com.yida.data.attendance.service.AttendanceReportStrategyService; -import com.yida.data.attendance.service.AttendanceResultService; -import com.yida.data.attendance.service.AttendanceRuleService; -import com.yida.data.attendance.service.AttendanceRuleTimeService; -import com.yida.data.attendance.vo.AttendanceRuleVO; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceReportPushRecord; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceReportStrategy; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRule; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleTime; -import com.yida.data.common.core.enums.EnableStatusEnum; -import com.yida.data.common.core.enums.UserTypeEnum; -import com.yida.data.common.core.enums.attendance.AttendanceModeTypeEnum; -import com.yida.data.common.core.enums.attendance.AttendanceReportTypeEnum; -import com.yida.data.common.core.enums.attendance.AttendanceStrategyTypeEnum; -import com.yida.data.common.core.enums.attendance.AttendanceUserTypeEnum; -import com.yida.data.common.core.utils.FebsUtil; -import java.time.LocalDate; -import java.time.LocalTime; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Comparator; -import java.util.List; -import java.util.stream.Collectors; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.StopWatch; - -/** - * 考勤-推送策略 Service实现 - * - * @date 2023-08-09 11:37:25 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -@Slf4j -public class AttendanceReportStrategyServiceImpl extends ServiceImpl - implements AttendanceReportStrategyService { - - private final AttendanceRuleService attendanceRuleService; - private final AttendanceResultService attendanceResultService; - private final AttendanceReportPushRecordService attendanceReportPushRecordService; - - @Override - public void saveStrategy(List dtoList) { - for (AddAttendanceReportStrategyDTO dto : dtoList) { - AttendanceReportStrategy attendanceReportStrategy = new AttendanceReportStrategy(); - BeanUtils.copyProperties(dto, attendanceReportStrategy); - saveOrUpdate(attendanceReportStrategy); - } - } - - @Override - public List getList() { - List list = list(Wrappers.lambdaQuery(new AttendanceReportStrategy()) - .eq(AttendanceReportStrategy::getSchoolId, FebsUtil.getTopDeptId())); - if (CollUtil.isEmpty(list)) { - AttendanceReportStrategy attendanceReportStrategy = new AttendanceReportStrategy(); - attendanceReportStrategy.setType(0); - attendanceReportStrategy.setSchoolId(FebsUtil.getTopDeptId()); - save(attendanceReportStrategy); - AttendanceReportStrategy attendanceReportStrategyStu = new AttendanceReportStrategy(); - attendanceReportStrategyStu.setType(1); - attendanceReportStrategyStu.setSchoolId(FebsUtil.getTopDeptId()); - save(attendanceReportStrategyStu); - AttendanceReportStrategy attendanceReportStrategyPar = new AttendanceReportStrategy(); - attendanceReportStrategyPar.setType(2); - attendanceReportStrategyPar.setSchoolId(FebsUtil.getTopDeptId()); - save(attendanceReportStrategyPar); - list.add(attendanceReportStrategy); - list.add(attendanceReportStrategyStu); - list.add(attendanceReportStrategyPar); - } - return list; - } - - @Override - public void sendNotice() { - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - //查询具有考勤规则的学校 - PageAttendanceRuleDTO dto = new PageAttendanceRuleDTO(); - dto.setStatus(EnableStatusEnum.ENABLE_STATUS.getStatus()); - List ruleVOList = attendanceRuleService.listRule(dto); - //循环规则 - for (AttendanceRuleVO attendanceRuleVO : ruleVOList) { - //判断规则今日是否有效 - if (LocalDate.now().isBefore(attendanceRuleVO.getStartDate()) || LocalDate.now() - .isAfter(attendanceRuleVO.getEndDate()) || !attendanceRuleVO.getWeek() - .contains(String.valueOf(LocalDate.now().getDayOfWeek().getValue()))) { - continue; - } -// log.info("处理【{}】学校,规则【{}】的考勤推送消息", attendanceRuleVO.getSchoolId(), attendanceRuleVO.getName()); - if (ObjectUtil.equals(AttendanceUserTypeEnum.STAFF.getValue(), attendanceRuleVO.getUserType())) { - //教职工考勤 - //1:职工考勤推送 - AttendanceReportStrategy staffStrategy = getOne(Wrappers.lambdaQuery(new AttendanceReportStrategy()) - .eq(AttendanceReportStrategy::getSchoolId, attendanceRuleVO.getSchoolId()) - .eq(AttendanceReportStrategy::getType, AttendanceStrategyTypeEnum.STAFF_STAFF.getValue())); - - //日报 - if (ObjectUtil.equals(EnableStatusEnum.ENABLE_STATUS.getStatus(), staffStrategy.getDayReport())) { - //TODO 发送管理员职工日报 - List timeDTOList = attendanceRuleVO.getTimeDTOList(); - List ruleTimeDTOList = timeDTOList.stream() - .sorted(Comparator.comparing(AddAttendanceRuleTimeDTO::getEndTime).reversed()) - .collect(Collectors.toList()); - LocalTime endTime = ruleTimeDTOList.get(0).getEndTime(); - if (LocalTime.now().isAfter(endTime.plusMinutes(staffStrategy.getDayReportTime()))) { - //判断是否已发布 - AttendanceReportPushRecord reportPushRecord = attendanceReportPushRecordService - .getOne(Wrappers.lambdaQuery(new AttendanceReportPushRecord()) - .eq(AttendanceReportPushRecord::getPushDate, LocalDate.now()) - .eq(AttendanceReportPushRecord::getReportType, AttendanceReportTypeEnum.DAY_REPORT.getValue()) - .eq(AttendanceReportPushRecord::getSchoolId, attendanceRuleVO.getSchoolId()) - .eq(AttendanceReportPushRecord::getRuleId, attendanceRuleVO.getId()) - .eq(AttendanceReportPushRecord::getType, UserTypeEnum.STAFF_USER_TYPE.getType())); - - if (ObjectUtil.isNull(reportPushRecord)) { - //大于结束时间10分钟 - attendanceResultService - .dayReport(0, UserTypeEnum.STAFF_USER_TYPE.getType(), attendanceRuleVO.getId()); - //增加推送记录 - AttendanceReportPushRecord pushRecord = new AttendanceReportPushRecord(); - pushRecord.setPushDate(LocalDate.now()); - pushRecord.setSchoolId(attendanceRuleVO.getSchoolId()); - pushRecord.setRuleId(attendanceRuleVO.getId()); - pushRecord.setReportType(AttendanceReportTypeEnum.DAY_REPORT.getValue()); - pushRecord.setType(UserTypeEnum.STAFF_USER_TYPE.getType()); - attendanceReportPushRecordService.save(pushRecord); - } - } - } - - //周报 - if (ObjectUtil.equals(EnableStatusEnum.ENABLE_STATUS.getStatus(), staffStrategy.getWeekReport()) && - ObjectUtil.equals(staffStrategy.getWeekReportDate(), LocalDate.now().getDayOfWeek().getValue()) && - staffStrategy.getWeekReportTime().isAfter(LocalTime.now())) { - - //TODO 发送管理员职工周报 - - } - //月报 - if (ObjectUtil.equals(EnableStatusEnum.ENABLE_STATUS.getStatus(), staffStrategy.getMonthReport())) { - if (ObjectUtil.equals(staffStrategy.getMonthReportDate(), LocalDate.now().getDayOfMonth())) { - if (staffStrategy.getMonthReportTime().isAfter(LocalTime.now())) { - //TODO 发送管理员职工月报 - } - } - } - //迟到提醒 - if (ObjectUtil.equals(EnableStatusEnum.ENABLE_STATUS.getStatus(), staffStrategy.getLateReport())) { - if (ObjectUtil.equals(AttendanceModeTypeEnum.FREE.getValue(), attendanceRuleVO.getType())) { - //固定打卡模式 - List timeDTOList = attendanceRuleVO.getTimeDTOList(); - if (CollUtil.isNotEmpty(timeDTOList)) { - for (AddAttendanceRuleTimeDTO ruleTimeDTO : timeDTOList) { - if (LocalTime.now() - .isAfter(ruleTimeDTO.getStartTime().plusMinutes(staffStrategy.getLateReportTime()))) { - //TODO 发送职工迟到提醒 - } - } - } - } - } - - //缺卡提醒 - if (ObjectUtil.equals(EnableStatusEnum.ENABLE_STATUS.getStatus(), staffStrategy.getMissReport())) { - //固定打卡模式 - List timeDTOList = attendanceRuleVO.getTimeDTOList(); - if (CollUtil.isNotEmpty(timeDTOList)) { - for (AddAttendanceRuleTimeDTO ruleTimeDTO : timeDTOList) { - if (LocalTime.now() - .isAfter(ruleTimeDTO.getEndTime().plusMinutes(staffStrategy.getMissReportTime()))) { - //TODO 发送职工缺卡提醒 - } - } - } - } - } else { - //学生考勤 - //1:学生考勤推送 - AttendanceReportStrategy staffStrategy = getOne(Wrappers.lambdaQuery(new AttendanceReportStrategy()) - .eq(AttendanceReportStrategy::getSchoolId, attendanceRuleVO.getSchoolId()) - .eq(AttendanceReportStrategy::getType, AttendanceStrategyTypeEnum.STUDENT_STAFF.getValue())); - List staffList = new ArrayList<>(); - if (ObjectUtil.isNotNull(staffStrategy.getObjStaffIds())) { - staffList = Arrays.stream(staffStrategy.getObjStaffIds().split(",")) - .map(s -> Long.parseLong(s.trim())) - .collect(Collectors.toList()); - } - - //日报 - if (ObjectUtil.equals(EnableStatusEnum.ENABLE_STATUS.getStatus(), staffStrategy.getDayReport())) { - //TODO 发送管理员职工日报 - List timeDTOList = attendanceRuleVO.getTimeDTOList(); - List ruleTimeDTOList = timeDTOList.stream() - .sorted(Comparator.comparing(AddAttendanceRuleTimeDTO::getEndTime).reversed()) - .collect(Collectors.toList()); - LocalTime endTime = ruleTimeDTOList.get(0).getEndTime(); - if (LocalTime.now().isAfter(endTime.plusMinutes(staffStrategy.getDayReportTime()))) { - - //判断是否已发布 - AttendanceReportPushRecord reportPushRecord = attendanceReportPushRecordService - .getOne(Wrappers.lambdaQuery(new AttendanceReportPushRecord()) - .eq(AttendanceReportPushRecord::getPushDate, LocalDate.now()) - .eq(AttendanceReportPushRecord::getReportType, AttendanceReportTypeEnum.DAY_REPORT.getValue()) - .eq(AttendanceReportPushRecord::getSchoolId, attendanceRuleVO.getSchoolId()) - .eq(AttendanceReportPushRecord::getRuleId, attendanceRuleVO.getId()) - .eq(AttendanceReportPushRecord::getType, UserTypeEnum.PARENT_USER_TYPE.getType())); - - if (ObjectUtil.isNull(reportPushRecord)) { - //大于结束时间10分钟 - attendanceResultService - .dayReport(0, UserTypeEnum.PARENT_USER_TYPE.getType(), attendanceRuleVO.getId()); - //增加推送记录 - AttendanceReportPushRecord pushRecord = new AttendanceReportPushRecord(); - pushRecord.setPushDate(LocalDate.now()); - pushRecord.setSchoolId(attendanceRuleVO.getSchoolId()); - pushRecord.setRuleId(attendanceRuleVO.getId()); - pushRecord.setReportType(AttendanceReportTypeEnum.DAY_REPORT.getValue()); - pushRecord.setType(UserTypeEnum.PARENT_USER_TYPE.getType()); - attendanceReportPushRecordService.save(pushRecord); - } - } - } - //周报 - if (ObjectUtil.equals(EnableStatusEnum.ENABLE_STATUS.getStatus(), staffStrategy.getWeekReport()) - && ObjectUtil.equals(staffStrategy.getWeekReportDate(), LocalDate.now().getDayOfWeek().getValue()) - && staffStrategy.getWeekReportTime().isAfter(LocalTime.now())) { - //TODO 发送管理员学生周报 - - } - //月报 - if (ObjectUtil.equals(EnableStatusEnum.ENABLE_STATUS.getStatus(), staffStrategy.getMonthReport()) && - ObjectUtil.equals(staffStrategy.getMonthReportDate(), LocalDate.now().getDayOfMonth()) && - staffStrategy.getMonthReportTime().isAfter(LocalTime.now())) { - //TODO 发送管理员学生月报 - - } - //迟到提醒 - if (ObjectUtil.equals(EnableStatusEnum.ENABLE_STATUS.getStatus(), staffStrategy.getLateReport())) { - List timeDTOList = attendanceRuleVO.getTimeDTOList(); - if (CollUtil.isNotEmpty(timeDTOList)) { - for (AddAttendanceRuleTimeDTO ruleTimeDTO : timeDTOList) { - if (ObjectUtil - .equals(AttendanceUserTypeEnum.STUDENT_TO_DORM.getValue(), attendanceRuleVO.getUserType())) { - //宿舍考勤 - if (LocalTime.now() - .isAfter(ruleTimeDTO.getEndTime().plusMinutes(staffStrategy.getLateReportTime()))) { - //TODO 发送职工学生提醒 - attendanceResultService - .lateReport(0, 1, attendanceRuleVO.getId(), ruleTimeDTO.getId(), staffList, - staffStrategy.getObjManager()); - } - } else { - if (LocalTime.now() - .isAfter(ruleTimeDTO.getStartTime().plusMinutes(staffStrategy.getLateReportTime()))) { - //TODO 发送职工学生提醒 - attendanceResultService - .lateReport(0, 1, attendanceRuleVO.getId(), ruleTimeDTO.getId(), staffList, - staffStrategy.getObjManager()); - } - } - } - } - } - - //缺卡提醒 - if (ObjectUtil.equals(EnableStatusEnum.ENABLE_STATUS.getStatus(), staffStrategy.getMissReport())) { - List timeDTOList = attendanceRuleVO.getTimeDTOList(); - if (CollUtil.isNotEmpty(timeDTOList)) { - for (AddAttendanceRuleTimeDTO ruleTimeDTO : timeDTOList) { - if (LocalTime.now() - .isAfter(ruleTimeDTO.getEndEffectiveEndTime().plusMinutes(staffStrategy.getMissReportTime()))) { - //TODO 发送职工学生提醒 - - } - } - } - } - - //家长提醒 - AttendanceReportStrategy staffStrategyParent = getOne(Wrappers.lambdaQuery(new AttendanceReportStrategy()) - .eq(AttendanceReportStrategy::getSchoolId, attendanceRuleVO.getSchoolId()) - .eq(AttendanceReportStrategy::getType, AttendanceStrategyTypeEnum.STUDENT_PARENT.getValue())); - - //迟到提醒 - if (ObjectUtil.equals(1, staffStrategyParent.getLateReport())) { - if (ObjectUtil.equals(AttendanceModeTypeEnum.FREE.getValue(), attendanceRuleVO.getType())) { - //固定打卡模式 - List timeDTOList = attendanceRuleVO.getTimeDTOList(); - if (CollUtil.isNotEmpty(timeDTOList)) { - for (AddAttendanceRuleTimeDTO ruleTimeDTO : timeDTOList) { - if (LocalTime.now() - .isAfter(ruleTimeDTO.getStartTime().plusMinutes(staffStrategy.getLateReportTime()))) { - //TODO 发送家长学生提醒 - } - } - } - } - } - - //缺卡提醒 - if (ObjectUtil.equals(1, staffStrategyParent.getMissReport())) { - List timeDTOList = attendanceRuleVO.getTimeDTOList(); - if (CollUtil.isNotEmpty(timeDTOList)) { - for (AddAttendanceRuleTimeDTO ruleTimeDTO : timeDTOList) { - if (LocalTime.now() - .isAfter(ruleTimeDTO.getEndTime().plusMinutes(staffStrategy.getMissReportTime()))) { - //TODO 发送家长学生提醒 - } - } - } - } - - } - } - - stopWatch.stop(); - log.info("推送报告结束,总共耗时:[{}]", stopWatch.getTotalTimeSeconds() + "秒"); - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceResultServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceResultServiceImpl.java deleted file mode 100644 index 32d6a51..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceResultServiceImpl.java +++ /dev/null @@ -1,2363 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.date.LocalDateTimeUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.json.JSONUtil; -import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.ExcelWriter; -import com.alibaba.excel.support.ExcelTypeEnum; -import com.alibaba.excel.write.metadata.WriteSheet; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.google.common.base.Joiner; -import com.yida.data.attendance.dto.AddAttendanceRuleObjDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleTimeDTO; -import com.yida.data.attendance.dto.AttendanceCountPageDTO; -import com.yida.data.attendance.dto.AttendanceDayReportDTO; -import com.yida.data.attendance.dto.AttendanceResultByDayDTO; -import com.yida.data.attendance.dto.AttendanceResultByStartAndEndTimeDTO; -import com.yida.data.attendance.dto.AttendanceStatusByMonthDTO; -import com.yida.data.attendance.dto.DayReportDataDTO; -import com.yida.data.attendance.dto.ManageListUserDTO; -import com.yida.data.attendance.dto.PageAttendanceRuleDTO; -import com.yida.data.attendance.mapper.AttendanceResultMapper; -import com.yida.data.attendance.service.AttendanceResultService; -import com.yida.data.attendance.service.AttendanceRuleAdminService; -import com.yida.data.attendance.service.AttendanceRuleObjService; -import com.yida.data.attendance.service.AttendanceRuleObjUserService; -import com.yida.data.attendance.service.AttendanceRuleService; -import com.yida.data.attendance.service.AttendanceRuleSpecialDateService; -import com.yida.data.attendance.service.AttendanceRuleTimeService; -import com.yida.data.attendance.service.NoticeService; -import com.yida.data.attendance.vo.AttdanceResultDetailVO; -import com.yida.data.attendance.vo.AttdanceResultTotalVO; -import com.yida.data.attendance.vo.AttdanceResultVO; -import com.yida.data.attendance.vo.AttendanceRuleVO; -import com.yida.data.attendance.vo.AttendanceStatusByMonthVO; -import com.yida.data.attendance.vo.DateStatusVO; -import com.yida.data.attendance.vo.DownLoadAttendanceResultVO; -import com.yida.data.attendance.vo.ManageListUserAttendanceDetailTotalVO; -import com.yida.data.attendance.vo.ManageListUserAttendanceDetailVO; -import com.yida.data.attendance.vo.ManageListUserVO; -import com.yida.data.attendance.vo.StaRecordCountVO; -import com.yida.data.attendance.vo.StaffIdentityVO; -import com.yida.data.attendance.vo.StudentDormAttendanceDayReportExcelVO; -import com.yida.data.attendance.vo.StudentDormAttendanceResultExcelVO; -import com.yida.data.attendance.vo.StudentDormAttendanceResultTotalExcelVO; -import com.yida.data.attendance.vo.UserAttendanceResultByDayVO; -import com.yida.data.attendance.vo.UserAttendanceResultByTimeSlotVO; -import com.yida.data.attendance.vo.UserAttendanceResultDayAndNumVO; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRecord; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceResult; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRule; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleAdmin; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleObj; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleObjUser; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleSpecialDate; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleTime; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.enums.RoleEnum; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStaffDept; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.entity.user.EduUserDept; -import com.yida.data.common.core.entity.user.enums.StudentStatusEnum; -import com.yida.data.common.core.entity.user.enums.UserDeptTypeEnum; -import com.yida.data.common.core.enums.EnableStatusEnum; -import com.yida.data.common.core.enums.UserTypeEnum; -import com.yida.data.common.core.enums.attendance.AttendanceModeTypeEnum; -import com.yida.data.common.core.enums.attendance.AttendanceResultEnum; -import com.yida.data.common.core.enums.attendance.AttendanceTypeEnum; -import com.yida.data.common.core.enums.attendance.AttendanceUserTypeEnum; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.common.core.utils.FileUtil; -import com.yida.data.common.service.CommonService; -import com.yida.data.school.dto.userLeave.ListUserRequestDTO; -import com.yida.data.school.feign.leave.RemoteLeaveRequestService; -import com.yida.data.school.vo.userLeave.EduLeaveRequestUserVO; -import com.yida.data.system.feign.RemoteDeptService; -import com.yida.data.user.dto.ListStaffDTO; -import com.yida.data.user.dto.ListStudentDTO; -import com.yida.data.user.feign.RemoteStaffService; -import com.yida.data.user.feign.RemoteStudentService; -import com.yida.data.user.feign.RemoteUserDeptService; - -import com.yida.data.user.vo.DownLoadStaffAttendanceRecordVO; -import java.io.File; -import java.time.Duration; -import java.time.LocalDate; -import java.time.LocalTime; -import java.time.temporal.ChronoUnit; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Objects; -import java.util.concurrent.atomic.AtomicReference; -import java.util.stream.Collectors; - -import java.util.stream.Stream; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.ApplicationContext; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.StopWatch; - -/** - * 考勤-考勤结果 Service实现 - * - * @date 2023-08-09 11:37:25 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class AttendanceResultServiceImpl extends ServiceImpl - implements AttendanceResultService { - - private final AttendanceRuleService attendanceRuleService; - private final AttendanceRuleTimeService attendanceRuleTimeService; - private final AttendanceRuleSpecialDateService attendanceRuleSpecialDateService; - private final AttendanceRuleAdminService attendanceRuleAdminService; - private final AttendanceRuleObjService attendanceRuleObjService; - private final AttendanceRuleObjUserService attendanceRuleObjUserService; - - private final RemoteStudentService remoteStudentService; - private final RemoteStaffService remoteStaffService; - private final RemoteLeaveRequestService remoteLeaveRequestService; - private final RemoteUserDeptService remoteUserDeptService; - private final RemoteDeptService remoteDeptService; - private final CommonService commonService; - private final RedisService redisService; - private final NoticeService noticeService; - - @Value("${febs.uploadUrl}") - private String uploadUrl; - - @Autowired - ApplicationContext applicationContext; - - @Override - public void addResult(AttendanceRecord record) { - AttendanceResult result = getOne(Wrappers.lambdaQuery(new AttendanceResult()) - .eq(AttendanceResult::getRuleId, record.getRuleId()) - .eq(AttendanceResult::getRuleTimeId, record.getRuleTimeId()) - .eq(AttendanceResult::getUserId, record.getUserId()) - .eq(AttendanceResult::getUserType, record.getUserType()) - .eq(AttendanceResult::getAttendanceDate, record.getCreateTime().toLocalDate())); - - if (ObjectUtil.isNull(result)) { - result = new AttendanceResult(); - AttendanceRuleVO rule = attendanceRuleService.getRule(record.getRuleId()); - AttendanceRuleTime ruleTime = attendanceRuleTimeService.getById(record.getRuleTimeId()); - - result.setSchoolId(record.getSchoolId()); - result.setAttType(rule.getType()); - result.setUserType(record.getUserType()); - result.setUserId(record.getUserId()); - result.setRuleId(record.getRuleId()); - result.setRuleTimeId(record.getRuleTimeId()); - result.setAttendanceDate(record.getCreateTime().toLocalDate()); - result.setStartStiTime(ruleTime.getStartTime()); - result.setEndStiTime(ruleTime.getEndTime()); - } - - if (ObjectUtil.equals(record.getRuleTimeType(), AttendanceTypeEnum.WORK_ON.getValue())) { - //如果是自由打卡模式,已打卡状态为正常,此次为正常则更新记录,不正常则不记录 - if (ObjectUtil.equals(result.getAttType(), AttendanceModeTypeEnum.FREE.getValue()) && ObjectUtil - .equals(result.getStartStatus(), - AttendanceResultEnum.NORMAL.getValue())) { - if (ObjectUtil.equals(record.getStatus(), AttendanceResultEnum.NORMAL.getValue())) { - result.setStartRealTime(record.getCreateTime().toLocalTime()); - result.setStartStatus(record.getStatus()); - result.setStartPicUrl(record.getPicUrl()); - } - } else { - result.setStartRealTime(record.getCreateTime().toLocalTime()); - result.setStartStatus(record.getStatus()); - result.setStartPicUrl(record.getPicUrl()); - } - if (!ObjectUtil.equals(AttendanceResultEnum.NORMAL.getValue(), result.getStartStatus())) { - //计算迟到分钟数 - result.setStartLateTime(Duration.between(result.getStartStiTime(), result.getStartRealTime()).toMinutes()); - } - } - if (ObjectUtil.equals(record.getRuleTimeType(), AttendanceTypeEnum.WORK_OFF.getValue())) { - result.setEndRealTime(record.getCreateTime().toLocalTime()); - result.setEndStatus(record.getStatus()); - result.setEndPicUrl(record.getPicUrl()); - if (ObjectUtil.equals(AttendanceResultEnum.ABNORMAL.getValue(), result.getEndStatus())) { - //计算迟到分钟数 - result.setEndLeaveTime(Duration.between(result.getEndRealTime(), result.getEndStiTime()).toMinutes()); - } - } - - saveOrUpdate(result); - } - - @Override - public IPage listResultPage(AttendanceCountPageDTO dto) { - Long topDeptId = FebsUtil.getTopDeptId(); - - Map> staffMap = new HashMap<>(); - Map> studentMap = new HashMap<>(); - - List userIdList = new ArrayList<>(); - //先查找出学生或者教职工 - if (ObjectUtil.equals(dto.getType(), AttendanceUserTypeEnum.STAFF.getValue())) { - ListStaffDTO param = new ListStaffDTO(); - param.setSchoolId(topDeptId); - param.setMobile(dto.getNameOrNumber()); - param.setDeptId(dto.getDeptId()); - List staffList = remoteStaffService.listStaff(param).getData(); - param.setMobile(null); - param.setName(dto.getNameOrNumber()); - List staffListOth = remoteStaffService.listStaff(param).getData(); - staffList.addAll(staffListOth); - if (CollUtil.isNotEmpty(staffList)) { - staffMap = staffList.stream().collect(Collectors.groupingBy(EduStaff::getId)); - userIdList = staffList.stream().map(EduStaff::getId) - .collect(Collectors.toList()); - } else { - return new Page<>(); - } - } else { - //查询权限对应的班级的学生 - List studentList = new ArrayList<>(); - String rolePerms = FebsUtil.getCurrentUser().getRolePerms(); - if (rolePerms.contains(RoleEnum.ROLE_SCHOOL_PRINCIPAL.getValue())) { - ListStudentDTO param = new ListStudentDTO(); - param.setSchoolId(topDeptId); - param.setCampusId(dto.getCampusId()); - param.setSectionId(dto.getSectionId()); - param.setGradeId(dto.getGradeId()); - param.setClassId(dto.getClassId()); - param.setStuName(dto.getNameOrNumber()); - param.setIsQueryParent(false); - param.setIsQuerySchoolName(false); - studentList = remoteStudentService.listStudent(param).getData(); - } else { - if (ObjectUtil.isNull(dto.getCampusId()) && ObjectUtil.isNull(dto.getSectionId()) && ObjectUtil - .isNull(dto.getGradeId()) && ObjectUtil.isNull(dto.getClassId())) { - List classIdList = remoteStaffService.listClassIdByStaffId().getData(); - ListStudentDTO param = new ListStudentDTO(); - param.setClassIds(classIdList); - param.setIsQueryParent(false); - param.setIsQuerySchoolName(false); - param.setStuName(dto.getNameOrNumber()); - studentList = remoteStudentService.listStudent(param).getData(); - } else { - ListStudentDTO param = new ListStudentDTO(); - param.setSchoolId(topDeptId); - param.setCampusId(dto.getCampusId()); - param.setSectionId(dto.getSectionId()); - param.setGradeId(dto.getGradeId()); - param.setClassId(dto.getClassId()); - param.setStuName(dto.getNameOrNumber()); - param.setIsQueryParent(false); - param.setIsQuerySchoolName(false); - studentList = remoteStudentService.listStudent(param).getData(); - } - } - if (CollUtil.isNotEmpty(studentList)) { - studentMap = studentList.stream().collect(Collectors.groupingBy(EduStudent::getId)); - userIdList = studentList.stream().map(EduStudent::getId) - .collect(Collectors.toList()); - } else { - return new Page<>(); - } - } - - dto.setUserIdList(userIdList); - IPage attdanceResultVOIPage = baseMapper.listResultPage(dto.toPage(), dto); - List records = attdanceResultVOIPage.getRecords(); - for (AttdanceResultVO attdanceResultVO : records) { - if (ObjectUtil.equals(dto.getType(), AttendanceUserTypeEnum.STAFF.getValue())) { - //教职工 - List staffList = staffMap.get(attdanceResultVO.getUserId()); - attdanceResultVO.setName(staffList.get(0).getName()); - attdanceResultVO.setNumber(staffList.get(0).getMobile()); - List staffDept = commonService.getStaffById(attdanceResultVO.getUserId()).getStaffDept(); - attdanceResultVO - .setDeptName( - CollUtil.isEmpty(staffDept) ? commonService.getStaffById(attdanceResultVO.getUserId()).getSchoolName() - : staffDept.get(0).getDeptName()); - } else { - //学生 - attdanceResultVO.setName(studentMap.get(attdanceResultVO.getUserId()).get(0).getStuName()); - attdanceResultVO.setNumber(studentMap.get(attdanceResultVO.getUserId()).get(0).getStuNumber()); - attdanceResultVO.setDeptName( - studentMap.get(attdanceResultVO.getUserId()).get(0).getCampusName() + "-" + studentMap - .get(attdanceResultVO.getUserId()).get(0).getGradeName() + "-" + studentMap - .get(attdanceResultVO.getUserId()).get(0).getClassName()); - } - } - return attdanceResultVOIPage; - } - - @Override - public AttdanceResultTotalVO total(AttendanceCountPageDTO dto) { - Long topDeptId = FebsUtil.getTopDeptId(); - - Map> staffMap = new HashMap<>(); - Map> studentMap = new HashMap<>(); - - List userIdList = new ArrayList<>(); - //先查找出学生或者教职工 - if (ObjectUtil.equals(dto.getType(), AttendanceUserTypeEnum.STAFF.getValue())) { - ListStaffDTO param = new ListStaffDTO(); - param.setSchoolId(topDeptId); - param.setMobile(dto.getNameOrNumber()); - param.setDeptId(dto.getDeptId()); - List staffList = remoteStaffService.listStaff(param).getData(); - param.setMobile(null); - param.setName(dto.getNameOrNumber()); - List staffListOth = remoteStaffService.listStaff(param).getData(); - staffList.addAll(staffListOth); - if (CollUtil.isNotEmpty(staffList)) { - userIdList = staffList.stream().map(EduStaff::getId) - .collect(Collectors.toList()); - } else { - return null; - } - } else { - //查询权限对应的班级的学生 - List studentList = new ArrayList<>(); - String rolePerms = FebsUtil.getCurrentUser().getRolePerms(); - if (rolePerms.contains(RoleEnum.ROLE_SCHOOL_PRINCIPAL.getValue())) { - ListStudentDTO param = new ListStudentDTO(); - param.setSchoolId(topDeptId); - param.setCampusId(dto.getCampusId()); - param.setSectionId(dto.getSectionId()); - param.setGradeId(dto.getGradeId()); - param.setClassId(dto.getClassId()); - param.setStuName(dto.getNameOrNumber()); - param.setIsQueryParent(false); - param.setIsQuerySchoolName(false); - studentList = remoteStudentService.listStudent(param).getData(); - } else { - if (ObjectUtil.isNull(dto.getCampusId()) && ObjectUtil.isNull(dto.getSectionId()) && ObjectUtil - .isNull(dto.getGradeId()) && ObjectUtil.isNull(dto.getClassId())) { - List classIdList = remoteStaffService.listClassIdByStaffId().getData(); - ListStudentDTO param = new ListStudentDTO(); - param.setClassIds(classIdList); - param.setIsQueryParent(false); - param.setIsQuerySchoolName(false); - param.setStuName(dto.getNameOrNumber()); - studentList = remoteStudentService.listStudent(param).getData(); - } else { - ListStudentDTO param = new ListStudentDTO(); - param.setSchoolId(topDeptId); - param.setCampusId(dto.getCampusId()); - param.setSectionId(dto.getSectionId()); - param.setGradeId(dto.getGradeId()); - param.setClassId(dto.getClassId()); - param.setStuName(dto.getNameOrNumber()); - param.setIsQueryParent(false); - param.setIsQuerySchoolName(false); - studentList = remoteStudentService.listStudent(param).getData(); - } - } - if (CollUtil.isNotEmpty(studentList)) { - userIdList = studentList.stream().map(EduStudent::getId) - .collect(Collectors.toList()); - } else { - return null; - } - } - dto.setUserIdList(userIdList); - List attdanceResultDetailVOList = baseMapper.findAttandanceTotal(dto); - - //请假 - ListUserRequestDTO requestDTO = new ListUserRequestDTO(); - requestDTO.setRequestType(dto.getType()); - requestDTO.setStartTime(dto.getStartDate().atTime(00, 00, 01)); - requestDTO.setEndTime(dto.getEndDate().atTime(23, 59, 59)); - List eduLeaveRequestUserVOList = remoteLeaveRequestService.findList(requestDTO) - .getData(); - - int missNumber = attdanceResultDetailVOList.stream().filter(a -> ObjectUtil.isNull(a.getStartStatus())) - .collect(Collectors.toList()).size(); - int normalNumber = attdanceResultDetailVOList.stream() - .filter(a -> ObjectUtil.equals(a.getStartStatus(), AttendanceResultEnum.NORMAL.getValue())) - .collect(Collectors.toList()).size(); - int lateNumber = attdanceResultDetailVOList.stream() - .filter(a -> ObjectUtil.equals(a.getStartStatus(), AttendanceResultEnum.LATE_DORM.getValue())) - .collect(Collectors.toList()).size(); - int abLateNumber = attdanceResultDetailVOList.stream() - .filter(a -> ObjectUtil.equals(a.getStartStatus(), AttendanceResultEnum.AB_LATE_DORM.getValue())) - .collect(Collectors.toList()).size(); - return AttdanceResultTotalVO.builder().normalNumber(normalNumber) - .missNumber(missNumber).lateNumber(lateNumber) - .abLateNumber(abLateNumber).leaveNumber(eduLeaveRequestUserVOList.size()).build(); - } - - @Override - public void downLocalAttendanceResult(AttendanceCountPageDTO dto, String uuid) { - String rolePerms = FebsUtil.getCurrentUser().getRolePerms(); - List userIdList = new ArrayList<>(); - if (rolePerms.contains(RoleEnum.ROLE_SCHOOL_PRINCIPAL.getValue())) { - ListStudentDTO param = new ListStudentDTO(); - param.setSchoolId(dto.getSchoolId()); - param.setCampusId(dto.getCampusId()); - param.setSectionId(dto.getSectionId()); - param.setGradeId(dto.getGradeId()); - param.setClassId(dto.getClassId()); - param.setStuName(dto.getNameOrNumber()); - param.setIsQueryParent(false); - param.setIsQuerySchoolName(false); - userIdList = remoteStudentService.listStudent(param).getData().stream().map(EduStudent::getId) - .collect(Collectors.toList()); - } else { - if (ObjectUtil.isNull(dto.getCampusId()) && ObjectUtil.isNull(dto.getSectionId()) && ObjectUtil - .isNull(dto.getGradeId()) && ObjectUtil.isNull(dto.getClassId())) { - List classIdList = remoteStaffService.listClassIdByStaffId().getData(); - ListStudentDTO param = new ListStudentDTO(); - param.setClassIds(classIdList); - param.setIsQueryParent(false); - param.setIsQuerySchoolName(false); - param.setStuName(dto.getNameOrNumber()); - userIdList = remoteStudentService.listStudent(param).getData().stream().map(EduStudent::getId) - .collect(Collectors.toList()); - } else { - ListStudentDTO param = new ListStudentDTO(); - param.setSchoolId(dto.getSchoolId()); - param.setCampusId(dto.getCampusId()); - param.setSectionId(dto.getSectionId()); - param.setGradeId(dto.getGradeId()); - param.setClassId(dto.getClassId()); - param.setStuName(dto.getNameOrNumber()); - param.setIsQueryParent(false); - param.setIsQuerySchoolName(false); - userIdList = remoteStudentService.listStudent(param).getData().stream().map(EduStudent::getId) - .collect(Collectors.toList()); - } - } - dto.setUserIdList(userIdList); - AttendanceResultServiceImpl bean = applicationContext - .getBean(AttendanceResultServiceImpl.class); - - bean.dealAttendanceReultData(dto, uuid); - } - - - @Override - public void downLocalAttendanceDayReport(AttendanceDayReportDTO dto, String uuid) { - String rolePerms = FebsUtil.getCurrentUser().getRolePerms(); - List userIdList = new ArrayList<>(); - if (rolePerms.contains(RoleEnum.ROLE_SCHOOL_PRINCIPAL.getValue())) { - ListStudentDTO param = new ListStudentDTO(); - param.setSchoolId(dto.getSchoolId()); - param.setIsQueryParent(false); - param.setIsQuerySchoolName(false); - userIdList = remoteStudentService.listStudent(param).getData().stream().map(EduStudent::getId) - .collect(Collectors.toList()); - } else { - List classIdList = remoteStaffService.listClassIdByStaffId().getData(); - ListStudentDTO param = new ListStudentDTO(); - param.setClassIds(classIdList); - param.setIsQueryParent(false); - param.setIsQuerySchoolName(false); - userIdList = remoteStudentService.listStudent(param).getData().stream().map(EduStudent::getId) - .collect(Collectors.toList()); - } - dto.setUserIdList(userIdList); - - AttendanceResultServiceImpl bean = applicationContext - .getBean(AttendanceResultServiceImpl.class); - bean.dealAttendanceReportData(dto, uuid); - } - - @Async - void dealAttendanceReportData(AttendanceDayReportDTO dto, String uuid) { - - long durationDays = dto.getStartAttendanceDate().until(dto.getEndAttendanceDate(), ChronoUnit.DAYS); - - log.info("相差天数{}", durationDays); - - String fileName = FileUtil.getLocalUploadAddress() + uuid + ".xls"; - File file = new File(fileName); - try { - log.info("开始导出考勤日报/周报/月报"); - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - List> campusExportDataList = new ArrayList<>(); - List> sectionExportDataList = new ArrayList<>(); - List> gradeExportDataList = new ArrayList<>(); - List> classExportDataList = new ArrayList<>(); - List resultList = new ArrayList<>(); - - if (CollUtil.isNotEmpty(dto.getUserIdList())) { - resultList = list(Wrappers.lambdaQuery(new AttendanceResult()) - .in(AttendanceResult::getUserId, dto.getUserIdList()) - .eq(AttendanceResult::getUserType, dto.getUserType()) - .between(AttendanceResult::getAttendanceDate, dto.getStartAttendanceDate(), dto.getEndAttendanceDate()) - .orderByAsc(AttendanceResult::getUserId)); - - for (AttendanceResult result : resultList) { - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), result.getUserType())) { - EduStudent student = commonService.getStudentById(result.getUserId()); - if (ObjectUtil.isNotNull(student)) { - result.setCampusName(student.getCampusName()); - result.setSectionName(student.getSectionName()); - result.setGradeName(student.getGradeName()); - result.setClassName(student.getClassName()); - } - } else { - EduStaff staff = commonService.getStaffById(result.getUserId()); - if (ObjectUtil.isNotNull(staff)) { - List staffDept = staff.getStaffDept(); - if (CollUtil.isEmpty(staffDept)) { - result.setCampusName(staff.getSchoolName()); - } else { - List deptNameList = staffDept.stream().map(EduStaffDept::getDeptName) - .collect(Collectors.toList()); - result.setCampusName(Joiner.on("/").join(deptNameList)); - } - } - } - } - - Map> campusMap = resultList.stream() - .collect(Collectors.groupingBy(AttendanceResult::getCampusName)); - - String startAttendanceDate = LocalDateTimeUtil.format(dto.getStartAttendanceDate(), "yyyy-MM-dd"); - String endAttendanceDate = LocalDateTimeUtil.format(dto.getEndAttendanceDate(), "yyyy-MM-dd"); - - List finalResultList = resultList; - campusMap.forEach((k, v) -> { - List cam_singleDataList = dealSingleExcelData(startAttendanceDate, endAttendanceDate, k, "-", "-", - "-", v); - campusExportDataList.add(cam_singleDataList); - Map> sectionMap = v.stream() - .collect(Collectors.groupingBy(AttendanceResult::getSectionName)); - sectionMap.forEach((s, l) -> { - List sec_singleDataList = dealSingleExcelData(startAttendanceDate, endAttendanceDate, k, s, "-", - "-", l); - sectionExportDataList.add(sec_singleDataList); - Map> gradeMap = l.stream() - .collect(Collectors.groupingBy(AttendanceResult::getGradeName)); - gradeMap.forEach((g, n) -> { - List grade_singleDataList = dealSingleExcelData(startAttendanceDate, endAttendanceDate, k, s, - g, "-", n); - gradeExportDataList.add(grade_singleDataList); - Map> classMap = n.stream() - .collect(Collectors.groupingBy(AttendanceResult::getClassName)); - classMap.forEach((c, m) -> { - List class_singleDataList = dealSingleExcelData(startAttendanceDate, endAttendanceDate, k, - s, g, c, m); - classExportDataList.add(class_singleDataList); - - DownLoadAttendanceResultVO vo = (DownLoadAttendanceResultVO) redisService - .hget(CachePrefixConstant.ATTENDANCE_DAY_REPORT_DOWNLOAD, uuid); - - redisService - .hset(CachePrefixConstant.ATTENDANCE_DAY_REPORT_DOWNLOAD, uuid, - DownLoadAttendanceResultVO.builder() - .key(uuid) - .finish(0) - .totalNum(finalResultList.size()) - .currentNum(ObjectUtil.isNull(vo) ? 1 : vo.getCurrentNum() + 1).build()); - }); - }); - }); - }); - } - - ExcelWriter excelWriter = EasyExcel.write(file).excelType(ExcelTypeEnum.XLSX).build(); - WriteSheet writeSheet0 = EasyExcel.writerSheet(0, durationDays == 0 ? "日报-校区" : durationDays > 7 ? "月报-校区" : "周报-校区") - .head(StudentDormAttendanceDayReportExcelVO.class).build(); - WriteSheet writeSheet1 = EasyExcel.writerSheet(1, durationDays == 0 ? "日报-学段" : durationDays > 7 ? "月报-学段" : "周报-学段") - .head(StudentDormAttendanceDayReportExcelVO.class).build(); - WriteSheet writeSheet2 = EasyExcel.writerSheet(2, durationDays == 0 ? "日报-年级" : durationDays > 7 ? "月报-年级" : "周报-年级") - .head(StudentDormAttendanceDayReportExcelVO.class).build(); - WriteSheet writeSheet3 = EasyExcel.writerSheet(3, durationDays == 0 ? "日报-班级" : durationDays > 7 ? "月报-班级" : "周报-班级") - .head(StudentDormAttendanceDayReportExcelVO.class).build(); - excelWriter.write(campusExportDataList, writeSheet0); - excelWriter.write(sectionExportDataList, writeSheet1); - excelWriter.write(gradeExportDataList, writeSheet2); - excelWriter.write(classExportDataList, writeSheet3); - excelWriter.finish(); - - // 上传文件到媒资 - String fileUrl = com.yida.data.common.core.utils.FileUtil.uploadFileToMediaServer(uploadUrl, file); - redisService - .hset(CachePrefixConstant.ATTENDANCE_DAY_REPORT_DOWNLOAD, uuid, DownLoadAttendanceResultVO.builder() - .key(uuid) - .finish(1) - .filePath(fileUrl) - .totalNum(CollUtil.isEmpty(resultList) ? 100 : resultList.size()) - .currentNum(CollUtil.isEmpty(resultList) ? 100 : resultList.size()).build()); - - stopWatch.stop(); - log.info("导出考勤日报总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); - } catch (Exception e) { - e.printStackTrace(); - } finally { - //删除本地文件 - if (cn.hutool.core.io.FileUtil.exist(file)) { - cn.hutool.core.io.FileUtil.del(file); - } - } - } - - List dealSingleExcelData(String startAttendanceDate, String endAttendanceDate, String campusName, String sectionName, - String gradeName, String className, - List resultList) { - List singleDataList = new ArrayList<>(); - singleDataList.add(ObjectUtil.equals(startAttendanceDate, endAttendanceDate) ? startAttendanceDate - : (startAttendanceDate + " 至 " + endAttendanceDate)); - - singleDataList.add(campusName); - singleDataList.add(sectionName); - singleDataList.add(gradeName); - singleDataList.add(className); - //应该打卡人数 - Map> userMap = resultList.stream() - .collect(Collectors.groupingBy(AttendanceResult::getUserId)); - singleDataList.add(String.valueOf(userMap.size())); - - //实际打卡人数 - List dakaAttendanceResultList = resultList.stream() - .filter(a -> !(ObjectUtil.isNull(a.getStartStatus()) && ObjectUtil.isNull(a.getEndStatus()))) - .collect(Collectors.toList()); - Map> dakaUserMap = dakaAttendanceResultList.stream() - .collect(Collectors.groupingBy(AttendanceResult::getUserId)); - singleDataList.add(String.valueOf(dakaUserMap.size())); - - //请假人数 - ListUserRequestDTO requestDTO = new ListUserRequestDTO(); - requestDTO.setRequestType(UserTypeEnum.PARENT_USER_TYPE.getType()); - requestDTO.setUserIdList(resultList.stream().map(AttendanceResult::getUserId).collect(Collectors.toList())); - requestDTO - .setStartTime(LocalDateTimeUtil.parse(startAttendanceDate, "yyyy-MM-dd").toLocalDate().atTime(00, 00, 00)); - requestDTO.setEndTime(LocalDateTimeUtil.parse(endAttendanceDate, "yyyy-MM-dd").toLocalDate().atTime(23, 23, 59)); - List eduLeaveRequestUserVOList = remoteLeaveRequestService.findList(requestDTO) - .getData(); - Map> eduRequestMap = eduLeaveRequestUserVOList.stream() - .collect(Collectors.groupingBy(EduLeaveRequestUserVO::getUserId)); - singleDataList.add(String.valueOf(eduRequestMap.size())); - - //正常打卡人数 - List abnormalAttendanceResultList = resultList.stream().filter( - a -> ObjectUtil.equals(AttendanceModeTypeEnum.FIX.getValue(), a.getAttType()) ? !(ObjectUtil - .equals(AttendanceResultEnum.NORMAL.getValue(), a.getStartStatus()) && ObjectUtil - .equals(AttendanceResultEnum.NORMAL.getValue(), a.getEndStatus())) - : !ObjectUtil.equals(AttendanceResultEnum.NORMAL.getValue(), a.getStartStatus())).collect(Collectors.toList()); - Map> abnormalUserMap = abnormalAttendanceResultList.stream() - .collect(Collectors.groupingBy(AttendanceResult::getUserId)); - singleDataList.add(String.valueOf((int) (userMap.size() - abnormalUserMap.size()))); - - //旷宿人数 - List missAttendanceResultList = resultList.stream().filter( - a -> ObjectUtil.equals(AttendanceModeTypeEnum.FIX.getValue(), a.getAttType()) ? (ObjectUtil - .isNull(a.getStartStatus()) && ObjectUtil.isNull(a.getEndStatus())) - : ObjectUtil.isNull(a.getStartStatus())).collect(Collectors.toList()); - Map> missUserMap = missAttendanceResultList.stream() - .collect(Collectors.groupingBy(AttendanceResult::getUserId)); - - Integer missNum = 0; - if (missUserMap.size() > eduRequestMap.size()) { - missNum = missUserMap.size() - eduRequestMap.size(); - } - singleDataList.add(String.valueOf(missNum)); - - //晚归打卡人数 - List lateAttendanceResultList = resultList.stream().filter( - a -> ObjectUtil.equals(AttendanceResultEnum.LATE_DORM.getValue(), a.getStartStatus())).collect(Collectors.toList()); - Map> lateUserMap = lateAttendanceResultList.stream() - .collect(Collectors.groupingBy(AttendanceResult::getUserId)); - singleDataList.add(String.valueOf(lateUserMap.size())); - - //异常晚归打卡人数 - List abLateAttendanceResultList = resultList.stream().filter( - a -> ObjectUtil.equals(AttendanceResultEnum.AB_LATE_DORM.getValue(), a.getStartStatus())) - .collect(Collectors.toList()); - Map> abLateUserMap = lateAttendanceResultList.stream() - .collect(Collectors.groupingBy(AttendanceResult::getUserId)); - singleDataList.add(String.valueOf(abLateUserMap.size())); - - //出勤率 - singleDataList.add(String.format("%.2f", dakaUserMap.size() / (double) userMap.size())); - -// //应打卡次数 -// List freeModeList = resultList.stream() -// .filter(a -> ObjectUtil.equals(AttendanceModeTypeEnum.FREE.getValue(), a.getAttType())).collect( -// Collectors.toList()); -// -// List fixModeList = resultList.stream() -// .filter(a -> ObjectUtil.equals(AttendanceModeTypeEnum.FIX.getValue(), a.getAttType())).collect( -// Collectors.toList()); -// -// singleDataList.add(String.valueOf(freeModeList.size() + (fixModeList.size() * 2))); -// -// //实际打卡次数 -// List freeModeDakaList = freeModeList.stream() -// .filter(a -> ObjectUtil.isNotNull(a.getStartStatus())) -// .collect(Collectors.toList()); -// -// List fixModeStartDakaList = fixModeList.stream() -// .filter(a -> ObjectUtil.isNotNull(a.getStartStatus())) -// .collect(Collectors.toList()); -// -// List fixModeEndDakaList = fixModeList.stream() -// .filter(a -> ObjectUtil.isNotNull(a.getEndStatus())) -// .collect(Collectors.toList()); -// -// singleDataList -// .add(String.valueOf(freeModeDakaList.size() + fixModeStartDakaList.size() + fixModeEndDakaList.size())); -// -// //正常打卡次数 -// List freeModeNormalList = freeModeList.stream() -// .filter(a -> ObjectUtil.equals(AttendanceResultEnum.NORMAL.getValue(), a.getStartStatus())) -// .collect(Collectors.toList()); -// -// List fixModeStartNormalList = fixModeList.stream() -// .filter(a -> ObjectUtil.equals(AttendanceResultEnum.NORMAL.getValue(), a.getStartStatus())) -// .collect(Collectors.toList()); -// -// List fixModeEndNormalList = fixModeList.stream() -// .filter(a -> ObjectUtil.equals(AttendanceResultEnum.NORMAL.getValue(), a.getEndStatus())) -// .collect(Collectors.toList()); -// singleDataList -// .add(String -// .valueOf(freeModeNormalList.size() + fixModeStartNormalList.size() + fixModeEndNormalList.size())); -// -// //旷宿次数 -// List freeModeMissList = freeModeList.stream() -// .filter(a -> ObjectUtil.isNull(a.getStartStatus())) -// .collect(Collectors.toList()); -// -// List fixModeStartMissList = fixModeList.stream() -// .filter(a -> ObjectUtil.isNull(a.getStartStatus())) -// .collect(Collectors.toList()); -// -// List fixModeEndMissList = fixModeList.stream() -// .filter(a -> ObjectUtil.isNull(a.getEndStatus())) -// .collect(Collectors.toList()); -// -// singleDataList -// .add(String -// .valueOf(freeModeMissList.size() + fixModeStartMissList.size() + fixModeEndMissList.size())); -// -// //晚归打卡次数 -// List freeModeLateList = freeModeList.stream() -// .filter(a -> ObjectUtil.equals(AttendanceResultEnum.LATE_DORM, a.getStartStatus())) -// .collect(Collectors.toList()); -// singleDataList.add(String.valueOf(freeModeLateList.size())); -// -// //异常晚归打卡次数 -// List freeModeAbLateList = freeModeList.stream() -// .filter(a -> ObjectUtil.equals(AttendanceResultEnum.AB_LATE_DORM, a.getStartStatus())) -// .collect(Collectors.toList()); -// singleDataList.add(String.valueOf(freeModeAbLateList.size())); -// -// //打卡率 -// singleDataList.add(String.format("%.2f", -// (freeModeDakaList.size() + fixModeStartDakaList.size() + fixModeEndDakaList.size()) -// / (double) freeModeList.size() + (fixModeList.size() * 2))); - - return singleDataList; - } - - @Async - void dealAttendanceReultData(AttendanceCountPageDTO dto, String uuid) { - String fileName = FileUtil.getLocalUploadAddress() + uuid + ".xls"; - File file = new File(fileName); - try { - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - //查询考勤结果 - //查询权限对应的班级的学生 - List> exportDataList = new ArrayList<>(); - List> exportDataListSheet0 = new ArrayList<>(); - List userIdList = dto.getUserIdList(); - List studentList = new ArrayList<>(); - List resultList = new ArrayList<>(); - if (CollUtil.isNotEmpty(studentList)) { - userIdList = studentList.stream().map(EduStudent::getId) - .collect(Collectors.toList()); - } - if (CollUtil.isNotEmpty(userIdList)) { - resultList = list(Wrappers.lambdaQuery(new AttendanceResult()) - .in(AttendanceResult::getUserId, userIdList) - .eq(AttendanceResult::getUserType, dto.getType()) - .eq(ObjectUtil.isNotNull(dto.getRuleId()), AttendanceResult::getRuleId, dto.getRuleId()) - .between(AttendanceResult::getAttendanceDate, dto.getStartDate(), dto.getEndDate()) - .orderByAsc(AttendanceResult::getUserId)); - - Map> resultMap = resultList.stream() - .collect(Collectors.groupingBy(AttendanceResult::getUserId)); - - if (CollUtil.isNotEmpty(resultList)) { - for (int i = 0; i < resultList.size(); i++) { - AttendanceResult result = resultList.get(i); - EduStudent student = commonService.getStudentById(result.getUserId()); - if (ObjectUtil.isNull(student)) { - continue; - } - //更新进度缓存 - redisService - .hset(CachePrefixConstant.STUDENT_DORM_ATTENDANCE_RESULT_DOWNLOAD, uuid, - DownLoadAttendanceResultVO.builder() - .key(uuid) - .finish(0) - .totalNum(resultList.size() + resultMap.size()) - .currentNum(i + 1).build()); - //封装单行数据 - List singleDataList = new ArrayList<>(); - - singleDataList.add(student.getStuName()); - singleDataList.add(student.getStuNumber()); - singleDataList.add(student.getCampusName()); - singleDataList.add(student.getSectionName()); - singleDataList.add(student.getGradeName()); - singleDataList.add(student.getClassName()); - AttendanceRuleVO rule = attendanceRuleService.getRule(result.getRuleId()); - singleDataList.add(rule.getName()); - singleDataList.add(result.getAttendanceDate().toString()); - singleDataList.add(FebsUtil.convertWeekCN(result.getAttendanceDate().getDayOfWeek().getValue())); - singleDataList.add( - rule.getTimeDTOList().get(0).getStartTime() + "-" + rule.getTimeDTOList().get(0).getEndTime() + "-" - + rule.getTimeDTOList().get(0).getLastTime()); - singleDataList.add(ObjectUtil.isNull(result.getStartStatus()) ? "旷宿" - : AttendanceResultEnum.getName(result.getStartStatus())); - singleDataList - .add(ObjectUtil.isNull(result.getStartRealTime()) ? "-" : result.getStartRealTime().toString()); - exportDataList.add(singleDataList); - } - } - - for (Entry> entry : resultMap.entrySet()) { - Long r = entry.getKey(); - List n = entry.getValue(); - - DownLoadAttendanceResultVO vo = (DownLoadAttendanceResultVO) redisService - .hget(CachePrefixConstant.STUDENT_DORM_ATTENDANCE_RESULT_DOWNLOAD, uuid); - - redisService - .hset(CachePrefixConstant.STUDENT_DORM_ATTENDANCE_RESULT_DOWNLOAD, uuid, - DownLoadAttendanceResultVO.builder() - .key(uuid) - .finish(0) - .totalNum(resultList.size() + resultMap.size()) - .currentNum(vo.getCurrentNum() + 1).build()); - - EduStudent student = commonService.getStudentById(r); - if (ObjectUtil.isNull(student)) { - continue; - } - //封装单行数据 - List singleDataList = new ArrayList<>(); - - singleDataList.add(student.getStuName()); - singleDataList.add(student.getStuNumber()); - singleDataList.add(student.getCampusName()); - singleDataList.add(student.getSectionName()); - singleDataList.add(student.getGradeName()); - singleDataList.add(student.getClassName()); - - int missDay = n.stream().filter(k -> ObjectUtil.isNull(k.getStartStatus())).collect(Collectors.toList()) - .size(); - int normalDay = n.stream() - .filter(k -> ObjectUtil.equals(AttendanceResultEnum.NORMAL.getValue(), k.getStartStatus())) - .collect(Collectors.toList()).size(); - int lateDay = n.stream() - .filter(k -> ObjectUtil.equals(AttendanceResultEnum.LATE_DORM.getValue(), k.getStartStatus())) - .collect(Collectors.toList()).size(); - int abLateDay = n.stream() - .filter(k -> ObjectUtil.equals(AttendanceResultEnum.AB_LATE_DORM.getValue(), k.getStartStatus())) - .collect(Collectors.toList()).size(); - - singleDataList.add(String.valueOf(n.size())); - singleDataList.add(String.valueOf(normalDay + lateDay + abLateDay)); - singleDataList.add(String.valueOf(normalDay)); - singleDataList.add(String.valueOf(missDay)); - singleDataList.add(String.valueOf(lateDay)); - singleDataList.add(String.valueOf(abLateDay)); - exportDataListSheet0.add(singleDataList); - } - - } - // 导出数据 - ExcelWriter excelWriter = EasyExcel.write(file).excelType(ExcelTypeEnum.XLSX).build(); - WriteSheet writeSheet0 = EasyExcel.writerSheet(0, "考勤汇总").head(StudentDormAttendanceResultTotalExcelVO.class).build(); - WriteSheet writeSheet1 = EasyExcel.writerSheet(1, "考勤详情").head(StudentDormAttendanceResultExcelVO.class).build(); - excelWriter.write(exportDataListSheet0, writeSheet0); - excelWriter.write(exportDataList, writeSheet1); - excelWriter.finish(); -// EasyExcel.write(file) -// .excelType(ExcelTypeEnum.XLSX) -// // 这里放入动态头 -// .head(StudentDormAttendanceResultExcelVO.class).sheet("学生宿舍考勤") -// // 当然这里数据也可以用 List> 去传入 -// .doWrite(exportDataList); - // 上传文件到媒资 - String fileUrl = com.yida.data.common.core.utils.FileUtil.uploadFileToMediaServer(uploadUrl, file); - redisService - .hset(CachePrefixConstant.STUDENT_DORM_ATTENDANCE_RESULT_DOWNLOAD, uuid, DownLoadAttendanceResultVO.builder() - .key(uuid) - .finish(1) - .filePath(fileUrl) - .totalNum(CollUtil.isEmpty(resultList) ? 100 : resultList.size()) - .currentNum(CollUtil.isEmpty(resultList) ? 100 : resultList.size()).build()); - } catch (Exception e) { - e.printStackTrace(); - } finally { - //删除本地文件 - if (cn.hutool.core.io.FileUtil.exist(file)) { - cn.hutool.core.io.FileUtil.del(file); - } - } - } - - @Override - public IPage listResultDetailPage(AttendanceCountPageDTO dto) { - Long topDeptId = FebsUtil.getTopDeptId(); - Map> staffMap = new HashMap<>(); - Map> studentMap = new HashMap<>(); - List userIdList = new ArrayList<>(); - //先查找出学生或者教职工 - if (ObjectUtil.equals(dto.getType(), AttendanceUserTypeEnum.STAFF.getValue())) { - ListStaffDTO param = new ListStaffDTO(); - param.setSchoolId(topDeptId); - param.setMobile(dto.getNameOrNumber()); - param.setDeptId(dto.getDeptId()); - List staffList = remoteStaffService.listStaff(param).getData(); - - param.setMobile(null); - param.setName(dto.getNameOrNumber()); - List staffListOth = remoteStaffService.listStaff(param).getData(); - staffList.addAll(staffListOth); - - if (CollUtil.isNotEmpty(staffList)) { - staffMap = staffList.stream().collect(Collectors.groupingBy(EduStaff::getId)); - userIdList = staffList.stream().map(EduStaff::getId) - .collect(Collectors.toList()); - } else { - return new Page<>(); - } - } else { - //查询权限对应的班级的学生 - List studentList = new ArrayList<>(); - String rolePerms = FebsUtil.getCurrentUser().getRolePerms(); - if (rolePerms.contains(RoleEnum.ROLE_SCHOOL_PRINCIPAL.getValue())) { - ListStudentDTO param = new ListStudentDTO(); - param.setSchoolId(topDeptId); - param.setCampusId(dto.getCampusId()); - param.setSectionId(dto.getSectionId()); - param.setGradeId(dto.getGradeId()); - param.setClassId(dto.getClassId()); - param.setStuName(dto.getNameOrNumber()); - param.setIsQueryParent(false); - param.setIsQuerySchoolName(false); - studentList = remoteStudentService.listStudent(param).getData(); - } else { - if (ObjectUtil.isNull(dto.getCampusId()) && ObjectUtil.isNull(dto.getSectionId()) && ObjectUtil - .isNull(dto.getGradeId()) && ObjectUtil.isNull(dto.getClassId())) { - List classIdList = remoteStaffService.listClassIdByStaffId().getData(); - ListStudentDTO param = new ListStudentDTO(); - param.setClassIds(classIdList); - param.setIsQueryParent(false); - param.setIsQuerySchoolName(false); - param.setStuName(dto.getNameOrNumber()); - studentList = remoteStudentService.listStudent(param).getData(); - } else { - ListStudentDTO param = new ListStudentDTO(); - param.setSchoolId(topDeptId); - param.setCampusId(dto.getCampusId()); - param.setSectionId(dto.getSectionId()); - param.setGradeId(dto.getGradeId()); - param.setClassId(dto.getClassId()); - param.setStuName(dto.getNameOrNumber()); - param.setIsQueryParent(false); - param.setIsQuerySchoolName(false); - studentList = remoteStudentService.listStudent(param).getData(); - } - } - if (CollUtil.isNotEmpty(studentList)) { - studentMap = studentList.stream().collect(Collectors.groupingBy(EduStudent::getId)); - userIdList = studentList.stream().map(EduStudent::getId) - .collect(Collectors.toList()); - } else { - return new Page<>(); - } - } - dto.setUserIdList(userIdList); - //分页查询出人员 - IPage attdanceResultDetailVOIPage = baseMapper.listUserPage(dto.toPage(), dto); - - if (CollUtil.isEmpty(attdanceResultDetailVOIPage.getRecords())) { - return new Page<>(); - } - AttendanceCountPageDTO newParam = new AttendanceCountPageDTO(); - newParam.setStatus(dto.getStatus()); - newParam.setRuleId(dto.getRuleId()); - newParam.setUserIdList(attdanceResultDetailVOIPage.getRecords().stream().map(AttdanceResultDetailVO::getUserId).collect( - Collectors.toList())); - newParam.setStartDate(dto.getStartDate()); - newParam.setEndDate(dto.getEndDate()); - - List attdanceResultDetailVOS = baseMapper.listResultDetailPage(newParam); - - for (AttdanceResultDetailVO attdanceResultDetailVO : attdanceResultDetailVOS) { - AttendanceRuleVO rule = attendanceRuleService.getRule(attdanceResultDetailVO.getRuleId()); - AttendanceRuleTime ruleTime = attendanceRuleTimeService.getById(attdanceResultDetailVO.getRuleTimeId()); - attdanceResultDetailVO.setRuleName(ObjectUtil.isNull(rule) ? "未知规则" : rule.getName()); - attdanceResultDetailVO.setModelType(ObjectUtil.isNull(rule) ? 0 : rule.getType()); - attdanceResultDetailVO - .setRuleTimeName(ObjectUtil.isNull(ruleTime) ? "未知时段" : (ruleTime.getStartTime() + "-" + ruleTime.getEndTime())); - if (ObjectUtil.equals(dto.getType(), AttendanceUserTypeEnum.STAFF.getValue())) { - //教职工 - List staffList = staffMap.get(attdanceResultDetailVO.getUserId()); - attdanceResultDetailVO.setName(staffList.get(0).getName()); - attdanceResultDetailVO.setNumber(staffList.get(0).getMobile()); - List staffDept = commonService.getStaffById(attdanceResultDetailVO.getUserId()).getStaffDept(); - attdanceResultDetailVO - .setDeptName( - CollUtil.isEmpty(staffDept) ? commonService.getStaffById(attdanceResultDetailVO.getUserId()) - .getSchoolName() - : staffDept.get(0).getDeptName()); - } else { - //学生 - attdanceResultDetailVO.setName(studentMap.get(attdanceResultDetailVO.getUserId()).get(0).getStuName()); - attdanceResultDetailVO.setNumber(studentMap.get(attdanceResultDetailVO.getUserId()).get(0).getStuNumber()); - attdanceResultDetailVO - .setDeptName(studentMap.get(attdanceResultDetailVO.getUserId()).get(0).getGradeName() + "-" + studentMap - .get(attdanceResultDetailVO.getUserId()).get(0).getClassName()); - } - - //判断是否考勤 - List specialDateList = attendanceRuleSpecialDateService - .list(Wrappers.lambdaQuery(new AttendanceRuleSpecialDate()) - .eq(AttendanceRuleSpecialDate::getRuleId, attdanceResultDetailVO.getRuleId())); - - if (rule.getWeek().contains(LocalDate.now().getDayOfWeek().getValue() + "")) { - //在打卡时间段内,1判断是否含有特殊日期,2判断是否请假 - if (CollUtil.isNotEmpty(specialDateList)) { - List noNeedSpDateList = specialDateList.stream() - .filter(date -> date.getType().equals(0)) - .collect(Collectors.toList()); - - if (CollUtil.isNotEmpty(noNeedSpDateList)) { - attdanceResultDetailVO.setNeedAttendance(0); - } else { - //判断请假 - ListUserRequestDTO requestDTO = new ListUserRequestDTO(); - requestDTO.setRequestType(dto.getType()); - requestDTO.setUserIdList(Arrays.asList(attdanceResultDetailVO.getUserId())); - requestDTO.setStartTime(attdanceResultDetailVO.getAttendanceDate().atTime(ruleTime.getStartTime())); - requestDTO.setEndTime(attdanceResultDetailVO.getAttendanceDate().atTime(ruleTime.getEndTime())); - List eduLeaveRequestUserVOList = remoteLeaveRequestService.findList(requestDTO) - .getData(); - if (CollUtil.isNotEmpty(eduLeaveRequestUserVOList)) { - attdanceResultDetailVO.setNeedAttendance(1); - } else { - attdanceResultDetailVO.setNeedAttendance(0); - } - } - } else { - attdanceResultDetailVO.setNeedAttendance(0); - } - } else { - //未在打卡时间段内,判断是否又特殊日期需要打卡 - if (CollUtil.isNotEmpty(specialDateList)) { - List needSpDateList = specialDateList.stream() - .filter(date -> date.getType().equals(1)) - .collect(Collectors.toList()); - if (CollUtil.isNotEmpty(needSpDateList)) { - attdanceResultDetailVO.setNeedAttendance(0); - } else { - attdanceResultDetailVO.setNeedAttendance(1); - } - } else { - attdanceResultDetailVO.setNeedAttendance(1); - } - } - } - attdanceResultDetailVOIPage.setRecords(attdanceResultDetailVOS); - return attdanceResultDetailVOIPage; - } - - @Override - public List getUserAttendanceStatusByMonth(AttendanceStatusByMonthDTO dto) { - List dateStatusVOList = new ArrayList<>(); - if (redisService.hasKey( - CachePrefixConstant.ATTENDANCE_DATE_STATUS + dto.getUserType() + dto.getUserId() + dto.getAttendanceStartDate() + dto - .getAttendanceEndDate())) { - String s = (String) redisService.get( - CachePrefixConstant.ATTENDANCE_DATE_STATUS + dto.getUserType() + dto.getUserId() + dto.getAttendanceStartDate() - + dto - .getAttendanceEndDate()); - dateStatusVOList = JSON.parseArray(s, DateStatusVO.class); - } else { - dateStatusVOList = initStatusByDate(Collections.singletonList(dto.getUserId()), dto.getUserType(), - dto.getAttendanceStartDate(), - dto.getAttendanceEndDate()); - if (CollUtil.isNotEmpty(dateStatusVOList)) { - redisService.set( - CachePrefixConstant.ATTENDANCE_DATE_STATUS + dto.getUserType() + dto.getUserId() + dto - .getAttendanceStartDate() - + dto - .getAttendanceEndDate(), JSONObject.toJSON(dateStatusVOList).toString(), 300L); - } - } - - return dateStatusVOList; - } - - @Override - public List getUserAttendanceResultByDay(AttendanceResultByDayDTO attendanceResultByDayDTO) { - - List attendanceResultByDayVOList = new ArrayList<>(); - //1:查询用户对应考勤规则 - List ruleVOList = attendanceRuleService - .findByUserIdAndUserType(attendanceResultByDayDTO.getUserId(), attendanceResultByDayDTO.getUserType()); - for (AttendanceRuleVO attendanceRuleVO : ruleVOList) { - //查询考勤结果 - UserAttendanceResultByDayVO attendanceResultByDayVO = new UserAttendanceResultByDayVO(); - attendanceResultByDayVO.setRule(attendanceRuleVO); - - List resultList = list(Wrappers.lambdaQuery(new AttendanceResult()) - .eq(AttendanceResult::getAttendanceDate, attendanceResultByDayDTO.getAttendanceDate()) - .eq(AttendanceResult::getRuleId, attendanceRuleVO.getId()) - .eq(AttendanceResult::getUserId, attendanceResultByDayDTO.getUserId())); - - for (AttendanceResult result : resultList) { - if (ObjectUtil.isNull(result.getStartStatus())) { - ListUserRequestDTO requestDTO = new ListUserRequestDTO(); - requestDTO.setRequestType(attendanceResultByDayDTO.getUserType()); - requestDTO.setUserIdList(Collections.singletonList(result.getUserId())); - requestDTO.setStartTime(attendanceResultByDayDTO.getAttendanceDate().atTime(result.getStartStiTime())); - requestDTO.setEndTime(attendanceResultByDayDTO.getAttendanceDate().atTime(result.getEndStiTime())); - List requestUserVOList = remoteLeaveRequestService.findList(requestDTO).getData(); - if (CollUtil.isNotEmpty(requestUserVOList)) { - result.setStartStatus(6); - } - } - } - - attendanceResultByDayVO.setResult(resultList); - //计算累计时长 - Long seconds = new Long(0L); - for (AttendanceResult result : resultList) { - if (ObjectUtil.isNotNull(result.getStartRealTime()) && ObjectUtil.isNotNull(result.getEndRealTime())) { - seconds += Duration.between(result.getStartRealTime(), result.getEndRealTime()).getSeconds(); - } - } - attendanceResultByDayVO.setAttendanceTime(seconds / 60); - attendanceResultByDayVOList.add(attendanceResultByDayVO); - } - return attendanceResultByDayVOList; - } - - @Override - public UserAttendanceResultByTimeSlotVO getUserAttendanceResultByTimeSlot(AttendanceResultByStartAndEndTimeDTO dto) { - - List resultList = list(Wrappers.lambdaQuery(new AttendanceResult()) - .eq(AttendanceResult::getUserId, dto.getUserId()) - .eq(AttendanceResult::getUserType, dto.getUserType()) - .between(AttendanceResult::getAttendanceDate, dto.getAttendanceStartDate(), dto.getAttendanceEndDate())); - - Map> totalMap = resultList.stream() - .collect(Collectors.groupingBy(AttendanceResult::getAttendanceDate)); - //总天数 - Integer totalDays = totalMap.size(); - //异常天数 - AtomicReference abNormalDays = new AtomicReference<>(0); - //正常天数 - AtomicReference normalDays = new AtomicReference<>(0); - //迟到次数 - AtomicReference lateTimes = new AtomicReference<>(0); - //早退次数 - AtomicReference leaveTimes = new AtomicReference<>(0); - //缺卡次数 - AtomicReference missTimes = new AtomicReference<>(0); - - List lateList = new ArrayList<>(); - - List leaveList = new ArrayList<>(); - - List missList = new ArrayList<>(); - - totalMap.forEach((k, v) -> { - - //按考勤规则 - Map> collect = v.stream().collect(Collectors.groupingBy(AttendanceResult::getRuleId)); - - collect.forEach((r, n) -> { - //判断规则类型 - AttendanceRuleVO ruleVO = (AttendanceRuleVO) redisService - .hget(CachePrefixConstant.ATTENDANCE_RULE_DATA, String.valueOf(r)); - if (ObjectUtil.isNull(ruleVO)) { - ruleVO = attendanceRuleService.getRule(r); - if (ObjectUtil.isNotNull(ruleVO)) { - redisService.hset(CachePrefixConstant.ATTENDANCE_RULE_DATA, String.valueOf(r), ruleVO); - } - } - if (ObjectUtil.equals(AttendanceModeTypeEnum.FREE.getValue(), ruleVO.getType())) { - //自由打卡 - UserAttendanceResultDayAndNumVO missVO = new UserAttendanceResultDayAndNumVO(); - //当日上班缺卡 - List startMissList = v.stream().filter( - s -> s.getStartStatus() == null).collect( - Collectors.toList()); - - if (startMissList.size() > 0) { - abNormalDays.getAndSet(abNormalDays.get() + 1); - } else { - normalDays.getAndSet(normalDays.get() + 1); - } - int missNum = 0; - if (startMissList.size() > 0) { - missTimes.getAndSet(missTimes.get() + startMissList.size()); - missVO.setAttendanceDate(k); - missNum += startMissList.size(); - } - missVO.setNum(missNum); - if (ObjectUtil.isNotNull(missVO)) { - missList.add(missVO); - } - } else { - UserAttendanceResultDayAndNumVO lateVO = new UserAttendanceResultDayAndNumVO(); - UserAttendanceResultDayAndNumVO leaveVO = new UserAttendanceResultDayAndNumVO(); - UserAttendanceResultDayAndNumVO missVO = new UserAttendanceResultDayAndNumVO(); - //当日迟到 - List currentLateList = v.stream().filter( - s -> ObjectUtil.equals(AttendanceResultEnum.ABNORMAL.getValue(), s.getStartStatus())).collect( - Collectors.toList()); - //当日早退 - List currentLeaveList = v.stream().filter( - s -> ObjectUtil.equals(AttendanceResultEnum.ABNORMAL.getValue(), s.getEndStatus())).collect( - Collectors.toList()); - //当日上班缺卡 - List startMissList = v.stream().filter( - s -> s.getStartStatus() == null).collect( - Collectors.toList()); - //当日下班缺卡 - List endMissList = v.stream().filter( - s -> s.getEndStatus() == null).collect( - Collectors.toList()); - - if (currentLateList.size() > 0 || currentLeaveList.size() > 0 || startMissList.size() > 0 - || endMissList.size() > 0) { - abNormalDays.getAndSet(abNormalDays.get() + 1); - } else { - normalDays.getAndSet(normalDays.get() + 1); - } - - if (currentLateList.size() > 0) { - lateTimes.getAndSet(lateTimes.get() + currentLateList.size()); - lateVO.setAttendanceDate(k); - lateVO.setNum(currentLateList.size()); - lateList.add(lateVO); - } - if (currentLeaveList.size() > 0) { - leaveTimes.getAndSet(leaveTimes.get() + currentLeaveList.size()); - leaveVO.setAttendanceDate(k); - leaveVO.setNum(currentLeaveList.size()); - leaveList.add(leaveVO); - } - int missNum = 0; - if (startMissList.size() > 0) { - missTimes.getAndSet(missTimes.get() + startMissList.size()); - missVO.setAttendanceDate(k); - missNum += startMissList.size(); - } - if (endMissList.size() > 0) { - missTimes.getAndSet(missTimes.get() + endMissList.size()); - missVO.setAttendanceDate(k); - missNum += endMissList.size(); - } - missVO.setNum(missNum); - if (ObjectUtil.isNotNull(missVO)) { - missList.add(missVO); - } - } - }); - }); - - //请假 - ListUserRequestDTO requestDTO = new ListUserRequestDTO(); - requestDTO.setRequestType(dto.getUserType()); - requestDTO.setUserIdList(Collections.singletonList(dto.getUserId())); - requestDTO.setStartTime(dto.getAttendanceStartDate().atTime(LocalTime.of(00, 00, 01))); - requestDTO.setEndTime(dto.getAttendanceEndDate().atTime(LocalTime.of(23, 59, 59))); - List data = remoteLeaveRequestService.findList(requestDTO).getData(); - - return UserAttendanceResultByTimeSlotVO.builder().totalDays(totalDays) - .normalDays(normalDays.get()) - .abNormalDays(abNormalDays.get()) - .lateList(lateList).leaveList(leaveList).missList(missList).lateTimes(lateTimes.get()).leaveTimes(leaveTimes.get()) - .missTimes(missTimes.get()).requestTimes(data.size()).build(); - } - - @Override - public List findTotalUserStatus(ManageListUserDTO dto) { - if (redisService.hasKey( - CachePrefixConstant.ATTENDANCE_MANAGE_DATE_STATUS + dto.getSearchUserType() + dto.getUserId() + dto - .getAttendanceStartDate() + dto - .getAttendanceEndDate())) { - String s = (String) redisService.get( - CachePrefixConstant.ATTENDANCE_MANAGE_DATE_STATUS + dto.getSearchUserType() + dto.getUserId() + dto - .getAttendanceStartDate() - + dto - .getAttendanceEndDate()); - List dateStatusVOList = JSON.parseArray(s, DateStatusVO.class); - - return dateStatusVOList; - } - - //查询管理人员 - AttendanceRuleAdmin param = new AttendanceRuleAdmin(); - param.setUserType(dto.getSearchUserType()); - param.setStaffId(dto.getUserId()); - List adminList = attendanceRuleAdminService.findList(param); - - if (CollUtil.isEmpty(adminList)) { - log.info("【】职工无管理人员", dto.getUserId()); - return new ArrayList<>(); - } - //排除未启用规则 - List deptIdList = new ArrayList<>(); - for (AttendanceRuleAdmin admin : adminList) { - AttendanceRule attendanceRule = attendanceRuleService.getById(admin.getRuleId()); - if (ObjectUtil.equals(EnableStatusEnum.ENABLE_STATUS.getStatus(), attendanceRule.getStatus())) { - deptIdList.add(admin.getDeptId()); - } - } - if (CollUtil.isEmpty(deptIdList)) { - log.info("【】职工无管理人员", dto.getUserId()); - return new ArrayList<>(); - } - //查询部门下的人员 - List userIdList = initUserIdList(adminList, dto.getSearchUserType()); - - List dateStatusVOList = initStatusByDate(userIdList, dto.getSearchUserType(), dto.getAttendanceStartDate(), - dto.getAttendanceEndDate()); - - if (CollUtil.isNotEmpty(dateStatusVOList)) { - redisService.set( - CachePrefixConstant.ATTENDANCE_MANAGE_DATE_STATUS + dto.getSearchUserType() + dto.getUserId() + dto - .getAttendanceStartDate() - + dto - .getAttendanceEndDate(), JSONObject.toJSON(dateStatusVOList).toString()); - } - - return dateStatusVOList; - } - - @Override - public List findManageListUserVO(ManageListUserDTO dto) { - List returnList = new ArrayList<>(); - //查询用户管理部门 - AttendanceRuleAdmin param = new AttendanceRuleAdmin(); - param.setUserType(dto.getSearchUserType()); - param.setStaffId(dto.getUserId()); - List adminList = attendanceRuleAdminService.findList(param); - - Map> adminMap = adminList.stream() - .collect(Collectors.groupingBy(AttendanceRuleAdmin::getDeptId)); - adminMap.forEach((k, v) -> { - ManageListUserVO manageListUserVO = new ManageListUserVO(); - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), dto.getSearchUserType())) { - //部门信息 - if (k > 0) { - EduUserDept userDept = commonService.getUserDept(k); - if (ObjectUtil.isNotNull(userDept)) { - manageListUserVO.setDeptName(userDept.getDeptName()); - manageListUserVO.setDeptType(userDept.getDeptType()); - manageListUserVO.setDeptId(userDept.getDeptId()); - } - } else { - //学校部门 - Dept dept = commonService.getDept(-k); - if (ObjectUtil.isNotNull(dept)) { - manageListUserVO.setDeptName(dept.getDeptName()); - manageListUserVO.setDeptId(dept.getDeptId()); - } - } - - } else { - //部门信息 - Dept dept = commonService.getDept(k); - if (ObjectUtil.isNotNull(dept)) { - manageListUserVO.setDeptName(dept.getDeptName()); - manageListUserVO.setDeptId(dept.getDeptId()); - } - } - List userIdList = new ArrayList<>(); - //正常数据 - Map> normalMap = new HashMap<>(); - Map> abNormalMap = new HashMap<>(); - Map> lateMap = new HashMap<>(); - Map> leaveMap = new HashMap<>(); - Map> missMap = new HashMap<>(); - - for (AttendanceRuleAdmin admin : v) { - AttendanceRule attendanceRule = attendanceRuleService.getById(admin.getRuleId()); - if (ObjectUtil.equals(EnableStatusEnum.NOT_ENABLE_STATUS.getStatus(), attendanceRule.getStatus())) { - continue; - } - List timeList = attendanceRuleTimeService.list(Wrappers.lambdaQuery(new AttendanceRuleTime()) - .eq(AttendanceRuleTime::getRuleId, attendanceRule.getId())); - - if (CollUtil.isEmpty(timeList)) { - continue; - } - userIdList.addAll(initUserIdList(Arrays.asList(admin), dto.getSearchUserType())); - - if (CollUtil.isNotEmpty(userIdList)) { - List studentResultList = list(Wrappers.lambdaQuery(new AttendanceResult()) - .eq(AttendanceResult::getRuleId, admin.getRuleId()) - .between(AttendanceResult::getAttendanceDate, dto.getAttendanceStartDate(), dto.getAttendanceEndDate()) - .eq(AttendanceResult::getUserType, dto.getSearchUserType()) - .in(AttendanceResult::getUserId, userIdList)); - //正常数据 - normalMap.putAll(studentResultList.stream().filter( - attendanceResult -> ObjectUtil.equals(AttendanceModeTypeEnum.FIX.getValue(), attendanceRule.getType()) ? ( - ObjectUtil.equals(AttendanceResultEnum.NORMAL.getValue(), attendanceResult.getStartStatus()) - && ObjectUtil.equals(AttendanceResultEnum.NORMAL.getValue(), attendanceResult.getEndStatus())) - : ObjectUtil.equals(AttendanceResultEnum.NORMAL.getValue(), attendanceResult.getStartStatus())) - .collect(Collectors.groupingBy(AttendanceResult::getUserId))); - - //异常数据 - abNormalMap.putAll(studentResultList.stream().filter( - attendanceResult -> ObjectUtil.equals(AttendanceModeTypeEnum.FIX.getValue(), attendanceRule.getType()) - ? (!(ObjectUtil.equals(AttendanceResultEnum.NORMAL.getValue(), attendanceResult.getStartStatus()) - && ObjectUtil.equals(AttendanceResultEnum.NORMAL.getValue(), attendanceResult.getEndStatus()))) - : !ObjectUtil.equals(AttendanceResultEnum.NORMAL.getValue(), attendanceResult.getStartStatus())) - .collect(Collectors.groupingBy(AttendanceResult::getUserId))); - - //迟到数据 - lateMap.putAll(studentResultList.stream().filter( - attendanceResult -> ObjectUtil.equals(AttendanceModeTypeEnum.FIX.getValue(), attendanceRule.getType()) - && ObjectUtil.equals(AttendanceResultEnum.ABNORMAL.getValue(), attendanceResult.getStartStatus())) - .collect(Collectors.groupingBy(AttendanceResult::getUserId))); - - //早退数据 - leaveMap.putAll(studentResultList.stream().filter( - attendanceResult -> ObjectUtil.equals(AttendanceModeTypeEnum.FIX.getValue(), attendanceRule.getType()) - && ObjectUtil.equals(AttendanceResultEnum.ABNORMAL.getValue(), attendanceResult.getEndStatus())) - .collect(Collectors.groupingBy(AttendanceResult::getUserId))); - - //缺卡数据 - missMap.putAll(studentResultList.stream().filter( - attendanceResult -> ObjectUtil.equals(AttendanceModeTypeEnum.FREE.getValue(), attendanceRule.getType()) - ? ObjectUtil.equals(null, attendanceResult.getStartStatus()) - : (ObjectUtil.equals(null, attendanceResult.getStartStatus()) || ObjectUtil - .equals(null, attendanceResult.getEndStatus()))) - .collect(Collectors.groupingBy(AttendanceResult::getUserId))); - - } - manageListUserVO.setTotalNum(userIdList.stream().distinct().collect(Collectors.toList()).size()); - manageListUserVO.setNormalNum(normalMap.size()); - - manageListUserVO.setLateUserNum(lateMap.size()); - manageListUserVO.setLeaveUserNum(leaveMap.size()); - - //TODO 请假人数 - ListUserRequestDTO requestDTO = new ListUserRequestDTO(); - requestDTO.setRequestType(dto.getSearchUserType()); - requestDTO.setUserIdList(userIdList); - requestDTO.setStartTime(dto.getAttendanceStartDate().atTime(timeList.get(0).getStartTime())); - requestDTO.setEndTime(dto.getAttendanceEndDate().atTime(timeList.get(0).getEndEffectiveEndTime())); - List leaveRequestUserVOList = remoteLeaveRequestService.findList(requestDTO).getData(); - manageListUserVO.setRequestUserNum( - leaveRequestUserVOList.stream().collect(Collectors.groupingBy(EduLeaveRequestUserVO::getUserId)).size()); - - if (leaveRequestUserVOList.size() >= missMap.size()) { - manageListUserVO.setMissUserNum(0); - } else { - manageListUserVO.setMissUserNum(missMap.size() - leaveRequestUserVOList.size()); - } - if (leaveRequestUserVOList.size() >= abNormalMap.size()) { - manageListUserVO.setAbNormalNum(0); - } else { - manageListUserVO.setAbNormalNum(abNormalMap.size() - leaveRequestUserVOList.size()); - } - - } - returnList.add(manageListUserVO); - }); - - return returnList; - } - - @Override - public cn.hutool.json.JSONObject findManageListUserDetailVO(ManageListUserDTO dto) { - //管理人员 - List userIdList = new ArrayList<>(); - if (ObjectUtil.isNull(dto.getDeptId())) { - AttendanceRuleAdmin param = new AttendanceRuleAdmin(); - param.setUserType(dto.getSearchUserType()); - param.setStaffId(dto.getUserId()); - List adminList = attendanceRuleAdminService.findList(param); - - if (ObjectUtil.isNotNull(dto.getRuleId())) { - adminList = adminList.stream() - .filter(attendanceRuleAdmin -> attendanceRuleAdmin.getRuleId().equals(dto.getRuleId())) - .collect(Collectors.toList()); - } - userIdList = initUserIdList(adminList, dto.getSearchUserType()); - } else { - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), dto.getSearchUserType())) { - //按照家校部门查询 - List eduStudentList = new ArrayList<>(); - ListStudentDTO listStudentDTO = new ListStudentDTO(); - listStudentDTO.setIsQueryUserDept(false); - listStudentDTO.setIsQueryParent(false); - listStudentDTO.setIsQuerySchoolName(false); - //部门学校 - if (ObjectUtil.equals(UserDeptTypeEnum.CLASS_TYPE.getValue(), dto.getDeptType())) { - listStudentDTO.setClassId(dto.getDeptId()); - } else if (ObjectUtil.equals(UserDeptTypeEnum.GRADE_TYPE.getValue(), dto.getDeptType())) { - listStudentDTO.setGradeId(dto.getDeptId()); - } else if (ObjectUtil.equals(UserDeptTypeEnum.SECTION_TYPE.getValue(), dto.getDeptType())) { - listStudentDTO.setSectionId(dto.getDeptId()); - } else if (ObjectUtil.equals(UserDeptTypeEnum.CAMPUS_TYPE.getValue(), dto.getDeptType())) { - listStudentDTO.setCampusId(dto.getDeptId()); - } else { - listStudentDTO.setSchoolId(dto.getDeptId()); - } - eduStudentList = remoteStudentService.listStudent(listStudentDTO).getData(); - userIdList = eduStudentList.stream().map(EduStudent::getId).collect(Collectors.toList()); - } else { - //职工 - userIdList = remoteStaffService.listStaffByDeptId(dto.getDeptId(), null, null).getData(); - } - } - - if (CollUtil.isEmpty(userIdList)) { - return null; - } - dto.setUserIdList(userIdList); - - IPage manageListUserDetailVO = baseMapper.findManageListUserDetailVO(dto.toPage(), dto); - List records = manageListUserDetailVO.getRecords(); - List timeList = new ArrayList<>(); - for (ManageListUserAttendanceDetailVO record : records) { - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), dto.getSearchUserType())) { - EduStudent student = commonService.getStudentById(record.getUserId()); - if (ObjectUtil.isNotNull(student)) { - record.setUserName(student.getStuName()); - record.setStudentType(student.getType()); - record.setAvatar(student.getAvatar()); - record.setDeptName(student.getCampusName() + "/" + student.getSectionName() + "/" + student.getClassName()); - record.setDormName( - ObjectUtil.isNotNull(student.getDormName()) && ObjectUtil.isNotNull(student.getDormRoomName()) ? - (student.getDormName() + "/" + student.getDormRoomName()) : null); - } - } else { - EduStaff staff = commonService.getStaffById(record.getUserId()); - if (ObjectUtil.isNotNull(staff)) { - record.setUserName(staff.getName()); - record.setDeptName(staff.getStaffDept().get(0).getDeptName()); - record.setAvatar(staff.getAvatar()); - } - } - record.setUserType(dto.getSearchUserType()); - - //默认1个时间段 - timeList = attendanceRuleTimeService.list(Wrappers.lambdaQuery(new AttendanceRuleTime()) - .eq(AttendanceRuleTime::getRuleId, record.getRuleId())); - - //判断请假 - if (record.getMissNum() > 0) { - ListUserRequestDTO requestDTO = new ListUserRequestDTO(); - requestDTO.setRequestType(record.getUserType()); - requestDTO.setUserIdList(Arrays.asList(record.getUserId())); - requestDTO.setStartTime(dto.getAttendanceStartDate().atTime(timeList.get(0).getStartTime())); - requestDTO.setEndTime(dto.getAttendanceEndDate().atTime(timeList.get(0).getEndEffectiveEndTime())); - List requestUserVOList = remoteLeaveRequestService.findList(requestDTO).getData(); - if (CollUtil.isNotEmpty(requestUserVOList)) { - record.setMissNum(0); - record.setRequestNum(1); - } - } - } - cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(manageListUserDetailVO); - //查询异常总数 - //请假总人数 - ListUserRequestDTO requestDTO = new ListUserRequestDTO(); - requestDTO.setRequestType(dto.getSearchUserType()); - requestDTO.setUserIdList(userIdList); - requestDTO.setStartTime(dto.getAttendanceStartDate().atTime(timeList.get(0).getStartTime())); - requestDTO.setEndTime(dto.getAttendanceEndDate().atTime(timeList.get(0).getEndEffectiveEndTime())); - List requestUserVOList = remoteLeaveRequestService.findList(requestDTO).getData(); - int requestNum = requestUserVOList.stream().collect(Collectors.groupingBy(EduLeaveRequestUserVO::getUserId)).size(); - - jsonObject.set("errorNum", baseMapper.findManageListUserDetailVOErrorNum(dto) - requestNum); - return jsonObject; - } - - @Override - public ManageListUserAttendanceDetailTotalVO findManageListUserDetailTotalVO(ManageListUserDTO dto) { - ManageListUserAttendanceDetailTotalVO vo = new ManageListUserAttendanceDetailTotalVO(); - List userIdList = new ArrayList<>(); - if (ObjectUtil.isNull(dto.getDeptId())) { - AttendanceRuleAdmin param = new AttendanceRuleAdmin(); - param.setUserType(dto.getSearchUserType()); - param.setStaffId(dto.getUserId()); - List adminList = attendanceRuleAdminService.findList(param); - if (ObjectUtil.isNotNull(dto.getRuleId())) { - adminList = adminList.stream() - .filter(attendanceRuleAdmin -> attendanceRuleAdmin.getRuleId().equals(dto.getRuleId())) - .collect(Collectors.toList()); - } - userIdList = initUserIdList(adminList, dto.getSearchUserType()); - } else { - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), dto.getSearchUserType())) { - //按照家校部门查询 - List eduStudentList = new ArrayList<>(); - ListStudentDTO listStudentDTO = new ListStudentDTO(); - listStudentDTO.setIsQueryUserDept(false); - listStudentDTO.setIsQueryParent(false); - listStudentDTO.setIsQuerySchoolName(false); - //部门学校 - if (ObjectUtil.equals(UserDeptTypeEnum.CLASS_TYPE.getValue(), dto.getDeptType())) { - listStudentDTO.setClassId(dto.getDeptId()); - } else if (ObjectUtil.equals(UserDeptTypeEnum.GRADE_TYPE.getValue(), dto.getDeptType())) { - listStudentDTO.setGradeId(dto.getDeptId()); - } else if (ObjectUtil.equals(UserDeptTypeEnum.SECTION_TYPE.getValue(), dto.getDeptType())) { - listStudentDTO.setSectionId(dto.getDeptId()); - } else if (ObjectUtil.equals(UserDeptTypeEnum.CAMPUS_TYPE.getValue(), dto.getDeptType())) { - listStudentDTO.setCampusId(dto.getDeptId()); - } else { - listStudentDTO.setSchoolId(dto.getDeptId()); - } - eduStudentList = remoteStudentService.listStudent(listStudentDTO).getData(); - userIdList = eduStudentList.stream().map(EduStudent::getId).collect(Collectors.toList()); - } else { - //职工 - userIdList = remoteStaffService.listStaffByDeptId(dto.getDeptId(), null, null).getData(); - } - } - if (CollUtil.isEmpty(userIdList)) { - vo.setTotalNum(0); - vo.setAbNormalNum(0); - } else { - vo.setTotalNum(userIdList.size()); - dto.setUserIdList(userIdList); - dto.setAttendanceStatus(0); - IPage manageListUserDetailVO = baseMapper - .findManageListUserDetailVO(new Page(1, -1), dto); - vo.setAbNormalNum(userIdList.size() - manageListUserDetailVO.getRecords().size()); - } - return vo; - } - - @Override - public List findManageUserDeptTree(Long userId, Integer searchUserType) { - - AttendanceRuleAdmin param = new AttendanceRuleAdmin(); - param.setUserType(searchUserType); - param.setStaffId(userId); - List adminList = attendanceRuleAdminService.findList(param); - List collect = adminList.stream().map(AttendanceRuleAdmin::getDeptId).distinct().collect(Collectors.toList()); - if (CollUtil.isEmpty(collect)) { - return null; - } - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), searchUserType)) { - //家校部门树 - //查询用户管理部门 - return remoteUserDeptService - .getUserDeptTree(collect).getData(); - } else { - //职能部门树 - return remoteDeptService - .getDeptTree(collect).getData(); - } - } - - @Override - public StaffIdentityVO findStaffIdentity(Long staffId) { - StaffIdentityVO vo = new StaffIdentityVO(); - //学生管理员 - - AttendanceRuleAdmin param = new AttendanceRuleAdmin(); - param.setStaffId(staffId); - List adminList = attendanceRuleAdminService.findList(param); - - if (CollUtil.isEmpty(adminList)) { - vo.setManageStudent(false); - vo.setManageStaff(false); - } - //排除未启用规则 -// List realAdminList = new ArrayList<>(); -// for (AttendanceRuleAdmin admin : adminList) { -// AttendanceRule attendanceRule = attendanceRuleService.getById(admin.getRuleId()); -// if (ObjectUtil.isNull(attendanceRule) || ObjectUtil -// .equals(EnableStatusEnum.NOT_ENABLE_STATUS.getStatus(), attendanceRule.getStatus())) { -// continue; -// } else { -// realAdminList.add(admin); -// } -// } -// if (CollUtil.isEmpty(realAdminList)) { -// vo.setManageStudent(false); -// vo.setManageStaff(false); -// } - List parentAdminList = adminList.stream().filter( - attendanceRuleAdmin -> ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), attendanceRuleAdmin.getUserType())) - .collect( - Collectors.toList()); - - List staffAdminList = adminList.stream().filter( - attendanceRuleAdmin -> ObjectUtil.equals(UserTypeEnum.STAFF_USER_TYPE.getType(), attendanceRuleAdmin.getUserType())) - .collect( - Collectors.toList()); - - if (CollUtil.isNotEmpty(parentAdminList)) { - vo.setManageStudent(true); - } - - if (CollUtil.isNotEmpty(staffAdminList)) { - vo.setManageStaff(true); - } - return vo; - } - - - @Override - public void initUserAttendance() { - log.info("开始初始化学校的考勤数据"); - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - //查询具有考勤规则的学校 - PageAttendanceRuleDTO dto = new PageAttendanceRuleDTO(); - dto.setStatus(EnableStatusEnum.ENABLE_STATUS.getStatus()); - List ruleVOList = attendanceRuleService.listRule(dto); - - for (AttendanceRuleVO attendanceRuleVO : ruleVOList) { - if (LocalDate.now().isBefore(attendanceRuleVO.getStartDate()) || LocalDate.now() - .isAfter(attendanceRuleVO.getEndDate())) { - continue; - } - if (CollUtil.isEmpty(attendanceRuleVO.getTimeDTOList())) { - continue; - } -// if (!attendanceRuleVO.getWeek().contains(String.valueOf(LocalDate.now().getDayOfWeek().getValue()))) { -// continue; -// } - //移除学生信息 - attendanceRuleObjUserService.remove(Wrappers.lambdaQuery(new AttendanceRuleObjUser()) - .eq(AttendanceRuleObjUser::getRuleId, attendanceRuleVO.getId())); - - List eduStudentList = new ArrayList<>(); - List eduStaffList = new ArrayList<>(); - List attendanceRuleObjList = attendanceRuleVO.getAttendanceRuleObjList(); - //循环处理数据 - log.info("开始处理学校:【{}】,考勤规则:【{}】的考勤数据", attendanceRuleVO.getSchoolId(), attendanceRuleVO.getName()); - if (ObjectUtil.equals(AttendanceUserTypeEnum.STAFF.getValue(), attendanceRuleVO.getUserType())) { - //教职工打卡 - //查询规则下的教职工 - for (AddAttendanceRuleObjDTO objDTO : attendanceRuleObjList) { - ListStaffDTO param = new ListStaffDTO(); - param.setDeptId(objDTO.getDeptId()); - List eduStaffs = remoteStaffService.listStaff(param).getData(); - for (EduStaff eduStaff : eduStaffs) { - EduStaffDept staffDept = new EduStaffDept(); - staffDept.setDeptId(objDTO.getDeptId()); - eduStaff.setStaffDept(Collections.singletonList(staffDept)); - eduStaffList.add(eduStaff); - } - } - } else { - for (AddAttendanceRuleObjDTO attendanceRuleObj : attendanceRuleObjList) { - //判断班级是否存在 - EduUserDept eduUserDept = remoteUserDeptService.getByDeptId(attendanceRuleObj.getDeptId()).getData(); - if (ObjectUtil.isNull(eduUserDept)) { - attendanceRuleObjUserService.remove(Wrappers.lambdaQuery(new AttendanceRuleObjUser()) - .eq(AttendanceRuleObjUser::getDeptId, attendanceRuleObj.getDeptId()) - .eq(AttendanceRuleObjUser::getRuleId, attendanceRuleVO.getId())); - attendanceRuleObjService.removeById(attendanceRuleObj.getId()); - continue; - } - //查询实际人员 - ListStudentDTO listStudentDTO = new ListStudentDTO(); - listStudentDTO.setIsQueryUserDept(false); - listStudentDTO.setIsQueryParent(false); - listStudentDTO.setIsQuerySchoolName(false); - listStudentDTO.setSchoolId(attendanceRuleVO.getSchoolId()); - listStudentDTO.setClassId(attendanceRuleObj.getDeptId()); - List allEduStudentList = remoteStudentService.listStudent(listStudentDTO).getData(); - - if (ObjectUtil.equals(AttendanceUserTypeEnum.STUDENT_TO_DORM.getValue(), attendanceRuleVO.getUserType())) { - allEduStudentList = allEduStudentList.stream().filter(student -> ObjectUtil.equals(1, student.getType()) - && (ObjectUtil.isNull(student.getStudentStatus()) || (ObjectUtil.isNotNull(student.getStatus()) - && ObjectUtil - .equals(StudentStatusEnum.ZAIDU.getStatus(), student.getStudentStatus())))) - .collect(Collectors.toList()); - } - - eduStudentList.addAll(allEduStudentList); -// List list = attendanceRuleObjUserService -// .list(Wrappers.lambdaQuery(new AttendanceRuleObjUser()) -// .eq(AttendanceRuleObjUser::getDeptId, attendanceRuleObj.getDeptId()) -// .eq(AttendanceRuleObjUser::getRuleId, attendanceRuleVO.getId()) -// .eq(AttendanceRuleObjUser::getUserType, UserTypeEnum.PARENT_USER_TYPE.getType()) -// ); -// for (AttendanceRuleObjUser user : list) { -// EduStudent student = remoteStudentService.getStudentNoPermission(user.getUserId()).getData(); -// if (ObjectUtil.isNotNull(student)) { -// if (ObjectUtil -// .equals(AttendanceUserTypeEnum.STUDENT_TO_DORM.getValue(), attendanceRuleVO.getUserType())) { -// //宿舍考勤 -// if (ObjectUtil.equals(1, student.getType())) { -// //住宿 -// eduStudentList.add(student); -// } else { -// //移除学生信息 -// attendanceRuleObjUserService.remove(Wrappers.lambdaQuery(new AttendanceRuleObjUser()) -// .eq(AttendanceRuleObjUser::getRuleId, attendanceRuleVO.getId()) -// .eq(AttendanceRuleObjUser::getUserId, user.getUserId())); -// } -// } else { -// eduStudentList.add(student); -// } -// } else { -// //移除学生信息 -// attendanceRuleObjUserService.remove(Wrappers.lambdaQuery(new AttendanceRuleObjUser()) -// .eq(AttendanceRuleObjUser::getRuleId, attendanceRuleVO.getId()) -// .eq(AttendanceRuleObjUser::getUserId, user.getUserId())); -// } -// } - } - } - List resultList = new ArrayList<>(); - List objUserList = new ArrayList<>(); - if (CollUtil.isNotEmpty(eduStudentList)) { - for (EduStudent eduStudent : eduStudentList) { - //增加考勤人员 - AttendanceRuleObjUser objUser = new AttendanceRuleObjUser(); - objUser.setUserId(eduStudent.getId()); - objUser.setUserName(eduStudent.getStuName()); - objUser.setUserType(UserTypeEnum.PARENT_USER_TYPE.getType()); - objUser.setRuleId(attendanceRuleVO.getId()); - objUser.setDeptId(eduStudent.getClassId()); - objUserList.add(objUser); - //增加考勤结果记录 - AttendanceResult result = new AttendanceResult(); - result.setAttType(attendanceRuleVO.getType()); - result.setUserType(ObjectUtil.equals(AttendanceUserTypeEnum.STAFF.getValue(), attendanceRuleVO.getUserType()) - ? AttendanceUserTypeEnum.STAFF.getValue() : AttendanceUserTypeEnum.STUDENT_TO_SCHOOL.getValue()); - result.setUserId(eduStudent.getId()); - result.setSchoolId(eduStudent.getSchoolId()); - result.setRuleId(attendanceRuleVO.getId()); - for (AddAttendanceRuleTimeDTO ruleTimeDTO : attendanceRuleVO.getTimeDTOList()) { - //判断今日是否含有记录 - long count = count(Wrappers.lambdaQuery(new AttendanceResult()) - .eq(AttendanceResult::getAttendanceDate, LocalDate.now()) - .eq(AttendanceResult::getUserId, eduStudent.getId()) - .eq(AttendanceResult::getRuleId, attendanceRuleVO.getId()) - .eq(AttendanceResult::getRuleTimeId, ruleTimeDTO.getId())); - if (count == 0) { - result.setRuleTimeId(ruleTimeDTO.getId()); - result.setStartStiTime(ruleTimeDTO.getStartTime()); - result.setEndStiTime(ruleTimeDTO.getEndTime()); - result.setAttendanceDate(LocalDate.now()); - resultList.add(result); - } - } - } - } - if (CollUtil.isNotEmpty(eduStaffList)) { - for (EduStaff staff : eduStaffList) { - AttendanceRuleObjUser objUser = new AttendanceRuleObjUser(); - objUser.setUserId(staff.getId()); - objUser.setUserName(staff.getName()); - objUser.setUserType(UserTypeEnum.STAFF_USER_TYPE.getType()); - objUser.setRuleId(attendanceRuleVO.getId()); - objUser.setDeptId(CollUtil.isNotEmpty(staff.getStaffDept()) ? staff.getStaffDept().get(0).getDeptId() : null); - objUserList.add(objUser); - - AttendanceResult result = new AttendanceResult(); - result.setAttType(attendanceRuleVO.getType()); - result.setUserType(ObjectUtil.equals(AttendanceUserTypeEnum.STAFF.getValue(), attendanceRuleVO.getUserType()) - ? AttendanceUserTypeEnum.STAFF.getValue() : AttendanceUserTypeEnum.STUDENT_TO_SCHOOL.getValue()); - result.setUserId(staff.getId()); - result.setSchoolId(staff.getSchoolId()); - result.setRuleId(attendanceRuleVO.getId()); - for (AddAttendanceRuleTimeDTO ruleTimeDTO : attendanceRuleVO.getTimeDTOList()) { - long count = count(Wrappers.lambdaQuery(new AttendanceResult()) - .eq(AttendanceResult::getAttendanceDate, LocalDate.now()) - .eq(AttendanceResult::getUserId, staff.getId()) - .eq(AttendanceResult::getRuleId, attendanceRuleVO.getId()) - .eq(AttendanceResult::getRuleTimeId, ruleTimeDTO.getId())); - if (count == 0) { - result.setRuleTimeId(ruleTimeDTO.getId()); - result.setStartStiTime(ruleTimeDTO.getStartTime()); - result.setEndStiTime(ruleTimeDTO.getEndTime()); - result.setAttendanceDate(LocalDate.now()); - resultList.add(result); - } - } - } - } - if (CollUtil.isNotEmpty(resultList) && attendanceRuleVO.getWeek() - .contains(String.valueOf(LocalDate.now().getDayOfWeek().getValue()))) { - //批量保存 - saveBatch(resultList); - } - if (CollUtil.isNotEmpty(objUserList)) { - //批量保存 - attendanceRuleObjUserService.saveBatch(objUserList); - } - } - stopWatch.stop(); - log.info("每日初始化考勤总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); - } - - @Override - public void initAttendanceReport(Long schoolId, LocalDate currentDate) { - //查询学校 - log.info("开始统计学生考勤数据"); - List schoolList = new ArrayList<>(); - if (Objects.isNull(schoolId)) { - // 查询所有绑定了企业微信的学校信息 - schoolList = remoteDeptService.listSchoolBySchoolType(Dept.TYPE_QYWX).getData(); - } else { - Dept school = remoteDeptService.getInfoByIdNoPermission(schoolId).getData(); - schoolList.add(school); - } - - if (CollUtil.isNotEmpty(schoolList)) { - schoolList.forEach(school -> { - //判断学校是否包含宿舍考勤 - List ruleList = attendanceRuleService.list(Wrappers.lambdaQuery(new AttendanceRule()) - .eq(AttendanceRule::getSchoolId, school.getDeptId()) - .eq(AttendanceRule::getUserType, AttendanceUserTypeEnum.STUDENT_TO_DORM.getValue())); - if (CollUtil.isNotEmpty(ruleList)) { - log.info("开始统计学校{}的学生考勤数据", school.getDeptName()); - } - }); - } - - //每日 - LocalDate now = LocalDate.now(); - AttendanceCountPageDTO dto = new AttendanceCountPageDTO(); - dto.setStartDate(now); - dto.setEndDate(now); - IPage attdanceResultVOIPage = baseMapper.listResultPage(new Page(1, -1), dto); - - } - - @Override - public void lateReport(Integer mode, Integer userType, Long ruleId, Long ruleTimeId, List staffIds, Integer isManager) { -// mode 0=推动至教职工,1=推送至学生家长 - AttendanceRule rule = attendanceRuleService.getById(ruleId); - if (ObjectUtil.isNull(rule) || !ObjectUtil.equals(EnableStatusEnum.ENABLE_STATUS.getStatus(), rule.getStatus())) { - log.info("【{}】规则已停用,不推送迟到报告", rule.getName()); - return; - } - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), userType)) { - //今日还未打卡的全部学生 - List resultList = list(Wrappers.lambdaQuery(new AttendanceResult()) - .eq(AttendanceResult::getRuleId, ruleId) - .eq(AttendanceResult::getRuleTimeId, ruleTimeId) - .eq(AttendanceResult::getAttendanceDate, LocalDate.now()) - .isNull(AttendanceResult::getStartStatus)); - //学生 - if (mode == 1) { - //发送学生家长 - for (AttendanceResult result : resultList) { - //逐个推送至学生家长 - } - } else { - //发送教职工 ,汇总推送给管理员 - //自定义需要发送的职工 - long lateMinute = Duration.between(resultList.get(0).getEndStiTime(), LocalTime.now()).toMinutes(); - if (CollUtil.isNotEmpty(staffIds)) { - for (Long staffId : staffIds) { - noticeService.sendStudentAttendanceLateReportToStaff(resultList, staffId, rule, lateMinute); - } - } - //发送管理员 - if (ObjectUtil.equals(1, isManager)) { - AttendanceRuleAdmin admin = new AttendanceRuleAdmin(); - admin.setRuleId(ruleId); - List adminList = attendanceRuleAdminService.findList(admin); - for (AttendanceRuleAdmin attendanceRuleAdmin : adminList) { - List deptIdList = new ArrayList<>(); - EduUserDept userDept = commonService.getUserDept(attendanceRuleAdmin.getDeptId()); - if (ObjectUtil.equals(UserDeptTypeEnum.CLASS_TYPE.getValue(), userDept.getDeptType())) { - deptIdList = Arrays.asList(userDept.getDeptId()); - } else { - //查看班级 - deptIdList = remoteUserDeptService - .findChildIdByParentAndTypeNoPermission(attendanceRuleAdmin.getDeptId(), 1) - .getData().stream().map(EduUserDept::getDeptId).collect( - Collectors.toList()); - } - - List mangerUserIdList = attendanceRuleObjUserService - .list(Wrappers.lambdaQuery(new AttendanceRuleObjUser()) - .in(AttendanceRuleObjUser::getDeptId, deptIdList) - .eq(AttendanceRuleObjUser::getRuleId, ruleId)).stream().map(AttendanceRuleObjUser::getUserId) - .collect( - Collectors.toList()); - - List mangerResultList = resultList.stream() - .filter(result -> mangerUserIdList.contains(result.getUserId())).collect(Collectors.toList()); - if (CollUtil.isNotEmpty(mangerResultList)) { - log.info("【{}】管理员发送迟到规则【{}】的提醒报告", attendanceRuleAdmin.getStaffId(), rule.getName()); - noticeService - .sendStudentAttendanceLateReportToStaff(mangerResultList, attendanceRuleAdmin.getStaffId(), - rule, - lateMinute); - } - } - } - } - } else { - // - } - } - - // * @param mode 0=推动至教职工,1=推送至学生家长 - // * @param userType 0=职工,1=学生 - @Override - public void dayReport(Integer mode, Integer userType, Long ruleId) { - AttendanceRule rule = attendanceRuleService.getById(ruleId); - if (ObjectUtil.isNull(rule) || !ObjectUtil.equals(EnableStatusEnum.ENABLE_STATUS.getStatus(), rule.getStatus())) { - log.error("【{}】规则已停用,不推送日报", rule.getName()); - return; - } - //今日异常打卡人员 - List resultList = list(Wrappers.lambdaQuery(new AttendanceResult()) - .eq(AttendanceResult::getRuleId, ruleId) - .eq(AttendanceResult::getAttendanceDate, LocalDate.now()) - .isNull(AttendanceResult::getStartStatus)); - - if (ObjectUtil.equals(AttendanceModeTypeEnum.FIX.getValue(), rule.getType())) { - //固定打卡 - resultList.addAll(list(Wrappers.lambdaQuery(new AttendanceResult()) - .eq(AttendanceResult::getRuleId, ruleId) - .eq(AttendanceResult::getAttendanceDate, LocalDate.now()) - .isNotNull(AttendanceResult::getStartStatus) - .isNull(AttendanceResult::getEndStatus))); - } - - if (mode == 1) { - //TODO 发送给家长端 - } else { - //查询规则管理员 - AttendanceRuleAdmin admin = new AttendanceRuleAdmin(); - admin.setRuleId(ruleId); - List adminList = attendanceRuleAdminService.findList(admin); - Map> adminMap = adminList.stream() - .collect(Collectors.groupingBy(AttendanceRuleAdmin::getStaffId)); - for (Entry> entry : adminMap.entrySet()) { - Boolean isLeader = false; //是否为校领导 - Long k = entry.getKey(); - List v = entry.getValue(); - List dayReportDataDTOList = new ArrayList<>(); - for (AttendanceRuleAdmin attendanceRuleAdmin : v) { - DayReportDataDTO dto = new DayReportDataDTO(); - List deptIdList = new ArrayList<>(); - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), userType)) { - EduUserDept userDept = commonService.getUserDept(attendanceRuleAdmin.getDeptId()); - dto.setDeptName(ObjectUtil.isNull(userDept) ? "未知班级" : userDept.getDeptName()); - if (ObjectUtil.equals(UserDeptTypeEnum.CLASS_TYPE.getValue(), userDept.getDeptType())) { - deptIdList = Arrays.asList(userDept.getDeptId()); - } else { - //查看班级 - deptIdList = remoteUserDeptService - .findChildIdByParentAndTypeNoPermission(attendanceRuleAdmin.getDeptId(), 1) - .getData().stream().map(EduUserDept::getDeptId).collect( - Collectors.toList()); - isLeader = true; - } - } else { - Dept dept = commonService.getDept(attendanceRuleAdmin.getDeptId()); - dto.setDeptName(ObjectUtil.isNull(dept) ? "未知部门" : dept.getDeptName()); - deptIdList = Arrays.asList(dept.getDeptId()); - } - - //管理总人数 - if (CollUtil.isEmpty(deptIdList)) { - dto.setTotalNum(0); - dto.setAbNum(0); - dto.setRequestNum(0); - } else { - List mangerUserIdList = attendanceRuleObjUserService - .list(Wrappers.lambdaQuery(new AttendanceRuleObjUser()) - .in(AttendanceRuleObjUser::getDeptId, deptIdList) - .eq(AttendanceRuleObjUser::getRuleId, ruleId)).stream().map(AttendanceRuleObjUser::getUserId) - .collect( - Collectors.toList()); - - //未打卡人数 - List mangerResultList = - CollUtil.isEmpty(mangerUserIdList) ? new ArrayList<>() : resultList.stream() - .filter(result -> mangerUserIdList.contains(result.getUserId())).collect(Collectors.toList()); - - dto.setTotalNum(mangerUserIdList.size()); - dto.setAbNum(mangerResultList.size()); - - //查询请假人数 - if (CollUtil.isEmpty(mangerUserIdList)) { - dto.setRequestNum(0); - } else { - ListUserRequestDTO requestDTO = new ListUserRequestDTO(); - requestDTO.setRequestType(userType); - requestDTO.setStartTime(LocalDate.now().atTime(LocalTime.of(00, 00, 01))); - requestDTO.setEndTime(LocalDate.now().atTime(LocalTime.of(23, 59, 59))); - requestDTO.setUserIdList(mangerUserIdList); - List requestUserVOList = remoteLeaveRequestService.findList(requestDTO) - .getData(); - dto.setRequestNum( - requestUserVOList.stream().collect(Collectors.groupingBy(EduLeaveRequestUserVO::getUserId)) - .size()); - } - dayReportDataDTOList.add(dto); - } - } - noticeService.sendAttendanceDayReportToStaff(k, dayReportDataDTOList, rule, userType, isLeader); - } - - - } - -// if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), userType)) { -// //学生考勤 -// //今日未打卡学生 -// List resultList = list(Wrappers.lambdaQuery(new AttendanceResult()) -// .eq(AttendanceResult::getRuleId, ruleId) -// .eq(AttendanceResult::getAttendanceDate, LocalDate.now()) -// .isNull(AttendanceResult::getStartStatus)); -// -// if (ObjectUtil.equals(AttendanceModeTypeEnum.FIX.getValue(), rule.getType())) { -// //固定打卡 -// resultList.addAll(list(Wrappers.lambdaQuery(new AttendanceResult()) -// .eq(AttendanceResult::getRuleId, ruleId) -// .eq(AttendanceResult::getAttendanceDate, LocalDate.now()) -// .isNull(AttendanceResult::getEndStatus))); -// } -// if (mode == 1) { -// //TODO 发送给家长端 -// } else { -// //查询规则管理员 -// AttendanceRuleAdmin admin = new AttendanceRuleAdmin(); -// admin.setRuleId(ruleId); -// List adminList = attendanceRuleAdminService.findList(admin); -// -// Map> adminMap = adminList.stream() -// .collect(Collectors.groupingBy(AttendanceRuleAdmin::getStaffId)); -// -// adminMap.forEach((k, v) -> { -// List dayReportDataDTOList = new ArrayList<>(); -// for (AttendanceRuleAdmin attendanceRuleAdmin : v) { -// DayReportDataDTO dto = new DayReportDataDTO(); -// List deptIdList = new ArrayList<>(); -// EduUserDept userDept = commonService.getUserDept(attendanceRuleAdmin.getDeptId()); -// dto.setDeptName(userDept.getDeptName()); -// -// if (ObjectUtil.equals(UserDeptTypeEnum.CLASS_TYPE.getValue(), userDept.getDeptType())) { -// deptIdList = Arrays.asList(userDept.getDeptId()); -// -// } else { -// //查看班级 -// deptIdList = remoteUserDeptService -// .findChildIdByParentAndTypeNoPermission(attendanceRuleAdmin.getDeptId(), 1) -// .getData().stream().map(EduUserDept::getDeptId).collect( -// Collectors.toList()); -// } -// -// //管理总人数 -// List mangerUserIdList = attendanceRuleObjUserService -// .list(Wrappers.lambdaQuery(new AttendanceRuleObjUser()) -// .in(AttendanceRuleObjUser::getDeptId, deptIdList) -// .eq(AttendanceRuleObjUser::getRuleId, ruleId)).stream().map(AttendanceRuleObjUser::getUserId) -// .collect( -// Collectors.toList()); -// -// //未打卡人数 -// List mangerResultList = resultList.stream() -// .filter(result -> mangerUserIdList.contains(result.getUserId())).collect(Collectors.toList()); -// -// dto.setTotalNum(mangerUserIdList.size()); -// dto.setAbNum(mangerResultList.size()); -// dayReportDataDTOList.add(dto); -// } -// noticeService.sendStudentAttendanceDayReportToStaff(k, dayReportDataDTOList, rule); -// }); -// } -// } - } - - - @Override - public StaRecordCountVO staRecordCount(LocalDate startDate, LocalDate endDate, List schoolIds) { - List list = list(Wrappers.lambdaQuery(new AttendanceResult()) - .in(AttendanceResult::getSchoolId, schoolIds) - .between(AttendanceResult::getAttendanceDate, startDate, endDate)); - - Map> studentFixNormal = list.stream() - .filter(r -> ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), r.getUserType()) - && ObjectUtil.equals(AttendanceModeTypeEnum.FIX.getValue(), r.getAttType()) - && ObjectUtil.equals(AttendanceResultEnum.NORMAL, r.getStartStatus()) - && ObjectUtil.equals(AttendanceResultEnum.NORMAL, r.getEndStatus())) - .collect(Collectors.groupingBy(AttendanceResult::getUserId)); - - Map> studentFixAbNormal = list.stream() - .filter(r -> (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), r.getUserType()) - && ObjectUtil.equals(AttendanceModeTypeEnum.FIX.getValue(), r.getAttType())) - && !(ObjectUtil.equals(AttendanceResultEnum.NORMAL, r.getStartStatus()) && ObjectUtil - .equals(AttendanceResultEnum.NORMAL, r.getEndStatus()))) - .collect(Collectors.groupingBy(AttendanceResult::getUserId)); - - Map> studentFreeNormal = list.stream() - .filter(r -> ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), r.getUserType()) - && ObjectUtil.equals(AttendanceModeTypeEnum.FREE.getValue(), r.getAttType()) - && ObjectUtil.equals(AttendanceResultEnum.NORMAL, r.getStartStatus())) - .collect(Collectors.groupingBy(AttendanceResult::getUserId)); - - Map> studentFreeAbNormal = list.stream() - .filter(r -> ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), r.getUserType()) - && ObjectUtil.equals(AttendanceModeTypeEnum.FREE.getValue(), r.getAttType()) - && !ObjectUtil.equals(AttendanceResultEnum.NORMAL, r.getStartStatus())) - .collect(Collectors.groupingBy(AttendanceResult::getUserId)); - - Map> studentFixLate = list.stream() - .filter(r -> ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), r.getUserType()) - && ObjectUtil.equals(AttendanceModeTypeEnum.FIX.getValue(), r.getAttType()) - && ObjectUtil.equals(AttendanceResultEnum.ABNORMAL.getValue(), r.getStartStatus())) - .collect(Collectors.groupingBy(AttendanceResult::getUserId)); - -// -// Map> studentFixLate = list.stream() -// .filter(r -> ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), r.getUserType()) -// && ObjectUtil.equals(AttendanceModeTypeEnum.FIX.getValue(), r.getAttType()) -// && ObjectUtil.equals(AttendanceResultEnum.ABNORMAL.getValue(), r.getStartStatus())) -// .collect(Collectors.groupingBy(AttendanceResult::getUserId)); - -// private Integer studentNormal; -// -// private Integer studentLate; -// -// private Integer studentNotArrive; -// -// private Integer studentRequest; -// -// private Integer staffNormal; -// -// private Integer staffLate; -// -// private Integer staffNotArrive; - return null; - } - - - private List initUserIdList(List adminList, Integer userType) { - List userIdList = new ArrayList<>(); - //查询用户ID集合 - for (AttendanceRuleAdmin admin : adminList) { - List objList = attendanceRuleObjService.findList(admin.getDeptId(), admin.getRuleId()); - userIdList.addAll(attendanceRuleObjUserService - .list(Wrappers.lambdaQuery(new AttendanceRuleObjUser()) - .in(AttendanceRuleObjUser::getDeptId, objList.stream().map(AttendanceRuleObj::getDeptId).collect( - Collectors.toList())) - .eq(AttendanceRuleObjUser::getUserType, userType) - .eq(AttendanceRuleObjUser::getRuleId, admin.getRuleId())).stream().map(AttendanceRuleObjUser::getUserId) - .collect(Collectors.toList())); - - } - return userIdList.stream().distinct().collect(Collectors.toList()); - } - - - /** - * @return - */ - private List initStatusByDate(List userIdList, Integer userType, LocalDate attendanceStartDate, - LocalDate attendanceEndDate) { - - List attendanceStatusByMonthVOList = baseMapper - .findAttendanceStatus(userType, userIdList, attendanceStartDate, attendanceEndDate); - - for (AttendanceStatusByMonthVO attendanceStatusVO : attendanceStatusByMonthVOList) { - //判断总的状态 - //先判断是否需要打卡 - AttendanceRuleVO rule = attendanceRuleService.getRule(attendanceStatusVO.getRuleId()); - - if (attendanceStatusVO.getDate().isAfter(LocalDate.now())) { - attendanceStatusVO.setStatus(4); //大于当前日期 - continue; - } - - if (ObjectUtil.isNotNull(rule) && !rule.getWeek() - .contains(String.valueOf(LocalDate.now().getDayOfWeek().getValue()))) { - attendanceStatusVO.setStatus(3); //非考勤日不参与打卡 - continue; - } - //请假状态 - if (userIdList.size() == 1) { - if (!(ObjectUtil.equals(AttendanceResultEnum.NORMAL.getValue(), attendanceStatusVO.getStartStatus()) && - ObjectUtil.equals(AttendanceResultEnum.NORMAL.getValue(), attendanceStatusVO.getEndStatus()))) { - AddAttendanceRuleTimeDTO ruleTime = attendanceRuleTimeService.get(attendanceStatusVO.getRuleTimeId()); - if (ObjectUtil.isNotNull(ruleTime)) { - ListUserRequestDTO requestDTO = new ListUserRequestDTO(); - requestDTO.setRequestType(userType); - requestDTO.setUserIdList(Arrays.asList(userIdList.get(0))); - requestDTO.setStartTime(attendanceStatusVO.getDate().atTime(ruleTime.getStartTime())); - requestDTO.setEndTime(attendanceStatusVO.getDate().atTime(ruleTime.getEndTime())); - List requestUserVOList = remoteLeaveRequestService.findList(requestDTO).getData(); - if (CollUtil.isNotEmpty(requestUserVOList)) { - attendanceStatusVO.setStatus(2); - continue; - } - } - } - } - if (ObjectUtil.equals(AttendanceModeTypeEnum.FIX.getValue(), attendanceStatusVO.getAttType()) ? - (ObjectUtil.equals(AttendanceResultEnum.NORMAL.getValue(), attendanceStatusVO.getStartStatus()) && - ObjectUtil.equals(AttendanceResultEnum.NORMAL.getValue(), attendanceStatusVO.getEndStatus())) - : ObjectUtil.equals(AttendanceResultEnum.NORMAL.getValue(), attendanceStatusVO.getStartStatus())) { - attendanceStatusVO.setStatus(0); - } else { - attendanceStatusVO.setStatus(1); - } - - } - List retList = new ArrayList<>(); - Map> listMap = attendanceStatusByMonthVOList.stream() - .collect(Collectors.groupingBy(AttendanceStatusByMonthVO::getDate)); - - listMap.forEach((k, v) -> { - DateStatusVO vo = new DateStatusVO(); - vo.setDate(k); - List abNomalList = v.stream() - .filter(n -> ObjectUtil.equals(AttendanceResultEnum.ABNORMAL.getValue(), n.getStatus())) - .collect(Collectors.toList()); - if (abNomalList.size() > 0) { - vo.setStatus(AttendanceResultEnum.ABNORMAL.getValue()); - } else { - vo.setStatus(v.get(0).getStatus()); - } - retList.add(vo); - }); - - if (CollUtil.isNotEmpty(retList)) { - Collections.reverse(retList); - } - return retList; - } - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleAddressServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleAddressServiceImpl.java deleted file mode 100644 index 77516de..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleAddressServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.mapper.AttendanceRuleAddressMapper; -import com.yida.data.attendance.service.AttendanceRuleAddressService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleAddress; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** -* 考勤规则关联地点 Service实现 -* -* @date 2023-08-09 11:37:25 -*/ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class AttendanceRuleAddressServiceImpl extends ServiceImpl - implements AttendanceRuleAddressService { - - - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleAdminServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleAdminServiceImpl.java deleted file mode 100644 index b843d2b..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleAdminServiceImpl.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.mapper.AttendanceRuleAdminMapper; -import com.yida.data.attendance.service.AttendanceRuleAdminService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleAdmin; -import java.util.List; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** - * 考勤-规则管理员 Service实现 - * - * @date 2023-08-09 11:37:25 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class AttendanceRuleAdminServiceImpl extends ServiceImpl - implements AttendanceRuleAdminService { - - - @Override - public List findList(AttendanceRuleAdmin admin) { - - return baseMapper.findList(admin); - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleDeviceServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleDeviceServiceImpl.java deleted file mode 100644 index 7aca615..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleDeviceServiceImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.mapper.AttendanceRuleDeviceMapper; -import com.yida.data.attendance.service.AttendanceRuleDeviceService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleDevice; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** - * 考勤规则关联设备表 Service实现 - * - * @date 2023-08-09 11:37:25 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class AttendanceRuleDeviceServiceImpl extends ServiceImpl - implements AttendanceRuleDeviceService { - - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleObjServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleObjServiceImpl.java deleted file mode 100644 index 32dae84..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleObjServiceImpl.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.mapper.AttendanceRuleObjMapper; -import com.yida.data.attendance.service.AttendanceRuleObjService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleObj; -import java.util.List; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** - * 规则适用部门 Service实现 - * - * @date 2023-08-09 11:37:25 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class AttendanceRuleObjServiceImpl extends ServiceImpl - implements AttendanceRuleObjService { - - @Override - public List findList(Long deptId, Long ruleId) { - return baseMapper.findList(deptId, ruleId); - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleObjUserServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleObjUserServiceImpl.java deleted file mode 100644 index 80e7302..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleObjUserServiceImpl.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.mapper.AttendanceRuleObjUserMapper; -import com.yida.data.attendance.service.AttendanceRuleObjUserService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleObj; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleObjUser; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.entity.user.enums.StudentStatusEnum; -import com.yida.data.common.core.entity.user.enums.StudentTypeEnum; -import com.yida.data.common.core.enums.UserTypeEnum; -import com.yida.data.common.core.enums.attendance.AttendanceTypeEnum; -import com.yida.data.common.core.enums.attendance.AttendanceUserTypeEnum; -import com.yida.data.common.service.CommonService; -import com.yida.data.user.dto.ListStaffDTO; -import com.yida.data.user.dto.ListStudentDTO; -import com.yida.data.user.feign.RemoteStaffService; -import com.yida.data.user.feign.RemoteStudentService; -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** - * 规则适用部门 Service实现 - * - * @date 2023-08-09 11:37:25 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -@Slf4j -public class AttendanceRuleObjUserServiceImpl extends ServiceImpl - implements AttendanceRuleObjUserService { - - private final RemoteStudentService remoteStudentService; - private final RemoteStaffService remoteStaffService; - private final CommonService commonService; - - @Override - public void addRuleUser(List ruleObjList, Long schoolId, Integer ruleType) { - //先删除原有数据 - remove(Wrappers.lambdaQuery(new AttendanceRuleObjUser()) - .eq(AttendanceRuleObjUser::getRuleId, ruleObjList.get(0).getRuleId())); - List userList = new ArrayList<>(); - //获取本校全部学生 - List allEduStudentList = new ArrayList<>(); - if (!ObjectUtil.equals(UserTypeEnum.STAFF_USER_TYPE.getType(), ruleType)) { - ListStudentDTO listStudentDTO = new ListStudentDTO(); - listStudentDTO.setIsQueryUserDept(false); - listStudentDTO.setIsQueryParent(false); - listStudentDTO.setIsQuerySchoolName(false); - listStudentDTO.setSchoolId(schoolId); - allEduStudentList = remoteStudentService.listStudent(listStudentDTO).getData(); - if (ObjectUtil.equals(AttendanceUserTypeEnum.STUDENT_TO_DORM.getValue(), ruleType)) { - allEduStudentList = allEduStudentList.stream().filter(student -> ObjectUtil.equals(1, student.getType()) - && (ObjectUtil.isNull(student.getStudentStatus()) || (ObjectUtil.isNotNull(student.getStatus()) && ObjectUtil - .equals(StudentStatusEnum.ZAIDU.getStatus(), student.getStudentStatus())))) - .collect(Collectors.toList()); - } - } - for (AttendanceRuleObj attendanceRuleObj : ruleObjList) { - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), attendanceRuleObj.getUserType())) { - List collect = allEduStudentList.stream() - .filter(eduStudent -> eduStudent.getClassId().equals(attendanceRuleObj.getDeptId())).collect( - Collectors.toList()); - - if (CollUtil.isNotEmpty(collect)) { - for (EduStudent student : collect) { - AttendanceRuleObjUser user = new AttendanceRuleObjUser(); - user.setDeptId(attendanceRuleObj.getDeptId()); - user.setRuleId(attendanceRuleObj.getRuleId()); - user.setUserType(attendanceRuleObj.getUserType()); - user.setUserId(student.getId()); - user.setUserName(student.getStuName()); - userList.add(user); - } - } - } else { - //职工 - ListStaffDTO dto = new ListStaffDTO(); - dto.setDeptId(attendanceRuleObj.getDeptId()); - List eduStaffList = remoteStaffService.listStaff(dto).getData(); - if (CollUtil.isNotEmpty(eduStaffList)) { - for (EduStaff staff : eduStaffList) { - //判断是否已存在 - AttendanceRuleObjUser user = new AttendanceRuleObjUser(); - user.setDeptId(attendanceRuleObj.getDeptId()); - user.setRuleId(attendanceRuleObj.getRuleId()); - user.setUserType(attendanceRuleObj.getUserType()); - user.setUserId(staff.getId()); - user.setUserName(staff.getName()); - userList.add(user); - } - } - } - } - if (CollUtil.isNotEmpty(userList)) { - saveBatch(userList); - } - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleRemindServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleRemindServiceImpl.java deleted file mode 100644 index ff5c646..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleRemindServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.mapper.AttendanceRuleRemindMapper; -import com.yida.data.attendance.service.AttendanceRuleRemindService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleRemind; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** -* 考勤-打卡提醒 Service实现 -* -* @date 2023-08-09 11:37:25 -*/ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class AttendanceRuleRemindServiceImpl extends ServiceImpl - implements AttendanceRuleRemindService { - - - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleServiceImpl.java deleted file mode 100644 index 79dac4b..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleServiceImpl.java +++ /dev/null @@ -1,852 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.codec.Base64; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.lang.UUID; -import cn.hutool.core.util.NumberUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.google.common.collect.Lists; -import com.yida.data.attendance.dto.AddAttendanceRuleDTO; -import com.yida.data.attendance.dto.AddAttendanceRuleTimeDTO; -import com.yida.data.attendance.dto.AttendanceFaceMatchDTO; -import com.yida.data.attendance.dto.AttendanceRuleAdminUserAddDTO; -import com.yida.data.attendance.dto.AttendanceRuleAdminUserPageDTO; -import com.yida.data.attendance.dto.AttendanceRuleUserAddDTO; -import com.yida.data.attendance.dto.AttendanceRuleUserPageDTO; -import com.yida.data.attendance.dto.DayReportDataDTO; -import com.yida.data.attendance.dto.PageAttendanceRuleDTO; -import com.yida.data.attendance.dto.UpdateAttendanceRuleStatusDTO; -import com.yida.data.attendance.mapper.AttendanceResultMapper; -import com.yida.data.attendance.mapper.AttendanceRuleMapper; -import com.yida.data.attendance.service.AttendanceRuleAddressService; -import com.yida.data.attendance.service.AttendanceRuleAdminService; -import com.yida.data.attendance.service.AttendanceRuleDeviceService; -import com.yida.data.attendance.service.AttendanceRuleObjService; -import com.yida.data.attendance.service.AttendanceRuleObjUserService; -import com.yida.data.attendance.service.AttendanceRuleRemindService; -import com.yida.data.attendance.service.AttendanceRuleService; -import com.yida.data.attendance.service.AttendanceRuleSpecialDateService; -import com.yida.data.attendance.service.AttendanceRuleTimeService; -import com.yida.data.attendance.service.AttendanceRuleWhiteListService; -import com.yida.data.attendance.service.AttendanceRuleWifiService; -import com.yida.data.attendance.vo.AttendanceFaceMatchVO; -import com.yida.data.attendance.vo.AttendanceRuleAdminUserVO; -import com.yida.data.attendance.vo.AttendanceRuleUserVO; -import com.yida.data.attendance.vo.AttendanceRuleVO; -import com.yida.data.attendance.vo.ConflictRuleVO; -import com.yida.data.attendance.vo.DayReportDataVO; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceResult; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRule; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleAddress; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleAdmin; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleDevice; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleObj; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleObjUser; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleRemind; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleSpecialDate; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleTime; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleWhiteList; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleWifi; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.system.BaiduApiConfig; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStaffDept; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.entity.user.EduUserDept; -import com.yida.data.common.core.entity.user.enums.UserDeptTypeEnum; -import com.yida.data.common.core.enums.BaiDuModuleEnum; -import com.yida.data.common.core.enums.UserTypeEnum; -import com.yida.data.common.core.enums.attendance.AttendanceResultEnum; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.BaiDuUtil; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.common.core.utils.FileUtil; -import com.yida.data.common.service.CommonService; -import com.yida.data.school.dto.userLeave.ListUserRequestDTO; -import com.yida.data.school.feign.leave.RemoteLeaveRequestService; -import com.yida.data.school.vo.userLeave.EduLeaveRequestUserVO; -import com.yida.data.system.feign.RemoteDeptService; -import com.yida.data.user.dto.ListStaffDTO; -import com.yida.data.user.dto.ListStudentDTO; -import com.yida.data.user.feign.RemoteStaffService; -import com.yida.data.user.feign.RemoteStudentService; -import com.yida.data.user.feign.RemoteUserDeptService; -import java.io.File; -import java.math.BigDecimal; -import java.time.LocalDate; -import java.time.LocalTime; -import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** - * 教职工考勤规则 Service实现 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS) -public class AttendanceRuleServiceImpl extends ServiceImpl - implements AttendanceRuleService { - - private final RedisService redisService; - private final AttendanceRuleObjService attendanceRuleObjService; - private final AttendanceRuleObjUserService attendanceRuleObjUserService; - private final AttendanceRuleSpecialDateService attendanceRuleSpecialDateService; - private final AttendanceRuleWhiteListService attendanceRuleWhiteListService; - private final AttendanceRuleDeviceService attendanceRuleDeviceService; - private final AttendanceRuleWifiService attendanceRuleWifiService; - private final AttendanceRuleAddressService attendanceRuleAddressService; - private final AttendanceRuleTimeService attendanceRuleTimeService; - private final AttendanceRuleAdminService attendanceRuleAdminService; - private final AttendanceRuleRemindService attendanceRuleRemindService; - private final AttendanceResultMapper attendanceResultMapper; - private final RemoteUserDeptService remoteUserDeptService; - - private final RemoteStudentService remoteStudentService; - private final RemoteStaffService remoteStaffService; - private final RemoteDeptService remoteDeptService; - private final CommonService commonService; - private final RemoteLeaveRequestService remoteLeaveRequestService; - - @Value("${febs.uploadUrl}") - private String uploadUrl; - - @Override - public void addAttendanceRule(AddAttendanceRuleDTO dto) { - if (CollUtil.isEmpty(dto.getAttendanceRuleObjList())) { - throw new FebsException("请添加打卡对象"); - } - //检验规则是否冲突 - List conflictRuleVOList = checkConflict(dto); - if (CollUtil.isNotEmpty(conflictRuleVOList)) { - StringBuilder builder = new StringBuilder(); - for (ConflictRuleVO vo : conflictRuleVOList) { - builder.append(vo.getDeptName()) - .append("已存在") - .append(vo.getRuleName()) - .append("规则") - .append(","); - } - builder.append("上述规则的运行时间与本规则运行时间有重叠,请调整设置。"); - throw new FebsException(builder.toString()); - } - - if (ObjectUtil.isNotNull(dto.getId())) { - //编辑 - removeAttachedList(Lists.newArrayList(dto.getId()), false); - - //TODO 考勤时段不能删除 - //更新规则缓存信息 - redisService.hdel(CachePrefixConstant.ATTENDANCE_RULE_DATA, String.valueOf(dto.getId())); - } - AttendanceRule rule = new AttendanceRule(); - BeanUtils.copyProperties(dto, rule); - rule.setSchoolId(FebsUtil.getDeptId()); - saveOrUpdate(rule); - - List ruleObjList = new ArrayList<>(); - if (CollUtil.isNotEmpty(dto.getAttendanceRuleObjList())) { - dto.getAttendanceRuleObjList().forEach(addAttendanceRuleObjDTO -> { - AttendanceRuleObj attendanceRuleObj = new AttendanceRuleObj(); - BeanUtils.copyProperties(addAttendanceRuleObjDTO, attendanceRuleObj); - attendanceRuleObj.setUserType(dto.getUserType() == 0 ? 0 : 1); - attendanceRuleObj.setRuleId(rule.getId()); - ruleObjList.add(attendanceRuleObj); - }); - } - if (CollUtil.isNotEmpty(ruleObjList)) { - attendanceRuleObjService.saveBatch(ruleObjList); - } - - List attendanceRuleSpecialDateArrayList = new ArrayList<>(); - if (CollUtil.isNotEmpty(dto.getSpecialDateDTOList())) { - dto.getSpecialDateDTOList().forEach(specialDateDTO -> { - AttendanceRuleSpecialDate specialDate = new AttendanceRuleSpecialDate(); - BeanUtils.copyProperties(specialDateDTO, specialDate); - specialDate.setRuleId(rule.getId()); - attendanceRuleSpecialDateArrayList.add(specialDate); - }); - } - if (CollUtil.isNotEmpty(attendanceRuleSpecialDateArrayList)) { - attendanceRuleSpecialDateService.saveBatch(attendanceRuleSpecialDateArrayList); - } - - List attendanceRuleWhiteListArrayList = new ArrayList<>(); - if (CollUtil.isNotEmpty(dto.getWhiteListDTOList())) { - dto.getWhiteListDTOList().forEach(whiteListDTO -> { - AttendanceRuleWhiteList whiteList = new AttendanceRuleWhiteList(); - BeanUtils.copyProperties(whiteListDTO, whiteList); - whiteList.setRuleId(rule.getId()); - whiteList.setUserType(dto.getUserType() == 0 ? 0 : 1); - attendanceRuleWhiteListArrayList.add(whiteList); - }); - } - if (CollUtil.isNotEmpty(attendanceRuleWhiteListArrayList)) { - attendanceRuleWhiteListService.saveBatch(attendanceRuleWhiteListArrayList); - } - - List attendanceRuleDeviceArrayList = new ArrayList<>(); - if (CollUtil.isNotEmpty(dto.getDeviceDTOList())) { - dto.getDeviceDTOList().forEach(deviceDTO -> { - AttendanceRuleDevice device = new AttendanceRuleDevice(); - BeanUtils.copyProperties(deviceDTO, device); - device.setRuleId(rule.getId()); - attendanceRuleDeviceArrayList.add(device); - }); - } - if (CollUtil.isNotEmpty(attendanceRuleDeviceArrayList)) { - attendanceRuleDeviceService.saveBatch(attendanceRuleDeviceArrayList); - } - - List attendanceRuleWifiArrayList = new ArrayList<>(); - if (CollUtil.isNotEmpty(dto.getWifiDTOList())) { - dto.getWifiDTOList().forEach(wifiDTO -> { - AttendanceRuleWifi wifi = new AttendanceRuleWifi(); - BeanUtils.copyProperties(wifiDTO, wifi); - wifi.setRuleId(rule.getId()); - attendanceRuleWifiArrayList.add(wifi); - }); - } - if (CollUtil.isNotEmpty(attendanceRuleWifiArrayList)) { - attendanceRuleWifiService.saveBatch(attendanceRuleWifiArrayList); - } - - List attendanceRuleAddresseList = new ArrayList<>(); - if (CollUtil.isNotEmpty(dto.getAddressDTOList())) { - dto.getAddressDTOList().forEach(addressDTO -> { - AttendanceRuleAddress address = new AttendanceRuleAddress(); - BeanUtils.copyProperties(addressDTO, address); - address.setRuleId(rule.getId()); - attendanceRuleAddresseList.add(address); - }); - } - if (CollUtil.isNotEmpty(attendanceRuleAddresseList)) { - attendanceRuleAddressService.saveBatch(attendanceRuleAddresseList); - } - - //考勤时段 - List attendanceRuleTimeArrayList = new ArrayList<>(); - if (CollUtil.isNotEmpty(dto.getTimeDTOList())) { - dto.getTimeDTOList().forEach(timeDTO -> { - AttendanceRuleTime time = new AttendanceRuleTime(); - BeanUtils.copyProperties(timeDTO, time); - time.setRuleId(rule.getId()); - attendanceRuleTimeArrayList.add(time); - }); - } - if (CollUtil.isNotEmpty(attendanceRuleTimeArrayList)) { - attendanceRuleTimeService.saveOrUpdateBatch(attendanceRuleTimeArrayList); - } - - List attendanceRuleAdminList = new ArrayList<>(); - if (CollUtil.isNotEmpty(dto.getAdminDTOList())) { - dto.getAdminDTOList().forEach(adminDTO -> { - if (ObjectUtil.isNotNull(adminDTO.getDeptId()) && ObjectUtil.isNotNull(adminDTO.getStaffId())) { - AttendanceRuleAdmin admin = new AttendanceRuleAdmin(); - BeanUtils.copyProperties(adminDTO, admin); - admin.setRuleId(rule.getId()); - admin.setUserType(dto.getUserType() == 0 ? 0 : 1); - admin.setSchoolId(FebsUtil.getTopDeptId()); - attendanceRuleAdminList.add(admin); - } - }); - } - if (CollUtil.isNotEmpty(attendanceRuleAdminList)) { - attendanceRuleAdminService.saveBatch(attendanceRuleAdminList); - } - - List attendanceRuleRemindList = new ArrayList<>(); - if (ObjectUtil.isNotEmpty(dto.getRemindDTOList())) { - dto.getRemindDTOList().forEach(remindDTO -> { - AttendanceRuleRemind remind = new AttendanceRuleRemind(); - BeanUtils.copyProperties(remindDTO, remind); - remind.setRuleId(rule.getId()); - remind.setUserType(dto.getUserType() == 0 ? 0 : 1); - attendanceRuleRemindList.add(remind); - }); - } - if (CollUtil.isNotEmpty(attendanceRuleRemindList)) { - attendanceRuleRemindService.saveBatch(attendanceRuleRemindList); - } - - //TODO 添加具体的打卡人员 - attendanceRuleObjUserService.addRuleUser(ruleObjList, FebsUtil.getTopDeptId(), rule.getUserType()); - - //清除缓存信息 - commonService.clearAttendanceRuleData(); - } - - - @Override - public AttendanceRuleVO getRule(Long id) { - return baseMapper.getRule(id); - } - - @Override - public void deleteRule(List idList) { - removeAttachedList(idList, true); - removeByIds(idList); - - //清除缓存信息 - commonService.clearAttendanceRuleData(); - } - - @Override - public IPage listRulePage(PageAttendanceRuleDTO dto) { - return baseMapper - .listRulePage(dto.toPage(), dto.getSchoolId(), dto.getRuleName(), dto.getType(), dto.getUserType(), - dto.getStatus()); - } - - @Override - public List listRule(PageAttendanceRuleDTO dto) { - return baseMapper - .listRule(dto.getSchoolId(), dto.getRuleName(), dto.getType(), dto.getUserType(), - dto.getStatus()); - } - - @Override - public IPage listRuleAttendanceUser(AttendanceRuleUserPageDTO dto) { - List userIdList = new ArrayList<>(); - ListStudentDTO param = new ListStudentDTO(); - ListStaffDTO staffParam = new ListStaffDTO(); - if (ObjectUtil.isNotNull(dto.getUserName())) { - if (ObjectUtil.equals(dto.getUserType(), UserTypeEnum.PARENT_USER_TYPE.getType())) { - param.setStuName(dto.getUserName()); - } else { - staffParam.setName(dto.getUserName()); - } - } - param.setSchoolId(dto.getSchoolId()); - param.setCampusId(dto.getCampusId()); - param.setSectionId(dto.getSectionId()); - param.setGradeId(dto.getGradeId()); - param.setClassId(dto.getClassId()); - staffParam.setDeptId(dto.getDeptId()); - if (ObjectUtil.isNotNull(dto.getUserName()) || ObjectUtil.isNotNull(dto.getCampusId()) - || ObjectUtil.isNotNull(dto.getSectionId()) || ObjectUtil.isNotNull(dto.getGradeId()) - || ObjectUtil.isNotNull(dto.getClassId())) { - List idList = remoteStudentService.listStudent(param).getData().stream().map(EduStudent::getId) - .collect(Collectors.toList()); - if (CollUtil.isNotEmpty(idList)) { - userIdList.addAll(idList); - dto.setUserIdList(userIdList); - } else { - dto.setUserIdList(Arrays.asList(-1L)); - } - } - if (ObjectUtil.isNotNull(dto.getUserName()) || ObjectUtil.isNotNull(dto.getDeptId())) { - List idList = remoteStaffService.listStaff(staffParam).getData().stream().map(EduStaff::getId) - .collect(Collectors.toList()); - if (CollUtil.isNotEmpty(idList)) { - userIdList.addAll(idList); - dto.setUserIdList(userIdList); - } else { - dto.setUserIdList(Arrays.asList(-1L)); - } - } - - IPage attendanceRuleUserVOIPage = baseMapper.listRuleAttendanceUser(dto.toPage(), dto); - List records = attendanceRuleUserVOIPage.getRecords(); - for (AttendanceRuleUserVO record : records) { - if (ObjectUtil.equals(dto.getUserType(), UserTypeEnum.PARENT_USER_TYPE.getType())) { - //学生信息 - EduStudent student = commonService.getStudentById(record.getUserId()); - record.setUserName(student.getStuName()); - record.setDeptName(student.getCampusName() + "/" + student.getSectionName() + "/" + student.getClassName()); - } else { - EduStaff staff = commonService.getStaffById(record.getUserId()); - record.setUserName(staff.getName()); - record.setDeptName(staff.getStaffDept().get(0).getDeptName()); - } - } - return attendanceRuleUserVOIPage; - } - - @Override - public void deleteRuleAttendanceUser(List ids) { - //删除今日考勤结果 - for (Long id : ids) { - AttendanceRuleObjUser objUser = attendanceRuleObjUserService.getById(id); - attendanceResultMapper.delete(Wrappers.lambdaQuery(new AttendanceResult()) - .eq(AttendanceResult::getAttendanceDate, LocalDate.now()) - .eq(AttendanceResult::getRuleId, objUser.getRuleId()) - .eq(AttendanceResult::getUserId, objUser.getUserId()) - .eq(AttendanceResult::getUserType, objUser.getUserType())); - } - //删除主体 - attendanceRuleObjUserService.removeByIds(ids); - } - - @Override - public void addRuleAttendanceUser(AttendanceRuleUserAddDTO dto) { - AttendanceRuleObjUser objUser = new AttendanceRuleObjUser(); - BeanUtils.copyProperties(dto, objUser); - if (ObjectUtil.equals(dto.getUserType(), UserTypeEnum.PARENT_USER_TYPE.getType())) { - EduStudent student = commonService.getStudentById(dto.getUserId()); - if (ObjectUtil.isNull(student)) { - throw new FebsException("用户不存在"); - } - List list = attendanceRuleObjUserService.list(Wrappers.lambdaQuery(new AttendanceRuleObjUser()) - .eq(AttendanceRuleObjUser::getUserId, dto.getUserId()) - .eq(AttendanceRuleObjUser::getUserType, dto.getUserType()) - .eq(AttendanceRuleObjUser::getRuleId, dto.getRuleId())); - - if (CollUtil.isNotEmpty(list)) { - throw new FebsException("用户已添加"); - } - if (ObjectUtil.isNotNull(student)) { - objUser.setDeptId(student.getClassId()); - objUser.setUserName(student.getStuName()); - } - - List objList = attendanceRuleObjService.list(Wrappers.lambdaQuery(new AttendanceRuleObj()) - .eq(AttendanceRuleObj::getRuleId, dto.getRuleId()) - .eq(AttendanceRuleObj::getDeptId, student.getClassId()) - .eq(AttendanceRuleObj::getUserType, dto.getUserType())); - - if (CollUtil.isEmpty(objList)) { - throw new FebsException("用户部门未加入考勤规则,请编辑规则"); - } - } else { - EduStaff staff = commonService.getStaffById(dto.getUserId()); - if (ObjectUtil.isNull(staff)) { - throw new FebsException("用户不存在"); - } - List list = attendanceRuleObjUserService.list(Wrappers.lambdaQuery(new AttendanceRuleObjUser()) - .eq(AttendanceRuleObjUser::getUserId, dto.getUserId()) - .eq(AttendanceRuleObjUser::getUserType, dto.getUserType()) - .eq(AttendanceRuleObjUser::getRuleId, dto.getRuleId())); - - if (CollUtil.isNotEmpty(list)) { - throw new FebsException("用户已添加"); - } - if (ObjectUtil.isNotNull(staff)) { - objUser.setDeptId(staff.getStaffDept().get(0).getDeptId()); - objUser.setUserName(staff.getName()); - } - - List objList = attendanceRuleObjService.list(Wrappers.lambdaQuery(new AttendanceRuleObj()) - .eq(AttendanceRuleObj::getRuleId, dto.getRuleId()) - .eq(AttendanceRuleObj::getDeptId, staff.getStaffDept().get(0).getDeptId()) - .eq(AttendanceRuleObj::getUserType, dto.getUserType())); - - if (CollUtil.isEmpty(objList)) { - throw new FebsException("用户部门未加入考勤规则,请编辑规则"); - } - } - - AttendanceRuleVO rule = getRule(dto.getRuleId()); - - AttendanceResult result = new AttendanceResult(); - result.setAttType(rule.getType()); - result.setUserType(objUser.getUserType()); - result.setUserId(objUser.getUserId()); - result.setSchoolId(rule.getSchoolId()); - result.setRuleId(rule.getId()); - - for (AddAttendanceRuleTimeDTO ruleTimeDTO : rule.getTimeDTOList()) { - long count = attendanceResultMapper.selectCount(Wrappers.lambdaQuery(new AttendanceResult()) - .eq(AttendanceResult::getAttendanceDate, LocalDate.now()) - .eq(AttendanceResult::getUserId, objUser.getUserId()) - .eq(AttendanceResult::getRuleId, rule.getId()) - .eq(AttendanceResult::getRuleTimeId, ruleTimeDTO.getId())); - if (count == 0) { - result.setRuleTimeId(ruleTimeDTO.getId()); - result.setStartStiTime(ruleTimeDTO.getStartTime()); - result.setEndStiTime(ruleTimeDTO.getEndTime()); - result.setAttendanceDate(LocalDate.now()); - } - } - attendanceResultMapper.insert(result); - attendanceRuleObjUserService.save(objUser); - } - - @Override - public void updateRuleStatus(UpdateAttendanceRuleStatusDTO dto) { - update(Wrappers.lambdaUpdate(new AttendanceRule()) - .eq(AttendanceRule::getId, dto.getId()) - .set(AttendanceRule::getStatus, dto.getStatus())); - } - - @Override - public AttendanceRuleVO findUserMatchRule(Integer userType, Long userId, String deviceSn, String wifiName, String wifiBssid, - LocalDate currentDate, Long schoolId) { - //查询user 所属deptId - List deptIdList = new ArrayList<>(); - if (ObjectUtil.isNull(userType)) { - return null; - } - if (UserTypeEnum.STAFF_USER_TYPE.getType().equals(userType)) { - //教职工 - EduStaff staff = remoteStaffService.getStaff(userId).getData(); - if (Objects.isNull(staff)) { - if (redisService.hHasKey(CachePrefixConstant.STAFF_DATA, userId.toString())) { - redisService.hdel(CachePrefixConstant.STAFF_DATA, userId.toString()); - } - log.error("职工不存在,id:[{}]", userId); - return null; - } - if (ObjectUtil.isNull(schoolId)) { - schoolId = staff.getSchoolId(); - } - List staffDeptIdList = staff.getStaffDept().stream().map(EduStaffDept::getDeptId).collect(Collectors.toList()); - if (CollUtil.isNotEmpty(staffDeptIdList)) { - deptIdList = remoteDeptService.listParentDeptByChild(staffDeptIdList).getData().stream().map(Dept::getDeptId) - .collect(Collectors.toList()); - } - } else { - EduStudent student = remoteStudentService.getStudentNoPermission(userId).getData(); - - if (ObjectUtil.isNull(student)) { - if (redisService.hHasKey(CachePrefixConstant.STUDENT_DATA, userId.toString())) { - redisService.hdel(CachePrefixConstant.STUDENT_DATA, userId.toString()); - } - log.error("学生不存在,id:[{}]", userId); - return null; - } - if (ObjectUtil.isNull(schoolId)) { - schoolId = student.getSchoolId(); - } - deptIdList = Lists - .newArrayList(-student.getSchoolId(), student.getCampusId(), student.getSectionId(), student.getGradeId(), - student.getClassId()); - } - - if (CollUtil.isNotEmpty(deptIdList)) { - if (ObjectUtil.isNotNull(deviceSn)) { - List userMatchRuleByDevice = baseMapper - .findUserMatchRuleByDevice(userType, deptIdList, deviceSn, currentDate, currentDate.getDayOfWeek().getValue(), - schoolId); - if (CollUtil.isEmpty(userMatchRuleByDevice)) { - return null; - } else { - return userMatchRuleByDevice.get(0); - } - } else if (ObjectUtil.isNotNull(wifiBssid) && ObjectUtil.isNotNull(wifiName)) { - List userMatchRuleByWifi = baseMapper - .findUserMatchRuleByWifi(userType, deptIdList, wifiName, wifiBssid, null, currentDate, - currentDate.getDayOfWeek().getValue(), - schoolId); - if (CollUtil.isEmpty(userMatchRuleByWifi)) { - return null; - } else { - return userMatchRuleByWifi.get(0); - } - } - } - return null; - } - - @Override - public AttendanceFaceMatchVO AttendanceFaceMatch(AttendanceFaceMatchDTO dto) { - File file = null; - try { - String avatar = ""; - if (UserTypeEnum.STAFF_USER_TYPE.getType().equals(dto.getUserType())) { - EduStaff staff = commonService.getStaffById(dto.getUserId()); - avatar = staff.getAvatar(); - } else if (UserTypeEnum.PARENT_USER_TYPE.getType().equals(dto.getUserType())) { - EduStudent student = commonService.getStudentById(dto.getUserId()); - avatar = student.getAvatar(); - } else { - throw new FebsException("人员类型信息错误, 0=教职工,1=学生"); - } - if (ObjectUtil.isEmpty(avatar)) { - throw new FebsException("暂无人员人脸信息,请联系管理员"); - } - // 查询百度api配置信息 - BaiduApiConfig config = commonService - .getBaiDuApiConfigByDept(dto.getSchoolId(), BaiDuModuleEnum.FACE_DETECT.getValue()); - - if (Objects.isNull(config)) { - log.error("获取百度api相关信息错误deptId: {}", dto.getSchoolId()); - throw new FebsException("暂未配置人脸对比信息"); - } - // 人脸对比 阈值80 - String score = BaiDuUtil.faceMatch(config, avatar, dto.getBase64()); - int valid = NumberUtil.isLess(new BigDecimal("65"), new BigDecimal(score)) ? 1 : 0; - AttendanceFaceMatchVO matchVO = AttendanceFaceMatchVO - .builder() - .valid(valid) - .score(score) - .build(); - // 对比成功则上传图片 - if (valid == 1) { - String fileName = FileUtil.getLocalUploadAddress() + UUID.randomUUID() + ".png"; - file = new File(fileName); - // 上传图片 - file = Base64.decodeToFile(dto.getBase64(), file); - String url = FileUtil.uploadFileToMediaServer(uploadUrl, file); - matchVO.setUrl(url); - } else { - log.info("用户:{},人脸比对值:{}", dto.getUserId(), score); - } - return matchVO; - } catch (Exception e) { - throw new FebsException(e instanceof FebsException ? e.getMessage() : "人脸对比失败"); - } finally { - if (Objects.nonNull(file)) { - cn.hutool.core.io.FileUtil.del(file); - } - } - } - - @Override - public List findByUserIdAndUserType(Long userId, Integer userType) { - return baseMapper.findByUserIdAndUserType(userId, userType); - } - - - @Override - public List findUserManageRuleList(Long userId, Integer searchUserType) { - return baseMapper.findUserManageRuleList(userId, searchUserType); - } - - @Override - public List getSchoolIdList() { - return baseMapper.getSchoolIdList(); - } - - @Override - public IPage listRuleAttendanceAdminUser(AttendanceRuleAdminUserPageDTO dto) { - //根据条件查询下级部门ID - if (ObjectUtil.isNotNull(dto.getClassId())) { - dto.setDeptIdList(Arrays.asList(dto.getClassId())); - } else if (ObjectUtil.isNotNull(dto.getGradeId())) { - List deptList = remoteUserDeptService.findListByParent(dto.getGradeId()).getData(); - if (CollUtil.isNotEmpty(deptList)) { - List deptIdList = deptList.stream().map(EduUserDept::getDeptId).collect(Collectors.toList()); - deptIdList.add(dto.getGradeId()); - dto.setDeptIdList(deptIdList); - } else { - dto.setDeptIdList(Arrays.asList(dto.getGradeId())); - } - } else if (ObjectUtil.isNotNull(dto.getSectionId())) { - List deptList = remoteUserDeptService.findListByParent(dto.getSectionId()).getData(); - if (CollUtil.isNotEmpty(deptList)) { - List deptIdList = deptList.stream().map(EduUserDept::getDeptId).collect(Collectors.toList()); - deptIdList.add(dto.getSectionId()); - dto.setDeptIdList(deptIdList); - } else { - dto.setDeptIdList(Arrays.asList(dto.getGradeId())); - } - } else if (ObjectUtil.isNotNull(dto.getCampusId())) { - List deptList = remoteUserDeptService.findListByParent(dto.getCampusId()).getData(); - if (CollUtil.isNotEmpty(deptList)) { - List deptIdList = deptList.stream().map(EduUserDept::getDeptId).collect(Collectors.toList()); - deptIdList.add(dto.getCampusId()); - dto.setDeptIdList(deptIdList); - } else { - dto.setDeptIdList(Arrays.asList(dto.getGradeId())); - } - } - - if (ObjectUtil.isNotEmpty(dto.getStaffName())) { - ListStaffDTO param = new ListStaffDTO(); - param.setName(dto.getStaffName()); - List eduStaffList = remoteStaffService.listStaff(param).getData(); - if (CollUtil.isNotEmpty(eduStaffList)) { - List staffIdList = eduStaffList.stream().map(EduStaff::getId).collect(Collectors.toList()); - dto.setStaffIdList(staffIdList); - } - } - - IPage attendanceRuleAdminUserVOIPage = baseMapper - .listRuleAttendanceAdminUser(dto.toPage(), dto); - - List records = attendanceRuleAdminUserVOIPage.getRecords(); - for (AttendanceRuleAdminUserVO record : records) { - //查询部门Name - List eduUserDeptList = remoteUserDeptService.getParentListByDeptId(record.getDeptId()).getData(); - Collections.reverse(eduUserDeptList); - record.setDeptName(eduUserDeptList.stream() - .filter(eduUserDept -> ObjectUtil.isNotNull(eduUserDept) && ObjectUtil.isNotNull(eduUserDept.getDeptName())) - .map(EduUserDept::getDeptName).collect(Collectors.joining("/"))); - record.setStaffName(commonService.getStaffById(record.getStaffId()).getName()); - } - - return attendanceRuleAdminUserVOIPage; - } - - @Override - public void addAttendanceAdminUser(AttendanceRuleAdminUserAddDTO dto) { - AttendanceRuleAdmin admin = new AttendanceRuleAdmin(); - BeanUtils.copyProperties(dto, admin); - admin.setUserType(UserTypeEnum.PARENT_USER_TYPE.getType()); - admin.setSchoolId(FebsUtil.getTopDeptId()); - attendanceRuleAdminService.saveOrUpdate(admin); - } - - @Override - public void deleteRuleAttendanceAdminUser(List ids) { - attendanceRuleAdminService.removeByIds(ids); - } - - @Override - public List getDayReport(Long staffId, Integer userType, Long ruleId, String attendanceDateStr) { - - LocalDate attendanceDate = LocalDate.parse(attendanceDateStr, DateTimeFormatter.ofPattern("yyyy-MM-dd")); - - //今日未打卡人员 - List resultList = attendanceResultMapper.selectList(Wrappers.lambdaQuery(new AttendanceResult()) - .eq(AttendanceResult::getRuleId, ruleId) - .eq(AttendanceResult::getAttendanceDate, attendanceDate) - .isNull(AttendanceResult::getStartStatus)); - - List adminList = attendanceRuleAdminService.list(Wrappers.lambdaQuery(new AttendanceRuleAdmin()) - .eq(AttendanceRuleAdmin::getRuleId, ruleId) - .eq(AttendanceRuleAdmin::getStaffId, staffId)); - - List dayReportDataVOS = new ArrayList<>(); - for (AttendanceRuleAdmin attendanceRuleAdmin : adminList) { - DayReportDataVO vo = new DayReportDataVO(); - List deptIdList = new ArrayList<>(); - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), userType)) { - EduUserDept userDept = commonService.getUserDept(attendanceRuleAdmin.getDeptId()); - vo.setDeptName(ObjectUtil.isNull(userDept) ? "未知班级" : userDept.getDeptName()); - if (ObjectUtil.isNotNull(userDept)) { - if (ObjectUtil.equals(UserDeptTypeEnum.CLASS_TYPE.getValue(), userDept.getDeptType())) { - deptIdList = Arrays.asList(userDept.getDeptId()); - } else { - //查看班级 - deptIdList = remoteUserDeptService - .findChildIdByParentAndTypeNoPermission(attendanceRuleAdmin.getDeptId(), 1) - .getData().stream().map(EduUserDept::getDeptId).collect( - Collectors.toList()); - } - } - } else { - Dept dept = commonService.getDept(attendanceRuleAdmin.getDeptId()); - vo.setDeptName(ObjectUtil.isNull(dept) ? "未知部门" : dept.getDeptName()); - deptIdList = Arrays.asList(dept.getDeptId()); - } - //管理总人数 - if (CollUtil.isEmpty(deptIdList)) { - vo.setTotalNum(0); - vo.setAbNum(0); - vo.setRequestNum(0); - } else { - List mangerUserIdList = attendanceRuleObjUserService - .list(Wrappers.lambdaQuery(new AttendanceRuleObjUser()) - .in(AttendanceRuleObjUser::getDeptId, deptIdList) - .eq(AttendanceRuleObjUser::getRuleId, ruleId)).stream().map(AttendanceRuleObjUser::getUserId) - .collect( - Collectors.toList()); - //未打卡人数 - List mangerResultList = - CollUtil.isEmpty(mangerUserIdList) ? new ArrayList<>() : resultList.stream() - .filter(result -> mangerUserIdList.contains(result.getUserId())).collect(Collectors.toList()); - - vo.setTotalNum(mangerUserIdList.size()); - vo.setAbNum(mangerResultList.size()); - - //查询请假人数 - if (CollUtil.isEmpty(mangerUserIdList)) { - vo.setRequestNum(0); - } else { - ListUserRequestDTO requestDTO = new ListUserRequestDTO(); - requestDTO.setRequestType(userType); - requestDTO.setStartTime(attendanceDate.atTime(LocalTime.of(00, 00, 01))); - requestDTO.setEndTime(attendanceDate.atTime(LocalTime.of(23, 59, 59))); - requestDTO.setUserIdList(mangerUserIdList); - List requestUserVOList = remoteLeaveRequestService.findList(requestDTO).getData(); - vo.setRequestNum( - requestUserVOList.stream().collect(Collectors.groupingBy(EduLeaveRequestUserVO::getUserId)) - .size()); - } - - String scoreStr = ""; - if (vo.getTotalNum() == 0) { - scoreStr = "0.00%"; - } else { - double score = - (double) ((vo.getTotalNum() - vo.getAbNum()) * 100) / vo - .getTotalNum(); - scoreStr = String.format("%.2f", score) + "%"; - } - vo.setScore(scoreStr); - vo.setDate(attendanceDate); - dayReportDataVOS.add(vo); - } - } - return dayReportDataVOS; - } - - public List checkConflict(AddAttendanceRuleDTO rule) { - List deptIdList = rule.getAttendanceRuleObjList().stream().map(x -> x.getDeptId()).collect(Collectors.toList()); - if (CollUtil.isEmpty(deptIdList)) { - return new ArrayList<>(); - } - // 查询有关联的部门 - List deptIds = remoteUserDeptService.getUpAndDownId(deptIdList.toArray(new Long[0])).getData(); - log.info("deptIds:[{}]", deptIds); - String[] weekList = rule.getWeek().split(","); - List conflictRuleVOList = new ArrayList<>(); - for (String week : weekList) { - List conflictRuleVOS = baseMapper - .checkNormalRule(deptIds, rule.getStartDate(), rule.getEndDate(), rule.getUserType(), rule.getId(), week); - if (CollUtil.isNotEmpty(conflictRuleVOS)) { - conflictRuleVOList.addAll(conflictRuleVOS); - } - } - return conflictRuleVOList; - } - - /** - * 删除规则附表 - */ - public void removeAttachedList(List ruleIdList, Boolean type) { - - attendanceRuleObjService.remove(Wrappers.lambdaQuery(new AttendanceRuleObj()) - .in(AttendanceRuleObj::getRuleId, ruleIdList)); - - attendanceRuleObjUserService.remove(Wrappers.lambdaQuery(new AttendanceRuleObjUser()) - .in(AttendanceRuleObjUser::getRuleId, ruleIdList)); - - attendanceRuleSpecialDateService.remove(Wrappers.lambdaQuery(new AttendanceRuleSpecialDate()) - .in(AttendanceRuleSpecialDate::getRuleId, ruleIdList)); - - attendanceRuleWhiteListService.remove(Wrappers.lambdaQuery(new AttendanceRuleWhiteList()) - .in(AttendanceRuleWhiteList::getRuleId, ruleIdList)); - - attendanceRuleDeviceService.remove(Wrappers.lambdaQuery(new AttendanceRuleDevice()) - .in(AttendanceRuleDevice::getRuleId, ruleIdList)); - - attendanceRuleWifiService.remove(Wrappers.lambdaQuery(new AttendanceRuleWifi()) - .in(AttendanceRuleWifi::getRuleId, ruleIdList)); - - attendanceRuleAddressService.remove(Wrappers.lambdaQuery(new AttendanceRuleAddress()) - .in(AttendanceRuleAddress::getRuleId, ruleIdList)); - - if (type) { - attendanceRuleTimeService.remove(Wrappers.lambdaQuery(new AttendanceRuleTime()) - .in(AttendanceRuleTime::getRuleId, ruleIdList)); - } - - attendanceRuleAdminService.remove(Wrappers.lambdaQuery(new AttendanceRuleAdmin()) - .in(AttendanceRuleAdmin::getRuleId, ruleIdList)); - - attendanceRuleRemindService.remove(Wrappers.lambdaQuery(new AttendanceRuleRemind()) - .in(AttendanceRuleRemind::getRuleId, ruleIdList)); - } - - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleSpecialDateServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleSpecialDateServiceImpl.java deleted file mode 100644 index a42be08..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleSpecialDateServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.mapper.AttendanceRuleSpecialDateMapper; -import com.yida.data.attendance.service.AttendanceRuleSpecialDateService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleSpecialDate; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** -* 考勤-特殊日期 Service实现 -* -* @date 2023-08-09 11:37:25 -*/ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class AttendanceRuleSpecialDateServiceImpl extends ServiceImpl - implements AttendanceRuleSpecialDateService { - - - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleTimeServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleTimeServiceImpl.java deleted file mode 100644 index f51d78e..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleTimeServiceImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.dto.AddAttendanceRuleTimeDTO; -import com.yida.data.attendance.mapper.AttendanceRuleTimeMapper; -import com.yida.data.attendance.service.AttendanceRuleTimeService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleTime; -import lombok.RequiredArgsConstructor; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** - * 考勤-打卡时段 Service实现 - * - * @date 2023-08-09 11:37:25 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class AttendanceRuleTimeServiceImpl extends ServiceImpl - implements AttendanceRuleTimeService { - - - @Override - public AddAttendanceRuleTimeDTO get(Long id) { - AttendanceRuleTime time = getById(id); - if (ObjectUtil.isNull(time)) { - return null; - } - AddAttendanceRuleTimeDTO timeDTO = new AddAttendanceRuleTimeDTO(); - BeanUtils.copyProperties(time, timeDTO); - return timeDTO; - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleWhiteListServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleWhiteListServiceImpl.java deleted file mode 100644 index 41a0ca3..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleWhiteListServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.mapper.AttendanceRuleWhiteListMapper; -import com.yida.data.attendance.service.AttendanceRuleWhiteListService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleWhiteList; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** -* 考勤-白名单 Service实现 -* -* @date 2023-08-09 11:37:25 -*/ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class AttendanceRuleWhiteListServiceImpl extends ServiceImpl - implements AttendanceRuleWhiteListService { - - - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleWifiServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleWifiServiceImpl.java deleted file mode 100644 index 00e57db..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/AttendanceRuleWifiServiceImpl.java +++ /dev/null @@ -1,101 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import com.alibaba.excel.EasyExcel; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.dto.BssidImportDTO; -import com.yida.data.attendance.excel.BssidExcelListener; -import com.yida.data.attendance.mapper.AttendanceRuleWifiMapper; -import com.yida.data.attendance.service.AttendanceRuleWifiService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRule; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleObjUser; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleWifi; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.FileUtil; -import com.yida.data.common.service.CommonService; -import com.yida.data.school.dto.smart.GuideRosterErrorExportDTO; -import com.yida.data.school.dto.smart.GuideRosterImportDTO; -import com.yida.data.school.vo.smart.ImportRosterDataVO; -import java.io.File; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.ehcache.impl.internal.concurrent.ConcurrentHashMap; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; -import org.springframework.util.StopWatch; - -/** - * 考勤规则关联wifi Service实现 - * - * @date 2023-08-09 11:37:25 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class AttendanceRuleWifiServiceImpl extends ServiceImpl - implements AttendanceRuleWifiService { - - private final CommonService commonService; - - @Override - public void ImportBssid(String fileUrl, Long ruleId) { - // 上传的excel文件 - File file = null; - // 错误信息文件excel - File errorFile = null; - try { - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - // 调用导入方法 - List errorList = new ArrayList<>(); - file = new File(fileUrl); - EasyExcel.read(file, BssidImportDTO.class, - new BssidExcelListener(this, ruleId)) - .sheet().headRowNumber(1).doRead(); - stopWatch.stop(); - log.info("导入指南花名册数据总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); - } catch (Exception e) { - log.error("导入指南花名册数据失败: {}", e.getMessage(), e); - throw new FebsException("导入失败!请重新操作"); - } finally { - if (Objects.nonNull(file)) { - cn.hutool.core.io.FileUtil.del(file); - } - if (Objects.nonNull(errorFile)) { - cn.hutool.core.io.FileUtil.del(errorFile); - } - } - } - - @Override - public void addBssidList(ConcurrentHashMap concurrentHashMap, Long ruleId) { - List wifiList = new ArrayList<>(); - if (!CollectionUtils.isEmpty(concurrentHashMap)) { - for (Map.Entry entry : concurrentHashMap.entrySet()) { - AttendanceRuleWifi wifi = new AttendanceRuleWifi(); - if (ObjectUtil.isNotNull(entry.getValue().getWifiBssid()) && ObjectUtil - .isNotNull(entry.getValue().getWifiName())) { - wifi.setWifiBssid(entry.getValue().getWifiBssid()); - wifi.setWifiName(entry.getValue().getWifiName()); - wifi.setRuleId(ruleId); - wifiList.add(wifi); - } - } - } - if (CollUtil.isNotEmpty(wifiList)) { - saveBatch(wifiList); - - //清除缓存信息 - commonService.clearAttendanceRuleData(); - } - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduAttendanceDeviceGroupServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduAttendanceDeviceGroupServiceImpl.java deleted file mode 100644 index c5dff9b..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduAttendanceDeviceGroupServiceImpl.java +++ /dev/null @@ -1,117 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.mapper.EduAttendanceDeviceGroupMapper; -import com.yida.data.attendance.mapper.EduDeviceGroupMapper; -import com.yida.data.attendance.service.EduAttendanceDeviceGroupService; -import com.yida.data.attendance.vo.DeviceOrDeviceGroupVO; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; -import com.yida.data.common.core.entity.attendance.EduAttendanceDeviceGroup; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.enums.RoleEnum; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.common.core.utils.RoleUtil; -import com.yida.data.system.feign.RemoteDeptService; -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; -import javax.annotation.Resource; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - - -/** - * 设备分组表 Service实现 - * - * @author zhanghaijun - * @date 2021-06-16 15:27:11 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class EduAttendanceDeviceGroupServiceImpl extends ServiceImpl - implements EduAttendanceDeviceGroupService { - - private final EduDeviceGroupMapper eduDeviceGroupMapper; - - private final RemoteDeptService remoteDeptService; - - @Resource - private EduAttendanceDeviceGroupMapper eduAttendanceDeviceGroupMapper; - - /** - * 分页查分组 - * - * @param current - * @param size - * @return - */ - - @Override - public IPage selectGroup(String name, Long current, Long size, Long schoolId) - throws NoSuchMethodException { - Page page = new Page<>(current, size); - CurrentUser currentUser = FebsUtil.getCurrentUser(); - // 获取登陆用户的最大角色 - RoleEnum roleEnum = RoleUtil.getMaxRole(currentUser); - - List schoolIds = new ArrayList<>(); - // 代理商相关账号 - if (RoleEnum.ROLE_AGENT_ADMIN.equals(roleEnum) || RoleEnum.ROLE_AGENT_NORMAL.equals(roleEnum)) { - if (schoolId != null) { - schoolIds.add(schoolId); - } else { - List deptList = remoteDeptService.getSchoolByArea(null, null).getData(); - if (CollUtil.isNotEmpty(deptList)) { - schoolIds = deptList.stream().map(Dept::getDeptId).collect(Collectors.toList()); - } - } - } else { - // 学校账号 - schoolIds.add(currentUser.getDeptId()); - } - - return baseMapper.selectGroup(page, name, schoolIds); - } - - @Override - public List selectGroupAll() { - - return eduAttendanceDeviceGroupMapper.selectList(null); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void insertGroup(EduAttendanceDeviceGroup eduAttendanceDeviceGroup) { - - baseMapper.insert(eduAttendanceDeviceGroup); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void updateGroup(EduAttendanceDeviceGroup eduAttendanceDeviceGroup) { - baseMapper.updateById(eduAttendanceDeviceGroup); - } - - @Override - public void delGroup(Long id) { - - removeById(id); - } - - @Override - public List listDeviceAndDevice(String keyword, Long schoolId) { - return baseMapper.listDeviceAndGroup(keyword, schoolId); - } - - @Override - public List listDeviceByGroup(List groupIds) { - return baseMapper.listDeviceByGroup(groupIds); - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduAttendanceDeviceServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduAttendanceDeviceServiceImpl.java deleted file mode 100644 index 63d3da7..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduAttendanceDeviceServiceImpl.java +++ /dev/null @@ -1,681 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.LocalDateTimeUtil; -import cn.hutool.core.thread.ThreadFactoryBuilder; -import cn.hutool.core.thread.ThreadUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.json.JSONArray; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.alibaba.fastjson.JSON; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.dto.DevicePage; -import com.yida.data.attendance.dto.IssuedFaceDTO; -import com.yida.data.attendance.dto.RemoveFaceDTO; -import com.yida.data.attendance.mapper.EduAttendanceDeviceMapper; -import com.yida.data.attendance.service.AttendanceRuleDeviceService; -import com.yida.data.attendance.service.EduAttendanceDeviceService; -import com.yida.data.attendance.utils.MqttUtil; -import com.yida.data.attendance.vo.DeviceNumberVO; -import com.yida.data.attendance.vo.DeviceVO; -import com.yida.data.attendance.vo.OnlineCountVO; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.agent.EduAgentWxPublicReceiver; -import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleDevice; -import com.yida.data.common.core.entity.attendance.enums.DeviceStateEnum; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.constant.hq.HaiqingConstant; -import com.yida.data.common.core.entity.constant.LockPrefixConstant; -import com.yida.data.common.core.entity.constant.StringConstant; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.EduDeptWxPublic; -import com.yida.data.common.core.entity.system.enums.RoleEnum; -import com.yida.data.common.core.entity.user.EduFaceGroupUser; -import com.yida.data.common.core.entity.user.EduUserDevice; -import com.yida.data.common.core.entity.user.EduUserDeviceFactory; -import com.yida.data.common.core.entity.user.EduUserFace; -import com.yida.data.common.core.enums.DeviceType; -import com.yida.data.common.core.enums.IssuedTypeEnum; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.EnumUtils; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.common.core.utils.WxPublicUtil; -import com.yida.data.common.service.CommonService; -import com.yida.data.system.feign.RemoteAgentService; -import com.yida.data.system.feign.RemoteDeptService; -import com.yida.data.user.dto.UpdateFaceGroupUserStatusDTO; -import com.yida.data.user.feign.RemoteUserDeviceFactoryService; -import com.yida.data.user.feign.RemoteUserDeviceService; - -import java.time.LocalDateTime; -import java.util.*; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.ThreadFactory; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - -import com.yida.data.user.feign.RemoteUserFaceService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -@Service -@Slf4j -@RequiredArgsConstructor -public class EduAttendanceDeviceServiceImpl extends - ServiceImpl implements EduAttendanceDeviceService { - - private static final ThreadFactory FACE_THREAD_FACTORY = new ThreadFactoryBuilder() - .setNamePrefix("hq-issue-face-factory-").build(); - private static final ExecutorService FACE_POOL = new ThreadPoolExecutor(10, 10, 1000, - TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(), FACE_THREAD_FACTORY); - - private final AttendanceRuleDeviceService attendanceRuleDeviceService; - - private final RemoteDeptService remoteDeptService; - private final RemoteAgentService remoteAgentService; - private final RemoteUserFaceService remoteUserFaceService; - private final RemoteUserDeviceService remoteUserDeviceService; - private final RemoteUserDeviceFactoryService remoteUserDeviceFactoryService; - - private final MqttUtil mqttUtil; - private final RedisService redisService; - private final WxPublicUtil wxPublicUtil; - private final CommonService commonService; - - @Override - - public DevicePage listDevicePage(DevicePage page, String schoolName, String number, - Integer scope, Integer type, Integer state, - CurrentUser currentUser) { - List schoolIds = new ArrayList<>(); - // 查询关联学校信息 - List deptList = this.remoteDeptService.getSchoolByArea(null, schoolName).getData(); - if (CollUtil.isNotEmpty(deptList)) { - schoolIds = deptList.stream().map(Dept::getDeptId).collect(Collectors.toList()); - } else { - // 添加默认值,防止报错 - schoolIds.add(-1L); - } - - DevicePage res = baseMapper.listDevicePage(page, schoolIds, number, scope, type, state); - // 在线离线数量 - res.setOnlineNumber((int) count(Wrappers.lambdaQuery() - .eq(EduAttendanceDevice::getState, DeviceStateEnum.ONLINE_STATUS.getStatus()) - .in(EduAttendanceDevice::getSchoolId, schoolIds))); - res.setOfflineNumber((int) count(Wrappers.lambdaQuery() - .eq(EduAttendanceDevice::getState, DeviceStateEnum.OFFLINE_STATUS.getStatus()) - .in(EduAttendanceDevice::getSchoolId, schoolIds))); - - if (CollUtil.isNotEmpty(res.getRecords())) { - for (DeviceVO record : res.getRecords()) { - record.setSchoolName(commonService.getDept(record.getSchoolId()).getDeptName()); - } - } - return res; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public EduAttendanceDevice saveDevice(EduAttendanceDevice device) { - - // 判断设备编号是否重复 - EduAttendanceDevice exist = baseMapper.checkSn(device); - if (Objects.nonNull(exist)) { - throw new FebsException("该设备号已存在!请检查后重新保存"); - } - - if (StrUtil.isNotEmpty(device.getSn()) && DeviceType.HAIQING.getValue() - .equals(device.getDeviceType())) { - // 设置删除策略信息 - JSONObject params = JSONUtil.createObj() - .set("operator", HaiqingConstant.UP_DOOR_CONFIG) - .set("messageId", StrUtil.uuid().replace("-", "")) - .set("info", JSONUtil.createObj() - // 0:未开启(绑定空策略人员允许通行),1:开启(绑定空策略人员不可通行) - .set("IsASCheck", "1")); - Boolean flag = mqttUtil.publish(params.toString(), "mqtt/face/" + device.getSn()); - if (!flag) { - throw new FebsException("保存设备失败"); - } - - if (Objects.isNull(device.getId())) { - mqttUtil.addTopic("$queue/mqtt/face/" + device.getSn() + "/Ack"); - mqttUtil.addTopic("$queue/mqtt/face/" + device.getSn() + "/Rec"); - } - } - if (StrUtil.isNotBlank(device.getMacAddress())) { - device.setMacAddress(device.getMacAddress().toUpperCase()); - } - saveOrUpdate(device); - redisService.hdel(CachePrefixConstant.DEVICE_DATA, device.getSn()); - redisService.hdel(CachePrefixConstant.DEVICE_DATA_BY_ID, String.valueOf(device.getId())); - return device; - } - - /** - * 批量openDoor - * - * @param list - */ - - @Override - public void openAllDoor(List list) { - list.forEach(s -> mqttUtil.publish(spliceOpenDoor(), - spliceTopic(s))); - } - - /** - * 批量设置时间 - * - * @param list - */ - @Override - public void setAllTime(List list) { - list.forEach(s -> mqttUtil.publish(spliceSetSysTime(), spliceTopic(s))); - } - - @Override - public void openDoor(String id) { - mqttUtil.publish(spliceOpenDoor(), spliceTopic(id)); - - } - - @Override - public void setSysTime(String id) { - mqttUtil.publish(spliceSetSysTime(), spliceTopic(id)); - } - - @Override - public void issuedFace(IssuedFaceDTO dto) { - List userFaceList = dto.getUserFaceList(); - List deviceList = listByIds(dto.getDeviceList()); - // 在线设备数量 - long onlineNumber = deviceList.stream().filter(eduAttendanceDevice -> - DeviceStateEnum.ONLINE_STATUS.getStatus().equals(eduAttendanceDevice.getState())) - .count(); - // 判断是否有策略信息 -// boolean hasStrategyFlag = Objects.nonNull(dto.getGroupStrategy()); - // 海清设备 - if (DeviceType.HAIQING.getValue().equals(deviceList.get(0).getDeviceType())) { - // 每次下发的数量(必须大于每次最大下发数量) - int size = 100; - // 下发总数 - int totalSize = userFaceList.size() * deviceList.size(); - redisService.set(CachePrefixConstant.ISSUE_FACE_TOTAL + dto.getGroupId(), totalSize); - // 进度相关信息 - redisService.set(CachePrefixConstant.ISSUE_FACE_FINISH + dto.getGroupId(), 0); - redisService.set(CachePrefixConstant.ISSUE_FACE_ERROR + dto.getGroupId(), 0); - // 错误信息key值 - Set keys = redisService.keys(CachePrefixConstant.ISSUE_FACE_ERROR_MSG + dto.getGroupId()); - redisService.del(keys.toArray(new String[0])); - - // 遍历向每个设备下发信息 - for (EduAttendanceDevice device : deviceList) { - // 不同接口操作同一台设备时阻塞 - while (redisService.hasKey(CachePrefixConstant.HQ_EDIT_BATCH + device.getSn()) - || redisService.hasKey(CachePrefixConstant.HQ_BATCH_ADD + device.getSn()) - || redisService.hasKey(CachePrefixConstant.HQ_BATCH_EDIT + device.getSn())) { - try { - ThreadUtil.sleep(1000); - } catch (Exception e) { - log.error("阻塞设备信息失败", e); - } - } - - // 将人脸数据缓存到redis中 - Map userFaceMap = new HashMap<>(); - for (EduUserFace userFace : userFaceList) { - userFace.setDeviceName(device.getName()); - userFaceMap.put(userFace.getUserId().toString() + userFace.getUserType().toString(), userFace); - } - // 离线设备 - if (DeviceStateEnum.OFFLINE_STATUS.getStatus().equals(device.getState())) { - // 添加错误数据 - dealErrorMessage(dto.getGroupId(), device.getSn(), userFaceMap); - continue; - } - // 保存每个设备要添加的信息 - redisService.hmset(CachePrefixConstant.HQ_EDIT_BATCH + device.getSn(), userFaceMap); - // 添加人脸组在线设备数量(用于回调判断) - redisService.set(CachePrefixConstant.ISSUE_FACE_GROUP_DEVICE_NUMBER + device.getSn(), onlineNumber); - - // 判断是否设置当前设备下发的人脸组id - if (IssuedTypeEnum.FACE_GROUP.equals(dto.getIssuedTypeEnum())) { - // 当前设备下发的人脸组 - redisService.hset(CachePrefixConstant.ISSUE_FACE_GROUP_DEVICE, device.getSn(), dto.getGroupId()); - } - // 每个设备一个线程 - FACE_POOL.execute(() -> { - // 用户与厂商关联信息 - List userDeviceFactoryList = new ArrayList<>(); - while (redisService.hasKey(CachePrefixConstant.HQ_EDIT_BATCH + device.getSn())) { - // 添加人脸 - JSONObject addParams = new JSONObject(); - addParams.set("operator", HaiqingConstant.ADD_PERSONS_BATCH); - addParams.set("DataBegin", "BeginFlag"); - addParams.set("DataEnd", "EndFlag"); - JSONArray addUserFaces = new JSONArray(); - Map addMap = new HashMap<>(); - List addKey = new ArrayList<>(); - // 修改人脸 - JSONObject editParams = new JSONObject(); - editParams.set("operator", HaiqingConstant.EDIT_PERSONS_BATCH); - editParams.set("DataBegin", "BeginFlag"); - editParams.set("DataEnd", "EndFlag"); - JSONArray editUserFaces = new JSONArray(); - Map editMap = new HashMap<>(); - List editKey = new ArrayList<>(); - // 下发的所有是数据 - Map saveData = redisService - .hmget(CachePrefixConstant.HQ_EDIT_BATCH + device.getSn()); - log.info("循环下发"); - log.info("数据:[{}]", saveData); - if (saveData.size() == 0) { - break; - } - Set> entries = saveData.entrySet(); - log.info("处理后数据:[{}]", entries); - log.info("锁标识:[{}]", - redisService.get(LockPrefixConstant.HQ_DEVICE_USER_EDIT_LOCK + device.getSn())); - for (int i = 0; i < entries.size(); i += size) { - // 每size个下发一次 - List tempFace; - if (i + size <= entries.size()) { - tempFace = - CollUtil.sub(entries, i, i + size).stream().map(x -> ((EduUserFace) x.getValue())) - .collect(Collectors.toList()); - } else { - tempFace = - CollUtil.sub(entries, i, i + entries.size()).stream() - .map(x -> ((EduUserFace) x.getValue())).collect(Collectors.toList()); - } - for (EduUserFace userFace : tempFace) { - JSONObject oneUserFace = new JSONObject(); - oneUserFace.set("name", userFace.getName()); - String customId = userFace.getUserId().toString() + userFace.getUserType().toString(); - oneUserFace.set("customId", customId); - oneUserFace.set("picURI", userFace.getPicPath()); - // 永久白名单 - oneUserFace.set("personType", 0); - oneUserFace.set("tempCardType", 0); - oneUserFace.set("notes", userFace.getNotes()); - oneUserFace.set("cardValidBegin", userFace.getCardValidBegin()); - oneUserFace.set("cardValidEnd", userFace.getCardValidEnd()); - oneUserFace.set("RFIDCard", userFace.getRfidCard()); - // 判断人脸和设备关系 - List list = remoteUserDeviceService.listUserDevice(userFace.getUserId(), - userFace.getUserType(), device.getId(), dto.getGroupId()).getData(); - // 新增 - if (CollUtil.isEmpty(list)) { - // 厂商关联信息 - EduUserDeviceFactory userDeviceFactory = new EduUserDeviceFactory(); - userDeviceFactory.setUserId(userFace.getUserId()); - userDeviceFactory.setUserType(userFace.getUserType()); - userDeviceFactory.setTypeName(DeviceType.HAIQING.getValue()); - userDeviceFactory - .setTypeFlag(userFace.getUserId().toString() + userFace.getUserType().toString()); - userDeviceFactoryList.add(userDeviceFactory); - // 新增人脸的信息处理 - addUserFaces.set(oneUserFace); - addMap.put(userFace.getUserId().toString() + userFace.getUserType().toString(), userFace); - addKey.add(userFace.getUserId().toString() + userFace.getUserType().toString()); - } else { - // 编辑 - editUserFaces.set(oneUserFace); - editMap.put(userFace.getUserId().toString() + userFace.getUserType().toString(), userFace); - editKey.add(userFace.getUserId().toString() + userFace.getUserType().toString()); - } - // 处理人脸策略信息 -// if (hasStrategyFlag) { -// // key存组id,value存1 -// redisService.hset(CachePrefixConstant.USER_ATTENDANCE_STRATEGY -// + device.getSn() + "-" + customId, String.valueOf(dto.getGroupId()), 1); -// } - } - if (CollUtil.isNotEmpty(addUserFaces)) { - addParams.set("info", addUserFaces); - addParams.set("PersonNum", addUserFaces.size()); - addParams.set("messageId", StrUtil.uuid().replace("-", "")); - } - if (CollUtil.isNotEmpty(editUserFaces)) { - editParams.set("info", editUserFaces); - editParams.set("PersonNum", editUserFaces.size()); - editParams.set("messageId", StrUtil.uuid().replace("-", "")); - } - // 获取编辑锁 - redisService.falseLock(LockPrefixConstant.HQ_DEVICE_USER_EDIT_LOCK + device.getSn()); - if (CollUtil.isNotEmpty(addUserFaces)) { - // 发送下发人脸消息 - log.info("发送下发新增人脸消息=================sn: {}, params: {}", device.getSn(), addParams); - Boolean flag = mqttUtil.publish(addParams.toString(), "mqtt/face/" + device.getSn()); - if (!flag) { - // 新增未下发成功 - redisService.hdel(CachePrefixConstant.HQ_EDIT_BATCH + device.getSn(), - addKey.toArray(new String[0])); - // 添加错误数据 - dealErrorMessage(dto.getGroupId(), device.getSn(), addMap); - } else { - // 保存海清人脸新增信息缓存 - redisService.hmset(CachePrefixConstant.HQ_BATCH_ADD + device.getSn(), addMap); - } - } - if (CollUtil.isNotEmpty(editUserFaces)) { - log.info("发送下发编辑人脸消息=================sn: {}, params: {}", device.getSn(), editParams); - Boolean flag = mqttUtil.publish(editParams.toString(), "mqtt/face/" + device.getSn()); - if (!flag) { - // 编辑未下发成功 - redisService.hdel(CachePrefixConstant.HQ_EDIT_BATCH + device.getSn(), - editKey.toArray(new String[0])); - // 添加错误数据 - dealErrorMessage(dto.getGroupId(), device.getSn(), editMap); - } else { - // 保存海清人脸编辑信息缓存 - redisService.hmset(CachePrefixConstant.HQ_BATCH_EDIT + device.getSn(), editMap); - } - } - // 判断是否还有下发人脸数据数据 - if (!redisService.hasKey(CachePrefixConstant.HQ_EDIT_BATCH + device.getSn())) { - // 释放批量编辑锁 - redisService.falseUnLock(LockPrefixConstant.HQ_DEVICE_USER_EDIT_LOCK + device.getSn()); - } - // 等待设备消息释放锁 - while (redisService.hasKey(LockPrefixConstant.HQ_DEVICE_USER_EDIT_LOCK + device.getSn())) { - try { - ThreadUtil.sleep(1000); - } catch (Exception e) { - log.error("阻塞下发人脸失败", e); - } - } - } - } - log.info("下发结束"); - log.info("--------------------------"); - if (CollUtil.isNotEmpty(userDeviceFactoryList)) { - // 只有添加人脸需要保存厂商唯一标识 - remoteUserDeviceFactoryService.batchSaveUserDeviceFactory(userDeviceFactoryList); - } - }); - } - } - } - - /** - * 处理人脸下发错误数据 - * - * @param faceGroupId 人脸组id - * @param deviceSn 设备编号 - * @param faceList 人脸信息集合 - * @author ZYJ - * @date 2023/10/11 15:09 - */ - private void dealErrorMessage(Long faceGroupId, String deviceSn, Map faceList) { - // 添加失败信息 - redisService.incr(CachePrefixConstant.ISSUE_FACE_FINISH + faceGroupId, (long) faceList.size()); - redisService.incr(CachePrefixConstant.ISSUE_FACE_ERROR + faceGroupId, (long) faceList.size()); - // 设置当前设备错误信息 - redisService.lSet(CachePrefixConstant.ISSUE_FACE_ERROR_MSG + faceGroupId + StringConstant.DOT + deviceSn, - faceList.values()); - // 修改人脸状态 - if (CollUtil.isNotEmpty(faceList)) { - // 失败的用户 修改其下发状态 删除下发记录。EduUserFace转EduFaceGroupUser - UpdateFaceGroupUserStatusDTO dto = new UpdateFaceGroupUserStatusDTO(); - dto.setUserList(faceList.values().stream().map(value -> { - EduUserFace userFace = (EduUserFace) value; - EduFaceGroupUser user = new EduFaceGroupUser(); - user.setUserId(userFace.getUserId()); - user.setUserType(userFace.getUserType()); - user.setFaceGroupId(userFace.getFaceGroupUserId()); - return user; - }).collect(Collectors.toList())); - dto.setStatus(EduFaceGroupUser.ISSUE_FAIL); - remoteUserFaceService.updateFaceGroupUserStatus(dto); - } - } - - @Override - public void removeFace(RemoveFaceDTO dto) { - log.info("移除的人脸数据集合: {}", dto); - List deviceList = listByIds(dto.getDeviceList()); - int size = 200; - String deviceType = deviceList.get(0).getDeviceType(); - List deviceFactoryUserIds = dto.getDeviceFactoryUserId(); - if (DeviceType.HAIQING.getValue().equals(deviceType)) { - for (EduAttendanceDevice device : deviceList) { - FACE_POOL.execute(() -> { - JSONObject params = new JSONObject(); - params.set("operator", HaiqingConstant.DELETE_PERSONS_BATCH); - params.set("DataBegin", "BeginFlag"); - params.set("DataEnd", "EndFlag"); - // 每次最多删除200条 - for (int i = 0; i < deviceFactoryUserIds.size(); i += size) { - List tempIds; - if (i + size <= deviceFactoryUserIds.size()) { - tempIds = deviceFactoryUserIds.subList(i, i + size); - } else { - tempIds = deviceFactoryUserIds.subList(i, deviceFactoryUserIds.size()); - } - params.set("info", JSONUtil.createObj() - .set("customId", JSONUtil.parseArray(tempIds))); - params.set("PersonNum", tempIds.size()); - params.set("messageId", StrUtil.uuid().replace("-", "")); - log.info("删除的人脸数据: {}", params); - // 获取该台设备的删除锁 -// redisService.falseLock(LockPrefixConstant.HQ_DEVICE_USER_DELETE_LOCK + device.getSn()); - // 发送删除人脸消息 - mqttUtil.publish(params.toString(), "mqtt/face/" + device.getSn()); - // 等待设备消息释放锁 -// while (redisService.hasKey(LockPrefixConstant.HQ_DEVICE_USER_DELETE_LOCK + device.getSn())) { -// try { -// ThreadUtil.sleep(1000); -// } catch (Exception e) { -// log.error("阻塞删除人脸失败", e); -// } -// } - } - }); - } - } - } - - @Override - public void updateDeviceStatus() { - Set aliveDeviceSnKeys = redisService.keys(CachePrefixConstant.ALIVE_DEVICE); - Set aliveDeviceSn = CollUtil.isNotEmpty(aliveDeviceSnKeys) ? - aliveDeviceSnKeys.stream().map(x -> x.substring(CachePrefixConstant.ALIVE_DEVICE.length())) - .collect(Collectors.toSet()) : new HashSet() {{ - add("000"); - }}; - log.info("alive device list sn:[{}]", aliveDeviceSn); - // 系统内在线 此刻不在线的设备 - List noticeDeice = list(Wrappers.lambdaQuery() - .eq(EduAttendanceDevice::getState, 0) - .notIn(EduAttendanceDevice::getSn, aliveDeviceSn)); - // 系统内不在线 此刻上线的设备 - //noticeDeice.addAll(list(Wrappers.lambdaQuery() - // .eq(EduAttendanceDevice::getState, 1) - // .in(EduAttendanceDevice::getSn, aliveDeviceSn))); - if (CollUtil.isNotEmpty(noticeDeice)) { - EduDeptWxPublic sysWxPublic = commonService.getWxPublic(1L); - String accessToken = wxPublicUtil.getAccessToken(sysWxPublic.getAppId(), sysWxPublic.getSecret()); - // 本地缓存加速 - Map> receiversCache = new HashMap<>(); - for (EduAttendanceDevice device : noticeDeice) { - Long schoolId = device.getSchoolId(); - Dept school = commonService.getDept(device.getSchoolId()); - List receiverList = receiversCache.containsKey(schoolId) - ? receiversCache.get(schoolId) - : remoteAgentService.listReceiverBySchool(schoolId).getData(); - receiversCache.put(schoolId, receiverList); - // 如果有通知接收者 - if (CollUtil.isNotEmpty(receiverList)) { - for (EduAgentWxPublicReceiver receiver : receiverList) { - JSONObject msgData = new JSONObject() {{ - set("first", new JSONObject() {{ - set("value", school.getDeptName() + "设备掉线通知"); - set("color", "#173177"); - }}); - set("keyword1", new JSONObject() {{ - set("value", "人脸面板机-" + device.getName() - + (device.getZoneScope() == 0 ? "进门" : "出门") - + "【" + device.getSn() + "】"); - set("color", "#173177"); - }}); - set("keyword2", new JSONObject() {{ - set("value", LocalDateTimeUtil.format(LocalDateTime.now(), "yyyy-MM-dd " + - "HH:mm")); - set("color", "#173177"); - }}); - set("remark", new JSONObject() {{ - set("value", "请尽快登录后台进行检查!"); - set("color", "#173177"); - }}); - }}; - wxPublicUtil.publishTemplateMsg(accessToken, receiver.getWxPublicOpenId(), - WxPublicUtil.DEVICE_OFFLINE_TEMPLATE_ID, null, msgData); - } - } - } - } - if (CollUtil.isNotEmpty(aliveDeviceSn)) { - baseMapper.updateDevice(0, DeviceType.HAIQING.getValue(), aliveDeviceSn); - } - baseMapper.updateDevice(1, DeviceType.HAIQING.getValue(), aliveDeviceSn); - } - - private String spliceOpenDoor() { - - //拼接json - HashMap map = new HashMap<>(); - map.put("messageId", UUID.randomUUID().toString()); - map.put("operator", "Unlock"); - HashMap info = new HashMap<>(); - info.put("openDoor", 1); - map.put("info", info); - - return JSON.toJSONString(map); - } - - private String spliceTopic(String deviceId) { - return "mqtt/face/" + deviceId; - - } - - private String spliceSetSysTime() { - HashMap map = new HashMap<>(); - map.put("messageId", UUID.randomUUID().toString()); - map.put("operator", "SetSysTime"); - String date = LocalDateTimeUtil.format(LocalDateTime.now(), DatePattern.UTC_SIMPLE_PATTERN); - map.put("info", new HashMap() {{ - put("SysTime", date); - }}); - return JSON.toJSONString(map); - } - - /** - * 考勤设备数量统计 - * - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2021/10/8 17:14 - */ - @Override - public ResultBean findDeviceNumber() throws NoSuchMethodException { - // 需要查询的学校id集合 - List schoolIds = new ArrayList<>(); - CurrentUser currentUser = FebsUtil.getCurrentUser(); - // 获取登陆用户角色类型 - List roleList = new ArrayList<>(); - if (StringUtils.isNotBlank(Objects.requireNonNull(currentUser).getRolePerms())) { - for (String rolePerm : Objects.requireNonNull(currentUser).getRolePerms().split(StringConstant.COMMA)) { - // 获取登陆角色类型 - RoleEnum roleEnum = EnumUtils.valueOf(RoleEnum.class, rolePerm, - RoleEnum.class.getMethod("getValue")); - if (Objects.nonNull(roleEnum)) { - roleList.add(roleEnum); - } - } - } - - if (CollectionUtils.isNotEmpty(roleList)) { - // 排序 - RoleEnum roleEnum = roleList.stream().sorted(Comparator.comparing(RoleEnum::getOrder)) - .collect(Collectors.toList()).get(0); - // 代理商相关账号 - if (RoleEnum.ROLE_AGENT_ADMIN.equals(roleEnum) || RoleEnum.ROLE_AGENT_NORMAL.equals(roleEnum)) { - List deptList = remoteDeptService.getSchoolByArea(null, null).getData(); - if (CollUtil.isNotEmpty(deptList)) { - schoolIds = deptList.stream().map(Dept::getDeptId).collect(Collectors.toList()); - } - } else if (RoleEnum.ROLE_SCHOOL_PRINCIPAL.equals(roleEnum)) { - // 学校负责人账号 - schoolIds.add(currentUser.getDeptId()); - } else { - return ResultBean.buildSuccess( - DeviceNumberVO.builder() - .totalNumber(0L) - .onlineNumber(0L) - .offlineNumber(0L) - .build()); - } - } - // 查询不同状态考勤设备数量 - Long offlineNumber = this.baseMapper.findDeviceNumber(schoolIds, DeviceStateEnum.OFFLINE_STATUS.getStatus()); - Long onlineNumber = this.baseMapper.findDeviceNumber(schoolIds, DeviceStateEnum.ONLINE_STATUS.getStatus()); - return ResultBean.buildSuccess( - DeviceNumberVO.builder() - .totalNumber(offlineNumber + onlineNumber) - .onlineNumber(onlineNumber) - .offlineNumber(offlineNumber) - .build() - ); - } - - @Override - public void timingAllDevice() { - Set aliveDeviceSnKeys = redisService.keys(CachePrefixConstant.ALIVE_DEVICE); - List aliveDeviceSn = CollUtil.isNotEmpty(aliveDeviceSnKeys) - ? aliveDeviceSnKeys.stream().map(x -> x.substring(CachePrefixConstant.ALIVE_DEVICE.length())) - .collect(Collectors.toList()) : new ArrayList<>(); - if (CollUtil.isNotEmpty(aliveDeviceSn)) { - setAllTime(aliveDeviceSn); - } - } - - @Override - public OnlineCountVO getOnlineDistrib(List schoolIds) { - OnlineCountVO vo = new OnlineCountVO(); - if (CollUtil.isNotEmpty(schoolIds)) { - List cardList = list( - Wrappers.lambdaQuery().in(EduAttendanceDevice::getSchoolId, schoolIds) - .select(EduAttendanceDevice::getState)); - Map> onlineGroup = cardList.stream() - .collect(Collectors.groupingBy(EduAttendanceDevice::getState)); - vo.setOnlineNum(onlineGroup.getOrDefault(0, Collections.emptyList()).size()); - vo.setOfflineNum(onlineGroup.getOrDefault(1, Collections.emptyList()).size()); - } - return vo; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delDevice(List ids) { - // 删除设备信息 - removeByIds(ids); - // 移除规则管理设备 - attendanceRuleDeviceService.remove(Wrappers.lambdaQuery(new AttendanceRuleDevice()) - .in(AttendanceRuleDevice::getDeviceId, ids)); - // TODO: 2023/10/23 后续移除和设备相关信息 - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduAttendanceStrategyServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduAttendanceStrategyServiceImpl.java deleted file mode 100644 index 279f275..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduAttendanceStrategyServiceImpl.java +++ /dev/null @@ -1,438 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.json.JSONArray; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.attendance.dto.AddLeaveRequestStrategyDTO; -import com.yida.data.attendance.dto.IssuedFaceDTO; -import com.yida.data.attendance.service.EduAttendanceDeviceGroupService; -import com.yida.data.attendance.service.EduAttendanceDeviceService; -import com.yida.data.attendance.service.EduAttendanceStrategyService; -import com.yida.data.attendance.service.EduUserStrategyService; -import com.yida.data.attendance.utils.MqttUtil; -import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; -import com.yida.data.common.core.entity.attendance.EduUserStrategy; -import com.yida.data.common.core.entity.attendance.enums.DeviceStateEnum; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.constant.hq.HaiqingConstant; -import com.yida.data.common.core.entity.user.EduFaceGroupDevice; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategy; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategyPlanTime; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategySpecialDate; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategySpecialTime; -import com.yida.data.common.core.entity.user.EduFaceGroupUser; -import com.yida.data.common.core.entity.user.EduUserFace; -import com.yida.data.common.core.enums.DeviceType; -import com.yida.data.common.core.enums.IssuedTypeEnum; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.user.feign.RemoteUserFaceService; - -import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.stream.Collectors; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -/** - * 设备策略service - * - * @author ZYJ - * @date 2022/12/13 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class EduAttendanceStrategyServiceImpl implements EduAttendanceStrategyService { - - private final EduUserStrategyService eduUserStrategyService; - private final EduAttendanceDeviceService eduAttendanceDeviceService; - private final EduAttendanceDeviceGroupService eduAttendanceDeviceGroupService; - - private final RemoteUserFaceService remoteUserFaceService; - - private final MqttUtil mqttUtil; - private final RedisService redisService; - - @Override - public void saveStrategyAndUser(EduFaceGroupStrategy eduFaceGroupStrategy) { - // 设置策略 - JSONObject params = new JSONObject(); - params.set("operator", HaiqingConstant.ADD_ACCESS_STRATEGY); - params.set("messageId", StrUtil.uuid().replace("-", "")); - // 包装信息主体 - JSONObject info = JSONUtil.createObj() - // 策略id使用人脸组id - .set("strategyID", eduFaceGroupStrategy.getFaceGroupId()) - .set("startDate", eduFaceGroupStrategy.getStrategyStartDate().format(DateTimeFormatter.ofPattern("yyyy-MM" + - "-dd'T'HH:mm:ss"))) - .set("endDate", eduFaceGroupStrategy.getStrategyEndDate().format(DateTimeFormatter.ofPattern("yyyy-MM" + - "-dd'T'HH:mm:ss"))); - // 周一 - JSONArray monday = new JSONArray(); - if (CollUtil.isNotEmpty(eduFaceGroupStrategy.getMondayTimeList())) { - for (EduFaceGroupStrategyPlanTime strategyPlanTime : eduFaceGroupStrategy.getMondayTimeList()) { - monday.add(JSONUtil.createObj() - .set("startTime", strategyPlanTime.getPlanStartTime().format(DateTimeFormatter.ofPattern("HH:mm:ss"))) - .set("endTime", strategyPlanTime.getPlanEndTime().format(DateTimeFormatter.ofPattern("HH:mm:ss"))) - ); - } - } - info.set("monday", monday); - // 周二 - JSONArray tuesday = new JSONArray(); - if (CollUtil.isNotEmpty(eduFaceGroupStrategy.getTuesdayTimeList())) { - for (EduFaceGroupStrategyPlanTime strategyPlanTime : eduFaceGroupStrategy.getTuesdayTimeList()) { - tuesday.add(JSONUtil.createObj() - .set("startTime", strategyPlanTime.getPlanStartTime().format(DateTimeFormatter.ofPattern("HH:mm:ss"))) - .set("endTime", strategyPlanTime.getPlanEndTime().format(DateTimeFormatter.ofPattern("HH:mm:ss"))) - ); - } - } - info.set("tuesday", tuesday); - // 周三 - JSONArray wednesday = new JSONArray(); - if (CollUtil.isNotEmpty(eduFaceGroupStrategy.getWednesdayTimeList())) { - for (EduFaceGroupStrategyPlanTime strategyPlanTime : eduFaceGroupStrategy.getWednesdayTimeList()) { - wednesday.add(JSONUtil.createObj() - .set("startTime", strategyPlanTime.getPlanStartTime().format(DateTimeFormatter.ofPattern("HH:mm:ss"))) - .set("endTime", strategyPlanTime.getPlanEndTime().format(DateTimeFormatter.ofPattern("HH:mm:ss"))) - ); - } - } - info.set("wednesday", wednesday); - // 周四 - JSONArray thursday = new JSONArray(); - if (CollUtil.isNotEmpty(eduFaceGroupStrategy.getThursdayTimeList())) { - for (EduFaceGroupStrategyPlanTime strategyPlanTime : eduFaceGroupStrategy.getThursdayTimeList()) { - thursday.add(JSONUtil.createObj() - .set("startTime", strategyPlanTime.getPlanStartTime().format(DateTimeFormatter.ofPattern("HH:mm:ss"))) - .set("endTime", strategyPlanTime.getPlanEndTime().format(DateTimeFormatter.ofPattern("HH:mm:ss"))) - ); - } - } - info.set("thursday", thursday); - // 周五 - JSONArray friday = new JSONArray(); - if (CollUtil.isNotEmpty(eduFaceGroupStrategy.getFridayTimeList())) { - for (EduFaceGroupStrategyPlanTime strategyPlanTime : eduFaceGroupStrategy.getFridayTimeList()) { - friday.add(JSONUtil.createObj() - .set("startTime", strategyPlanTime.getPlanStartTime().format(DateTimeFormatter.ofPattern("HH:mm:ss"))) - .set("endTime", strategyPlanTime.getPlanEndTime().format(DateTimeFormatter.ofPattern("HH:mm:ss"))) - ); - } - } - info.set("friday", friday); - // 周六 - JSONArray saturday = new JSONArray(); - if (CollUtil.isNotEmpty(eduFaceGroupStrategy.getSaturdayTimeList())) { - for (EduFaceGroupStrategyPlanTime strategyPlanTime : eduFaceGroupStrategy.getSaturdayTimeList()) { - saturday.add(JSONUtil.createObj() - .set("startTime", strategyPlanTime.getPlanStartTime().format(DateTimeFormatter.ofPattern("HH:mm:ss"))) - .set("endTime", strategyPlanTime.getPlanEndTime().format(DateTimeFormatter.ofPattern("HH:mm:ss"))) - ); - } - } - info.set("saturday", saturday); - // 周天 - JSONArray sunday = new JSONArray(); - if (CollUtil.isNotEmpty(eduFaceGroupStrategy.getSundayTimeList())) { - for (EduFaceGroupStrategyPlanTime strategyPlanTime : eduFaceGroupStrategy.getSundayTimeList()) { - sunday.add(JSONUtil.createObj() - .set("startTime", strategyPlanTime.getPlanStartTime().format(DateTimeFormatter.ofPattern("HH:mm:ss"))) - .set("endTime", strategyPlanTime.getPlanEndTime().format(DateTimeFormatter.ofPattern("HH:mm:ss"))) - ); - } - } - info.set("sunday", sunday); - // 处理特殊日期 - JSONArray holidayInfo = JSONUtil.createArray(); - if (CollUtil.isNotEmpty(eduFaceGroupStrategy.getSpecialDateList())) { - for (EduFaceGroupStrategySpecialDate specialDate : eduFaceGroupStrategy.getSpecialDateList()) { - JSONObject jsonObject = JSONUtil.createObj() - .set("holidayStartDate", specialDate.getSpecialStartDate() - .format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "T00:00:00") - .set("holidayEndDate", specialDate.getSpecialEndDate() - .format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "T23:59:59"); - // 处理时间 - JSONArray holidayPeriod = JSONUtil.createArray(); - for (EduFaceGroupStrategySpecialTime specialTime : specialDate.getSpecialTimeList()) { - holidayPeriod.add(JSONUtil.createObj() - .set("startTime", specialTime.getSpecialStartTime().format(DateTimeFormatter.ofPattern("HH:mm:ss"))) - .set("endTime", specialTime.getSpecialEndTime().format(DateTimeFormatter.ofPattern("HH:mm:ss"))) - ); - } - jsonObject.set("holidayPeriod", holidayPeriod); - holidayInfo.add(jsonObject); - } - } - info.set("holidayInfo", holidayInfo); - // 信息主体 - params.set("info", info); - // 处理设备集合 - List deviceList = checkGroupDevice(eduFaceGroupStrategy); - List userList = eduFaceGroupStrategy.getGroupUserList(); - - for (EduAttendanceDevice device : deviceList) { - log.info("推送的策略信息=================sn: {}, params: {}", device.getSn(), params); - // 添加策略消息 - mqttUtil.publish(params.toString(), "mqtt/face/" + device.getSn()); - - if (CollUtil.isNotEmpty(userList)) { - JSONObject userParams = JSONUtil.createObj(); - // 设置人员绑定策略 - userParams.set("operator", HaiqingConstant.PERSONS_BIND_STRATEGY) - .set("messageId", StrUtil.uuid().replace("-", "")); - JSONArray personsInfo = JSONUtil.createArray(); - for (EduFaceGroupUser groupUser : userList) { - String customId = groupUser.getUserId().toString() + groupUser.getUserType().toString(); - JSONObject singleObject = JSONUtil.createObj() - // 用户id+用户类型 - .set("customId", customId); - Map map = redisService.hmget(CachePrefixConstant.USER_ATTENDANCE_STRATEGY - + device.getSn() + "-" + customId); - // 设置用户信息 - JSONArray array = JSONUtil.createArray(); - map.forEach((k, v) -> array.add(k)); - singleObject.set("strategyID", array); - - personsInfo.add(singleObject); - } - // 人员绑定通行策略 - userParams.set("info", JSONUtil.createObj().set("personsInfo", personsInfo)); - log.info("推送的人员绑定信息=================sn: {}, params: {}", device.getSn(), userParams); - mqttUtil.publish(userParams.toString(), "mqtt/face/" + device.getSn()); - } - } - } - - /** - * 处理设备信息 - * - * @param eduFaceGroupStrategy 人脸组-策略信息 - * @return java.util.List - * @author ZYJ - * @date 2022/12/22 16:58 - */ - public List checkGroupDevice(EduFaceGroupStrategy eduFaceGroupStrategy) { - // 处理设备集合 - List deviceAndGroup = eduFaceGroupStrategy.getGroupDeviceList(); - List deviceList = new ArrayList<>(); - // 处理设备 - List deviceIds = deviceAndGroup.stream().filter(x -> x.getType() == 0).map(EduFaceGroupDevice::getDeviceId) - .collect(Collectors.toList()); - if (CollUtil.isNotEmpty(deviceIds)) { - List devices = eduAttendanceDeviceService.list( - Wrappers.lambdaQuery(new EduAttendanceDevice()).in(EduAttendanceDevice::getId, deviceIds)); - if (CollUtil.isNotEmpty(devices)) { - deviceList.addAll(devices); - } - } - // 处理设备组 - List deviceGroupIds = deviceAndGroup.stream().filter(x -> x.getType() == 1).map(EduFaceGroupDevice::getDeviceId) - .collect(Collectors.toList()); - if (CollUtil.isNotEmpty(deviceGroupIds)) { - List groupDevices = eduAttendanceDeviceGroupService.listDeviceByGroup(deviceGroupIds); - if (CollUtil.isNotEmpty(groupDevices)) { - deviceList.addAll(groupDevices); - } - } - if (CollUtil.isEmpty(deviceList)) { - log.info("当前人脸组策略没有对应的设备信息: {}", eduFaceGroupStrategy.getFaceGroupId()); - return new ArrayList<>(); - } - return deviceList; - } - - @Override - public void deleteStrategy(EduFaceGroupStrategy eduFaceGroupStrategy) { - // 处理设备集合 - List deviceList = checkGroupDevice(eduFaceGroupStrategy); - - // 设置删除策略信息 - JSONObject params = JSONUtil.createObj() - .set("operator", HaiqingConstant.DEL_ACCESS_STRATEGY) - .set("messageId", StrUtil.uuid().replace("-", "")) - .set("info", JSONUtil.createObj() - .set("strategyID", JSONUtil.createArray().set(eduFaceGroupStrategy.getFaceGroupId()))); - - for (EduAttendanceDevice device : deviceList) { - log.info("推送的删除策略消息=================sn: {}, params: {}", device.getSn(), params); - // 删除策略消息 - mqttUtil.publish(params.toString(), "mqtt/face/" + device.getSn()); - } - } - - @Override - public void bindUserStrategy(EduFaceGroupStrategy eduFaceGroupStrategy) { - // 处理设备集合 - List deviceList = checkGroupDevice(eduFaceGroupStrategy); - - List userList = eduFaceGroupStrategy.getGroupUserList(); - if (CollUtil.isNotEmpty(userList)) { - - for (EduAttendanceDevice device : deviceList) { - JSONObject userParams = JSONUtil.createObj(); - // 设置人员绑定策略 - userParams.set("operator", HaiqingConstant.PERSONS_BIND_STRATEGY) - .set("messageId", StrUtil.uuid().replace("-", "")); - JSONArray personsInfo = JSONUtil.createArray(); - // 封装每个设备的用户策略信息 - for (EduFaceGroupUser groupUser : userList) { - String customId = groupUser.getUserId().toString() + groupUser.getUserType().toString(); - JSONObject singleObject = JSONUtil.createObj() - // 用户id+用户类型 - .set("customId", customId); - Map map = redisService.hmget(CachePrefixConstant.USER_ATTENDANCE_STRATEGY + - device.getSn() + "-" + customId); - // 设置用户信息 - JSONArray array = JSONUtil.createArray(); - map.forEach((k, v) -> array.add(k)); - singleObject.set("strategyID", array); - - personsInfo.add(singleObject); - } - userParams.set("info", JSONUtil.createObj().set("personsInfo", personsInfo)); - log.info("推送的解绑策略消息=================sn: {}, params: {}", device.getSn(), userParams); - // 绑定策略消息 - mqttUtil.publish(userParams.toString(), "mqtt/face/" + device.getSn()); - } - } - } - - /** - * 解绑对应的人员-策略信息 - * - * @param eduFaceGroupStrategy 策略信息 - * @author ZYJ - * @date 2022/12/26 10:19 - */ - @Override - public void unBindUserStrategy(EduFaceGroupStrategy eduFaceGroupStrategy) { - // 处理设备集合 - List deviceList = checkGroupDevice(eduFaceGroupStrategy); - - List userList = eduFaceGroupStrategy.getGroupUserList(); - if (CollUtil.isNotEmpty(userList)) { - - for (EduAttendanceDevice device : deviceList) { - JSONObject userParams = JSONUtil.createObj(); - // 设置人员绑定策略 - userParams.set("operator", HaiqingConstant.PERSONS_UNBIND_STRATEGY) - .set("messageId", StrUtil.uuid().replace("-", "")); - JSONArray personsInfo = JSONUtil.createArray(); - for (EduFaceGroupUser groupUser : userList) { - String customId = groupUser.getUserId().toString() + groupUser.getUserType().toString(); - JSONObject singleObject = JSONUtil.createObj() - // 用户id+用户类型 - .set("customId", customId); - // 设置用户信息 - JSONArray array = JSONUtil.createArray().set(eduFaceGroupStrategy.getFaceGroupId()); - singleObject.set("strategyID", array); - personsInfo.add(singleObject); - // 移除对应的缓存 - redisService.hdel(CachePrefixConstant.USER_ATTENDANCE_STRATEGY + - device.getSn() + "-" + customId, String.valueOf(eduFaceGroupStrategy.getFaceGroupId())); - } - userParams.set("info", JSONUtil.createObj().set("personsInfo", personsInfo)); - log.info("推送的解绑策略消息=================sn: {}, params: {}", device.getSn(), userParams); - // 解绑策略消息 - mqttUtil.publish(userParams.toString(), "mqtt/face/" + device.getSn()); - } - } - } - - @Override - public void deleteAndSaveStrategy(EduFaceGroupStrategy eduFaceGroupStrategy) { - unBindUserStrategy(eduFaceGroupStrategy); - deleteStrategy(eduFaceGroupStrategy); - // 添加缓存信息 - for (EduFaceGroupDevice groupDevice : eduFaceGroupStrategy.getGroupDeviceList()) { - EduAttendanceDevice device = eduAttendanceDeviceService.getById(groupDevice.getDeviceId()); - for (EduFaceGroupUser groupUser : eduFaceGroupStrategy.getGroupUserList()) { - String customId = groupUser.getUserId().toString() + groupUser.getUserType().toString(); - redisService.hset(CachePrefixConstant.USER_ATTENDANCE_STRATEGY + - device.getSn() + "-" + customId, String.valueOf(eduFaceGroupStrategy.getFaceGroupId()), 1); - } - } - saveStrategyAndUser(eduFaceGroupStrategy); - } - - @Override - public void addLeaveRequestStrategy(AddLeaveRequestStrategyDTO dto) { - // 查询学校校门的设备 - List deviceList = eduAttendanceDeviceService.list(Wrappers.lambdaQuery(new EduAttendanceDevice()) - .eq(EduAttendanceDevice::getSchoolId, dto.getSchoolId()) - .eq(EduAttendanceDevice::getDeviceType, DeviceType.HAIQING.getValue()) - .eq(EduAttendanceDevice::getState, DeviceStateEnum.ONLINE_STATUS.getStatus()) - // 校门类型 - .eq(EduAttendanceDevice::getType, 0) - ); - if (CollUtil.isEmpty(deviceList)) { - return; - } - // 查询人脸信息 - EduUserFace eduUserFace = remoteUserFaceService.getFaceByUser(dto.getUserId(), dto.getRequestType() == 1 ? 0 : 1).getData(); - if (Objects.isNull(eduUserFace)) { - throw new FebsException("审核失败!请上传人脸信息后重新审核"); - } - // 添加策略 - JSONObject params = new JSONObject(); - params.set("operator", HaiqingConstant.ADD_ACCESS_STRATEGY); - params.set("messageId", StrUtil.uuid().replace("-", "")); - // 包装信息主体 - JSONObject info = JSONUtil.createObj() - // 策略id使用人脸组id - .set("strategyID", dto.getStrategyId()) - .set("startDate", dto.getStartTime().format(DateTimeFormatter.ofPattern("yyyy-MM" + - "-dd'T'HH:mm:ss"))) - .set("endDate", dto.getEndTime().format(DateTimeFormatter.ofPattern("yyyy-MM" + - "-dd'T'HH:mm:ss"))); - info.set("monday", JSONUtil.createArray()); - info.set("tuesday", JSONUtil.createArray()); - info.set("wednesday", JSONUtil.createArray()); - info.set("thursday", JSONUtil.createArray()); - info.set("friday", JSONUtil.createArray()); - info.set("saturday", JSONUtil.createArray()); - info.set("sunday", JSONUtil.createArray()); - info.set("holidayInfo", JSONUtil.createArray()); - // 信息主体 - params.set("info", info); - for (EduAttendanceDevice device : deviceList) { - log.info("推送的策略信息=================sn: {}, params: {}", device.getSn(), params); - // 添加策略消息 - mqttUtil.publish(params.toString(), "mqtt/face/" + device.getSn()); - } - // 保存人员请假策略信息 - eduUserStrategyService.saveOrUpdate(EduUserStrategy.builder() - .strategyId(dto.getStrategyId()) - .userId(dto.getUserId()) - .userType(dto.getRequestType() == 0 ? 1 : 0) - .startTime(dto.getStartTime()) - .endTime(dto.getEndTime()) - .deptId(dto.getSchoolId()) - .build() - ); - // 生成人脸下发信息 - IssuedFaceDTO issuedFaceDTO = new IssuedFaceDTO(); - issuedFaceDTO.setUserFaceList(Collections.singletonList(eduUserFace)); - issuedFaceDTO.setDeviceList(deviceList.stream().map(EduAttendanceDevice::getId).collect(Collectors.toList())); - issuedFaceDTO.setGroupId(dto.getStrategyId()); - EduFaceGroupStrategy groupStrategy = new EduFaceGroupStrategy(); - groupStrategy.setFaceGroupId(dto.getStrategyId()); - issuedFaceDTO.setGroupStrategy(groupStrategy); - // 请假下发 - issuedFaceDTO.setIssuedTypeEnum(IssuedTypeEnum.LEAVE_REQUEST); - // 下发人脸、绑定策略和人员关系 - eduAttendanceDeviceService.issuedFace(issuedFaceDTO); - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduDeviceGroupServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduDeviceGroupServiceImpl.java deleted file mode 100644 index b18d4ed..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduDeviceGroupServiceImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.mapper.EduDeviceGroupMapper; -import com.yida.data.attendance.service.EduDeviceGroupService; -import com.yida.data.common.core.entity.attendance.EduDeviceGroup; -import java.util.List; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** - * 设备对应分组关系表 Service实现 - * - * @author zhanghaijun - * @date 2021-06-16 15:29:10 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class EduDeviceGroupServiceImpl extends ServiceImpl - implements EduDeviceGroupService { - - @Override - @Transactional(rollbackFor = Exception.class) - public void insertGroup(List list) { - saveBatch(list); - } - - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduUserStrategyServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduUserStrategyServiceImpl.java deleted file mode 100644 index b22cf34..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/EduUserStrategyServiceImpl.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.json.JSONArray; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.mapper.EduUserStrategyMapper; -import com.yida.data.attendance.service.EduAttendanceDeviceService; -import com.yida.data.attendance.service.EduUserStrategyService; -import com.yida.data.attendance.utils.MqttUtil; -import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; -import com.yida.data.common.core.entity.attendance.EduUserStrategy; -import com.yida.data.common.core.entity.attendance.enums.DeviceStateEnum; -import com.yida.data.common.core.entity.constant.hq.HaiqingConstant; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.enums.DeviceType; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.time.LocalDateTime; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * 人员策略信息 Service实现 - * - * @author ZYJ - * @date 2023-11-07 11:40:58 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduUserStrategyServiceImpl extends ServiceImpl - implements EduUserStrategyService { - - private final MqttUtil mqttUtil; - private final EduAttendanceDeviceService eduAttendanceDeviceService; - - @Override - public void checkOverTimeUserStrategy() { - // 查询超时请假策略 - List list = list(Wrappers.lambdaQuery(new EduUserStrategy()) - .lt(EduUserStrategy::getEndTime, LocalDateTime.now())); - if (CollUtil.isNotEmpty(list)) { - // 分组 - Map> userStrategyMap = list.stream() - .collect(Collectors.groupingBy(EduUserStrategy::getDeptId)); - userStrategyMap.forEach((deptId, userStrategy) -> { - // 设置删除策略信息 - JSONObject params = JSONUtil.createObj() - .set("operator", HaiqingConstant.DEL_ACCESS_STRATEGY) - .set("messageId", StrUtil.uuid().replace("-", "")); - // 策略id集合 - JSONArray array = JSONUtil.createArray(); - list.forEach(strategy -> array.add(strategy.getStrategyId())); - - // 查询学校校门的设备 - List deviceList = eduAttendanceDeviceService.list(Wrappers.lambdaQuery(new EduAttendanceDevice()) - .eq(EduAttendanceDevice::getSchoolId, deptId) - .eq(EduAttendanceDevice::getDeviceType, DeviceType.HAIQING.getValue()) - .eq(EduAttendanceDevice::getState, DeviceStateEnum.ONLINE_STATUS.getStatus()) - // 校门类型 - .eq(EduAttendanceDevice::getType, 0) - ); - - if (CollUtil.isNotEmpty(deviceList) && CollUtil.isNotEmpty(array)) { - params.set("info", JSONUtil.createObj().set("strategyID", array)); - for (EduAttendanceDevice device : deviceList) { - log.info("定时任务推送的删除策略消息=================sn: {}, params: {}", device.getSn(), params); - // 删除策略消息 - mqttUtil.publish(params.toString(), "mqtt/face/" + device.getSn()); - } - } - }); - - remove(Wrappers.lambdaQuery(new EduUserStrategy()).in(EduUserStrategy::getStrategyId, list.stream() - .map(EduUserStrategy::getStrategyId).collect(Collectors.toList()))); - } - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/ErrorRecordMsgServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/ErrorRecordMsgServiceImpl.java deleted file mode 100644 index f942d47..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/ErrorRecordMsgServiceImpl.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import com.yida.data.attendance.dto.ListErrorRecordDTO; -import com.yida.data.attendance.repository.ErrorRecordMsgRepository; -import com.yida.data.attendance.service.ErrorRecordMsgService; -import com.yida.data.common.core.entity.ErrorRecordMsg; -import com.yida.data.common.core.utils.FebsUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.elasticsearch.index.query.QueryBuilders; -import org.elasticsearch.search.sort.SortBuilders; -import org.elasticsearch.search.sort.SortOrder; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageRequest; -import org.springframework.data.domain.Pageable; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.time.LocalDateTime; -import java.time.ZoneOffset; -import java.util.Optional; - -/** - * 通行记录错误信息es处理service - * - * @author ZYJ - * @date 2023/11/1 16:08 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class ErrorRecordMsgServiceImpl implements ErrorRecordMsgService { - - private final ErrorRecordMsgRepository errorRecordMsgRepository; - - @Override - public void saveMsg(ErrorRecordMsg errorRecordMsg) { - errorRecordMsgRepository.save(errorRecordMsg); - } - - @Override - public Page listErrorRecord(ListErrorRecordDTO dto) { - // 封装分页数据 - Pageable pageable = PageRequest.of(dto.getPageNum() - 1, dto.getPageSize()); - // 封装查询条件 - NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder() - .withPageable(pageable) - // 查询当前学校信息 - .withQuery(QueryBuilders.termQuery("schoolId", FebsUtil.getDeptId())) - .withSort(SortBuilders.fieldSort("createDate").order(SortOrder.DESC)); - // 姓名 - String name = dto.getName(); - if (StringUtils.isNotBlank(name)) { - queryBuilder.withQuery(QueryBuilders.matchQuery("msg", name)); - } - // 操作开始时间 - LocalDateTime startTime = dto.getStartDateTime(); - // 操作结束时间 - LocalDateTime endTime = dto.getEndDateTime(); - if (Optional.ofNullable(startTime).isPresent()) { - queryBuilder.withQuery(QueryBuilders.rangeQuery("createDate").gte(startTime.toInstant( - ZoneOffset.of("+8") - ).toEpochMilli()).lte(endTime.toInstant( - ZoneOffset.of("+8") - ).toEpochMilli())); - } - // 查询列表数据 - return errorRecordMsgRepository.search(queryBuilder.build()); - } - - @Override - public void batchDeleteErrorRecord(String[] recordIds) { - for (String id : recordIds) { - if (errorRecordMsgRepository.existsById(id)) { - errorRecordMsgRepository.deleteById(id); - } else { - log.error("记录id不存在: {}", id); - } - } - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/HaiqingCallbackService.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/HaiqingCallbackService.java deleted file mode 100644 index 2232371..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/HaiqingCallbackService.java +++ /dev/null @@ -1,888 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.lang.Snowflake; -import cn.hutool.core.util.StrUtil; -import cn.hutool.json.JSONArray; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.attendance.dto.AddAttendanceRecordDTO; -import com.yida.data.attendance.mapper.EduAttendanceDeviceMapper; -import com.yida.data.attendance.service.AttendanceRecordService; -import com.yida.data.attendance.service.EduAttendanceStrategyService; -import com.yida.data.attendance.service.EduUserStrategyService; -import com.yida.data.attendance.service.ErrorRecordMsgService; -import com.yida.data.attendance.utils.MqttUtil; -import com.yida.data.common.core.entity.ErrorRecordMsg; -import com.yida.data.common.core.entity.ReceiveMsg; -import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; -import com.yida.data.common.core.entity.attendance.EduUserStrategy; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.constant.LockPrefixConstant; -import com.yida.data.common.core.entity.constant.StringConstant; -import com.yida.data.common.core.entity.constant.hq.HaiqingCallbackCodeConstant; -import com.yida.data.common.core.entity.constant.hq.HaiqingConstant; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategy; -import com.yida.data.common.core.entity.user.EduFaceGroupUser; -import com.yida.data.common.core.entity.user.EduUserDevice; -import com.yida.data.common.core.entity.user.EduUserFace; -import com.yida.data.common.core.enums.DeviceType; -import com.yida.data.common.core.enums.MsgChannel; -import com.yida.data.common.core.enums.RecordTypeEnum; -import com.yida.data.common.core.utils.FileUtil; -import com.yida.data.user.dto.UpdateFaceGroupUserStatusDTO; -import com.yida.data.user.feign.RemoteFaceGroupStrategyService; -import com.yida.data.user.feign.RemoteUserDeviceService; -import com.yida.data.user.feign.RemoteUserFaceService; -import lombok.extern.slf4j.Slf4j; -import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken; -import org.eclipse.paho.client.mqttv3.MqttCallbackExtended; -import org.eclipse.paho.client.mqttv3.MqttMessage; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.cloud.context.config.annotation.RefreshScope; -import org.springframework.context.ApplicationContext; -import org.springframework.context.annotation.Lazy; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - -@Service -@Slf4j -@RefreshScope -public class HaiqingCallbackService implements MqttCallbackExtended { - - private static MqttUtil mqttUtil; - @Lazy - @Resource - private AttendanceRecordService attendanceRecordService; - @Resource - private EduAttendanceDeviceMapper eduAttendanceDeviceMapper; - @Resource - private RemoteUserFaceService remoteUserFaceService; - @Resource - private RemoteUserDeviceService remoteUserDeviceService; - @Resource - private ErrorRecordMsgService errorRecordMsgService; - @Resource - private RemoteFaceGroupStrategyService remoteFaceGroupStrategyService; - - @Resource - private RedisService redisService; - - @Resource - private ApplicationContext applicationContext; - - @Lazy - @Resource - private EduUserStrategyService eduUserStrategyService; - - private static final Snowflake SNOWFLAKE; - - private static final ExecutorService MQTT_HEARTBEAT_POOL = new ThreadPoolExecutor(5, 10, 1, - TimeUnit.MINUTES, new LinkedBlockingQueue<>()); - - @Value("${febs.uploadUrl}") - private String uploadUrl; - - static { - SNOWFLAKE = new Snowflake(1L, 1L); - } - - public void setMqttUtil(MqttUtil util) { - mqttUtil = util; - } - - @Override - public void connectComplete(boolean b, String s) { - //if (b) { - // 断线重连后重新添加订阅 - log.info("----------------"); - log.info("连接成功"); - log.info("----------------"); - // 全部设备消息订阅 - List deviceList = - eduAttendanceDeviceMapper.selectList(Wrappers.lambdaQuery(new EduAttendanceDevice()) - .eq(EduAttendanceDevice::getDeviceType, DeviceType.HAIQING)); - if (CollUtil.isNotEmpty(deviceList)) { - List snList = deviceList.stream() - .map(x -> StrUtil.utf8Str("$queue/mqtt/face/" + x.getSn() + "/Ack")).collect(Collectors.toList()); - snList.addAll(deviceList.stream().map(x -> StrUtil.utf8Str("$queue/mqtt/face/" + x.getSn() + - "/Rec")).collect(Collectors.toList())); - mqttUtil.addTopic(snList.toArray(new String[0])); - } - // 心跳订阅 - mqttUtil.addTopic(StrUtil.utf8Str("$queue/mqtt/face/heartbeat")); - // 上线订阅 - mqttUtil.addTopic(StrUtil.utf8Str("$queue/mqtt/face/basic")); - //} - } - - @Override - public void connectionLost(Throwable throwable) { - log.info("----------------"); - log.info("丢失连接", throwable); - log.info("----------------"); - } - - /** - * 接受消息 - */ - @Override - public void messageArrived(String s, MqttMessage mqttMessage) { - checkReceiveMsg(s, mqttMessage); - } - - @Async - public void checkReceiveMsg(String s, MqttMessage mqttMessage) { - String msg = new String(mqttMessage.getPayload()); - JSONObject msgJson = JSONUtil.parseObj(msg); - // 处理数据 - String type = msgJson.getStr("operator"); - JSONObject info = msgJson.getJSONObject("info"); - // 保存接收消息到es - if (!HaiqingConstant.HEARTBEAT.equals(type)) { - ReceiveMsg receiveMsg = new ReceiveMsg(); - receiveMsg.setTopic(s); - receiveMsg.setMsg(msg); - receiveMsg.setId(SNOWFLAKE.nextId()); - receiveMsg.setChannel(MsgChannel.MQTT.getValue()); - receiveMsg.setCreateDate(LocalDateTime.now()); - redisService.lSet(CachePrefixConstant.RECEIVE_MSG, receiveMsg); -// log.info("接收的消息值, type: {}, info: {}", type, info); - } - try { - switch (type) { - // 编辑单个人员 - case HaiqingConstant.EDIT_PERSON_CALL: - log.info("增改人员消息接收的消息值, type: {}, info: {}", type, info); - editUser(info); - break; - // 批量增加与修改 处理逻辑相同 - case HaiqingConstant.ADD_PERSON_BATCH_CALL: - log.info("批量增加人员接收的消息值, type: {}, info: {}", type, info); - editUserBatch(msgJson, info, 1); - break; - case HaiqingConstant.UPDATE_PERSON_BATCH_CALL: - log.info("批量修改人员接收的消息值, type: {}, info: {}", type, info); - editUserBatch(msgJson, info, 0); - break; - // 删除单个人员 - case HaiqingConstant.DELETE_PERSON_CALL: - log.info("删除人员接收的消息值, type: {}, info: {}", type, info); - deleteUser(info); - break; - // 批量删除人员 - case HaiqingConstant.DELETE_PERSON_BATCH_CALL: - log.info("批量删除人员接收的消息值, type: {}, info: {}", type, info); - deleteUserBatch(info); - break; - // 认证信息推送 - case HaiqingConstant.REC_PERSON: - recPerson(s, info); - break; - // 心跳保活 - case HaiqingConstant.HEARTBEAT: - heartbeat(info); - break; - case HaiqingConstant.UNLOCK_ACK: - openDoor(info); - break; - case HaiqingConstant.SET_SYS_TIME_ACK: - setSysTime(info); - break; - // 设备上线 - case HaiqingConstant.ONLINE: - online(info); - break; - // 回复接收到认证记录信息返回 - case HaiqingConstant.PUSH_MESSAGE_ACK: - log.info("接收确认返回: {}", info); - pushMessageReturn(info); - break; - default: - } - } catch (Exception e) { - info.remove("pic"); - log.error("haiqing callback fail, info: {}", JSONUtil.toJsonStr(info), e); - } - } - - /** - * 回复接收到认证记录信息返回 - * - * @param info 接收的返回信息 - * @author ZYJ - * @date 2023/10/27 11:35 - */ - private void pushMessageReturn(JSONObject info) { - try { - // 设备号 - String deviceSn = info.getStr("facesluiceId"); - // 记录id - Integer recordId = info.getInt("SnapOrRecordID"); - // 操作结果,成功:“ok”/失败:“fail” - String result = info.getStr("result"); - // 操作成功删除缓存信息 - if (HaiqingCallbackCodeConstant.PUSH_RETURN_SUCCESS_RESULT.equals(result)) { - redisService.hdel(CachePrefixConstant.HQ_RECEIVE_INFO + deviceSn, String.valueOf(recordId)); - } - } catch (Exception e) { - log.error("回复接收到认证记录信息返回处理失败", e); - } - } - - @Override - public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) { - - } - - - private void editUser(JSONObject info) { - if ("fail".equals(info.get("result").toString())) { - // 删除本地对应关系,重置用户状态 - Integer type = Integer - .valueOf(info.get("customId").toString().substring(info.get("customId").toString().length() - 1)); - Long userId = Long - .valueOf(info.get("customId").toString().substring(0, info.get("customId").toString().length() - 1)); - EduUserFace userFace = remoteUserFaceService.getFaceByUser(userId, type).getData(); - // 发送重新采集通知 - if (userFace != null) { -// noticeService.sendCollectFailNotice(userFace.getPicPath(), userId, type); - remoteUserFaceService.delFaceByUser(userId, type); - } - log.error("mqtt编辑用户失败,customId:{},msg:{}", info.get("customId"), info.get("detail").toString()); - } - } - - /** - * 批量增加人员回调 - * - * @param msgJson 接收设备的所有信息 - * @param info 接收的设备info信息 - * @param type 0-修改,1-增加 - */ - private void editUserBatch(JSONObject msgJson, JSONObject info, Integer type) { - // 设备号 - String deviceSn = info.getStr("facesluiceId"); - - // 添加设备锁 - String lockKey = LockPrefixConstant.ISSUE_FACE_DEVICE_LOCK + deviceSn; - // 加锁 - redisService.falseLock(lockKey); - try { - // 人脸组id - Object o = redisService.hget(CachePrefixConstant.ISSUE_FACE_GROUP_DEVICE, deviceSn); - Long faceGroupId = Objects.nonNull(o) ? Long.valueOf(o.toString()) : null; - // 设备回调后删除当前设备下发的人脸信息 - redisService.del(CachePrefixConstant.HQ_EDIT_BATCH + deviceSn); - // 当前设备下发的人脸信息 - Map faceList; - // 删除海清人脸下发信息. 0-修改,1-增加 - if (type == 0) { - // 编辑信息 - faceList = redisService.hmget(CachePrefixConstant.HQ_BATCH_EDIT + deviceSn); - redisService.del(CachePrefixConstant.HQ_BATCH_EDIT + deviceSn); - } else { - // 新增信息 - faceList = redisService.hmget(CachePrefixConstant.HQ_BATCH_ADD + deviceSn); - redisService.del(CachePrefixConstant.HQ_BATCH_ADD + deviceSn); - } - // 释放批量编辑锁 - redisService.falseUnLock(LockPrefixConstant.HQ_DEVICE_USER_EDIT_LOCK + deviceSn); - - // 判断返回状态码 - String code = msgJson.getStr("code"); - // 当前设备全部失败 - if (HaiqingCallbackCodeConstant.DEVICE_BUSY.equals(code) - || HaiqingCallbackCodeConstant.DATA_OUT_OF_RANGE.equals(code)) { - // 添加失败信息并返回 - redisService.incr(CachePrefixConstant.ISSUE_FACE_FINISH + faceGroupId, (long) faceList.size()); - redisService.incr(CachePrefixConstant.ISSUE_FACE_ERROR + faceGroupId, (long) faceList.size()); - // 设置当前设备错误信息 - redisService.lSet(CachePrefixConstant.ISSUE_FACE_ERROR_MSG + faceGroupId + StringConstant.DOT + deviceSn, - faceList.values()); - // 解除设备锁 - redisService.falseUnLock(lockKey); - - // 修改人脸状态 - if (CollUtil.isNotEmpty(faceList)) { - // 失败的用户 修改其下发状态 删除下发记录 - UpdateFaceGroupUserStatusDTO dto = new UpdateFaceGroupUserStatusDTO(); - dto.setUserList(faceList.values().stream().map(value -> { - EduUserFace userFace = (EduUserFace) value; - EduFaceGroupUser user = new EduFaceGroupUser(); - user.setUserId(userFace.getUserId()); - user.setUserType(userFace.getUserType()); - user.setFaceGroupId(userFace.getFaceGroupUserId()); - return user; - }).collect(Collectors.toList())); - dto.setStatus(EduFaceGroupUser.ISSUE_FAIL); - remoteUserFaceService.updateFaceGroupUserStatus(dto); - } - return; - } - - // 设备信息 - EduAttendanceDevice device = eduAttendanceDeviceMapper.selectOne( - Wrappers.lambdaQuery(new EduAttendanceDevice()).eq(EduAttendanceDevice::getSn, deviceSn) - .eq(EduAttendanceDevice::getDeviceType, DeviceType.HAIQING.getValue())); -// // 策略下发信息 -// JSONObject userParams = JSONUtil.createObj(); -// // 设置人员绑定策略 -// userParams.set("operator", HaiqingConstant.PERSONS_BIND_STRATEGY) -// .set("messageId", StrUtil.uuid().replace("-", "")); -// JSONArray personsInfo = JSONUtil.createArray(); - // 下发的人脸信息 - List userFaceList = new ArrayList<>(); - - // 判断设备数量 - Object onlineNumberObject = redisService.get(CachePrefixConstant.ISSUE_FACE_GROUP_DEVICE_NUMBER + device.getSn()); - int onlineNumber = Objects.nonNull(onlineNumberObject) ? (Integer) onlineNumberObject : 1; - - if (info.getInt("AddSucNum") != 0) { - // 去除添加成功人员 - JSONArray addSucInfo = info.getJSONArray("AddSucInfo"); - // 用户和设备关联信息 - List userDeviceList = new ArrayList<>(); - // 下发成功人脸信息 - List successList = new ArrayList<>(); - EduUserFace userFace = null; - - for (Object sucInfo : addSucInfo) { - try { - JSONObject sucMsg = (JSONObject) sucInfo; - String customId = sucMsg.getStr("customId"); - // 删除redis中的缓存 -// redisService.hdel(CachePrefixConstant.HQ_EDIT_BATCH + deviceSn, customId); - // 保存设备的下发记录 - userFace = (EduUserFace) faceList.get(customId); - if (userFace != null) { - if (type == 1) { - // 新增下发成功添加人脸与设备的关联关系 - EduUserDevice userDevice = new EduUserDevice(); - userDevice.setDeviceId(device.getId()); - userDevice.setFaceGroupId(userFace.getFaceGroupUserId()); - userDevice.setUserId(userFace.getUserId()); - userDevice.setUserType(userFace.getUserType()); - userDeviceList.add(userDevice); - } - // 添加策略下发人员信息 - userFaceList.add(userFace); - } - // 添加策略关联信息 -// JSONObject singleObject = JSONUtil.createObj() -// // 用户id+用户类型 -// .set("customId", customId); -// Map map = redisService.hmget(CachePrefixConstant.USER_ATTENDANCE_STRATEGY -// + deviceSn + "-" + customId); -// if (CollUtil.isEmpty(map)) { -// continue; -// } -// // 设置用户信息 -// JSONArray array = JSONUtil.createArray(); -// map.forEach((k, v) -> array.add(k)); -// singleObject.set("strategyID", array); -// personsInfo.add(singleObject); - } catch (Exception e) { - log.error("成功下发人脸错误信息: {}", sucInfo, e); - } finally { - // 添加成功人脸信息 - if (Objects.nonNull(userFace)) { - // 添加人脸信息锁 - String userFaceLockKey = LockPrefixConstant.ISSUE_FACE_GROUP_LOCK + userFace.getFaceGroupUserId() - + StringConstant.DOT + userFace.getUserId(); - redisService.lock(userFaceLockKey); - // 判断数量. 所有数量成功才修改人脸状态 - String groupUserSuccessKey = - CachePrefixConstant.ISSUE_GROUP_USER_FACE_SUCCESS + userFace.getFaceGroupUserId(); - if (redisService.hHasKey(groupUserSuccessKey, String.valueOf(userFace.getUserId()))) { - // 成功数量 - Integer successNum = (Integer) redisService - .hget(groupUserSuccessKey, String.valueOf(userFace.getUserId())); - if (successNum + 1 >= onlineNumber) { - // 下发成功的人脸 - EduFaceGroupUser user = new EduFaceGroupUser(); - user.setUserId(userFace.getUserId()); - user.setUserType(userFace.getUserType()); - user.setFaceGroupId(userFace.getFaceGroupUserId()); - successList.add(user); - redisService.hdel(groupUserSuccessKey, String.valueOf(userFace.getUserId())); - } else { - // 成功数量加1 - redisService.hashIncrement(groupUserSuccessKey, String.valueOf(userFace.getUserId()), 1L); - } - } else { - if (onlineNumber == 1) { - // 下发成功的人脸 - EduFaceGroupUser user = new EduFaceGroupUser(); - user.setUserId(userFace.getUserId()); - user.setUserType(userFace.getUserType()); - user.setFaceGroupId(userFace.getFaceGroupUserId()); - successList.add(user); - redisService.hdel(groupUserSuccessKey, String.valueOf(userFace.getUserId())); - } else { - // 添加成功数量 - redisService.hset(groupUserSuccessKey, String.valueOf(userFace.getUserId()), 1); - } - } - redisService.unlock(userFaceLockKey); - } - } - } - // 需要绑定策略的信息 -// if (CollUtil.isNotEmpty(personsInfo)) { -// userParams.set("info", JSONUtil.createObj().set("personsInfo", personsInfo)); -// log.info("推送的人员绑定策略消息=================sn: {}, params: {}", device.getSn(), userParams); -// // 绑定策略消息 -// mqttUtil.publish(userParams.toString(), "mqtt/face/" + device.getSn()); -// } - // 保存人员和设备关联信息 - if (CollUtil.isNotEmpty(userDeviceList)) { - remoteUserDeviceService.batchSave(userDeviceList); - } - // 保存下发成功信息 - if (CollUtil.isNotEmpty(successList)) { - UpdateFaceGroupUserStatusDTO dto = new UpdateFaceGroupUserStatusDTO(); - dto.setUserList(successList); - dto.setStatus(EduFaceGroupUser.ISSUED); - remoteUserFaceService.updateFaceGroupUserStatus(dto); - } - // 添加成功人员数量 - redisService.incr(CachePrefixConstant.ISSUE_FACE_FINISH + faceGroupId, info.getLong("AddSucNum")); - } - if (info.getInt("AddErrNum") != 0) { - // 下发失败修改下发状态 - JSONArray addErrInfo = info.getJSONArray("AddErrInfo"); - // 用户和设备关联信息 - List userDeviceList = new ArrayList<>(); - // 下发成功人脸信息 - List successList = new ArrayList<>(); - // 下发失败人脸信息 - List errorList = new ArrayList<>(); - - long error = 0; - long finish = 0; - for (Object errInfo : addErrInfo) { - String customId = ""; - String errCode = ""; - // 保存设备的下发记录 - EduUserFace userFace = null; - try { - JSONObject errMsg = (JSONObject) errInfo; - customId = errMsg.getStr("customId"); - errCode = errMsg.getStr("errcode"); - userFace = (EduUserFace) faceList.get(customId); - log.error("issue face fail,msg:[{}],customId:[{}]", errCode, customId); - if (Objects.nonNull(userFace)) { - // 新增人员时, 461代表设备上customId已经存在, 需要添加本地数据 - if (HaiqingCallbackCodeConstant.ADD_PERSON_EXIST.equals(errCode) && type == 1) { - - // 将本地数据修改为已存在 - EduUserDevice userDevice = new EduUserDevice(); - // 人脸与设备的关联关系 - userDevice.setDeviceId(device.getId()); - userDevice.setFaceGroupId(userFace.getFaceGroupUserId()); - userDevice.setUserId(userFace.getUserId()); - userDevice.setUserType(userFace.getUserType()); - userDeviceList.add(userDevice); - - // 添加人脸信息锁 - String userFaceLockKey = LockPrefixConstant.ISSUE_FACE_GROUP_LOCK + userFace.getFaceGroupUserId() - + StringConstant.DOT + userFace.getUserId(); - redisService.lock(userFaceLockKey); - // 判断数量. 所有数量成功才修改人脸状态 - String groupUserSuccessKey = - CachePrefixConstant.ISSUE_GROUP_USER_FACE_SUCCESS + userFace.getFaceGroupUserId(); - if (redisService.hHasKey(groupUserSuccessKey, String.valueOf(userFace.getUserId()))) { - // 成功数量 - Integer successNum = (Integer) redisService - .hget(groupUserSuccessKey, String.valueOf(userFace.getUserId())); - if (successNum + 1 >= onlineNumber) { - // 下发成功的人脸 - EduFaceGroupUser user = new EduFaceGroupUser(); - user.setUserId(userFace.getUserId()); - user.setUserType(userFace.getUserType()); - user.setFaceGroupId(userFace.getFaceGroupUserId()); - successList.add(user); - redisService.hdel(groupUserSuccessKey, String.valueOf(userFace.getUserId())); - } else { - // 成功数量加1 - redisService.hashIncrement(groupUserSuccessKey, String.valueOf(userFace.getUserId()), 1L); - } - } else { - if (onlineNumber == 1) { - // 下发成功的人脸 - EduFaceGroupUser user = new EduFaceGroupUser(); - user.setUserId(userFace.getUserId()); - user.setUserType(userFace.getUserType()); - user.setFaceGroupId(userFace.getFaceGroupUserId()); - successList.add(user); - redisService.hdel(groupUserSuccessKey, String.valueOf(userFace.getUserId())); - } else { - // 添加成功数量 - redisService.hset(groupUserSuccessKey, String.valueOf(userFace.getUserId()), 1); - } - } - redisService.unlock(userFaceLockKey); - // 添加策略下发人员信息 - userFaceList.add(userFace); - - // 添加策略关联信息 -// JSONObject singleObject = JSONUtil.createObj() -// // 用户id+用户类型 -// .set("customId", customId); -// Map map = redisService.hmget(CachePrefixConstant.USER_ATTENDANCE_STRATEGY -// + deviceSn + "-" + customId); -// if (CollUtil.isEmpty(map)) { -// continue; -// } -// // 设置用户信息 -// JSONArray array = JSONUtil.createArray(); -// map.forEach((k, v) -> array.add(k)); -// singleObject.set("strategyID", array); -// personsInfo.add(singleObject); - } - - // 编辑人员时, 462代表设备上不存在此customId, 需要删除本地数据 - if (HaiqingCallbackCodeConstant.EDIT_PERSON_NOT_EXIST.equals(errCode) && type == 0) { - // 删除人脸与设备的关联关系 - EduUserDevice userDevice = new EduUserDevice(); - userDevice.setDeviceId(device.getId()); - userDevice.setFaceGroupId(userFace.getFaceGroupUserId()); - userDevice.setUserId(userFace.getUserId()); - userDevice.setUserType(userFace.getUserType()); - remoteUserDeviceService.deleteRelation(userDevice); - } - } - } catch (Exception e) { - log.error("保存人员错误下发人脸错误信息: {}", errInfo, e); - } finally { - if (StrUtil.isEmpty(customId) || StrUtil.isEmpty(errCode) || Objects.isNull(userFace) - || !(HaiqingCallbackCodeConstant.ADD_PERSON_EXIST.equals(errCode) && type == 1)) { - error++; - if (Objects.nonNull(userFace)) { - EduFaceGroupUser user = new EduFaceGroupUser(); - user.setUserId(userFace.getUserId()); - user.setUserType(userFace.getUserType()); - user.setFaceGroupId(userFace.getFaceGroupUserId()); - errorList.add(user); - // 添加错误人脸 - redisService - .lSet(CachePrefixConstant.ISSUE_FACE_ERROR_MSG + faceGroupId + StringConstant.DOT + deviceSn, - userFace); - } - } - // 移除下发人脸信息 -// redisService.hdel(CachePrefixConstant.HQ_EDIT_BATCH + deviceSn, customId); - finish++; - } - } - -// if (CollUtil.isNotEmpty(personsInfo)) { -// userParams.set("info", JSONUtil.createObj().set("personsInfo", personsInfo)); -// log.info("推送的人员绑定策略消息=================sn: {}, params: {}", device.getSn(), userParams); -// // 绑定策略消息 -// mqttUtil.publish(userParams.toString(), "mqtt/face/" + device.getSn()); -// } - // 保存人员和设备关联信息 - if (CollUtil.isNotEmpty(userDeviceList)) { - remoteUserDeviceService.batchSave(userDeviceList); - } - // 保存下发成功信息 - if (CollUtil.isNotEmpty(successList)) { - UpdateFaceGroupUserStatusDTO dto = new UpdateFaceGroupUserStatusDTO(); - dto.setUserList(successList); - dto.setStatus(EduFaceGroupUser.ISSUED); - remoteUserFaceService.updateFaceGroupUserStatus(dto); - } - // 添加失败人员数量 - redisService.incr(CachePrefixConstant.ISSUE_FACE_FINISH + faceGroupId, finish); - redisService.incr(CachePrefixConstant.ISSUE_FACE_ERROR + faceGroupId, error); - // 保存下发失败信息 - if (CollUtil.isNotEmpty(errorList)) { - // 失败的用户 修改其下发状态 删除下发记录 - UpdateFaceGroupUserStatusDTO dto = new UpdateFaceGroupUserStatusDTO(); - dto.setUserList(errorList); - dto.setStatus(EduFaceGroupUser.ISSUE_FAIL); - remoteUserFaceService.updateFaceGroupUserStatus(dto); - } - } - // 异步推送策略绑定信息 - if (CollUtil.isNotEmpty(userFaceList)) { - HaiqingCallbackService bean = applicationContext.getBean(HaiqingCallbackService.class); - bean.pushStrategyMessage(deviceSn, userFaceList, faceGroupId); - } - } catch (Exception e) { - log.error("下发人脸回调失败", e); - } finally { - // 解除设备锁 - redisService.falseUnLock(lockKey); - } - } - - private void deleteUser(JSONObject info) { - if ("fail".equals(info.get("result").toString())) { - log.error("mqtt删除用户失败,userId:{},msg:{}", info.get("customId"), info.get("detail").toString()); - } - } - - /** - * 批量删除人员回调 - */ - private void deleteUserBatch(JSONObject info) { - String deviceSn = info.getStr("facesluiceId"); - // 释放该设备的删除锁 - redisService.falseUnLock(LockPrefixConstant.HQ_DEVICE_USER_DELETE_LOCK + deviceSn); - } - - private void setSysTime(JSONObject info) { - if ("fail".equals(info.get("result").toString())) { - log.error("mqtt设置时间失败,deviceId:{}", info.get("facesluiceId").toString()); - } - } - - private void openDoor(JSONObject info) { - if ("fail".equals(info.get("result").toString())) { - log.error("mqtt开门失败,deviceId:{}", info.get("facesluiceId").toString()); - } - } - - /** - * 接收认证结果 - */ - private void recPerson(String topic, JSONObject info) { - AddAttendanceRecordDTO dto = new AddAttendanceRecordDTO(); - Long schoolId = null; - try { - // TODO: 2023/10/28 断网续传验证后开启注释 -// try { -// // 设备号 -// String deviceSn = info.getStr("facesluiceId"); -// // 记录id -// Integer recordId = info.getInt("RecordID"); -// redisService.hset(CachePrefixConstant.HQ_RECEIVE_INFO + deviceSn, String.valueOf(recordId), info); -// -// HaiqingCallbackService bean = applicationContext.getBean(HaiqingCallbackService.class); -// // 接收认证消息推送方法 -// bean.pushConfirmMessage(deviceSn, 2, recordId); -// } catch (Exception e) { -// log.error("接收认证消息推送方法失败: {}", info, e); -// } - -// log.info("接收认证结果:{}", info); - String verifyStatus = info.getStr("VerifyStatus"); - - if (StrUtil.equals("24", verifyStatus)) { - //表示,无权限通过 - return; - } - - String userFlag = info.getStr("customId"); - if (StrUtil.isBlank(userFlag)) { - return; - } - Long userId = Long.valueOf(userFlag.substring(0, userFlag.length() - 1)); - // 设备号 - String sn = info.get("facesluiceId").toString(); - // 查询设备信息 - EduAttendanceDevice attendanceDevice = eduAttendanceDeviceMapper - .selectOne(Wrappers.lambdaQuery(new EduAttendanceDevice()) - .eq(EduAttendanceDevice::getSn, sn)); - if (Objects.isNull(attendanceDevice)) { - log.error("设备信息不存在: {}", sn); - return; - } - schoolId = attendanceDevice.getSchoolId(); - dto.setSchoolId(attendanceDevice.getSchoolId()); - dto.setDeviceSn(sn); - dto.setCreateTime(LocalDateTime.parse(info.getStr("time"), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); - dto.setUserId(userId); - // 优化类型 - char type = userFlag.charAt(userFlag.length() - 1); - dto.setUserType(Integer.parseInt(Character.toString(type)) == 0 ? 1 : 0); - dto.setName(info.getStr("persionName")); - - // 获取识别机推送信息 - String base64 = info.getStr("pic"); - String url = ""; - if (StrUtil.isNotEmpty(base64)) { -// log.error("人脸认证结果接收失败, 没有图片信息"); -// return; - // 本地路径 - String localPath = FileUtil.uploadBase64Img(base64.substring(base64.indexOf(",") + 1), "png"); - // 上传到媒资 - url = FileUtil.uploadFileToMediaServer(uploadUrl, localPath).split(",")[0]; - cn.hutool.core.io.FileUtil.del(localPath); - } - dto.setPicUrl(url); -// Double temp = info.get("temperature") != null ? Double.valueOf(info.get("temperature").toString()) : null; - // 人脸区域 -// String facePath = null; - // 上传人脸部分 -// String faceUrl = StrUtil.isNotBlank(facePath) ? FileUtil.uploadFileToMediaServer(facePath).split(",")[0] : url; - // 删除本地文件 - -// if (facePath != null) { -// cn.hutool.core.io.FileUtil.del(facePath); -// } -// log.info("人脸识别信息:[{}]", dto); - dto.setMsgChannel(MsgChannel.MQTT); - dto.setOriginalRecordId(info.getStr("RecordID")); - attendanceRecordService.addRecord(dto); - } catch (Exception e) { - // 添加数据到es - errorRecordMsgService.saveMsg(ErrorRecordMsg.builder() -// .id(SNOWFLAKE.nextId()) - .createDate(LocalDateTime.now()) - .schoolId(schoolId) - .msg(JSONUtil.toJsonStr(dto)) - .topic(topic) - .channel(MsgChannel.MQTT.getValue()) - .recordType(RecordTypeEnum.PANEL_MACHINE.getType()) - .build() - ); - throw e; - } - } - - /** - * 接收心跳消息 - */ - private void heartbeat(JSONObject info) { - MQTT_HEARTBEAT_POOL.execute(() -> { - String deviceSn = info.getStr("facesluiceId"); - // 一次心跳过期时间为发送时间60s之后,即连续两次未检测到心跳该设备才失活 - redisService.del(CachePrefixConstant.ALIVE_DEVICE + deviceSn); - redisService.set(CachePrefixConstant.ALIVE_DEVICE + deviceSn, 1, 90L); - }); - } - - /** - * 设备上线 - */ - private void online(JSONObject info) { - String deviceSn = info.getStr("facesluiceId"); - log.info("设备上线,sn:[{}]", deviceSn); - if (redisService.hasKey(CachePrefixConstant.HQ_EDIT_BATCH + deviceSn)) { - log.info("上线自动释放人脸下发锁,sn:[{}]", deviceSn); - redisService.falseUnLock(LockPrefixConstant.HQ_DEVICE_USER_EDIT_LOCK + deviceSn); - redisService.falseUnLock(LockPrefixConstant.HQ_DEVICE_USER_DELETE_LOCK + deviceSn); - } - JSONObject ack = new JSONObject() {{ - set("messageId", StrUtil.uuid()); - set("operator", "Online-Ack"); - set("info", new JSONObject() {{ - set("facesluiceId", deviceSn); - set("result", "ok"); - set("detail", ""); - }}); - }}; - mqttUtil.publish(ack.toString(), "mqtt/face/" + deviceSn); - } - - /** - * 接收认证消息推送方法 - * - * @param deviceSn 设备号 - * @param pushAckType 推送类型. 1:回复接收到陌生人抓拍信息; 2:回复接收到认证记录信息 - * @param snapOrRecordId 对应记录id. PushAckType=1, 填接收到的陌生人抓拍库 ID; PushAckType=2, 填接收到的控制记录库 ID - * @author ZYJ - * @date 2023/10/27 11:20 - */ - @Async - public void pushConfirmMessage(String deviceSn, int pushAckType, int snapOrRecordId) { - try { - log.info("开始推送消息"); - JSONObject jsonObject = JSONUtil.createObj() - .set("messageId", StrUtil.uuid()) - .set("operator", HaiqingConstant.PUSH_MESSAGE) - .set("info", JSONUtil.createObj() - .set("PushAckType", pushAckType) - .set("SnapOrRecordID", snapOrRecordId) - ); - Boolean publish = mqttUtil.publish(jsonObject.toString(), "mqtt/face/" + deviceSn); - log.info("结束推送消息: {}", publish); - } catch (Exception e) { - log.error("接收认证消息推送方法失败", e); - } - } - - /** - * 推送人员和策略绑定信息 - * - * @param deviceSn 设备号 - * @param userFaceList 人脸集合 - * @param faceGroupId 人脸组id - * @author ZYJ - * @date 2023/11/7 16:44 - */ - @Async - public void pushStrategyMessage(String deviceSn, List userFaceList, Long faceGroupId) { - try { - // 人员信息 - JSONArray personsInfo = JSONUtil.createArray(); - - for (EduUserFace userFace : userFaceList) { - if (Objects.isNull(userFace)) { - continue; - } - // 设置用户信息 - JSONArray array = JSONUtil.createArray(); - // 判断是否有请假策略 - List list = eduUserStrategyService.list(Wrappers.lambdaQuery(new EduUserStrategy()) - .eq(EduUserStrategy::getUserId, userFace.getUserId()) - .eq(EduUserStrategy::getUserType, userFace.getUserType()) - .ge(EduUserStrategy::getEndTime, LocalDateTime.now()) - ); - if (CollUtil.isNotEmpty(list)) { - list.forEach(strategy -> array.add(strategy.getStrategyId())); - } - // 判断人脸组是否有策略信息 - if (Objects.nonNull(faceGroupId)) { - EduFaceGroupStrategy strategy = remoteFaceGroupStrategyService.getStrategyInfo(faceGroupId).getData(); - if (Objects.nonNull(strategy)) { - array.add(faceGroupId); - } - } - if (CollUtil.isNotEmpty(array)) { - // 设置绑定信息 - JSONObject singleObject = JSONUtil.createObj() - // 用户id+用户类型 - .set("customId", userFace.getUserId() + userFace.getUserType().toString()) - // 策略id数组 - .set("strategyID", array); - personsInfo.add(singleObject); - } - } - // 推送绑定信息 - if (CollUtil.isNotEmpty(personsInfo)) { - // 策略下发信息 - JSONObject userParams = JSONUtil.createObj(); - // 设置人员绑定策略 - userParams.set("operator", HaiqingConstant.PERSONS_BIND_STRATEGY) - .set("messageId", StrUtil.uuid().replace("-", "")); - // 人员信息 - userParams.set("info", JSONUtil.createObj().set("personsInfo", personsInfo)); - log.info("推送的人员绑定策略消息=================sn: {}, params: {}", deviceSn, userParams); - // 绑定策略消息 - mqttUtil.publish(userParams.toString(), "mqtt/face/" + deviceSn); - } - } catch (Exception e) { - log.error("推送人员绑定策略消息失败, deviceSn: {}", deviceSn, e); - } - } -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/NoticeServiceImpl.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/NoticeServiceImpl.java deleted file mode 100644 index b44820a..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/service/impl/NoticeServiceImpl.java +++ /dev/null @@ -1,501 +0,0 @@ -package com.yida.data.attendance.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.date.LocalDateTimeUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.json.JSONUtil; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.attendance.dto.DayReportDataDTO; -import com.yida.data.attendance.service.AttendanceReportStrategyService; -import com.yida.data.attendance.service.AttendanceRuleRemindService; -import com.yida.data.attendance.service.NoticeService; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRecord; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceReportStrategy; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceResult; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRule; -import com.yida.data.common.core.entity.attendance.attendance.AttendanceRuleRemind; -import com.yida.data.common.core.entity.constant.AppConstant; -import com.yida.data.common.core.entity.constant.NoticeTypeConstant; -import com.yida.data.common.core.entity.notice.app.AppNotice; -import com.yida.data.common.core.entity.notice.app.inside.PushMessage; -import com.yida.data.common.core.entity.notice.qywx.NewsSchoolNotice; -import com.yida.data.common.core.entity.notice.qywx.TemplateCardStaffNotice; -import com.yida.data.common.core.entity.notice.qywx.TextCardStaffNotice; -import com.yida.data.common.core.entity.notice.qywx.inside.Article; -import com.yida.data.common.core.entity.notice.qywx.inside.News; -import com.yida.data.common.core.entity.notice.qywx.inside.TemplateCardNotice; -import com.yida.data.common.core.entity.notice.qywx.inside.TextCard; -import com.yida.data.common.core.entity.notice.qywx.inside.templateCard.CardAction; -import com.yida.data.common.core.entity.notice.qywx.inside.templateCard.HorizontalContent; -import com.yida.data.common.core.entity.notice.qywx.inside.templateCard.Jump; -import com.yida.data.common.core.entity.notice.qywx.inside.templateCard.MainTitle; -import com.yida.data.common.core.entity.school.EduYidaAppAccount; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.EduApp; -import com.yida.data.common.core.entity.system.EduYidaApp; -import com.yida.data.common.core.entity.user.EduParent; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.enums.UserTypeEnum; -import com.yida.data.common.core.enums.attendance.AttendanceUserTypeEnum; -import com.yida.data.common.core.enums.leave.LeaveRequestTypeEnum; -import com.yida.data.common.core.utils.AppUtil; -import com.yida.data.common.core.utils.WxUtil; -import com.yida.data.common.service.CommonService; -import com.yida.data.user.feign.RemoteStaffService; -import com.yida.data.user.feign.RemoteStudentApplyService; -import com.yida.data.user.feign.RemoteStudentService; -import java.time.Duration; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import javax.annotation.Resource; -import lombok.extern.slf4j.Slf4j; -import org.apache.catalina.User; -import org.apache.poi.hssf.record.PageBreakRecord.Break; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.cloud.context.config.annotation.RefreshScope; -import org.springframework.stereotype.Service; - -@Service -@Slf4j -@RefreshScope -public class NoticeServiceImpl implements NoticeService { - - @Resource - private RemoteStudentService remoteStudentService; - - @Resource - private RemoteStaffService remoteStaffService; - - @Resource - private AttendanceReportStrategyService attendanceReportStrategyService; - - @Resource - private CommonService commonService; - @Resource - private WxUtil wxUtil; - @Value("${febs.pageUrl}") - private String pageUrl; - @Resource - private RedisService redisService; - - @Resource - private RemoteStudentApplyService remoteStudentApplyService; - //schoolHomePage - - private static final String STUDENT_RECORD_DETAIL_URL = "/attendance/parents/home"; - private static final String STUDENT_RECORD_DETAIL_URL_NEW = "/schoolHomePage/#/stuAttAll"; - private static final String PARENT_COLLECT_FAIL_URL = "/collection/parent/index.html"; - //管理员查看学生考勤统计详情 - private static final String PARENT_TEACHER_ATTENDANCE_DETAIL_URL = "/schoolHomePage/#/stuTeacherdetail"; - //管理员查看教职工考勤统计详情 - private static final String STAFF_TEACHER_ATTENDANCE_DETAIL_URL = "/schoolHomePage/#/stuTeacherdetail"; - //学院领导查看日报统计信息 - private static final String STUDENT_DAY_REPORT_URL = "/schoolHomePage/#/attentionSentStastic"; - //通行记录默认图 - private static final String DEFAULT_ACCESS_IMG = "http://zbz.yd-data.com:8864/pic/other/2023111/8147045ffb904f208c8905ad7328d024.png"; - - @Override - public void sendAttendanceNotice(AttendanceRecord record) { - // 时间差异常 不进行推送 - LocalDateTime now = LocalDateTime.now(); - LocalDateTime deviceTime = record.getCreateTime(); - Duration duration = LocalDateTimeUtil.between(deviceTime, now); - // 时间差大于30分钟 不推送 - if (duration.toMinutes() > 30L) { - log.info("时间差过大,不推送通行消息,当前时间:[{}],设备时间:[{}],recordId:[{}]", now, deviceTime, record.getId()); - return; - } - if (ObjectUtil.isNull(record.getDeviceId())) { - return; - } - //目前推送进出学校 -// if (!ObjectUtil.equals(0, record.getZone())) { -// return; -// } - - //TODO 判断学生是否购买服务 -// EduAttendanceConfig config = -// (EduAttendanceConfig) redisService.hget(CachePrefixConstant.ATTENDANCE_CONFIG, -// result.getRecord().getSchoolId().toString()); -// if (config == null) { -// config = eduAttendanceConfigService.getConfig(result.getRecord().getSchoolId()); -// redisService.hset(CachePrefixConstant.ATTENDANCE_CONFIG, result.getRecord().getSchoolId().toString(), config); -// } -// if (ObjectUtil.equal("1", config.getPushState())) { //启用缴费才推送进出记录 -// //查询学生是否缴费 -// if (!remoteStudentApplyService.hasApply(result.getStudent().getId(), ApplyConstant.ATTENDANCE).getData()) { -// return; -// } -// } - - //查询家长推送提示是否开启 -// AttendanceReportStrategy strategy = attendanceReportStrategyService -// .getOne(Wrappers.lambdaQuery(new AttendanceReportStrategy()) -// .eq(AttendanceReportStrategy::getSchoolId, record.getSchoolId()) -// .eq(AttendanceReportStrategy::getType, 2)); -// -// if (ObjectUtil.isNull(strategy) || !ObjectUtil.equals(1, strategy.getParentEnrollReport())) { -// return; -// } - - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), record.getUserType())) { - //家长端 - EduStudent student = commonService.getStudentById(record.getUserId()); - //查询学校信息 - Dept school = commonService.getDept(student.getSchoolId()); - List parentList = student.getParents(); - if (CollUtil.isNotEmpty(parentList)) { - if (CollUtil.isNotEmpty(parentList)) { - // 推微信消息 - if (school.getSchoolType().contains(Dept.TYPE_QYWX)) { - // 从redis获取应用数据 - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.INDEX_PARENT, null, - student.getSchoolId()); - String token = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); - NewsSchoolNotice newsSchoolNotice = new NewsSchoolNotice(); - newsSchoolNotice.setAgentid(app.getWxAgentId()); - Article article = new Article(); - article.setPicurl(ObjectUtil.isEmpty(record.getPicUrl()) ? DEFAULT_ACCESS_IMG : record.getPicUrl()); - String detailUrl = pageUrl + STUDENT_RECORD_DETAIL_URL_NEW - + "?appId=" + app.getWxCorpId() - + "&userType=1" - + "&schoolId=" + student.getSchoolId() - + "&time=" + LocalDateTimeUtil.format(record.getCreateTime(), "yyyy" + - "-MM-dd") - + "&id=" + student.getId() - + "&recordId=" + record.getId() - + "&stuName=" + student.getStuName(); - article.setUrl(detailUrl); - article.setTitle("平安校园通知"); - newsSchoolNotice.setNews(new News(Collections.singletonList(article))); - for (EduParent parent : parentList) { - String wxId = parent.getWxId(); - String msg = ""; - if (ObjectUtil.equals(0, record.getZone())) { - //校门 - msg = String.format("尊敬的%s%s,%s在%s时间通过%s通道%s%s。【%s】", - student.getStuName(), - parent.getParentType(), - student.getStuName(), - LocalDateTimeUtil.format(record.getCreateTime(), "yyyy-MM-dd HH:mm:ss"), - record.getDeviceName(), - "0".equals(record.getScope().toString()) ? "进入" : "离开", - "0".equals(record.getZone().toString()) ? "学校" : "宿舍", - student.getSchoolName()); - } else { - //宿舍 - msg = String.format("尊敬的%s,%s时间在%s打卡成功,。【%s】", - student.getStuName(), - LocalDateTimeUtil.format(record.getCreateTime(), "yyyy-MM-dd HH:mm:ss"), - record.getDeviceName(), - student.getSchoolName()); - } - - article.setDescription(msg); - newsSchoolNotice.setTo_parent_userid(Collections.singletonList(wxId)); - wxUtil.pushSchoolNotice(token, newsSchoolNotice); - } -// log.info("push msg:{}", newsSchoolNotice); - } - // 推app消息 - if (school.getSchoolType().contains(Dept.TYPE_YIDA_APP)) { - // 从redis获取应用数据 - EduYidaApp yidaApp = commonService.getYidaApp(student.getSchoolId()); - EduYidaAppAccount account = commonService.getYidaAppAccount(student.getSchoolId(), 0); - AppNotice appNotice = new AppNotice(); - PushMessage msg = new PushMessage(); - msg.setTitle("平安校园通知"); - String detailUrl = pageUrl + STUDENT_RECORD_DETAIL_URL - + "?appId=" + school.getDeptId() - + "&type=1" - + "&loginType=2" - + "&id=" + student.getId().toString() - + "&aid=" + record.getId().toString() - + "&date=" + LocalDateTimeUtil.format(record.getCreateTime(), "yyyy" + - "-MM-dd"); - msg.setHtmlUrl(detailUrl); - msg.setImgUrl(ObjectUtil.isEmpty(record.getPicUrl()) ? DEFAULT_ACCESS_IMG : record.getPicUrl()); - msg.setAccountId(account.getYidaAppAccountId()); - msg.setMsgType(PushMessage.ARTICLE); - msg.setServiceId(account.getYidaAppAccountId()); - appNotice.setMsgList(Collections.singletonList(msg)); - for (EduParent parent : parentList) { - msg.setContent(String.format("尊敬的%s%s,%s在%s时间通过%s通道%s%s。【%s】", - student.getStuName(), - parent.getParentType(), - student.getStuName(), - LocalDateTimeUtil.format(record.getCreateTime(), "yyyy-MM-dd HH:mm:ss"), - record.getDeviceName(), - "0".equals(record.getScope().toString()) ? "进入" : "离开", - "0".equals(record.getZone().toString()) ? "学校" : "宿舍", - school.getDeptName() - )); - appNotice.setUserIds(Collections.singletonList(parent.getYidaAppUserId())); - appNotice.setPushMessage(new PushMessage(school.getDeptName() + "智慧校园", - account.getYidaAppAccountId())); - AppUtil.sendMsg(appNotice, yidaApp); - } - log.info("push attendance yida msg:{}", appNotice); - } - } - } - } else { - //TODO 职工段推送信息 - } - } - - @Override - public void sendCollectFailNotice(String picUrl, Long userId, Integer type) { - Dept school = null; - EduApp app; - // 学生和职工的通知样式不同 - - NewsSchoolNotice newsSchoolNotice = new NewsSchoolNotice(); - - Article article = new Article(); - article.setTitle("人脸审核不通过"); - - newsSchoolNotice.setNews(new News(Collections.singletonList(article))); - - if (type == 0) { - EduStudent student = remoteStudentService.getStudentNoPermission(userId).getData(); - school = commonService.getDept(student.getSchoolId()); - app = commonService.getAppByCodeAndSchool(AppConstant.COLLECT_PARENT, null, school.getDeptId()); - String token = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); - article.setPicurl(picUrl); - newsSchoolNotice.setAgentid(app.getWxAgentId()); - // 跳转链接 - String url = pageUrl + PARENT_COLLECT_FAIL_URL + "?studentId=" + student.getId() + "&corpId=" + - app.getWxCorpId(); - article.setUrl(url); - article.setDescription("点击图片重新采集"); - newsSchoolNotice.setTo_student_userid(Collections.singletonList(student.getWxId())); - // 每个家长发送消息 - wxUtil.pushSchoolNotice(token, newsSchoolNotice); - } - } - - @Override - public void sendLateNoticeToParent(AttendanceResult result) { - //封装卡片消息内容 - JSONObject notice = new JSONObject(); - EduStudent student = commonService.getStudentById(result.getUserId()); - Dept school = commonService.getDept(student.getSchoolId()); - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.INDEX_PARENT, null, school.getDeptId()); - String token = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); - notice.put("msgtype", "textcard"); - notice.put("agentid", app.getWxAgentId()); - JSONObject textcard = new JSONObject(); - textcard.put("title", "迟到提醒"); - textcard.put("description", - "
" + LocalDate.now() - + "
" + student.getStuName() + "同学已迟到" + Duration - .between(result.getStartStiTime(), LocalTime.now()).toMinutes() - + ",请注意核实学生安全,如有特殊是由请及时告知相应教师。
"); - - StringBuilder detailUrl = new StringBuilder(); - detailUrl.append(pageUrl).append(STUDENT_RECORD_DETAIL_URL_NEW) - .append("?appId=").append(app.getWxCorpId()) - .append("&userType=1") - .append("&schoolId=").append(student.getSchoolId()) - .append("&date=").append(LocalDateTimeUtil.format(result.getCreateTime(), "yyyy" + - "-MM-dd")); - textcard.put("url", detailUrl); - notice.put("textcard", textcard); - List parentList = student.getParents(); - for (EduParent parent : parentList) { - notice.put("touser", parent.getWxId()); -// wxUtil.pushSchoolNotice(token, newsSchoolNotice); - } - } - - @Override - public void sendStudentAttendanceLateReportToStaff(List resultList, Long staffId, AttendanceRule rule, - Long lateMinute) { - EduStaff staff = remoteStaffService.getStaff(staffId).getData(); - //文本卡片消息 - TextCardStaffNotice textCardStaffNotice = new TextCardStaffNotice(); - textCardStaffNotice.setTouser(staff.getWxId()); - TextCard textCard = new TextCard(); - textCard - .setTitle(ObjectUtil.equals(AttendanceUserTypeEnum.STUDENT_TO_DORM.getValue(), rule.getUserType()) ? "晚归提醒" : "迟到提醒"); - - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, - staff.getSchoolId()); - if (ObjectUtil.isNull(app)) { - app = commonService.getAppByCodeAndSchool(AppConstant.ATTENDANCE_STAFF, null, - staff.getSchoolId()); - } - if (ObjectUtil.isNull(app)) { - log.error("学校【{}】无智慧校园应用,无法发送迟到报告", staff.getSchoolId()); - return; - } - textCardStaffNotice.setAgentid(app.getWxAgentId()); - String accessToken = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); - String url = String - .format("%s?corpId=%s&schoolId=%s&userType=%s&type=%s&startData=%s&endData=%s&timeName=%s&status=%s", - pageUrl + PARENT_TEACHER_ATTENDANCE_DETAIL_URL, - app.getWxCorpId(), - staff.getSchoolId(), 0, 1, LocalDateTimeUtil.format(LocalDateTime.now(), "yyyy" + - "-MM-dd"), LocalDateTimeUtil.format(LocalDateTime.now(), "yyyy" + - "-MM-dd"), LocalDateTimeUtil.format(LocalDateTime.now(), "yyyy" + - "-MM-dd"), 3); - //学生信息 - List studentNameList = new ArrayList<>(); - for (AttendanceResult result : resultList) { - if (studentNameList.size() > 4) { - break; - } - EduStudent student = remoteStudentService.getStudentNoPermission(result.getUserId()).getData(); - if (ObjectUtil.isNotNull(student)) { - studentNameList.add(student.getStuName()); - } - } - String format = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日")); - - String msg = String.format("
%s
" - + "
%s
" - + "
%s等%S名学生已迟到%s分钟,请及时联系并核实情况!
", - format, rule.getName(), studentNameList.stream().collect(Collectors.joining(",")), resultList.size(), lateMinute); - - if (ObjectUtil.equals(AttendanceUserTypeEnum.STUDENT_TO_DORM.getValue(), rule.getUserType())) { - //宿舍考勤 - msg = String.format("
%s
" - + "
%s
" - + "
%s等%S名学生超出截止归寝时间%s分钟未归寝,请及时联系并核实情况!
", - format, rule.getName(), studentNameList.stream().collect(Collectors.joining(",")), resultList.size(), lateMinute); - } - - textCard.setDescription(msg); - - textCard.setUrl(url); - textCardStaffNotice.setTextcard(textCard); - //发送微信通知 - wxUtil.pushStaffNotice(accessToken, textCardStaffNotice); - } - - @Override - public void sendAttendanceDayReportToStaff(Long staffId, List dtoList, AttendanceRule rule, - Integer userType, Boolean isLeader) { - EduStaff staff = commonService.getStaffById(staffId); - Dept dept = commonService.getDept(staff.getSchoolId()); - //发送企业微信通知 - if (dept.getSchoolType().contains("0")) { - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, - staff.getSchoolId()); - if (ObjectUtil.isNull(app)) { - log.info("学校【{}】未开通智慧校园应用,无法推送消息", staff.getSchoolId()); - return; - } - String accessToken = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); - String url = ""; - String title = ""; - String format = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日")); - StringBuilder msg = new StringBuilder(String - .format("
%s
", - rule.getName())); - - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), userType)) { - //学生日报 - url = String - .format( - "%s?corpId=%s&schoolId=%s&userType=%s&type=%s&startData=%s&endData=%s&timeName=%s&status=%s&staffId=%s&ruleId=%s&searchUserType=%s", - pageUrl + (isLeader ? STUDENT_DAY_REPORT_URL : PARENT_TEACHER_ATTENDANCE_DETAIL_URL), - app.getWxCorpId(), - staff.getSchoolId(), 0, userType, - LocalDateTimeUtil.format(LocalDateTime.now(), "yyyy" + - "-MM-dd"), LocalDateTimeUtil.format(LocalDateTime.now(), "yyyy" + - "-MM-dd"), LocalDateTimeUtil.format(LocalDateTime.now(), "yyyy" + - "-MM-dd"), 3, staff.getId(), rule.getId(), userType); - title = format + "学生考勤日报"; - for (DayReportDataDTO dayReportDataDTO : dtoList) { -// String scoreStr = ""; -// if (dayReportDataDTO.getTotalNum() == 0) { -// scoreStr = "0.00%"; -// } else { -// double score = -// (double) ((dayReportDataDTO.getTotalNum() - dayReportDataDTO.getAbNum()) * 100) / dayReportDataDTO -// .getTotalNum(); -// scoreStr = String.format("%.2f", score) + "%"; -// } - msg.append(String.format("
%s:总人数:%s 异常:%s
", dayReportDataDTO.getDeptName(), - dayReportDataDTO.getTotalNum(), dayReportDataDTO.getAbNum())); - } - } else { - //职工日报 - url = String - .format( - "%s?corpId=%s&schoolId=%s&userType=%s&type=%s&startData=%s&endData=%s&timeName=%s&status=%s&staffId=%s&ruleId=%s&searchUserType=%s", - pageUrl + STAFF_TEACHER_ATTENDANCE_DETAIL_URL, - app.getWxCorpId(), - staff.getSchoolId(), 0, userType, - LocalDateTimeUtil.format(LocalDateTime.now(), "yyyy" + - "-MM-dd"), LocalDateTimeUtil.format(LocalDateTime.now(), "yyyy" + - "-MM-dd"), LocalDateTimeUtil.format(LocalDateTime.now(), "yyyy" + - "-MM-dd"), 3, staff.getId(), rule.getId(), userType); - title = format + "职工考勤日报"; - Integer totalNum = 0; - Integer abNum = 0; - for (DayReportDataDTO dayReportDataDTO : dtoList) { - totalNum += dayReportDataDTO.getTotalNum(); - abNum += dayReportDataDTO.getAbNum(); - } - msg.append(String.format("
总人数: %s
正常人数: %s
", - totalNum, totalNum - abNum)); - } - - //文本卡片消息 - TextCardStaffNotice textCardStaffNotice = new TextCardStaffNotice(); - textCardStaffNotice.setTouser(staff.getWxId()); - TextCard textCard = new TextCard(); - textCardStaffNotice.setAgentid(app.getWxAgentId()); - textCard.setTitle(title); - textCard.setDescription(msg.toString()); - textCard.setUrl(url); - textCardStaffNotice.setTextcard(textCard); - //发送微信通知 - wxUtil.pushStaffNotice(accessToken, textCardStaffNotice); -// -// //模板卡片消息--文本通知型 -// TemplateCardNotice templateCardNotice = new TemplateCardNotice(); -// templateCardNotice.setCard_type(NoticeTypeConstant.TEMPLATE_NOTICE_TYPE_TEXT); -// String title = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日")) + "考勤日报"; -// templateCardNotice.setMain_title(MainTitle.builder().title(title).build()); -// templateCardNotice.setSub_title_text(rule.getName()); -// -// List horizontalContentList = new ArrayList<>(); -// -// for (DayReportDataDTO dayReportDataDTO : dtoList) { -// HorizontalContent horizontalContent = new HorizontalContent(); -// horizontalContent.setValue(dayReportDataDTO.getDeptName()); -// horizontalContent.setKeyname(dayReportDataDTO.getTotalNum() + "/" + dayReportDataDTO.getAbNum()); -// horizontalContentList.add(horizontalContent); -// } -// templateCardNotice.setHorizontal_content_list(horizontalContentList); -// -// templateCardNotice.setCard_action(CardAction.builder().type(1).url(url).build()); -// templateCardNotice -// .setJump_list(Collections.singletonList(Jump.builder().type(1).title("查看详情").url(url).build())); -// TemplateCardStaffNotice templateCardStaffNotice = new TemplateCardStaffNotice(); -// templateCardStaffNotice.setTouser(staff.getWxId()); -// templateCardStaffNotice.setAgentid(app.getWxAgentId()); -// templateCardStaffNotice.setTemplate_card(templateCardNotice); -// //发送微信通知 -// wxUtil.pushStaffNotice(accessToken, templateCardStaffNotice); - } - } - - -} diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/utils/FormUtil.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/utils/FormUtil.java deleted file mode 100644 index e013f72..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/utils/FormUtil.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.yida.data.attendance.utils; - -import org.springframework.web.multipart.MultipartFile; - -import java.io.File; -import java.io.IOException; -import java.util.UUID; - -// -// -public class FormUtil { - // -// -// /** -// * 上传form到图普 -// * -// * @throws Exception -// */ -// public void uploadPic(String url, String filePath, Persion persion) throws Exception { -// -// RestTemplate rest = new RestTemplate(); -// FileSystemResource resource = new FileSystemResource(new File(filePath)); -// MultiValueMap param = new LinkedMultiValueMap<>(); -// param.add("name", persion.getName()); -// param.add("type", persion.getType()); -// param.add("headPicFile", resource); //相当于MultipartFile的名称 -//// param.add("fileName", "test.jpg"); -// -// String string = rest.postForObject(url, param, String.class); -// System.out.println(string); -// -// //rest.postForObject(url, param, String.class)也可以用下面的方法替换 -//// HttpEntity> httpEntity = new HttpEntity>(param); -//// ResponseEntity responseEntity = rest.exchange(url, HttpMethod.POST, httpEntity, String.class); -//// System.out.println(responseEntity.getBody()); -// } -// -// /** -// * 下载io流图片 -// * -// * @param request -// * @return -// * @throws IOException -// */ -// -// public String savePicByIo(HttpServletRequest request) throws IOException { -// // 图片存储路径 -// String path = Thread.currentThread().getContextClassLoader().getResource("image").getPath(); -// // 判断是否有路径 -// if (!new File(path).exists()) { -// new File(path).mkdirs(); -// } -// ServletInputStream inputStream = request.getInputStream(); -// String fileName = UUID.randomUUID().toString().replace("-", "") + ".jpg"; -// File tempFile = new File(path, fileName); -// if (!tempFile.exists()) { -// OutputStream os = new FileOutputStream(tempFile); -// BufferedOutputStream bos = new BufferedOutputStream(os); -// byte[] buf = new byte[1024]; -// int length; -// length = inputStream.read(buf, 0, buf.length); -// while (length != -1) { -// bos.write(buf, 0, length); -// length = inputStream.read(buf); -// } -// bos.close(); -// os.close(); -// inputStream.close(); -// } -// return path; -// } -// -// /** -// * 下载form表单图片 -// * -// * @param file -// * @return -// * @throws IOException -// */ -// - public String savePicByFormData(MultipartFile file) throws IOException { - // 图片存储路径 - String path = Thread.currentThread().getContextClassLoader().getResource("image").getPath(); - // 判断是否有路径 - if (!new File(path).exists()) { - new File(path).mkdirs(); - } - String fileName = UUID.randomUUID().toString().replace("-", "") + ".jpg"; - File tempFile = new File(path, fileName); - if (!tempFile.exists()) { - tempFile.createNewFile(); - } - file.transferTo(tempFile); - return fileName; - - } -// -// -} \ No newline at end of file diff --git a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/utils/MqttUtil.java b/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/utils/MqttUtil.java deleted file mode 100644 index 129e7f1..0000000 --- a/febs-server/attendance/attendance-biz/src/main/java/com/yida/data/attendance/utils/MqttUtil.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.yida.data.attendance.utils; - -import cn.hutool.core.util.StrUtil; -import com.yida.data.attendance.constant.MqttConstant; -import com.yida.data.attendance.service.impl.HaiqingCallbackService; -import lombok.extern.slf4j.Slf4j; -import org.eclipse.paho.client.mqttv3.MqttClient; -import org.eclipse.paho.client.mqttv3.MqttConnectOptions; -import org.eclipse.paho.client.mqttv3.MqttException; -import org.eclipse.paho.client.mqttv3.MqttMessage; -import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; -import org.springframework.context.annotation.Configuration; - -@Configuration -@Slf4j -public class MqttUtil { - - private static MqttClient mqttClient; - private static final String MQTT_CLIENT_ID = StrUtil.uuid(); - - public MqttUtil(HaiqingCallbackService haiqingCallbackService, MqttConstant mqttConstant) { - MemoryPersistence memoryPersistence = new MemoryPersistence(); - try { - mqttClient = new MqttClient(mqttConstant.getUrl(), MQTT_CLIENT_ID, - memoryPersistence); - // 设置回调函数,当订阅到信息时调用此方法 - mqttClient.setCallback(haiqingCallbackService); - // 向回调添加此客户端 - haiqingCallbackService.setMqttUtil(this); - MqttConnectOptions connOpts = new MqttConnectOptions(); - // 不自动清除session,每次连接会消费离线期间积累的消息 - // 设置是否清空session,这里如果设置为false表示服务器会保留客户端的连接记录,这里设置为true表示每次连接到服务器都以新的身份连接 - connOpts.setCleanSession(true); - // 设置自动重连 - connOpts.setAutomaticReconnect(true); - //connOpts.setConnectionTimeout(10); - // 设置会话心跳时间 单位为秒 服务器会每隔1.5*20秒的时间向客户端发送个消息判断客户端是否在线,但这个方法并没有重连的机制 - connOpts.setKeepAliveInterval(20); - connOpts.setUserName(mqttConstant.getUsername()); - connOpts.setPassword(mqttConstant.getPassword().toCharArray()); -// connOpts.setAutomaticReconnect(true); - mqttClient.connect(connOpts); - } catch (Exception e) { - log.error("创建客户端error:{}", e.getMessage()); - } - } - - - public Boolean publish(String msg, String topic) { - try { - mqttClient.publish(topic, new MqttMessage(msg.getBytes())); - } catch (Exception e) { - log.error("发送设备信息失败, msg: {}, topic: {}", msg, topic, e); - reconnect(); - return false; - } - return true; - } - - public Boolean addTopic(String topic) { - try { - mqttClient.subscribe(topic, 2); - } catch (Exception e) { - log.error("发送订阅msg失败:{}", e.getMessage()); - reconnect(); - return false; - } - return true; - } - - public Boolean addTopic(String[] topic) { - try { - // 保证一定只接受一次消息 - int[] qos = new int[topic.length]; - for (int i = 0; i < topic.length; i++) { - qos[i] = 2; - } - mqttClient.subscribe(topic, qos); - } catch (Exception e) { - log.error("发送订阅msg失败:{}", e.getMessage()); - reconnect(); - return false; - } - return true; - } - - private void reconnect() { - try { - mqttClient.reconnect(); - } catch (MqttException e) { - log.error("重新连接客户端失败", e); - } - } - -} diff --git a/febs-server/attendance/attendance-biz/src/main/resources/banner.txt b/febs-server/attendance/attendance-biz/src/main/resources/banner.txt deleted file mode 100644 index af17941..0000000 --- a/febs-server/attendance/attendance-biz/src/main/resources/banner.txt +++ /dev/null @@ -1,9 +0,0 @@ - ████████ ██████ ████████ ████████ ███████ ██ ██ -░░░░░░██ ░█░░░░██ ░░░░░░██ ░██░░░░░ ░██░░░░██ ░██ ░██ - ██ ░█ ░██ ██ ░██ ░██ ░██░██ ░██ - ██ ░██████ ██ █████░███████ ░██ ░██░██ ░██ - ██ ░█░░░░ ██ ██ ░░░░░ ░██░░░░ ░██ ░██░██ ░██ - ██ ░█ ░██ ██ ░██ ░██ ██ ░██ ░██ - ████████░███████ ████████ ░████████░███████ ░░███████ -░░░░░░░░ ░░░░░░░ ░░░░░░░░ ░░░░░░░░ ░░░░░░░ ░░░░░░░ - ${spring.application.name} \ No newline at end of file diff --git a/febs-server/attendance/attendance-biz/src/main/resources/bootstrap.yml b/febs-server/attendance/attendance-biz/src/main/resources/bootstrap.yml deleted file mode 100644 index c777526..0000000 --- a/febs-server/attendance/attendance-biz/src/main/resources/bootstrap.yml +++ /dev/null @@ -1,33 +0,0 @@ -spring: - profiles: - active: "@env-name@" - # active: "dev" - application: - name: Edu-Attendance - cloud: - nacos: - config: - server-addr: ${nacos.url} - group: DEFAULT_GROUP - prefix: edu-attendance - file-extension: yaml - discovery: - server-addr: ${nacos.url} - -logging: - level: - org: - springframework: - boot: - actuate: - endpoint: - EndpointId: error - com: - alibaba: - cloud: - nacos: - client: - NacosPropertySourceBuilder: error -#mybatis-plus: -# configuration: -# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl \ No newline at end of file diff --git a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRecordMapper.xml b/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRecordMapper.xml deleted file mode 100644 index 8312463..0000000 --- a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRecordMapper.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - diff --git a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceResultMapper.xml b/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceResultMapper.xml deleted file mode 100644 index cd3ed74..0000000 --- a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceResultMapper.xml +++ /dev/null @@ -1,316 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleAddressMapper.xml b/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleAddressMapper.xml deleted file mode 100644 index ec6bde6..0000000 --- a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleAddressMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleAdminMapper.xml b/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleAdminMapper.xml deleted file mode 100644 index 646e73f..0000000 --- a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleAdminMapper.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - diff --git a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleDeviceMapper.xml b/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleDeviceMapper.xml deleted file mode 100644 index d92dde8..0000000 --- a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleDeviceMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleMapper.xml b/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleMapper.xml deleted file mode 100644 index a7d3be2..0000000 --- a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleMapper.xml +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleObjMapper.xml b/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleObjMapper.xml deleted file mode 100644 index 29f64b6..0000000 --- a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleObjMapper.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - diff --git a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleRemindMapper.xml b/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleRemindMapper.xml deleted file mode 100644 index e858585..0000000 --- a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleRemindMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleSpecialDateMapper.xml b/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleSpecialDateMapper.xml deleted file mode 100644 index c2f950e..0000000 --- a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleSpecialDateMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleTimeMapper.xml b/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleTimeMapper.xml deleted file mode 100644 index 3d69ca2..0000000 --- a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleTimeMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleWhiteListMapper.xml b/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleWhiteListMapper.xml deleted file mode 100644 index de406ee..0000000 --- a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleWhiteListMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleWifiMapper.xml b/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleWifiMapper.xml deleted file mode 100644 index 836402d..0000000 --- a/febs-server/attendance/attendance-biz/src/main/resources/mapper/AttendanceRuleWifiMapper.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/febs-server/attendance/attendance-biz/src/main/resources/mapper/EduAttendanceDeviceGroupMapper.xml b/febs-server/attendance/attendance-biz/src/main/resources/mapper/EduAttendanceDeviceGroupMapper.xml deleted file mode 100644 index 2dda78d..0000000 --- a/febs-server/attendance/attendance-biz/src/main/resources/mapper/EduAttendanceDeviceGroupMapper.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - diff --git a/febs-server/attendance/attendance-biz/src/main/resources/mapper/EduAttendanceDeviceMapper.xml b/febs-server/attendance/attendance-biz/src/main/resources/mapper/EduAttendanceDeviceMapper.xml deleted file mode 100644 index 8a3b4ec..0000000 --- a/febs-server/attendance/attendance-biz/src/main/resources/mapper/EduAttendanceDeviceMapper.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/febs-server/attendance/pom.xml b/febs-server/attendance/pom.xml deleted file mode 100644 index c3611c9..0000000 --- a/febs-server/attendance/pom.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - febs-server - com.yida.data - 2.2-RELEASE - - 4.0.0 - - com.yida.data.attendance - attendance - pom - - attendance-api - attendance-biz - - - - 8 - 8 - - - \ No newline at end of file diff --git a/febs-server/edu-common/src/main/java/com/yida/data/common/excel/DefaultExportExcelClient.java b/febs-server/edu-common/src/main/java/com/yida/data/common/excel/DefaultExportExcelClient.java deleted file mode 100644 index 9e49545..0000000 --- a/febs-server/edu-common/src/main/java/com/yida/data/common/excel/DefaultExportExcelClient.java +++ /dev/null @@ -1,154 +0,0 @@ -package com.yida.data.common.excel; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.lang.UUID; -import cn.hutool.json.JSONUtil; -import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.support.ExcelTypeEnum; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.EasyExcelExportBaseDTO; -import com.yida.data.common.core.enums.FileDealStatusEnum; -import com.yida.data.common.core.file.IExportExcelClient; -import com.yida.data.common.core.file.common.export.ExportExcelData; -import com.yida.data.common.core.file.common.export.SelectExportData; -import com.yida.data.common.core.utils.FileUtil; -import com.yida.data.common.service.CommonService; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; -import org.springframework.util.StopWatch; - -import java.io.File; -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; - -/** - * 导出excel工具类 - * - * @author ZYJ - * @date 2023/10/19 16:49 - */ -@Data -@Slf4j -@AllArgsConstructor -public abstract class DefaultExportExcelClient> - implements IExportExcelClient { - - /** - * 导出的service层 - */ - protected final BaseService baseService; - - protected final RedisService redisService; - protected final CommonService commonService; - protected final String exportCacheKey; - protected final String uploadUrl; - - public Class getClassR() { - Type sType = getClass().getGenericSuperclass(); - Type[] generics = ((ParameterizedType) sType).getActualTypeArguments(); - return (Class) (generics[1]); - } - - /** - * 查询excel 导出需要的数据 - * - * @param t 查询条件 - * @return java.util.List - * @author ZYJ - * @date 2023/12/12 16:54 - */ - public abstract List selectExportData(T t); - - /** - * 处理单条数据 - * - * @param o 需要处理的数据 - * @return R - * @author ZYJ - * @date 2023/12/13 13:58 - */ - public abstract R handleSingleData(O o); - - @Override - public void exportExcelData(T t) { - File file = null; - try { - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - // 生成导出成功excel文件名 - String fileName = FileUtil.getLocalUploadAddress() + UUID.randomUUID() + ".xls"; - // 查询需要导出的文件信息 - List dataList = this.selectExportData(t); - - // 添加处理总数量 - redisService.hset(this.exportCacheKey, t.getKey(), ExportExcelData.builder() - .key(t.getKey()) - .exportStatus(FileDealStatusEnum.DEALING.getStatus()) - .total(dataList.size()) - .finish(0) - .build()); - - // 处理数据 - List list = new ArrayList<>(); - // 完成数量 - int finishNumber = 0; - for (O o : dataList) { - try { - R r = this.handleSingleData(o); - list.add(r); - } catch (Exception e) { - log.error("{}导出错误: {}", t.getFunctionName(), JSONUtil.toJsonStr(o)); - } finally { - finishNumber += 1; - redisService.hset(this.exportCacheKey, t.getKey(), ExportExcelData.builder() - .key(t.getKey()) - .exportStatus(FileDealStatusEnum.DEALING.getStatus()) - .total(dataList.size()) - .finish(finishNumber) - .build()); - } - } - // 导出数据 - file = new File(fileName); - EasyExcel.write(file, getClassR()) - .excelType(ExcelTypeEnum.XLS) - .sheet("数据导出") - .doWrite(list); - // 上传文件到媒资 - String fileUrl = FileUtil.uploadFileToMediaServer(uploadUrl, file); - // 处理完成 - ExportExcelData exportExcelData = ExportExcelData.builder() - .key(t.getKey()) - .exportStatus(FileDealStatusEnum.DEAL_SUCCESS.getStatus()) - .fileName(fileName) - .total(dataList.size()) - .finish(finishNumber) - .filePath(fileUrl) - .build(); - redisService.hset(this.exportCacheKey, t.getKey(), exportExcelData); - // 添加处理时间 - stopWatch.stop(); - log.info("{}数据总共耗时: {}", t.getFunctionName(), stopWatch.getTotalTimeSeconds() + "秒"); - } catch (Exception e) { - log.error("{}导出失败", t.getFunctionName(), e); - // 添加处理失败的结果 - redisService.hset(this.exportCacheKey, t.getKey(), ExportExcelData.builder() - .key(t.getKey()) - .exportStatus(FileDealStatusEnum.DEAL_FAIL.getStatus()) - .build()); - } finally { - if (Objects.nonNull(file)) { - cn.hutool.core.io.FileUtil.del(file); - } - } - } - - @Override - public Object selectExportInfo(String key) { - return redisService.hget(exportCacheKey, key); - } -} diff --git a/febs-server/edu-common/src/main/java/com/yida/data/common/excel/DefaultExportLargeClient.java b/febs-server/edu-common/src/main/java/com/yida/data/common/excel/DefaultExportLargeClient.java deleted file mode 100644 index fa7dcf5..0000000 --- a/febs-server/edu-common/src/main/java/com/yida/data/common/excel/DefaultExportLargeClient.java +++ /dev/null @@ -1,285 +0,0 @@ -package com.yida.data.common.excel; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.io.FileUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.support.ExcelTypeEnum; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.enums.FileDealStatusEnum; -import com.yida.data.common.core.file.IExportLargeClient; -import com.yida.data.common.core.file.common.DownloadFileChunk; -import com.yida.data.common.core.file.common.export.ExportLargeData; -import com.yida.data.common.core.file.common.export.SelectExportData; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.file.ChunkUtil; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.util.StopWatch; - -import javax.servlet.ServletOutputStream; -import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.io.InputStream; -import java.net.HttpURLConnection; -import java.net.URL; -import java.nio.file.Files; -import java.util.*; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; - -/** - * 导出大文件工具类 - * zip文件 - * - * @author ZYJ - * @date 2023/10/19 16:49 - */ -@Data -@Slf4j -@AllArgsConstructor -public abstract class DefaultExportLargeClient> - implements IExportLargeClient { - - /** - * 导出的service层 - */ - protected final BaseService baseService; - - protected final RedisService redisService; - protected final String exportCacheKey; - protected final String uploadUrl; - - /** - * 查询大文件导出需要的数据 - * - * @param t 查询条件 - * @return java.util.Map - * @author ZYJ - * @date 2023/10/20 16:09 - */ - public abstract Map selectExportData(T t); - - @Override - public void exportLargeData(T t) { - // 查询需要导出的文件信息 - Map map = this.selectExportData(t); - // zip文件 - File file = null; - // 错误信息文件 - File errorFile = null; - try { - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - // 生成的文件名称 - String fileName = com.yida.data.common.core.utils.FileUtil.getLocalUploadAddress() + t.getKey() + ".zip"; - file = new File(fileName); - ZipOutputStream zos = new ZipOutputStream(Files.newOutputStream(file.toPath())); - // 添加处理总数量 - redisService.hset(this.exportCacheKey, t.getKey(), ExportLargeData.builder() - .key(t.getKey()) - .exportStatus(FileDealStatusEnum.DEALING.getStatus()) - .total(map.size()) - .finish(0) - .build()); - - // 完成数量 - int finishNumber = 0; - // 错误数量 - int errorNumber = 0; - // 是否完成流程 - boolean flag; - // 错误信息 - Map errorMap = new HashMap<>(); - - for (Map.Entry entry : map.entrySet()) { - flag = true; - String name = ""; - String fileUrl = ""; - try { - // 文件名称 - name = entry.getKey(); -// log.info("处理数据: {}", name); - // 文件地址 - fileUrl = entry.getValue(); - // 下载文件 - URL url = new URL(fileUrl); - HttpURLConnection connection = (HttpURLConnection) url.openConnection(); - String message = connection.getHeaderField(0); - if (StringUtils.isNotEmpty(message)) { - if (message.startsWith("HTTP/1.1 404")) { - flag = false; - // 添加错误数据 - errorMap.put(name, fileUrl); - errorNumber += 1; - finishNumber += 1; - - redisService.hset(this.exportCacheKey, t.getKey(), ExportLargeData.builder() - .key(t.getKey()) - .exportStatus(FileDealStatusEnum.DEALING.getStatus()) - .total(map.size()) - .finish(finishNumber) - .error(errorNumber) - .build()); - continue; - } - zos.putNextEntry(new ZipEntry(name + ".jpg")); - InputStream fis = connection.getInputStream(); - byte[] buffer = new byte[1024]; - int r = 0; - while ((r = fis.read(buffer)) != -1) { - zos.write(buffer, 0, r); - } - fis.close(); - } - } catch (Exception e) { - flag = false; - // 添加错误数据 - if (StrUtil.isNotBlank(name) && StrUtil.isNotBlank(fileUrl)) { - errorMap.put(name, fileUrl); - } - errorNumber += 1; - finishNumber += 1; - - redisService.hset(this.exportCacheKey, t.getKey(), ExportLargeData.builder() - .key(t.getKey()) - .exportStatus(FileDealStatusEnum.DEALING.getStatus()) - .total(map.size()) - .finish(finishNumber) - .error(errorNumber) - .build()); - } finally { - if (flag) { - finishNumber += 1; - redisService.hset(this.exportCacheKey, t.getKey(), ExportLargeData.builder() - .key(t.getKey()) - .exportStatus(FileDealStatusEnum.DEALING.getStatus()) - .total(map.size()) - .finish(finishNumber) - .error(errorNumber) - .build()); - } - } - } - zos.flush(); - zos.close(); - stopWatch.stop(); - // 处理错误数据 - String errorFileUrl = ""; - if (CollUtil.isNotEmpty(errorMap)) { - // 表头list的生成,实际的表头信息可以从数据库或者缓存等处动态读取 - List> allColList = new ArrayList<>(); - // 姓名表头 - allColList.add(CollUtil.newArrayList("名称")); - // 校区表头 - allColList.add(CollUtil.newArrayList("地址")); - // 处理错误数据 - List> exportErrorDataList = new ArrayList<>(); - errorMap.forEach((k, v) -> exportErrorDataList.add(CollUtil.newArrayList(k, v))); - - String errorFileName = com.yida.data.common.core.utils.FileUtil.getLocalUploadAddress() + t.getKey() + ".xls"; - errorFile = new File(errorFileName); - // 导出错误数据 - EasyExcel.write(errorFile) - .excelType(ExcelTypeEnum.XLS) - // 这里放入动态头 - .head(allColList).sheet("错误信息") - // 当然这里数据也可以用 List> 去传入 - .doWrite(exportErrorDataList); - // 上传文件到媒资 - errorFileUrl = com.yida.data.common.core.utils.FileUtil.uploadFileToMediaServer(uploadUrl, errorFile); - } - // 处理完成 - ExportLargeData exportLargeData = ExportLargeData.builder() - .key(t.getKey()) - .exportStatus(FileDealStatusEnum.DEAL_SUCCESS.getStatus()) - .fileName(fileName) - .fileSize(new File(fileName).length()) - .total(map.size()) - .finish(finishNumber) - .error(errorNumber) - .build(); - if (StrUtil.isNotBlank(errorFileUrl)) { - exportLargeData.setErrorFilePath(errorFileUrl); - } - redisService.hset(this.exportCacheKey, t.getKey(), exportLargeData); - log.info("导出照片数据总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); - } catch (Exception e) { - log.error("导出大文件失败", e); - // 添加处理失败的结果 - redisService.hset(this.exportCacheKey, t.getKey(), ExportLargeData.builder() - .key(t.getKey()) - .exportStatus(FileDealStatusEnum.DEAL_FAIL.getStatus()) - .build()); - // 删除本地zip文件 - if (Objects.nonNull(file)) { - FileUtil.del(file); - } - } finally { - // 删除本地错误信息文件 - if (Objects.nonNull(errorFile)) { - FileUtil.del(errorFile); - } - } - } - - @Override - public Object selectExportInfo(String key) { - return redisService.hget(exportCacheKey, key); - } - - @Override - public void downLoadChunk(DownloadFileChunk dto, HttpServletResponse response) { - // 生成的文件信息 - File resultFile = null; - Integer index = null; - Integer chunkTotal = null; - - try { - // 获取缓存信息 - ExportLargeData exportLargeData = (ExportLargeData) redisService.hget(this.exportCacheKey, dto.getKey()); - String fileName = exportLargeData.getFileName(); - - String[] splits = fileName.split("\\."); - String type = splits[splits.length - 1]; - String resultFileName = com.yida.data.common.core.utils.FileUtil.getLocalUploadAddress() + dto.getKey() + "." + type; - // 生成的分片文件 - resultFile = new File(resultFileName); - - // 分片信息 - Integer chunkSize = dto.getChunkSize(); - index = dto.getIndex(); - chunkTotal = dto.getChunkTotal(); - - long offset = (long) chunkSize * (index - 1); - if (Objects.equals(index, chunkTotal)) { - offset = resultFile.length() - chunkSize; - } - byte[] chunk = ChunkUtil.getChunk(index, chunkSize, resultFileName, offset); - - log.info("下载文件分片" + resultFileName + "," + index + "," + chunkSize + "," + chunk.length + "," + offset); -// response.addHeader("Access-Control-Allow-Origin","Content-Disposition"); - response.addHeader("Content-Disposition", "attachment;filename=" + fileName); - response.addHeader("Content-Length", String.valueOf(chunk.length)); -// response.setHeader("filename", fileName); - response.setContentType("application/octet-stream"); - - ServletOutputStream out = response.getOutputStream(); - out.write(chunk); - out.flush(); - out.close(); - } catch (Exception e) { - log.error("下载分片失败", e); - throw new FebsException("下载分片失败"); - } finally { - if (Objects.nonNull(resultFile) && Objects.nonNull(index) - && Objects.nonNull(chunkTotal) && index.equals(chunkTotal)) { - FileUtil.del(resultFile); - } - } - } -} diff --git a/febs-server/edu-common/src/main/java/com/yida/data/common/service/CommonService.java b/febs-server/edu-common/src/main/java/com/yida/data/common/service/CommonService.java index f818726..8ac3696 100644 --- a/febs-server/edu-common/src/main/java/com/yida/data/common/service/CommonService.java +++ b/febs-server/edu-common/src/main/java/com/yida/data/common/service/CommonService.java @@ -1,132 +1,43 @@ package com.yida.data.common.service; -import static com.yida.data.common.core.entity.constant.CachePrefixConstant.STAFF_DATA; - import cc.mrbird.febs.common.redis.service.RedisService; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.net.URLEncoder; -import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.Dict; -import com.yida.data.common.core.entity.constant.AppConstant; import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.constant.QywxServiceProviderConstant; -import com.yida.data.common.core.entity.constant.UPayConstant; -import com.yida.data.common.core.entity.consume.DeptConsumeTerminalCache; -import com.yida.data.common.core.entity.consume.EduConsumeConfig; -import com.yida.data.common.core.entity.school.EduDeptHomeApp; import com.yida.data.common.core.entity.school.EduYidaAppAccount; -import com.yida.data.common.core.entity.system.BaiduApiConfig; -import com.yida.data.common.core.entity.system.ConstructionPayConfig; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.EduApp; -import com.yida.data.common.core.entity.system.EduAppTemplate; -import com.yida.data.common.core.entity.system.EduArea; -import com.yida.data.common.core.entity.system.EduDeptFunction; -import com.yida.data.common.core.entity.system.EduDeptPayType; -import com.yida.data.common.core.entity.system.EduDeptWxPublic; -import com.yida.data.common.core.entity.system.EduHoliday; -import com.yida.data.common.core.entity.system.EduPayWxConfig; -import com.yida.data.common.core.entity.system.EduQywxServiceProvider; -import com.yida.data.common.core.entity.system.EduQywxServiceProviderSchool; -import com.yida.data.common.core.entity.system.EduYidaApp; -import com.yida.data.common.core.entity.system.UPayConfig; -import com.yida.data.common.core.entity.system.UnionPayConfig; -import com.yida.data.common.core.entity.system.WhiteList; -import com.yida.data.common.core.entity.system.enums.RoleEnum; -import com.yida.data.common.core.entity.system.enums.SysFunctionEnum; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStudent; +import com.yida.data.common.core.entity.system.*; import com.yida.data.common.core.entity.user.EduUserDept; import com.yida.data.common.core.entity.user.enums.UserDeptTypeEnum; -import com.yida.data.common.core.enums.BaiDuModuleEnum; -import com.yida.data.common.core.enums.school.DeptAppTypeEnum; -import com.yida.data.common.core.utils.FebsUtil; import com.yida.data.common.core.utils.NumberUtil; import com.yida.data.common.core.utils.RedisUtil; -import com.yida.data.common.core.utils.UPayUtil; -import com.yida.data.common.core.utils.WxServiceProviderUtil; -import com.yida.data.common.core.utils.WxUtil; -import com.yida.data.school.feign.index.RemoteDeptHomeIndexService; -import com.yida.data.system.feign.RemoteAppService; -import com.yida.data.system.feign.RemoteBaiDuApiConfigService; -import com.yida.data.system.feign.RemoteCommonService; -import com.yida.data.system.feign.RemoteConstructionPayConfigService; -import com.yida.data.system.feign.RemoteConsumeConfigService; -import com.yida.data.system.feign.RemoteDeptFunctionService; -import com.yida.data.system.feign.RemoteDeptService; -import com.yida.data.system.feign.RemoteDictService; -import com.yida.data.system.feign.RemoteHolidayService; -import com.yida.data.system.feign.RemotePayTypeService; -import com.yida.data.system.feign.RemotePayWxConfigService; -import com.yida.data.system.feign.RemoteQywxService; -import com.yida.data.system.feign.RemoteUPayConfigService; -import com.yida.data.system.feign.RemoteUnionPayConfigService; -import com.yida.data.system.feign.RemoteWhiteListService; -import com.yida.data.system.feign.RemoteYidaAppAccountService; -import com.yida.data.system.feign.RemoteYidaAppService; -import com.yida.data.user.feign.RemoteStaffService; -import com.yida.data.user.feign.RemoteStudentService; +import com.yida.data.system.feign.*; import com.yida.data.user.feign.RemoteUserDeptService; -import com.yida.data.user.vo.TeacherDeptVO; -import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.time.LocalDate; +import java.util.List; +import java.util.Objects; + @Slf4j @Service @RequiredArgsConstructor public class CommonService { - private final RemoteAppService remoteAppService; - private final RemoteQywxService remoteQywxService; private final RemoteDeptService remoteDeptService; - private final RemoteDictService remoteDictService; - private final RemoteCommonService remoteCommonService; + private final RemoteAppService remoteAppService; private final RemoteYidaAppService remoteYidaAppService; - private final RemoteHolidayService remoteHolidayService; - private final RemotePayTypeService remotePayTypeService; - private final RemoteUserDeptService remoteUserDeptService; - private final RemoteWhiteListService remoteWhiteListService; - private final RemoteUPayConfigService remoteUPayConfigService; - private final RemotePayWxConfigService remotePayWxConfigService; - private final RemoteDeptFunctionService remoteDeptFunctionService; - private final RemoteConsumeConfigService remoteConsumeConfigService; - private final RemoteUnionPayConfigService remoteUnionPayConfigService; private final RemoteYidaAppAccountService remoteYidaAppAccountService; - private final RemoteBaiDuApiConfigService remoteBaiDuApiConfigService; - private final RemoteConstructionPayConfigService remoteConstructionPayConfigService; - private final RemoteStaffService remoteStaffService; - private final RemoteStudentService remoteStudentService; - private final RemoteDeptHomeIndexService remoteDeptHomeIndexService; - - - private final WxUtil wxUtil; - private final WxServiceProviderUtil wxServiceProviderUtil; + private final RemotePayWxConfigService remotePayWxConfigService; + private final RemoteHolidayService remoteHolidayService; + private final RemoteCommonService remoteCommonService; + private final RemoteUserDeptService remoteUserDeptService; + private final RemotePayTypeService remotePayTypeService; + private final RemoteUnionPayConfigService remoteUnionPayConfigService; private final RedisService redisService; - public List selectDict(String type) { - if (ObjectUtil.isNull(type)) { - return null; - } - return remoteDictService.selectDict(type).getData(); - } - - public Dict getDictByTypeAndValueOrLabel(String type, String value, String label) { - if (ObjectUtil.isNull(type)) { - return null; - } - return remoteDictService.getDictByTypeAndValueOrLabel(type, value, label).getData(); - } - public Dept getDept(Long deptId) { if (deptId == null) { return null; @@ -300,7 +211,7 @@ public class CommonService { redisService.llSet(CachePrefixConstant.HOLIDAY, data); for (EduHoliday holiday : data) { // 节假日 - if (target.equals(holiday.getDate())) { + if (target.equals(holiday)) { return false; } } @@ -309,7 +220,7 @@ public class CommonService { for (Object o : objects) { // 节假日 EduHoliday holiday = (EduHoliday) o; - if (target.equals(holiday.getDate())) { + if (target.equals(holiday)) { return false; } } @@ -317,38 +228,6 @@ public class CommonService { return true; } - - /** - * 时间段内 节假日集合 - */ - public List inHolidayDateList(LocalDate startDate, LocalDate endDate) { - List inHolidayList = new ArrayList<>(); - List objects = redisService.lGet(CachePrefixConstant.HOLIDAY, 0L, -1L); - if (CollUtil.isEmpty(objects)) { - List data = remoteHolidayService.listAllHoliday().getData(); - if (CollUtil.isNotEmpty(data)) { - redisService.llSet(CachePrefixConstant.HOLIDAY, data); - for (EduHoliday holiday : data) { - // 节假日 - LocalDate date = holiday.getDate(); - if ((date.isAfter(startDate) && date.isBefore(endDate)) || date.equals(startDate) || date.equals(endDate)) { - inHolidayList.add(date); - } - } - } - } else { - for (Object o : objects) { - // 节假日 - EduHoliday holiday = (EduHoliday) o; - LocalDate date = holiday.getDate(); - if ((date.isAfter(startDate) && date.isBefore(endDate)) || date.equals(startDate) || date.equals(endDate)) { - inHolidayList.add(date); - } - } - } - return inHolidayList; - } - /** * 查询当天的上一个工作日 */ @@ -427,83 +306,6 @@ public class CommonService { return config; } - /** - * 根据部门查询建行支付配置 - * - * @param deptId 部门id - * @return com.yida.data.common.core.entity.system.ConstructionPayConfig - * @author ZYJ - * @date 2023/6/19 16:50 - */ - public ConstructionPayConfig getConstructionPayConfigByDept(Long deptId) { - ConstructionPayConfig config = redisService.hasKey(CachePrefixConstant.CONSTRUCTION_PAY_CONFIG) - ? (ConstructionPayConfig) redisService.hget(CachePrefixConstant.CONSTRUCTION_PAY_CONFIG, deptId.toString()) - : null; - if (config == null) { - config = remoteConstructionPayConfigService.getConstructionPayConfigByDept(deptId).getData(); - redisService.hset(CachePrefixConstant.CONSTRUCTION_PAY_CONFIG, deptId.toString(), config); - } - return config; - } - - /** - * 根据部门查询收钱吧支付配置 - * - * @param deptId 部门id - * @return com.yida.data.common.core.entity.system.UPayConfig - * @author ZYJ - * @date 2023/3/21 10:42 - */ - public UPayConfig getUPayConfigByDept(Long deptId) { - UPayConfig config = redisService.hasKey(CachePrefixConstant.U_PAY_CONFIG) - ? (UPayConfig) redisService.hget(CachePrefixConstant.U_PAY_CONFIG, deptId.toString()) - : null; - if (config == null) { - config = remoteUPayConfigService.getUPayConfigByDept(deptId).getData(); - redisService.hset(CachePrefixConstant.U_PAY_CONFIG, deptId.toString(), config); - } - return config; - } - - /** - * 获取学校消费机服务器信息 - * - * @param deptId 部门id - * @return com.yida.data.common.core.entity.consume.EduConsumeConfig - * @author ZYJ - * @date 2023/4/6 17:46 - */ - public EduConsumeConfig getConsumeConfigByDept(Long deptId) { - EduConsumeConfig config = redisService.hasKey(CachePrefixConstant.CONSUME_CONFIG) - ? (EduConsumeConfig) redisService.hget(CachePrefixConstant.CONSUME_CONFIG, deptId.toString()) - : null; - if (config == null) { - config = remoteConsumeConfigService.getConsumeConfigByDept(deptId).getData(); - redisService.hset(CachePrefixConstant.CONSUME_CONFIG, deptId.toString(), config); - } - return config; - } - - /** - * 获取学校收钱吧终端信息 - * - * @param deptId 学校id - * @return com.yida.data.common.core.entity.consume.DeptConsumeTerminalCache - * @author ZYJ - * @date 2023/4/3 14:47 - */ - public DeptConsumeTerminalCache getDeptConsumeTerminal(Long deptId) { - DeptConsumeTerminalCache cache = redisService.hasKey(CachePrefixConstant.DEPT_CONSUME_TERMINAL + deptId.toString()) - ? (DeptConsumeTerminalCache) redisService.get(CachePrefixConstant.DEPT_CONSUME_TERMINAL + deptId.toString()) - : null; - if (cache == null) { - cache = UPayUtil.active(getUPayConfigByDept(deptId), UPayConstant.ACTIVE_DEVICE_NAME); - cache.setDeptId(deptId); - redisService.set(CachePrefixConstant.DEPT_CONSUME_TERMINAL + deptId.toString(), cache); - } - return cache; - } - /** * 向下查询指定家校部门类型的家校部门id(可查询非直接子家校部门) 未毕业家校部门 * @@ -529,360 +331,14 @@ public class CommonService { return remoteUserDeptService.findChildIdByParentAndTypeNoPermission(deptId, type).getData(); } - /** - * 获取服务商信息 - * - * @param serviceCorpId 服务商企业微信corpId - * @return com.yida.data.common.core.entity.system.EduQywxServiceProvider - * @author ZYJ - * @date 2022/12/1 10:46 - */ - public EduQywxServiceProvider getServiceProvider(String serviceCorpId) { - EduQywxServiceProvider serviceProvider = redisService.hasKey(CachePrefixConstant.SYS_SERVICE_PROVIDER) - ? (EduQywxServiceProvider) redisService.hget(CachePrefixConstant.SYS_SERVICE_PROVIDER, serviceCorpId) - : null; - if (Objects.isNull(serviceProvider)) { - serviceProvider = remoteAppService.getServiceProviderByServiceCorpId(serviceCorpId).getData(); - if (Objects.nonNull(serviceProvider)) { - redisService.hset(CachePrefixConstant.SYS_SERVICE_PROVIDER, serviceCorpId, serviceProvider); - } - } - return serviceProvider; - } /** - * 获取对应服务商模板信息 + * 工具学校名称查找机构信息 * - * @param templateId 模板id - * @param serviceCorpId 服务商corpId - * @return com.yida.data.common.core.entity.system.EduAppTemplate - * @author ZYJ - * @date 2022/12/1 9:27 - */ - public EduAppTemplate getAppTemplateByTemplateId(String templateId, String serviceCorpId) { - EduAppTemplate eduAppTemplate = redisService.hasKey(CachePrefixConstant.SYS_APP_TEMPLATE) - ? (EduAppTemplate) redisService.hget(CachePrefixConstant.SYS_APP_TEMPLATE, serviceCorpId + "." + templateId) - : null; - if (Objects.isNull(eduAppTemplate)) { - eduAppTemplate = remoteAppService.getAppTemplateByTemplateId(templateId, serviceCorpId).getData(); - if (Objects.nonNull(eduAppTemplate)) { - redisService.hset(CachePrefixConstant.SYS_APP_TEMPLATE, serviceCorpId + "." + templateId, eduAppTemplate); - } - } - return eduAppTemplate; - } - - /** - * 根据学校对应的通讯录应用类型获取不同的access_token 创建、编辑、删除、获取部门ID列表、获取成员ID列表时使用 - * - * @param schoolId 学校id - * @return java.lang.String - * @author ZYJ - * @date 2022/12/1 9:46 - */ - public String getAddressListToken(Long schoolId) { - String accessToken; - // 获取学校通讯录应用 - EduApp app = getAppByCodeAndSchool(AppConstant.CONTACT, null, schoolId); - - if (Objects.isNull(app.getTemplateId())) { - // 自建应用 - accessToken = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); - } else { - // 服务商代开发应用 - // 获取对应模板信息 - EduAppTemplate appTemplate = getAppTemplateByTemplateId(app.getTemplateId(), app.getServiceCorpId()); - // 获取第三方应用凭证 - String suiteAccessToken = wxServiceProviderUtil.getSuiteAccessToken(appTemplate.getTemplateId(), - appTemplate.getTemplateSecret(), - String.valueOf(redisService.get(QywxServiceProviderConstant.SERVICE_SUITE_TICKET + appTemplate.getTemplateId()))); - // 获取企业微信信息缓存 -// EduQywxServiceProviderSchool providerSchool = (EduQywxServiceProviderSchool) redisService -// .hget(QywxServiceProviderConstant.PROVIDER_SCHOOL_CORP_ORIGINAL_DATA, -// app.getServiceCorpId() + "." + app.getWxCorpId()); - EduQywxServiceProviderSchool providerSchool = getCorpByOriginalData(app.getServiceCorpId(), app.getWxCorpId()); - accessToken = wxServiceProviderUtil - .getCorpToken(providerSchool.getDeptEncryptionCorpId(), app.getWxSecret(), suiteAccessToken); - } - return accessToken; - } - - /** - * 服务商对应学校加密corpId数据(原始值为key) - * - * @param providerCorpId 服务商corpId - * @param deptOriginalCorpId 部门原始corpId - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2023/9/25 17:48 - */ - public EduQywxServiceProviderSchool getCorpByOriginalData(String providerCorpId, String deptOriginalCorpId) { - EduQywxServiceProviderSchool providerSchool = - redisService.hasKey(QywxServiceProviderConstant.PROVIDER_SCHOOL_CORP_ORIGINAL_DATA) - ? (EduQywxServiceProviderSchool) redisService.hget(QywxServiceProviderConstant.PROVIDER_SCHOOL_CORP_ORIGINAL_DATA, - providerCorpId + "." + deptOriginalCorpId) - : null; - if (providerSchool == null) { - providerSchool = remoteQywxService.getCorpByOriginalData(providerCorpId, deptOriginalCorpId).getData(); - redisService - .hset(QywxServiceProviderConstant.PROVIDER_SCHOOL_CORP_ORIGINAL_DATA, providerCorpId + "." + deptOriginalCorpId, - providerSchool); - } - return providerSchool; - } - - /** - * 服务商对应学校加密corpId数据(加密值为key) - * - * @param providerCorpId 服务商corpId - * @param deptEncryptionCorpId 部门加密corpId - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2023/9/25 17:48 - */ - public EduQywxServiceProviderSchool getCorpByEncryptionData(String providerCorpId, String deptEncryptionCorpId) { - EduQywxServiceProviderSchool providerSchool = redisService.hasKey(QywxServiceProviderConstant.PROVIDER_SCHOOL_CORP_DATA) - ? (EduQywxServiceProviderSchool) redisService.hget(QywxServiceProviderConstant.PROVIDER_SCHOOL_CORP_DATA, - providerCorpId + "." + deptEncryptionCorpId) - : null; - if (providerSchool == null) { - providerSchool = remoteQywxService.getCorpByEncryptionData(providerCorpId, deptEncryptionCorpId).getData(); - redisService.hset(QywxServiceProviderConstant.PROVIDER_SCHOOL_CORP_DATA, providerCorpId + "." + deptEncryptionCorpId, - providerSchool); - } - return providerSchool; - } - - /** - * 获取企业凭证 - * - * @param app 通讯录应用信息 - * @return java.lang.String - * @author ZYJ - * @date 2022/12/1 11:24 - */ - public String getCorpToken(EduApp app) { - // 获取对应模板信息 - EduAppTemplate appTemplate = getAppTemplateByTemplateId(app.getTemplateId(), app.getServiceCorpId()); - // 获取第三方应用凭证 - String suiteAccessToken = wxServiceProviderUtil.getSuiteAccessToken(appTemplate.getTemplateId(), - appTemplate.getTemplateSecret(), - String.valueOf(redisService.get(QywxServiceProviderConstant.SERVICE_SUITE_TICKET + appTemplate.getTemplateId()))); - // 获取企业微信信息缓存 -// EduQywxServiceProviderSchool providerSchool = (EduQywxServiceProviderSchool) redisService -// .hget(QywxServiceProviderConstant.PROVIDER_SCHOOL_CORP_ORIGINAL_DATA, -// app.getServiceCorpId() + "." + app.getWxCorpId()); - EduQywxServiceProviderSchool providerSchool = getCorpByOriginalData(app.getServiceCorpId(), app.getWxCorpId()); - return wxServiceProviderUtil.getCorpToken(providerSchool.getDeptEncryptionCorpId(), app.getWxSecret(), suiteAccessToken); - } - - /** - * 设置职工授权url - * - * @param corpId 企业的CorpID - * @param redirectUrl 授权后重定向的回调链接地址,请使用urlencode对链接进行处理 - * @param agentId 应用agentid,snsapi_privateinfo时必填 - * @return java.lang.String - * @author ZYJ - * @date 2022/11/25 15:11 - */ - public String setAuthUrl(String corpId, String redirectUrl, String agentId) { - return "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + corpId - + "&redirect_uri=" + URLEncoder.createDefault().encode(redirectUrl, CharsetUtil.CHARSET_UTF_8) - + "&response_type=code&scope=snsapi_privateinfo&state=STATE" - + "&agentid=" + agentId + "#wechat_redirect"; - } - - /** - * 根据通讯录应用情况获取对应用户明文id 如果不是通讯录模板授权则返回本身userId - * - * @param userId 企业微信userId - * @param schoolId 学校id - * @param eduApp 通讯录app - * @return java.lang.String - * @author ZYJ - * @date 2023/2/2 10:41 - */ - public String getPlainUserId(String userId, Long schoolId, EduApp eduApp) { - // 获取学校通讯录应用 - EduApp app = getAppByCodeAndSchool(AppConstant.CONTACT, null, schoolId); - - // 本身就是明文id - if (Objects.isNull(app.getTemplateId())) { - return userId; - } else { - // 企业自建应用或基础应用的调用接口凭证 - EduApp appContactSchool = getAppByCodeAndSchool(AppConstant.CONTACT_SCHOOL, null, schoolId); - String accessToken = wxUtil.getAccessToken(appContactSchool.getWxCorpId(), appContactSchool.getWxSecret()); - // 密文转换成明文id - return wxServiceProviderUtil.convertUserIdToPlain(accessToken, userId, eduApp.getWxAgentId()); - } - } - - /** - * 根据通讯录应用情况获取对应用户密文id 如果不是通讯录模板授权则返回本身userId - * - * @param userId 企业微信userId - * @param schoolId 学校id - * @return java.lang.String - * @author ZYJ - * @date 2023/2/2 14:45 - */ - public String getSecretUserId(String userId, Long schoolId) { - // 获取学校通讯录应用 - EduApp app = getAppByCodeAndSchool(AppConstant.CONTACT, null, schoolId); - - // 本身就是明文id - if (Objects.isNull(app.getTemplateId())) { - return userId; - } else { - EduApp eduApp = getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, schoolId); - // 明文转换成密文id - return wxServiceProviderUtil.convertUserIdToSecret( - wxUtil.getAccessToken(eduApp.getWxCorpId(), eduApp.getWxSecret()), userId); - } - } - - /** - * 查询学校用于查询的通讯录应用 - * - * @param schoolId 学校id - * @return com.yida.data.common.core.entity.system.EduApp - * @author ZYJ - * @date 2023/4/23 20:25 - */ - public EduApp getAppContactUsedBySelect(Long schoolId) { - // 获取学校通讯录应用 - EduApp app = getAppByCodeAndSchool(AppConstant.CONTACT, null, schoolId); - // 本身就是明文id - if (Objects.isNull(app.getTemplateId())) { - return app; - } else { - return getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, schoolId); - } - } - - /** - * 根据学校名称查找机构信息 - * - * @param schoolName 学校名称 - * @return com.yida.data.common.core.entity.system.Dept - * @author ZYJ - * @date 2023/2/2 11:03 + * @param schoolName + * @return */ public Dept getSchoolByName(String schoolName) { return remoteDeptService.getSchoolByName(schoolName).getData(); } - - /** - * 获取系统白名单信息 - * - * @param functionName 功能名称 {@link SysFunctionEnum} - * @return com.yida.data.common.core.entity.system.WhiteList - * @author ZYJ - * @date 2023/2/20 18:00 - */ - public WhiteList getWhiteList(String functionName) { - WhiteList whiteList = redisService.hasKey(CachePrefixConstant.SYS_WHITE_LIST) - ? (WhiteList) redisService.hget(CachePrefixConstant.SYS_WHITE_LIST, functionName) - : null; - if (whiteList == null) { - whiteList = remoteWhiteListService.getWhiteList(functionName).getData(); - redisService.hset(CachePrefixConstant.SYS_WHITE_LIST, functionName, whiteList); - } - return whiteList; - } - - /** - * 获取部门是否开通当前功能 - * - * @param functionName 功能名称 - * @param schoolId 部门id - * @return com.yida.data.common.core.entity.system.EduDeptFunction - * @author ZYJ - * @date 2023/2/21 16:08 - */ - public EduDeptFunction getDeptFunction(String functionName, Long schoolId) { - EduDeptFunction eduDeptFunction = redisService.hasKey(CachePrefixConstant.SYS_DEPT_FUNCTION + schoolId) - ? (EduDeptFunction) redisService.hget(CachePrefixConstant.SYS_DEPT_FUNCTION + schoolId, functionName) - : null; - if (eduDeptFunction == null) { - eduDeptFunction = remoteDeptFunctionService.getDeptFunction(functionName, schoolId).getData(); - redisService.hset(CachePrefixConstant.SYS_DEPT_FUNCTION + schoolId, functionName, eduDeptFunction); - } - return eduDeptFunction; - } - - /** - * 根据学校id查询百度api配置 - * - * @param deptId 学校id - * @param moduleName 百度模块名称 {@link BaiDuModuleEnum} - * @return com.yida.data.common.core.entity.system.BaiduApiConfig - * @author ZYJ - * @date 2023/6/20 20:57 - */ - public BaiduApiConfig getBaiDuApiConfigByDept(Long deptId, String moduleName) { - BaiduApiConfig config = redisService.hasKey(CachePrefixConstant.BAI_DU_API_CONFIG + deptId) - ? (BaiduApiConfig) redisService.hget(CachePrefixConstant.BAI_DU_API_CONFIG + deptId, moduleName) - : null; - if (config == null) { - config = remoteBaiDuApiConfigService.getBaiDuApiConfigByDept(deptId, moduleName).getData(); - redisService.hset(CachePrefixConstant.BAI_DU_API_CONFIG + deptId.toString(), moduleName, config); - } - return config; - } - - public EduStaff getStaffById(Long staffId) { - EduStaff staff = (EduStaff) redisService.hget(STAFF_DATA, staffId.toString()); - if (ObjectUtil.isNull(staff)) { - staff = remoteStaffService.getStaff(staffId).getData(); - if (ObjectUtil.isNotNull(staff)) { - redisService.hset(STAFF_DATA, staffId.toString(), staff); - } - } - return staff; - } - - public EduStudent getStudentById(Long id) { - EduStudent student = (EduStudent) redisService - .hget(CachePrefixConstant.STUDENT_DATA, id.toString()); - if (ObjectUtil.isNull(student)) { - student = remoteStudentService.getStudentNoPermission(id).getData(); - if (student == null) { - log.error("学生不存在,id:[{}]", id); - return null; - } else { - redisService.hset(CachePrefixConstant.STUDENT_DATA, id.toString(), student); - } - } - return student; - } - - - /** - * 清除 人员匹配考勤规则 - */ - public void clearAttendanceRuleData() { - redisService.del(CachePrefixConstant.ATTENDANCE_STUDENT_RULE); - } - - - public void delUserGenerateUrlLinkCache(Long schoolId, Long userId, Integer userType) { - //查询所有的微信小程序app - List eduDeptHomeAppList = remoteDeptHomeIndexService.getDeptAppList(schoolId).getData(); - List wxAppList = eduDeptHomeAppList.stream() - .filter(e -> DeptAppTypeEnum.WX.getType().equals(e.getAppType())) - .collect(Collectors.toList()); - for (EduDeptHomeApp homeApp : wxAppList) { - redisService.del(CachePrefixConstant.USER_GENERATE_URL_LINK + userId + "" + userType + "" + homeApp.getId()); - } - } - - public List findStaffMangerClassIdList() { - List ClassIdList = new ArrayList<>(); - CurrentUser currentUser = FebsUtil.getCurrentUser(); - String rolePerms = FebsUtil.getCurrentUser().getRolePerms(); - return null; - } } diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApplyFormDataInputDTO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApplyFormDataInputDTO.java deleted file mode 100644 index 50e7bfe..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApplyFormDataInputDTO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.yida.data.customForm.dto.apply; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; - -/** - * 家长端申请表单填写信息 - * - * @author ZYJ - * @date 2023/11/14 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "ApplyFormDataInputDTO", description = "家长端申请表单填写信息") -public class ApplyFormDataInputDTO implements Serializable { - - private static final long serialVersionUID = -6987439370835565575L; - - @ApiModelProperty("对应表单id") - private Long formId; - - @ApiModelProperty("表单对应数据JSON字符串") - private String jsonDataString; - - @ApiModelProperty("填写用户id(学生id)") - private Long userId; -} diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApplyFormFillSelectPageDTO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApplyFormFillSelectPageDTO.java deleted file mode 100644 index b7e4bb9..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApplyFormFillSelectPageDTO.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.yida.data.customForm.dto.apply; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.yida.data.common.core.common.BaseDTO; -import com.yida.data.common.core.entity.applyForm.CoreApplyForm; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormFillUser; -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; - -/** - * 表单填报数据后台列表请求类 - * - * @author ZYJ - * @date 2023/12/7 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@ApiModel(value = "ApplyFormFillSelectPageDTO", description = "表单填报数据后台列表请求类") -public class ApplyFormFillSelectPageDTO extends BaseDTO implements Serializable { - - private static final long serialVersionUID = 4108055176121429655L; - - @ApiModelProperty(value = "表单名称") - private String formTitle; - - @ApiModelProperty(value = "部门id") - private Long deptId; - - @ApiModelProperty("审核状态:默认0未审核,1已通过,2已拒绝,3审核中") - private Integer examineStatus; - - @ApiModelProperty(value = "填报用户名称") - private String userName; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApplyFormFillUserDataDTO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApplyFormFillUserDataDTO.java deleted file mode 100644 index 54878b8..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApplyFormFillUserDataDTO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.yida.data.customForm.dto.apply; - -import com.yida.data.common.core.entity.applyForm.CoreApplyFormFillUserApprovalProcess; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormItem; -import com.yida.data.common.core.entity.user.EduStudent; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import io.swagger.annotations.ApiParam; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.web.bind.annotation.RequestParam; - -import java.io.Serializable; -import java.util.List; -import java.util.Map; - -/** - * 表单填报数据请求信息 - * - * @author ZYJ - * @date 2023/11/29 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "ApplyFormFillUserDataDTO", description = "表单填报数据请求信息") -public class ApplyFormFillUserDataDTO implements Serializable { - - private static final long serialVersionUID = -662728926408140104L; - - @ApiModelProperty(value = "填报用户id(学生id)", required = true) - private Long userId; - - @ApiModelProperty(value = "表单id", required = true) - private Long applyFormId; - - @ApiModelProperty(value = "用户填报信息id", required = true) - private Long fillUserId; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApplyFormSelectPageDTO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApplyFormSelectPageDTO.java deleted file mode 100644 index fce9ef1..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApplyFormSelectPageDTO.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.yida.data.customForm.dto.apply; - -import com.yida.data.common.core.common.BaseDTO; -import com.yida.data.common.core.entity.applyForm.CoreApplyForm; -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; - -/** - * 申请表单后台列表请求类 - * - * @author ZYJ - * @date 2023/11/14 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@ApiModel(value = "ApplyFormSelectPageDTO", description = "申请表单后台列表请求类") -public class ApplyFormSelectPageDTO extends BaseDTO implements Serializable { - - private static final long serialVersionUID = 5386525553625287056L; - - @ApiModelProperty(value = "表单名称") - private String formTitle; - - @ApiModelProperty(value = "部门id") - private Long deptId; - - /** - * {@link EnableStatusEnum} - */ - @ApiModelProperty("启用状态. 0:停用,1:启用") - private Integer status; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApprovalFillUserFormPageDTO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApprovalFillUserFormPageDTO.java deleted file mode 100644 index b81d4e5..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApprovalFillUserFormPageDTO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.yida.data.customForm.dto.apply; - -import com.yida.data.common.core.common.BaseDTO; -import com.yida.data.common.core.entity.applyForm.CoreApplyForm; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; -import java.util.List; - -/** - * 教师端我审批的申请表单请求类 - * - * @author ZYJ - * @date 2023/11/29 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@ApiModel(value = "ApprovalFillUserFormPageDTO", description = "教师端我审批的申请表单请求类") -public class ApprovalFillUserFormPageDTO extends BaseDTO implements Serializable { - - private static final long serialVersionUID = -4059072495960583855L; - - @ApiModelProperty("填报用户信息id集合") - private List fillUserIds; - - @ApiModelProperty("学校id") - private Long schoolId; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApprovalProcessSelectPageDTO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApprovalProcessSelectPageDTO.java deleted file mode 100644 index 0b7dbd5..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApprovalProcessSelectPageDTO.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.yida.data.customForm.dto.apply; - -import com.yida.data.common.core.common.BaseDTO; -import com.yida.data.common.core.entity.applyForm.CoreApprovalProcess; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; - -/** - * 审核流程节点后台列表请求类 - * - * @author ZYJ - * @date 2023/11/21 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@ApiModel(value = "ApprovalProcessSelectPageDTO", description = "审核流程节点后台列表请求类") -public class ApprovalProcessSelectPageDTO extends BaseDTO implements Serializable { - - private static final long serialVersionUID = 9222217114308071592L; - - @ApiModelProperty(value = "审核节点名称") - private String approvalProcessName; - - @ApiModelProperty(value = "部门id", hidden = true) - private Long deptId; - - @ApiModelProperty(value = "审批方式:0-会审,1-或审") - private Integer approvalType; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApprovalRemindDTO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApprovalRemindDTO.java deleted file mode 100644 index b6ed56a..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/ApprovalRemindDTO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yida.data.customForm.dto.apply; - -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 保存审核提醒策略请求类 - * - * @author ZYJ - * @date 2023/12/21 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "ApprovalRemindDTO", description = "保存审核提醒策略请求类") -public class ApprovalRemindDTO implements Serializable { - - private static final long serialVersionUID = -2552169814490729278L; - - /** - * 审核提醒状态. 0为停用,1为启用 {@link EnableStatusEnum} - */ - @ApiModelProperty(value = "审核提醒状态. 0为停用,1为启用") - private Integer approvalRemindStatus; - - /** - * 审核结果状态. 0为停用,1为启用 {@link EnableStatusEnum} - */ - @ApiModelProperty(value = "审核结果状态. 0为停用,1为启用") - private Integer approvalResultStatus; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/AuditFormDTO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/AuditFormDTO.java deleted file mode 100644 index e44efcf..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/AuditFormDTO.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.yida.data.customForm.dto.apply; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; - -/** - * 审核表单提交对象 - * - * @author ZYJ - * @date 2023/11/29 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "AuditFormDTO", description = "审核表单提交对象") -public class AuditFormDTO implements Serializable { - - private static final long serialVersionUID = -8111141594138282797L; - - @ApiModelProperty(value = "用户填报信息id") - private Long fillUserId; - - @ApiModelProperty(value = "表单id") - private Long applyFormId; - - @ApiModelProperty(value = "流程ID") - private Long processId; - - @ApiModelProperty(value = "审核人ID") - private Long approvalId; - - @ApiModelProperty(value = "审核结果:1=通过,0=不通过") - private Integer approvalResult; - - @ApiModelProperty(value = "审核不通过的原因") - private String approvalReason; - - @ApiModelProperty(value = "审核顺序") - private Integer sort; - - @ApiModelProperty(value = "审核第几流程ID") - private Long userProcessId; - - @ApiModelProperty(value = "审核不通过原因") - private String refuseReason; - - @ApiModelProperty("签名图片") - private String signPic; -} diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/FormFillUserPageDTO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/FormFillUserPageDTO.java deleted file mode 100644 index 6d92232..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/FormFillUserPageDTO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.customForm.dto.apply; - -import com.yida.data.common.core.common.BaseDTO; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Data -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class FormFillUserPageDTO extends BaseDTO { - - @ApiModelProperty("请假人姓名") - private String requestUserName; - @ApiModelProperty("请假类型:0教师请假,1学生请假") - private Integer requestType; - @ApiModelProperty("所属学校ID") - private Long schoolId; - @ApiModelProperty("审核状态:0待审核,3审核中,4已审核(包含1已通过,2已拒绝)") - private Integer status; - private List statusList; - private List studentIdList; - @ApiModelProperty("请假主体ID集合") - private List idList; -} diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/H5ApplyFormSelectPageDTO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/H5ApplyFormSelectPageDTO.java deleted file mode 100644 index 5253bc0..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/H5ApplyFormSelectPageDTO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yida.data.customForm.dto.apply; - -import com.yida.data.common.core.common.BaseDTO; -import com.yida.data.common.core.entity.applyForm.CoreApplyForm; -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; - -/** - * H5端-申请表单后台列表请求类 - * - * @author ZYJ - * @date 2023/11/14 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@ApiModel(value = "H5ApplyFormSelectPageDTO", description = "H5端-申请表单后台列表请求类") -public class H5ApplyFormSelectPageDTO extends BaseDTO implements Serializable { - - private static final long serialVersionUID = 488904990734180208L; - - @ApiModelProperty(value = "家长id") - private Long parentId; - - @ApiModelProperty(value = "部门id") - private Long deptId; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/OfficialSealSaveDTO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/OfficialSealSaveDTO.java deleted file mode 100644 index 4fc5b77..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/OfficialSealSaveDTO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.yida.data.customForm.dto.apply; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 保存公章请求类 - * - * @author ZYJ - * @date 2023/11/17 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "OfficialSealSaveDTO", description = "添加缴费单人员请求类") -public class OfficialSealSaveDTO implements Serializable { - - private static final long serialVersionUID = 4108079000646231315L; - - @ApiModelProperty("公章id") - private Long id; - - @ApiModelProperty("公章名称") - private String officialSealTitle; - - @ApiModelProperty("状态. 0为停用,1为启用") - private Integer status; - - @ApiModelProperty("公章图片地址") - private String picUrl; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/OfficialSealSelectPageDTO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/OfficialSealSelectPageDTO.java deleted file mode 100644 index 2227cf2..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/OfficialSealSelectPageDTO.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.yida.data.customForm.dto.apply; - -import com.yida.data.common.core.common.BaseDTO; -import com.yida.data.common.core.entity.applyForm.CoreApplyForm; -import com.yida.data.common.core.entity.applyForm.CoreOfficialSeal; -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; - -/** - * 学校公章后台列表请求类 - * - * @author ZYJ - * @date 2023/11/17 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@ApiModel(value = "OfficialSealSelectPageDTO", description = "学校公章后台列表请求类") -public class OfficialSealSelectPageDTO extends BaseDTO implements Serializable { - - private static final long serialVersionUID = 4118969684345957010L; - - @ApiModelProperty("公章名称") - private String officialSealTitle; - - @ApiModelProperty("部门id") - private Long deptId; - - /** - * {@link EnableStatusEnum} - */ - @ApiModelProperty("启用状态. 0:停用,1:启用") - private Integer status; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/SaveFormProcessDTO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/SaveFormProcessDTO.java deleted file mode 100644 index 3b4b0a9..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/SaveFormProcessDTO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.yida.data.customForm.dto.apply; - -import com.yida.data.common.core.entity.applyForm.CoreApplyFormApprovalProcess; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.List; - -/** - * 保存申请表单流程类 - * - * @author ZYJ - * @date 2023/12/19 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "SaveFormProcessDTO", description = "保存申请表单流程类") -public class SaveFormProcessDTO implements Serializable { - - private static final long serialVersionUID = -1681343397781694833L; - - @ApiModelProperty(value = "表单id") - private Long formId; - - @ApiModelProperty(value = "流程信息") - private List list; -} diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/SelectApprovalApplyFormDataListDTO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/SelectApprovalApplyFormDataListDTO.java deleted file mode 100644 index 613d37c..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/SelectApprovalApplyFormDataListDTO.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.yida.data.customForm.dto.apply; - -import com.yida.data.common.core.common.BaseDTO; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import io.swagger.annotations.ApiParam; -import lombok.*; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; - -/** - * 职工端查询需要审批的申请表单请求类 - * - * @author ZYJ - * @date 2023/11/28 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@ApiModel(value = "SelectApprovalApplyFormDataListDTO", description = "职工端查询需要审批的申请表单请求类") -public class SelectApprovalApplyFormDataListDTO extends BaseDTO implements Serializable { - - private static final long serialVersionUID = 6556440007861284331L; - - @ApiModelProperty("教师id") - private Long userId; - - @ApiModelProperty("学生姓名") - private String studentName; - - @ApiModelProperty("学校id") - private Long schoolId; - - @ApiModelProperty("状态,0未处理,1已处理") - private Integer currentUserStatus; -} diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/SendParentNoticeDTO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/SendParentNoticeDTO.java deleted file mode 100644 index a4cc4d8..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/SendParentNoticeDTO.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.yida.data.customForm.dto.apply; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.user.EduStudent; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 发送家长表单审核模板消息 数据封装类 - * - * @author ZYJ - * @date 2023/11/30 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class SendParentNoticeDTO implements Serializable { - - private static final long serialVersionUID = -6522443814615298394L; - - /** - * 学校信息 - */ - private Dept school; - - /** - * 学生信息 - */ - private EduStudent student; - - /** - * 审批结果 1已通过,0未通过 - */ - private Integer examineStatus; - - /** - * 申请时间 - */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - - /** - * 申请表单id - */ - private Long formId; - - /** - * 用户填报信息id - */ - private Long fillUserId; -} diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/SendStaffNoticeDTO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/SendStaffNoticeDTO.java deleted file mode 100644 index 58e75fb..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/dto/apply/SendStaffNoticeDTO.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.yida.data.customForm.dto.apply; - -import com.fasterxml.jackson.annotation.JsonFormat; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 发送职工表单审核模板消息 数据封装类 - * - * @author ZYJ - * @date 2023/11/28 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class SendStaffNoticeDTO implements Serializable { - - private static final long serialVersionUID = 624201172110126750L; - - /** - * 学校ID - */ - private Long schoolId; - - /** - * 本次审核职工 - */ - private String staffWxId; - - /** - * 本次审核职工 - */ - private String staffName; - - /** - * 学校类型 - */ - private String schoolType; - - /** - * 上一位审核职工 - */ - private String preStaffName; - - /** - * 上一位审核职工角色 - */ - private String preStaffRoleName; - - /** - * 学生姓名 / 职工姓名 - */ - private String userName; - - /** - * 学生所属班级名称 / 职工所属部门 - */ - private String userDeptName; - - /** - * 申请时间 - */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - - /** - * 审批结果 1已通过,0未通过 - */ - private Integer status; - - /** - * 申请表单id - */ - private Long formId; - - /** - * 用户填报信息id - */ - private Long fillUserId; - - /** - * 用户id(学生id) - */ - private Long userId; -} diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormFillSelectPageVO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormFillSelectPageVO.java deleted file mode 100644 index 2d628fa..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormFillSelectPageVO.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.yida.data.customForm.vo.apply; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 表单填报数据后台列表返回数据 - * - * @author ZYJ - * @date 2023/12/7 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "ApplyFormFillSelectPageVO", description = "表单填报数据后台列表返回数据") -public class ApplyFormFillSelectPageVO implements Serializable { - - private static final long serialVersionUID = 206000991050950577L; - - @ApiModelProperty("表单标题") - private String formTitle; - - @ApiModelProperty("学校id") - private Long schoolId; - - /** - * 表单id - */ - @ApiModelProperty(value = "表单id") - @TableField("apply_form_id") - private Long applyFormId; - - @ApiModelProperty(value = "表单对应填报数据id") - @TableField("apply_form_dta_id") - private Long applyFormDataId; - - @ApiModelProperty(value = "填报用户id") - @TableField("user_id") - private Long userId; - - @ApiModelProperty(value = "填报用户名称") - @TableField("user_name") - private String userName; - - @ApiModelProperty("审核状态:默认0未审核,1已通过,2已拒绝,3审核中") - private Integer examineStatus; - - @ApiModelProperty(value = "审核时间") - @TableField(value = "audit_time") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime auditTime; - - @ApiModelProperty(value = "审核不通过原因") - @TableField("refuse_reason") - private String refuseReason; - - @ApiModelProperty("部门名称") - private String deptName; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormFillUserDataVO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormFillUserDataVO.java deleted file mode 100644 index 1a7e088..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormFillUserDataVO.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.yida.data.customForm.vo.apply; - -import com.yida.data.common.core.entity.applyForm.CoreApplyFormFillUserApprovalProcess; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormFillUserApprovalProcessRecord; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormItem; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.List; -import java.util.Map; - -/** - * 表单填报数据返回信息 - * - * @author ZYJ - * @date 2023/11/29 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "ApplyFormFillUserDataVO", description = "表单填报数据返回信息") -public class ApplyFormFillUserDataVO implements Serializable { - - private static final long serialVersionUID = 7915931324819292444L; - - @ApiModelProperty("申请表单id") - private Long id; - - @ApiModelProperty("表单标题") - private String formTitle; - - @ApiModelProperty("背景图") - private String backgroundImgUrl; - - @ApiModelProperty("头图") - private String headerImgUrl; - - @ApiModelProperty("填报信息id") - private Long applyFormDataId; - - @ApiModelProperty("用户填报信息id") - private Long fillUserId; - - @ApiModelProperty("学生信息") - private EduStudent student; - - @ApiModelProperty("用户填报的具体信息") - private Map fillUserData; - - @ApiModelProperty("表单组件集合") - private List itemList; - - @ApiModelProperty("审核流程信息") - private List userApprovalProcessList; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormInfoVO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormInfoVO.java deleted file mode 100644 index b23a157..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormInfoVO.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.yida.data.customForm.vo.apply; - -import com.yida.data.common.core.entity.applyForm.CoreApplyFormItem; -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.List; - -/** - * 申请表单详情返回数据 - * - * @author ZYJ - * @date 2023/11/14 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "ApplyFormInfoVO", description = "申请表单详情返回数据") -public class ApplyFormInfoVO implements Serializable { - - private static final long serialVersionUID = 4199278871825693151L; - - @ApiModelProperty("申请表单id") - private Long id; - - /** - * {@link EnableStatusEnum} - */ - @ApiModelProperty("启用状态. 0:停用, 1:启用") - private Integer status; - - @ApiModelProperty("表单标题") - private String formTitle; - - @ApiModelProperty("表单类型") - private Long formTypeId; - - @ApiModelProperty("表单描述说明") - private String formRemark; - - @ApiModelProperty("是否显示排序:1=是,0=否") - private String sorted; - - @ApiModelProperty("0为不开启一页一题,1为开启一页一题") - private Integer pageOneQuestion; - - @ApiModelProperty("0为开启进度条,1为关闭进度条") - private Integer progressBar; - - @ApiModelProperty("分页最大停留时间(单位秒)") - private Integer stopMaxTime; - - @ApiModelProperty("分页最小停留时间(单位秒)") - private Integer stopMinTime; - - @ApiModelProperty("背景图") - private String backgroundImgUrl; - - @ApiModelProperty("头图") - private String headerImgUrl; - - @ApiModelProperty("导出模板文件地址") - private String templateFileUrl; - - @ApiModelProperty("数据表名称") - private String tableName; - - @ApiModelProperty("表单组件集合") - private List itemList; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormProcessSelectVO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormProcessSelectVO.java deleted file mode 100644 index 5f04889..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormProcessSelectVO.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.yida.data.customForm.vo.apply; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 查询表单对应的审核流程数据 - * - * @author ZYJ - * @date 2023/12/16 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "ApplyFormSelectPageVO", description = "查询表单对应的审核流程数据") -public class ApplyFormProcessSelectVO implements Serializable { - - private static final long serialVersionUID = 1002282786015046740L; - - @ApiModelProperty("审核流程id") - private Long approvalProcessId; - - @ApiModelProperty("审核流程名称") - private String approvalProcessName; - - @ApiModelProperty("审批人员类型:0-指定角色,1-指定人员") - private Integer approvalUserType; - - @ApiModelProperty("审批方式:0-会审,1-或审") - private Integer approvalType; - - @ApiModelProperty("审核人员字符串") - private String approvalUserName; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormSelectPageVO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormSelectPageVO.java deleted file mode 100644 index b7a8d27..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApplyFormSelectPageVO.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.yida.data.customForm.vo.apply; - -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 申请表单后台列表返回数据 - * - * @author ZYJ - * @date 2023/11/14 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "ApplyFormSelectPageVO", description = "申请表单后台列表返回数据") -public class ApplyFormSelectPageVO implements Serializable { - - private static final long serialVersionUID = 8529913736282242373L; - - @ApiModelProperty("申请表单id") - private Long id; - - @ApiModelProperty("表单标题") - private String formTitle; - - @ApiModelProperty("背景图") - private String backgroundImgUrl; - - @ApiModelProperty("头图") - private String headerImgUrl; - - @ApiModelProperty(value = "对应数据表名称", hidden = true) - private String tableName; - - @ApiModelProperty(value = "提交数量") - private Long submitNum; - - /** - * {@link EnableStatusEnum} - */ - @ApiModelProperty("启用状态. 0:停用, 1:启用") - private Integer status; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApprovalApplyFormPageVO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApprovalApplyFormPageVO.java deleted file mode 100644 index c952307..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApprovalApplyFormPageVO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.yida.data.customForm.vo.apply; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 教师查询我审核的表单类别数据 - * - * @author ZYJ - * @date 2023/11/28 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@ApiModel(value = "ApprovalApplyFormPageVO", description = "教师查询我审核的表单类别数据") -public class ApprovalApplyFormPageVO extends MyApplyFormPageVO implements Serializable { - - private static final long serialVersionUID = 6944129273047249532L; - - @ApiModelProperty("学生班级信息") - private String userDeptName; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApprovalProcessInfoVO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApprovalProcessInfoVO.java deleted file mode 100644 index 346b743..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApprovalProcessInfoVO.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.yida.data.customForm.vo.apply; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.yida.data.common.core.entity.applyForm.CoreApprovalProcessUser; -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.List; - -/** - * 审核流程节点详情返回数据 - * - * @author ZYJ - * @date 2023/11/21 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "ApprovalProcessInfoVO", description = "审核流程节点详情返回数据") -public class ApprovalProcessInfoVO implements Serializable { - - private static final long serialVersionUID = -4441915066856278590L; - - @ApiModelProperty("审核流程节点id") - private Long id; - - @ApiModelProperty("审核流程名称") - private String approvalProcessName; - - @ApiModelProperty("审批人员类型:0-指定角色,1-指定人员") - private Integer approvalUserType; - - @ApiModelProperty("审批方式:0-会审,1-或审") - private Integer approvalType; - - @ApiModelProperty("审核人员信息") - private List userList; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApprovalProcessSelectPageVO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApprovalProcessSelectPageVO.java deleted file mode 100644 index 4ade74b..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApprovalProcessSelectPageVO.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.yida.data.customForm.vo.apply; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 审核流程后台列表返回数据 - * - * @author ZYJ - * @date 2023/11/21 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "ApprovalProcessSelectPageVO", description = "审核流程后台列表返回数据") -public class ApprovalProcessSelectPageVO implements Serializable { - - private static final long serialVersionUID = -3815063304958884659L; - - @ApiModelProperty("审核流程id") - private Long id; - - @ApiModelProperty("审核流程名称") - private String approvalProcessName; - - @ApiModelProperty("审核人员字符串") - private String approvalUserName; - - @ApiModelProperty("审批人员类型:0-指定角色,1-指定人员") - private Integer approvalUserType; - - @ApiModelProperty("审批方式:0-会审,1-或审") - private Integer approvalType; - - @ApiModelProperty("创建时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApprovalRemindInfoVO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApprovalRemindInfoVO.java deleted file mode 100644 index 68d5520..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/ApprovalRemindInfoVO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.yida.data.customForm.vo.apply; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.yida.data.common.core.entity.applyForm.CoreApprovalProcessUser; -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.List; - -/** - * 审核提醒策略详情 - * - * @author ZYJ - * @date 2023/12/21 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "ApprovalRemindInfoVO", description = "审核提醒策略详情") -public class ApprovalRemindInfoVO implements Serializable { - - private static final long serialVersionUID = -8312618288590569425L; - - /** - * 审核提醒状态. 0为停用,1为启用 {@link EnableStatusEnum} - */ - @ApiModelProperty(value = "审核提醒状态. 0为停用,1为启用") - private Integer approvalRemindStatus; - - /** - * 审核结果状态. 0为停用,1为启用 {@link EnableStatusEnum} - */ - @ApiModelProperty(value = "审核结果状态. 0为停用,1为启用") - private Integer approvalResultStatus; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/MyApplyFormPageVO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/MyApplyFormPageVO.java deleted file mode 100644 index d585393..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/MyApplyFormPageVO.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.yida.data.customForm.vo.apply; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 家长端查询已经填报的申请列表数据 - * - * @author ZYJ - * @date 2023/11/23 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "MyApplyFormPageVO", description = "家长端查询已经填报的申请列表数据") -public class MyApplyFormPageVO implements Serializable { - - private static final long serialVersionUID = 3100369332357552698L; - - @ApiModelProperty("申请表单id") - private Long id; - - @ApiModelProperty("表单标题") - private String formTitle; - - @ApiModelProperty("背景图") - private String backgroundImgUrl; - - @ApiModelProperty("头图") - private String headerImgUrl; - - @ApiModelProperty("审核状态:默认0未审核,1已通过,2已拒绝,3审核中") - private Integer examineStatus; - - @ApiModelProperty("填报时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - @ApiModelProperty("填报的学生id") - private Long userId; - - @ApiModelProperty("学生姓名") - private String userName; - - @ApiModelProperty("学生头像") - private String userPicUrl; - - @ApiModelProperty("填报信息id") - private Long applyFormDataId; - - @ApiModelProperty("用户填报信息id") - private Long fillUserId; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/OfficialSealInfoVO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/OfficialSealInfoVO.java deleted file mode 100644 index 802767c..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/OfficialSealInfoVO.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.yida.data.customForm.vo.apply; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormItem; -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.List; - -/** - * 申请表单详情返回数据 - * - * @author ZYJ - * @date 2023/11/14 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "OfficialSealInfoVO", description = "申请表单详情返回数据") -public class OfficialSealInfoVO implements Serializable { - - private static final long serialVersionUID = 5097919143166649586L; - - @ApiModelProperty("申请表单id") - private Long id; - - @ApiModelProperty("公章名称") - private String officialSealTitle; - - /** - * {@link EnableStatusEnum} - */ - @ApiModelProperty("启用状态. 0:停用, 1:启用") - private Integer status; - - @ApiModelProperty("公章图片地址") - private String picUrl; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/OfficialSealSelectPageVO.java b/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/OfficialSealSelectPageVO.java deleted file mode 100644 index 5f178f3..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-api/src/main/java/com/yida/data/customForm/vo/apply/OfficialSealSelectPageVO.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.yida.data.customForm.vo.apply; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 学校公章后台列表返回数据 - * - * @author ZYJ - * @date 2023/11/17 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "OfficialSealSelectPageVO", description = "学校公章后台列表返回数据") -public class OfficialSealSelectPageVO implements Serializable { - - private static final long serialVersionUID = 7233799022727223532L; - - @ApiModelProperty("公章id") - private Long id; - - @ApiModelProperty("公章名称") - private String officialSealTitle; - - /** - * {@link EnableStatusEnum} - */ - @ApiModelProperty("启用状态. 0:停用, 1:启用") - private Integer status; - - @ApiModelProperty("公章图片地址") - private String picUrl; - - @ApiModelProperty("创建时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/pom.xml b/febs-server/edu-custom-form/edu-custom-form-biz/pom.xml index 1e0c47d..7ca074a 100644 --- a/febs-server/edu-custom-form/edu-custom-form-biz/pom.xml +++ b/febs-server/edu-custom-form/edu-custom-form-biz/pom.xml @@ -9,7 +9,7 @@ 4.0.0 edu-custom-form-biz - jar + 8 8 diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/EduCustomFormApplication.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/EduCustomFormApplication.java deleted file mode 100644 index 5ccced4..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/EduCustomFormApplication.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.yida.data.form; - -import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure; - -import org.mybatis.spring.annotation.MapperScan; -import org.mybatis.spring.annotation.MapperScans; -import org.springframework.boot.SpringBootConfiguration; -import org.springframework.boot.WebApplicationType; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.cloud.openfeign.EnableFeignClients; -import org.springframework.context.annotation.EnableAspectJAutoProxy; -import org.springframework.scheduling.annotation.EnableAsync; - -import cc.mrbird.febs.common.security.starter.annotation.EnableFebsCloudResourceServer; - - -/** - * @author wjm - */ -@SpringBootConfiguration -@EnableAsync -@EnableFeignClients(basePackages = "com.yida.data") -@SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class) -@EnableFebsCloudResourceServer -@EnableAspectJAutoProxy(exposeProxy = true) -@MapperScan("com.yida.data.form.*.mapper") -public class EduCustomFormApplication { - public static void main(String[] args) { - new SpringApplicationBuilder(EduCustomFormApplication.class) - .web(WebApplicationType.SERVLET) - .run(args); - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreApplyFormController.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreApplyFormController.java deleted file mode 100644 index 4b29e87..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreApplyFormController.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.yida.data.form.apply.controller; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.applyForm.CoreApplyForm; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormApprovalProcess; -import com.yida.data.customForm.dto.apply.ApplyFormSelectPageDTO; -import com.yida.data.customForm.dto.apply.SaveFormProcessDTO; -import com.yida.data.customForm.vo.apply.ApplyFormInfoVO; -import com.yida.data.customForm.vo.apply.ApplyFormProcessSelectVO; -import com.yida.data.customForm.vo.apply.ApplyFormSelectPageVO; -import com.yida.data.form.apply.service.CoreApplyFormApprovalProcessService; -import com.yida.data.form.apply.service.CoreApplyFormService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.RequiredArgsConstructor; -import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - - -/** - * 申请类表单管理 Controller - * - * @author ZYJ - * @date 2023/11/14 - */ -@RestController -@RequiredArgsConstructor -@RequestMapping("/applyFrom") -@Api(tags = "后台--申请类表单管理") -public class CoreApplyFormController { - - private final CoreApplyFormService coreApplyFormService; - private final CoreApplyFormApprovalProcessService coreApplyFormApprovalProcessService; - - @ApiOperation("查询申请表单列表数据") - @PostMapping("/listApplyFormPage") - public ResultBean> listApplyFormPage(ApplyFormSelectPageDTO dto) { - IPage page = coreApplyFormService.listApplyFormPage(dto); - return ResultBean.buildSuccess(page); - } - - @ApiOperation("查询申请表单详情") - @GetMapping("/getApplyFormInfo") - public ResultBean getApplyFormInfo( - @RequestParam @ApiParam(value = "表单id", required = true) Long id) { - return ResultBean.buildSuccess(coreApplyFormService.getApplyFormInfo(id)); - } - - @ApiOperation("删除申请表单") - @GetMapping("/deleteApplyForm") - public ResultBean deleteApplyForm( - @RequestParam @ApiParam(value = "表单id", required = true) Long id) { - coreApplyFormService.deleteApplyForm(id); - return ResultBean.buildSuccess(); - } - - @ApiOperation(value = "保存申请表单", consumes = MediaType.APPLICATION_JSON_VALUE) - @PostMapping(value = "/saveApplyForm", consumes = MediaType.APPLICATION_JSON_VALUE) - public ResultBean saveApplyForm(@RequestBody CoreApplyForm applyForm) { - return ResultBean.buildSuccess(coreApplyFormService.saveApplyForm(applyForm)); - } - - @ApiOperation("修改申请表单状态") - @GetMapping("updateEnableStatus") - public ResultBean updateEnableStatus( - @ApiParam(value = "表单id", required = true) @RequestParam Long formId, - @ApiParam(value = "状态. 0为停用,1为启用", required = true) @RequestParam Integer enableStatus) { - coreApplyFormService.updateEnableStatus(formId, enableStatus); - return ResultBean.buildSuccess(); - } - - @ApiOperation("查询表单对应的审核流程数据") - @GetMapping("/listFormApprovalProcess") - public ResultBean> listFormApprovalProcess( - @ApiParam(value = "表单id", required = true) @RequestParam Long formId) { - return ResultBean.buildSuccess(coreApplyFormApprovalProcessService.listFormApprovalProcess(formId)); - } - - @ApiOperation("保存表单审核流程数据") - @PostMapping("/saveFormApprovalProcess") - public ResultBean saveFormApprovalProcess(@RequestBody SaveFormProcessDTO dto) { - coreApplyFormApprovalProcessService.saveApplyFormApprovalProcess(dto.getFormId() , dto.getList()); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreApplyFormFillController.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreApplyFormFillController.java deleted file mode 100644 index 42c3805..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreApplyFormFillController.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yida.data.form.apply.controller; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.customForm.dto.apply.ApplyFormFillSelectPageDTO; -import com.yida.data.customForm.vo.apply.ApplyFormFillSelectPageVO; -import com.yida.data.customForm.vo.apply.ApplyFormSelectPageVO; -import com.yida.data.form.apply.service.CoreApplyFormFillUserService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - - -/** - * 表单填报管理 Controller - * - * @author ZYJ - * @date 2023/12/7 - */ -@RestController -@RequiredArgsConstructor -@RequestMapping("/fill") -@Api(tags = "后台--表单填报管理") -public class CoreApplyFormFillController { - - private final CoreApplyFormFillUserService coreApplyFormFillUserService; - - @ApiOperation("查询申请表单填报列表数据") - @PostMapping("/listApplyFormFillPage") - public ResultBean> listApplyFormFillPage(ApplyFormFillSelectPageDTO dto) { - IPage page = coreApplyFormFillUserService.listApplyFormFillPage(dto); - return ResultBean.buildSuccess(page); - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreApprovalProcessController.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreApprovalProcessController.java deleted file mode 100644 index 81e8da8..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreApprovalProcessController.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.yida.data.form.apply.controller; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.form.apply.service.CoreApprovalProcessService; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.applyForm.CoreApprovalProcess; -import com.yida.data.customForm.dto.apply.ApprovalProcessSelectPageDTO; -import com.yida.data.customForm.vo.apply.ApprovalProcessInfoVO; -import com.yida.data.customForm.vo.apply.ApprovalProcessSelectPageVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.RequiredArgsConstructor; -import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - - -/** - * 审核流程节点管理 Controller - * - * @author ZYJ - * @date 2023/11/21 - */ -@RestController -@RequiredArgsConstructor -@RequestMapping("/process") -@Api(tags = "后台--审核流程管理") -public class CoreApprovalProcessController { - - private final CoreApprovalProcessService coreApprovalProcessService; - - @ApiOperation("查询审核流程节点列表数据") - @PostMapping("/listApprovalProcessPage") - public ResultBean> listApprovalProcessPage(ApprovalProcessSelectPageDTO dto) { - IPage page = coreApprovalProcessService.listApprovalProcessPage(dto); - return ResultBean.buildSuccess(page); - } - - @ApiOperation("查询所有审核流程节点数据(排除当前表单包含的数据)") - @PostMapping("/listApprovalProcess") - public ResultBean> listApprovalProcess( - @ApiParam(value = "表单id", required = true) @RequestParam Long formId) { - return ResultBean.buildSuccess(coreApprovalProcessService.listApprovalProcess(formId)); - } - - @ApiOperation("查询审核流程节点详情") - @GetMapping("/getApprovalProcessInfo") - public ResultBean getApprovalProcessInfo( - @RequestParam @ApiParam(value = "审核流程节点id", required = true) Long id) { - return ResultBean.buildSuccess(coreApprovalProcessService.getApprovalProcessInfo(id)); - } - - @ApiOperation("删除审核流程节点") - @GetMapping("/deleteApprovalProcess") - public ResultBean deleteApprovalProcess( - @RequestParam @ApiParam(value = "审核流程节点id", required = true) Long id) { - coreApprovalProcessService.deleteApprovalProcess(id); - return ResultBean.buildSuccess(); - } - - @ApiOperation(value = "保存审核流程节点", consumes = MediaType.APPLICATION_JSON_VALUE) - @PostMapping(value = "/saveApprovalProcess", consumes = MediaType.APPLICATION_JSON_VALUE) - public ResultBean saveApprovalProcess(@RequestBody CoreApprovalProcess process) { - coreApprovalProcessService.saveApprovalProcess(process); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreApprovalRemindController.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreApprovalRemindController.java deleted file mode 100644 index 2b2166d..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreApprovalRemindController.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.yida.data.form.apply.controller; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.customForm.dto.apply.ApprovalRemindDTO; -import com.yida.data.customForm.vo.apply.ApprovalRemindInfoVO; -import com.yida.data.form.apply.service.CoreApprovalRemindService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.*; - - -/** - * 审核提醒策略 Controller - * - * @author ZYJ - * @date 2023/12/21 - */ -@RestController -@RequiredArgsConstructor -@RequestMapping("/remind") -@Api(tags = "后台--审核提醒策略") -public class CoreApprovalRemindController { - - private final CoreApprovalRemindService coreApprovalRemindService; - - @ApiOperation("查询审核提醒策略详情") - @GetMapping("/getApprovalRemindInfo") - public ResultBean getApprovalRemindInfo() { - return ResultBean.buildSuccess(coreApprovalRemindService.getApprovalRemindInfo()); - } - - @ApiOperation(value = "保存审核提醒策略", consumes = MediaType.APPLICATION_JSON_VALUE) - @PostMapping(value = "/saveApprovalRemind", consumes = MediaType.APPLICATION_JSON_VALUE) - public ResultBean saveApprovalRemind(@RequestBody ApprovalRemindDTO dto) { - coreApprovalRemindService.saveApprovalRemind(dto); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreOfficialSealController.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreOfficialSealController.java deleted file mode 100644 index f1e2467..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/CoreOfficialSealController.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.yida.data.form.apply.controller; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.entity.applyForm.CoreOfficialSeal; -import com.yida.data.form.apply.service.CoreOfficialSealService; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.customForm.dto.apply.OfficialSealSaveDTO; -import com.yida.data.customForm.dto.apply.OfficialSealSelectPageDTO; -import com.yida.data.customForm.vo.apply.OfficialSealInfoVO; -import com.yida.data.customForm.vo.apply.OfficialSealSelectPageVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.RequiredArgsConstructor; -import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - - -/** - * 学校公章管理 Controller - * - * @author ZYJ - * @date 2023/11/17 - */ -@RestController -@RequiredArgsConstructor -@RequestMapping("/officialSeal") -@Api(tags = "后台--学校公章管理") -public class CoreOfficialSealController { - - private final CoreOfficialSealService coreOfficialSealService; - - @ApiOperation("查询学校公章列表数据") - @PostMapping("/listOfficialSealPage") - public ResultBean> listOfficialSealPage(OfficialSealSelectPageDTO dto) { - IPage page = coreOfficialSealService.listOfficialSealPage(dto); - return ResultBean.buildSuccess(page); - } - - @ApiOperation("查询学校所有公章数据") - @PostMapping("/listOfficialSeal") - public ResultBean> listOfficialSeal(@RequestParam @ApiParam(value = "学校id") Long schoolId) { - return ResultBean.buildSuccess(coreOfficialSealService.list(Wrappers.lambdaQuery(new CoreOfficialSeal()) - .eq(CoreOfficialSeal::getDeptId, schoolId))); - } - - @ApiOperation("查询公章详情") - @GetMapping("/getOfficialSealInfo") - public ResultBean getOfficialSealInfo( - @RequestParam @ApiParam(value = "公章id", required = true) Long id) { - return ResultBean.buildSuccess(coreOfficialSealService.getOfficialSealInfo(id)); - } - - @ApiOperation("删除公章") - @GetMapping("/deleteOfficialSeal") - public ResultBean deleteOfficialSeal( - @RequestParam @ApiParam(value = "公章id", required = true) Long id) { - coreOfficialSealService.deleteOfficialSeal(id); - return ResultBean.buildSuccess(); - } - - @ApiOperation(value = "保存公章", consumes = MediaType.APPLICATION_JSON_VALUE) - @PostMapping(value = "/saveOfficialSeal", consumes = MediaType.APPLICATION_JSON_VALUE) - public ResultBean saveOfficialSeal(@RequestBody OfficialSealSaveDTO dto) { - coreOfficialSealService.saveOfficialSeal(dto); - return ResultBean.buildSuccess(); - } - - @ApiOperation("修改公章状态") - @GetMapping("updateEnableStatus") - public ResultBean updateEnableStatus( - @ApiParam(value = "公章id", required = true) @RequestParam Long id, - @ApiParam(value = "状态. 0为停用,1为启用", required = true) @RequestParam Integer enableStatus) { - coreOfficialSealService.updateEnableStatus(id, enableStatus); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/app/AppApplyFormController.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/app/AppApplyFormController.java deleted file mode 100644 index 2ab3ad3..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/controller/app/AppApplyFormController.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.yida.data.form.apply.controller.app; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.form.apply.service.AppApplyFormService; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.customForm.dto.apply.*; -import com.yida.data.customForm.vo.apply.*; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - - -/** - * H5--申请类表单接口管理 Controller - * - * @author ZYJ - * @date 2023/11/14 - */ -@RestController -@RequiredArgsConstructor -@RequestMapping("/app/applyFrom") -@Api(tags = "H5--申请类表单接口管理") -public class AppApplyFormController { - - private final AppApplyFormService appApplyFormService; - - @ApiOperation("家长端查询可填报的申请表单列表数据") - @PostMapping("/parent/listApplyFormPage") - public ResultBean> listApplyFormPage(H5ApplyFormSelectPageDTO dto) { - IPage page = appApplyFormService.listApplyFormPage(dto); - return ResultBean.buildSuccess(page); - } - - @ApiOperation("家长端查询已经填报的申请数据") - @PostMapping("/parent/listMyApplyFormPage") - public ResultBean> listMyApplyFormPage(H5ApplyFormSelectPageDTO dto) { - IPage page = appApplyFormService.listMyApplyFormPage(dto); - return ResultBean.buildSuccess(page); - } - - @ApiOperation("家长端查询申请表单详情") - @GetMapping("/parent/getApplyFormInfo") - public ResultBean getApplyFormInfo( - @RequestParam @ApiParam(value = "表单id", required = true) Long id) { - return ResultBean.buildSuccess(appApplyFormService.getApplyFormInfo(id)); - } - - @ApiOperation("家长端提交保存申请表单数据") - @PostMapping("/parent/saveApplyFormData") - public ResultBean saveApplyFormData(@RequestBody ApplyFormDataInputDTO dto) { - appApplyFormService.saveApplyFormData(dto); - return ResultBean.buildSuccess(); - } - - @ApiOperation("教师端我审批的申请表单") - @GetMapping("/staff/findApprovalApplyFormDataList") - public ResultBean> findApprovalApplyFormDataList(SelectApprovalApplyFormDataListDTO dto) { - IPage page = appApplyFormService.findApprovalApplyFormDataList(dto); - return ResultBean.buildSuccess(page); - } - - @ApiOperation("获取申请表单填报数据") - @PostMapping("/getApplyFormFillUserData") - public ResultBean getApplyFormFillUserData(ApplyFormFillUserDataDTO dto) { - return ResultBean.buildSuccess(appApplyFormService.getApplyFormFillUserData(dto)); - } - - @ApiOperation("教师端填报数据审核") - @PostMapping("/staff/auditForm") - public ResultBean auditForm(@RequestBody AuditFormDTO dto) { - appApplyFormService.auditForm(dto); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/AppApplyFormMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/AppApplyFormMapper.java deleted file mode 100644 index 810c7ac..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/AppApplyFormMapper.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.yida.data.form.apply.mapper; - -/** - * H5--申请类表单管理 mapper - * - * @author ZYJ - * @date 2023/11/28 - */ -public interface AppApplyFormMapper { - - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/ApplyFormDataMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/ApplyFormDataMapper.java deleted file mode 100644 index dabc0f0..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/ApplyFormDataMapper.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.yida.data.form.apply.mapper; - -import org.apache.ibatis.annotations.Param; - -import java.util.List; -import java.util.Map; - -/** - * 申请类表单填报数据 mapper - * - * @author ZYJ - * @date 2023/11/16 - */ -public interface ApplyFormDataMapper { - - /** - * 查询数据表字段 - * - * @param tableName 表名称 - * @return java.util.List - * @author ZYJ - * @date 2023/11/16 17:19 - */ - List findApplyFormFiled(@Param("tableName") String tableName); - - /** - * 动态保存sql,并返回主键id - * - * @param sql 对应sql语句 - * @param parameterMap 参数 - * @author ZYJ - * @date 2023/11/16 17:34 - */ - void saveFormData(@Param("sql") String sql, - @Param("parameterMap") Map parameterMap); - - /** - * 查询用户填报数据信息 - * - * @param sql 对应sql语句 - * @param parameterMap 参数 - * @return java.util.Map - * @author ZYJ - * @date 2023/11/29 15:28 - */ - Map findFillUserData(@Param("sql") String sql, - @Param("parameterMap") Map parameterMap); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormApprovalProcessMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormApprovalProcessMapper.java deleted file mode 100644 index 630bdf3..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormApprovalProcessMapper.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.yida.data.form.apply.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.applyForm.CoreApplyForm; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormApprovalProcess; -import com.yida.data.common.core.entity.applyForm.CoreApprovalProcess; -import com.yida.data.customForm.dto.apply.ApplyFormSelectPageDTO; -import com.yida.data.customForm.vo.apply.ApplyFormProcessSelectVO; -import com.yida.data.customForm.vo.apply.ApplyFormSelectPageVO; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 申请表单对应的审核流程 mapper - * - * @author ZYJ - * @date 2023/11/21 - */ -public interface CoreApplyFormApprovalProcessMapper extends BaseMapper { - - /** - * 查询表单对应的审核流程 - * - * @param applyFormId 表单id - * @return java.util.List - * @author ZYJ - * @date 2023/11/24 14:04 - */ - List selectApplyFormApprovalProcess(@Param("applyFormId") Long applyFormId); - - /** - * 查询表单对应的审核流程页面数据 - * - * @param formId 表单id - * @return java.util.List - * @author ZYJ - * @date 2023/12/18 16:51 - */ - List listFormApprovalProcess(@Param("formId") Long formId); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormFillUserApprovalProcessMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormFillUserApprovalProcessMapper.java deleted file mode 100644 index 1ed3ea1..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormFillUserApprovalProcessMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.form.apply.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormFillUserApprovalProcess; - -/** - * 表单填报用户对应审核流程表 mapper - * - * @author ZYJ - * @date 2023/11/24 - */ -public interface CoreApplyFormFillUserApprovalProcessMapper extends BaseMapper { - - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormFillUserApprovalProcessRecordMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormFillUserApprovalProcessRecordMapper.java deleted file mode 100644 index 44fdf68..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormFillUserApprovalProcessRecordMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.form.apply.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormFillUserApprovalProcessRecord; - -/** - * 填报用户表单审核流程记录表(具体的审核信息) mapper - * - * @author ZYJ - * @date 2023/11/24 - */ -public interface CoreApplyFormFillUserApprovalProcessRecordMapper extends BaseMapper { - - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormFillUserMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormFillUserMapper.java deleted file mode 100644 index 36c9ead..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormFillUserMapper.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.yida.data.form.apply.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.applyForm.CoreApplyForm; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormFillUser; -import com.yida.data.customForm.dto.apply.ApplyFormFillSelectPageDTO; -import com.yida.data.customForm.dto.apply.ApprovalFillUserFormPageDTO; -import com.yida.data.customForm.dto.apply.H5ApplyFormSelectPageDTO; -import com.yida.data.customForm.dto.apply.SelectApprovalApplyFormDataListDTO; -import com.yida.data.customForm.vo.apply.ApplyFormFillSelectPageVO; -import com.yida.data.customForm.vo.apply.ApprovalApplyFormPageVO; -import com.yida.data.customForm.vo.apply.MyApplyFormPageVO; -import org.apache.ibatis.annotations.Param; - -import java.time.LocalDateTime; -import java.util.List; - -/** - * 申请表单填报用户信息表 mapper - * - * @author ZYJ - * @date 2023/11/22 - */ -public interface CoreApplyFormFillUserMapper extends BaseMapper { - - - /** - * 查询用户已经填报的数据 - * - * @param page 分页信息 - * @param dto 查询参数 - * @param userIds 填报用户id集合 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/11/23 15:06 - */ - IPage selectUserFillForm(Page page, - @Param("dto") H5ApplyFormSelectPageDTO dto, - @Param("userIds") List userIds); - - /** - * 职工参与审核的填报用户信息 - * - * @param dto 查询条件 - * @param dateTime 时间点 - * @return java.util.List - * @author ZYJ - * @date 2023/11/29 10:36 - */ - List findApprovalFormDataFillUserList(@Param("dto") SelectApprovalApplyFormDataListDTO dto, - @Param("dateTime") LocalDateTime dateTime); - - /** - * 查询教师审核的表单分页数据 - * - * @param page 分页信息 - * @param dto 查询条件 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/11/29 13:51 - */ - IPage selectApprovalUserFillForm(Page page, - @Param("dto") ApprovalFillUserFormPageDTO dto); - - /** - * 查询申请表单填报列表数据 - * - * @param page 分页信息 - * @param dto 查询条件 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/12/7 15:19 - */ - IPage listApplyFormFillPage(Page page, - @Param("dto") ApplyFormFillSelectPageDTO dto); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormItemChildrenMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormItemChildrenMapper.java deleted file mode 100644 index e7a5b69..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormItemChildrenMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.form.apply.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormItemChildren; - -/** - * 申请类型表单组件选项 mapper - * - * @author ZYJ - * @date 2023/11/14 - */ -public interface CoreApplyFormItemChildrenMapper extends BaseMapper { - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormItemMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormItemMapper.java deleted file mode 100644 index d566e72..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormItemMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.form.apply.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormItem; -import com.yida.data.common.core.entity.customform.CoreCustomFormItems; - -/** - * 申请类型表单组件 mapper - * - * @author ZYJ - * @date 2023/11/14 - */ -public interface CoreApplyFormItemMapper extends BaseMapper { - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormMapper.java deleted file mode 100644 index afa5b29..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApplyFormMapper.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.yida.data.form.apply.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.applyForm.CoreApplyForm; -import com.yida.data.customForm.dto.apply.ApplyFormSelectPageDTO; -import com.yida.data.customForm.vo.apply.ApplyFormSelectPageVO; -import org.apache.ibatis.annotations.Param; - -/** - * 申请类型表单 mapper - * - * @author ZYJ - * @date 2023/11/14 - */ -public interface CoreApplyFormMapper extends BaseMapper { - - /** - * 查询申请表单列表数据 - * - * @param page 分页信息 - * @param dto 查询参数 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/11/14 16:17 - */ - IPage listApplyFormPage(Page page, - @Param("dto") ApplyFormSelectPageDTO dto); - - /** - * 返回int类型数据的动态sql - * - * @param sql 对应sql语句 - * @return java.lang.Integer - * @author ZYJ - * @date 2023/11/14 16:52 - */ - Integer initSqlReturnInt(@Param("sql") String sql); - - /** - * 没有返回值的动态sql - * - * @param sql 对应sql语句 - * @author ZYJ - * @date 2023/11/15 15:19 - */ - void initSqlReturnVoid(@Param("sql") String sql); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApprovalProcessMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApprovalProcessMapper.java deleted file mode 100644 index 426764f..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApprovalProcessMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.form.apply.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.applyForm.CoreApprovalProcess; -import com.yida.data.customForm.dto.apply.ApprovalProcessSelectPageDTO; -import com.yida.data.customForm.vo.apply.ApprovalProcessSelectPageVO; -import org.apache.ibatis.annotations.Param; - -/** - * 审核流程表 mapper - * - * @author ZYJ - * @date 2023/11/21 - */ -public interface CoreApprovalProcessMapper extends BaseMapper { - - /** - * 查询审核流程节点列表数据 - * - * @param page 分页信息 - * @param dto 查询参数 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/11/21 15:31 - */ - IPage listApprovalProcessPage(Page page, - @Param("dto") ApprovalProcessSelectPageDTO dto); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApprovalProcessUserMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApprovalProcessUserMapper.java deleted file mode 100644 index 23ff98f..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApprovalProcessUserMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.form.apply.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.applyForm.CoreApprovalProcessUser; - -/** - * 审核流程人员配置表 mapper - * - * @author ZYJ - * @date 2023/11/21 - */ -public interface CoreApprovalProcessUserMapper extends BaseMapper { - - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApprovalRemindMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApprovalRemindMapper.java deleted file mode 100644 index a6ac8b8..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreApprovalRemindMapper.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.yida.data.form.apply.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.applyForm.CoreApprovalProcess; -import com.yida.data.common.core.entity.applyForm.CoreApprovalRemind; -import com.yida.data.customForm.dto.apply.ApprovalProcessSelectPageDTO; -import com.yida.data.customForm.vo.apply.ApprovalProcessSelectPageVO; -import org.apache.ibatis.annotations.Param; - -/** - * 审核提醒策略表 mapper - * - * @author ZYJ - * @date 2023/11/21 - */ -public interface CoreApprovalRemindMapper extends BaseMapper { - - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreOfficialSealMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreOfficialSealMapper.java deleted file mode 100644 index 0818833..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/mapper/CoreOfficialSealMapper.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.yida.data.form.apply.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.applyForm.CoreApplyForm; -import com.yida.data.common.core.entity.applyForm.CoreOfficialSeal; -import com.yida.data.customForm.dto.apply.ApplyFormSelectPageDTO; -import com.yida.data.customForm.dto.apply.OfficialSealSelectPageDTO; -import com.yida.data.customForm.vo.apply.ApplyFormSelectPageVO; -import com.yida.data.customForm.vo.apply.OfficialSealSelectPageVO; -import org.apache.ibatis.annotations.Param; - -/** - * 学校公章 mapper - * - * @author ZYJ - * @date 2023/11/17 - */ -public interface CoreOfficialSealMapper extends BaseMapper { - - /** - * 查询学校公章列表数据 - * - * @param page 分页信息 - * @param dto 查询条件 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/11/17 15:45 - */ - IPage listOfficialSealPage(Page page, - @Param("dto") OfficialSealSelectPageDTO dto); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/AppApplyFormService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/AppApplyFormService.java deleted file mode 100644 index 3993572..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/AppApplyFormService.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.yida.data.form.apply.service; - - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.customForm.dto.apply.*; -import com.yida.data.customForm.vo.apply.*; - -import java.util.List; - -/** - * H5--申请类表单管理 Service - * - * @author ZYJ - * @date 2023/11/15 - */ -public interface AppApplyFormService { - - /** - * 家长端查询申请表单列表数据 - * - * @param dto 查询条件 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/11/15 20:51 - */ - IPage listApplyFormPage(H5ApplyFormSelectPageDTO dto); - - /** - * 家长端查询已经填报的申请数据 - * - * @param dto 查询条件 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/11/23 14:43 - */ - IPage listMyApplyFormPage(H5ApplyFormSelectPageDTO dto); - - /** - * 家长端查询申请表单详情 - * - * @param id 表单id - * @return com.yida.data.customForm.vo.apply.ApplyFormInfoVO - * @author ZYJ - * @date 2023/11/16 15:26 - */ - ApplyFormInfoVO getApplyFormInfo(Long id); - - /** - * 家长端提交保存申请表单数据 - * - * @param dto 家长端申请表单填写信息 - * @author ZYJ - * @date 2023/11/16 16:28 - */ - void saveApplyFormData(ApplyFormDataInputDTO dto); - - /** - * 教师端我审批的申请表单 - * - * @param dto 请求参数 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/11/28 15:03 - */ - IPage findApprovalApplyFormDataList(SelectApprovalApplyFormDataListDTO dto); - - /** - * 获取申请表单填报数据 - * - * @param dto 表单填报数据请求信息 - * @return com.yida.data.customForm.vo.apply.ApplyFormFillUserDataVO - * @author ZYJ - * @date 2023/11/29 15:12 - */ - ApplyFormFillUserDataVO getApplyFormFillUserData(ApplyFormFillUserDataDTO dto); - - /** - * 填报数据审核 - * - * @param dto 审核信息 - * @author ZYJ - * @date 2023/11/29 16:01 - */ - void auditForm(AuditFormDTO dto); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/ApplyFormDataService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/ApplyFormDataService.java deleted file mode 100644 index eb4c9ad..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/ApplyFormDataService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.form.apply.service; - - -import com.yida.data.common.core.entity.applyForm.CoreApplyForm; -import com.yida.data.customForm.dto.apply.ApplyFormDataInputDTO; - -/** - * 申请类表单填报数据 Service - * - * @author ZYJ - * @date 2023/11/16 - */ -public interface ApplyFormDataService { - - - /** - * 保存申请类型表单填报信息 - * - * @param dto 家长端申请表单填写信息 - * @param applyForm 申请类型表单信息 - * @author ZYJ - * @date 2023/11/16 16:48 - */ - void saveFormData(ApplyFormDataInputDTO dto, CoreApplyForm applyForm); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormApprovalProcessService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormApprovalProcessService.java deleted file mode 100644 index 4e46b4d..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormApprovalProcessService.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.yida.data.form.apply.service; - - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.applyForm.CoreApplyForm; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormApprovalProcess; -import com.yida.data.common.core.entity.applyForm.CoreApprovalProcess; -import com.yida.data.customForm.dto.apply.ApplyFormSelectPageDTO; -import com.yida.data.customForm.vo.apply.ApplyFormInfoVO; -import com.yida.data.customForm.vo.apply.ApplyFormProcessSelectVO; -import com.yida.data.customForm.vo.apply.ApplyFormSelectPageVO; - -import java.util.List; - -/** - * 申请表单对应的审核流程 Service - * - * @author ZYJ - * @date 2023/11/21 - */ -public interface CoreApplyFormApprovalProcessService extends IService { - - /** - * 保存申请表单对应审核流程 - * - * @param applyFormId 申请表单id - * @param processList 表单对应审核流程节点集合 - * @author ZYJ - * @date 2023/11/22 14:01 - */ - void saveApplyFormApprovalProcess(Long applyFormId, List processList); - - /** - * 查询表单对应的审核流程数据 - * - * @param formId 表单id - * @return java.util.List - * @author ZYJ - * @date 2023/12/18 16:50 - */ - List listFormApprovalProcess(Long formId); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormFillUserApprovalProcessRecordService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormFillUserApprovalProcessRecordService.java deleted file mode 100644 index 0735316..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormFillUserApprovalProcessRecordService.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.form.apply.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormFillUserApprovalProcessRecord; - -/** - * 填报用户表单审核流程记录表(具体的审核信息) Service - * - * @author ZYJ - * @date 2023/11/24 - */ -public interface CoreApplyFormFillUserApprovalProcessRecordService extends IService { - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormFillUserApprovalProcessService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormFillUserApprovalProcessService.java deleted file mode 100644 index 999bec9..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormFillUserApprovalProcessService.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.form.apply.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormFillUserApprovalProcess; - -/** - * 表单填报用户对应审核流程表 Service - * - * @author ZYJ - * @date 2023/11/24 - */ -public interface CoreApplyFormFillUserApprovalProcessService extends IService { - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormFillUserService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormFillUserService.java deleted file mode 100644 index 0604a25..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormFillUserService.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.yida.data.form.apply.service; - - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormFillUser; -import com.yida.data.customForm.dto.apply.ApplyFormFillSelectPageDTO; -import com.yida.data.customForm.dto.apply.H5ApplyFormSelectPageDTO; -import com.yida.data.customForm.vo.apply.ApplyFormFillSelectPageVO; -import com.yida.data.customForm.vo.apply.MyApplyFormPageVO; - -import java.util.List; - -/** - * 申请表单填报用户信息表 Service - * - * @author ZYJ - * @date 2023/11/22 - */ -public interface CoreApplyFormFillUserService extends IService { - - /** - * 查询用户已经填报的数据 - * - * @param dto 查询条件 - * @param userIds 填报用户id集合 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/11/23 15:05 - */ - IPage selectUserFillForm(H5ApplyFormSelectPageDTO dto, List userIds); - - /** - * 查询申请表单填报列表数据 - * - * @param dto 表单填报数据后台列表请求类 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/12/7 15:05 - */ - IPage listApplyFormFillPage(ApplyFormFillSelectPageDTO dto); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormItemChildrenService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormItemChildrenService.java deleted file mode 100644 index d14d625..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormItemChildrenService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.yida.data.form.apply.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormItemChildren; - -/** - * 申请类型表单组件选项 Service - * - * @author ZYJ - * @date 2023/11/14 - */ -public interface CoreApplyFormItemChildrenService extends IService { - - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormItemService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormItemService.java deleted file mode 100644 index 404440e..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormItemService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.yida.data.form.apply.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormItem; - -/** - * 申请类型表单组件 Service - * - * @author ZYJ - * @date 2023/11/14 - */ -public interface CoreApplyFormItemService extends IService { - - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormService.java deleted file mode 100644 index cac169f..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApplyFormService.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.yida.data.form.apply.service; - - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.applyForm.CoreApplyForm; -import com.yida.data.customForm.dto.apply.ApplyFormSelectPageDTO; -import com.yida.data.customForm.vo.apply.ApplyFormInfoVO; -import com.yida.data.customForm.vo.apply.ApplyFormSelectPageVO; - -/** - * 申请类型表单 Service - * - * @author ZYJ - * @date 2023/11/14 - */ -public interface CoreApplyFormService extends IService { - - /** - * 查询申请表单列表数据 - * - * @param dto 申请表单后台列表请求类 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/11/14 16:07 - */ - IPage listApplyFormPage(ApplyFormSelectPageDTO dto); - - /** - * 查询申请表单详情 - * - * @param id 表单id - * @return com.yida.data.customForm.vo.apply.ApplyFormInfoVO - * @author ZYJ - * @date 2023/11/14 17:34 - */ - ApplyFormInfoVO getApplyFormInfo(Long id); - - /** - * 删除申请表单 - * - * @param id 表单id - * @author ZYJ - * @date 2023/11/14 20:21 - */ - void deleteApplyForm(Long id); - - /** - * 保存申请表单 - * - * @param applyForm 申请表单信息 - * @author ZYJ - * @date 2023/11/15 11:28 - */ - Long saveApplyForm(CoreApplyForm applyForm); - - /** - * 修改申请表单状态 - * - * @param formId 表单id - * @param enableStatus 状态. 0为停用,1为启用 - * @author ZYJ - * @date 2023/11/15 16:09 - */ - void updateEnableStatus(Long formId, Integer enableStatus); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApprovalProcessService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApprovalProcessService.java deleted file mode 100644 index bd8a0f6..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApprovalProcessService.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.yida.data.form.apply.service; - - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.applyForm.CoreApprovalProcess; -import com.yida.data.customForm.dto.apply.ApprovalProcessSelectPageDTO; -import com.yida.data.customForm.vo.apply.ApprovalProcessInfoVO; -import com.yida.data.customForm.vo.apply.ApprovalProcessSelectPageVO; - -import java.util.List; - -/** - * 审核流程表 Service - * - * @author ZYJ - * @date 2023/11/21 - */ -public interface CoreApprovalProcessService extends IService { - - /** - * 查询审核流程节点列表数据 - * - * @param dto 审核流程节点后台列表请求类 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/11/21 15:12 - */ - IPage listApprovalProcessPage(ApprovalProcessSelectPageDTO dto); - - /** - * 查询审核流程节点详情 - * - * @param id 审核流程节点id - * @return com.yida.data.customForm.vo.apply.ApprovalProcessInfoVO - * @author ZYJ - * @date 2023/11/21 16:03 - */ - ApprovalProcessInfoVO getApprovalProcessInfo(Long id); - - /** - * 删除审核流程节点 - * - * @param id 审核流程节点id - * @author ZYJ - * @date 2023/11/21 16:35 - */ - void deleteApprovalProcess(Long id); - - /** - * 保存审核流程节点 - * - * @param process 保存的节点信息 - * @author ZYJ - * @date 2023/11/21 16:51 - */ - void saveApprovalProcess(CoreApprovalProcess process); - - /** - * 查询所有审核流程节点数据(排除当前表单包含的数据) - * - * @param formId 表单id - * @return java.util.List - * @author ZYJ - * @date 2023/12/19 14:17 - */ - List listApprovalProcess(Long formId); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApprovalProcessUserService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApprovalProcessUserService.java deleted file mode 100644 index 3bb0139..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApprovalProcessUserService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.yida.data.form.apply.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.applyForm.CoreApprovalProcess; -import com.yida.data.common.core.entity.applyForm.CoreApprovalProcessUser; - -/** - * 审核流程人员配置表 Service - * - * @author ZYJ - * @date 2023/11/21 - */ -public interface CoreApprovalProcessUserService extends IService { - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApprovalRemindService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApprovalRemindService.java deleted file mode 100644 index c2d3388..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreApprovalRemindService.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.yida.data.form.apply.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.applyForm.CoreApprovalRemind; -import com.yida.data.customForm.dto.apply.ApprovalRemindDTO; -import com.yida.data.customForm.vo.apply.ApprovalRemindInfoVO; - -/** - * 审核提醒策略表 Service - * - * @author ZYJ - * @date 2023/11/23 - */ -public interface CoreApprovalRemindService extends IService { - - /** - * 查询审核提醒策略详情 - * - * @return com.yida.data.customForm.vo.apply.ApprovalRemindInfoVO - * @author ZYJ - * @date 2023/12/21 15:19 - */ - ApprovalRemindInfoVO getApprovalRemindInfo(); - - /** - * 保存审核提醒策略 - * - * @param dto 保存审核提醒策略请求类 - * @author ZYJ - * @date 2023/12/21 15:26 - */ - void saveApprovalRemind(ApprovalRemindDTO dto); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreOfficialSealService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreOfficialSealService.java deleted file mode 100644 index 5e503ad..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/CoreOfficialSealService.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.yida.data.form.apply.service; - - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.applyForm.CoreOfficialSeal; -import com.yida.data.customForm.dto.apply.OfficialSealSaveDTO; -import com.yida.data.customForm.dto.apply.OfficialSealSelectPageDTO; -import com.yida.data.customForm.vo.apply.OfficialSealInfoVO; -import com.yida.data.customForm.vo.apply.OfficialSealSelectPageVO; - -/** - * 学校公章 Service - * - * @author ZYJ - * @date 2023/11/17 - */ -public interface CoreOfficialSealService extends IService { - - /** - * 查询学校公章列表数据 - * - * @param dto 查询条件 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/11/17 15:44 - */ - IPage listOfficialSealPage(OfficialSealSelectPageDTO dto); - - /** - * 查询公章详情 - * - * @param id 公章id - * @return com.yida.data.customForm.vo.apply.OfficialSealInfoVO - * @author ZYJ - * @date 2023/11/17 16:48 - */ - OfficialSealInfoVO getOfficialSealInfo(Long id); - - /** - * 删除公章 - * - * @param id 公章id - * @author ZYJ - * @date 2023/11/17 17:07 - */ - void deleteOfficialSeal(Long id); - - /** - * 保存公章 - * - * @param dto 保存的公章信息 - * @author ZYJ - * @date 2023/11/17 17:32 - */ - void saveOfficialSeal(OfficialSealSaveDTO dto); - - /** - * 修改公章状态 - * - * @param id 表单id - * @param enableStatus 状态. 0为停用,1为启用 - * @author ZYJ - * @date 2023/11/17 17:35 - */ - void updateEnableStatus(Long id, Integer enableStatus); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/SendNoticeService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/SendNoticeService.java deleted file mode 100644 index ea6631e..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/SendNoticeService.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.yida.data.form.apply.service; - -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.customForm.dto.apply.SendParentNoticeDTO; -import com.yida.data.customForm.dto.apply.SendStaffNoticeDTO; -import org.springframework.scheduling.annotation.Async; - -import java.time.LocalDateTime; - -/** - * 发送消息 Service - * - * @author ZYJ - * @date 2023/11/30 - */ -public interface SendNoticeService { - - /** - * 发送申请表单职工企业微信端模板消息 - * - * @param dto 发送职工表单审核模板消息 数据封装类 - * @param isFirst 是否为初次审核 0否,1是 - * @author ZYJ - * @date 2023/11/28 14:09 - */ - @Async - void sendStaffNotice(SendStaffNoticeDTO dto, Integer isFirst); - - /** - * 发送申请表单家长企业微信端模板消息 - * - * @param dto 消息信息 - * @author ZYJ - * @date 2023/11/30 17:07 - */ - @Async - void sendParentNotice(SendParentNoticeDTO dto); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/AppApplyFormServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/AppApplyFormServiceImpl.java deleted file mode 100644 index 5b0499e..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/AppApplyFormServiceImpl.java +++ /dev/null @@ -1,532 +0,0 @@ -package com.yida.data.form.apply.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.applyForm.*; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.entity.user.EduUserDept; -import com.yida.data.common.core.enums.EnableStatusEnum; -import com.yida.data.common.core.enums.RoleName; -import com.yida.data.common.core.enums.leave.ApprovalResultEnum; -import com.yida.data.common.core.enums.leave.AuditModeEnum; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.service.CommonService; -import com.yida.data.customForm.dto.apply.*; -import com.yida.data.customForm.vo.apply.*; -import com.yida.data.form.apply.mapper.ApplyFormDataMapper; -import com.yida.data.form.apply.mapper.CoreApplyFormFillUserMapper; -import com.yida.data.form.apply.service.*; -import com.yida.data.user.dto.ListStaffDTO; -import com.yida.data.user.feign.RemoteStaffService; -import com.yida.data.user.feign.RemoteStudentService; -import com.yida.data.user.feign.RemoteUserDeptService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.*; -import java.util.stream.Collectors; - -/** - * H5--申请类表单管理 Service - * - * @author ZYJ - * @date 2023/11/15 20:38 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class AppApplyFormServiceImpl implements AppApplyFormService { - - private final SendNoticeService sendNoticeService; - private final ApplyFormDataService applyFormDataService; - private final CoreApplyFormService coreApplyFormService; - private final CoreApplyFormItemService coreApplyFormItemService; - private final CoreApprovalProcessService coreApprovalProcessService; - private final CoreApplyFormFillUserService coreApplyFormFillUserService; - private final CoreApplyFormItemChildrenService coreApplyFormItemChildrenService; - private final CoreApplyFormFillUserApprovalProcessService coreApplyFormFillUserApprovalProcessService; - private final CoreApplyFormFillUserApprovalProcessRecordService coreApplyFormFillUserApprovalProcessRecordService; - - private final ApplyFormDataMapper applyFormDataMapper; - private final CoreApplyFormFillUserMapper coreApplyFormFillUserMapper; - - private final RemoteStaffService remoteStaffService; - private final RemoteStudentService remoteStudentService; - private final RemoteUserDeptService remoteUserDeptService; - - private final RedisService redisService; - private final CommonService commonService; - - @Override - public IPage listApplyFormPage(H5ApplyFormSelectPageDTO dto) { - ApplyFormSelectPageDTO selectPageDTO = new ApplyFormSelectPageDTO(); - selectPageDTO.setDeptId(dto.getDeptId()); - selectPageDTO.setStatus(EnableStatusEnum.ENABLE_STATUS.getStatus()); - selectPageDTO.setPageNum(dto.getPageNum()); - selectPageDTO.setPageSize(dto.getPageSize()); - // 查询表单信息 - return coreApplyFormService.listApplyFormPage(selectPageDTO); - } - - @Override - public IPage listMyApplyFormPage(H5ApplyFormSelectPageDTO dto) { - // 查询学生列表 - List studentList = remoteStudentService.listStudentByParent(dto.getParentId()).getData(); - if (CollUtil.isEmpty(studentList)) { - return new Page<>(); - } - Map> studentListMap = studentList.stream().collect(Collectors.groupingBy(EduStudent::getId)); - // 查询用户已经填报的数据 - List studentIds = studentList.stream().map(EduStudent::getId).collect(Collectors.toList()); - IPage page = coreApplyFormFillUserService.selectUserFillForm(dto, studentIds); - page.getRecords().forEach(myApplyFormPageVO -> { - // 处理学生信息 - EduStudent eduStudent = studentListMap.get(myApplyFormPageVO.getUserId()).get(0); - myApplyFormPageVO.setUserName(eduStudent.getStuName()); - myApplyFormPageVO.setUserPicUrl(eduStudent.getAvatar()); - }); - return page; - } - - @Override - public ApplyFormInfoVO getApplyFormInfo(Long id) { - return coreApplyFormService.getApplyFormInfo(id); - } - - @Override - public void saveApplyFormData(ApplyFormDataInputDTO dto) { - CoreApplyForm applyForm = coreApplyFormService.getById(dto.getFormId()); - if (Objects.isNull(applyForm)) { - throw new FebsException("申请表信息异常"); - } - applyFormDataService.saveFormData(dto, applyForm); - } - - @Override - public IPage findApprovalApplyFormDataList(SelectApprovalApplyFormDataListDTO dto) { - LocalDateTime preDateTime = LocalDate.now().minusMonths(1).atTime(23, 59, 59); - // 职工参与审核的填报用户信息 - List approvalUserFormList = coreApplyFormFillUserMapper.findApprovalFormDataFillUserList(dto, preDateTime); - if (CollUtil.isEmpty(approvalUserFormList)) { - return new Page<>(); - } - // 如果表单已通过或者未通过,表示已处理了 - List dealEdList = approvalUserFormList.stream() - .filter(e -> ObjectUtil.equals(ApprovalResultEnum.AUDIT_PASS.getResult(), e.getExamineStatus()) - || ObjectUtil.equals(ApprovalResultEnum.AUDIT_NO.getResult(), e.getExamineStatus())) - .collect(Collectors.toList()); - List dealEdIdList = dealEdList.stream().map(CoreApplyFormFillUser::getId).collect(Collectors.toList()); - // 待处理/正在处理的请假 - List dealIngList = approvalUserFormList.stream() - .filter(e -> ObjectUtil.equals(ApprovalResultEnum.AUDIT.getResult(), e.getExamineStatus()) - || ObjectUtil.equals(ApprovalResultEnum.AUDIT_ING.getResult(), e.getExamineStatus())) - .collect(Collectors.toList()); - List dealIngIdList = new ArrayList<>(); - - for (CoreApplyFormFillUser fillUser : dealIngList) { - // 待审核 - List userApprovalProcessList = coreApplyFormFillUserApprovalProcessService - .list(Wrappers.lambdaQuery(new CoreApplyFormFillUserApprovalProcess()) - .eq(CoreApplyFormFillUserApprovalProcess::getFillUserId, fillUser.getId()) - .eq(CoreApplyFormFillUserApprovalProcess::getExamineStatus, ApprovalResultEnum.AUDIT.getResult()) - .orderByAsc(CoreApplyFormFillUserApprovalProcess::getSort)); - if (CollUtil.isEmpty(userApprovalProcessList)) { - continue; - } - // 下一级审核 - CoreApplyFormFillUserApprovalProcess userApprovalProcess = userApprovalProcessList.get(0); - List recordList = coreApplyFormFillUserApprovalProcessRecordService - .list(Wrappers.lambdaQuery(new CoreApplyFormFillUserApprovalProcessRecord()) - .eq(CoreApplyFormFillUserApprovalProcessRecord::getFillUserId, fillUser.getId()) - .eq(CoreApplyFormFillUserApprovalProcessRecord::getUserProcessId, userApprovalProcess.getId())); - if (recordList.stream().map(CoreApplyFormFillUserApprovalProcessRecord::getApprovalId) - .collect(Collectors.toList()).contains(dto.getUserId())) { - dealIngIdList.add(fillUser.getId()); - } - // 已审核通过 - List userApprovalProcessPassList = coreApplyFormFillUserApprovalProcessService - .list(Wrappers.lambdaQuery(new CoreApplyFormFillUserApprovalProcess()) - .eq(CoreApplyFormFillUserApprovalProcess::getFillUserId, fillUser.getId()) - .eq(CoreApplyFormFillUserApprovalProcess::getExamineStatus, ApprovalResultEnum.AUDIT_PASS.getResult()) - .orderByAsc(CoreApplyFormFillUserApprovalProcess::getSort)); - if (CollUtil.isEmpty(userApprovalProcessPassList)) { - continue; - } - List passRecordList = coreApplyFormFillUserApprovalProcessRecordService - .list(Wrappers.lambdaQuery(new CoreApplyFormFillUserApprovalProcessRecord()) - .eq(CoreApplyFormFillUserApprovalProcessRecord::getFillUserId, fillUser.getId()) - .in(CoreApplyFormFillUserApprovalProcessRecord::getUserProcessId, - userApprovalProcessPassList.stream().map(CoreApplyFormFillUserApprovalProcess::getId).collect( - Collectors.toList()))); - if (passRecordList.stream().map(CoreApplyFormFillUserApprovalProcessRecord::getApprovalId) - .collect(Collectors.toList()).contains(dto.getUserId())) { - dealEdIdList.add(fillUser.getId()); - } - } - - if (CollUtil.isEmpty(dealEdIdList)) { - dealEdIdList.add(-1L); - } - - if (CollUtil.isEmpty(dealIngIdList)) { - dealIngIdList.add(-1L); - } - ApprovalFillUserFormPageDTO pageDTO = new ApprovalFillUserFormPageDTO(); - pageDTO.setPageNum(dto.getPageNum()); - pageDTO.setPageSize(dto.getPageSize()); - pageDTO.setSchoolId(dto.getSchoolId()); - pageDTO.setFillUserIds( - ObjectUtil.equals(ApprovalResultEnum.AUDIT.getResult(), dto.getCurrentUserStatus()) ? dealIngIdList : dealEdIdList); - // 查询教师审核的表单分页数据 - IPage page = coreApplyFormFillUserMapper.selectApprovalUserFillForm(pageDTO.toPage(), pageDTO); - for (ApprovalApplyFormPageVO record : page.getRecords()) { - // 学生 - EduStudent student = commonService.getStudentById(record.getUserId()); - if (ObjectUtil.isNull(student)) { - log.error("学生【{}】不存在,无法处理申请表单数据", record.getUserId().toString()); - continue; - } - EduUserDept userGreadeDept = (EduUserDept) redisService - .hget(CachePrefixConstant.USER_DEPT_DATA, student.getGradeId().toString()); - - EduUserDept userClassDept = (EduUserDept) redisService - .hget(CachePrefixConstant.USER_DEPT_DATA, student.getClassId().toString()); - - if (ObjectUtil.isNull(userGreadeDept)) { - userGreadeDept = remoteUserDeptService.getByDeptId(student.getGradeId()).getData(); - if (ObjectUtil.isNotNull(userGreadeDept)) { - redisService.hset(CachePrefixConstant.USER_DEPT_DATA, student.getGradeId().toString(), userGreadeDept); - } - } - - if (ObjectUtil.isNull(userClassDept)) { - userClassDept = remoteUserDeptService.getByDeptId(student.getClassId()).getData(); - if (ObjectUtil.isNotNull(userClassDept)) { - redisService.hset(CachePrefixConstant.USER_DEPT_DATA, student.getClassId().toString(), userClassDept); - } - } - if (ObjectUtil.isNull(userGreadeDept) && ObjectUtil.isNull(userGreadeDept)) { - record.setUserDeptName("未知班级"); - } else { - record.setUserDeptName( - (ObjectUtil.isNull(userGreadeDept) ? "" : userGreadeDept.getDeptName()) + (ObjectUtil - .isNull(userClassDept) ? "" : userClassDept.getDeptName())); - } - record.setUserPicUrl(student.getAvatar()); - } - return page; - } - - @Override - public ApplyFormFillUserDataVO getApplyFormFillUserData(ApplyFormFillUserDataDTO dto) { - // 返回信息 - ApplyFormFillUserDataVO vo = new ApplyFormFillUserDataVO(); - // 查询填报用户信息 - CoreApplyFormFillUser fillUser = coreApplyFormFillUserService.getById(dto.getFillUserId()); - vo.setFillUserId(fillUser.getId()); - // 表单信息 - CoreApplyForm applyForm = coreApplyFormService.getById(dto.getApplyFormId()); - BeanUtils.copyProperties(applyForm, vo); - // 查询组件信息 - List itemList = coreApplyFormItemService.list(Wrappers.query().lambda() - .eq(CoreApplyFormItem::getFormId, dto.getApplyFormId())); - itemList.forEach(item -> { - // 查询组件选项信息 - List childrenList = - coreApplyFormItemChildrenService.list(Wrappers.query().lambda() - .eq(CoreApplyFormItemChildren::getFormItemId, item.getId())); - item.setChildrenList(childrenList); - }); - vo.setItemList(itemList); - // 查询对应的填报信息 - Map parameterMap = new HashMap<>(); - String sql = "select * from " + applyForm.getTableName() + " where id = #{parameterMap.id}"; - parameterMap.put("id", fillUser.getApplyFormDataId()); - Map fillUserData = applyFormDataMapper.findFillUserData(sql, parameterMap); - vo.setFillUserData(fillUserData); - // 查询填报用户对应的审核流程 - List userApprovalProcessList = coreApplyFormFillUserApprovalProcessService - .list(Wrappers.lambdaQuery(new CoreApplyFormFillUserApprovalProcess()) - .eq(CoreApplyFormFillUserApprovalProcess::getFillUserId, fillUser.getId()) - .orderByAsc(CoreApplyFormFillUserApprovalProcess::getSort)); - userApprovalProcessList.forEach(userApprovalProcess -> { - List recordList = coreApplyFormFillUserApprovalProcessRecordService - .list(Wrappers.lambdaQuery(new CoreApplyFormFillUserApprovalProcessRecord()) - .eq(CoreApplyFormFillUserApprovalProcessRecord::getFillUserId, fillUser.getId()) - .eq(CoreApplyFormFillUserApprovalProcessRecord::getUserProcessId, userApprovalProcess.getId())); - // 查询审核人信息 - ListStaffDTO staffDTO = new ListStaffDTO(); - staffDTO.setIds(recordList.stream().map(CoreApplyFormFillUserApprovalProcessRecord::getApprovalId) - .collect(Collectors.toList())); - for (CoreApplyFormFillUserApprovalProcessRecord record : recordList) { - EduStaff staff = (EduStaff) redisService.hget(CachePrefixConstant.STAFF_DATA, record.getApprovalId().toString()); - if (Objects.isNull(staff)) { - staff = remoteStaffService.getStaff(record.getApprovalId()).getData(); - if (Objects.nonNull(staff)) { - redisService - .hset(CachePrefixConstant.STAFF_DATA, record.getApprovalId().toString(), staff); - } - } - if (Objects.nonNull(staff)) { - record.setApprovalInfo(staff); - } - } - userApprovalProcess.setRecordList(recordList); - }); - vo.setUserApprovalProcessList(userApprovalProcessList); - // 学生信息 - EduStudent student = (EduStudent) redisService - .hget(CachePrefixConstant.STUDENT_DATA, fillUser.getUserId().toString()); - if (Objects.isNull(student)) { - student = remoteStudentService.getStudentNoPermission(fillUser.getUserId()).getData(); - if (ObjectUtil.isNotNull(student)) { - redisService.hset(CachePrefixConstant.STUDENT_DATA, fillUser.getUserId().toString(), student); - } - } - vo.setStudent(student); - return vo; - } - - @Override - public void auditForm(AuditFormDTO dto) { - // 填报信息主体 - CoreApplyFormFillUser fillUser = coreApplyFormFillUserService.getById(dto.getFillUserId()); - // 查询学生 - EduStudent student = (EduStudent) redisService - .hget(CachePrefixConstant.STUDENT_DATA, fillUser.getUserId().toString()); - if (Objects.isNull(student)) { - student = remoteStudentService.getStudentNoPermission(fillUser.getUserId()).getData(); - if (student == null) { - throw new FebsException("学生信息错误,请联系管理员"); - } else { - redisService.hset(CachePrefixConstant.STUDENT_DATA, fillUser.getUserId().toString(), student); - } - } - // 查询学校信息 - Dept school = commonService.getDept(student.getSchoolId()); - // 封装消息发送对象 - SendStaffNoticeDTO sendStaffNoticeDTO = new SendStaffNoticeDTO(); - sendStaffNoticeDTO.setSchoolId(student.getSchoolId()); - sendStaffNoticeDTO.setSchoolType(school.getSchoolType()); - sendStaffNoticeDTO.setCreateTime(LocalDateTime.now()); - sendStaffNoticeDTO.setUserName(student.getStuName()); - sendStaffNoticeDTO.setUserDeptName( - String.join("/", student.getCampusName(), student.getGradeName(), student.getClassName())); - sendStaffNoticeDTO.setFormId(fillUser.getApplyFormId()); - sendStaffNoticeDTO.setFillUserId(fillUser.getId()); - sendStaffNoticeDTO.setUserId(student.getId()); - // 判断审核权限 - List list = coreApplyFormFillUserApprovalProcessRecordService.list( - Wrappers.lambdaQuery(new CoreApplyFormFillUserApprovalProcessRecord()) - .eq(CoreApplyFormFillUserApprovalProcessRecord::getFillUserId, fillUser.getId()) - .eq(CoreApplyFormFillUserApprovalProcessRecord::getApprovalId, dto.getApprovalId()) - .orderByAsc(CoreApplyFormFillUserApprovalProcessRecord::getSort)); - // 获取当前审核数据 - CoreApplyFormFillUserApprovalProcessRecord processRecord = new CoreApplyFormFillUserApprovalProcessRecord(); - for (CoreApplyFormFillUserApprovalProcessRecord record : list) { - if (record.getApprovalResult() == 0) { - processRecord = record; - break; - } - } - // 保存审核流程记录 - processRecord.setApprovalResult(dto.getApprovalResult() == 0 ? 2 : 1); - processRecord.setApprovalReason(dto.getApprovalReason()); - processRecord.setSignPic(dto.getSignPic()); - processRecord.setAuditTime(LocalDateTime.now()); - processRecord.setUpdateDate(LocalDateTime.now()); - coreApplyFormFillUserApprovalProcessRecordService.updateById(processRecord); - // 查询对应的用户审核流程 - CoreApplyFormFillUserApprovalProcess userApprovalProcess = - coreApplyFormFillUserApprovalProcessService.getById(processRecord.getUserProcessId()); - // 查询审核流程具体信息 - CoreApprovalProcess approvalProcess = coreApprovalProcessService.getById(userApprovalProcess.getProcessId()); - - sendStaffNoticeDTO.setPreStaffName(processRecord.getApprovalName()); - // 查询角色名称 - List roleNames = new ArrayList<>(); - List teacherRoleTypeList = remoteStaffService - .listStaffRolesByStaffId(processRecord.getApprovalId()).getData(); - if (teacherRoleTypeList.contains(1)) { - roleNames.add(RoleName.CAMPUS.getName()); - } else if (teacherRoleTypeList.contains(2)) { - roleNames.add(RoleName.GRADE.getName()); - } else if (teacherRoleTypeList.contains(3)) { - roleNames.add(RoleName.MASTER.getName()); - } else if (teacherRoleTypeList.contains(4)) { - roleNames.add(RoleName.COURSE.getName()); - } else if (teacherRoleTypeList.contains(5)) { - roleNames.add(RoleName.SECTION.getName()); - } else { - roleNames.add(RoleName.TEACHER.getName()); - } - sendStaffNoticeDTO.setPreStaffRoleName(StrUtil.join("/", roleNames)); - // 或审 - if (ObjectUtil.equals(AuditModeEnum.OR_AUDIT.getMode(), approvalProcess.getApprovalType())) { - userApprovalProcess.setExamineStatus(dto.getApprovalResult() == 0 ? 2 : 1); - userApprovalProcess.setAuditTime(LocalDateTime.now()); - // 查询用户下一个审核流程 - CoreApplyFormFillUserApprovalProcess nextUserApprovalProcess = coreApplyFormFillUserApprovalProcessService - .getOne(Wrappers.lambdaQuery(new CoreApplyFormFillUserApprovalProcess()) - .eq(CoreApplyFormFillUserApprovalProcess::getFillUserId, fillUser.getId()) - .eq(CoreApplyFormFillUserApprovalProcess::getSort, userApprovalProcess.getSort() + 1)); - // 用户填报信息 - CoreApplyFormFillUser saveFillUser = new CoreApplyFormFillUser(); - saveFillUser.setId(fillUser.getId()); - // 无下一个用户审核流程则表示审核完毕 - if (Objects.isNull(nextUserApprovalProcess)) { - // 审核通过 - if (ObjectUtil.equals(ApprovalResultEnum.AUDIT_PASS.getResult(), dto.getApprovalResult())) { - saveFillUser.setExamineStatus(ApprovalResultEnum.AUDIT_PASS.getResult()); - } else { - // 审核不通过 - saveFillUser.setExamineStatus(ApprovalResultEnum.AUDIT_NO.getResult()); - saveFillUser.setRefuseReason(dto.getRefuseReason()); - } - saveFillUser.setAuditTime(LocalDateTime.now()); - } else { - // 有下一个用户审核流程 - if (ObjectUtil.equals(ApprovalResultEnum.AUDIT_PASS.getResult(), dto.getApprovalResult())) { - // 当前节点审核通过, 用户修改为审核中 - saveFillUser.setExamineStatus(ApprovalResultEnum.AUDIT_ING.getResult()); - // 查询下一个审核节点的审核人信息 - List nextAppUser = coreApplyFormFillUserApprovalProcessRecordService.list( - Wrappers.lambdaQuery(new CoreApplyFormFillUserApprovalProcessRecord()) - .eq(CoreApplyFormFillUserApprovalProcessRecord::getUserProcessId, nextUserApprovalProcess.getId())); - nextAppUser.forEach(record -> { - // 发送提示审核消息 - EduStaff staff = remoteStaffService.getStaff(record.getApprovalId()).getData(); - sendStaffNoticeDTO.setStaffWxId(staff.getWxId()); - sendStaffNoticeDTO.setStaffName(staff.getName()); - sendStaffNoticeDTO.setSchoolType(school.getSchoolType()); - sendNoticeService.sendStaffNotice(sendStaffNoticeDTO, 0); - }); - } else { - // 审核不通过 - saveFillUser.setExamineStatus(ApprovalResultEnum.AUDIT_NO.getResult()); - saveFillUser.setRefuseReason(dto.getRefuseReason()); - saveFillUser.setAuditTime(LocalDateTime.now()); - } - } - coreApplyFormFillUserService.updateById(saveFillUser); - // 给家长发送审核结果信息 - if (ObjectUtil.equals(ApprovalResultEnum.AUDIT_PASS.getResult(), saveFillUser.getExamineStatus()) - || ObjectUtil.equals(ApprovalResultEnum.AUDIT_NO.getResult(), saveFillUser.getExamineStatus())) { - CoreApplyFormFillUser user = coreApplyFormFillUserService.getById(saveFillUser.getId()); - sendNoticeService.sendParentNotice( - SendParentNoticeDTO.builder() - .school(school) - .student(student) - .examineStatus(saveFillUser.getExamineStatus()) - .createTime(user.getCreateDate()) - .formId(fillUser.getApplyFormId()) - .fillUserId(user.getId()) - .build() - ); - } - } else { - // 会审 - // 本次审核流程对应的全部审核人员 - List recordList = coreApplyFormFillUserApprovalProcessRecordService - .list(Wrappers.lambdaQuery(new CoreApplyFormFillUserApprovalProcessRecord()) - .eq(CoreApplyFormFillUserApprovalProcessRecord::getUserProcessId, processRecord.getUserProcessId()) - .eq(CoreApplyFormFillUserApprovalProcessRecord::getFillUserId, fillUser.getId())); - // 已通过的人员 - List passRecordList = recordList.stream() - .filter(x -> ObjectUtil.equals(ApprovalResultEnum.AUDIT_PASS.getResult(), x.getApprovalResult())) - .collect(Collectors.toList()); - // 用户填报信息 - CoreApplyFormFillUser saveFillUser = new CoreApplyFormFillUser(); - saveFillUser.setId(fillUser.getId()); - // 审核通过 - if (ObjectUtil.equals(ApprovalResultEnum.AUDIT_PASS.getResult(), dto.getApprovalResult())) { - // 本次流程全部审核通过 - if (recordList.size() == passRecordList.size()) { - // 查询用户下一个审核流程 - CoreApplyFormFillUserApprovalProcess nextUserApprovalProcess = coreApplyFormFillUserApprovalProcessService - .getOne(Wrappers.lambdaQuery(new CoreApplyFormFillUserApprovalProcess()) - .eq(CoreApplyFormFillUserApprovalProcess::getFillUserId, fillUser.getId()) - .eq(CoreApplyFormFillUserApprovalProcess::getSort, userApprovalProcess.getSort() + 1)); - // 无下一个用户审核流程则表示审核完毕 - if (Objects.isNull(nextUserApprovalProcess)) { - saveFillUser.setExamineStatus(ApprovalResultEnum.AUDIT_PASS.getResult()); - saveFillUser.setAuditTime(LocalDateTime.now()); - // 给家长发送审核结果信息 - CoreApplyFormFillUser user = coreApplyFormFillUserService.getById(saveFillUser.getId()); - sendNoticeService.sendParentNotice( - SendParentNoticeDTO.builder() - .school(school) - .student(student) - .examineStatus(saveFillUser.getExamineStatus()) - .createTime(user.getCreateDate()) - .formId(fillUser.getApplyFormId()) - .fillUserId(user.getId()) - .build() - ); - } else { - // 有下一个用户审核流程 - // 当前节点审核通过, 用户修改为审核中 - saveFillUser.setExamineStatus(ApprovalResultEnum.AUDIT_ING.getResult()); - // 查询下一个审核节点的审核人信息 - List nextAppUser = coreApplyFormFillUserApprovalProcessRecordService.list( - Wrappers.lambdaQuery(new CoreApplyFormFillUserApprovalProcessRecord()) - .eq(CoreApplyFormFillUserApprovalProcessRecord::getUserProcessId, nextUserApprovalProcess.getId())); - nextAppUser.forEach(record -> { - // 发送提示审核消息 - EduStaff staff = remoteStaffService.getStaff(record.getApprovalId()).getData(); - sendStaffNoticeDTO.setStaffWxId(staff.getWxId()); - sendStaffNoticeDTO.setStaffName(staff.getName()); - sendStaffNoticeDTO.setSchoolType(school.getSchoolType()); - sendNoticeService.sendStaffNotice(sendStaffNoticeDTO, 0); - }); - } - // 当前用户审核流程修改为通过 - userApprovalProcess.setExamineStatus(ApprovalResultEnum.AUDIT_PASS.getResult()); - userApprovalProcess.setAuditTime(LocalDateTime.now()); - } else { - // 本次流程还有未审核通过的人员 - userApprovalProcess.setExamineStatus(ApprovalResultEnum.AUDIT_ING.getResult()); //当前流程审核中 - userApprovalProcess.setAuditTime(LocalDateTime.now()); - // 当前人员修改为审核中 - saveFillUser.setExamineStatus(ApprovalResultEnum.AUDIT_ING.getResult()); - } - } else { - // 审核不通过 - saveFillUser.setExamineStatus(ApprovalResultEnum.AUDIT_NO.getResult()); - saveFillUser.setRefuseReason(dto.getRefuseReason()); - saveFillUser.setAuditTime(LocalDateTime.now()); - // 当前用户审核流程修改为不通过 - userApprovalProcess.setExamineStatus(ApprovalResultEnum.AUDIT_NO.getResult()); - userApprovalProcess.setAuditTime(LocalDateTime.now()); - // 给家长发送审核结果信息 - CoreApplyFormFillUser user = coreApplyFormFillUserService.getById(saveFillUser.getId()); - sendNoticeService.sendParentNotice( - SendParentNoticeDTO.builder() - .school(school) - .student(student) - .examineStatus(saveFillUser.getExamineStatus()) - .createTime(user.getCreateDate()) - .formId(fillUser.getApplyFormId()) - .fillUserId(user.getId()) - .build() - ); - } - coreApplyFormFillUserService.updateById(saveFillUser); - } - coreApplyFormFillUserApprovalProcessService.updateById(userApprovalProcess); - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/ApplyFormDataServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/ApplyFormDataServiceImpl.java deleted file mode 100644 index 2adaeeb..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/ApplyFormDataServiceImpl.java +++ /dev/null @@ -1,214 +0,0 @@ -package com.yida.data.form.apply.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.entity.applyForm.*; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.enums.SchoolNatureEnum; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.enums.ApprovalRoleTypeEnum; -import com.yida.data.common.core.enums.AuditStatusEnum; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.service.CommonService; -import com.yida.data.customForm.dto.apply.ApplyFormDataInputDTO; -import com.yida.data.customForm.dto.apply.SendStaffNoticeDTO; -import com.yida.data.form.apply.mapper.ApplyFormDataMapper; -import com.yida.data.form.apply.mapper.CoreApplyFormApprovalProcessMapper; -import com.yida.data.form.apply.service.*; -import com.yida.data.user.feign.RemoteStaffService; -import com.yida.data.user.feign.RemoteStudentService; -import com.yida.data.user.feign.RemoteTeacherService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.time.LocalDateTime; -import java.util.*; - -/** - * 申请类表单填报数据 Service - * - * @author ZYJ - * @date 2023/11/16 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class ApplyFormDataServiceImpl implements ApplyFormDataService { - - private final SendNoticeService sendNoticeService; - private final CoreApplyFormFillUserService coreApplyFormFillUserService; - private final CoreApprovalProcessUserService coreApprovalProcessUserService; - private final CoreApplyFormFillUserApprovalProcessService coreApplyFormFillUserApprovalProcessService; - private final CoreApplyFormFillUserApprovalProcessRecordService coreApplyFormFillUserApprovalProcessRecordService; - - private final ApplyFormDataMapper applyFormDataMapper; - private final CoreApplyFormApprovalProcessMapper coreApplyFormApprovalProcessMapper; - - private final RemoteStaffService remoteStaffService; - private final RemoteTeacherService remoteTeacherService; - private final RemoteStudentService remoteStudentService; - - private final RedisService redisService; - private final CommonService commonService; - - @Override - public void saveFormData(ApplyFormDataInputDTO dto, CoreApplyForm applyForm) { - - // 查询学生 - EduStudent student = (EduStudent) redisService - .hget(CachePrefixConstant.STUDENT_DATA, dto.getUserId().toString()); - if (Objects.isNull(student)) { - student = remoteStudentService.getStudentNoPermission(dto.getUserId()).getData(); - if (student == null) { - throw new FebsException("学生信息错误,请联系管理员"); - } else { - redisService.hset(CachePrefixConstant.STUDENT_DATA, dto.getUserId().toString(), student); - } - } - // 查询学校信息 - Dept school = commonService.getDept(applyForm.getSchoolId()); - // 封装消息发送对象 - SendStaffNoticeDTO sendStaffNoticeDTO = new SendStaffNoticeDTO(); - sendStaffNoticeDTO.setSchoolId(applyForm.getSchoolId()); - sendStaffNoticeDTO.setSchoolType(school.getSchoolType()); - sendStaffNoticeDTO.setCreateTime(LocalDateTime.now()); - sendStaffNoticeDTO.setUserName(student.getStuName()); - sendStaffNoticeDTO.setUserDeptName( - String.join("/", student.getCampusName(), student.getGradeName(), student.getClassName())); - sendStaffNoticeDTO.setFormId(dto.getFormId()); - sendStaffNoticeDTO.setUserId(student.getId()); - // 查询数据表字段 - List filedList = applyFormDataMapper.findApplyFormFiled(applyForm.getTableName()); - // 填报信息处理 - JSONObject jsonObject = JSONUtil.parseObj(dto.getJsonDataString()); - // 字段集合 - List parameterList = new ArrayList<>(); - Map parameterMap = new HashMap<>(); - // 处理保存sql语句 - String baseSql = "insert into " + applyForm.getTableName() + "("; - filedList.forEach(filed -> { - parameterList.add("#{parameterMap." + filed + "}"); - parameterMap.put(filed, jsonObject.get(filed)); - }); - // 处理其余字段 - parameterMap.put("create_date", new Date()); - parameterMap.put("user_id", dto.getUserId()); - parameterMap.put("examine_status", "0"); - // 数据主键id - parameterMap.put("id", null); - String finalSql = baseSql + String.join(",", filedList) + ") values (" + String.join(",", parameterList) + ")"; - // 保存数据 - applyFormDataMapper.saveFormData(finalSql, parameterMap); - // 处涉及多次填报,添加填报数据主键id - CoreApplyFormFillUser fillUser = CoreApplyFormFillUser.builder() - .schoolId(student.getSchoolId()) - .applyFormId(applyForm.getId()) - .applyFormDataId((Long) parameterMap.get("id")) - .userId(dto.getUserId()) - .userName(student.getStuName()) - .build(); - // 保存填报记录数据 - coreApplyFormFillUserService.save(fillUser); - - sendStaffNoticeDTO.setFillUserId(fillUser.getId()); - // 查询表单对应的审核流程 - List approvalProcessList = coreApplyFormApprovalProcessMapper.selectApplyFormApprovalProcess(applyForm.getId()); - for (int i = 0; i < approvalProcessList.size(); i++) { - CoreApprovalProcess approvalProcess = approvalProcessList.get(i); - // 保存填报用户对应的流程 - CoreApplyFormFillUserApprovalProcess fillUserApprovalProcess = new CoreApplyFormFillUserApprovalProcess(); - fillUserApprovalProcess.setApplyFormId(applyForm.getId()); - fillUserApprovalProcess.setFillUserId(fillUser.getId()); - fillUserApprovalProcess.setProcessId(approvalProcess.getId()); - fillUserApprovalProcess.setProcessName(approvalProcess.getApprovalProcessName()); - fillUserApprovalProcess.setApprovalType(approvalProcess.getApprovalType()); - fillUserApprovalProcess.setApprovalUserType(approvalProcess.getApprovalUserType()); - fillUserApprovalProcess.setSort(i); - coreApplyFormFillUserApprovalProcessService.save(fillUserApprovalProcess); - // 查询审核流程人员信息 - List processUserList = coreApprovalProcessUserService.list(Wrappers.lambdaQuery(new CoreApprovalProcessUser()) - .eq(CoreApprovalProcessUser::getProcessId, approvalProcess.getId())); - for (CoreApprovalProcessUser processUser : processUserList) { - // 职工审核 - if (Objects.nonNull(processUser.getStaffId())) { - EduStaff staff = remoteStaffService.getStaff(processUser.getStaffId()).getData(); - // 保存具体人员的审核记录 - CoreApplyFormFillUserApprovalProcessRecord fillUserApprovalProcessRecord = new CoreApplyFormFillUserApprovalProcessRecord(); - fillUserApprovalProcessRecord.setSchoolId(applyForm.getSchoolId()); - fillUserApprovalProcessRecord.setApplyFormId(applyForm.getId()); - fillUserApprovalProcessRecord.setFillUserId(fillUser.getId()); - fillUserApprovalProcessRecord.setUserProcessId(fillUserApprovalProcess.getId()); - fillUserApprovalProcessRecord.setApprovalId(processUser.getStaffId()); - fillUserApprovalProcessRecord.setApprovalName(staff.getName()); - fillUserApprovalProcessRecord.setSort(i); - coreApplyFormFillUserApprovalProcessRecordService.save(fillUserApprovalProcessRecord); - // 发送审核信息 - if (i == 0) { - sendStaffNoticeDTO.setStaffWxId(staff.getWxId()); - sendStaffNoticeDTO.setStaffName(staff.getName()); - sendNoticeService.sendStaffNotice(sendStaffNoticeDTO, 1); - } - } else if (Objects.nonNull(processUser.getStaffRoleId())) { - // 角色审核 - // 审核人员信息 - List approvalUserList = new ArrayList<>(); - // 班主任 - if (ApprovalRoleTypeEnum.CLASS_TEACHER_TYPE.getType().equals(processUser.getStaffRoleId())) { - // 查询学生班主任 - approvalUserList = remoteTeacherService.listTeacherByDeptId(student.getClassId(), "3").getData(); - } else { - // 高校系主任/K12年级主任 - if (student.getSchoolId() == 10593) { - // 技师学院单独处理 - approvalUserList = remoteTeacherService.listTeacherByDeptId(student.getCampusId(), "1") - .getData(); - } else { - Dept dept = commonService.getDept(student.getSchoolId()); - // 学校性质 - if (ObjectUtil.equals(SchoolNatureEnum.UNI_TYPE.getValue(), - dept.getSchoolNature())) { - // 高校 - approvalUserList = remoteTeacherService.listTeacherByDeptId(student.getSectionId(), "5") - .getData(); - } else { - // K12 - approvalUserList = remoteTeacherService.listTeacherByDeptId(student.getGradeId(), "2") - .getData(); - } - } - } - if (CollUtil.isNotEmpty(approvalUserList)) { - for (EduStaff eduStaff : approvalUserList) { - // 保存具体人员的审核记录 - CoreApplyFormFillUserApprovalProcessRecord fillUserApprovalProcessRecord = new CoreApplyFormFillUserApprovalProcessRecord(); - fillUserApprovalProcessRecord.setSchoolId(applyForm.getSchoolId()); - fillUserApprovalProcessRecord.setApplyFormId(applyForm.getId()); - fillUserApprovalProcessRecord.setFillUserId(fillUser.getId()); - fillUserApprovalProcessRecord.setUserProcessId(fillUserApprovalProcess.getId()); - fillUserApprovalProcessRecord.setApprovalId(eduStaff.getId()); - fillUserApprovalProcessRecord.setApprovalName(eduStaff.getName()); - fillUserApprovalProcessRecord.setSort(i); - coreApplyFormFillUserApprovalProcessRecordService.save(fillUserApprovalProcessRecord); - - // 发送审核信息 - if (i == 0) { - sendStaffNoticeDTO.setStaffWxId(eduStaff.getWxId()); - sendStaffNoticeDTO.setStaffName(eduStaff.getName()); - sendNoticeService.sendStaffNotice(sendStaffNoticeDTO, 1); - } - } - } - } - } - } - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormApprovalProcessServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormApprovalProcessServiceImpl.java deleted file mode 100644 index 88b2cb1..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormApprovalProcessServiceImpl.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.yida.data.form.apply.service.impl; - -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.applyForm.CoreApprovalProcess; -import com.yida.data.common.core.entity.applyForm.CoreApprovalProcessUser; -import com.yida.data.customForm.vo.apply.ApplyFormProcessSelectVO; -import com.yida.data.form.apply.mapper.CoreApplyFormApprovalProcessMapper; -import com.yida.data.form.apply.service.CoreApplyFormApprovalProcessService; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormApprovalProcess; -import com.yida.data.form.apply.service.CoreApprovalProcessUserService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.stream.Collectors; - -/** - * 申请表单对应的审核流程 Service - * - * @author ZYJ - * @date 2023/11/21 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class CoreApplyFormApprovalProcessServiceImpl extends ServiceImpl - implements CoreApplyFormApprovalProcessService { - - private final CoreApprovalProcessUserService coreApprovalProcessUserService; - - @Override - public void saveApplyFormApprovalProcess(Long applyFormId, List processList) { - // 删除已存在的节点数据 - remove(Wrappers.lambdaQuery(new CoreApplyFormApprovalProcess()) - .eq(CoreApplyFormApprovalProcess::getApplyFormId, applyFormId)); - // 保存信息 - for (int i = 0; i < processList.size(); i++) { - CoreApplyFormApprovalProcess process = processList.get(i); - // 处理排序 - process.setSort(i); - save(process); - } - } - - @Override - public List listFormApprovalProcess(Long formId) { - List list = baseMapper.listFormApprovalProcess(formId); - // 处理审核人员信息 - list.forEach(vo -> { - List processUserList = coreApprovalProcessUserService.list(Wrappers.lambdaQuery(new CoreApprovalProcessUser()) - .eq(CoreApprovalProcessUser::getProcessId, vo.getApprovalProcessId())); - if (CollUtil.isNotEmpty(processUserList)) { - String names = processUserList.stream().map(CoreApprovalProcessUser::getName).collect(Collectors.joining("、")); - vo.setApprovalUserName(names); - } - }); - return list; - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormFillUserApprovalProcessRecordServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormFillUserApprovalProcessRecordServiceImpl.java deleted file mode 100644 index 1dca1ad..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormFillUserApprovalProcessRecordServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.form.apply.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.form.apply.mapper.CoreApplyFormFillUserApprovalProcessRecordMapper; -import com.yida.data.form.apply.service.CoreApplyFormFillUserApprovalProcessRecordService; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormFillUserApprovalProcessRecord; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 填报用户表单审核流程记录表(具体的审核信息) Service - * - * @author ZYJ - * @date 2023/11/24 - */ -@Slf4j -@Service -@Transactional(rollbackFor = Exception.class) -public class CoreApplyFormFillUserApprovalProcessRecordServiceImpl - extends ServiceImpl - implements CoreApplyFormFillUserApprovalProcessRecordService { - - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormFillUserApprovalProcessServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormFillUserApprovalProcessServiceImpl.java deleted file mode 100644 index 45d4dd4..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormFillUserApprovalProcessServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.form.apply.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.form.apply.mapper.CoreApplyFormFillUserApprovalProcessMapper; -import com.yida.data.form.apply.service.CoreApplyFormFillUserApprovalProcessService; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormFillUserApprovalProcess; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 表单填报用户对应审核流程表 Service - * - * @author ZYJ - * @date 2023/11/24 - */ -@Slf4j -@Service -@Transactional(rollbackFor = Exception.class) -public class CoreApplyFormFillUserApprovalProcessServiceImpl - extends ServiceImpl - implements CoreApplyFormFillUserApprovalProcessService { - - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormFillUserServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormFillUserServiceImpl.java deleted file mode 100644 index ec06bb9..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormFillUserServiceImpl.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.yida.data.form.apply.service.impl; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.customForm.dto.apply.ApplyFormFillSelectPageDTO; -import com.yida.data.customForm.vo.apply.ApplyFormFillSelectPageVO; -import com.yida.data.customForm.vo.apply.ApplyFormSelectPageVO; -import com.yida.data.form.apply.mapper.CoreApplyFormFillUserMapper; -import com.yida.data.form.apply.service.CoreApplyFormFillUserService; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormFillUser; -import com.yida.data.customForm.dto.apply.H5ApplyFormSelectPageDTO; -import com.yida.data.customForm.vo.apply.MyApplyFormPageVO; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 申请表单填报用户信息表 Service - * - * @author ZYJ - * @date 2023/11/22 - */ -@Slf4j -@Service -@Transactional(rollbackFor = Exception.class) -public class CoreApplyFormFillUserServiceImpl extends ServiceImpl - implements CoreApplyFormFillUserService { - - @Override - public IPage selectUserFillForm(H5ApplyFormSelectPageDTO dto, List userIds) { - return baseMapper.selectUserFillForm(dto.toPage(), dto, userIds); - } - - @Override - public IPage listApplyFormFillPage(ApplyFormFillSelectPageDTO dto) { - // TODO: 2023/12/7 此处暂时只有学校角色 - dto.setDeptId(FebsUtil.getDeptId()); - IPage page = baseMapper.listApplyFormFillPage(dto.toPage(), dto); - page.getRecords().forEach(vo -> { - // 处理部门数据 - }); - return page; - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormItemChildrenServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormItemChildrenServiceImpl.java deleted file mode 100644 index 35028a5..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormItemChildrenServiceImpl.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.yida.data.form.apply.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.form.apply.service.CoreApplyFormItemChildrenService; -import com.yida.data.form.apply.mapper.CoreApplyFormItemChildrenMapper; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormItemChildren; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 申请类型表单组件选项 Service - * - * @author ZYJ - * @date 2023/11/14 19:17 - */ -@Slf4j -@Service -@Transactional(rollbackFor = Exception.class) -public class CoreApplyFormItemChildrenServiceImpl extends ServiceImpl - implements CoreApplyFormItemChildrenService { - -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormItemServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormItemServiceImpl.java deleted file mode 100644 index 14b6615..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormItemServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.form.apply.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.form.apply.mapper.CoreApplyFormItemMapper; -import com.yida.data.form.apply.service.CoreApplyFormItemService; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormItem; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 申请类型表单组件 Service - * - * @author ZYJ - * @date 2023/11/14 19:17 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class CoreApplyFormItemServiceImpl extends ServiceImpl - implements CoreApplyFormItemService { - -} \ No newline at end of file diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormServiceImpl.java deleted file mode 100644 index 17ab26a..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApplyFormServiceImpl.java +++ /dev/null @@ -1,188 +0,0 @@ -package com.yida.data.form.apply.service.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.applyForm.*; -import com.yida.data.common.core.enums.EnableStatusEnum; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.form.apply.service.*; -import com.yida.data.form.apply.mapper.CoreApplyFormMapper; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.customForm.dto.apply.ApplyFormSelectPageDTO; -import com.yida.data.customForm.vo.apply.ApplyFormInfoVO; -import com.yida.data.customForm.vo.apply.ApplyFormSelectPageVO; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Objects; - -/** - * 申请类型表单 Service - * - * @author ZYJ - * @date 2023/11/14 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class CoreApplyFormServiceImpl extends ServiceImpl - implements CoreApplyFormService { - - private final CoreApplyFormItemService coreApplyFormItemService; - private final CoreApplyFormFillUserService coreApplyFormFillUserService; - private final CoreApplyFormItemChildrenService coreApplyFormItemChildrenService; - private final CoreApplyFormApprovalProcessService coreApplyFormApprovalProcessService; - - public static final String BASE_APPLY_TABLE_NAME = "core_apply_form_data_z_"; - - @Override - public IPage listApplyFormPage(ApplyFormSelectPageDTO dto) { - // TODO: 2023/11/14 此处暂时只有学校角色 - dto.setDeptId(FebsUtil.getDeptId()); - IPage page = baseMapper.listApplyFormPage(dto.toPage(), dto); - page.getRecords().forEach(form -> - form.setSubmitNum( - coreApplyFormFillUserService.count(Wrappers.lambdaQuery(new CoreApplyFormFillUser()) - .eq(CoreApplyFormFillUser::getApplyFormId, form.getId())) - )); - return page; - } - - @Override - public ApplyFormInfoVO getApplyFormInfo(Long id) { - // 返回数据 - ApplyFormInfoVO vo = new ApplyFormInfoVO(); - CoreApplyForm applyForm = getById(id); - if (Objects.nonNull(applyForm)) { - BeanUtils.copyProperties(applyForm, vo); - // 查询组件信息 - List itemList = coreApplyFormItemService.list(Wrappers.query().lambda() - .eq(CoreApplyFormItem::getFormId, id)); - itemList.forEach(item -> { - // 查询组件选项信息 - List childrenList = - coreApplyFormItemChildrenService.list(Wrappers.query().lambda() - .eq(CoreApplyFormItemChildren::getFormItemId, item.getId())); - item.setChildrenList(childrenList); - }); - vo.setItemList(itemList); - } - return vo; - } - - @Override - public void deleteApplyForm(Long id) { - CoreApplyForm applyForm = getById(id); - // 判断是否有填报数据 - long count = coreApplyFormFillUserService.count(Wrappers.lambdaQuery(new CoreApplyFormFillUser()) - .eq(CoreApplyFormFillUser::getApplyFormId, id)); - if (count > 0) { - throw new FebsException("当前表单已有填报数据,无法删除!"); - } - // 删除申请表信息 - removeById(id); - // 删除数据表信息 - String dropTableSql = "DROP TABLE IF EXISTS `" + applyForm.getTableName() + "`; \n"; - baseMapper.initSqlReturnVoid(dropTableSql); - // 删除附表信息 - coreApplyFormItemService.remove(Wrappers.lambdaQuery(new CoreApplyFormItem()) - .eq(CoreApplyFormItem::getFormId, id)); - coreApplyFormItemChildrenService.remove(Wrappers.lambdaQuery(new CoreApplyFormItemChildren()) - .eq(CoreApplyFormItemChildren::getFormId, id)); - } - - @Override - public Long saveApplyForm(CoreApplyForm applyForm) { - String tableName = BASE_APPLY_TABLE_NAME + System.currentTimeMillis(); - // 编辑 - if (Objects.nonNull(applyForm.getId())) { - // 判断是否有填报数据 - long count = coreApplyFormFillUserService.count(Wrappers.lambdaQuery(new CoreApplyFormFillUser()) - .eq(CoreApplyFormFillUser::getApplyFormId, applyForm.getId())); - if (count > 0) { - throw new FebsException("当前表单已有填报数据,无法删除!"); - } - // 删除附表信息 - coreApplyFormItemService.remove(Wrappers.lambdaQuery(new CoreApplyFormItem()) - .eq(CoreApplyFormItem::getFormId, applyForm.getId())); - coreApplyFormItemChildrenService.remove(Wrappers.lambdaQuery(new CoreApplyFormItemChildren()) - .eq(CoreApplyFormItemChildren::getFormId, applyForm.getId())); - // 删除数据表信息 - String dropTableSql = "DROP TABLE IF EXISTS `" + applyForm.getTableName() + "`; \n"; - baseMapper.initSqlReturnVoid(dropTableSql); - applyForm.setTableName(tableName); - updateById(applyForm); - } else { - // TODO: 2023/11/15 此处暂时只有学校角色 - applyForm.setSchoolId(FebsUtil.getDeptId()); - // 对应表名称 - applyForm.setTableName(tableName); - save(applyForm); - } - // 保存审核流程节点信息 - if (CollUtil.isNotEmpty(applyForm.getProcessList())) { - coreApplyFormApprovalProcessService.saveApplyFormApprovalProcess(applyForm.getId(), applyForm.getProcessList()); - } - // 动态生成填报表 - StringBuilder stringBuilder = new StringBuilder(); - String createTableSql = "CREATE TABLE " + applyForm.getTableName() + "( \n" + "`id` bigint(20) NOT NULL AUTO_INCREMENT,\n"; - stringBuilder.append(createTableSql); - // 处理组件数据 - applyForm.getItemList().forEach(item -> { - String typeValue; - if ("moreInput".equals(item.getItemType())) { - typeValue = "text"; - } else { - typeValue = "varchar(255)"; - } - // 添加选项信息 - String sql = "`" + item.getItemFiledName() + "` " + typeValue + " DEFAULT NULL COMMENT '" + item.getItemTitle() + "'"; - stringBuilder.append(sql).append(","); - // 保存选项信息 - item.setId(null); - item.setFormId(applyForm.getId()); - coreApplyFormItemService.save(item); - - item.getChildrenList().forEach(itemChildren -> { - itemChildren.setId(null); - itemChildren.setFormItemId(item.getId()); - itemChildren.setFormId(applyForm.getId()); - coreApplyFormItemChildrenService.save(itemChildren); - }); - }); - // 创建数据表sql - String initSql = stringBuilder + - "`user_id` bigint(20) DEFAULT NULL COMMENT '学生id',\n" + - "`create_date` datetime DEFAULT NULL COMMENT '创建时间',\n" + - "`examine_status` tinyint(1) DEFAULT '0' COMMENT '审核状态:默认0未审核,1已通过,2已拒绝,3审核中',\n" + - "PRIMARY KEY (`id`)\n" + - ") ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8"; - - baseMapper.initSqlReturnVoid(initSql); - return applyForm.getId(); - } - - @Override - public void updateEnableStatus(Long formId, Integer enableStatus) { - if (EnableStatusEnum.ENABLE_STATUS.getStatus().equals(enableStatus)) { - // 判断当前表单是否有流程信息 - long count = coreApplyFormApprovalProcessService.count(Wrappers.lambdaQuery(new CoreApplyFormApprovalProcess()) - .eq(CoreApplyFormApprovalProcess::getApplyFormId, formId)); - if (count == 0) { - throw new FebsException("当前表单暂无审核流程,请添加审核流程后再启用!"); - } - } - CoreApplyForm applyForm = new CoreApplyForm(); - applyForm.setId(formId); - applyForm.setStatus(enableStatus); - updateById(applyForm); - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApprovalProcessServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApprovalProcessServiceImpl.java deleted file mode 100644 index 7503dc8..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApprovalProcessServiceImpl.java +++ /dev/null @@ -1,130 +0,0 @@ -package com.yida.data.form.apply.service.impl; - -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.applyForm.CoreApplyFormApprovalProcess; -import com.yida.data.form.apply.mapper.CoreApprovalProcessMapper; -import com.yida.data.form.apply.service.CoreApplyFormApprovalProcessService; -import com.yida.data.form.apply.service.CoreApprovalProcessService; -import com.yida.data.form.apply.service.CoreApprovalProcessUserService; -import com.yida.data.common.core.entity.applyForm.CoreApprovalProcess; -import com.yida.data.common.core.entity.applyForm.CoreApprovalProcessUser; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.customForm.dto.apply.ApprovalProcessSelectPageDTO; -import com.yida.data.customForm.vo.apply.ApprovalProcessInfoVO; -import com.yida.data.customForm.vo.apply.ApprovalProcessSelectPageVO; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 审核流程表 Service - * - * @author ZYJ - * @date 2023/11/21 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class CoreApprovalProcessServiceImpl extends ServiceImpl - implements CoreApprovalProcessService { - - private final CoreApprovalProcessUserService coreApprovalProcessUserService; - private final CoreApplyFormApprovalProcessService coreApplyFormApprovalProcessService; - - @Override - public IPage listApprovalProcessPage(ApprovalProcessSelectPageDTO dto) { - // TODO: 2023/11/21 此处暂时只有学校角色 - dto.setDeptId(FebsUtil.getDeptId()); - IPage page = baseMapper.listApprovalProcessPage(dto.toPage(), dto); - // TODO: 2023/11/21 后续查询关键字段 - if (CollUtil.isNotEmpty(page.getRecords())) { - page.getRecords().forEach(process -> { - // 查询审核人员名称 - List processUserList = coreApprovalProcessUserService.list(Wrappers.lambdaQuery(new CoreApprovalProcessUser()) - .eq(CoreApprovalProcessUser::getProcessId, process.getId())); - if (CollUtil.isNotEmpty(processUserList)) { - String names = processUserList.stream().map(CoreApprovalProcessUser::getName).collect(Collectors.joining("、")); - process.setApprovalUserName(names); - } - }); - } - return page; - } - - @Override - public ApprovalProcessInfoVO getApprovalProcessInfo(Long id) { - // 返回数据 - ApprovalProcessInfoVO vo = new ApprovalProcessInfoVO(); - CoreApprovalProcess process = getById(id); - if (Objects.nonNull(process)) { - BeanUtils.copyProperties(process, vo); - // 查询人员信息 - List list = coreApprovalProcessUserService.list(Wrappers.lambdaQuery(new CoreApprovalProcessUser()) - .eq(CoreApprovalProcessUser::getProcessId, id)); - vo.setUserList(list); - } - return vo; - } - - @Override - public void deleteApprovalProcess(Long id) { - removeById(id); - // 删除关联用户 - coreApprovalProcessUserService.remove(Wrappers.lambdaQuery(new CoreApprovalProcessUser()) - .eq(CoreApprovalProcessUser::getProcessId, id)); - // TODO: 2023/11/21 删除申请表单对应的审核流程信息 (此处需要判断能否删除) - } - - @Override - public void saveApprovalProcess(CoreApprovalProcess process) { - // TODO: 2023/11/21 需要判断能否修改 - if (Objects.nonNull(process.getId())) { - // 删除用户信息 - coreApprovalProcessUserService.remove(Wrappers.lambdaQuery(new CoreApprovalProcessUser()) - .eq(CoreApprovalProcessUser::getProcessId, process.getId())); - } else { - process.setDeptId(FebsUtil.getDeptId()); - } - saveOrUpdate(process); - // 处理用户信息 - if (CollUtil.isNotEmpty(process.getUserList())) { - for (CoreApprovalProcessUser coreApprovalProcessUser : process.getUserList()) { - coreApprovalProcessUser.setId(null); - coreApprovalProcessUser.setProcessId(process.getId()); - coreApprovalProcessUserService.save(coreApprovalProcessUser); - } - } - } - - @Override - public List listApprovalProcess(Long formId) { - // 查询表单已有的流程 - List list = coreApplyFormApprovalProcessService.list(Wrappers.lambdaQuery(new CoreApplyFormApprovalProcess()) - .eq(CoreApplyFormApprovalProcess::getApplyFormId, formId)); - List processList = list(Wrappers.lambdaQuery(new CoreApprovalProcess()) - .notIn(CollUtil.isNotEmpty(list), CoreApprovalProcess::getId, list.stream() - .map(CoreApplyFormApprovalProcess::getApprovalProcessId).collect(Collectors.toList()))); - if (CollUtil.isNotEmpty(processList)) { - processList.forEach(process -> { - // 查询审核人员名称 - List processUserList = coreApprovalProcessUserService.list(Wrappers.lambdaQuery(new CoreApprovalProcessUser()) - .eq(CoreApprovalProcessUser::getProcessId, process.getId())); - if (CollUtil.isNotEmpty(processUserList)) { - String names = processUserList.stream().map(CoreApprovalProcessUser::getName).collect(Collectors.joining("、")); - process.setApprovalUserName(names); - } - }); - } - return processList; - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApprovalProcessUserServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApprovalProcessUserServiceImpl.java deleted file mode 100644 index 7d9a19d..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApprovalProcessUserServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.form.apply.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.form.apply.mapper.CoreApprovalProcessUserMapper; -import com.yida.data.form.apply.service.CoreApprovalProcessUserService; -import com.yida.data.common.core.entity.applyForm.CoreApprovalProcessUser; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 审核流程人员配置表 Service - * - * @author ZYJ - * @date 2023/11/21 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class CoreApprovalProcessUserServiceImpl extends ServiceImpl - implements CoreApprovalProcessUserService { - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApprovalRemindServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApprovalRemindServiceImpl.java deleted file mode 100644 index 304211a..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreApprovalRemindServiceImpl.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.yida.data.form.apply.service.impl; - -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.customForm.dto.apply.ApprovalRemindDTO; -import com.yida.data.customForm.vo.apply.ApprovalProcessInfoVO; -import com.yida.data.customForm.vo.apply.ApprovalRemindInfoVO; -import com.yida.data.form.apply.mapper.CoreApprovalRemindMapper; -import com.yida.data.form.apply.service.CoreApprovalRemindService; -import com.yida.data.common.core.entity.applyForm.CoreApprovalRemind; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Objects; - -/** - * 审核提醒策略表 Service - * - * @author ZYJ - * @date 2023/11/23 - */ -@Slf4j -@Service -@Transactional(rollbackFor = Exception.class) -public class CoreApprovalRemindServiceImpl extends ServiceImpl - implements CoreApprovalRemindService { - - @Override - public ApprovalRemindInfoVO getApprovalRemindInfo() { - // 返回信息 - ApprovalRemindInfoVO vo = new ApprovalRemindInfoVO(); - CoreApprovalRemind approvalRemind = getOne(Wrappers.lambdaQuery(new CoreApprovalRemind()) - .eq(CoreApprovalRemind::getDeptId, FebsUtil.getDeptId())); - if (Objects.nonNull(approvalRemind)) { - BeanUtils.copyProperties(approvalRemind, vo); - } - return vo; - } - - @Override - public void saveApprovalRemind(ApprovalRemindDTO dto) { - CoreApprovalRemind approvalRemind = getOne(Wrappers.lambdaQuery(new CoreApprovalRemind()) - .eq(CoreApprovalRemind::getDeptId, FebsUtil.getDeptId())); - if (Objects.isNull(approvalRemind)) { - approvalRemind = new CoreApprovalRemind(); - approvalRemind.setDeptId(FebsUtil.getDeptId()); - } - approvalRemind.setApprovalRemindStatus(dto.getApprovalRemindStatus()); - approvalRemind.setApprovalResultStatus(dto.getApprovalResultStatus()); - saveOrUpdate(approvalRemind); - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreOfficialSealServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreOfficialSealServiceImpl.java deleted file mode 100644 index fa0f3af..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/CoreOfficialSealServiceImpl.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.yida.data.form.apply.service.impl; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.form.apply.mapper.CoreOfficialSealMapper; -import com.yida.data.form.apply.service.CoreOfficialSealService; -import com.yida.data.common.core.entity.applyForm.CoreOfficialSeal; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.customForm.dto.apply.OfficialSealSaveDTO; -import com.yida.data.customForm.dto.apply.OfficialSealSelectPageDTO; -import com.yida.data.customForm.vo.apply.OfficialSealInfoVO; -import com.yida.data.customForm.vo.apply.OfficialSealSelectPageVO; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Objects; - -/** - * 学校公章 Service - * - * @author ZYJ - * @date 2023/11/17 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class CoreOfficialSealServiceImpl extends ServiceImpl - implements CoreOfficialSealService { - - @Override - public IPage listOfficialSealPage(OfficialSealSelectPageDTO dto) { - // TODO: 2023/11/17 此处暂时只有学校角色 - dto.setDeptId(FebsUtil.getDeptId()); - // TODO: 2023/11/17 需要查询对应的审核流程 - return baseMapper.listOfficialSealPage(dto.toPage(), dto); - } - - @Override - public OfficialSealInfoVO getOfficialSealInfo(Long id) { - CoreOfficialSeal officialSeal = getById(id); - // 返回数据 - OfficialSealInfoVO vo = new OfficialSealInfoVO(); - if (Objects.nonNull(officialSeal)) { - BeanUtils.copyProperties(officialSeal, vo); - } - return vo; - } - - @Override - public void deleteOfficialSeal(Long id) { - // TODO: 2023/11/17 需要判断能否删除 - removeById(id); - } - - @Override - public void saveOfficialSeal(OfficialSealSaveDTO dto) { - // TODO: 2023/11/17 此处暂时只有学校角色 - CoreOfficialSeal coreOfficialSeal = new CoreOfficialSeal(); - BeanUtils.copyProperties(dto, coreOfficialSeal); - coreOfficialSeal.setDeptId(FebsUtil.getDeptId()); - saveOrUpdate(coreOfficialSeal); - } - - @Override - public void updateEnableStatus(Long id, Integer enableStatus) { - CoreOfficialSeal coreOfficialSeal = new CoreOfficialSeal(); - coreOfficialSeal.setId(id); - coreOfficialSeal.setStatus(enableStatus); - updateById(coreOfficialSeal); - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/SendNoticeServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/SendNoticeServiceImpl.java deleted file mode 100644 index 89bda37..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/apply/service/impl/SendNoticeServiceImpl.java +++ /dev/null @@ -1,168 +0,0 @@ -package com.yida.data.form.apply.service.impl; - -import cn.hutool.core.date.LocalDateTimeUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.entity.applyForm.CoreApprovalRemind; -import com.yida.data.common.core.entity.constant.AppConstant; -import com.yida.data.common.core.entity.constant.NoticeTypeConstant; -import com.yida.data.common.core.entity.notice.qywx.TemplateCardStaffNotice; -import com.yida.data.common.core.entity.notice.qywx.TextSchoolNotice; -import com.yida.data.common.core.entity.notice.qywx.inside.TemplateCardNotice; -import com.yida.data.common.core.entity.notice.qywx.inside.Text; -import com.yida.data.common.core.entity.notice.qywx.inside.templateCard.CardAction; -import com.yida.data.common.core.entity.notice.qywx.inside.templateCard.HorizontalContent; -import com.yida.data.common.core.entity.notice.qywx.inside.templateCard.Jump; -import com.yida.data.common.core.entity.notice.qywx.inside.templateCard.MainTitle; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.EduApp; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.enums.EnableStatusEnum; -import com.yida.data.common.core.enums.leave.ApprovalResultEnum; -import com.yida.data.common.core.utils.WxUtil; -import com.yida.data.common.service.CommonService; -import com.yida.data.customForm.dto.apply.SendParentNoticeDTO; -import com.yida.data.customForm.dto.apply.SendStaffNoticeDTO; -import com.yida.data.form.apply.service.CoreApprovalRemindService; -import com.yida.data.form.apply.service.SendNoticeService; -import com.yida.data.user.feign.RemoteStudentService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Objects; - -/** - * 发送消息 Service - * - * @author ZYJ - * @date 2023/11/30 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class SendNoticeServiceImpl implements SendNoticeService { - - private final CoreApprovalRemindService coreApprovalRemindService; - - private final RemoteStudentService remoteStudentService; - - private final WxUtil wxUtil; - private final CommonService commonService; - - @Value("${febs.parentFormNoticeUrl}") - private String parentFormNoticeUrl; - - @Value("${febs.teacherFormNoticeUrl}") - private String teacherFormNoticeUrl; - - @Override - public void sendStaffNotice(SendStaffNoticeDTO dto, Integer isFirst) { - // 需要判断是否要推送消息 - CoreApprovalRemind approvalRemind = coreApprovalRemindService.getOne(Wrappers.lambdaQuery(new CoreApprovalRemind()) - .eq(CoreApprovalRemind::getDeptId, dto.getSchoolId())); - if (Objects.nonNull(approvalRemind) - && EnableStatusEnum.ENABLE_STATUS.getStatus().equals(approvalRemind.getApprovalRemindStatus())) { - // 企业微信推送消息 - if (dto.getSchoolType().contains(Dept.TYPE_QYWX)) { - // 查询推送消息的应用信息 - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, - dto.getSchoolId()); - String accessToken = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); - // 跳转职工审核页面 - String url = String - .format("%s?corpId=%s&schoolId=%s&userType=%s&formId=%s&fillUserId=%s&userId=%s¤tUserStatus=%s", teacherFormNoticeUrl, - app.getWxCorpId(), - dto.getSchoolId(), 0, dto.getFormId(), dto.getFillUserId(), dto.getUserId(), 0); - log.error("申请表单职工url: {}", url); - // 模板卡片消息--文本通知型 - TemplateCardNotice templateCardNotice = new TemplateCardNotice(); - templateCardNotice.setCard_type(NoticeTypeConstant.TEMPLATE_NOTICE_TYPE_TEXT); - templateCardNotice.setMain_title(MainTitle.builder().title("学生申请提醒").build()); - - // 是否为初次审核 - if (isFirst == 1) { - // 初次审核 - templateCardNotice - .setSub_title_text(String.format("尊敬的%s老师,%S同学于%S提交的申请信息,等待您的审批!", - dto.getStaffName(), dto.getUserName(), - LocalDateTimeUtil.format(dto.getCreateTime(), "yyyy-MM-dd HH:mm:ss"))); - } else { - // 非初次审核 - templateCardNotice - .setSub_title_text(String.format("尊敬的%s老师,你好!%S老师【%S】已同意%S同学于%S提交的申请信息,等待您的审批!", - dto.getStaffName(), dto.getPreStaffName(), dto.getPreStaffRoleName(), dto.getUserName(), - LocalDateTimeUtil.format(dto.getCreateTime(), "yyyy-MM-dd HH:mm:ss"))); - } - - List horizontalContentList = new ArrayList<>(); - horizontalContentList - .add(HorizontalContent.builder().keyname("班级").value(dto.getUserDeptName()).build()); - horizontalContentList - .add(HorizontalContent.builder().keyname("学生").value(dto.getUserName()).build()); - - horizontalContentList.add(HorizontalContent.builder().keyname("申请时间") - .value(LocalDateTimeUtil.format(dto.getCreateTime(), "yyyy-MM-dd HH:mm")).build()); - templateCardNotice.setHorizontal_content_list(horizontalContentList); - templateCardNotice.setCard_action(CardAction.builder().type(1).url(url).build()); - templateCardNotice - .setJump_list(Collections.singletonList(Jump.builder().type(1).title("点击查看详情并处理").url(url).build())); - - TemplateCardStaffNotice templateCardStaffNotice = new TemplateCardStaffNotice(); - templateCardStaffNotice.setTouser(dto.getStaffWxId()); - templateCardStaffNotice.setAgentid(app.getWxAgentId()); - templateCardStaffNotice.setTemplate_card(templateCardNotice); - // 发送企业微信通知 - wxUtil.pushStaffNotice(accessToken, templateCardStaffNotice); - } - } - } - - @Override - public void sendParentNotice(SendParentNoticeDTO dto) { - // 学校信息 - Dept school = dto.getSchool(); - // 学生信息 - EduStudent student = dto.getStudent(); - - // 需要判断是否要推送消息 - CoreApprovalRemind approvalRemind = coreApprovalRemindService.getOne(Wrappers.lambdaQuery(new CoreApprovalRemind()) - .eq(CoreApprovalRemind::getDeptId, school.getDeptId())); - if (Objects.nonNull(approvalRemind) - && EnableStatusEnum.ENABLE_STATUS.getStatus().equals(approvalRemind.getApprovalResultStatus())) { - // 企业微信推送消息 - if (school.getSchoolType().contains(Dept.TYPE_QYWX)) { - TextSchoolNotice textSchoolNotice = new TextSchoolNotice(); - // 查询推送消息的应用信息 - EduApp appByCodeAndSchool = commonService.getAppByCodeAndSchool(AppConstant.INDEX_PARENT, null, school.getDeptId()); - // 查询家长id集合 - List parentId = remoteStudentService.findParentWxId(Collections.singletonList(student.getId())).getData(); - Text text = new Text(); - textSchoolNotice.setText(text); - textSchoolNotice.setAgentid(appByCodeAndSchool.getWxAgentId()); - // 跳转学生填报详情页面 - String url = String - .format("%s?corpId=%s&schoolId=%s&userType=%s&formId=%s&fillUserId=%s&userId=%s", parentFormNoticeUrl, - appByCodeAndSchool.getWxCorpId(), - school.getDeptId(), 1, dto.getFormId(), dto.getFillUserId(), dto.getStudent().getId()); - - String msg = ObjectUtil.equals(ApprovalResultEnum.AUDIT_PASS.getResult(), dto.getExamineStatus()) ? "已通过" : "未通过"; - text.setContent( - "" + student.getStuName() + "同学于" + - LocalDateTimeUtil.format(dto.getCreateTime(), "yyyy-MM-dd HH:mm:ss") - + "的申请" + msg + ",点击可查看详情" + ""); - textSchoolNotice.setTo_parent_userid(parentId); - // 发送信息 - String accessToken = wxUtil.getAccessToken(appByCodeAndSchool.getWxCorpId(), appByCodeAndSchool.getWxSecret()); - wxUtil.pushSchoolNotice(accessToken, textSchoolNotice); - } - - } - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormAuthController.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormAuthController.java deleted file mode 100644 index 34f9e7f..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormAuthController.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.yida.data.form.customForm.controller; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.customform.CoreCustomFormAuth; -import com.yida.data.form.customForm.service.CoreCustomFormAuthService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - - -/** - * 表单对应管理员权限表 Controller - * - * @author ccl - * @date 2021-11-05 15:41:13 - */ -@Api(tags = "后台--表单权限") -@Slf4j -@Validated -@RestController -@RequestMapping("coreCustomFormAuth") -@RequiredArgsConstructor -public class CoreCustomFormAuthController { - - private final CoreCustomFormAuthService coreCustomFormAuthService; - - @ApiOperation("新增或修改表单基本权限") - @PostMapping("saveOrUpdateFormAuth") - public ResultBean saveOrUpdateFormAuth (@RequestBody CoreCustomFormAuth formAuth){ - coreCustomFormAuthService.saveOrUpdate(formAuth); - return ResultBean.buildSuccess(); - } - - @ApiOperation("批量删除表单基本权限") - @PostMapping("delFormAuth") - public ResultBean delFormAuth (@RequestBody List authIds){ - coreCustomFormAuthService.removeByIds(authIds); - return ResultBean.buildSuccess(); - } - - @ApiOperation("查询权限列表") - @GetMapping("findFormAuthList") - public ResultBean> findFormAuthList (){ - - return ResultBean.buildSuccess(coreCustomFormAuthService.list()); - } - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormController.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormController.java deleted file mode 100644 index 78ec5de..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormController.java +++ /dev/null @@ -1,123 +0,0 @@ -package com.yida.data.form.customForm.controller; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.customform.CoreCustomForm; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.form.customForm.service.CoreCustomFormItemChildrenService; -import com.yida.data.form.customForm.service.CoreCustomFormItemsService; -import com.yida.data.form.customForm.service.CoreCustomFormService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.extern.slf4j.Slf4j; -import lombok.RequiredArgsConstructor; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - - - -/** - * 自定义表单 Controller - * - * @author wjm - * @date 2021-08-11 20:55:19 - */ -@Slf4j -@Validated -@RestController -@RequestMapping("/coreCustomForm") -@RequiredArgsConstructor -@Api(tags = "后台--表单管理") -public class CoreCustomFormController { - - private final CoreCustomFormService coreCustomFormService; - private final CoreCustomFormItemsService coreCustomFormItemsService; - private final CoreCustomFormItemChildrenService coreCustomFormItemChildrenService; - - - /*** - * @Author jianMingWang - * @Description //查询所有表单 - * @Date 14:33 2021/8/9 - * @Param [schoolId] - * @return com.liuliu.data.custom.entity.ResultBean> - **/ - @ApiOperation("表单分页查询") - @GetMapping("/findList") - public ResultBean> fondType(@ApiParam(value = "学校ID", required = true, type = "Long") Long schoolId, - @ApiParam(value = "表单类型ID", required = true, type = "Long") Long formTypeId, - @ApiParam(value = "是否为模板:1=是,0=否", required = false, type = "String") @RequestParam(value = "model", required = false) String model, - @ApiParam(value = "当前页码", required = false, defaultValue = "1", type = "Integer") @RequestParam(defaultValue = "1") Integer pageNum, - @ApiParam(value = "页面大小", required = false, defaultValue = "10", type = "Integer") @RequestParam(defaultValue = "10") Integer pageSize) { - - IPage customFormPageList = coreCustomFormService.findCustomFormPageList(new Page(pageNum, pageSize), - schoolId, formTypeId, model, FebsUtil.getCurrentUser()); - return ResultBean.buildSuccess(customFormPageList); - - } - - - /*** - * @Author jianMingWang - * @Description //获取当前表单 - * @Date 11:22 2021/8/10 - * @Param [schoolId, formTypeId] - * @return com.liuliu.data.custom.entity.ResultBean - **/ - @ApiOperation("表单详情") - @GetMapping("/findById") - public ResultBean findById(@ApiParam(value = "主键ID", required = true, type = "Long") Long id) { - - return ResultBean.buildSuccess(coreCustomFormService.findById(id)); - - } - - - /*** - * @Author jianMingWang - * @Description //删除表单 - * @Date 14:29 2021/8/9 - * @Param [coreCustomForm] - * @return com.liuliu.data.custom.entity.ResultBean - **/ - @ApiOperation("删除表单") - @GetMapping("/delForm") - public ResultBean delForm(@ApiParam(value = "主键ID", required = true, type = "Long") Long formId) { - - coreCustomFormService.delForm(formId); - //删除表单对应附表 - return ResultBean.buildSuccess(); - } - - /*** - * @Author jianMingWang - * @Description 创建、编辑表单 - * @Date 14:29 2021/8/9 - * @Param [coreCustomForm] - * @return com.liuliu.data.custom.entity.ResultBean - **/ - @ApiOperation("创建表单") - @PostMapping("/createForm") - public ResultBean createForm(@RequestBody CoreCustomForm dto) throws Exception { - - Integer state = coreCustomFormService.saveForm(dto); - if (state==1){ - return ResultBean.buildError("已发布的表不能修改"); - } - return ResultBean.buildSuccess(); - } - - @ApiOperation("表单发布") - @GetMapping("/publishForm") - public ResultBean publishForm(@RequestParam Long formId,@ApiParam("1为发布,2为取消发布")@RequestParam Integer status) { - - CoreCustomForm byId = coreCustomFormService.getById(formId); - byId.setStatus(status); - coreCustomFormService.publishForm(byId); - return ResultBean.buildSuccess(); - } - - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormDataController.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormDataController.java deleted file mode 100644 index 17a5ce0..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormDataController.java +++ /dev/null @@ -1,154 +0,0 @@ -package com.yida.data.form.customForm.controller; - -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.customform.*; -import com.yida.data.customForm.dto.RemindAgainDTO; -import com.yida.data.form.customForm.entity.FormDataReturn; -import com.yida.data.form.customForm.service.CoreCustomFormDataService; -import com.yida.data.form.customForm.service.CoreCustomFormItemChildrenService; -import com.yida.data.form.customForm.service.CoreCustomFormItemsService; -import com.yida.data.form.customForm.service.CoreCustomFormService; -import com.yida.data.customForm.vo.CommitUserVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * @ClassName CoreCustomFormDataController - * @Author jianMingWang - * @Date 2021/8/12 16:54 - * @Version 1.0 - **/ -@Slf4j -@Validated -@RestController -@RequestMapping("/coreCustomFormData") -@RequiredArgsConstructor -@Api(tags = "后台--表单数据相关") -public class CoreCustomFormDataController { - - @Autowired - private CoreCustomFormDataService coreCustomFormDataService; - @Autowired - private CoreCustomFormService coreCustomFormService; - @Autowired - private CoreCustomFormItemsService coreCustomFormItemsService; - @Autowired - private CoreCustomFormItemChildrenService coreCustomFormItemChildrenService; - - - /*** - * @Author jianMingWang - * @Description //列表分页查看当前表单数据 - * @Date 17:33 2021/9/16 - * @Param [] - * @return com.yida.data.common.core.common.ResultBean - **/ - @ApiOperation("列表分页查询当前表单数据") - @GetMapping("/findSubmitFromDataListByFormId") - public ResultBean findSubmitFromDataListByFormId(@ApiParam(required = true, value = "表单主键ID") @RequestParam Integer formId, - @ApiParam(required = true, value = "每页条数") @RequestParam(required = true, defaultValue = "10") Integer pageSize, - @ApiParam(required = true, value = "页码") @RequestParam(required = true, defaultValue = "1") Integer pageNo) { - - return ResultBean.buildSuccess(coreCustomFormDataService.findList(formId, pageSize, pageNo)); - - } - - /*** - * @Author jianMingWang - * @Description //导出excel数据 - * @Date 16:40 2021/9/17 - * @return com.yida.data.common.core.common.ResultBean - **/ - @GetMapping("/exportData") - @ApiOperation("导出表单数据") - public void exportData(@ApiParam(value = "表单主键ID", required = true) @RequestParam Integer formId, HttpServletResponse response) { - try { - coreCustomFormDataService.exportData(formId, response); - } catch (Exception e) { - e.printStackTrace(); - } - } - - /*** - * @Author jianMingWang - * @Description //获取当前表单 - * @Date 11:22 2021/8/10 - * @Param [schoolId, formTypeId] - * @return com.liuliu.data.custom.entity.ResultBean - **/ - @ApiOperation("表单详情") - @GetMapping("/findById") - public ResultBean findById(@ApiParam(value = "主键ID", required = true, type = "Long") Long id) { - - CoreCustomForm coreCustomForm = coreCustomFormService.getById(id); - List coreCustomFormItemList = coreCustomFormItemsService.list(Wrappers.query().lambda().eq(CoreCustomFormItems::getFormId, id)); - coreCustomFormItemList.forEach(coreCustomFormItems -> { - List coreCustomFormItemChildrenlist = coreCustomFormItemChildrenService.list(Wrappers.query().lambda().eq(CoreCustomFormItemChildren::getFormItemId, coreCustomFormItems.getId())); - coreCustomFormItems.setCoreCustomFormItemChildrenList(coreCustomFormItemChildrenlist); - }); - coreCustomForm.setCoreCustomFormItemsList(coreCustomFormItemList); - return ResultBean.buildSuccess(coreCustomForm); - - - } - - @GetMapping("commitUser") - @ApiOperation("表单人员列表查询") - public ResultBean commitUser(@ApiParam("表单id") @RequestParam Long formId, - @ApiParam("未提交为0,已提交为1") @RequestParam Integer type, - @ApiParam("名字") @RequestParam(required = false) String name, - @RequestParam(defaultValue = "1") Long pageNum, - @RequestParam(defaultValue = "10") Long pageSize) { - - Page page = new Page<>(); - page.setCurrent(pageNum); - page.setSize(pageSize); - return ResultBean.buildSuccess(coreCustomFormService.commitUser(formId,type,name,page)); - } - - @GetMapping("findCommitUser") - @ApiOperation("已提交人员列表查询") - public ResultBean findCommitUser(@ApiParam("表单id") @RequestParam Long formId, - @ApiParam("0为未提交,1为已提交") @RequestParam(required = false) Integer fillType, - @RequestParam(defaultValue = "1") Long pageNum, - @RequestParam(defaultValue = "10") Long pageSize) { - - Page page = new Page<>(); - page.setCurrent(pageNum); - page.setSize(pageSize); - return ResultBean.buildSuccess(coreCustomFormService.findCommitUser(formId, fillType, page)); - } - - @GetMapping("findStatistic") - @ApiOperation("查询统计数据") - public ResultBean findStatistic(@ApiParam("表单id") @RequestParam Long formId) { - - return ResultBean.buildSuccess(coreCustomFormService.findStatistic(formId)); - } - - @PostMapping("remindAgain") - @ApiOperation("未提交人员再次提醒") - public ResultBean remindAgain(@RequestBody RemindAgainDTO dto) { - - coreCustomFormService.remindAgain(dto); - return ResultBean.buildSuccess(); - } - - @ApiOperation("导出已提交、未提交人员") - @GetMapping("/exportUserListInOut") - public void exportUserListInOut(@ApiParam("表单id") @RequestParam Long formId, @ApiParam("1为已提交,0为未提交") @RequestParam Integer status, HttpServletResponse response) { - coreCustomFormService.exportUserListInOut(formId, status, response); - } - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormGroupController.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormGroupController.java deleted file mode 100644 index 0e17119..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormGroupController.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.yida.data.form.customForm.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.customform.CoreCustomForm; -import com.yida.data.common.core.entity.customform.CoreCustomFormGroup; -import com.yida.data.form.customForm.service.CoreCustomFormGroupService; -import com.yida.data.form.customForm.service.CoreCustomFormService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 表单组 Controller - * - * @author ccl - * @date 2021-11-05 15:41:03 - */ -@Slf4j -@Validated -@RestController -@RequestMapping("coreCustomFormGroup") -@RequiredArgsConstructor -@Api(tags = "后台--表单分组") -public class CoreCustomFormGroupController { - - private final CoreCustomFormGroupService formGroupService; - - private final CoreCustomFormService customFormService; - - @GetMapping("findGroupPageList") - @ApiOperation("分页查询表单组") - public ResultBean> findGroupPageList(@RequestParam(defaultValue = "1") Integer pageNum, - @RequestParam(defaultValue = "10") Integer pageSize, - @RequestParam(required = false) String groupName){ - - - return ResultBean.buildSuccess(formGroupService.findGroupPageList(pageNum,pageSize,groupName)); - } - - @PostMapping("saveOrUpdateGroup") - @ApiOperation("新增表单组") - public ResultBean saveOrUpdateGroup(@RequestBody CoreCustomFormGroup formGroup){ - formGroupService.saveOrUpdate(formGroup); - return ResultBean.buildSuccess(); - } - - @PostMapping("removeFormGroup") - @ApiOperation("批量删除表单组") - public ResultBean removeFormGroup(@RequestBody List ids){ - formGroupService.removeByIds(ids); - return ResultBean.buildSuccess(); - } - - @GetMapping("updateFormGroup") - @ApiOperation("将表单分到表单组") - public ResultBean updateFormGroup(@RequestParam @ApiParam("表单组id") Long id, - @RequestParam @ApiParam("组 id") Long groupId){ - CoreCustomForm coreCustomForm = new CoreCustomForm(); - coreCustomForm.setId(id); - coreCustomForm.setGroupId(groupId); - customFormService.updateById(coreCustomForm); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormModelController.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormModelController.java deleted file mode 100644 index 63eabc6..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormModelController.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.yida.data.form.customForm.controller; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.form.customForm.service.CoreCustomFormModelService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.extern.slf4j.Slf4j; -import lombok.RequiredArgsConstructor; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -/** - * 自定义表单模板 Controller - * - * @author wjm - * @date 2021-08-30 15:22:15 - */ -@Slf4j -@Validated -@RestController -@RequestMapping("formModel") -@RequiredArgsConstructor -@Api(tags = "后台--表单模板管理") -public class CoreCustomFormModelController { - - private final CoreCustomFormModelService coreCustomFormModelService; - - @GetMapping("/selectFormModel") - @ApiOperation("查询表单模板") - public ResultBean selectFormModel(@RequestParam Long id){ - - return ResultBean.buildSuccess(coreCustomFormModelService.getById(id)); - } - - @GetMapping("/delFormModel") - @ApiOperation("删除表单模板") - public ResultBean delFormModel(@RequestParam Long id){ - coreCustomFormModelService.removeById(id); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormTypeController.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormTypeController.java deleted file mode 100644 index d6360c4..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/CoreCustomFormTypeController.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.yida.data.form.customForm.controller; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.customform.CoreCustomFormType; -import com.yida.data.form.customForm.service.CoreCustomFormTypeService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.extern.slf4j.Slf4j; -import lombok.RequiredArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 自定义表单类型表 Controller - * - * @author wjm - * @date 2021-08-12 10:56:57 - */ -@Slf4j -@Validated -@RestController -@RequestMapping("/coreCustomFormType") -@RequiredArgsConstructor -@Api(tags = "后台--表单类型") -public class CoreCustomFormTypeController { - - @Autowired - private final CoreCustomFormTypeService coreCustomFormTypeService; - - - @ApiOperation("查询自定义表单类型LIST") - @GetMapping("/findList") - public ResultBean> fondTypeList(){ - List type = coreCustomFormTypeService.list(); - return ResultBean.buildSuccess(type); - } - - @ApiOperation("新增表单类型") - @PostMapping("/insertFormType") - public ResultBean insertFormType(@RequestBody CoreCustomFormType coreCustomFormType){ - coreCustomFormTypeService.save(coreCustomFormType); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/InCoreCustomFormController.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/InCoreCustomFormController.java deleted file mode 100644 index 2fc644c..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/InCoreCustomFormController.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.yida.data.form.customForm.controller; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.customForm.dto.RemindAgainDTO; -import com.yida.data.form.customForm.service.CoreCustomFormService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -/** - * @author ccl - */ -@Slf4j -@Validated -@RestController -@RequestMapping("in/coreCustomForm") -@RequiredArgsConstructor -@Api(tags = "不鉴权-表单管理") -public class InCoreCustomFormController { - - private final CoreCustomFormService coreCustomFormService; - - @GetMapping("updateById") - @ApiOperation("修改表单为发布") - public ResultBean updateById(@RequestParam Long id){ - coreCustomFormService.updateAndSendNotice(id); - return ResultBean.buildSuccess(); - } - - @GetMapping("remindLast") - @ApiOperation("距离结束通知") - public ResultBean remindLast(@RequestParam Long id){ - RemindAgainDTO dto = new RemindAgainDTO(); - dto.setFormId(id); - coreCustomFormService.remindAgain(dto); - return ResultBean.buildSuccess(); - } - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/app/AppCustomFormController.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/app/AppCustomFormController.java deleted file mode 100644 index 2257f0b..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/controller/app/AppCustomFormController.java +++ /dev/null @@ -1,145 +0,0 @@ -package com.yida.data.form.customForm.controller.app; - -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.customform.CoreCustomForm; -import com.yida.data.common.core.entity.customform.CoreCustomFormRelationUser; -import com.yida.data.common.core.entity.customform.CoreCustomFormRelationUserParent; -import com.yida.data.customForm.dto.FormDataInput; -import com.yida.data.form.customForm.service.CoreCustomFormDataService; -import com.yida.data.form.customForm.service.CoreCustomFormRelationUserParentService; -import com.yida.data.form.customForm.service.CoreCustomFormRelationUserService; -import com.yida.data.form.customForm.service.CoreCustomFormService; -import com.yida.data.customForm.vo.FormStudentVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -/** - * @author ccl - */ -@Slf4j -@Validated -@RestController -@RequestMapping("/appCustomForm") -@RequiredArgsConstructor -@Api(tags = "app表单--表单管理") -public class AppCustomFormController { - - @Resource - private final CoreCustomFormService formService; - - @Resource - private final CoreCustomFormDataService coreCustomFormDataService; - - @Resource - private final CoreCustomFormRelationUserService userService; - - @Resource - private final CoreCustomFormRelationUserParentService parentService; - - @GetMapping("appFindFormList") - @ApiOperation("app查询填报列表") - public ResultBean> appFindFormList(@ApiParam("用户id") @RequestParam Long userId, - @ApiParam("0为职工,1为学生,2为家长") @RequestParam Integer type, - @ApiParam("学校id") @RequestParam Long schoolId, - @ApiParam("表单名称") @RequestParam(required = false) String tableName, - @ApiParam("表单状态,不传为全查") @RequestParam(required = false) Integer status, - @RequestParam(defaultValue = "10") Long pageSize, - @RequestParam(defaultValue = "1") Long pageNum){ - - return ResultBean.buildSuccess(formService.appFindFormList(new Page(pageNum,pageSize),userId,tableName,status,schoolId,type)); - } - - @GetMapping("appFindAdminFormList") - @ApiOperation("app查询管理列表列表") - public ResultBean> appFindAdminFormList(@ApiParam("用户id") @RequestParam Long userId, - @ApiParam("学校id") @RequestParam Long schoolId, - @ApiParam("表单名称") @RequestParam(required = false) String tableName, - @ApiParam("表单状态,不传为全查") @RequestParam(required = false) Integer status, - @RequestParam(defaultValue = "10") Long pageSize, - @RequestParam(defaultValue = "1") Long pageNum){ - return ResultBean.buildSuccess(formService.appFindAdminFormList(new Page(pageNum,pageSize),userId,tableName,status,schoolId)); - } - - @GetMapping("appHandOnCustomForm") - @ApiOperation("app用户查询用户是否是管理员") - public ResultBean appHandOnCustomForm(@ApiParam("用户id")@RequestParam Long userId, - @ApiParam("学校id")@RequestParam Long schoolId){ - - return ResultBean.buildSuccess(formService.appHandOnCustomForm(userId,schoolId)); - } - - /*** - * @Author jianMingWang - * @Description 提交表单数据 - * @Date 11:28 2021/8/11 - * @Param [formDataInput] - * @return com.liuliu.data.custom.entity.ResultBean - **/ - @ApiOperation("app提交保存表单数据") - @PostMapping("/saveFormData") - public ResultBean saveFormData(@RequestBody FormDataInput formDataInput) { - - CoreCustomForm form = formService.getOne(Wrappers.lambdaQuery(new CoreCustomForm()) - .eq(CoreCustomForm::getTableName, formDataInput.getTableName())); - - //验证用否是否能填报 - List userList = new ArrayList<>(); - List list = userService.list(Wrappers.lambdaQuery(new CoreCustomFormRelationUser()) - .eq(CoreCustomFormRelationUser::getCustomFormId, form.getId())); - if (form.getRecever()==2){ - List list1 = new ArrayList<>(); - List parentList = parentService.list(Wrappers.lambdaQuery(new CoreCustomFormRelationUserParent()) - .eq(CoreCustomFormRelationUserParent::getCustomFormId, form.getId())); - for (CoreCustomFormRelationUserParent userParent : parentList) { - list1.add(userParent.getParentId()); - } - if (!list1.contains(formDataInput.getUserId())){ - return ResultBean.buildError("您不能填报该表"); - } - }else { - for (CoreCustomFormRelationUser relationUser : list) { - userList.add(relationUser.getUserId()); - } - if (!userList.contains(formDataInput.getUserId())) { - return ResultBean.buildError("您不能填报该表"); - } - } - Map data = coreCustomFormDataService.findData(form.getId(), formDataInput.getUserId()); - if (ObjectUtil.isNotEmpty(data)&&form.getUpdateType()==0){ - return ResultBean.buildError("您已填报,请勿重复填写"); - } - coreCustomFormDataService.saveFormData(formDataInput,data); - return ResultBean.buildSuccess(); - - } - - @GetMapping("appFindFormAndData") - @ApiOperation("app查询表单填报详情") - public ResultBean appFindFormAndData(@ApiParam("用户id")@RequestParam Long userId, - @ApiParam("表单id")@RequestParam Long formId){ - - return ResultBean.buildSuccess(formService.appFindFormAndData(userId,formId)); - } - - @GetMapping("appFindStudentByForm") - @ApiOperation("app查询表单关联的学生列表") - public ResultBean> appFindStudentByForm(@ApiParam("家长id")@RequestParam Long userId, - @ApiParam("表单id")@RequestParam Long formId){ - - return ResultBean.buildSuccess(formService.appFindStudentByForm(userId,formId)); - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/entity/FormDataReturn.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/entity/FormDataReturn.java deleted file mode 100644 index ba2d1ff..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/entity/FormDataReturn.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.form.customForm.entity; - -import com.yida.data.common.core.entity.customform.CoreCustomFormItems; -import lombok.Data; - -import java.util.List; -import java.util.Map; - -/** - * @ClassName FormDataReturn - * @Author jianMingWang - * @Date 2021/9/17 14:39 - * @Version 1.0 - **/ -@Data -public class FormDataReturn { - private List list; - private Integer total; - private List filedList; - - public FormDataReturn(List list, Integer total, List filedList) { - this.list = list; - this.total = total; - this.filedList = filedList; - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/entity/RedisKey.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/entity/RedisKey.java deleted file mode 100644 index f4b47c8..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/entity/RedisKey.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.form.customForm.entity; - -/** - * @ClassName RedisKey - * @Author jianMingWang - * @Date 2021/9/17 13:47 - * @Version 1.0 - **/ -public interface RedisKey { - /** - * 表单主体信息缓存key - */ - String FORM_LOCAL = "form.local."; -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormAuthMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormAuthMapper.java deleted file mode 100644 index f0a1c50..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormAuthMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.form.customForm.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.customform.CoreCustomFormAuth; - -/** - * 表单对应管理员权限表 Mapper - * - * @author ccl - * @date 2021-11-05 15:41:13 - */ -public interface CoreCustomFormAuthMapper extends BaseMapper { - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormAuthRelationFormMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormAuthRelationFormMapper.java deleted file mode 100644 index 95f49c2..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormAuthRelationFormMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.form.customForm.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.customform.CoreCustomFormAuthRelationForm; - -/** - * 权限对应管理员表 Mapper - * - * @author ccl - * @date 2021-11-05 15:41:15 - */ -public interface CoreCustomFormAuthRelationFormMapper extends BaseMapper { - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormDataMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormDataMapper.java deleted file mode 100644 index 86c2a92..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormDataMapper.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.yida.data.form.customForm.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.customform.CoreCustomForm; -import org.apache.ibatis.annotations.Param; - -import java.util.List; -import java.util.Map; - -/** - * 自定义表单 Mapper - * - * @author wjm - * @date 2021-08-11 20:55:19 - */ -public interface CoreCustomFormDataMapper{ - - List findFormFiled(@Param("dbName") String dbName, @Param("tableName") String tableName); - - void initSqlWithParameterReturnVoid(@Param("sql") String sql, @Param("parameterMap") Map parameterMap); - - List initSqlWithNUllReturnListMap(@Param("sql") String sql); - - Integer initSqlWithNUllReturnInteger(@Param("sql") String sql); - - /** - * 查询对应表的数据 - * @param sql - * @return - */ - Map findData(@Param("sql") String sql); - - /** - * 清空数据表 - * @param sql - */ - void truncateTable(@Param("sql") String sql); - - void removeBySql(@Param("sql") String sql); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormGroupMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormGroupMapper.java deleted file mode 100644 index 5c73ccf..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormGroupMapper.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.yida.data.form.customForm.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.customform.CoreCustomFormGroup; -import org.apache.ibatis.annotations.Param; - -/** - * 表单组 Mapper - * - * @author ccl - * @date 2021-11-05 15:41:03 - */ -public interface CoreCustomFormGroupMapper extends BaseMapper { - - /** - * 分页查询组列表并返回组内表name; - * @param objectPage - * @param groupName - * @return - */ - Page findGroupPageList(@Param("objectPage") Page objectPage, @Param("groupName") String groupName); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormItemChildrenMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormItemChildrenMapper.java deleted file mode 100644 index ce0d21d..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormItemChildrenMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.yida.data.form.customForm.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.customform.CoreCustomFormItemChildren; - -import java.util.List; - -/** - * 自定义表单组件 Mapper - * - * @author wjm - * @date 2021-08-12 10:45:22 - */ -public interface CoreCustomFormItemChildrenMapper extends BaseMapper { - - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormItemsMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormItemsMapper.java deleted file mode 100644 index b11ca13..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormItemsMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.yida.data.form.customForm.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.customform.CoreCustomFormItemChildren; -import com.yida.data.common.core.entity.customform.CoreCustomFormItems; - -import java.util.List; - -/** - * 自定义表单组件 Mapper - * - * @author wjm - * @date 2021-08-12 10:44:45 - */ -public interface CoreCustomFormItemsMapper extends BaseMapper { -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormMapper.java deleted file mode 100644 index 16a7918..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormMapper.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.yida.data.form.customForm.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.customform.CoreCustomForm; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 自定义表单 Mapper - * - * @author wjm - * @date 2021-08-11 20:55:19 - */ -public interface CoreCustomFormMapper extends BaseMapper { - - IPage findPageList(@Param("page") Page page, @Param("coreCustomForm") CoreCustomForm coreCustomForm); - - Integer initSqlReturnInt(@Param("sql") String sql); - - void initSqlReturnVoid(@Param("sql") String sql); - - - /** - * 查询用户对应填写表单 - * @param page - * @param userId - * @param tableName - * @param status - * @param schoolId - * @return - */ - IPage appFindFormList(@Param("page") Page page, - @Param("userIdList") List userIdList, - @Param("tableName") String tableName, - @Param("status") Integer status, - @Param("schoolId") Long schoolId, - @Param("type") Integer type); - - - /** - * 查询用户对应管理表单 - * @param page - * @param userId - * @param tableName - * @param status - * @param schoolId - * @return - */ - IPage appFindAdminFormList(@Param("page") Page page, - @Param("userId") Long userId, - @Param("tableName") String tableName, - @Param("status") Integer status, - @Param("schoolId") Long schoolId); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormModelItemChildrenMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormModelItemChildrenMapper.java deleted file mode 100644 index 5986ef0..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormModelItemChildrenMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.form.customForm.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.customform.CoreCustomFormModelItemChildren; - -/** - * 自定义表单模板组件 Mapper - * - * @author wjm - * @date 2021-08-30 15:22:32 - */ -public interface CoreCustomFormModelItemChildrenMapper extends BaseMapper { - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormModelItemsMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormModelItemsMapper.java deleted file mode 100644 index cd4d17b..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormModelItemsMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.form.customForm.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.customform.CoreCustomFormModelItems; - -/** - * 自定义表单模板组件 Mapper - * - * @author wjm - * @date 2021-08-30 15:22:49 - */ -public interface CoreCustomFormModelItemsMapper extends BaseMapper { - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormModelMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormModelMapper.java deleted file mode 100644 index d661711..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormModelMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.form.customForm.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.customform.CoreCustomFormModel; - -/** - * 自定义表单模板 Mapper - * - * @author wjm - * @date 2021-08-30 15:22:15 - */ -public interface CoreCustomFormModelMapper extends BaseMapper { - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormRelationAdminMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormRelationAdminMapper.java deleted file mode 100644 index d5c0d3c..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormRelationAdminMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.form.customForm.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.customform.CoreCustomFormRelationAdmin; - -/** - * 表单对应管理员 Mapper - * - * @author ccl - * @date 2021-11-05 15:41:08 - */ -public interface CoreCustomFormRelationAdminMapper extends BaseMapper { - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormRelationUserMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormRelationUserMapper.java deleted file mode 100644 index 3cfb834..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormRelationUserMapper.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.form.customForm.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.customform.CoreCustomFormRelationUser; -import org.apache.ibatis.annotations.Param; - -/** - * 表单对应可见人员表 Mapper - * - * @author ccl - * @date 2021-11-05 15:41:11 - */ -public interface CoreCustomFormRelationUserMapper extends BaseMapper { - - /** - * 查询所有的人数和所有已填的人 - * @param id - */ - Integer findUserNum(@Param("id") Long id); - - /** - * 为填报得人员 - * @param formId - * @return - */ - Integer findNotCommit(Long formId); - - Page findUserList(@Param("page") Page page, @Param("type") Integer type, - @Param("name") String name, @Param("formId") Long formId); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormRelationUserParentMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormRelationUserParentMapper.java deleted file mode 100644 index 9da3cf5..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormRelationUserParentMapper.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.form.customForm.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.customform.CoreCustomFormRelationUserParent; -import com.yida.data.common.core.entity.customform.CoreCustomFormStatistic; -import org.apache.ibatis.annotations.Param; - -/** - * @author ccl - */ -public interface CoreCustomFormRelationUserParentMapper extends BaseMapper { - /** - * 查询总数 - * @param formId - * @return - */ - Integer findTotal(@Param("formId") Long formId); - - /** - * 查询未提交数据 - * @param formId - * @return - */ - Integer findParentStatistic(Long formId); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormStatisticMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormStatisticMapper.java deleted file mode 100644 index bfd92ce..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormStatisticMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.form.customForm.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.customform.CoreCustomFormStatistic; - -/** - * 表单对应统计数据表 Mapper - * - * @author ccl - * @date 2021-11-05 15:58:43 - */ -public interface CoreCustomFormStatisticMapper extends BaseMapper { - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormTopicalMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormTopicalMapper.java deleted file mode 100644 index 0c75053..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormTopicalMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.form.customForm.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.customform.CoreCustomFormTopical; - -/** - * 表单对应主题表 Mapper - * - * @author ccl - * @date 2021-11-05 15:41:09 - */ -public interface CoreCustomFormTopicalMapper extends BaseMapper { - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormTypeMapper.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormTypeMapper.java deleted file mode 100644 index 7d1a96f..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/mapper/CoreCustomFormTypeMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.form.customForm.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.customform.CoreCustomFormType; - -/** - * 自定义表单类型表 Mapper - * - * @author wjm - * @date 2021-08-12 10:56:57 - */ -public interface CoreCustomFormTypeMapper extends BaseMapper { - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormAuthRelationFormService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormAuthRelationFormService.java deleted file mode 100644 index 280d0f9..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormAuthRelationFormService.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.form.customForm.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.customform.CoreCustomFormAuthRelationForm; - -import java.util.List; - -/** -* 权限对应管理员表 Service接口 -* -* @author ccl -* @date 2021-11-05 15:41:15 -*/ -public interface CoreCustomFormAuthRelationFormService extends IService { -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormAuthService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormAuthService.java deleted file mode 100644 index 1caecef..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormAuthService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.yida.data.form.customForm.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.customform.CoreCustomFormAuth; - -import java.util.List; - -/** -* 表单对应管理员权限表 Service接口 -* -* @author ccl -* @date 2021-11-05 15:41:13 -*/ -public interface CoreCustomFormAuthService extends IService { -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormDataService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormDataService.java deleted file mode 100644 index ec6fce6..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormDataService.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.yida.data.form.customForm.service; - - -import com.yida.data.customForm.dto.FormDataInput; -import com.yida.data.form.customForm.entity.FormDataReturn; - -import javax.servlet.http.HttpServletResponse; -import java.text.ParseException; -import java.util.List; -import java.util.Map; - -/** - * 自定义表单 Service接口 - * - * @author wjm - * @date 2021-08-11 20:55:19 - */ -public interface CoreCustomFormDataService { - - /*** - * @Author jianMingWang - * @Description 保存表单数据 - * @Date 9:39 2021/9/17 - * @Param formDataInput - * @return void - **/ - void saveFormData(FormDataInput formDataInput,Map data); - - /*** - * @Author jianMingWang - * @Description //分页列表查询表单数据 - * @Date 9:40 2021/9/17 - * @Param [formId, pageSize, pageNo] - * @return java.util.List - **/ - List findSubmitFormDataListByFormId(Integer formId, Integer pageSize, Integer pageNo); - - - /*** - * @Author jianMingWang - * @Description //查询提交总数 - * @Date 14:12 2021/9/17 - * @Param [formId] - * @return java.lang.Integer - **/ - Integer findSubmitFormDataTotalNumByFormId(Integer formId); - - - /*** - * @Author jianMingWang - * @Description //分页查询表单数据 - * @Date 14:34 2021/9/23 - * @Param [formId, pageSize, pageNo] - * @return com.yida.data.customForm.entity.FormDataReturn - **/ - FormDataReturn findList(Integer formId, Integer pageSize, Integer pageNo); - - /*** - * @Author jianMingWang - * @Description //导出表单数据 - * @Date 14:34 2021/9/23 - * @Param [formId, response] - * @return void - **/ - void exportData(Integer formId, HttpServletResponse response) throws ParseException; - - Map findData(Long formId, Long userId); - - /** - * 清空 - * @param sql - */ - void truncateTable(String sql); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormGroupService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormGroupService.java deleted file mode 100644 index 7e972ba..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormGroupService.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.yida.data.form.customForm.service; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.customform.CoreCustomFormGroup; - - -/** -* 表单组 Service接口 -* -* @author ccl -* @date 2021-11-05 15:41:03 -*/ -public interface CoreCustomFormGroupService extends IService { - - /** - * 查询分组列表,同时返回组内表名和id - * @return - */ - Page findGroupPageList(Integer pageNum, Integer pageSize, String groupName); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormItemChildrenService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormItemChildrenService.java deleted file mode 100644 index 70a2a27..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormItemChildrenService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.yida.data.form.customForm.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.customform.CoreCustomFormItemChildren; - -/** - * 自定义表单组件选项 Service接口 - * - * @author wjm - * @date 2021-08-11 20:55:19 - */ -public interface CoreCustomFormItemChildrenService extends IService { - - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormItemsService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormItemsService.java deleted file mode 100644 index 28d4c20..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormItemsService.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.yida.data.form.customForm.service; - - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.customform.CoreCustomForm; -import com.yida.data.common.core.entity.customform.CoreCustomFormItems; - -/** - * 自定义表单组件 Service接口 - * - * @author wjm - * @date 2021-08-11 20:55:19 - */ -public interface CoreCustomFormItemsService extends IService { - - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormModelItemChildrenService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormModelItemChildrenService.java deleted file mode 100644 index f86e18d..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormModelItemChildrenService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.yida.data.form.customForm.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.customform.CoreCustomFormModelItemChildren; - -/** -* 自定义表单模板组件 Service接口 -* -* @author wjm -* @date 2021-08-30 15:22:32 -*/ -public interface CoreCustomFormModelItemChildrenService extends IService { -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormModelItemsService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormModelItemsService.java deleted file mode 100644 index adb7fdd..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormModelItemsService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.yida.data.form.customForm.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.customform.CoreCustomFormModelItems; - -/** -* 自定义表单模板组件 Service接口 -* -* @author wjm -* @date 2021-08-30 15:22:49 -*/ -public interface CoreCustomFormModelItemsService extends IService { -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormModelService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormModelService.java deleted file mode 100644 index f471ee6..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormModelService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.yida.data.form.customForm.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.customform.CoreCustomFormModel; - -/** -* 自定义表单模板 Service接口 -* -* @author wjm -* @date 2021-08-30 15:22:15 -*/ -public interface CoreCustomFormModelService extends IService { -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormRelationAdminService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormRelationAdminService.java deleted file mode 100644 index ac42252..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormRelationAdminService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.yida.data.form.customForm.service; - -import com.yida.data.common.core.entity.QueryRequest; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.customform.CoreCustomFormRelationAdmin; - -import java.util.List; - -/** -* 表单对应管理员 Service接口 -* -* @author ccl -* @date 2021-11-05 15:41:08 -*/ -public interface CoreCustomFormRelationAdminService extends IService { -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormRelationUserParentService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormRelationUserParentService.java deleted file mode 100644 index a22ecc7..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormRelationUserParentService.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.yida.data.form.customForm.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.customform.CoreCustomFormRelationUserParent; -import com.yida.data.common.core.entity.customform.CoreCustomFormStatistic; - -/** - * @author ccl - */ -public interface CoreCustomFormRelationUserParentService extends IService { - /** - * 查询家长统计数据 - * - * @param formId - * @return - */ - CoreCustomFormStatistic findParentStatistic(Long formId); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormRelationUserService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormRelationUserService.java deleted file mode 100644 index 5b44c14..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormRelationUserService.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.yida.data.form.customForm.service; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.QueryRequest; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.customform.CoreCustomFormRelationUser; -import com.yida.data.common.core.entity.customform.CoreCustomFormStatistic; - -import java.util.List; - -/** -* 表单对应可见人员表 Service接口 -* -* @author ccl -* @date 2021-11-05 15:41:11 -*/ -public interface CoreCustomFormRelationUserService extends IService { - /** - * 查询对应表中所有应填人员,和已填人员 - * @param id - */ - Integer findUserNum(Long id); - - /** - * 查询统计数据 - * @param formId - * @return - */ - CoreCustomFormStatistic findStatistic(Long formId); - - /** - * 条件查询用户 - * @param page - * @param type - * @param name - * @param formId - * @return - */ - Page findUserList(Page page, Integer type, String name, Long formId); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormService.java deleted file mode 100644 index d434171..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormService.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.yida.data.form.customForm.service; - - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.QueryRequest; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.customform.CoreCustomForm; -import com.yida.data.common.core.entity.customform.CoreCustomFormRelationUser; -import com.yida.data.common.core.entity.customform.CoreCustomFormStatistic; -import com.yida.data.customForm.dto.RemindAgainDTO; -import com.yida.data.customForm.dto.SaveCustomFormDTO; -import com.yida.data.customForm.vo.CommitUserVO; -import com.yida.data.customForm.vo.FormStudentVO; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * 自定义表单 Service接口 - * - * @author wjm - * @date 2021-08-11 20:55:19 - */ -public interface CoreCustomFormService extends IService { - - IPage findCustomFormPageList(Page page, Long schoolId, Long formTypeId, String model, CurrentUser currentUser); - - Integer saveForm(CoreCustomForm dto) throws Exception; - - - /** - * app查询用户对应填写表单 - * @param objectPage - * @param userId - * @param formName - * @param status - * @param schoolId - * @return - */ - IPage appFindFormList(Page objectPage, Long userId,String tableName,Integer status,Long schoolId,Integer type); - - - /** - * app查询用户管理对应表单 - * @param objectPage - * @param userId - * @param tableName - * @param status - * @param schoolId - * @return - */ - IPage appFindAdminFormList(Page objectPage, Long userId,String tableName,Integer status,Long schoolId); - - /** - * 查询用户对应是否是管理员 - * @param userId - * @param schoolId - * @return - */ - Boolean appHandOnCustomForm(Long userId,Long schoolId); - - /** - * 查询表单详情 - * @param id - * @return - */ - CoreCustomForm findById(Long id); - - /** - * 删除表单,及对应附表 - * @param id - */ - void delForm(Long id); - - void updateAndSendNotice(Long formId); - - /** - * 条件查询表单对应填报情况 - * @param formId - * @param fillType - * @param page - * @return - */ - Page findCommitUser(Long formId, Integer fillType, Page page); - - /** - * 查询表单对应统计数据 - * @param formId - * @return - */ - CoreCustomFormStatistic findStatistic(Long formId); - - /** - * 再次提醒 - * @param dto - */ - void remindAgain(RemindAgainDTO dto); - - /** - * 导出表单未提交和已提交的人员信息 - * @param formId - * @param status - * @param response - */ - void exportUserListInOut(Long formId, Integer status, HttpServletResponse response); - - - - /** - * 发布接口 - * @param byId - */ - void publishForm(CoreCustomForm byId); - - - - /** - * 查询表单和填报数据 - * @param userId - * @param formId - * @return - */ - Object appFindFormAndData(Long userId, Long formId); - - /** - * 条件查询 - * @param formId - * @param type - * @param page - * @return - */ - CommitUserVO commitUser(Long formId, Integer type, String name, Page page); - - /** - * 通过表单查询对应需要填报的学生 - * @param userId - * @param formId - * @return - */ - List appFindStudentByForm(Long userId, Long formId); -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormStatisticService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormStatisticService.java deleted file mode 100644 index 3e30592..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormStatisticService.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.yida.data.form.customForm.service; - - -import com.yida.data.common.core.entity.QueryRequest; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.customform.CoreCustomFormStatistic; - -import java.util.List; - -/** -* 表单对应统计数据表 Service接口 -* -* @author ccl -* @date 2021-11-05 15:58:43 -*/ -public interface CoreCustomFormStatisticService extends IService { -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormTopicalService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormTopicalService.java deleted file mode 100644 index dc650b7..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormTopicalService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.yida.data.form.customForm.service; - -import com.yida.data.common.core.entity.QueryRequest; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.customform.CoreCustomFormTopical; - -import java.util.List; - -/** -* 表单对应主题表 Service接口 -* -* @author ccl -* @date 2021-11-05 15:41:09 -*/ -public interface CoreCustomFormTopicalService extends IService { -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormTypeService.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormTypeService.java deleted file mode 100644 index 2841cef..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/CoreCustomFormTypeService.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.yida.data.form.customForm.service; - - -import com.yida.data.common.core.entity.QueryRequest; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.customform.CoreCustomFormType; - -import java.util.List; - -/** -* 自定义表单类型表 Service接口 -* -* @author wjm -* @date 2021-08-12 10:56:57 -*/ -public interface CoreCustomFormTypeService extends IService { -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormAuthRelationFormServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormAuthRelationFormServiceImpl.java deleted file mode 100644 index aa5ae5f..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormAuthRelationFormServiceImpl.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.yida.data.form.customForm.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.customform.CoreCustomFormAuthRelationForm; -import com.yida.data.form.customForm.mapper.CoreCustomFormAuthRelationFormMapper; -import com.yida.data.form.customForm.service.CoreCustomFormAuthRelationFormService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.annotation.Propagation; -import lombok.RequiredArgsConstructor; - - -/** -* 权限对应管理员表 Service实现 -* -* @author ccl -* @date 2021-11-05 15:41:15 -*/ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class CoreCustomFormAuthRelationFormServiceImpl extends ServiceImpl - implements CoreCustomFormAuthRelationFormService { - -private final CoreCustomFormAuthRelationFormMapper coreCustomFormAuthAdminMapper; - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormAuthServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormAuthServiceImpl.java deleted file mode 100644 index 7ccc4ad..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormAuthServiceImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.form.customForm.service.impl; - -import com.yida.data.common.core.entity.customform.CoreCustomFormAuth; -import com.yida.data.form.customForm.mapper.CoreCustomFormAuthMapper; -import com.yida.data.form.customForm.service.CoreCustomFormAuthService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.annotation.Propagation; -import lombok.RequiredArgsConstructor; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -/** -* 表单对应管理员权限表 Service实现 -* -* @author ccl -* @date 2021-11-05 15:41:13 -*/ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class CoreCustomFormAuthServiceImpl extends ServiceImpl - implements CoreCustomFormAuthService { - -private final CoreCustomFormAuthMapper coreCustomFormAuthMapper; - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormDataServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormDataServiceImpl.java deleted file mode 100644 index 1b37549..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormDataServiceImpl.java +++ /dev/null @@ -1,433 +0,0 @@ -package com.yida.data.form.customForm.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.entity.constant.AppConstant; -import com.yida.data.common.core.entity.customform.*; -import com.yida.data.common.core.entity.notice.qywx.BaseStaffNotice; -import com.yida.data.common.core.entity.notice.qywx.inside.Text; -import com.yida.data.common.core.entity.system.EduApp; -import com.yida.data.common.core.entity.user.EduParent; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.utils.ExcelUtil; -import com.yida.data.common.core.utils.WxUtil; -import com.yida.data.common.service.CommonService; -import com.yida.data.customForm.dto.FormDataInput; -import com.yida.data.customForm.vo.ParentCommit; -import com.yida.data.form.customForm.entity.FormDataReturn; -import com.yida.data.form.customForm.entity.RedisKey; -import com.yida.data.form.customForm.mapper.CoreCustomFormDataMapper; -import com.yida.data.form.customForm.service.*; -import com.yida.data.user.feign.RemoteStaffService; -import com.yida.data.user.feign.RemoteStudentService; -import lombok.RequiredArgsConstructor; -import org.apache.poi.xssf.usermodel.XSSFRow; -import org.apache.poi.xssf.usermodel.XSSFSheet; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.time.LocalDateTime; -import java.util.*; -import java.util.stream.Collectors; - -import static com.yida.data.common.core.entity.constant.CachePrefixConstant.STAFF_DATA; -import static com.yida.data.common.core.entity.constant.CachePrefixConstant.STUDENT_DATA; - -/** - * 自定义表单 Service实现 - * - * @author wjm - * @date 2021-08-11 20:55:19 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class CoreCustomFormDataServiceImpl implements CoreCustomFormDataService { - - @Value("${edu.customform.dbname}") - private String dbName; - - @Value("${febs.teacherFormUrl}") - private String teacherFormUrl; - - @Resource - private CoreCustomFormDataMapper coreCustomFormDataMapper; - - @Resource - private CoreCustomFormService coreCustomFormService; - - @Resource - private CoreCustomFormItemsService coreCustomFormItemsService; - - @Resource - private CoreCustomFormRelationUserService userService; - - @Resource - private RedisService redisService; - - @Resource - private RemoteStaffService remoteStaffService; - - @Resource - private RemoteStudentService remoteStudentService; - - @Resource - private CoreCustomFormRelationUserParentService parentService; - - @Resource - private CoreCustomFormRelationAdminService adminService; - - @Resource - private WxUtil wxUtil; - @Resource - private CommonService commonService; - - @Override - public void saveFormData(FormDataInput formDataInput, Map data) { - CoreCustomForm form = coreCustomFormService.getOne(Wrappers.lambdaQuery(new CoreCustomForm()) - .eq(CoreCustomForm::getTableName, formDataInput.getTableName())); - if (ObjectUtil.isNotEmpty(data)) { - String sql = "DELETE FROM " + formDataInput.getTableName() + " WHERE user_id = " + formDataInput.getUserId(); - coreCustomFormDataMapper.removeBySql(sql); - } - - List filedList = coreCustomFormDataMapper.findFormFiled(dbName, formDataInput.getTableName()); - JSONObject jsonObject = JSONUtil.parseObj(formDataInput.getJsonDataString()); - List parameterList = new ArrayList<>(); - Map parameterMap = new HashMap(); - String baseSql = "insert into " + formDataInput.getTableName() + "("; - filedList.forEach(filed -> { - parameterList.add("#{parameterMap." + filed + "}"); - parameterMap.put(filed, jsonObject.get(filed)); - }); - parameterMap.put("create_date", new Date()); - parameterMap.put("user_id", formDataInput.getUserId()); - String finalSql = baseSql + String.join(",", filedList) + ")values(" + String.join(",", parameterList) + ")"; - coreCustomFormDataMapper.initSqlWithParameterReturnVoid(finalSql, parameterMap); - - - //修改填报人填报状态 - CoreCustomForm one = coreCustomFormService.getOne(Wrappers.lambdaQuery(new CoreCustomForm()) - .eq(CoreCustomForm::getTableName, formDataInput.getTableName())); - - if (one.getRecever() != 2) { - userService.update(Wrappers.lambdaUpdate(new CoreCustomFormRelationUser()) - .eq(CoreCustomFormRelationUser::getCustomFormId, one.getId()) - .eq(CoreCustomFormRelationUser::getUserId, formDataInput.getUserId()) - .set(CoreCustomFormRelationUser::getFill, 1) - .set(CoreCustomFormRelationUser::getFillTime, LocalDateTime.now())); - } else if (one.getRecever() == 2) { - parentService.update(Wrappers.lambdaUpdate(new CoreCustomFormRelationUserParent()) - .eq(CoreCustomFormRelationUserParent::getCustomFormId, one.getId()) - .set(CoreCustomFormRelationUserParent::getFillType, 1) - .set(CoreCustomFormRelationUserParent::getFillTime, LocalDateTime.now())); - } - - //新增数据发送通知 - if (form.getRemindAdmin() == 1) { - - //查询对应管理员 - List adminList = adminService.list(Wrappers.lambdaQuery(new CoreCustomFormRelationAdmin()) - .eq(CoreCustomFormRelationAdmin::getCustomFormId, form.getId())); - for (CoreCustomFormRelationAdmin relationUser : adminList) { - EduStaff staff = remoteStaffService.getStaffNoPermission(relationUser.getAdminId()).getData(); - BaseStaffNotice textSchoolNotice = new BaseStaffNotice(); - EduApp appByCodeAndSchool = commonService.getAppByCodeAndSchool(AppConstant.INDEX_PARENT, null, form.getOrgId()); - Text text = new Text(); - textSchoolNotice.setText(text); - textSchoolNotice.setAgentid(appByCodeAndSchool.getWxAgentId()); - String url = teacherFormUrl + appByCodeAndSchool.getWxCorpId() + "&loginType=0&userType=0&state=" + AppConstant.INDEX_PARENT + "&id=" + form.getId(); - ; - - text.setContent("" + form.getRemindAdminModel() + " " + staff.getName() + "已填报《" + form.getFormTitle() + "》" + ""); - textSchoolNotice.setTouser(staff.getWxId()); - String accessToken = wxUtil.getAccessToken(appByCodeAndSchool.getWxCorpId(), appByCodeAndSchool.getWxSecret()); - wxUtil.pushStaffNotice(accessToken, textSchoolNotice); - } - } - - } - - - @Override - public List findSubmitFormDataListByFormId(Integer formId, Integer pageSize, Integer pageNo) { - //查询formID对应的数据表 - CoreCustomForm coreCustomForm = null; - if (redisService.hasKey(RedisKey.FORM_LOCAL + formId)) { - coreCustomForm = (CoreCustomForm) redisService.get(RedisKey.FORM_LOCAL + formId); - } else { - coreCustomForm = coreCustomFormService.getById(formId); - } - - if (ObjectUtil.isEmpty(pageNo) && ObjectUtil.isEmpty(pageSize)) { - String initSql = "select * from " + coreCustomForm.getTableName(); - return coreCustomFormDataMapper.initSqlWithNUllReturnListMap(initSql); - } - - Integer limitBeginNum = pageNo == 1 ? 0 : (pageSize * (pageNo - 1)); - Integer limitEndNum = pageNo * pageSize; - String initSql = "select * from " + coreCustomForm.getTableName() + - " limit " + limitBeginNum + "," + limitEndNum; - //查询出表单数据ListMap - //查询出表单数据 - List maps = coreCustomFormDataMapper.initSqlWithNUllReturnListMap(initSql); - for (Map map : maps) { - Long userId = (Long) map.get("user_id"); - //教职工 - if (coreCustomForm.getRecever() == 0) { - EduStaff staff = (EduStaff) redisService.hget(STAFF_DATA, userId.toString()); - if (ObjectUtil.isEmpty(staff)) { - staff = remoteStaffService.getStaff(userId).getData(); - redisService.hset(STAFF_DATA, userId.toString(), staff); - } - map.put("staff", staff); - } - //学生 - else if (coreCustomForm.getRecever() == 1) { - EduStudent student = (EduStudent) redisService.hget(STUDENT_DATA, userId.toString()); - if (ObjectUtil.isEmpty(student)) { - student = remoteStudentService.getStudentNoPermission(userId).getData(); - redisService.hset(STUDENT_DATA, userId.toString(), student); - } - map.put("student", student); - } - //家长 - else if (coreCustomForm.getRecever() == 2) { - Long customUserId = parentService.getOne(Wrappers.lambdaQuery(new CoreCustomFormRelationUserParent()) - .eq(CoreCustomFormRelationUserParent::getCustomFormId, formId) - .eq(CoreCustomFormRelationUserParent::getParentId, userId)).getCustomUserId(); - Long studentId = userService.getById(customUserId).getUserId(); - - EduStudent student = (EduStudent) redisService.hget(STUDENT_DATA, studentId.toString()); - if (ObjectUtil.isEmpty(student)) { - student = remoteStudentService.getStudentNoPermission(studentId).getData(); - redisService.hset(STUDENT_DATA, studentId.toString(), student); - } - EduParent parent = student.getParents().stream().filter(p -> p.getId().equals(userId)).collect(Collectors.toList()).get(0); - - ParentCommit parentCommit = new ParentCommit(); - parentCommit.setParentName(student.getStuName() + parent.getParentType()); - parentCommit.setPhone(parent.getMobile()); - parentCommit.setSchoolName(student.getSchoolName()); - parentCommit.setCampusName(student.getCampusName()); - parentCommit.setSectionName(student.getSectionName()); - parentCommit.setGradeName(student.getGradeName()); - parentCommit.setClassName(student.getClassName()); - map.put("parent", parentCommit); - } - } - return coreCustomFormDataMapper.initSqlWithNUllReturnListMap(initSql); - } - - - @Override - public Integer findSubmitFormDataTotalNumByFormId(Integer formId) { - CoreCustomForm coreCustomForm = null; - if (redisService.hasKey(RedisKey.FORM_LOCAL + formId)) { - coreCustomForm = (CoreCustomForm) redisService.get(RedisKey.FORM_LOCAL + formId); - } else { - coreCustomForm = coreCustomFormService.getById(formId); - } - String initSql = "select count(id) from " + coreCustomForm.getTableName(); - //查询出表单数据ListMap - //查询出表单数据 - return coreCustomFormDataMapper.initSqlWithNUllReturnInteger(initSql); - } - - @Override - public FormDataReturn findList(Integer formId, Integer pageSize, Integer pageNo) { - List submitFormDataListByFormId = this.findSubmitFormDataListByFormId(formId, pageSize, pageNo); - Integer submitFormDataTotalNumByFormId = this.findSubmitFormDataTotalNumByFormId(formId); - List coreCustomFormItemList = coreCustomFormItemsService.list(Wrappers.query().lambda().eq(CoreCustomFormItems::getFormId, formId)); - return new FormDataReturn(submitFormDataListByFormId, submitFormDataTotalNumByFormId, coreCustomFormItemList); - } - - - @Override - public void exportData(Integer formId, HttpServletResponse response) throws ParseException { - CoreCustomForm byId = coreCustomFormService.getById(formId); - if (byId.getRecever() == 0) { - XSSFWorkbook workbook = new XSSFWorkbook(); - XSSFSheet sheet = workbook.createSheet(); - XSSFRow row = sheet.createRow(0); - List coreCustomFormItemList = coreCustomFormItemsService.list(Wrappers.query().lambda().eq(CoreCustomFormItems::getFormId, formId)); - row.createCell(0).setCellValue("序号"); - row.createCell(1).setCellValue("姓名"); - row.createCell(2).setCellValue("电话"); - row.createCell(coreCustomFormItemList.size() + 3).setCellValue("时间"); - for (int i = 0; i < coreCustomFormItemList.size(); i++) { - row.createCell(i + 4).setCellValue(coreCustomFormItemList.get(i).getItemTitle()); - } - - List submitFormDataListByFormId = this.findSubmitFormDataListByFormId(formId, null, null); - for (int j = 0; j < submitFormDataListByFormId.size(); j++) { - XSSFRow row1 = sheet.createRow(j + 1); - Map map = submitFormDataListByFormId.get(j); - Iterator iter = map.keySet().iterator(); - while (iter.hasNext()) { - //字段名称 - String key = iter.next(); - //填报值 - Object value = map.get(key); - - if ("id".equals(key)) { - row1.createCell(0).setCellValue(ObjectUtil.toString(value)); - continue; - } - if ("user_id".equals(key)) { - EduStaff hget = (EduStaff) redisService.hget(STAFF_DATA, value.toString()); - row1.createCell(1).setCellValue(ObjectUtil.toString(hget.getName())); - row1.createCell(2).setCellValue(ObjectUtil.toString(hget.getMobile())); - continue; - } - if ("create_date".equals(key)) { - SimpleDateFormat myFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - row1.createCell(coreCustomFormItemList.size() + 2).setCellValue(myFmt.format(myFmt.parse(ObjectUtil.toString(value)))); - continue; - } - for (int i = 0; i < coreCustomFormItemList.size(); i++) { - String itemFiledName = coreCustomFormItemList.get(i).getItemFiledName(); - if (key.equals(itemFiledName)) { - row1.createCell(i + 3).setCellValue(ObjectUtil.toString(value)); - } - } - } - } - ExcelUtil.export("表单数据", "xlsx", workbook, response); - } else if (byId.getRecever() == 1) { - XSSFWorkbook workbook = new XSSFWorkbook(); - XSSFSheet sheet = workbook.createSheet(); - XSSFRow row = sheet.createRow(0); - List coreCustomFormItemList = coreCustomFormItemsService.list(Wrappers.query().lambda().eq(CoreCustomFormItems::getFormId, formId)); - row.createCell(0).setCellValue("序号"); - row.createCell(1).setCellValue("班级"); - row.createCell(2).setCellValue("姓名"); - row.createCell(3).setCellValue("学号"); - row.createCell(coreCustomFormItemList.size() + 3).setCellValue("填报时间"); - for (int i = 0; i < coreCustomFormItemList.size(); i++) { - row.createCell(i + 5).setCellValue(coreCustomFormItemList.get(i).getItemTitle()); - } - List submitFormDataListByFormId = this.findSubmitFormDataListByFormId(formId, null, null); - for (int j = 0; j < submitFormDataListByFormId.size(); j++) { - XSSFRow row1 = sheet.createRow(j + 1); - Map map = submitFormDataListByFormId.get(j); - Iterator iter = map.keySet().iterator(); - while (iter.hasNext()) { - //字段名称 - String key = iter.next(); - //填报值 - Object value = map.get(key); - - if ("id".equals(key)) { - row1.createCell(0).setCellValue(ObjectUtil.toString(value)); - continue; - } - if ("user_id".equals(key)) { - EduStudent hget = (EduStudent) redisService.hget(STUDENT_DATA, value.toString()); - String classAndGrade = hget.getGradeName() + hget.getClassName(); - row1.createCell(1).setCellValue(ObjectUtil.toString(classAndGrade)); - row1.createCell(2).setCellValue(ObjectUtil.toString(hget.getStuName())); - row1.createCell(3).setCellValue(ObjectUtil.toString(hget.getStuNumber())); - continue; - } - if ("create_date".equals(key)) { - SimpleDateFormat myFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - row1.createCell(coreCustomFormItemList.size() + 3).setCellValue(myFmt.format(myFmt.parse(ObjectUtil.toString(value)))); - continue; - } - for (int i = 0; i < coreCustomFormItemList.size(); i++) { - String itemFiledName = coreCustomFormItemList.get(i).getItemFiledName(); - if (key.equals(itemFiledName)) { - row1.createCell(i + 5).setCellValue(ObjectUtil.toString(value)); - } - } - } - } - ExcelUtil.export("表单数据", "xlsx", workbook, response); - } else if (byId.getRecever() == 2) { - XSSFWorkbook workbook = new XSSFWorkbook(); - XSSFSheet sheet = workbook.createSheet(); - XSSFRow row = sheet.createRow(0); - List coreCustomFormItemList = coreCustomFormItemsService.list(Wrappers.query().lambda().eq(CoreCustomFormItems::getFormId, formId)); - row.createCell(0).setCellValue("序号"); - row.createCell(1).setCellValue("班级"); - row.createCell(2).setCellValue("家长"); - row.createCell(3).setCellValue("电话"); - row.createCell(coreCustomFormItemList.size() + 3).setCellValue("填报时间"); - for (int i = 0; i < coreCustomFormItemList.size(); i++) { - row.createCell(i + 5).setCellValue(coreCustomFormItemList.get(i).getItemTitle()); - } - - List submitFormDataListByFormId = this.findSubmitFormDataListByFormId(formId, null, null); - for (int j = 0; j < submitFormDataListByFormId.size(); j++) { - XSSFRow row1 = sheet.createRow(j + 1); - Map map = submitFormDataListByFormId.get(j); - Iterator iter = map.keySet().iterator(); - while (iter.hasNext()) { - //字段名称 - String key = iter.next(); - //填报值 - Object value = map.get(key); - - if ("id".equals(key)) { - row1.createCell(0).setCellValue(ObjectUtil.toString(value)); - continue; - } - if ("user_id".equals(key)) { - CoreCustomFormRelationUserParent one = parentService.getOne(Wrappers.lambdaQuery(new CoreCustomFormRelationUserParent()) - .eq(CoreCustomFormRelationUserParent::getCustomFormId, formId) - .eq(CoreCustomFormRelationUserParent::getParentId, key)); - CoreCustomFormRelationUser relationStudent = userService.getById(one.getCustomUserId()); - - EduStudent hget = (EduStudent) redisService.hget(STUDENT_DATA, relationStudent.getUserId().toString()); - List parents = hget.getParents(); - EduParent parent = parents.stream().filter(p -> p.getWxId().equals(key)).collect(Collectors.toList()).get(0); - - String classAndGrade = hget.getGradeName() + hget.getClassName(); - row1.createCell(1).setCellValue(ObjectUtil.toString(classAndGrade)); - row1.createCell(2).setCellValue(ObjectUtil.toString(parent.getParentType())); - row1.createCell(3).setCellValue(ObjectUtil.toString(parent.getMobile())); - continue; - } - if ("create_date".equals(key)) { - SimpleDateFormat myFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - row1.createCell(coreCustomFormItemList.size() + 3).setCellValue(myFmt.format(myFmt.parse(ObjectUtil.toString(value)))); - continue; - } - for (int i = 0; i < coreCustomFormItemList.size(); i++) { - String itemFiledName = coreCustomFormItemList.get(i).getItemFiledName(); - if (key.equals(itemFiledName)) { - row1.createCell(i + 4).setCellValue(ObjectUtil.toString(value)); - } - } - } - } - ExcelUtil.export("表单数据", "xlsx", workbook, response); - } - } - - @Override - public Map findData(Long formId, Long userId) { - CoreCustomForm form = coreCustomFormService.getById(formId); - String sql = "select * from " + form.getTableName() + " where user_id = " + userId; - - return coreCustomFormDataMapper.findData(sql); - } - - @Override - public void truncateTable(String sql) { - coreCustomFormDataMapper.truncateTable(sql); - } - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormGroupServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormGroupServiceImpl.java deleted file mode 100644 index fcff5ed..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormGroupServiceImpl.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.yida.data.form.customForm.service.impl; - -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.customform.CoreCustomFormGroup; -import com.yida.data.form.customForm.mapper.CoreCustomFormGroupMapper; -import com.yida.data.form.customForm.service.CoreCustomFormGroupService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.annotation.Propagation; -import lombok.RequiredArgsConstructor; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - - -/** - * 表单组 Service实现 - * - * @author ccl - * @date 2021-11-05 15:41:03 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class CoreCustomFormGroupServiceImpl extends ServiceImpl - implements CoreCustomFormGroupService { - - private final CoreCustomFormGroupMapper coreCustomFormGroupMapper; - - - - @Override - public Page findGroupPageList(Integer pageNum,Integer pageSize,String groupName) { - - Page groupPage = page(new Page<>(pageNum, pageSize), Wrappers.lambdaQuery(new CoreCustomFormGroup()) - .like(CoreCustomFormGroup::getGroupName, groupName) - .orderByDesc(CoreCustomFormGroup::getCreateDate)); - - return groupPage; - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormItemChildrenServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormItemChildrenServiceImpl.java deleted file mode 100644 index 306fe1b..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormItemChildrenServiceImpl.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.yida.data.form.customForm.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.customform.CoreCustomFormItemChildren; -import com.yida.data.form.customForm.mapper.CoreCustomFormItemChildrenMapper; -import com.yida.data.form.customForm.service.CoreCustomFormItemChildrenService; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; - -/** - * 自定义表单类型表 Service实现 - * - * @author wjm - * @date 2021-08-12 10:56:57 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class CoreCustomFormItemChildrenServiceImpl extends ServiceImpl implements CoreCustomFormItemChildrenService { - - @Resource - private final CoreCustomFormItemChildrenMapper coreCustomFormItemChildrenMapper; -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormItemsServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormItemsServiceImpl.java deleted file mode 100644 index b0719dd..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormItemsServiceImpl.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.yida.data.form.customForm.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.customform.CoreCustomFormItems; -import com.yida.data.form.customForm.mapper.CoreCustomFormItemsMapper; -import com.yida.data.form.customForm.service.CoreCustomFormItemsService; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; - -/** - * 自定义表单类型表 Service实现 - * - * @author wjm - * @date 2021-08-12 10:56:57 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class CoreCustomFormItemsServiceImpl extends ServiceImpl implements CoreCustomFormItemsService { - - @Resource - private final CoreCustomFormItemsMapper coreCustomFormItemsMapper; - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormModelItemChildrenServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormModelItemChildrenServiceImpl.java deleted file mode 100644 index c7db82e..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormModelItemChildrenServiceImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.form.customForm.service.impl; - -import com.yida.data.common.core.entity.customform.CoreCustomFormModelItemChildren; -import com.yida.data.form.customForm.mapper.CoreCustomFormModelItemChildrenMapper; -import com.yida.data.form.customForm.service.CoreCustomFormModelItemChildrenService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.annotation.Propagation; -import lombok.RequiredArgsConstructor; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -/** -* 自定义表单模板组件 Service实现 -* -* @author wjm -* @date 2021-08-30 15:22:32 -*/ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class CoreCustomFormModelItemChildrenServiceImpl extends ServiceImpl - implements CoreCustomFormModelItemChildrenService { - -private final CoreCustomFormModelItemChildrenMapper coreCustomFormModelItemChildrenMapper; - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormModelItemsServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormModelItemsServiceImpl.java deleted file mode 100644 index d591c89..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormModelItemsServiceImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.form.customForm.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.customform.CoreCustomFormModelItems; -import com.yida.data.form.customForm.mapper.CoreCustomFormModelItemsMapper; -import com.yida.data.form.customForm.service.CoreCustomFormModelItemsService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.annotation.Propagation; -import lombok.RequiredArgsConstructor; - -/** -* 自定义表单模板组件 Service实现 -* -* @author wjm -* @date 2021-08-30 15:22:49 -*/ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class CoreCustomFormModelItemsServiceImpl extends ServiceImpl - implements CoreCustomFormModelItemsService { - -private final CoreCustomFormModelItemsMapper coreCustomFormModelItemsMapper; - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormModelServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormModelServiceImpl.java deleted file mode 100644 index 584919b..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormModelServiceImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.form.customForm.service.impl; - -import com.yida.data.common.core.entity.customform.CoreCustomFormModel; -import com.yida.data.form.customForm.mapper.CoreCustomFormModelMapper; -import com.yida.data.form.customForm.service.CoreCustomFormModelService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.annotation.Propagation; -import lombok.RequiredArgsConstructor; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -/** -* 自定义表单模板 Service实现 -* -* @author wjm -* @date 2021-08-30 15:22:15 -*/ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class CoreCustomFormModelServiceImpl extends ServiceImpl - implements CoreCustomFormModelService { - -private final CoreCustomFormModelMapper coreCustomFormModelMapper; - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormRelationAdminServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormRelationAdminServiceImpl.java deleted file mode 100644 index f97ea3f..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormRelationAdminServiceImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.form.customForm.service.impl; - -import com.yida.data.common.core.entity.customform.CoreCustomFormRelationAdmin; -import com.yida.data.form.customForm.mapper.CoreCustomFormRelationAdminMapper; -import com.yida.data.form.customForm.service.CoreCustomFormRelationAdminService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.annotation.Propagation; -import lombok.RequiredArgsConstructor; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -/** -* 表单对应管理员 Service实现 -* -* @author ccl -* @date 2021-11-05 15:41:08 -*/ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class CoreCustomFormRelationAdminServiceImpl extends ServiceImpl - implements CoreCustomFormRelationAdminService { - -private final CoreCustomFormRelationAdminMapper coreCustomFormRelationAdminMapper; - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormRelationUserParentServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormRelationUserParentServiceImpl.java deleted file mode 100644 index c234cc2..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormRelationUserParentServiceImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.yida.data.form.customForm.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.customform.CoreCustomFormRelationUserParent; -import com.yida.data.common.core.entity.customform.CoreCustomFormStatistic; -import com.yida.data.form.customForm.mapper.CoreCustomFormRelationUserParentMapper; -import com.yida.data.form.customForm.service.CoreCustomFormRelationUserParentService; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** - * @author ccl - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class CoreCustomFormRelationUserParentServiceImpl extends ServiceImpl - implements CoreCustomFormRelationUserParentService { - @Override - public CoreCustomFormStatistic findParentStatistic(Long formId) { - Integer total = baseMapper.findTotal(formId); - Integer notCommit =baseMapper.findParentStatistic(formId); - CoreCustomFormStatistic formStatistic = new CoreCustomFormStatistic(); - formStatistic.setCustomFormId(formId); - formStatistic.setNotSubmitNum(notCommit); - formStatistic.setTotalNum(total); - formStatistic.setSubmitNum(total-notCommit); - return formStatistic; - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormRelationUserServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormRelationUserServiceImpl.java deleted file mode 100644 index 27b31f4..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormRelationUserServiceImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.yida.data.form.customForm.service.impl; - -import com.yida.data.common.core.entity.customform.CoreCustomFormRelationUser; -import com.yida.data.common.core.entity.customform.CoreCustomFormStatistic; -import com.yida.data.form.customForm.mapper.CoreCustomFormRelationUserMapper; -import com.yida.data.form.customForm.service.CoreCustomFormRelationUserService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.annotation.Propagation; -import lombok.RequiredArgsConstructor; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -/** - * 表单对应可见人员表 Service实现 - * - * @author ccl - * @date 2021-11-05 15:41:11 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class CoreCustomFormRelationUserServiceImpl extends ServiceImpl - implements CoreCustomFormRelationUserService { - - private final CoreCustomFormRelationUserMapper coreCustomFormRelationUserMapper; - - @Override - public Integer findUserNum(Long id) { - return baseMapper.findUserNum(id); - } - - @Override - public CoreCustomFormStatistic findStatistic(Long formId) { - Integer num = baseMapper.findNotCommit(formId); - CoreCustomFormStatistic formStatistic = new CoreCustomFormStatistic(); - formStatistic.setTotalNum(findUserNum(formId)); - formStatistic.setNotSubmitNum(num); - formStatistic.setSubmitNum(findUserNum(formId)-num); - formStatistic.setCustomFormId(formId); - return formStatistic; - } - - @Override - public Page findUserList(Page page, Integer type, String name, Long formId) { - - return baseMapper.findUserList(page,type,name,formId); - } -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormServiceImpl.java deleted file mode 100644 index 5092ace..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormServiceImpl.java +++ /dev/null @@ -1,1062 +0,0 @@ -package com.yida.data.form.customForm.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.constant.AppConstant; -import com.yida.data.common.core.entity.customform.*; -import com.yida.data.common.core.entity.job.Job; -import com.yida.data.common.core.entity.notice.qywx.BaseStaffNotice; -import com.yida.data.common.core.entity.notice.qywx.TextSchoolNotice; -import com.yida.data.common.core.entity.notice.qywx.inside.Text; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.EduApp; -import com.yida.data.common.core.entity.user.EduParent; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStaffDept; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.utils.ExcelUtil; -import com.yida.data.common.core.utils.WxUtil; -import com.yida.data.common.service.CommonService; -import com.yida.data.customForm.dto.RemindAgainDTO; -import com.yida.data.customForm.vo.*; -import com.yida.data.form.customForm.mapper.CoreCustomFormMapper; -import com.yida.data.form.customForm.service.*; -import com.yida.data.job.feign.RemoteJobService; -import com.yida.data.user.feign.RemoteStaffService; -import com.yida.data.user.feign.RemoteStudentService; -import lombok.RequiredArgsConstructor; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import static com.yida.data.common.core.entity.constant.CachePrefixConstant.STAFF_DATA; -import static com.yida.data.common.core.entity.constant.CachePrefixConstant.STUDENT_DATA; - -/** - * 自定义表单 Service实现 - * - * @author wjm - * @date 2021-08-11 20:55:19 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class CoreCustomFormServiceImpl extends ServiceImpl implements CoreCustomFormService { - - private static final String JOB_BEAN_NAME = "formUpdateTask"; - private static final String JOB_METHOD_NAME = "formUpdate"; - private static final String JOB_METHOD_NAME1 = "formRemind"; - @Resource - private final CoreCustomFormAuthRelationFormService relationFormService; - @Resource - private final CoreCustomFormRelationAdminService adminService; - @Resource - private final CoreCustomFormMapper coreCustomFormMapper; - @Resource - private CoreCustomFormItemsService coreCustomFormItemsService; - @Resource - private CoreCustomFormItemChildrenService coreCustomFormItemChildrenService; - @Resource - private CoreCustomFormRelationUserService relationUserService; - @Resource - private CoreCustomFormTopicalService topicalService; - @Resource - private CoreCustomFormRelationUserParentService parentService; - @Resource - private RemoteStaffService remoteStaffService; - @Resource - private CoreCustomFormDataService coreCustomFormDataService; - - @Resource - private CommonService commonService; - @Resource - private WxUtil wxUtil; - @Resource - private RedisService redisService; - - @Resource - private RemoteJobService remoteJobService; - @Resource - private RemoteStudentService remoteStudentService; - - @Value("${edu.customform.basetablename}") - private String baseTableName; - - @Value("${febs.parentFormUrl}") - private String parentFormUrl; - - @Value("${febs.teacherFormUrl}") - private String teacherFormUrl; - - @Override - public IPage findCustomFormPageList(Page page, Long schoolId, Long formTypeId, String model, CurrentUser currentUser) { - CoreCustomForm coreCustomForm = new CoreCustomForm(); - if (0 == formTypeId) { - coreCustomForm.setCreateId(currentUser.getUserId()); - coreCustomForm.setFormTypeId(null); - } else { - coreCustomForm.setFormTypeId(formTypeId); - } - coreCustomForm.setOrgId(schoolId); - IPage pageList = coreCustomFormMapper.findPageList(page, coreCustomForm); - pageList.getRecords().forEach(customForm -> { - String tableName = customForm.getTableName(); - if (ObjectUtil.isNotEmpty(tableName)) { - String sql = "SELECT count(id) FROM " + tableName; - int i = coreCustomFormMapper.initSqlReturnInt(sql); - customForm.setSubmitNum(i); - } - }); - return pageList; - } - - /*** - * @Author jianMingWang - * @Description 保存表单信息 - * @Date 15:39 2021/8/12 - * @Param [coreCustomForm] - * @return void - **/ - @Override - public Integer saveForm(CoreCustomForm coreCustomForm) { - - - if (ObjectUtil.isNotEmpty(coreCustomForm.getId())) { - CoreCustomForm byId = getById(coreCustomForm.getId()); - //2.1编辑时判断是否已发布,发布后不能修改 - if (byId.getStatus() == 1) { - //已发布,不能修改 - return 1; - } - updateById(coreCustomForm); - //2.2删除之前的任务 - remoteJobService.delJobByMethod(JOB_BEAN_NAME, JOB_METHOD_NAME, coreCustomForm.getId().toString()); - //2.4删除附表 - coreCustomFormItemsService.remove(Wrappers.query().lambda().eq(CoreCustomFormItems::getFormId, coreCustomForm.getId())); - coreCustomFormItemChildrenService.remove(Wrappers.query().lambda().eq(CoreCustomFormItemChildren::getFormId, coreCustomForm.getId())); - relationUserService.remove(Wrappers.lambdaQuery(new CoreCustomFormRelationUser()) - .eq(CoreCustomFormRelationUser::getCustomFormId, coreCustomForm.getId())); - adminService.remove(Wrappers.lambdaQuery(new CoreCustomFormRelationAdmin()) - .eq(CoreCustomFormRelationAdmin::getCustomFormId, coreCustomForm.getId())); - //2.4删除表对应的管理员的权限 - relationFormService.remove(Wrappers.lambdaQuery(new CoreCustomFormAuthRelationForm()) - .eq(CoreCustomFormAuthRelationForm::getCustomFormId, coreCustomForm.getId())); - parentService.remove(Wrappers.lambdaQuery(new CoreCustomFormRelationUserParent()) - .eq(CoreCustomFormRelationUserParent::getCustomFormId, coreCustomForm.getId())); - } else { - coreCustomForm.setTableName(baseTableName + System.currentTimeMillis()); - save(coreCustomForm); - } - String droptableSql = "DROP TABLE IF EXISTS `" + coreCustomForm.getTableName() + "`; \n"; - - StringBuffer stringBuffer = new StringBuffer(); - String createTableSql = "CREATE TABLE " + coreCustomForm.getTableName() + "( \n" + "`id` int(11) NOT NULL AUTO_INCREMENT,\n"; - stringBuffer.append(createTableSql); - - - //3.1添加组件 - coreCustomForm.getCoreCustomFormItemsList().forEach(coreCustomFormItems -> { - - String typeValue = ""; - if ("moreInput".equals(coreCustomFormItems.getItemType())) { - typeValue = "text"; - } else { - typeValue = "varchar(255)"; - } - String filedName = coreCustomFormItems.getItemType() + System.currentTimeMillis(); - String sql = "`" + filedName + "` " + typeValue + " DEFAULT NULL COMMENT '" + coreCustomFormItems.getItemTitle() + "'"; - stringBuffer.append(sql).append(","); - - - coreCustomFormItems.setId(null); - coreCustomFormItems.setFormId(coreCustomForm.getId()); - coreCustomFormItems.setDelFlag(0); - coreCustomFormItems.setItemFiledName(filedName); - coreCustomFormItemsService.save(coreCustomFormItems); - - coreCustomFormItems.getCoreCustomFormItemChildrenList().forEach(coreCustomFormItemChildren -> { - coreCustomFormItemChildren.setId(null); - coreCustomFormItemChildren.setFormItemId(coreCustomFormItems.getId()); - coreCustomFormItemChildren.setFormId(coreCustomForm.getId()); - coreCustomFormItemChildrenService.save(coreCustomFormItemChildren); - - }); - - }); - - - //3.2执行创建表sql - - coreCustomFormMapper.initSqlReturnVoid(droptableSql); - - String initsql = stringBuffer + - "`user_id` bigint DEFAULT NULL,\n" + - "`create_date` datetime DEFAULT NULL,\n" + - "PRIMARY KEY (`id`)\n" + - ") ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8"; - - coreCustomFormMapper.initSqlReturnVoid(initsql); - - //4.1保存表单对应管理员和管理员对应权限 - List adminList = new ArrayList<>(); - List adminAuthList = new ArrayList<>(); - List formRelationAdmins = coreCustomForm.getFormRelationAdmins(); - for (CoreCustomFormRelationAdmin formRelationAdmin : formRelationAdmins) { - formRelationAdmin.setCustomFormId(coreCustomForm.getId()); - adminList.add(formRelationAdmin); - List relationForms = formRelationAdmin.getRelationForms(); - for (CoreCustomFormAuthRelationForm relationForm : relationForms) { - relationForm.setUserId(formRelationAdmin.getAdminId()); - relationForm.setCustomFormId(coreCustomForm.getId()); - adminAuthList.add(relationForm); - } - } - adminService.saveBatch(adminList); - - relationFormService.saveBatch(adminAuthList); - - //4.1保存填写人员列表,如果每个家长必须填,则保存家长WxId,如果为每个学生必须填,则保存学生id - - List userList = new ArrayList<>(); - List formRelationUsers = coreCustomForm.getFormRelationUsers(); - for (CoreCustomFormRelationUser formRelationUser : formRelationUsers) { - formRelationUser.setCustomFormId(coreCustomForm.getId()); - userList.add(formRelationUser); - } - relationUserService.saveBatch(userList); - //4.1.1如果表单收集对象为家长则保存家长微信id和家长id - List userParentList = new ArrayList<>(); - if (coreCustomForm.getRecever() == 2) { - for (CoreCustomFormRelationUser formRelationUser : userList) { - EduStudent student = (EduStudent) redisService.hget(STUDENT_DATA, formRelationUser.getUserId().toString()); - if (ObjectUtil.isEmpty(student)) { - student = remoteStudentService.getStudentNoPermission(formRelationUser.getUserId()).getData(); - redisService.hset(STUDENT_DATA, formRelationUser.getUserId().toString(), student); - } - List parents = student.getParents(); - for (EduParent parent : parents) { - CoreCustomFormRelationUserParent userParent = new CoreCustomFormRelationUserParent(); - userParent.setParentId(parent.getId()); - userParent.setParentWxId(parent.getWxId()); - userParent.setCustomFormId(coreCustomForm.getId()); - userParent.setCustomUserId(formRelationUser.getId()); - userParentList.add(userParent); - } - - } - } - parentService.saveBatch(userParentList); - - if (ObjectUtil.isEmpty(coreCustomForm.getId())) { - //1.新增主体表 - //1.1直接发布看需不需要提醒 - if (coreCustomForm.getStatus() == 1) { - //1.1.1发布时需要提醒用户且为家长 - if (coreCustomForm.getRemindUser() == 1) { - remindUser(coreCustomForm); - } - - //1.2定时发布 - if (coreCustomForm.getPublishType() == 1) { - - LocalDateTime publishDate = coreCustomForm.getPublishDate(); - Job job = new Job(); - job.setBeanName(JOB_BEAN_NAME); - job.setMethodName(JOB_METHOD_NAME); - job.setParams(coreCustomForm.getId().toString()); - job.setStatus(Job.ScheduleStatus.NORMAL.getValue()); - - // 1.2.1cron表达式 - String cron = "0" + - " " + - publishDate.getMinute() + - " " + - publishDate.getHour() + - " " + - publishDate.getDayOfMonth() + - " " + - publishDate.getMonthValue() + - " " + - "?" + - " " + - publishDate.getYear(); - job.setCronExpression(cron); - remoteJobService.saveJob(job); - } - } - } else { - //2.编辑 - - //2.3定时发布 - if (coreCustomForm.getPublishType() == 1) { - - LocalDateTime publishDate = coreCustomForm.getPublishDate(); - Job job = new Job(); - job.setBeanName(JOB_BEAN_NAME); - job.setMethodName(JOB_METHOD_NAME); - job.setParams(coreCustomForm.getId().toString()); - job.setStatus(Job.ScheduleStatus.NORMAL.getValue()); - - //2.3.1cron表达式 - String cron = "0" + - " " + - publishDate.getMinute() + - " " + - publishDate.getHour() + - " " + - publishDate.getDayOfMonth() + - " " + - publishDate.getMonthValue() + - " " + - "?" + - " " + - publishDate.getYear(); - job.setCronExpression(cron); - remoteJobService.saveJob(job); - } - //修改为立即发布看需不需要通知家长; - if (coreCustomForm.getStatus() == 1) { - if (coreCustomForm.getRemindUser() == 1) { - remindUser(coreCustomForm); - } - } - } - return 200; - } - - /** - * 通知表单对应人员 - * - * @param coreCustomForm - */ - private void remindUser(CoreCustomForm coreCustomForm) { - if (coreCustomForm.getRecever() == 1 || coreCustomForm.getRecever() == 2) { - - List userId = new ArrayList<>(); - for (CoreCustomFormRelationUser formRelationUser : coreCustomForm.getFormRelationUsers()) { - userId.add(formRelationUser.getUserId()); - } - List parentId = remoteStudentService.findParentWxId(userId).getData(); - //1.1.2发送通知 - TextSchoolNotice textSchoolNotice = new TextSchoolNotice(); - EduApp appByCodeAndSchool = commonService.getAppByCodeAndSchool(AppConstant.INDEX_PARENT, null, coreCustomForm.getOrgId()); - - Text text = new Text(); - textSchoolNotice.setText(text); - textSchoolNotice.setAgentid(appByCodeAndSchool.getWxAgentId()); - String url = parentFormUrl + appByCodeAndSchool.getWxCorpId() + "&loginType=0&userType=1&state=" + AppConstant.INDEX_PARENT + "&id=" + coreCustomForm.getId(); - String remindUserModel = coreCustomForm.getRemindUserModel(); - if (ObjectUtil.isEmpty(remindUserModel)) { - remindUserModel = ""; - } - text.setContent("" + "《" + coreCustomForm.getFormTitle() + "》" + remindUserModel + ""); - textSchoolNotice.setTo_parent_userid(parentId); - String accessToken = wxUtil.getAccessToken(appByCodeAndSchool.getWxCorpId(), appByCodeAndSchool.getWxSecret()); - wxUtil.pushSchoolNotice(accessToken, textSchoolNotice); - - } - //通知教职工 - if (coreCustomForm.getRecever() == 0) { - for (CoreCustomFormRelationUser relationUser : coreCustomForm.getFormRelationUsers()) { - EduStaff staff = remoteStaffService.getStaffNoPermission(relationUser.getUserId()).getData(); - BaseStaffNotice textSchoolNotice = new BaseStaffNotice(); - EduApp appByCodeAndSchool = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, coreCustomForm.getOrgId()); - Text text = new Text(); - textSchoolNotice.setText(text); - textSchoolNotice.setAgentid(appByCodeAndSchool.getWxAgentId()); - String url = teacherFormUrl + appByCodeAndSchool.getWxCorpId() + "&loginType=0&userType=0&state=" + - AppConstant.CONTACT_SELECT + "&id=" + coreCustomForm.getId(); - String remindUserModel = coreCustomForm.getRemindUserModel(); - if (ObjectUtil.isEmpty(remindUserModel)) { - remindUserModel = ""; - } - text.setContent("" + "《" + coreCustomForm.getFormTitle() + "》" + remindUserModel + ""); - textSchoolNotice.setTouser(staff.getWxId()); - String accessToken = wxUtil.getAccessToken(appByCodeAndSchool.getWxCorpId(), appByCodeAndSchool.getWxSecret()); - wxUtil.pushStaffNotice(accessToken, textSchoolNotice); - } - } - //1.2看需不需要快结束时提醒 - if (coreCustomForm.getRemind() == 1) { - //创建定时任务,快结束时提醒 - LocalDateTime publishDate = coreCustomForm.getEndDate().minusHours(coreCustomForm.getRemindHour()); - Job job = new Job(); - job.setBeanName(JOB_BEAN_NAME); - job.setMethodName(JOB_METHOD_NAME1); - job.setParams(coreCustomForm.getId().toString()); - job.setStatus(Job.ScheduleStatus.NORMAL.getValue()); - - - // 1.2.1cron表达式 - String cron = "0" + - " " + - publishDate.getMinute() + - " " + - publishDate.getHour() + - " " + - publishDate.getDayOfMonth() + - " " + - publishDate.getMonthValue() + - " " + - "?" + - " " + - publishDate.getYear(); - job.setCronExpression(cron); - remoteJobService.saveJob(job); - } - } - - @Override - public IPage appFindFormList(Page page, Long userId, String tableName, Integer status, Long schoolId, Integer type) { - - List userIdList = new ArrayList<>(); - - - //type = 1 的时候 userId = 家长id - if (type == 1) { - List data = remoteStudentService.listStudentByParent(userId).getData(); - //空的证明没有学生直接返回; - if (CollectionUtil.isEmpty(data)) { - return new Page<>(); - } - for (EduStudent datum : data) { - userIdList.add(datum.getId()); - } - - IPage coreCustomFormIPage = baseMapper.appFindFormList(page, userIdList, tableName, status, schoolId, type); - for (CoreCustomForm record : coreCustomFormIPage.getRecords()) { - - if (record.getRecever() == 1) { - //已填报数量 - int size = relationUserService.list(Wrappers.lambdaQuery(new CoreCustomFormRelationUser()) - .eq(CoreCustomFormRelationUser::getCustomFormId, record.getId()) - .eq(CoreCustomFormRelationUser::getFill, 1) - .in(CoreCustomFormRelationUser::getUserId, userIdList)).size(); - record.setFillNum(size); - //已填报数量需要填报数量 - int needSize = relationUserService.list(Wrappers.lambdaQuery(new CoreCustomFormRelationUser()) - .eq(CoreCustomFormRelationUser::getCustomFormId, record.getId()) - .in(CoreCustomFormRelationUser::getUserId, userIdList)).size(); - record.setNeedFillNum(needSize); - } else { - Integer fillType = parentService.getOne(Wrappers.lambdaQuery(new CoreCustomFormRelationUserParent()) - .eq(CoreCustomFormRelationUserParent::getCustomFormId, record.getId()) - .eq(CoreCustomFormRelationUserParent::getParentId, userId)).getFillType(); - record.setFill(fillType); - } - } - return coreCustomFormIPage; - } else { - userIdList.add(userId); - - return baseMapper.appFindFormList(page, userIdList, tableName, status, schoolId, type); - } - } - - @Override - public IPage appFindAdminFormList(Page page, Long userId, String tableName, Integer status, Long schoolId) { - - return baseMapper.appFindAdminFormList(page, userId, tableName, status, schoolId); - } - - @Override - public Boolean appHandOnCustomForm(Long userId, Long schoolId) { - List list = adminService.list(Wrappers.lambdaQuery(new CoreCustomFormRelationAdmin()) - .eq(CoreCustomFormRelationAdmin::getAdminId, userId)); - return !CollectionUtil.isEmpty(list); - } - - @Override - public CoreCustomForm findById(Long id) { - CoreCustomForm coreCustomForm = getById(id); - List coreCustomFormItemList = coreCustomFormItemsService.list(Wrappers.query().lambda().eq(CoreCustomFormItems::getFormId, id)); - coreCustomFormItemList.forEach(coreCustomFormItems -> { - List coreCustomFormItemChildrenList = coreCustomFormItemChildrenService.list(Wrappers.query().lambda().eq(CoreCustomFormItemChildren::getFormItemId, coreCustomFormItems.getId())); - coreCustomFormItems.setCoreCustomFormItemChildrenList(coreCustomFormItemChildrenList); - }); - coreCustomForm.setCoreCustomFormItemsList(coreCustomFormItemList); - - //查询表对应主题 - coreCustomForm.setCoreCustomFormTopical(topicalService.getOne(Wrappers.lambdaQuery(new CoreCustomFormTopical()) - .eq(CoreCustomFormTopical::getCustomFormId, id))); - //查询对应关联填写用户 - List list = relationUserService.list(Wrappers.lambdaQuery(new CoreCustomFormRelationUser()) - .eq(CoreCustomFormRelationUser::getCustomFormId, id)); - coreCustomForm.setFormRelationUsers(list); - //查询对应关联管理员 - List relationAdmins = adminService.list(Wrappers.lambdaQuery(new CoreCustomFormRelationAdmin()) - .eq(CoreCustomFormRelationAdmin::getCustomFormId, id)); - for (CoreCustomFormRelationAdmin relationAdmin : relationAdmins) { - //查询对应关联权限 - relationAdmin.setRelationForms(relationFormService.list(Wrappers.lambdaQuery(new CoreCustomFormAuthRelationForm()) - .eq(CoreCustomFormAuthRelationForm::getCustomFormId, id) - .eq(CoreCustomFormAuthRelationForm::getUserId, relationAdmin.getAdminId()))); - } - coreCustomForm.setFormRelationAdmins(relationAdmins); - - return coreCustomForm; - } - - @Override - public void delForm(Long id) { - //删除主表 - baseMapper.deleteById(id); - //删除附表 - relationUserService.remove(Wrappers.lambdaQuery(new CoreCustomFormRelationUser()) - .eq(CoreCustomFormRelationUser::getCustomFormId, id)); - adminService.remove(Wrappers.lambdaQuery(new CoreCustomFormRelationAdmin()) - .eq(CoreCustomFormRelationAdmin::getCustomFormId, id)); - coreCustomFormItemsService.remove(Wrappers.lambdaQuery(new CoreCustomFormItems()) - .eq(CoreCustomFormItems::getFormId, id)); - coreCustomFormItemChildrenService.remove(Wrappers.lambdaQuery(new CoreCustomFormItemChildren()) - .eq(CoreCustomFormItemChildren::getFormId, id)); - relationFormService.remove(Wrappers.lambdaQuery(new CoreCustomFormAuthRelationForm()) - .eq(CoreCustomFormAuthRelationForm::getCustomFormId, id)); - topicalService.remove(Wrappers.lambdaQuery(new CoreCustomFormTopical()) - .eq(CoreCustomFormTopical::getCustomFormId, id)); - } - - @Override - public void updateAndSendNotice(Long formId) { - - //修改为发布 - update(Wrappers.lambdaUpdate(new CoreCustomForm()) - .eq(CoreCustomForm::getId, formId) - .set(CoreCustomForm::getStatus, 1)); - - CoreCustomForm coreCustomForm = getById(formId); - List list = relationUserService.list(Wrappers.lambdaQuery(new CoreCustomFormRelationUser()) - .eq(CoreCustomFormRelationUser::getCustomFormId, formId)); - - //发布时需要提醒用户且为家长 - if (coreCustomForm.getRemindUser() == 1 && coreCustomForm.getRecever() == 1) { - List userId = new ArrayList<>(); - for (CoreCustomFormRelationUser formRelationUser : list) { - userId.add(formRelationUser.getUserId()); - } - List parentId = remoteStudentService.findParentWxId(userId).getData(); - //发送通知 - TextSchoolNotice textSchoolNotice = new TextSchoolNotice(); - EduApp appByCodeAndSchool = commonService.getAppByCodeAndSchool(AppConstant.INDEX_PARENT, null, coreCustomForm.getOrgId()); - - Text text = new Text(); - textSchoolNotice.setText(text); - textSchoolNotice.setAgentid(appByCodeAndSchool.getWxAgentId()); - String url = parentFormUrl + appByCodeAndSchool.getWxCorpId() + "&loginType=0&userType=1&state=" + AppConstant.INDEX_PARENT + "&id=" + coreCustomForm.getId(); - String remindUserModel = coreCustomForm.getRemindUserModel(); - if (ObjectUtil.isEmpty(remindUserModel)) { - remindUserModel = ""; - } - text.setContent("" + "《" + coreCustomForm.getFormTitle() + "》" + remindUserModel + ""); - textSchoolNotice.setTo_parent_userid(parentId); - String accessToken = wxUtil.getAccessToken(appByCodeAndSchool.getWxCorpId(), appByCodeAndSchool.getWxSecret()); - wxUtil.pushSchoolNotice(accessToken, textSchoolNotice); - } - //发布同时开启了快到期提醒 - if (coreCustomForm.getRemind() == 1) { - //创建定时任务,快结束时提醒 - LocalDateTime publishDate = coreCustomForm.getEndDate().minusHours(coreCustomForm.getRemindHour()); - //发布时的 - if (publishDate.isAfter(LocalDateTime.now())) { - - } - Job job = new Job(); - job.setBeanName(JOB_BEAN_NAME); - job.setMethodName(JOB_METHOD_NAME1); - job.setParams(coreCustomForm.getId().toString()); - job.setStatus(Job.ScheduleStatus.NORMAL.getValue()); - - StringBuilder cron = new StringBuilder(); - // 1.2.1cron表达式 - cron.append("0") - .append(" ") - .append(publishDate.getMinute()) - .append(" ") - .append(publishDate.getHour()) - .append(" ") - .append(publishDate.getDayOfMonth()) - .append(" ") - .append(publishDate.getMonthValue()) - .append(" ") - .append("?") - .append(" ") - .append(publishDate.getYear()); - job.setCronExpression(cron.toString()); - remoteJobService.saveJob(job); - } - } - - @Override - public Page findCommitUser(Long formId, Integer fillType, Page page) { - CoreCustomForm form = getById(formId); - List submitFormDataListByFormId = coreCustomFormDataService.findSubmitFormDataListByFormId(formId.intValue(), null, null); - List formItems = coreCustomFormItemsService.list(Wrappers.lambdaQuery(new CoreCustomFormItems()) - .eq(CoreCustomFormItems::getFormId, formId)); - - //接收对象为家长 - List commitUser = new ArrayList<>(); - if (form.getRecever() == 2) { - Page parentPage = parentService.page(page, Wrappers.lambdaQuery(new CoreCustomFormRelationUserParent()) - .eq(CoreCustomFormRelationUserParent::getCustomFormId, formId) - .eq(CoreCustomFormRelationUserParent::getFillType, fillType)); - for (CoreCustomFormRelationUserParent record : parentPage.getRecords()) { - List collect = submitFormDataListByFormId.stream().filter(o -> o.get("user_id").toString().equals(record.getParentId().toString())).collect(Collectors.toList()); - for (Map datum : collect) { - if (form.getRecever() == 0) { - datum.put("type", 0); - } else if (form.getRecever() == 1) { - datum.put("type", 1); - } - CoreCustomFormRelationUser byId = relationUserService.getById(record.getCustomUserId()); - EduStudent student = (EduStudent) redisService.hget(STUDENT_DATA, byId.getUserId().toString()); - if (ObjectUtil.isEmpty(student)) { - student = remoteStudentService.getStudentNoPermission(byId.getUserId()).getData(); - redisService.hset(STUDENT_DATA, byId.getUserId().toString(), student); - } - EduParent parent = student.getParents().stream().filter(p -> p.getId().equals(record.getParentId())).collect(Collectors.toList()).get(0); - List eduParents = new ArrayList<>(); - eduParents.add(parent); - student.setParents(eduParents); - datum.put("parent", parent); - datum.put("filedList", formItems); - } - Map map = new HashMap<>(); - map.put("staffAndData", collect); - commitUser.add(map); - } - Page page1 = new Page<>(); - page1.setSize(parentPage.getSize()); - page1.setCurrent(parentPage.getCurrent()); - page1.setTotal(parentPage.getTotal()); - page1.setRecords(commitUser); - return page1; - } - - Page userPage = relationUserService.page(page, Wrappers.lambdaQuery(new CoreCustomFormRelationUser()) - .eq(CoreCustomFormRelationUser::getCustomFormId, formId) - .eq(CoreCustomFormRelationUser::getFill, fillType)); - for (CoreCustomFormRelationUser record : userPage.getRecords()) { - EduStaff staff = new EduStaff(); - EduStudent student = new EduStudent(); - if (form.getRecever() == 0) { - staff = (EduStaff) redisService.hget(STAFF_DATA, record.getUserId().toString()); - if (ObjectUtil.isEmpty(staff)) { - staff = remoteStaffService.getStaff(record.getUserId()).getData(); - redisService.hset(STAFF_DATA, record.getUserId().toString(), staff); - } - } - if (form.getRecever() == 1) { - student = (EduStudent) redisService.hget(STUDENT_DATA, record.getUserId().toString()); - if (ObjectUtil.isEmpty(student)) { - student = remoteStudentService.getStudentNoPermission(record.getUserId()).getData(); - redisService.hset(STUDENT_DATA, record.getUserId().toString(), student); - } - } - // - List data = submitFormDataListByFormId.stream().filter(o -> o.get("user_id").toString().equals(record.getUserId().toString())).collect(Collectors.toList()); - - for (Map datum : data) { - if (form.getRecever() == 0) { - datum.put("type", 0); - } else if (form.getRecever() == 1) { - datum.put("type", 1); - } - datum.put("student", student); - datum.put("staff", staff); - datum.put("filedList", formItems); - } - Map map = new HashMap<>(); - map.put("staffAndData", data); - commitUser.add(map); - } - Page page1 = new Page<>(); - page1.setSize(userPage.getSize()); - page1.setCurrent(userPage.getCurrent()); - page1.setTotal(userPage.getTotal()); - page1.setRecords(commitUser); - return page1; - } - - @Override - public CoreCustomFormStatistic findStatistic(Long formId) { - CoreCustomForm byId = getById(formId); - //教职工和学生统计 - if (byId.getRecever() == 0 || byId.getRecever() == 1) { - return relationUserService.findStatistic(formId); - } - //家长统计 - return parentService.findParentStatistic(formId); - } - - @Override - public void remindAgain(RemindAgainDTO dto) { - CoreCustomForm byId = getById(dto.getFormId()); - - //查询未填报人员id, - List userIdList = dto.getUserId(); - if (CollectionUtil.isEmpty(userIdList)) { - List staffList = relationUserService.list(Wrappers.lambdaQuery(new CoreCustomFormRelationUser()) - .eq(CoreCustomFormRelationUser::getCustomFormId, dto.getFormId()) - .eq(CoreCustomFormRelationUser::getFill, 0)); - for (CoreCustomFormRelationUser relationUser : staffList) { - userIdList.add(relationUser.getUserId()); - } - } - - //1.教职工通知 - if (byId.getRecever() == 0) { - for (Long staffId : userIdList) { - // - EduStaff staff = remoteStaffService.getStaffNoPermission(staffId).getData(); - BaseStaffNotice textSchoolNotice = new BaseStaffNotice(); - EduApp appByCodeAndSchool = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, byId.getOrgId()); - Text text = new Text(); - textSchoolNotice.setText(text); - textSchoolNotice.setAgentid(appByCodeAndSchool.getWxAgentId()); - String url = teacherFormUrl + appByCodeAndSchool.getWxCorpId() + "&loginType=0&userType=0&state=" + - AppConstant.CONTACT_SELECT + "&id=" + byId.getId(); - - text.setContent("" + "《" + byId.getFormTitle() + "》" + byId.getRemindUserModel() + ""); - textSchoolNotice.setTouser(staff.getWxId()); - String accessToken = wxUtil.getAccessToken(appByCodeAndSchool.getWxCorpId(), appByCodeAndSchool.getWxSecret()); - wxUtil.pushStaffNotice(accessToken, textSchoolNotice); - } - }//2.学生对象通知 - List parentWxId = remoteStudentService.findParentWxId(userIdList).getData(); - TextSchoolNotice textSchoolNotice = new TextSchoolNotice(); - EduApp appByCodeAndSchool = commonService.getAppByCodeAndSchool(AppConstant.INDEX_PARENT, null, byId.getOrgId()); - Text text = new Text(); - textSchoolNotice.setText(text); - textSchoolNotice.setAgentid(appByCodeAndSchool.getWxAgentId()); - String url = parentFormUrl + appByCodeAndSchool.getWxCorpId() + "&loginType=0&userType=1&state=" + - AppConstant.INDEX_PARENT + "&id=" + byId.getId(); - String remindUserModel = byId.getRemindUserModel(); - if (ObjectUtil.isEmpty(remindUserModel)) { - remindUserModel = ""; - } - text.setContent("" + "《" + byId.getFormTitle() + "》" + remindUserModel + ""); - textSchoolNotice.setTo_parent_userid(parentWxId); - String accessToken = wxUtil.getAccessToken(appByCodeAndSchool.getWxCorpId(), appByCodeAndSchool.getWxSecret()); - wxUtil.pushSchoolNotice(accessToken, textSchoolNotice); - - } - - @Override - public void exportUserListInOut(Long formId, Integer status, HttpServletResponse response) { - //导出已提交或未提交人员数据 - CoreCustomForm form = getById(formId); - //填写的主体为教职工 - if (form.getRecever() == 0) { - //职工信息列表 - List importStaffList = new ArrayList<>(); - List staffIdList = new ArrayList<>(); - List list = relationUserService.list(Wrappers.lambdaQuery(new CoreCustomFormRelationUser()) - .eq(CoreCustomFormRelationUser::getCustomFormId, formId) - .eq(CoreCustomFormRelationUser::getFill, status)); - for (CoreCustomFormRelationUser relationUser : list) { - staffIdList.add(relationUser.getUserId()); - } - for (Long staffId : staffIdList) { - EduStaff staff = (EduStaff) redisService.hget(STAFF_DATA, staffId.toString()); - ImportStaffVO importStaffVO = new ImportStaffVO(); - importStaffVO.setName(staff.getName()); - importStaffVO.setPhone(staff.getMobile()); - importStaffVO.setPosition(staff.getPosition()); - importStaffVO.setSchoolName(staff.getSchoolName()); - importStaffVO.setSex(staff.getSex()); - importStaffList.add(importStaffVO); - } - String name = ""; - if (status == 0) { - name = "未提交职工.xlsx"; - } else { - name = "已提交职工.xlsx"; - } - ExcelUtil.export(name, ImportStaffVO.class, importStaffList, response); - - } - //填写主体为学生 - else if (form.getRecever() == 1) { - //学生信息列表 - List importStudent = new ArrayList<>(); - List studentList = new ArrayList<>(); - List list = relationUserService.list(Wrappers.lambdaQuery(new CoreCustomFormRelationUser()) - .eq(CoreCustomFormRelationUser::getCustomFormId, formId) - .eq(CoreCustomFormRelationUser::getFill, status)); - for (CoreCustomFormRelationUser relationUser : list) { - studentList.add(relationUser.getUserId()); - } - for (Long studentId : studentList) { - EduStudent student = (EduStudent) redisService.hget(STUDENT_DATA, studentId.toString()); - if (ObjectUtil.isEmpty(student)) { - student = remoteStudentService.getStudentNoPermission(studentId).getData(); - } - ImportStudentVO importStudentVO = new ImportStudentVO(); - importStudentVO.setCampusName(student.getCampusName()); - importStudentVO.setClassName(student.getClassName()); - importStudentVO.setGradeName(student.getGradeName()); - importStudentVO.setSchoolName(student.getSchoolName()); - importStudentVO.setSectionName(student.getSectionName()); - importStudentVO.setStudentName(student.getStuName()); - importStudentVO.setStudentNum(student.getStuNumber()); - importStudent.add(importStudentVO); - } - String name = ""; - if (status == 0) { - name = "未提交学生.xlsx"; - } else { - name = "已提交学生.xlsx"; - } - ExcelUtil.export(name, ImportStudentVO.class, importStudent, response); - } - //填写主体为家长 - else if (form.getRecever() == 2) { - //学生信息加家长信息b - List importParentVOList = new ArrayList<>(); - List parentList = parentService.list(Wrappers.lambdaQuery(new CoreCustomFormRelationUserParent()) - .eq(CoreCustomFormRelationUserParent::getCustomFormId, formId) - .eq(CoreCustomFormRelationUserParent::getFillType, status)); - - for (CoreCustomFormRelationUserParent parent : parentList) { - CoreCustomFormRelationUser byId = relationUserService.getById(parent.getCustomUserId()); - - EduStudent student = (EduStudent) redisService.hget(STUDENT_DATA, byId.getUserId().toString()); - List collect = student.getParents().stream().filter(s -> s.getWxId().equals(parent.getParentId())).collect(Collectors.toList()); - - ImportParentVO importParentVO = new ImportParentVO(); - importParentVO.setCampusName(student.getCampusName()); - importParentVO.setClassName(student.getClassName()); - importParentVO.setGradeName(student.getGradeName()); - importParentVO.setSchoolName(student.getSchoolName()); - importParentVO.setSectionName(student.getSectionName()); - importParentVO.setStudentName(student.getStuName()); - importParentVO.setParentName(collect.get(0).getParentType()); - importParentVO.setPhone(collect.get(0).getMobile()); - importParentVOList.add(importParentVO); - - } - String name = ""; - if (status == 0) { - name = "未提交家长.xlsx"; - } else { - name = "已提交家长.xlsx"; - } - ExcelUtil.export(name, ImportParentVO.class, importParentVOList, response); - } - } - - - @Override - public void publishForm(CoreCustomForm byId) { - //修改表单发布,通知对应人员 - updateById(byId); - if (byId.getStatus() == 1) { - //通知教职工 - if (byId.getRecever() == 0) { - List staffList = relationUserService.list(Wrappers.lambdaQuery(new CoreCustomFormRelationUser()) - .eq(CoreCustomFormRelationUser::getCustomFormId, byId.getId())); - for (CoreCustomFormRelationUser relationUser : staffList) { - EduStaff staff = remoteStaffService.getStaffNoPermission(relationUser.getUserId()).getData(); - BaseStaffNotice textSchoolNotice = new BaseStaffNotice(); - EduApp appByCodeAndSchool = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, byId.getOrgId()); - Text text = new Text(); - textSchoolNotice.setText(text); - textSchoolNotice.setAgentid(appByCodeAndSchool.getWxAgentId()); - String url = teacherFormUrl + appByCodeAndSchool.getWxCorpId() + "&loginType=0&userType=0&state=" + AppConstant.CONTACT_SELECT + "&id=" + byId.getId(); - String remindUserModel = byId.getRemindUserModel(); - if (ObjectUtil.isEmpty(remindUserModel)) { - remindUserModel = ""; - } - text.setContent("" + "《" + byId.getFormTitle() + "》" + remindUserModel + ""); - textSchoolNotice.setTouser(staff.getWxId()); - String accessToken = wxUtil.getAccessToken(appByCodeAndSchool.getWxCorpId(), appByCodeAndSchool.getWxSecret()); - wxUtil.pushStaffNotice(accessToken, textSchoolNotice); - } - } - //通知学生所有家长 - else { - List studentList = relationUserService.list(Wrappers.lambdaQuery(new CoreCustomFormRelationUser()) - .eq(CoreCustomFormRelationUser::getCustomFormId, byId.getId())); - List studentIdList = new ArrayList<>(); - for (CoreCustomFormRelationUser student : studentList) { - studentIdList.add(student.getUserId()); - } - List parentWxId = remoteStudentService.findParentWxId(studentIdList).getData(); - TextSchoolNotice textSchoolNotice = new TextSchoolNotice(); - EduApp appByCodeAndSchool = commonService.getAppByCodeAndSchool(AppConstant.INDEX_PARENT, null, byId.getOrgId()); - Text text = new Text(); - textSchoolNotice.setText(text); - textSchoolNotice.setAgentid(appByCodeAndSchool.getWxAgentId()); - String url = parentFormUrl + appByCodeAndSchool.getWxCorpId() - + "&loginType=0&userType=1&state=" + AppConstant.INDEX_PARENT + "&id=" + byId.getId(); - String remindUserModel = byId.getRemindUserModel(); - if (ObjectUtil.isEmpty(remindUserModel)) { - remindUserModel = ""; - } - text.setContent("" + "《" + byId.getFormTitle() + "》" + remindUserModel + ""); - textSchoolNotice.setTo_parent_userid(parentWxId); - String accessToken = wxUtil.getAccessToken(appByCodeAndSchool.getWxCorpId(), appByCodeAndSchool.getWxSecret()); - wxUtil.pushSchoolNotice(accessToken, textSchoolNotice); - } - } else { - //撤回时,修改所有关联用户表为未填报,填报时间为null,清空对应data表 - relationUserService.update(Wrappers.lambdaUpdate(new CoreCustomFormRelationUser()) - .eq(CoreCustomFormRelationUser::getCustomFormId, byId.getId()) - .set(CoreCustomFormRelationUser::getFill, 0)); - - //清空对应data表 - String sql = "truncate table " + byId.getTableName(); - coreCustomFormDataService.truncateTable(sql); - } - } - - - @Override - public CoreCustomForm appFindFormAndData(Long userId, Long formId) { - CoreCustomForm form = getById(formId); - List itemList = coreCustomFormItemsService.list(Wrappers.lambdaQuery(new CoreCustomFormItems()) - .eq(CoreCustomFormItems::getFormId, formId)); - for (CoreCustomFormItems coreCustomFormItems : itemList) { - List itemChildrenList = coreCustomFormItemChildrenService.list(Wrappers.lambdaQuery(new CoreCustomFormItemChildren()) - .eq(CoreCustomFormItemChildren::getFormId, formId) - .eq(CoreCustomFormItemChildren::getFormItemId, coreCustomFormItems.getId())); - coreCustomFormItems.setCoreCustomFormItemChildrenList(itemChildrenList); - } - form.setCoreCustomFormItemsList(itemList); - CoreCustomFormTopical topical = topicalService.getOne(Wrappers.lambdaQuery(new CoreCustomFormTopical()) - .eq(CoreCustomFormTopical::getCustomFormId, formId)); - form.setCoreCustomFormTopical(topical); - Map userData = coreCustomFormDataService.findData(formId, userId); - form.setData(userData); - return form; - } - - @Override - public CommitUserVO commitUser(Long formId, Integer type, String name, Page page) { - CoreCustomForm form = getById(formId); - List userList = new ArrayList<>(); - - Page page1 = relationUserService.findUserList(page, type, name, formId); - List parentList = parentService.list(Wrappers.lambdaQuery(new CoreCustomFormRelationUserParent()) - .eq(CoreCustomFormRelationUserParent::getCustomFormId, formId) - .eq(CoreCustomFormRelationUserParent::getFillType, type)); - if (form.getRecever() == 2) { - for (CoreCustomFormRelationUserParent userParent : parentList) { - Long studentId = relationUserService.getById(userParent.getCustomUserId()).getUserId(); - EduStudent student = (EduStudent) redisService.hget(STUDENT_DATA, studentId.toString()); - List parents = student.getParents(); - EduParent parent = parents.stream().filter(p -> p.getId().equals(userParent.getParentId())).collect(Collectors.toList()).get(0); - - CommitVO commitVO = new CommitVO(); - commitVO.setId(parent.getId()); - String deptName = student.getGradeName() + student.getClassName(); - commitVO.setDeptName(deptName); - commitVO.setName(student.getStuName() + parent.getParentType()); - userList.add(commitVO); - } - } - for (CoreCustomFormRelationUser user : page1.getRecords()) { - if (form.getRecever() == 0) { - EduStaff staff = (EduStaff) redisService.hget(STAFF_DATA, user.getUserId().toString()); - if (ObjectUtil.isEmpty(staff)) { - staff = remoteStaffService.getStaff(user.getUserId()).getData(); - } - CommitVO commitVO = new CommitVO(); - commitVO.setId(staff.getId()); - - commitVO.setName(staff.getName()); - List staffDept = staff.getStaffDept(); - String staffDeptName = ""; - for (int i = 0; i < staffDept.size(); i++) { - Dept dept = commonService.getDept(staffDept.get(i).getDeptId()); - if (i == staffDept.size() - 1) { - staffDeptName += dept.getDeptName(); - } else { - staffDeptName += dept.getDeptName() + "/"; - } - ; - - } - commitVO.setDeptName(staffDeptName); - userList.add(commitVO); - } else if (form.getRecever() == 1) { - EduStudent student = (EduStudent) redisService.hget(STUDENT_DATA, user.getUserId().toString()); - if (ObjectUtil.isEmpty(student)) { - student = remoteStudentService.getStudentNoPermission(user.getUserId()).getData(); - - } - CommitVO commitVO = new CommitVO(); - commitVO.setId(student.getId()); - String deptName = student.getGradeName() + student.getClassName(); - commitVO.setDeptName(deptName); - commitVO.setName(student.getStuName()); - userList.add(commitVO); - - } - } - CommitUserVO commitUserVO = new CommitUserVO(); - commitUserVO.setType(form.getRecever()); - commitUserVO.setRecord(userList); - commitUserVO.setPageNum(page1.getCurrent()); - commitUserVO.setPageSize(page1.getSize()); - commitUserVO.setTotal(page1.getTotal()); - - return commitUserVO; - } - - @Override - public List appFindStudentByForm(Long userId, Long formId) { - List data = remoteStudentService.listStudentByParent(userId).getData(); - List list = relationUserService.list(Wrappers.lambdaQuery(new CoreCustomFormRelationUser()) - .eq(CoreCustomFormRelationUser::getCustomFormId, formId)); - List studentList = new ArrayList<>(); - for (CoreCustomFormRelationUser relationUser : list) { - for (EduStudent datum : data) { - if (relationUser.getUserId().equals(datum.getId())) { - FormStudentVO formStudentVO = new FormStudentVO(); - formStudentVO.setFill(relationUser.getFill()); - formStudentVO.setStudentId(datum.getId()); - formStudentVO.setStudentName(datum.getStuName()); - studentList.add(formStudentVO); - } - } - } - return studentList; - } - - /*** - * @Author jianMingWang - * @Description 组装执行sql - * @Date 20:00 2021/8/10 - * @Param [] - * @return java.lang.String - **/ - public String createSql(CoreCustomFormItems coreCustomFormItem) { - String typeValue = ""; - if ("moreInput".equals(coreCustomFormItem.getItemType())) { - typeValue = "text"; - } else { - typeValue = "varchar(255)"; - } - String filedname = coreCustomFormItem.getItemType() + System.currentTimeMillis(); - return "`" + filedname + "` " + typeValue + " DEFAULT NULL COMMENT '" + coreCustomFormItem.getItemTitle() + "'"; - } - - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormStatisticServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormStatisticServiceImpl.java deleted file mode 100644 index b7f2b2a..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormStatisticServiceImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.form.customForm.service.impl; - -import com.yida.data.common.core.entity.customform.CoreCustomFormStatistic; -import com.yida.data.form.customForm.mapper.CoreCustomFormStatisticMapper; -import com.yida.data.form.customForm.service.CoreCustomFormStatisticService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.annotation.Propagation; -import lombok.RequiredArgsConstructor; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -/** -* 表单对应统计数据表 Service实现 -* -* @author ccl -* @date 2021-11-05 15:58:43 -*/ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class CoreCustomFormStatisticServiceImpl extends ServiceImpl - implements CoreCustomFormStatisticService { - -private final CoreCustomFormStatisticMapper coreCustomFormStatisticMapper; - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormTopicalServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormTopicalServiceImpl.java deleted file mode 100644 index fd72748..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormTopicalServiceImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.form.customForm.service.impl; - -import com.yida.data.common.core.entity.customform.CoreCustomFormTopical; -import com.yida.data.form.customForm.mapper.CoreCustomFormTopicalMapper; -import com.yida.data.form.customForm.service.CoreCustomFormTopicalService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.annotation.Propagation; -import lombok.RequiredArgsConstructor; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -/** -* 表单对应主题表 Service实现 -* -* @author ccl -* @date 2021-11-05 15:41:09 -*/ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class CoreCustomFormTopicalServiceImpl extends ServiceImpl - implements CoreCustomFormTopicalService { - -private final CoreCustomFormTopicalMapper coreCustomFormTopicalMapper; - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormTypeServiceImpl.java b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormTypeServiceImpl.java deleted file mode 100644 index be5081b..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/java/com/yida/data/form/customForm/service/impl/CoreCustomFormTypeServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.form.customForm.service.impl; - -import com.yida.data.common.core.entity.customform.CoreCustomFormType; -import com.yida.data.form.customForm.mapper.CoreCustomFormTypeMapper; -import com.yida.data.form.customForm.service.CoreCustomFormTypeService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.annotation.Propagation; -import lombok.RequiredArgsConstructor; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -/** - * 自定义表单类型表 Service实现 - * - * @author wjm - * @date 2021-08-12 10:56:57 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class CoreCustomFormTypeServiceImpl extends ServiceImpl implements CoreCustomFormTypeService { - - private final CoreCustomFormTypeMapper coreCustomFormTypeMapper; - -} diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/AppApplyFormMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/AppApplyFormMapper.xml deleted file mode 100644 index 33b4e6c..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/AppApplyFormMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/ApplyFormDataMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/ApplyFormDataMapper.xml deleted file mode 100644 index 9c2944a..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/ApplyFormDataMapper.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - ${sql} - - SELECT LAST_INSERT_ID() - - - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreApplyFormApprovalProcessMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreApplyFormApprovalProcessMapper.xml deleted file mode 100644 index beeabf3..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreApplyFormApprovalProcessMapper.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreApplyFormFillUserMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreApplyFormFillUserMapper.xml deleted file mode 100644 index 5407e73..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreApplyFormFillUserMapper.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreApplyFormMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreApplyFormMapper.xml deleted file mode 100644 index 9e48bc7..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreApplyFormMapper.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreApprovalProcessMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreApprovalProcessMapper.xml deleted file mode 100644 index edbaa46..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreApprovalProcessMapper.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreOfficialSealMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreOfficialSealMapper.xml deleted file mode 100644 index 048f4dd..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/apply/CoreOfficialSealMapper.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormAuthAdminMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormAuthAdminMapper.xml deleted file mode 100644 index 6891338..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormAuthAdminMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormAuthMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormAuthMapper.xml deleted file mode 100644 index 8dfa990..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormAuthMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormDataMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormDataMapper.xml deleted file mode 100644 index a607aaf..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormDataMapper.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - ${sql} - - - ${sql} - - - - - - - - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormGroupMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormGroupMapper.xml deleted file mode 100644 index 81f6817..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormGroupMapper.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormGroupRelationFormMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormGroupRelationFormMapper.xml deleted file mode 100644 index 92d7cae..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormGroupRelationFormMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormItemChildrenMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormItemChildrenMapper.xml deleted file mode 100644 index 4addc02..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormItemChildrenMapper.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormItemsMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormItemsMapper.xml deleted file mode 100644 index b57aa2b..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormItemsMapper.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormMapper.xml deleted file mode 100644 index 27641f7..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormMapper.xml +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormModelItemChildrenMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormModelItemChildrenMapper.xml deleted file mode 100644 index 0b9e8df..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormModelItemChildrenMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormModelItemsMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormModelItemsMapper.xml deleted file mode 100644 index a885383..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormModelItemsMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormModelMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormModelMapper.xml deleted file mode 100644 index 627c567..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormModelMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormRelationAdminMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormRelationAdminMapper.xml deleted file mode 100644 index fd4c8d2..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormRelationAdminMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormRelationUserMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormRelationUserMapper.xml deleted file mode 100644 index 21a564e..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormRelationUserMapper.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormRelationUserParentMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormRelationUserParentMapper.xml deleted file mode 100644 index 08761a9..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormRelationUserParentMapper.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormStatisticMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormStatisticMapper.xml deleted file mode 100644 index 45f94ee..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormStatisticMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormTopicalMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormTopicalMapper.xml deleted file mode 100644 index b93c9c1..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormTopicalMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormTypeMapper.xml b/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormTypeMapper.xml deleted file mode 100644 index 99913a5..0000000 --- a/febs-server/edu-custom-form/edu-custom-form-biz/src/main/resources/mapper/customForm/CoreCustomFormTypeMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/dto/consume/ConsumeOrderPageDTO.java b/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/dto/consume/ConsumeOrderPageDTO.java deleted file mode 100644 index 7bc2d78..0000000 --- a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/dto/consume/ConsumeOrderPageDTO.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.yida.data.device.dto.consume; - -import com.yida.data.common.core.common.BaseDTO; -import com.yida.data.common.core.entity.consume.EduConsumeOrder; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; - -/** - * 消费订单后台列表请求类 - * - * @author ZYJ - * @date 2023/4/14 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@ApiModel(value = "ConsumeOrderPageDTO", description = "消费订单后台列表请求类") -public class ConsumeOrderPageDTO extends BaseDTO implements Serializable { - - private static final long serialVersionUID = 5188209169253382906L; - - @ApiModelProperty("订单状态") - private String orderStatus; - - @ApiModelProperty("订单号") - private String orderCode; - - @ApiModelProperty("学生姓名或校园卡号") - private String searchData; - - @ApiModelProperty("学校id") - private Long schoolId; -} \ No newline at end of file diff --git a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/dto/consume/CreateConsumeOrderDTO.java b/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/dto/consume/CreateConsumeOrderDTO.java deleted file mode 100644 index d04294d..0000000 --- a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/dto/consume/CreateConsumeOrderDTO.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.yida.data.device.dto.consume; - -import com.yida.data.common.core.enums.PayWay; -import com.yida.data.common.core.enums.UnionPayTypeEnum; -import com.yida.data.common.core.enums.WxPayTypeEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** - * 生成消费订单请求类 - * - * @author ZYJ - * @date 2023/3/23 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "CreateConsumeOrderDTO", description = "生成消费订单请求类") -public class CreateConsumeOrderDTO implements Serializable { - - private static final long serialVersionUID = 230831080990848937L; - - @ApiModelProperty("学生id") - private Long studentId; - - @ApiModelProperty("学校id") - private Long schoolId; - - @ApiModelProperty("充值金额. 单位: 元") - private BigDecimal money; - - /** - * 支付方式 - * {@link PayWay} - */ - @ApiModelProperty("支付方式") - private String payWay; - - /** - * 支付类型 - * 银联云闪付: {@link UnionPayTypeEnum} - * 微信类型: {@link WxPayTypeEnum} - */ - @ApiModelProperty("支付类型") - private Integer payType; -} \ No newline at end of file diff --git a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/dto/consume/H5ConsumeOrderPageDTO.java b/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/dto/consume/H5ConsumeOrderPageDTO.java deleted file mode 100644 index 366892c..0000000 --- a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/dto/consume/H5ConsumeOrderPageDTO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.yida.data.device.dto.consume; - -import com.yida.data.common.core.common.BaseDTO; -import com.yida.data.common.core.entity.consume.EduConsumeOrder; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; - -/** - * 消费订单列表请求类(充值记录) - * - * @author ZYJ - * @date 2023/3/24 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@ApiModel(value = "H5ConsumeOrderPageDTO", description = "消费订单列表请求类(充值记录)") -public class H5ConsumeOrderPageDTO extends BaseDTO implements Serializable { - - private static final long serialVersionUID = 3749227164138041581L; - - @ApiModelProperty("学生id") - private Long studentId; - - @ApiModelProperty("学校id") - private Long deptId; -} \ No newline at end of file diff --git a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/dto/consume/H5ConsumeRecordPageDTO.java b/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/dto/consume/H5ConsumeRecordPageDTO.java deleted file mode 100644 index 2cbf409..0000000 --- a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/dto/consume/H5ConsumeRecordPageDTO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.yida.data.device.dto.consume; - -import com.yida.data.common.core.common.BaseDTO; -import com.yida.data.common.core.entity.consume.EduConsumeRecord; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; - -/** - * 消费机学生消费记录列表请求类 - * - * @author ZYJ - * @date 2023/3/24 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@ApiModel(value = "H5ConsumeRecordPageDTO", description = "消费机学生消费记录列表请求类") -public class H5ConsumeRecordPageDTO extends BaseDTO implements Serializable { - - private static final long serialVersionUID = 4230279140715058049L; - - @ApiModelProperty("学生id") - private Long studentId; - - @ApiModelProperty("学校id") - private Long deptId; -} \ No newline at end of file diff --git a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/fallback/RemoteConsumeCardServiceFallback.java b/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/fallback/RemoteConsumeCardServiceFallback.java deleted file mode 100644 index 36de5d3..0000000 --- a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/fallback/RemoteConsumeCardServiceFallback.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.yida.data.device.fallback; - -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.consume.EduStudentConsumeCard; -import com.yida.data.device.feign.consume.RemoteConsumeCardService; -import feign.hystrix.FallbackFactory; -import lombok.extern.slf4j.Slf4j; - -/** - * RemoteConsumeCardService fallback处理类 - * - * @author ZYJ - * @date 2023/3/20 - */ -@Slf4j -@Fallback -public class RemoteConsumeCardServiceFallback implements FallbackFactory { - - @Override - public RemoteConsumeCardService create(Throwable throwable) { - log.error("RemoteConsumeCardService fallback reason:{}", throwable.getMessage()); - - return new RemoteConsumeCardService() { - - @Override - public ResultBean saveConsumeCard(EduStudentConsumeCard eduStudentConsumeCard) { - return null; - } - }; - } -} diff --git a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/fallback/RemoteConsumeOrderServiceFallback.java b/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/fallback/RemoteConsumeOrderServiceFallback.java deleted file mode 100644 index 76fbe0d..0000000 --- a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/fallback/RemoteConsumeOrderServiceFallback.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.yida.data.device.fallback; - -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.device.feign.consume.RemoteConsumeOrderService; -import feign.hystrix.FallbackFactory; -import lombok.extern.slf4j.Slf4j; - -/** - * RemoteConsumeOrderService fallback处理类 - * - * @author ZYJ - * @date 2023/4/3 - */ -@Slf4j -@Fallback -public class RemoteConsumeOrderServiceFallback implements FallbackFactory { - - @Override - public RemoteConsumeOrderService create(Throwable throwable) { - log.error("RemoteConsumeOrderService fallback reason:{}", throwable.getMessage()); - - return new RemoteConsumeOrderService() { - - @Override - public ResultBean updateOrderStatus() { - return null; - } - - @Override - public ResultBean updateRefundStatus() { - return null; - } - }; - } -} diff --git a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/feign/consume/RemoteConsumeCardService.java b/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/feign/consume/RemoteConsumeCardService.java deleted file mode 100644 index 3fbc600..0000000 --- a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/feign/consume/RemoteConsumeCardService.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.yida.data.device.feign.consume; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import com.yida.data.common.core.entity.consume.EduStudentConsumeCard; -import com.yida.data.device.fallback.RemoteStudentCardServiceFallback; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; - -@FeignClient(value = FebsServerConstant.EDU_DEVICE, contextId = "consumeCardClient", - fallbackFactory = RemoteStudentCardServiceFallback.class) -public interface RemoteConsumeCardService { - - /** - * 保存学生消费机信息 - */ - @PostMapping("/consumeCard/saveConsumeCard") - ResultBean saveConsumeCard(@RequestBody EduStudentConsumeCard eduStudentConsumeCard); -} diff --git a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/feign/consume/RemoteConsumeOrderService.java b/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/feign/consume/RemoteConsumeOrderService.java deleted file mode 100644 index eb64d89..0000000 --- a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/feign/consume/RemoteConsumeOrderService.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.yida.data.device.feign.consume; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import com.yida.data.device.fallback.RemoteConsumeOrderServiceFallback; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; - -/** - * 消费订单模块feign - * - * @author ZYJ - * @date 2023/4/3 - */ -@FeignClient(value = FebsServerConstant.EDU_DEVICE, contextId = "consumeOrderServiceClient", - fallbackFactory = RemoteConsumeOrderServiceFallback.class) -public interface RemoteConsumeOrderService { - - /** - * 更新超时订单状态 - * - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2023/4/3 13:26 - */ - @GetMapping("/in/consume/updateOrderStatus") - ResultBean updateOrderStatus(); - - /** - * 更新退款订单状态 - * - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2023/4/3 13:26 - */ - @GetMapping("/in/consume/updateRefundStatus") - ResultBean updateRefundStatus(); -} diff --git a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeDeviceVO.java b/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeDeviceVO.java deleted file mode 100644 index 210e213..0000000 --- a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeDeviceVO.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.yida.data.device.vo.consume; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 消费机列表返回接口 - * - * @author ZYJ - * @date 2023-03-15 10:02:27 - */ -@Data -@ApiModel("设备信息") -public class ConsumeDeviceVO implements Serializable { - - private static final long serialVersionUID = 1192859620255962398L; - - private Long id; - - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - @ApiModelProperty("设备名称") - private String name; - - @ApiModelProperty("设备编号") - private String sn; - - @ApiModelProperty("设备mac地址") - private String macAddress; - - @ApiModelProperty("设备厂商") - private String deviceType; - - @ApiModelProperty("ip") - private String ip; - - @ApiModelProperty("学校id") - private Long schoolId; - - @ApiModelProperty("学校名称") - private String schoolName; - - @ApiModelProperty("设备在线状态,0-在线,1-未在线") - private Integer state; -} diff --git a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeOrderPageVO.java b/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeOrderPageVO.java deleted file mode 100644 index 5a0ec98..0000000 --- a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeOrderPageVO.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.yida.data.device.vo.consume; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.entity.consume.EduConsumeOrderStudent; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** - * 消费订单后台列表返回类 - * - * @author ZYJ - * @date 2023/4/14 - */ -@Data -@ApiModel(value = "ConsumeOrderPageVO", description = "消费订单后台列表返回类") -public class ConsumeOrderPageVO implements Serializable { - - private static final long serialVersionUID = -4944464049391972122L; - - @ApiModelProperty(value = "订单id") - private Long orderId; - - @ApiModelProperty(value = "部门id") - private Long deptId; - - @ApiModelProperty(value = "部门名称") - private String deptName; - - @ApiModelProperty(value = "订单状态:0:待付款 1:付款中 2:交易完成(正常支付成功) 3:待退款 4:交易关闭(a:超时未支付,b:退款成功") - private String orderStatus; - - @ApiModelProperty(value = "支付状态:0:未支付(默认) 1:已支付 2:已退款 3:已取消") - private String payStatus; - - @ApiModelProperty(value = "订单总金额") - private BigDecimal totalMoney; - - @ApiModelProperty(value = "实际支付金额") - private BigDecimal practicalMoney; - - @ApiModelProperty(value = "支付人手机号(家长手机)") - private String phone; - - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty("创建时间") - private Date createDate; - - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty("支付时间") - private Date payDate; - - @ApiModelProperty("订单编号") - private String orderCode; - - @ApiModelProperty("交易流水号") - private String transactionNumber; - - @ApiModelProperty(value = "支付方式:1:微信,2:支付宝,3:银联,4:收钱吧") - private String payWay; - - @ApiModelProperty(value = "是否退款:0:否(默认) 1:是") - private String isRefund; - - @ApiModelProperty("订单学生信息") - private EduConsumeOrderStudent student; -} \ No newline at end of file diff --git a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeOrderStudentCacheVO.java b/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeOrderStudentCacheVO.java deleted file mode 100644 index d729250..0000000 --- a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeOrderStudentCacheVO.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.yida.data.device.vo.consume; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 学生消费订单缓存类 - * - * @author ZYJ - * @date 2023/3/22 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "ConsumeOrderStudentCacheVO", description = "学生消费订单缓存类") -public class ConsumeOrderStudentCacheVO implements Serializable { - - private static final long serialVersionUID = 8649760066609681494L; - - @ApiModelProperty("学生id") - private Long studentId; - - @ApiModelProperty("学生姓名") - private String studentName; - - @ApiModelProperty("下单家长id") - private Long parentId; - - @ApiModelProperty("家长类型") - private String parentType; - - @ApiModelProperty("家长手机号码") - private String mobile; - - @ApiModelProperty("订单号") - private String orderNo; -} \ No newline at end of file diff --git a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumePayInfoVO.java b/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumePayInfoVO.java deleted file mode 100644 index 493d9ca..0000000 --- a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumePayInfoVO.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.yida.data.device.vo.consume; - -import com.yida.data.common.core.enums.PayWay; -import com.yida.data.common.core.enums.UnionPayTypeEnum; -import com.yida.data.common.core.enums.WxPayTypeEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 生成消费订单返回信息 - * - * @author ZYJ - * @date 2023/3/22 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "ConsumePayInfoVO", description = "生成消费订单返回信息") -public class ConsumePayInfoVO implements Serializable { - - private static final long serialVersionUID = 6829651635967940690L; - - @ApiModelProperty("错误状态码. 仅在接口异常时返回") - private Integer errorCode; - - @ApiModelProperty("错误信息. 仅在接口异常时返回") - private String errorMessage; - - @ApiModelProperty("订单号") - private String orderCode; - - @ApiModelProperty("微信时间戳") - private String wxTimestamp; - - @ApiModelProperty("微信随机字符串") - private String wxNonceStr; - - @ApiModelProperty("微信商户号") - private String wxAppId; - - @ApiModelProperty("微信package") - private String wxPackage; - - @ApiModelProperty("微信签名后串") - private String wxSign; - - @ApiModelProperty("是否需要跳转支付") - private Boolean needToPay; - - /** - * 支付方式 - * {@link PayWay} - */ - @ApiModelProperty("支付方式") - private String payWay; - - /** - * 支付类型 - * 银联云闪付: {@link UnionPayTypeEnum} - * 微信类型: {@link WxPayTypeEnum} - */ - @ApiModelProperty("具体支付子类型") - private Integer payType; - - @ApiModelProperty("支付域名") - private String payDomain; - - @ApiModelProperty("支付地址") - private String payUrl; -} diff --git a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeRefundOrderVO.java b/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeRefundOrderVO.java deleted file mode 100644 index 46c33b3..0000000 --- a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeRefundOrderVO.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.yida.data.device.vo.consume; - -import lombok.Data; - -import java.io.Serializable; - -/** - * 消费订单退款数据 - * - * @author ZYJ - * @date 2023/4/3 - */ -@Data -public class ConsumeRefundOrderVO implements Serializable { - - private static final long serialVersionUID = -6557981285672617008L; - - /** - * 订单id - */ - private Long orderId; - - /** - * 订单号 - */ - private String orderCode; - - /** - * 退款id - */ - private Long refundId; - - /** - * 退款号 - */ - private String refundCode; - - /** - * 订单支付方式 - * 支付方式:1:微信,2:支付宝,3:银联,4:收钱吧 - */ - private String payWay; - - /** - * 学校部门id - */ - private Long deptId; -} diff --git a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeVipVO.java b/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeVipVO.java deleted file mode 100644 index e2b6de9..0000000 --- a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/ConsumeVipVO.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.yida.data.device.vo.consume; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -/** - * 学生消费机会员返回类 - * - * @author ZYJ - * @date 2023/3/16 - */ -@Data -@ApiModel(value = "ConsumeVipVO", description = "学生消费机会员返回类") -public class ConsumeVipVO implements Serializable { - - private static final long serialVersionUID = 6368984207326579608L; - - @ApiModelProperty("true代表是会员, false代表非会员") - private Boolean vipFlag; - - @ApiModelProperty("有效期开始时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime startTime; - - @ApiModelProperty("有效期结束时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime endTime; - - @ApiModelProperty("余额") - private BigDecimal balance; - - @ApiModelProperty("卡片状态(1:正常卡 2:挂失卡)") - private Integer cardStatus; - - @ApiModelProperty("卡号") - private String stuCardNum; - - @ApiModelProperty("支付方式") - private String payWay; - - @ApiModelProperty("支付类型") - private String payType; -} diff --git a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/H5ConsumeOrderPageVO.java b/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/H5ConsumeOrderPageVO.java deleted file mode 100644 index bf8627d..0000000 --- a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/H5ConsumeOrderPageVO.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.yida.data.device.vo.consume; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** - * 消费订单列表返回类(充值记录) - * - * @author ZYJ - * @date 2023/3/24 - */ -@Data -@ApiModel(value = "H5ConsumeOrderPageVO", description = "消费订单列表返回类(充值记录)") -public class H5ConsumeOrderPageVO implements Serializable { - - private static final long serialVersionUID = -8643407654576586273L; - - @ApiModelProperty(value = "订单id") - private Long orderId; - - @ApiModelProperty(value = "部门id") - private Long deptId; - - @ApiModelProperty(value = "部门名称") - private String deptName; - - @ApiModelProperty(value = "订单状态:0:待付款 1:付款中 2:交易完成(正常支付成功) 3:待退款 4:交易关闭(a:超时未支付,b:退款成功") - private String orderStatus; - - @ApiModelProperty(value = "支付状态:0:未支付(默认) 1:已支付 2:已退款 3:已取消") - private String payStatus; - - @ApiModelProperty(value = "订单总金额") - private BigDecimal totalMoney; - - @ApiModelProperty(value = "实际支付金额") - private BigDecimal practicalMoney; - - @ApiModelProperty("学生名称") - private String studentName; - - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty("创建时间") - private Date createDate; - - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty("支付时间") - private Date payDate; - - @ApiModelProperty("订单编号") - private String orderCode; - - @ApiModelProperty("交易流水号") - private String transactionNumber; - - @ApiModelProperty(value = "支付方式:1:微信,2:支付宝,3:银联,4:收钱吧") - private String payWay; -} \ No newline at end of file diff --git a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/H5ConsumeRecordPageVO.java b/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/H5ConsumeRecordPageVO.java deleted file mode 100644 index 8502237..0000000 --- a/febs-server/edu-device/edu-device-api/src/main/java/com/yida/data/device/vo/consume/H5ConsumeRecordPageVO.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.yida.data.device.vo.consume; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.time.LocalDateTime; - -/** - * 学生消费记录列表返回类 - * - * @author ZYJ - * @date 2023/3/24 - */ -@Data -@ApiModel(value = "H5ConsumeRecordPageVO", description = "学生消费记录列表返回类") -public class H5ConsumeRecordPageVO implements Serializable { - - private static final long serialVersionUID = -5754645385438209457L; - - @ApiModelProperty(value = "主键") - private Long id; - - @ApiModelProperty(value = "创建时间(下单时间)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - @ApiModelProperty(value = "订单号") - private Long orderNo; - - @ApiModelProperty(value = "消费机设备编号") - private String deviceNo; - - @ApiModelProperty(value = "学生主键ID") - private Long studentId; - - @ApiModelProperty(value = "学生姓名") - private String studentName; - - @ApiModelProperty(value = "校园卡号") - private String stuCardNumber; - - @ApiModelProperty(value = "消费金额. 单位: 元") - private BigDecimal transactionAmount; - - @ApiModelProperty(value = "消费时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime transactionTime; - - @ApiModelProperty(value = "学校主键ID") - private Long schoolId; - - @ApiModelProperty(value = "学校名称") - private String schoolName; - - @ApiModelProperty(value = "学区主键ID") - private Long campusId; - - @ApiModelProperty(value = "学区名称") - private String campusName; - - @ApiModelProperty(value = "学段主键ID") - private Long sectionId; - - @ApiModelProperty(value = "学段名称") - private String sectionName; - - @ApiModelProperty(value = "年级主键ID") - private Long gradeId; - - @ApiModelProperty(value = "年级名称") - private String gradeName; - - @ApiModelProperty(value = "班级主键ID") - private Long classId; - - @ApiModelProperty(value = "班级名称") - private String className; -} \ No newline at end of file diff --git a/febs-server/edu-device/edu-device-api/src/main/resources/META-INF/spring.factories b/febs-server/edu-device/edu-device-api/src/main/resources/META-INF/spring.factories index f952799..1f23b88 100644 --- a/febs-server/edu-device/edu-device-api/src/main/resources/META-INF/spring.factories +++ b/febs-server/edu-device/edu-device-api/src/main/resources/META-INF/spring.factories @@ -1,5 +1,4 @@ # Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.yida.data.device.fallback.RemoteStudentCardServiceFallback,\ -com.yida.data.device.fallback.RemoteTelephoneServiceFallback,\ -com.yida.data.device.fallback.RemoteConsumeCardServiceFallback +com.yida.data.device.fallback.RemoteTelephoneServiceFallback diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/EduConsumeDeviceController.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/EduConsumeDeviceController.java deleted file mode 100644 index b86f994..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/EduConsumeDeviceController.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.yida.data.device.consume.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.consume.EduConsumeDevice; -import com.yida.data.device.consume.service.EduConsumeDeviceService; -import com.yida.data.device.vo.consume.ConsumeDeviceVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Objects; - -/** - * 消费机设备Controller - * - * @author ZYJ - * @date 2023-03-14 18:02:27 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@RequestMapping("consumeDevice") -@Api(tags = "消费机设备后台api") -public class EduConsumeDeviceController { - - private final EduConsumeDeviceService eduConsumeDeviceService; - - @ApiOperation("消费机设备列表分页查询") - @GetMapping("/listDevicePage") - public ResultBean> listDevicePage( - @ApiParam("设备编号或名称") String number, - @ApiParam("设备状态,0-在线,1-离线") Integer state, - @ApiParam("学校id") Long schoolId, - @ApiParam("当前页码") @RequestParam(defaultValue = "1") Integer pageNum, - @ApiParam("页面大小") @RequestParam(defaultValue = "10") Integer pageSize) { - return ResultBean.buildSuccess(eduConsumeDeviceService.listDevicePage(pageNum, pageSize, number, state, schoolId)); - } - - @ApiOperation("保存消费机设备") - @PostMapping("/saveConsumeDevice") - public ResultBean saveDevice(@RequestBody EduConsumeDevice device) { - eduConsumeDeviceService.saveDevice(device); - return ResultBean.buildSuccess(); - } - - @ApiOperation("获取设备详情") - @GetMapping("/getDeviceInfo") - public ResultBean getDeviceInfo(@RequestParam Long deviceId) { - EduConsumeDevice consumeDevice = eduConsumeDeviceService.getById(deviceId); - ConsumeDeviceVO deviceVO = new ConsumeDeviceVO(); - if (Objects.nonNull(consumeDevice)) { - BeanUtils.copyProperties(consumeDevice, deviceVO); - } - return ResultBean.buildSuccess(deviceVO); - } - - @ApiOperation("批量删除消费机设备") - @PostMapping("/deleteDeviceBatch") - public ResultBean deleteDeviceBatch(@RequestBody List ids) { - eduConsumeDeviceService.removeByIds(ids); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/EduConsumeOrderController.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/EduConsumeOrderController.java deleted file mode 100644 index 6cf2401..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/EduConsumeOrderController.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.yida.data.device.consume.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.device.consume.service.EduConsumeOrderService; -import com.yida.data.device.dto.consume.ConsumeOrderPageDTO; -import com.yida.data.device.vo.consume.ConsumeOrderPageVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -/** - * 消费订单 Controller - * - * @author ZYJ - * @date 2023/4/14 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@RequestMapping("/consumeOrder") -@Api(tags = "消费订单api") -public class EduConsumeOrderController { - - private final EduConsumeOrderService eduConsumeOrderService; - - @ApiOperation("消费订单列表分页查询") - @GetMapping("/listConsumeOrderPage") - public ResultBean> listConsumeOrderPage(ConsumeOrderPageDTO dto) { - return ResultBean.buildSuccess(eduConsumeOrderService.listConsumeOrderPage(dto)); - } - - @GetMapping(value = "refundOrder") - @ApiOperation(value = "消费订单退款") - public ResultBean refundOrder( - @ApiParam(value = "订单号", required = true) @RequestParam String orderCode) { - eduConsumeOrderService.refundOrder(orderCode); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/EduStudentConsumeCardController.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/EduStudentConsumeCardController.java deleted file mode 100644 index 20853f4..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/EduStudentConsumeCardController.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.yida.data.device.consume.controller; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.consume.EduStudentConsumeCard; -import com.yida.data.device.consume.service.EduStudentConsumeCardService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 学生消费机信息管理Controller - * - * @author ZYJ - * @date 2023-03-14 18:02:27 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@RequestMapping("consumeCard") -@Api(tags = "学生消费机信息管理api") -public class EduStudentConsumeCardController { - - private final EduStudentConsumeCardService eduStudentConsumeCardService; - - @ApiOperation("保存学生消费机信息") - @PostMapping("/saveConsumeCard") - public ResultBean saveConsumeCard(@RequestBody EduStudentConsumeCard eduStudentConsumeCard) { - eduStudentConsumeCardService.saveConsumeCard(eduStudentConsumeCard); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/H5ConsumeController.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/H5ConsumeController.java deleted file mode 100644 index a59bb4a..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/H5ConsumeController.java +++ /dev/null @@ -1,107 +0,0 @@ -package com.yida.data.device.consume.controller; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.device.consume.service.H5ConsumeService; -import com.yida.data.device.dto.consume.CreateConsumeOrderDTO; -import com.yida.data.device.dto.consume.H5ConsumeOrderPageDTO; -import com.yida.data.device.dto.consume.H5ConsumeRecordPageDTO; -import com.yida.data.device.vo.consume.ConsumePayInfoVO; -import com.yida.data.device.vo.consume.ConsumeVipVO; -import com.yida.data.device.vo.consume.H5ConsumeOrderPageVO; -import com.yida.data.device.vo.consume.H5ConsumeRecordPageVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -/** - * 消费机前端controller - * - * @author ZYJ - * @date 2023/3/16 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@RequestMapping("h5/consume") -@Api(tags = "消费机前端api") -public class H5ConsumeController { - - private final H5ConsumeService h5ConsumeService; - - @GetMapping("/checkVip") - @ApiOperation("查询学生消费机会员状态") - public ResultBean checkVip( - @ApiParam(value = "学生id", required = true) @RequestParam Long studentId, - @ApiParam(value = "学校id", required = true) @RequestParam Long schoolId) { - return ResultBean.buildSuccess(h5ConsumeService.checkVip(studentId, schoolId)); - } - - @GetMapping("/reportLoss") - @ApiOperation("挂失") - public ResultBean reportLoss(@ApiParam(value = "学生id", required = true) @RequestParam Long studentId) { - return ResultBean.buildSuccess(h5ConsumeService.reportLoss(studentId)); - } - - @GetMapping("/unfreeze") - @ApiOperation("解冻") - public ResultBean unfreeze(@ApiParam(value = "学生id", required = true) @RequestParam Long studentId) { - return ResultBean.buildSuccess(h5ConsumeService.unfreeze(studentId)); - } - - @PostMapping("/createConsumeOrder") - @ApiOperation("生成消费订单(充值)") - public ResultBean createConsumeOrder(@RequestBody CreateConsumeOrderDTO dto) { - return ResultBean.buildSuccess(h5ConsumeService.createConsumeOrder(dto)); - } - - @GetMapping("/consumeOrderSuccess") - @ApiOperation("消费订单完成(前台支付成功后调用)") - public ResultBean consumeOrderSuccess( - @ApiParam(value = "订单号", required = true) @RequestParam String orderCode) { - h5ConsumeService.consumeOrderSuccess(orderCode); - return ResultBean.buildSuccess(); - } - - @PostMapping(value = "listH5ConsumeOrderPage") - @ApiOperation(value = "前端查询消费订单列表数据(充值记录)") - public ResultBean> listH5ConsumeOrderPage(@RequestBody H5ConsumeOrderPageDTO dto) { - IPage page = h5ConsumeService.listH5ConsumeOrderPage(dto); - return ResultBean.buildSuccess(page); - } - - @GetMapping(value = "getH5ConsumeOrderInfo") - @ApiOperation(value = "前端查询消费订单详情(充值记录)") - public ResultBean getH5ConsumeOrderInfo( - @ApiParam(value = "订单id") @RequestParam(required = false) Long orderId, - @ApiParam(value = "订单号") @RequestParam(required = false) String orderCode) { - return ResultBean.buildSuccess(h5ConsumeService.getH5ConsumeOrderInfo(orderId, orderCode)); - } - - @GetMapping("continuePayOrder") - @ApiOperation("继续支付") - public ResultBean continuePayOrder( - @ApiParam(value = "订单号", required = true) @RequestParam String orderCode, - @ApiParam(value = "学校id", required = true) @RequestParam Long deptId) { - ConsumePayInfoVO infoVO = h5ConsumeService.continuePayOrder(orderCode, deptId); - return ResultBean.buildSuccess(infoVO); - } - - @GetMapping(value = "cancelOrder") - @ApiOperation(value = "取消订单") - public ResultBean cancelOrder( - @ApiParam(value = "订单号", required = true) @RequestParam String orderCode) { - h5ConsumeService.cancelOrder(orderCode); - return ResultBean.buildSuccess(); - } - - @PostMapping(value = "listH5ConsumeRecordPage") - @ApiOperation(value = "前端查询学生消费记录列表") - public ResultBean> listH5ConsumeRecordPage(@RequestBody H5ConsumeRecordPageDTO dto) { - IPage page = h5ConsumeService.listH5ConsumeRecordPage(dto); - return ResultBean.buildSuccess(page); - } -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/InEduConsumeOrderController.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/InEduConsumeOrderController.java deleted file mode 100644 index 07106ab..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/InEduConsumeOrderController.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.yida.data.device.consume.controller; - -import cn.hutool.json.JSONUtil; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.FebsResponse; -import com.yida.data.device.consume.service.EduConsumeOrderService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletRequest; -import java.io.BufferedReader; -import java.io.IOException; -import java.util.Map; - -/** - * 消费订单 Controller(不鉴权) - * - * @author ZYJ - * @date 2023/3/23 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@RequestMapping("in/consume") -@Api(tags = "消费订单api") -public class InEduConsumeOrderController { - - private final EduConsumeOrderService eduConsumeOrderService; - - @ApiOperation("微信支付通知结果回调 此接口暂时无用(需手动查询订单支付状态)") - @PostMapping("/wxPayNotify") - public FebsResponse wxPayNotify(@RequestBody Map res) { - return new FebsResponse().put("code", "SUCCESS"); - } - - @ApiOperation("微信退款通知结果回调 此接口暂时无用(需手动查询订单退款状态)") - @PostMapping("/wxRefundNotify") - public FebsResponse wxRefundNotify(@RequestBody Map res) { - return new FebsResponse().put("code", "SUCCESS"); - } - - @ApiOperation("银联支付通知结果回调") - @PostMapping("/unionPayNotify") - public String unionPayNotify(@RequestParam Map map) { - log.info("银联支付通知结果回调, result: {}", JSONUtil.toJsonStr(map)); - return null; -// return eduConsumeOrderService.unionPayNotify(map); - } - - @ApiOperation("收钱吧支付通知结果回调") - @PostMapping("/uPayNotify") - public String uPayNotify(HttpServletRequest request) throws IOException { - BufferedReader bufferReader = new BufferedReader(request.getReader()); - StringBuilder sb = new StringBuilder(); - String line; - while ((line = bufferReader.readLine()) != null) { - sb.append(line); - } - log.info("收钱吧支付通知结果回调, result: {}", sb.toString()); - log.info("收钱吧支付通知结果回调签名, sign: {}", request.getHeader("Authorization")); - return eduConsumeOrderService.uPayNotify(sb.toString(), request); - } - - @GetMapping(value = "updateOrderStatus") - @ApiOperation(value = "更新超时订单状态") - public ResultBean updateOrderStatus() { - eduConsumeOrderService.updateOrderStatus(); - return ResultBean.buildSuccess(); - } - - @GetMapping(value = "updateRefundStatus") - @ApiOperation(value = "更新退款订单状态") - public ResultBean updateRefundStatus() { - eduConsumeOrderService.updateRefundStatus(); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/out/OutConsumeController.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/out/OutConsumeController.java deleted file mode 100644 index db3f180..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/controller/out/OutConsumeController.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.yida.data.device.consume.controller.out; - -import com.yida.data.common.core.entity.FebsResponse; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.Map; - -/** - * 消费机 Controller(不鉴权) - * - * @author ZYJ - * @date 2023/3/10 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@RequestMapping("out/consume") -@Api(tags = "消费机api") -public class OutConsumeController { - - @ApiOperation("海普天消费结果通知") - @PostMapping("/consumeNotify") - public FebsResponse consumeNotify(@RequestBody Map res) { - log.info("结果信息: {}", res); - return new FebsResponse().put("code", "SUCCESS"); - } - -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeDeviceMapper.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeDeviceMapper.java deleted file mode 100644 index b2beb33..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeDeviceMapper.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.yida.data.device.consume.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.consume.EduConsumeDevice; -import com.yida.data.device.vo.consume.ConsumeDeviceVO; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 消费机设备Mapper - * - * @author ZYJ - * @date 2023-03-14 18:02:27 - */ -public interface EduConsumeDeviceMapper extends BaseMapper { - - Page listDevicePage(Page page, @Param("schoolIds")List schoolIds, - @Param("number") String number, @Param("state") Integer state); -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeOrderMapper.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeOrderMapper.java deleted file mode 100644 index 5df909d..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeOrderMapper.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.yida.data.device.consume.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.consume.EduConsumeOrder; -import com.yida.data.device.dto.consume.ConsumeOrderPageDTO; -import com.yida.data.device.dto.consume.H5ConsumeOrderPageDTO; -import com.yida.data.device.vo.consume.ConsumeOrderPageVO; -import com.yida.data.device.vo.consume.ConsumeRefundOrderVO; -import com.yida.data.device.vo.consume.H5ConsumeOrderPageVO; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 消费订单(充值记录)Mapper - * - * @author ZYJ - * @date 2023/3/23 - */ -public interface EduConsumeOrderMapper extends BaseMapper { - - /** - * 前端查询账单订单列表数据 - * 未支付、成功、退款中 - * - * @param page 分页数据 - * @param dto 消费订单列表请求类(充值记录) - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/3/24 14:29 - */ - IPage listH5ConsumeOrderPage(Page page, - @Param("dto") H5ConsumeOrderPageDTO dto); - - /** - * 前端查询消费订单详情(充值记录) - * - * @param orderId 订单id - * @param orderCode 订单号 - * @return com.yida.data.device.vo.consume.H5ConsumeOrderPageVO - * @author ZYJ - * @date 2023/3/24 14:45 - */ - H5ConsumeOrderPageVO getH5ConsumeOrderInfo(@Param("orderId") Long orderId, @Param("orderCode") String orderCode); - - /** - * 查询所有已经超时订单 - * 未支付状态 - * - * @return java.util.List - * @author ZYJ - * @date 2023/4/3 13:31 - */ - List selectTimeOutConsumeOrder(); - - /** - * 查询退款中状态的消费订单 - * - * @return java.util.List - * @author ZYJ - * @date 2023/4/3 16:07 - */ - List selectRefundOrder(); - - /** - * 消费订单后台列表分页查询 - * - * @param page 分页信息 - * @param schoolIds 学校id集合 - * @param dto 消费订单后台列表请求类 - * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page - * @author ZYJ - * @date 2023/4/14 17:09 - */ - Page listConsumeOrderPage(Page page, - @Param("schoolIds") List schoolIds, - @Param("dto") ConsumeOrderPageDTO dto); -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeOrderRefundMapper.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeOrderRefundMapper.java deleted file mode 100644 index a78cab6..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeOrderRefundMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.device.consume.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.consume.EduConsumeOrderRefund; - -/** - * 消费订单退款信息Mapper - * - * @author ZYJ - * @date 2023-04-03 16:12:35 - */ -public interface EduConsumeOrderRefundMapper extends BaseMapper { - -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeOrderStudentMapper.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeOrderStudentMapper.java deleted file mode 100644 index 8725e95..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeOrderStudentMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.device.consume.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.consume.EduConsumeOrderStudent; - -/** - * 消费订单(充值)学生详细信息Mapper - * - * @author ZYJ - * @date 2023/3/23 - */ -public interface EduConsumeOrderStudentMapper extends BaseMapper { - -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeRecordMapper.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeRecordMapper.java deleted file mode 100644 index 2cdeff7..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduConsumeRecordMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.device.consume.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.consume.EduConsumeRecord; -import com.yida.data.device.dto.consume.H5ConsumeRecordPageDTO; -import com.yida.data.device.vo.consume.H5ConsumeRecordPageVO; -import org.apache.ibatis.annotations.Param; - -/** - * 消费机学生消费记录Mapper - * - * @author ZYJ - * @date 2023-03-24 16:16:49 - */ -public interface EduConsumeRecordMapper extends BaseMapper { - - /** - * 前端查询学生消费记录列表 - * - * @param page 分页信息 - * @param dto 消费机学生消费记录列表请求类 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/3/24 17:18 - */ - IPage listH5ConsumeRecordPage(Page page, - @Param("dto") H5ConsumeRecordPageDTO dto); -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduStudentConsumeCardMapper.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduStudentConsumeCardMapper.java deleted file mode 100644 index c53fea7..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/mapper/EduStudentConsumeCardMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.device.consume.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.consume.EduStudentConsumeCard; - -/** - * 学生消费机信息管理Mapper - * - * @author ZYJ - * @date 2023-03-20 15:02:20 - */ -public interface EduStudentConsumeCardMapper extends BaseMapper { - -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeDeviceService.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeDeviceService.java deleted file mode 100644 index e2fe3f1..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeDeviceService.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.yida.data.device.consume.service; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.consume.EduConsumeDevice; -import com.yida.data.device.vo.consume.ConsumeDeviceVO; - -/** - * 消费机设备Service接口 - * - * @author ZYJ - * @date 2023-03-14 18:02:27 - */ -public interface EduConsumeDeviceService extends IService { - - /** - * 消费机设备列表分页查询 - * - * @param pageNum 页码 - * @param pageSize 每页数量 - * @param number 设备编号或名称 - * @param state 设备状态,0-在线,1-离线 - * @param schoolId 学校id - * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page - * @author ZYJ - * @date 2023/3/15 10:14 - */ - Page listDevicePage(Integer pageNum, Integer pageSize, String number, Integer state, Long schoolId); - - /** - * 保存消费机设备 - * - * @param device 消费机设备信息 - * @author ZYJ - * @date 2023/3/15 10:43 - */ - void saveDevice(EduConsumeDevice device); -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeOrderRefundService.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeOrderRefundService.java deleted file mode 100644 index a01a474..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeOrderRefundService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.yida.data.device.consume.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.consume.EduConsumeOrderRefund; - -/** -* 消费订单退款信息Service接口 -* -* @author ZYJ -* @date 2023-04-03 16:12:35 -*/ -public interface EduConsumeOrderRefundService extends IService { -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeOrderService.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeOrderService.java deleted file mode 100644 index a996323..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeOrderService.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.yida.data.device.consume.service; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.consume.EduConsumeOrder; -import com.yida.data.device.dto.consume.ConsumeOrderPageDTO; -import com.yida.data.device.vo.consume.ConsumeOrderPageVO; - -import javax.servlet.http.HttpServletRequest; - -/** - * 消费订单(充值记录)Service接口 - * - * @author ZYJ - * @date 2023/3/23 - */ -public interface EduConsumeOrderService extends IService { - - /** - * 收钱吧支付通知结果回调 - * - * @param result 回调值 - * @param request 请求信息 - * @return java.lang.String - * @author ZYJ - * @date 2023/3/23 16:13 - */ - String uPayNotify(String result, HttpServletRequest request); - - /** - * 更新超时订单状态 - * - * @author ZYJ - * @date 2023/4/3 13:26 - */ - void updateOrderStatus(); - - - /** - * 更新退款订单状态 - * - * @author ZYJ - * @date 2023/4/3 13:26 - */ - void updateRefundStatus(); - - /** - * 消费订单列表分页查询 - * - * @param dto 消费订单后台列表请求类 - * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page - * @author ZYJ - * @date 2023/4/14 16:48 - */ - Page listConsumeOrderPage(ConsumeOrderPageDTO dto); - - /** - * 消费订单退款 - * - * @param orderCode 订单号 - * @author ZYJ - * @date 2023/4/15 15:37 - */ - void refundOrder(String orderCode); -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeOrderStudentService.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeOrderStudentService.java deleted file mode 100644 index 02cb087..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeOrderStudentService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.device.consume.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.consume.EduConsumeOrderStudent; - -/** -* 消费订单(充值)学生详细信息Service接口 -* -* @author ZYJ -* @date 2023-03-23 14:03:58 -*/ -public interface EduConsumeOrderStudentService extends IService { - -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeRecordService.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeRecordService.java deleted file mode 100644 index 65b4acd..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduConsumeRecordService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.device.consume.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.consume.EduConsumeRecord; - -/** -* 消费机学生消费记录Service接口 -* -* @author ZYJ -* @date 2023-03-24 16:16:49 -*/ -public interface EduConsumeRecordService extends IService { - -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduStudentConsumeCardService.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduStudentConsumeCardService.java deleted file mode 100644 index 54259b2..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/EduStudentConsumeCardService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.yida.data.device.consume.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.consume.EduStudentConsumeCard; - -/** - * 学生消费机信息管理Service接口 - * - * @author ZYJ - * @date 2023-03-20 15:02:20 - */ -public interface EduStudentConsumeCardService extends IService { - - /** - * 保存学生消费机信息 - * - * @param eduStudentConsumeCard 学生消费机信息 - * @author ZYJ - * @date 2023/3/20 15:54 - */ - void saveConsumeCard(EduStudentConsumeCard eduStudentConsumeCard); -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/H5ConsumeService.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/H5ConsumeService.java deleted file mode 100644 index 5585e7f..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/H5ConsumeService.java +++ /dev/null @@ -1,132 +0,0 @@ -package com.yida.data.device.consume.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.device.dto.consume.CreateConsumeOrderDTO; -import com.yida.data.device.dto.consume.H5ConsumeOrderPageDTO; -import com.yida.data.device.dto.consume.H5ConsumeRecordPageDTO; -import com.yida.data.device.vo.consume.ConsumePayInfoVO; -import com.yida.data.device.vo.consume.ConsumeVipVO; -import com.yida.data.device.vo.consume.H5ConsumeOrderPageVO; -import com.yida.data.device.vo.consume.H5ConsumeRecordPageVO; - -import java.time.LocalDateTime; - -/** - * 消费机前端service - * - * @author ZYJ - * @date 2023/3/16 - */ -public interface H5ConsumeService { - - /** - * 查询学生消费机会员状态 - * - * @param studentId 学生id - * @param schoolId 学校id - * @return com.yida.data.device.vo.consume.ConsumeVipVO - * @author ZYJ - * @date 2023/3/16 15:52 - */ - ConsumeVipVO checkVip(Long studentId, Long schoolId); - - /** - * 挂失 - * - * @param studentId 学生id - * @return java.lang.String - * @author ZYJ - * @date 2023/3/30 9:38 - */ - String reportLoss(Long studentId); - - /** - * 解冻 - * - * @param studentId 学生id - * @return java.lang.String - * @author ZYJ - * @date 2023/3/30 9:39 - */ - String unfreeze(Long studentId); - - /** - * 生成消费订单(充值) - * - * @param dto 生成消费订单请求类 - * @return com.yida.data.device.vo.consume.ConsumePayInfoVO - * @author ZYJ - * @date 2023/3/22 16:37 - */ - ConsumePayInfoVO createConsumeOrder(CreateConsumeOrderDTO dto); - - /** - * 消费订单完成(前台支付成功后调用) - * - * @param orderCode 订单号 - * @author ZYJ - * @date 2023/3/23 16:43 - */ - void consumeOrderSuccess(String orderCode); - - /** - * 消费订单支付成功 - * - * @param orderCode 订单号 - * @param payDate 支付完成时间 - * @author ZYJ - * @date 2023/3/23 17:06 - */ - void consumeOrderPaySuccess(String orderCode, LocalDateTime payDate); - - /** - * 前端查询消费订单列表数据(充值记录) - * - * @param dto 消费订单列表请求类(充值记录) - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/3/24 14:26 - */ - IPage listH5ConsumeOrderPage(H5ConsumeOrderPageDTO dto); - - /** - * 前端查询消费订单详情(充值记录) - * - * @param orderId 订单id - * @param orderCode 订单号 - * @return com.yida.data.device.vo.consume.H5ConsumeOrderPageVO - * @author ZYJ - * @date 2023/3/24 14:43 - */ - H5ConsumeOrderPageVO getH5ConsumeOrderInfo(Long orderId, String orderCode); - - /** - * 继续支付 - * - * @param orderCode 订单号 - * @param deptId 学校id - * @return com.yida.data.device.vo.consume.ConsumePayInfoVO - * @author ZYJ - * @date 2023/3/24 14:49 - */ - ConsumePayInfoVO continuePayOrder(String orderCode, Long deptId); - - /** - * 取消订单 - * - * @param orderCode 订单号 - * @author ZYJ - * @date 2023/3/30 14:14 - */ - void cancelOrder(String orderCode); - - /** - * 前端查询学生消费记录列表 - * - * @param dto 消费机学生消费记录列表请求类 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/3/24 16:55 - */ - IPage listH5ConsumeRecordPage(H5ConsumeRecordPageDTO dto); -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeDeviceServiceImpl.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeDeviceServiceImpl.java deleted file mode 100644 index 50aa9e9..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeDeviceServiceImpl.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.yida.data.device.consume.service.impl; - -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.consume.EduConsumeDevice; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.enums.SysFunctionEnum; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.device.consume.mapper.EduConsumeDeviceMapper; -import com.yida.data.device.consume.service.EduConsumeDeviceService; -import com.yida.data.device.vo.consume.ConsumeDeviceVO; -import com.yida.data.system.feign.RemoteDeptService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 消费机设备Service实现 - * - * @author ZYJ - * @date 2023-03-14 18:02:27 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduConsumeDeviceServiceImpl extends ServiceImpl - implements EduConsumeDeviceService { - - private final RemoteDeptService remoteDeptService; - - @Override - public Page listDevicePage(Integer pageNum, Integer pageSize, String number, Integer state, Long schoolId) { - List schoolIds = new ArrayList<>(); - if (Objects.isNull(schoolId)) { - List deptList = remoteDeptService.getSchoolByArea(null, "").getData(); - if (CollUtil.isEmpty(deptList)) { - schoolIds.add(-1L); - } else { - schoolIds = deptList.stream().map(Dept::getDeptId).collect(Collectors.toList()); - } - } else { - schoolIds.add(schoolId); - } - Page devicePage = baseMapper.listDevicePage(new Page<>(pageNum, pageSize), schoolIds, number, state); - devicePage.getRecords().forEach(consumeDeviceVO -> consumeDeviceVO.setSchoolName(remoteDeptService.getInfoById(consumeDeviceVO.getSchoolId()).getData().getDeptName())); - return devicePage; - } - - @Override - public void saveDevice(EduConsumeDevice device) { - // 查询设备号是否重复 - EduConsumeDevice eduConsumeDevice = getOne(Wrappers.lambdaQuery(new EduConsumeDevice()) - .eq(EduConsumeDevice::getSn, device.getSn()) - .ne(Objects.nonNull(device.getId()), EduConsumeDevice::getId, device.getId()) - ); - if (Objects.nonNull(eduConsumeDevice)) { - throw new FebsException("该设备号已存在,请勿重复添加"); - } - - if (Objects.isNull(device.getId())) { - device.setDeviceType(SysFunctionEnum.HAI_PU_TIAN.getValue()); - } - saveOrUpdate(device); - } -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeOrderRefundServiceImpl.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeOrderRefundServiceImpl.java deleted file mode 100644 index 411691f..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeOrderRefundServiceImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.device.consume.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.consume.EduConsumeOrderRefund; -import com.yida.data.device.consume.mapper.EduConsumeOrderRefundMapper; -import com.yida.data.device.consume.service.EduConsumeOrderRefundService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 消费订单退款信息Service实现 - * - * @author ZYJ - * @date 2023-04-03 16:12:35 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduConsumeOrderRefundServiceImpl extends ServiceImpl - implements EduConsumeOrderRefundService { - - -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeOrderServiceImpl.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeOrderServiceImpl.java deleted file mode 100644 index 6e6b806..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeOrderServiceImpl.java +++ /dev/null @@ -1,594 +0,0 @@ -package com.yida.data.device.consume.service.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.date.LocalDateTimeUtil; -import cn.hutool.core.util.NumberUtil; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.constant.UPayConstant; -import com.yida.data.common.core.entity.constant.UnionPayConstant; -import com.yida.data.common.core.entity.constant.WxPayConstant; -import com.yida.data.common.core.entity.consume.DeptConsumeTerminalCache; -import com.yida.data.common.core.entity.consume.EduConsumeOrder; -import com.yida.data.common.core.entity.consume.EduConsumeOrderRefund; -import com.yida.data.common.core.entity.pay.URefund; -import com.yida.data.common.core.entity.pay.UnionRefund; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.EduPayWxConfig; -import com.yida.data.common.core.entity.system.UPayConfig; -import com.yida.data.common.core.entity.system.UnionPayConfig; -import com.yida.data.common.core.enums.*; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.*; -import com.yida.data.common.service.CommonService; -import com.yida.data.device.consume.mapper.EduConsumeOrderMapper; -import com.yida.data.device.consume.service.EduConsumeOrderRefundService; -import com.yida.data.device.consume.service.EduConsumeOrderService; -import com.yida.data.device.consume.service.H5ConsumeService; -import com.yida.data.device.dto.consume.ConsumeOrderPageDTO; -import com.yida.data.device.vo.consume.ConsumeOrderPageVO; -import com.yida.data.device.vo.consume.ConsumeRefundOrderVO; -import com.yida.data.system.feign.RemoteDeptService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Lazy; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 消费订单(充值记录)Service实现 - * - * @author ZYJ - * @date 2023/3/23 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduConsumeOrderServiceImpl extends ServiceImpl - implements EduConsumeOrderService { - - private final EduConsumeOrderRefundService eduConsumeOrderRefundService; - - @Lazy - @Resource - private H5ConsumeService h5ConsumeService; - - private final RemoteDeptService remoteDeptService; - - private final CommonService commonService; - private final UnionPayPublicUtil unionPayPublicUtil; - private static final String CONSUME_WX_REFUND_NOTIFY_URL = "mall/in/consume/wxRefundNotify"; - - @Value("${febs.apiUrl}") - private String apiUrl; - - @Override - public String uPayNotify(String result, HttpServletRequest request) { - try { - JSONObject map = JSONUtil.parseObj(result); - // 根据订单号查询对应的订单信息 - EduConsumeOrder order = getOne(new LambdaQueryWrapper<>(new EduConsumeOrder()) - .eq(EduConsumeOrder::getOrderCode, map.get("client_sn"))); - if (Objects.isNull(order)) { - log.error("收钱吧支付回调, 未找到订单信息, orderNO: {}", map.get("client_sn")); - return UPayNotifyResultEnum.FAILED_STATUS.getValue(); - } - // 判断支付结果是否处理 - if (OrderStatusEnum.PAY_SUCCESS.getStatus().equals(order.getOrderStatus())) { - log.info("收钱吧支付回调, 该订单已经处理: {}", order.getOrderCode()); - return UPayNotifyResultEnum.SUCCESS_STATUS.getValue(); - } - // 获取收钱吧配置信息 - UPayConfig config = commonService.getUPayConfigByDept(order.getDeptId()); - if (Objects.isNull(config)) { - log.info("收钱吧支付回调, 该学校没有对应的配置信息: {}", order.getDeptId()); - return UPayNotifyResultEnum.FAILED_STATUS.getValue(); - } - // 返回的订单状态 - String orderStatus = (String) map.get("order_status"); - // 新订单和不明确订单直接返回 - if (UPayTradeStateEnum.CREATED.getStatus().equals(orderStatus) - || UPayTradeStateEnum.INVALID_STATUS_CODE.getStatus().equals(orderStatus)) { - log.info("新订单和不明确订单, orderNo: {}", order.getOrderCode()); - return UPayNotifyResultEnum.FAILED_STATUS.getValue(); - } - // 签名 - String signature = request.getHeader("Authorization"); - // 验签 - boolean checkFlag = UPayUtil.validateSign(result, signature, config.getPublicKey()); - if (!checkFlag) { - log.error("收钱吧支付回调, 验签失败"); - return UPayNotifyResultEnum.FAILED_STATUS.getValue(); - } - // 支付时间 - String payTime = (String) map.get("finish_time"); - // 修改订单状态 - UPayTradeStateEnum tradeStateEnum = EnumUtils.valueOf(UPayTradeStateEnum.class, orderStatus, - UPayTradeStateEnum.class.getMethod("getStatus")); - switch (Objects.requireNonNull(tradeStateEnum)) { - // 支付成功 - case PAID: -// h5ConsumeService.consumeOrderPaySuccess(order.getOrderCode(), LocalDateTimeUtil.parse(payTime, DatePattern.NORM_DATETIME_PATTERN)); - h5ConsumeService.consumeOrderPaySuccess(order.getOrderCode(), LocalDateTimeUtil.ofUTC(Long.parseLong(payTime))); - break; - // 订单关闭 - case CANCELED: - order.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - order.setPayStatus(PayStatusEnum.CANCEL.getStatus()); - updateById(order); - break; - default: - break; - } - - } catch (Exception e) { - log.error("处理收钱吧支付回调数据失败", e); - return UPayNotifyResultEnum.FAILED_STATUS.getValue(); - } - return UPayNotifyResultEnum.SUCCESS_STATUS.getValue(); - } - - @Override - public void updateOrderStatus() { - // 查询超时订单 - List list = baseMapper.selectTimeOutConsumeOrder(); - if (CollUtil.isNotEmpty(list)) { - for (EduConsumeOrder order : list) { - // 微信订单 - if (PayWay.WEI_XIN.getValue().equals(order.getPayWay())) { - updateWxOrderStatus(order); - } else if (PayWay.UNION.getValue().equals(order.getPayWay())) { - updateUnionOrderStatus(order); - } else if (PayWay.U_PAY.getValue().equals(order.getPayWay())) { - updateUPayOrderStatus(order); - } - } - } - } - - /** - * 更新微信超时消费订单状态 - * - * @param order 订单信息 - * @author ZYJ - * @date 2023/4/3 13:34 - */ - private void updateWxOrderStatus(EduConsumeOrder order) { - try { - // 查询学校微信支付配置信息 - EduPayWxConfig config = commonService.getPayWxConfigBySchool(order.getDeptId()); - // 主动查询订单支付状态 - JSONObject resultJson = JSONUtil.parseObj(WxPayUtil.queryOrder(config, order.getOrderCode())); - log.info("微信消费订单查询返回数据, consumeOrderCode: {}, resultJson: {}", order.getOrderCode(), resultJson); - if (resultJson.containsKey(WxPayConstant.CODE_NAME) - && WxPayConstant.ORDER_NOT_EXIST.equals(resultJson.getStr(WxPayConstant.CODE_NAME))) { - // 订单不存在 取消订单 - order.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - order.setPayStatus(PayStatusEnum.CANCEL.getStatus()); - } else { - String tradeState = resultJson.getStr("trade_state"); - // 未支付则关闭订单 - if (WxTradeStateEnum.NOT_PAY.getStatus().equals(tradeState)) { - WxPayUtil.closeOrder(config, order.getOrderCode()); - } - WxTradeStateEnum wxTradeStateEnum = EnumUtils.valueOf(WxTradeStateEnum.class, tradeState, - WxTradeStateEnum.class.getMethod("getStatus")); - switch (Objects.requireNonNull(wxTradeStateEnum)) { - // 支付成功情况 - case SUCCESS: - h5ConsumeService.consumeOrderPaySuccess(order.getOrderCode(), - DateUtil.parseLocalDateTime(resultJson.getStr("success_time"), - "yyyy-MM" + "-dd'T" + "'HH:mm" + ":ssXXX")); - break; - // 作废订单 - case NOT_PAY: - case CLOSED: - case REVOKED: - case PAY_ERROR: - order.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - order.setPayStatus(PayStatusEnum.CANCEL.getStatus()); - break; - default: - break; - } - } - if (OrderStatusEnum.CLOSED.getStatus().equals(order.getOrderStatus())) { - baseMapper.updateById(order); - } - } catch (Exception e) { - log.error("更新微信消费订单状态失败, order: {}", order, e); - } - } - - /** - * 更新银联超时消费订单状态 - * - * @param order 订单信息 - * @author ZYJ - * @date 2023/4/3 13:41 - */ - private void updateUnionOrderStatus(EduConsumeOrder order) { - try { - // 查询学校银联配置信息 - UnionPayConfig config = commonService.getUnionPayConfigByDept(order.getDeptId()); - // 主商户信息 - UnionPayConfig parentConfig = config.getParentConfig(); - // 开发者ID - String appId = Objects.nonNull(parentConfig) ? parentConfig.getAppId() : config.getAppId(); - // 开发者key - String appKey = Objects.nonNull(parentConfig) ? parentConfig.getAppKey() : config.getAppKey(); - - // 主动查询订单支付状态 - JSONObject resultJson = UnionPayUtil.queryOrder(config, unionPayPublicUtil.getAccessToken(appId, appKey), order.getOrderCode()); - log.info("银联消费订单查询返回数据, consumeOrderCode: {}, resultJson: {}", order.getOrderCode(), resultJson); - // 返回code - String code = (String) resultJson.get(UnionPayConstant.CODE_NAME); - // 无法找到指定的订单 需要直接关闭订单 - if (UnionPayConstant.NO_ORDER_CODE.equalsIgnoreCase(code) - || UnionPayConstant.TARGET_FAIL_CODE.equalsIgnoreCase(code)) { - order.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - order.setPayStatus(PayStatusEnum.CANCEL.getStatus()); - baseMapper.updateById(order); - return; - } - // 支付状态 - String status = (String) resultJson.get("status"); - // 未支付则关闭订单 (银联云闪付不支付关闭订单) - if (UnionTradeStateEnum.NEW_ORDER.getStatus().equals(status) - && !UnionPayTypeEnum.UNION_H5_TYPE.getType().equals(order.getPayType())) { - UnionPayUtil.closeOrder(config, unionPayPublicUtil.getAccessToken(appId, appKey), order.getOrderCode()); - } - UnionTradeStateEnum tradeStateEnum = EnumUtils.valueOf(UnionTradeStateEnum.class, status, - UnionTradeStateEnum.class.getMethod("getStatus")); - switch (Objects.requireNonNull(tradeStateEnum)) { - // 支付成功 - case TRADE_SUCCESS: - h5ConsumeService.consumeOrderPaySuccess(order.getOrderCode(), - LocalDateTimeUtil.parse((String) resultJson.get("payTime"), DatePattern.NORM_DATETIME_PATTERN)); - break; - // 作废订单 - case NEW_ORDER: - case TRADE_CLOSED: - case WAIT_BUYER_PAY: - order.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - order.setPayStatus(PayStatusEnum.CANCEL.getStatus()); - break; - default: - break; - } - if (OrderStatusEnum.CLOSED.getStatus().equals(order.getOrderStatus())) { - baseMapper.updateById(order); - } - } catch (Exception e) { - log.error("更新银联消费订单状态失败, order: {}", order, e); - } - } - - /** - * 更新收钱吧超时消费订单状态 - * - * @param order 订单信息 - * @author ZYJ - * @date 2023/4/3 13:48 - */ - private void updateUPayOrderStatus(EduConsumeOrder order) { - try { - DeptConsumeTerminalCache terminalCache = commonService.getDeptConsumeTerminal(order.getDeptId()); - JSONObject jsonObject = UPayUtil.queryOrder(order.getOrderCode(), terminalCache.getTerminalSn(), terminalCache.getTerminalKey()); - log.info("收钱吧消费订单查询返回数据, consumeOrderCode: {}, resultJson: {}", order.getOrderCode(), jsonObject); - JSONObject bizResponse = jsonObject.getJSONObject("biz_response"); - // 无法找到指定的订单 需要直接关闭订单 - if (UPayConstant.NO_ORDER_CODE.equals(bizResponse.getStr(UPayConstant.ERROR_CODE_NAME)) - || UPayConstant.TRADE_NOT_EXIST.equals(bizResponse.getStr(UPayConstant.ERROR_CODE_NAME))) { - order.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - order.setPayStatus(PayStatusEnum.CANCEL.getStatus()); - baseMapper.updateById(order); - return; - } - JSONObject resultJson = bizResponse.getJSONObject("data"); - // 支付状态 - String status = (String) resultJson.get("order_status"); - // 无法找到指定的订单 需要直接关闭订单 - if (UPayTradeStateEnum.CREATED.getStatus().equals(status) - || UPayTradeStateEnum.INVALID_STATUS_CODE.getStatus().equals(status)) { - order.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - order.setPayStatus(PayStatusEnum.CANCEL.getStatus()); - baseMapper.updateById(order); - return; - } - UPayTradeStateEnum tradeStateEnum = EnumUtils.valueOf(UPayTradeStateEnum.class, status, - UPayTradeStateEnum.class.getMethod("getStatus")); - switch (Objects.requireNonNull(tradeStateEnum)) { - // 支付成功 - case PAID: - h5ConsumeService.consumeOrderPaySuccess(order.getOrderCode(), LocalDateTimeUtil.ofUTC(Long.parseLong(resultJson.getStr("finish_time")))); - break; - // 作废订单 - case CREATED: - case CANCELED: - order.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - order.setPayStatus(PayStatusEnum.CANCEL.getStatus()); - break; - default: - break; - } - if (OrderStatusEnum.CLOSED.getStatus().equals(order.getOrderStatus())) { - baseMapper.updateById(order); - } - } catch (Exception e) { - log.error("更新收钱吧消费订单状态失败, order: {}", order, e); - } - } - - @Override - public void updateRefundStatus() { - // 查询退款中状态的消费订单 - List refundOrderList = baseMapper.selectRefundOrder(); - if (CollUtil.isNotEmpty(refundOrderList)) { - refundOrderList.forEach(refundOrderVO -> { - // 微信 - if (PayWay.WEI_XIN.getValue().equals(refundOrderVO.getPayWay())) { - updateWxRefundStatus(refundOrderVO); - } else if (PayWay.UNION.getValue().equals(refundOrderVO.getPayWay())) { - updateUnionRefundStatus(refundOrderVO); - } else if (PayWay.U_PAY.getValue().equals(refundOrderVO.getPayWay())) { - updateUPayRefundStatus(refundOrderVO); - } - }); - } - } - - /** - * 更新微信退款订单状态 - * - * @param vo 退款信息 - * @author ZYJ - * @date 2023/4/3 16:11 - */ - private void updateWxRefundStatus(ConsumeRefundOrderVO vo) { - try { - EduPayWxConfig config = commonService.getPayWxConfigBySchool(vo.getDeptId()); - // 主动查询退款状态 - JSONObject resultJson = JSONUtil.parseObj(WxPayUtil.queryRefund(config, vo.getRefundCode())); - log.info("账单订单退款查询返回数据, refundOrderCode: {}, resultJson: {}", vo.getRefundCode(), resultJson); - // 状态 - String status = resultJson.getStr("status"); - WxRefundStatusEnum wxRefundStatusEnum = EnumUtils.valueOf(WxRefundStatusEnum.class, status, - WxRefundStatusEnum.class.getMethod("getStatus")); - switch (Objects.requireNonNull(wxRefundStatusEnum)) { - case REFUND_SUCCESS: - // 更新订单退款状态 - EduConsumeOrder order = getById(vo.getOrderId()); - order.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - order.setPayStatus(PayStatusEnum.REFUND_SUCCESS.getStatus()); - order.setIsRefund(RefundStatusEnum.IS_REFUND.getStatus()); - baseMapper.updateById(order); - // 更新退款时间 - EduConsumeOrderRefund eduBillOrderRefund = eduConsumeOrderRefundService.getById(vo.getRefundId()); - eduBillOrderRefund.setRefundTime(DateUtil.parseLocalDateTime(resultJson.getStr("success_time"), "yyyy-MM-dd'T'HH:mm:ssXXX")); - eduConsumeOrderRefundService.updateById(eduBillOrderRefund); - break; - case REFUND_ABNORMAL: - // TODO 2022/6/27 需要后续处理退款失败情况 - break; - default: - break; - } - } catch (Exception e) { - log.error("查询微信消费订单退款状态失败, refundOrder: {}", vo, e); - } - } - - /** - * 更新银联退款订单状态 - * - * @param vo 退款信息 - * @author ZYJ - * @date 2023/4/3 16:22 - */ - private void updateUnionRefundStatus(ConsumeRefundOrderVO vo) { - try { - // 查询学校银联配置信息 - UnionPayConfig config = commonService.getUnionPayConfigByDept(vo.getDeptId()); - // 主商户信息 - UnionPayConfig parentConfig = config.getParentConfig(); - // 开发者ID - String appId = Objects.nonNull(parentConfig) ? parentConfig.getAppId() : config.getAppId(); - // 开发者key - String appKey = Objects.nonNull(parentConfig) ? parentConfig.getAppKey() : config.getAppKey(); - // 主动查询退款状态 - JSONObject resultJson = UnionPayUtil.refundQuery(config, vo.getRefundCode(), unionPayPublicUtil.getAccessToken(appId, appKey)); - log.info("银联账单订单退款查询返回数据, refundOrderCode: {}, resultJson: {}", vo.getRefundCode(), resultJson); - // 退款状态 - String refundStatus = resultJson.getStr("refundStatus"); - UnionRefundStatusEnum refundStatusEnum = EnumUtils.valueOf(UnionRefundStatusEnum.class, refundStatus, - UnionRefundStatusEnum.class.getMethod("getStatus")); - switch (Objects.requireNonNull(refundStatusEnum)) { - case REFUND_SUCCESS: - // 更新订单退款状态 - EduConsumeOrder eduBillOrder = getById(vo.getOrderId()); - eduBillOrder.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - eduBillOrder.setPayStatus(PayStatusEnum.REFUND_SUCCESS.getStatus()); - eduBillOrder.setIsRefund(RefundStatusEnum.IS_REFUND.getStatus()); - baseMapper.updateById(eduBillOrder); - // 更新退款时间 - EduConsumeOrderRefund eduBillOrderRefund = eduConsumeOrderRefundService.getById(vo.getRefundId()); - eduBillOrderRefund.setRefundTime(LocalDateTimeUtil.parse((String) resultJson.get("responseTimestamp"), DatePattern.NORM_DATETIME_PATTERN)); - eduConsumeOrderRefundService.updateById(eduBillOrderRefund); - break; - case REFUND_FAIL: - // TODO 2022/6/27 需要后续处理退款失败情况 - break; - default: - break; - } - } catch (Exception e) { - log.error("查询银联消费订单退款状态失败, refundOrder: {}", vo, e); - } - } - - /** - * 更新收钱吧退款订单状态 - * - * @param vo 退款信息 - * @author ZYJ - * @date 2023/4/3 16:26 - */ - private void updateUPayRefundStatus(ConsumeRefundOrderVO vo) { - try { - DeptConsumeTerminalCache terminalCache = commonService.getDeptConsumeTerminal(vo.getDeptId()); - JSONObject jsonObject = UPayUtil.queryRefundOrder(vo.getOrderCode(), vo.getRefundCode(), terminalCache.getTerminalSn(), terminalCache.getTerminalKey()); - log.info("收钱吧消费订单查询返回数据, consumeOrderCode: {}, resultJson: {}", vo.getOrderCode(), jsonObject); - JSONObject resultJson = jsonObject.getJSONObject("biz_response").getJSONObject("data"); - - // 订单状态 - String status = (String) resultJson.get("order_status"); - UPayTradeStateEnum tradeStateEnum = EnumUtils.valueOf(UPayTradeStateEnum.class, status, - UPayTradeStateEnum.class.getMethod("getStatus")); - switch (Objects.requireNonNull(tradeStateEnum)) { - // 支付成功 - case REFUNDED: - // 更新订单退款状态 - EduConsumeOrder eduBillOrder = getById(vo.getOrderId()); - eduBillOrder.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - eduBillOrder.setPayStatus(PayStatusEnum.REFUND_SUCCESS.getStatus()); - eduBillOrder.setIsRefund(RefundStatusEnum.IS_REFUND.getStatus()); - baseMapper.updateById(eduBillOrder); - // 更新退款时间 - EduConsumeOrderRefund eduBillOrderRefund = eduConsumeOrderRefundService.getById(vo.getRefundId()); - eduBillOrderRefund.setRefundTime(LocalDateTimeUtil.ofUTC(Long.parseLong(resultJson.getStr("finish_time")))); - eduConsumeOrderRefundService.updateById(eduBillOrderRefund); - break; - case REFUND_ERROR: - // TODO 2023/4/3 需要后续处理退款失败情况 - break; - default: - break; - } - } catch (Exception e) { - log.error("查询收钱吧消费订单退款状态失败, refundOrder: {}", vo, e); - } - } - - @Override - public Page listConsumeOrderPage(ConsumeOrderPageDTO dto) { - - List schoolIds = new ArrayList<>(); - if (Objects.isNull(dto.getSchoolId())) { - List deptList = remoteDeptService.getSchoolByArea(null, "").getData(); - if (CollUtil.isEmpty(deptList)) { - schoolIds.add(-1L); - } else { - schoolIds = deptList.stream().map(Dept::getDeptId).collect(Collectors.toList()); - } - } else { - schoolIds.add(dto.getSchoolId()); - } - - return baseMapper.listConsumeOrderPage(new Page<>(dto.getPageNum(), dto.getPageSize()), schoolIds, dto); - } - - @Override - public void refundOrder(String orderCode) { - EduConsumeOrder order = getOne(new LambdaQueryWrapper<>(new EduConsumeOrder()).eq(EduConsumeOrder::getOrderCode, orderCode)); - // 判断订单能否退款 - Asserts.isTrue(OrderStatusEnum.PAY_SUCCESS.getStatus().equals(order.getOrderStatus()) - && PayStatusEnum.PAY_SUCCESS.getStatus().equals(order.getPayStatus()), "该笔订单无法进行退款"); - // 保存退款信息 - EduConsumeOrderRefund eduConsumeOrderRefund = new EduConsumeOrderRefund(); - eduConsumeOrderRefund.setOrderCode(orderCode); - // 生成退款订单号 - String refundOrderCode = ""; - if (PayWay.WEI_XIN.getValue().equals(order.getPayWay())) { - // 微信 - refundOrderCode = "R" + orderCode; - } else if (PayWay.UNION.getValue().equals(order.getPayWay())) { - // 银联 - // 获取银联商户号相关信息 - UnionPayConfig config = commonService.getUnionPayConfigByDept(order.getDeptId()); - refundOrderCode = UnionPayUtil.getOrderNumber(Objects.nonNull(config.getParentConfig()) - ? config.getParentConfig().getSourceNumber() : config.getSourceNumber()); - } else if (PayWay.U_PAY.getValue().equals(order.getPayWay())) { - // 收钱吧 - refundOrderCode = "R" + orderCode; - } - eduConsumeOrderRefund.setRefundCode(refundOrderCode); - eduConsumeOrderRefund.setRefundSerialNumber(order.getTransactionNumber().replace("P", "R")); - eduConsumeOrderRefundService.save(eduConsumeOrderRefund); - // 修改订单状态 - order.setOrderStatus(OrderStatusEnum.USER_REFUNDING.getStatus()); - updateById(order); - try { - // 调用退款接口 - PayWay payWay = EnumUtils.valueOf(PayWay.class, order.getPayWay(), - PayWay.class.getMethod("getValue")); - switch (Objects.requireNonNull(payWay)) { - // 微信 - case WEI_XIN: - // 查询学校微信支付配置 - EduPayWxConfig config = commonService.getPayWxConfigBySchool(order.getDeptId()); - WxPayUtil.refund(config, eduConsumeOrderRefund.getOrderCode(), - eduConsumeOrderRefund.getRefundReason(), - eduConsumeOrderRefund.getRefundCode(), - NumberUtil.mul(order.getPracticalMoney(), new BigDecimal("100")).longValue(), - NumberUtil.mul(order.getPracticalMoney(), new BigDecimal("100")).longValue(), - apiUrl + CONSUME_WX_REFUND_NOTIFY_URL); - break; - case UNION: - // 查询学校银联云闪付支付配置 - UnionPayConfig unionPayConfig = commonService.getUnionPayConfigByDept(order.getDeptId()); - UnionPayConfig parentConfig = unionPayConfig.getParentConfig(); - UnionPayUtil.refund(unionPayConfig, UnionRefund.builder() - .orderNo(orderCode) - .refundOrderNo(eduConsumeOrderRefund.getRefundCode()) - .transactionNumber(eduConsumeOrderRefund.getRefundSerialNumber()) - .refundAmount(order.getPracticalMoney()) - .build() - , unionPayPublicUtil.getAccessToken( - Objects.nonNull(parentConfig) ? parentConfig.getAppId() : unionPayConfig.getAppId(), - Objects.nonNull(parentConfig) ? parentConfig.getAppKey() : unionPayConfig.getAppKey() - )); - break; - case U_PAY: - DeptConsumeTerminalCache terminalCache = commonService.getDeptConsumeTerminal(order.getDeptId()); - JSONObject jsonObject = UPayUtil.refund(URefund.builder() - .clientSn(orderCode) - .refundRequestNo(refundOrderCode) - .operator(order.getPhone()) - .refundAmount(order.getPracticalMoney()) - .build(), terminalCache.getTerminalSn(), terminalCache.getTerminalKey()); - JSONObject resultJson = jsonObject.getJSONObject("biz_response").getJSONObject("data"); - // 更新订单退款状态 - order.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - order.setPayStatus(PayStatusEnum.REFUND_SUCCESS.getStatus()); - order.setIsRefund(RefundStatusEnum.IS_REFUND.getStatus()); - baseMapper.updateById(order); - // 更新退款时间 - EduConsumeOrderRefund eduBillOrderRefund = eduConsumeOrderRefundService.getById(eduConsumeOrderRefund.getId()); - eduBillOrderRefund.setRefundTime(LocalDateTimeUtil.ofUTC(Long.parseLong(resultJson.getStr("finish_time")))); - eduConsumeOrderRefundService.updateById(eduBillOrderRefund); - break; - default: - break; - } - } catch (Exception e) { - log.error("退款失败", e); - throw new FebsException("退款失败"); - } - } -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeOrderStudentServiceImpl.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeOrderStudentServiceImpl.java deleted file mode 100644 index 643aa91..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeOrderStudentServiceImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.device.consume.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.consume.EduConsumeOrderStudent; -import com.yida.data.device.consume.mapper.EduConsumeOrderStudentMapper; -import com.yida.data.device.consume.service.EduConsumeOrderStudentService; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 消费订单(充值)学生详细信息Service实现 - * - * @author ZYJ - * @date 2023-03-23 14:03:58 - */ -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduConsumeOrderStudentServiceImpl extends ServiceImpl - implements EduConsumeOrderStudentService { - - -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeRecordServiceImpl.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeRecordServiceImpl.java deleted file mode 100644 index 98ad34d..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduConsumeRecordServiceImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.device.consume.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.consume.EduConsumeRecord; -import com.yida.data.device.consume.mapper.EduConsumeRecordMapper; -import com.yida.data.device.consume.service.EduConsumeRecordService; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 消费机学生消费记录Service实现 - * - * @author ZYJ - * @date 2023-03-24 16:16:49 - */ -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduConsumeRecordServiceImpl extends ServiceImpl - implements EduConsumeRecordService { - - -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduStudentConsumeCardServiceImpl.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduStudentConsumeCardServiceImpl.java deleted file mode 100644 index f044ed6..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/EduStudentConsumeCardServiceImpl.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.yida.data.device.consume.service.impl; - -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.consume.EduStudentConsumeCard; -import com.yida.data.device.consume.mapper.EduStudentConsumeCardMapper; -import com.yida.data.device.consume.service.EduStudentConsumeCardService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.util.Objects; - -/** - * 学生消费机信息管理Service实现 - * - * @author ZYJ - * @date 2023-03-20 15:02:20 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduStudentConsumeCardServiceImpl extends ServiceImpl - implements EduStudentConsumeCardService { - - @Override - public void saveConsumeCard(EduStudentConsumeCard eduStudentConsumeCard) { - EduStudentConsumeCard consumeCard = getOne(Wrappers.lambdaQuery(new EduStudentConsumeCard()) - .eq(EduStudentConsumeCard::getStudentId, eduStudentConsumeCard.getStudentId())); - if (Objects.isNull(consumeCard)) { - eduStudentConsumeCard.setBalance(new BigDecimal("0.0")); - save(eduStudentConsumeCard); - } - } -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/H5ConsumeServiceImpl.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/H5ConsumeServiceImpl.java deleted file mode 100644 index eccf7c3..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/consume/service/impl/H5ConsumeServiceImpl.java +++ /dev/null @@ -1,784 +0,0 @@ -package com.yida.data.device.consume.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.codec.Base64; -import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.date.LocalDateTimeUtil; -import cn.hutool.core.lang.Snowflake; -import cn.hutool.core.util.NumberUtil; -import cn.hutool.core.util.RandomUtil; -import cn.hutool.crypto.SecureUtil; -import cn.hutool.crypto.asymmetric.Sign; -import cn.hutool.crypto.asymmetric.SignAlgorithm; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.common.ResultMsgType; -import com.yida.data.common.core.common.ResultStatusType; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.Dict; -import com.yida.data.common.core.entity.apply.EduApplyProductOrder; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.constant.UPayConstant; -import com.yida.data.common.core.entity.constant.UnionPayConstant; -import com.yida.data.common.core.entity.consume.*; -import com.yida.data.common.core.entity.pay.UPayOrder; -import com.yida.data.common.core.entity.pay.UnionPayOrder; -import com.yida.data.common.core.entity.system.EduDeptPayType; -import com.yida.data.common.core.entity.system.EduPayWxConfig; -import com.yida.data.common.core.entity.system.UnionPayConfig; -import com.yida.data.common.core.entity.user.EduParent; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.entity.user.EduStudentApply; -import com.yida.data.common.core.enums.*; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.*; -import com.yida.data.common.service.CommonService; -import com.yida.data.device.consume.mapper.EduConsumeOrderMapper; -import com.yida.data.device.consume.mapper.EduConsumeRecordMapper; -import com.yida.data.device.consume.service.EduConsumeOrderService; -import com.yida.data.device.consume.service.EduConsumeOrderStudentService; -import com.yida.data.device.consume.service.EduStudentConsumeCardService; -import com.yida.data.device.consume.service.H5ConsumeService; -import com.yida.data.device.dto.consume.CreateConsumeOrderDTO; -import com.yida.data.device.dto.consume.H5ConsumeOrderPageDTO; -import com.yida.data.device.dto.consume.H5ConsumeRecordPageDTO; -import com.yida.data.device.vo.consume.*; -import com.yida.data.user.feign.RemoteStudentApplyService; -import com.yida.data.user.feign.RemoteStudentService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.util.List; -import java.util.Objects; -import java.util.concurrent.ExecutorService; -import java.util.stream.Collectors; - -/** - * 消费机前端service - * - * @author ZYJ - * @date 2023/3/16 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class H5ConsumeServiceImpl implements H5ConsumeService { - - private final EduConsumeOrderService eduConsumeOrderService; - private final EduStudentConsumeCardService eduStudentConsumeCardService; - private final EduConsumeOrderStudentService eduConsumeOrderStudentService; - - private final EduConsumeOrderMapper eduConsumeOrderMapper; - private final EduConsumeRecordMapper eduConsumeRecordMapper; - - private final RemoteStudentService remoteStudentService; - private final RemoteStudentApplyService remoteStudentApplyService; - - private final RedisService redisService; - private final CommonService commonService; - private final UnionPayPublicUtil unionPayPublicUtil; - - private static final ExecutorService CONSUME_ORDER_SUCCESS_POOL = ThreadPoolUtil.getThreadPool("consume-order-pool-%d"); - private static final Snowflake ORDER_CODE_GENERATOR = new Snowflake(1, 1); - - private static final String CONSUME_WX_PAY_NOTIFY_URL = "device/in/consume/wxPayNotify"; - private static final String CONSUME_WX_REFUND_NOTIFY_URL = "device/in/consume/wxRefundNotify"; - - private static final String CONSUME_UNION_PAY_NOTIFY_URL = "device/in/consume/unionPayNotify"; - private static final String CONSUME_UNION_PAY_RETURN_URL = ""; - - @Value("${febs.apiUrl}") - private String apiUrl; - - @Value("${febs.pageUrl}") - private String pageUrl; - - @Override - public ConsumeVipVO checkVip(Long studentId, Long schoolId) { - Dict dict = commonService.getDictByTypeAndValueOrLabel("apply_type", null, "食堂消费"); - // 查询是否是会员 - EduStudentApply studentApply = remoteStudentApplyService.getStudentApply(studentId, dict.getValue()).getData(); - ConsumeVipVO consumeVipVO = new ConsumeVipVO(); - if (Objects.isNull(studentApply)) { - consumeVipVO.setVipFlag(false); - } else { - consumeVipVO.setVipFlag(true); - consumeVipVO.setStartTime(studentApply.getStartTime()); - consumeVipVO.setEndTime(studentApply.getEndTime()); - EduStudentConsumeCard consumeCard = eduStudentConsumeCardService.getOne(Wrappers.lambdaQuery(new EduStudentConsumeCard()) - .eq(EduStudentConsumeCard::getStudentId, studentId)); - if (Objects.nonNull(consumeCard)) { - consumeVipVO.setBalance(consumeCard.getBalance()); - consumeVipVO.setCardStatus(consumeCard.getCardStatus()); - EduStudent student = remoteStudentService.getStudentNoPermission(studentId).getData(); - consumeVipVO.setStuCardNum(student.getStuCardNumber()); - } - EduDeptPayType deptPayWay = commonService.getDeptPayWay(schoolId); - if (Objects.nonNull(deptPayWay)) { - consumeVipVO.setPayWay(deptPayWay.getPayWay()); - consumeVipVO.setPayType(deptPayWay.getSupportType()); - } - } - return consumeVipVO; - } - - @Override - public String reportLoss(Long studentId) { - EduStudentConsumeCard consumeCard = eduStudentConsumeCardService.getOne(Wrappers.lambdaQuery(new EduStudentConsumeCard()) - .eq(EduStudentConsumeCard::getStudentId, studentId)); - if (Objects.isNull(consumeCard)) { - throw new FebsException(ResultMsgType.CARD_STATUS_ERROR.getValue()); - } - EduStudent eduStudent = remoteStudentService.getStudentNoPermission(studentId).getData(); - // 获取学校消费机服务器信息 - EduConsumeConfig consumeConfig = commonService.getConsumeConfigByDept(consumeCard.getDeptId()); - // 调用消费机挂失接口 - ConsumeUtil.lockCard(consumeConfig, ConsumeUtil.getPersonInfo(consumeConfig, eduStudent.getStuCardNumber()).getStr("cardID")); - consumeCard.setCardStatus(EduStudentConsumeCard.LOSS_CARD); - eduStudentConsumeCardService.updateById(consumeCard); - return EduStudentConsumeCard.LOSS_CARD.toString(); - } - - @Override - public String unfreeze(Long studentId) { - EduStudentConsumeCard consumeCard = eduStudentConsumeCardService.getOne(Wrappers.lambdaQuery(new EduStudentConsumeCard()) - .eq(EduStudentConsumeCard::getStudentId, studentId)); - if (Objects.isNull(consumeCard)) { - throw new FebsException(ResultMsgType.CARD_STATUS_ERROR.getValue()); - } - EduStudent eduStudent = remoteStudentService.getStudentNoPermission(studentId).getData(); - // 获取学校消费机服务器信息 - EduConsumeConfig consumeConfig = commonService.getConsumeConfigByDept(consumeCard.getDeptId()); - // 调用消费机解挂接口 - ConsumeUtil.unLockCard(consumeConfig, ConsumeUtil.getPersonInfo(consumeConfig, eduStudent.getStuCardNumber()).getStr("cardID")); - consumeCard.setCardStatus(EduStudentConsumeCard.NORMAL_CARD); - eduStudentConsumeCardService.updateById(consumeCard); - return EduStudentConsumeCard.NORMAL_CARD.toString(); - } - - @Override - public ConsumePayInfoVO createConsumeOrder(CreateConsumeOrderDTO dto) { - CurrentUser currentUser = FebsUtil.getCurrentUser(); - // 查询学生信息 - EduStudent student = remoteStudentService.getStudentNoPermission(dto.getStudentId()).getData(); - if (Objects.isNull(student)) { - throw new FebsException("学生信息错误"); - } - if (NumberUtil.isLessOrEqual(dto.getMoney(), BigDecimal.ZERO)) { - throw new FebsException("请输入正确的充值金额"); - } - // 判断是否有下单缓存信息 - ConsumeOrderStudentCacheVO existOrderStudent = (ConsumeOrderStudentCacheVO) redisService.get( - CachePrefixConstant.CONSUME_ORDER_STUDENT + dto.getStudentId().toString()); - if (Objects.nonNull(existOrderStudent)) { - return ConsumePayInfoVO.builder() - .errorCode(ResultStatusType.FAIL.getValue()) - .errorMessage(String.format("%s%s正在支付中, 请耐心等待", - existOrderStudent.getStudentName(), existOrderStudent.getParentType())) - .orderCode(existOrderStudent.getOrderNo()) - .build(); - } - if (StringUtils.isEmpty(dto.getPayWay()) || - PayWay.ALIPAY.getValue().equals(dto.getPayWay())) { - throw new FebsException(ResultMsgType.PAY_TYPE_ERROR.getValue()); - } - // 家长信息 - List parents = student.getParents(); - EduParent orderParent = parents.stream().filter( - x -> currentUser.getMobile().equals(x.getMobile())).collect(Collectors.toList()).get(0); - if (Objects.isNull(orderParent)) { - log.error("家长信息错误, studentId: {}, mobile: {}", dto.getStudentId(), currentUser.getMobile()); - throw new FebsException("学生信息错误"); - } - String orderCode = ""; - try { - // 订单号 需要根据支付方式生成不同的订单号 - String orderNo = ""; - if (PayWay.WEI_XIN.getValue().equals(dto.getPayWay())) { - // 微信 - orderNo = String.valueOf(ORDER_CODE_GENERATOR.nextId()); - } else if (PayWay.UNION.getValue().equals(dto.getPayWay())) { - // 银联 - // 获取银联商户号相关信息 - UnionPayConfig config = commonService.getUnionPayConfigByDept(student.getSchoolId()); - orderNo = UnionPayUtil.getOrderNumber(Objects.nonNull(config.getParentConfig()) - ? config.getParentConfig().getSourceNumber() : config.getSourceNumber()); - } else if (PayWay.U_PAY.getValue().equals(dto.getPayWay())) { - // 收钱吧 - orderNo = String.valueOf(ORDER_CODE_GENERATOR.nextId()); - } - if (StringUtils.isEmpty(orderNo)) { - log.error("生成订单号失败!"); - throw new FebsException(ResultMsgType.ORDER_FAIL.getValue()); - } - orderCode = orderNo; - ConsumeOrderStudentCacheVO consumeOrderStudentCacheVO = ConsumeOrderStudentCacheVO.builder() - .studentId(dto.getStudentId()) - .studentName(student.getStuName()) - .parentId(orderParent.getId()) - .parentType(orderParent.getParentType()) - .mobile(currentUser.getMobile()) - .orderNo(orderNo) - .build(); - // 添加学生消费订单缓存 - redisService.set(CachePrefixConstant.CONSUME_ORDER_STUDENT + dto.getStudentId().toString(), consumeOrderStudentCacheVO, UPayConstant.ORDER_TIME); - return createOrder(dto, student, orderParent, currentUser, orderNo); - } catch (FebsException e) { - // 删除学生消费订单缓存 - redisService.del(CachePrefixConstant.CONSUME_ORDER_STUDENT + dto.getStudentId()); - // 删除消费订单对应缓存 - if (StringUtils.isNotBlank(orderCode)) { - redisService.del(CachePrefixConstant.CONSUME_ORDER + orderCode); - redisService.del(CachePrefixConstant.CONSUME_ORDER_FLAG + orderCode); - } - throw new FebsException(e.getMessage()); - } catch (Exception e) { - // 删除学生消费订单缓存 - redisService.del(CachePrefixConstant.CONSUME_ORDER_STUDENT + dto.getStudentId()); - // 删除消费订单对应缓存 - if (StringUtils.isNotBlank(orderCode)) { - redisService.del(CachePrefixConstant.CONSUME_ORDER + orderCode); - redisService.del(CachePrefixConstant.CONSUME_ORDER_FLAG + orderCode); - } - throw new FebsException(ResultMsgType.ORDER_FAIL.getValue()); - } - } - - /** - * 生成订单并返回支付信息 - * - * @param dto 生成消费订单请求类 - * @param student 学生信息 - * @param orderParent 下单家长 - * @param currentUser 登录用户信息 - * @param orderNo 订单号 - * @return com.yida.data.device.vo.consume.ConsumePayInfoVO - * @author ZYJ - * @date 2023/3/23 15:50 - */ - private ConsumePayInfoVO createOrder(CreateConsumeOrderDTO dto, EduStudent student, - EduParent orderParent, CurrentUser currentUser, String orderNo) { - // 生成消费订单信息 - EduConsumeOrder eduConsumeOrder = new EduConsumeOrder(); - eduConsumeOrder.setOrderCode(orderNo); - // 流水号 - eduConsumeOrder.setTransactionNumber(PayUtil.generateSerialNumber("P", dto.getSchoolId(), "")); - eduConsumeOrder.setStudentId(student.getId()); - eduConsumeOrder.setTotalMoney(dto.getMoney()); - eduConsumeOrder.setPracticalMoney(dto.getMoney()); - eduConsumeOrder.setPhone(currentUser.getMobile()); - // 订单状态和支付状态 - eduConsumeOrder.setOrderStatus(OrderStatusEnum.NOT_PAY.getStatus()); - eduConsumeOrder.setPayStatus(PayStatusEnum.NOT_PAY.getStatus()); - eduConsumeOrder.setPayWay(dto.getPayWay()); - eduConsumeOrder.setPayType(dto.getPayType()); - eduConsumeOrder.setDeptId(student.getSchoolId()); - // 保存订单主体信息 - eduConsumeOrderService.save(eduConsumeOrder); - // 保存学生信息 - EduConsumeOrderStudent eduConsumeOrderStudent = new EduConsumeOrderStudent(); - BeanUtils.copyProperties(student, eduConsumeOrderStudent); - eduConsumeOrderStudent.setId(null); - eduConsumeOrderStudent.setOrderId(eduConsumeOrder.getOrderId()); - eduConsumeOrderStudent.setStudentId(student.getId()); - eduConsumeOrderStudent.setStudentName(student.getStuName()); - eduConsumeOrderStudent.setStudentNumber(student.getStuNumber()); - eduConsumeOrderStudent.setStuCardNumber(student.getStuCardNumber()); - eduConsumeOrderStudent.setStudentFamilyType(student.getFamilyType()); - eduConsumeOrderStudent.setStudentParentType(orderParent.getParentType()); - eduConsumeOrderStudentService.save(eduConsumeOrderStudent); - - // 下单返回信息 - String result = placeOrder(student, eduConsumeOrder, orderParent); - // 添加消费订单缓存 - redisService.set(CachePrefixConstant.CONSUME_ORDER + eduConsumeOrder.getOrderCode(), eduConsumeOrder, UPayConstant.ORDER_TIME); - redisService.set(CachePrefixConstant.CONSUME_ORDER_FLAG + eduConsumeOrder.getOrderCode(), result, UPayConstant.ORDER_TIME); - - return getPayInfo(eduConsumeOrder.getOrderCode(), result, eduConsumeOrder.getDeptId(), true, - dto.getPayWay(), dto.getPayType()); - } - - /** - * 调用第三方接口生成支付信息 - * - * @param student 学生信息 - * @param eduConsumeOrder 订单信息 - * @param orderParent 下单家长 - * @return java.lang.String - * @author ZYJ - * @date 2023/3/23 15:43 - */ - private String placeOrder(EduStudent student, EduConsumeOrder eduConsumeOrder, EduParent orderParent) { - // 下单返回信息 - String result = ""; - try { - if (PayWay.WEI_XIN.getValue().equals(eduConsumeOrder.getPayWay())) { - // 微信支付 - EduPayWxConfig config = commonService.getPayWxConfigBySchool(student.getSchoolId()); - EduApplyProductOrder order = new EduApplyProductOrder(); - order.setProductName(""); - order.setOrderCode(eduConsumeOrder.getOrderCode()); - order.setPraccticalMoney(eduConsumeOrder.getPracticalMoney().doubleValue()); - String ip = FebsUtil.getHttpServletRequestIpAddress(); - // js api下单 - if (WxPayTypeEnum.JS_TYPE.getStatus().equals(eduConsumeOrder.getPayType())) { - result = WxPayUtil.placeOrderJs(config, order, orderParent.getWxPublicOpenId(), ip, - apiUrl + CONSUME_WX_PAY_NOTIFY_URL); - } else { - // h5下单 - result = WxPayUtil.placeOrderH5(config, order, ip, apiUrl + CONSUME_WX_PAY_NOTIFY_URL); - } - } else if (PayWay.UNION.getValue().equals(eduConsumeOrder.getPayWay())) { - // 获取对应支付类型枚举 - UnionPayTypeEnum unionPayTypeEnum = EnumUtils.valueOf(UnionPayTypeEnum.class, eduConsumeOrder.getPayType(), - UnionPayTypeEnum.class.getMethod("getType")); - // 银联云闪付 - result = UnionPayUtil.placeOrder(commonService.getUnionPayConfigByDept(student.getSchoolId()), - UnionPayOrder.builder() - .orderNo(eduConsumeOrder.getOrderCode()) - .transactionNumber(eduConsumeOrder.getTransactionNumber()) - .payMoney(eduConsumeOrder.getPracticalMoney()) - .notifyUrl(apiUrl + CONSUME_UNION_PAY_NOTIFY_URL) - .returnUrl(pageUrl + CONSUME_UNION_PAY_RETURN_URL) - .payTypeEnum(unionPayTypeEnum) - .build()); - } else if (PayWay.U_PAY.getValue().equals(eduConsumeOrder.getPayWay())) { - // 收钱吧 - DeptConsumeTerminalCache terminalCache = commonService.getDeptConsumeTerminal(eduConsumeOrder.getDeptId()); - result = UPayUtil.placeOrder(UPayOrder.builder() - .clientSn(eduConsumeOrder.getOrderCode()) - .totalAmount(eduConsumeOrder.getPracticalMoney()) - .operator(orderParent.getMobile()) - .notifyUrl(apiUrl + UPayConstant.NOTIFY_URL) -// .returnUrl(pageUrl + UPayConstant.RETURN_URL) - .returnUrl("http://zbztest.yd-data.com") - .build(), terminalCache.getTerminalSn(), terminalCache.getTerminalKey()); - } - } catch (Exception e) { - log.error("消费下单失败", e); - throw new FebsException(ResultMsgType.ORDER_FAIL.getValue()); - } - if (StringUtils.isEmpty(result)) { - log.error("消费下单失败, 没有支付信息"); - throw new FebsException(ResultMsgType.ORDER_FAIL.getValue()); - } - return result; - } - - /** - * 获取订单支付信息 - * - * @param orderCode 订单号 - * @param orderFlag 微信js支付prepayId, h5支付跳转地址 - * @param deptId 学校id - * @param needToPay 是否需要跳转支付 - * @param payWay 支付方式 {@link PayWay} - * @param payType 支付类型 - * @return com.yida.data.device.vo.consume.ConsumePayInfoVO - * @author ZYJ - * @date 2023/3/23 15:48 - */ - public ConsumePayInfoVO getPayInfo(String orderCode, String orderFlag, Long deptId, - boolean needToPay, String payWay, Integer payType) { - ConsumePayInfoVO consumePayInfoVO = null; - if (PayWay.WEI_XIN.getValue().equals(payWay)) { - // 微信 - consumePayInfoVO = getWxJsSign(orderCode, orderFlag, deptId, needToPay, payType); - } else if (PayWay.UNION.getValue().equals(payWay)) { - // 银联 - consumePayInfoVO = ConsumePayInfoVO.builder() - .orderCode(orderCode) - .needToPay(needToPay) - .payWay(payWay) - .payType(payType) - .payDomain(UnionPayConstant.URL) - .payUrl(orderFlag) - .build(); - } else if (PayWay.U_PAY.getValue().equals(payWay)) { - // 收钱吧 - consumePayInfoVO = ConsumePayInfoVO.builder() - .orderCode(orderCode) - .needToPay(needToPay) - .payWay(payWay) - .payType(payType) - .payDomain(UPayConstant.URL) - .payUrl(orderFlag) - .build(); - } - return consumePayInfoVO; - } - - /** - * 生成微信支付信息 - * - * @param orderCode 订单号 - * @param orderFlag 微信js支付prepayId, h5支付跳转地址 - * @param deptId 学校id - * @param needToPay 是否需要跳转支付 - * @param wxPayType 微信支付类型 {@link WxPayTypeEnum} - * @return com.yida.data.device.vo.consume.ConsumePayInfoVO - * @author ZYJ - * @date 2023/3/23 15:47 - */ - public ConsumePayInfoVO getWxJsSign(String orderCode, String orderFlag, Long deptId, - boolean needToPay, Integer wxPayType) { - ConsumePayInfoVO infoVO = new ConsumePayInfoVO(); - infoVO.setOrderCode(orderCode); - infoVO.setNeedToPay(needToPay); - infoVO.setPayWay(PayWay.WEI_XIN.getValue()); - infoVO.setPayType(wxPayType); - - // js api类型 - if (Objects.isNull(wxPayType) || WxPayTypeEnum.JS_TYPE.getStatus().equals(wxPayType)) { - EduPayWxConfig config = commonService.getPayWxConfigBySchool(deptId); - String timestamp = String.valueOf(System.currentTimeMillis() / 1000); - String nonceStr = RandomUtil.randomString(32); - String packages = "prepay_id=" + orderFlag; - String code = config.getWxPublicId() + "\n" + timestamp + "\n" + nonceStr + "\n" + packages + "\n"; - Sign sign = SecureUtil.sign(SignAlgorithm.SHA256withRSA, config.getApiCreditPrivateKeyNoHead(), - null); - byte[] res = sign.sign(code.getBytes()); - String signRes = Base64.encode(res); - infoVO.setWxAppId(config.getWxPublicId()); - infoVO.setWxSign(signRes); - infoVO.setWxTimestamp(timestamp); - infoVO.setWxPackage(packages); - infoVO.setWxNonceStr(nonceStr); - } else { - infoVO.setPayUrl(orderFlag); - } - return infoVO; - } - - @Override - public void consumeOrderSuccess(String orderCode) { - CONSUME_ORDER_SUCCESS_POOL.execute(() -> { - EduConsumeOrder order = eduConsumeOrderService.getOne(new LambdaQueryWrapper<>(new EduConsumeOrder()) - .eq(EduConsumeOrder::getOrderCode, orderCode)); - - if (Objects.nonNull(order) - && (OrderStatusEnum.NOT_PAY.getStatus().equals(order.getOrderStatus()) - || OrderStatusEnum.USER_PAYING.getStatus().equals(order.getOrderStatus()))) { - if (PayWay.WEI_XIN.getValue().equals(order.getPayWay())) { - // 微信 - wxConsumeOrderSuccess(order); - } else if (PayWay.UNION.getValue().equals(order.getPayWay())) { - // 银联 - unionConsumeOrderSuccess(order); - } else if (PayWay.U_PAY.getValue().equals(order.getPayWay())) { - // 收钱吧 - uPayConsumeOrderSuccess(order); - } - } - }); - } - - /** - * 处理微信查询订单 - * - * @param order 订单信息 - * @author ZYJ - * @date 2023/3/23 16:48 - */ - private void wxConsumeOrderSuccess(EduConsumeOrder order) { - boolean flag = false; - // 订单号 - String orderCode = order.getOrderCode(); - // 查询学校微信配置信息 - EduPayWxConfig config = commonService.getPayWxConfigBySchool(order.getDeptId()); - while (LocalDateTimeUtil.between(order.getCreateDate(), LocalDateTime.now()).getSeconds() < UPayConstant.ORDER_TIME) { - try { - JSONObject resJson = JSONUtil.parseObj(WxPayUtil.queryOrder(config, orderCode)); - String tradeState = resJson.getStr("trade_state"); - if (WxTradeStateEnum.NOT_PAY.getStatus().equals(tradeState)) { - continue; - } - WxTradeStateEnum wxTradeStateEnum = EnumUtils.valueOf(WxTradeStateEnum.class, tradeState, - WxTradeStateEnum.class.getMethod("getStatus")); - switch (Objects.requireNonNull(wxTradeStateEnum)) { - // 支付成功 - case SUCCESS: - consumeOrderPaySuccess(orderCode, DateUtil.parseLocalDateTime(resJson.getStr("success_time"), "yyyy-MM" + "-dd'T" + "'HH:mm" + ":ssXXX")); - flag = true; - break; - // 作废订单 - case CLOSED: - case REVOKED: - case PAY_ERROR: - order.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - order.setPayStatus(PayStatusEnum.CANCEL.getStatus()); - eduConsumeOrderService.updateById(order); - flag = true; - break; - default: - break; - } - if (flag) { - break; - } - Thread.sleep(1000L); - } catch (Exception e) { - log.error("消费订单(微信支付方式)完成失败, orderNo: {}", orderCode, e); - } - } - } - - /** - * 处理银联查询订单 - * - * @param order 订单信息 - * @author ZYJ - * @date 2023/3/23 16:50 - */ - private void unionConsumeOrderSuccess(EduConsumeOrder order) { - boolean flag = false; - // 订单号 - String orderCode = order.getOrderCode(); - // 查询学校银联配置信息 - UnionPayConfig config = commonService.getUnionPayConfigByDept(order.getDeptId()); - // 主商户信息 - UnionPayConfig parentConfig = config.getParentConfig(); - - while (LocalDateTimeUtil.between(order.getCreateDate(), LocalDateTime.now()).getSeconds() < UPayConstant.ORDER_TIME) { - try { - JSONObject resJson = UnionPayUtil.queryOrder(config, - unionPayPublicUtil.getAccessToken( - Objects.nonNull(parentConfig) ? parentConfig.getAppId() : config.getAppId(), - Objects.nonNull(parentConfig) ? parentConfig.getAppKey() : config.getAppKey() - ), orderCode); - // 支付状态 - String status = (String) resJson.get("status"); - if (UnionTradeStateEnum.NEW_ORDER.getStatus().equals(status) - || UnionTradeStateEnum.UNKNOWN.getStatus().equals(status) - || UnionTradeStateEnum.WAIT_BUYER_PAY.getStatus().equals(status)) { - return; - } - UnionTradeStateEnum tradeStateEnum = EnumUtils.valueOf(UnionTradeStateEnum.class, status, - UnionTradeStateEnum.class.getMethod("getStatus")); - switch (Objects.requireNonNull(tradeStateEnum)) { - // 支付成功 - case TRADE_SUCCESS: - consumeOrderPaySuccess(order.getOrderCode(), - LocalDateTimeUtil.parse((String) resJson.get("payTime"), DatePattern.NORM_DATETIME_PATTERN)); - flag = true; - break; - // 订单关闭 - case TRADE_CLOSED: - order.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - order.setPayStatus(PayStatusEnum.CANCEL.getStatus()); - eduConsumeOrderService.updateById(order); - flag = true; - break; - default: - break; - } - if (flag) { - break; - } - Thread.sleep(1000L); - } catch (Exception e) { - log.error("消费订单(云闪付支付方式)完成失败, orderNo: {}", orderCode, e); - } - } - } - - /** - * 处理收钱吧查询订单 - * - * @param order 订单信息 - * @author ZYJ - * @date 2023/3/23 17:29 - */ - private void uPayConsumeOrderSuccess(EduConsumeOrder order) { - boolean flag = false; - // 订单号 - String orderCode = order.getOrderCode(); - - while (LocalDateTimeUtil.between(order.getCreateDate(), LocalDateTime.now()).getSeconds() < UPayConstant.ORDER_TIME) { - try { - DeptConsumeTerminalCache terminalCache = commonService.getDeptConsumeTerminal(order.getDeptId()); - JSONObject jsonObject = UPayUtil.queryOrder(orderCode, terminalCache.getTerminalSn(), terminalCache.getTerminalKey()); - JSONObject resJson = jsonObject.getJSONObject("biz_response").getJSONObject("data"); - // 支付状态 - String status = (String) resJson.get("order_status"); - if (UPayTradeStateEnum.CREATED.getStatus().equals(status) - || UPayTradeStateEnum.INVALID_STATUS_CODE.getStatus().equals(status)) { - return; - } - UPayTradeStateEnum tradeStateEnum = EnumUtils.valueOf(UPayTradeStateEnum.class, status, - UnionTradeStateEnum.class.getMethod("getStatus")); - switch (Objects.requireNonNull(tradeStateEnum)) { - // 支付成功 - case PAID: - consumeOrderPaySuccess(order.getOrderCode(), LocalDateTimeUtil.ofUTC(Long.parseLong(resJson.getStr("finish_time")))); - flag = true; - break; - // 订单关闭 - case PAY_CANCELED: - order.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - order.setPayStatus(PayStatusEnum.CANCEL.getStatus()); - eduConsumeOrderService.updateById(order); - flag = true; - break; - default: - break; - } - if (flag) { - break; - } - Thread.sleep(1000L); - } catch (Exception e) { - log.error("消费订单(收钱吧支付方式)完成失败, orderNo: {}", orderCode, e); - } - } - } - - /** - * 消费订单支付成功 - * - * @param orderCode 订单号 - * @param payDate 支付时间 - * @author ZYJ - * @date 2023/3/23 17:06 - */ - @Override - public void consumeOrderPaySuccess(String orderCode, LocalDateTime payDate) { - EduConsumeOrder order = eduConsumeOrderService.getOne(new LambdaQueryWrapper<>(new EduConsumeOrder()) - .eq(EduConsumeOrder::getOrderCode, orderCode)); - order.setPayDate(payDate); - order.setOrderStatus(OrderStatusEnum.PAY_SUCCESS.getStatus()); - order.setPayStatus(PayStatusEnum.PAY_SUCCESS.getStatus()); - eduConsumeOrderService.updateById(order); - // 获取学校消费机服务器信息 - EduConsumeConfig consumeConfig = commonService.getConsumeConfigByDept(order.getDeptId()); - EduStudent student = remoteStudentService.getStudentNoPermission(order.getStudentId()).getData(); - // 调用消费机接口 - ConsumeUtil.recharge(consumeConfig, Recharge.builder() - .amount(order.getPracticalMoney().toString()) - .accountNo(student.getStuCardNumber()) - .increase(true) - .walletType(1) - .transactionNumber(order.getTransactionNumber()) - .paymentModel(Recharge.PaymentModel.builder() - // 支付方式. 0:现金 1:微信 2:支付宝 4:银行卡 8:其他APP - .payType(1) - .payTime(LocalDateTimeUtil.format(payDate, DatePattern.NORM_DATETIME_PATTERN)) - .orderNumber(orderCode) - .build()) - .build()); - // 处理对应消费机信息金额 - EduStudentConsumeCard consumeCard = eduStudentConsumeCardService.getOne(Wrappers.lambdaQuery(new EduStudentConsumeCard()) - .eq(EduStudentConsumeCard::getStudentId, order.getStudentId())); - if (Objects.nonNull(consumeCard)) { - consumeCard.setBalance(NumberUtil.add(consumeCard.getBalance(), order.getPracticalMoney())); - eduStudentConsumeCardService.updateById(consumeCard); - } - // 删除学生消费订单缓存 - redisService.del(CachePrefixConstant.CONSUME_ORDER_STUDENT + order.getStudentId().toString()); - // 删除消费订单对应缓存 - redisService.del(CachePrefixConstant.CONSUME_ORDER + orderCode); - redisService.del(CachePrefixConstant.CONSUME_ORDER_FLAG + orderCode); - } - - @Override - public IPage listH5ConsumeOrderPage(H5ConsumeOrderPageDTO dto) { - return eduConsumeOrderMapper.listH5ConsumeOrderPage(dto.toPage(), dto); - } - - @Override - public H5ConsumeOrderPageVO getH5ConsumeOrderInfo(Long orderId, String orderCode) { - return eduConsumeOrderMapper.getH5ConsumeOrderInfo(orderId, orderCode); - } - - @Override - public ConsumePayInfoVO continuePayOrder(String orderCode, Long deptId) { - EduConsumeOrder order = eduConsumeOrderService.getOne(new LambdaQueryWrapper<>(new EduConsumeOrder()) - .eq(EduConsumeOrder::getOrderCode, orderCode)); - if (Objects.isNull(order) || OrderStatusEnum.CLOSED.getStatus().equals(order.getOrderStatus())) { - throw new FebsException(ResultMsgType.ORDER_INVALID.getValue()); - } - // 判断当前订单能否被当前用户支付 - ConsumeOrderStudentCacheVO existConsumeOrderStudent = (ConsumeOrderStudentCacheVO) redisService.get( - CachePrefixConstant.CONSUME_ORDER_STUDENT + order.getStudentId().toString()); - if (Objects.nonNull(existConsumeOrderStudent) - && !FebsUtil.getCurrentUser().getMobile().equals(existConsumeOrderStudent.getMobile())) { - throw new FebsException(String.format("%s%s正在支付中, 请耐心等待", - existConsumeOrderStudent.getStudentName(), - existConsumeOrderStudent.getParentType())); - } - // 获取对应待支付信息缓存 - Object orderFlag = redisService.get(CachePrefixConstant.CONSUME_ORDER_FLAG + orderCode); - if (Objects.isNull(orderFlag)) { - throw new FebsException("当前订单已失效!"); - } - return getPayInfo(orderCode, orderFlag.toString(), deptId, - true, order.getPayWay(), order.getPayType()); - } - - @Override - public void cancelOrder(String orderCode) { - // TODO 2023/3/31 需要做状态判断能否取消订单 - EduConsumeOrder order = eduConsumeOrderService.getOne(new LambdaQueryWrapper<>(new EduConsumeOrder()) - .eq(EduConsumeOrder::getOrderCode, orderCode)); - if (OrderStatusEnum.CLOSED.getStatus().equals(order.getOrderStatus())) { - throw new FebsException(ResultMsgType.ORDER_INVALID.getValue()); - } - // 判断当前订单能否被当前用户取消 - ConsumeOrderStudentCacheVO existConsumeOrderStudent = (ConsumeOrderStudentCacheVO) redisService.get( - CachePrefixConstant.CONSUME_ORDER_STUDENT + order.getStudentId().toString()); - if (Objects.nonNull(existConsumeOrderStudent) - && !FebsUtil.getCurrentUser().getMobile().equals(existConsumeOrderStudent.getMobile())) { - throw new FebsException(String.format("%s%s正在支付中, 请耐心等待", - existConsumeOrderStudent.getStudentName(), existConsumeOrderStudent.getParentType())); - } - order.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - order.setPayStatus(PayStatusEnum.CANCEL.getStatus()); - eduConsumeOrderService.updateById(order); - try { - // 判断支付方式 - if (PayWay.WEI_XIN.getValue().equals(order.getPayWay())) { - // 关闭微信订单 - WxPayUtil.closeOrder(commonService.getPayWxConfigBySchool(order.getDeptId()), order.getOrderCode()); - } else if (PayWay.UNION.getValue().equals(order.getPayWay()) - && !UnionPayTypeEnum.UNION_H5_TYPE.getType().equals(order.getPayType())) { - // 关闭银联订单 (银联云闪付不支付关闭订单) - UnionPayConfig unionPayConfig = commonService.getUnionPayConfigByDept(order.getDeptId()); - UnionPayConfig parentConfig = unionPayConfig.getParentConfig(); - UnionPayUtil.closeOrder(unionPayConfig, - unionPayPublicUtil.getAccessToken( - Objects.nonNull(parentConfig) ? parentConfig.getAppId() : unionPayConfig.getAppId(), - Objects.nonNull(parentConfig) ? parentConfig.getAppKey() : unionPayConfig.getAppKey() - ), order.getOrderCode()); - } else if (PayWay.U_PAY.getValue().equals(order.getPayWay())) { - // 关闭收钱吧订单 - DeptConsumeTerminalCache terminalCache = commonService.getDeptConsumeTerminal(order.getDeptId()); - UPayUtil.closeOrder(orderCode, terminalCache.getTerminalSn(), terminalCache.getTerminalKey()); - } - } catch (Exception e) { - log.error("关闭订单失败, order: {}", order, e); - throw new FebsException("取消订单失败"); - } - // 删除学生消费订单缓存 - redisService.del(CachePrefixConstant.CONSUME_ORDER_STUDENT + order.getStudentId().toString()); - // 删除消费订单对应缓存 - redisService.del(CachePrefixConstant.CONSUME_ORDER + orderCode); - redisService.del(CachePrefixConstant.CONSUME_ORDER_FLAG + orderCode); - } - - @Override - public IPage listH5ConsumeRecordPage(H5ConsumeRecordPageDTO dto) { - return eduConsumeRecordMapper.listH5ConsumeRecordPage(dto.toPage(), dto); - } -} diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/studentCard/config/CardRabbitReceiver.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/studentCard/config/CardRabbitReceiver.java index e5623f5..6a0f6c3 100644 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/studentCard/config/CardRabbitReceiver.java +++ b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/studentCard/config/CardRabbitReceiver.java @@ -119,7 +119,7 @@ public class CardRabbitReceiver { redisService.hset(CachePrefixConstant.STUDENT_DATA, card.getStudentId().toString(), student); } EduApp app = commonService - .getAppByCodeAndSchool(AppConstant.INDEX_PARENT, null, card.getSchoolId()); + .getAppByCodeAndSchool(AppConstant.ELECTRONIC_PARENT, null, card.getSchoolId()); String accessToken = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); TextSchoolNotice notice = new TextSchoolNotice(); notice.setAgentid(app.getWxAgentId()); diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/studentCard/controller/EduStudentCardController.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/studentCard/controller/EduStudentCardController.java index d4137f7..55b5efe 100644 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/studentCard/controller/EduStudentCardController.java +++ b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/studentCard/controller/EduStudentCardController.java @@ -2,6 +2,7 @@ package com.yida.data.device.studentCard.controller; import cc.mrbird.febs.common.redis.service.RedisService; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yida.data.common.core.annotation.ControllerLog; import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.CurrentUser; @@ -20,12 +21,12 @@ import com.yida.data.device.dto.studentCard.CardWithAddressDTO; import com.yida.data.device.dto.studentCard.DisturbStatusDTO; import com.yida.data.device.studentCard.service.EduStudentCardDisturbTimeService; import com.yida.data.device.studentCard.service.EduStudentCardService; -import com.yida.data.device.vo.OnlineCountVO; import com.yida.data.device.vo.studentCard.CardInfoVO; import com.yida.data.device.vo.studentCard.CardPageVO; import com.yida.data.device.vo.studentCard.CardWithAddressVO; import com.yida.data.device.vo.studentCard.ListStudentCardVO; import com.yida.data.device.vo.studentCard.LocationVO; +import com.yida.data.device.vo.OnlineCountVO; import com.yida.data.device.vo.studentCard.TrackVO; import com.yida.data.log.annotation.OperationLog; import com.yida.data.system.feign.RemoteDeptService; @@ -82,7 +83,6 @@ public class EduStudentCardController { @ApiOperation("更新学生证") @PostMapping("/updateCard") - @OperationLog(module = ModuleName.ELECTRONIC_STUDENT_CARD, methods = "更新学生证", type = OperationLogTypeEnum.UPDATE) public ResultBean updateCard(@RequestBody EduStudentCard card) { eduStudentCardService.updateCard(card); return ResultBean.buildSuccess(); @@ -154,7 +154,9 @@ public class EduStudentCardController { @ApiOperation("家长对应学生列表") @GetMapping("/listStudentCard") + @ControllerLog(operation = "家长对应学生列表") public ResultBean> listStudentCard(@ApiParam("家长id") @RequestParam Long parentId) { + return ResultBean.buildSuccess(eduStudentCardService.listStudentCard(parentId)); } @@ -180,7 +182,7 @@ public class EduStudentCardController { @ApiOperation("批量免打扰") @PostMapping("/setDisturbStatus") - @OperationLog(module = ModuleName.ELECTRONIC_STUDENT_CARD, methods = "批量免打扰", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "批量免打扰") public ResultBean setDisturbStatus(@RequestBody DisturbStatusDTO disturbStatusDTO) { eduStudentCardService.setDisturbStatus(disturbStatusDTO); return ResultBean.buildSuccess(); @@ -211,7 +213,6 @@ public class EduStudentCardController { @ApiOperation("下发监听指令") @GetMapping("/issueMonitor") - @OperationLog(module = ModuleName.ELECTRONIC_STUDENT_CARD, methods = "下发监听指令", type = OperationLogTypeEnum.SELECT) public ResultBean issueMonitor(@ApiParam("接收监听手机号") String mobile, @ApiParam("学生证imei号") String imei) { eduStudentCardService.issueMonitor(mobile, imei); diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/studentCard/controller/EduStudentCardPhoneController.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/studentCard/controller/EduStudentCardPhoneController.java index ebe9266..0adce56 100644 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/studentCard/controller/EduStudentCardPhoneController.java +++ b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/studentCard/controller/EduStudentCardPhoneController.java @@ -2,12 +2,9 @@ package com.yida.data.device.studentCard.controller; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.card.EduStudentCardPhone; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; import com.yida.data.device.studentCard.service.EduStudentCardPhoneService; -import com.yida.data.log.annotation.OperationLog; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -42,6 +39,7 @@ public class EduStudentCardPhoneController { @ApiOperation("查询学生证电话") @GetMapping("/getFamilyPhone") + @ControllerLog(operation = "查询亲情电话") public ResultBean getFamilyPhone(@ApiParam("iMei号") @RequestParam String imei, @ApiParam("1是亲情电话,2是sos电话,3是通话白名单") @RequestParam Integer type) { List list = eduStudentCardPhoneService.list(Wrappers.lambdaQuery(new EduStudentCardPhone()) @@ -52,7 +50,7 @@ public class EduStudentCardPhoneController { @ApiOperation("保存电话") @PostMapping("/savePhone") - @OperationLog(module = ModuleName.TELEPHONE, methods = "保存电话", type = OperationLogTypeEnum.SAVE) + @ControllerLog(operation = "保存电话") public ResultBean savePhone(@RequestBody EduStudentCardPhone phone) { eduStudentCardPhoneService.savePhone(phone); return ResultBean.buildSuccess(); @@ -61,7 +59,7 @@ public class EduStudentCardPhoneController { @ApiOperation("通用删除电话") @GetMapping("/delPhone") - @OperationLog(module = ModuleName.TELEPHONE, methods = "通用删除电话", type = OperationLogTypeEnum.DELETE) + @ControllerLog(operation = "通用删除电话") public ResultBean delPhone(@RequestParam Long id) { eduStudentCardPhoneService.delPhone(id); return ResultBean.buildSuccess(); @@ -69,7 +67,7 @@ public class EduStudentCardPhoneController { @ApiOperation("批量修改电话") @PostMapping("/updateFamilyPhoneBatch") - @OperationLog(module = ModuleName.TELEPHONE, methods = "批量修改电话", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "修改电话") public ResultBean updateFamilyPhoneBatch(@RequestBody List phones, @ApiParam("1-亲情电话,2-sos,3-白名单") Integer type, String imei) { eduStudentCardPhoneService.updatePhoneBatch(phones, type, imei); diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/studentCard/service/impl/EduStudentCardAlarmServiceImpl.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/studentCard/service/impl/EduStudentCardAlarmServiceImpl.java index da297b9..b7303f9 100644 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/studentCard/service/impl/EduStudentCardAlarmServiceImpl.java +++ b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/studentCard/service/impl/EduStudentCardAlarmServiceImpl.java @@ -158,7 +158,7 @@ public class EduStudentCardAlarmServiceImpl extends ServiceImpl } private void pushSchoolNotice(EduStudent student, EduStudentCardAlarm alarm, Dept school) { - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.INDEX_PARENT, null, school.getDeptId()); + EduApp app = commonService.getAppByCodeAndSchool(AppConstant.ELECTRONIC_PARENT, null, school.getDeptId()); TextSchoolNotice notice = new TextSchoolNotice(); notice.setAgentid(app.getWxAgentId()); notice.setTo_student_userid(Collections.singletonList(student.getWxId())); diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/telephone/controller/EduTelephoneController.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/telephone/controller/EduTelephoneController.java index 34c5273..fe46745 100644 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/telephone/controller/EduTelephoneController.java +++ b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/telephone/controller/EduTelephoneController.java @@ -2,11 +2,9 @@ package com.yida.data.device.telephone.controller; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.CurrentUser; import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; import com.yida.data.common.core.entity.telephone.EduTelephone; import com.yida.data.common.core.entity.telephone.EduTelephoneBlack; import com.yida.data.common.core.entity.telephone.EduTelephoneCard; @@ -21,7 +19,6 @@ import com.yida.data.device.telephone.service.EduTelephoneService; import com.yida.data.device.vo.OnlineCountVO; import com.yida.data.device.vo.telephone.DeviceNumberVO; import com.yida.data.device.vo.telephone.TelephoneVO; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.system.feign.RemoteDeptService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -87,13 +84,13 @@ public class EduTelephoneController { */ @ApiOperation("话机设备数量统计") @GetMapping("/findDeviceNumber") + @ControllerLog(operation = "话机设备数量统计") public ResultBean findDeviceNumber() throws NoSuchMethodException { return eduTelephoneService.findDeviceNumber(); } @ApiOperation("修改或新增") @PostMapping("/insertTelephone") - @OperationLog(module = ModuleName.TELEPHONE, methods = "修改或新增亲情电话", type = OperationLogTypeEnum.SAVE) public ResultBean insertTelephone(@RequestBody EduTelephone eduTelephone) { eduTelephoneService.saveOrUpdate(eduTelephone); return ResultBean.buildSuccess(); @@ -101,7 +98,6 @@ public class EduTelephoneController { @ApiOperation("批量设置") @PostMapping("/updateTelephone") - @OperationLog(module = ModuleName.TELEPHONE, methods = "批量设置亲情电话", type = OperationLogTypeEnum.UPDATE) public ResultBean updateTelephone(@RequestBody TelephoneDTO telephoneDTO) { eduTelephoneService.updateTelephone(telephoneDTO); return ResultBean.buildSuccess(); @@ -116,7 +112,6 @@ public class EduTelephoneController { @ApiOperation("重置本月通话时间") @GetMapping("/delTelephoneTime") - @OperationLog(module = ModuleName.TELEPHONE, methods = "重置本月通话时间", type = OperationLogTypeEnum.UPDATE) public ResultBean delTelephoneTime(@ApiParam("话机Id") @RequestParam Long id) { EduTelephone eduTelephone = new EduTelephone(); eduTelephone.setId(id); @@ -127,7 +122,6 @@ public class EduTelephoneController { @ApiOperation("停运") @GetMapping("/stopTelephone") - @OperationLog(module = ModuleName.TELEPHONE, methods = "停运亲情电话", type = OperationLogTypeEnum.UPDATE) public ResultBean stopTelephone(@ApiParam("话机Id") @RequestParam Long id, @ApiParam("1停运,0正常") @RequestParam Integer status) { @@ -139,7 +133,6 @@ public class EduTelephoneController { @ApiOperation("删除和批量删除") @PostMapping("/delTelephone") - @OperationLog(module = ModuleName.TELEPHONE, methods = "删除和批量删除亲情电话", type = OperationLogTypeEnum.DELETE) public ResultBean delTelephone(@ApiParam("ids") @RequestBody List ids) { eduTelephoneService.removeByIds(ids); for (Long id : ids) { @@ -153,7 +146,6 @@ public class EduTelephoneController { @ApiOperation("批量停运") @PostMapping("/listStopTelephone") - @OperationLog(module = ModuleName.TELEPHONE, methods = "批量停运亲情电话", type = OperationLogTypeEnum.UPDATE) public ResultBean listStopTelephone(@ApiParam("话机Id") @RequestBody PhoneStatusDTO phoneStatusDTO) { List ids = phoneStatusDTO.getIds(); diff --git a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/telephone/controller/EduTelephoneOrderController.java b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/telephone/controller/EduTelephoneOrderController.java index 3dffe05..ab1857b 100644 --- a/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/telephone/controller/EduTelephoneOrderController.java +++ b/febs-server/edu-device/edu-device-biz/src/main/java/com/yida/data/device/telephone/controller/EduTelephoneOrderController.java @@ -4,17 +4,14 @@ import cc.mrbird.febs.common.redis.service.RedisService; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; import com.yida.data.common.core.entity.telephone.EduTelephoneOrder; import com.yida.data.common.core.utils.FebsUtil; import com.yida.data.device.dto.telephone.OrderPageDTO; import com.yida.data.device.telephone.service.EduTelephoneOrderService; import com.yida.data.device.vo.telephone.OrderInfoVO; import com.yida.data.device.vo.telephone.OrderPageVO; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.school.vo.transcation.PayInfoVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -68,17 +65,17 @@ public class EduTelephoneOrderController { @GetMapping("/listOrder") public ResultBean> listOrder(@ApiParam("卡id") @RequestParam Long cardId) { return ResultBean.buildSuccess(eduTelephoneOrderService.list(Wrappers.lambdaQuery(new EduTelephoneOrder()) - .eq(EduTelephoneOrder::getCardId, cardId).orderByDesc(EduTelephoneOrder::getCreateDate))); + .eq(EduTelephoneOrder::getCardId, cardId).orderByDesc(EduTelephoneOrder::getCreateDate))); } @ApiOperation("生成订单") @GetMapping("/createOrder") - @OperationLog(module = ModuleName.TELEPHONE, methods = "生成订单", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "生成订单") public ResultBean insertEduProductOrder(@ApiParam("充值金额") Double money, - @ApiParam("ic卡id") Long icCardId, - @ApiParam("支付方式,0-微信jsapi,1-微信h5") Integer payType) { + @ApiParam("ic卡id") Long icCardId, + @ApiParam("支付方式,0-微信jsapi,1-微信h5") Integer payType) { return ResultBean.buildSuccess(eduTelephoneOrderService.createOrder(money, icCardId, payType, FebsUtil.getCurrentUser(), - FebsUtil.getHttpServletRequestIpAddress())); + FebsUtil.getHttpServletRequestIpAddress())); } @ApiOperation("订单完成(前台支付完成后调用)") @@ -90,7 +87,6 @@ public class EduTelephoneOrderController { @ApiOperation("发起支付") @GetMapping("/payOrder") - @OperationLog(module = ModuleName.TELEPHONE, methods = "发起支付", type = OperationLogTypeEnum.INSERT) public ResultBean payOrder(String orderCode) { Object prepay = redisService.get(CachePrefixConstant.ORDER_FLAG + orderCode); PayInfoVO infoVO = eduTelephoneOrderService.getWxJsSign(orderCode, prepay.toString()); diff --git a/febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeDeviceMapper.xml b/febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeDeviceMapper.xml deleted file mode 100644 index 0a15113..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeDeviceMapper.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - diff --git a/febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeOrderMapper.xml b/febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeOrderMapper.xml deleted file mode 100644 index d7a70c9..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeOrderMapper.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeOrderRefundMapper.xml b/febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeOrderRefundMapper.xml deleted file mode 100644 index 3d63d71..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeOrderRefundMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeOrderStudentMapper.xml b/febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeOrderStudentMapper.xml deleted file mode 100644 index f5a606f..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeOrderStudentMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeRecordMapper.xml b/febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeRecordMapper.xml deleted file mode 100644 index e5e2cf1..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduConsumeRecordMapper.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - diff --git a/febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduStudentConsumeCardMapper.xml b/febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduStudentConsumeCardMapper.xml deleted file mode 100644 index 90077ca..0000000 --- a/febs-server/edu-device/edu-device-biz/src/main/resources/mapper/consume/EduStudentConsumeCardMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-mall/edu-mall-api/src/main/java/com/yida/data/mall/vo/h5/BillOrderStudentCacheVO.java b/febs-server/edu-mall/edu-mall-api/src/main/java/com/yida/data/mall/vo/h5/BillOrderStudentCacheVO.java index 7102259..3350358 100644 --- a/febs-server/edu-mall/edu-mall-api/src/main/java/com/yida/data/mall/vo/h5/BillOrderStudentCacheVO.java +++ b/febs-server/edu-mall/edu-mall-api/src/main/java/com/yida/data/mall/vo/h5/BillOrderStudentCacheVO.java @@ -42,6 +42,6 @@ public class BillOrderStudentCacheVO implements Serializable { @ApiModelProperty("家长手机号码") private String mobile; - @ApiModelProperty("订单号") + @ApiModelProperty("'订单号'") private String orderNo; } \ No newline at end of file diff --git a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/controller/EduBillController.java b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/controller/EduBillController.java index 15563e2..75073ef 100644 --- a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/controller/EduBillController.java +++ b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/controller/EduBillController.java @@ -123,6 +123,15 @@ public class EduBillController { return ResultBean.buildSuccess(eduBillStudentService.exportBillPayData(billStudentSelectPageDTO, response)); } + @GetMapping(value = "sendBillNotice") + @ApiOperation(value = "账单催缴") + public ResultBean sendBillNotice( + @ApiParam(value = "账单id", required = true) @RequestParam Long billId, + @ApiParam(value = "推送标题", required = true) @RequestParam String noticeTitle) { + eduBillStudentService.sendBillNotice(billId, noticeTitle); + return ResultBean.buildSuccess(); + } + @PostMapping(value = "listBillOrderPage") @ApiOperation(value = "查询账单订单列表数据") public ResultBean> listBillOrderPage(BillOrderSelectPageDTO dto) { diff --git a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/mapper/EduBillOrderItemMapper.java b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/mapper/EduBillOrderItemMapper.java index c55ef76..015164b 100644 --- a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/mapper/EduBillOrderItemMapper.java +++ b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/mapper/EduBillOrderItemMapper.java @@ -53,4 +53,19 @@ public interface EduBillOrderItemMapper extends BaseMapper { */ List listItemPayInfo(@Param("billId") Long billId, @Param("studentId") Long studentId); + + + /** + * 查询学生是否有对应账单项目的缴费信息 + * + * @param billId 账单id + * @param studentId 学生id + * @param itemId 项目id + * @return int + * @author ZYJ + * @date 2023/9/19 14:58 + */ + int countItemPayInfo(@Param("billId") Long billId, + @Param("studentId") Long studentId, + @Param("itemId") Long itemId); } diff --git a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/mapper/EduBillOrderMapper.java b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/mapper/EduBillOrderMapper.java index 3d93a06..bfe58af 100644 --- a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/mapper/EduBillOrderMapper.java +++ b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/mapper/EduBillOrderMapper.java @@ -62,12 +62,14 @@ public interface EduBillOrderMapper extends BaseMapper { * 查询账单缴费人数 * 缴费金额大于0 * - * @param billId 账单id + * @param billId 账单id + * @param studentIds 学生id集合 * @return java.lang.Long * @author ZYJ * @date 2022/4/18 16:30 */ - Long sumPayStudentNumber(@Param("billId") Long billId); + Long sumPayStudentNumber(@Param("billId") Long billId, + @Param("studentIds") List studentIds); /** * 查询所有已经超时订单 diff --git a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/EduBillOrderItemService.java b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/EduBillOrderItemService.java index 6ebff3e..7400e8d 100644 --- a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/EduBillOrderItemService.java +++ b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/EduBillOrderItemService.java @@ -48,4 +48,16 @@ public interface EduBillOrderItemService extends IService { * @date 2022/4/19 17:04 */ List listItemPayInfo(Long billId, Long studentId); + + /** + * 查询学生是否有对应账单项目的缴费信息 + * + * @param billId 账单id + * @param studentId 学生id + * @param itemId 项目id + * @return int + * @author ZYJ + * @date 2023/9/19 14:57 + */ + int countItemPayInfo(Long billId, Long studentId, Long itemId); } diff --git a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/EduBillOrderService.java b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/EduBillOrderService.java index 53429ca..52ac456 100644 --- a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/EduBillOrderService.java +++ b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/EduBillOrderService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.yida.data.common.core.entity.mall.EduBillOrder; import java.math.BigDecimal; +import java.util.List; import java.util.Map; /** @@ -45,12 +46,13 @@ public interface EduBillOrderService extends IService { /** * 查询账单缴费人数 * - * @param billId 账单id + * @param billId 账单id + * @param studentIds 学生id集合 * @return java.lang.Long * @author ZYJ * @date 2022/4/18 16:29 */ - Long sumPayStudentNumber(Long billId); + Long sumPayStudentNumber(Long billId, List studentIds); /** * 银联支付通知结果回调 diff --git a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/EduBillStudentService.java b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/EduBillStudentService.java index 5d56e8e..ebce92b 100644 --- a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/EduBillStudentService.java +++ b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/EduBillStudentService.java @@ -2,10 +2,12 @@ package com.yida.data.mall.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import com.yida.data.common.core.entity.constant.FebsConstant; import com.yida.data.common.core.entity.mall.EduBillStudent; import com.yida.data.mall.dto.BillStudentSelectPageDTO; import com.yida.data.mall.dto.BillUserSaveDTO; import com.yida.data.mall.vo.BillStudentInfoVO; +import org.springframework.scheduling.annotation.Async; import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -79,4 +81,15 @@ public interface EduBillStudentService extends IService { * @date 2022/10/11 17:29 */ String exportBillPayData(BillStudentSelectPageDTO billStudentSelectPageDTO, HttpServletResponse response); + + /** + * 账单催缴 + * + * @param billId 账单id + * @param noticeTitle 推送标题 + * @author ZYJ + * @date 2023/7/14 14:30 + */ + @Async(FebsConstant.ASYNC_POOL) + void sendBillNotice(Long billId, String noticeTitle); } diff --git a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/H5EduBillService.java b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/H5EduBillService.java index 4d6f0bd..98287bc 100644 --- a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/H5EduBillService.java +++ b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/H5EduBillService.java @@ -92,7 +92,7 @@ public interface H5EduBillService { H5BillOrderInfoVO getH5BillOrderInfo(Long billOrderId, String orderCode); /** - * 继续支付 + * continuePayOrder * * @param orderCode 订单号 * @param deptId 学校id diff --git a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillOrderItemServiceImpl.java b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillOrderItemServiceImpl.java index e00ccba..269f442 100644 --- a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillOrderItemServiceImpl.java +++ b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillOrderItemServiceImpl.java @@ -38,4 +38,9 @@ public class EduBillOrderItemServiceImpl extends ServiceImpl public List listItemPayInfo(Long billId, Long studentId) { return baseMapper.listItemPayInfo(billId, studentId); } + + @Override + public int countItemPayInfo(Long billId, Long studentId, Long itemId) { + return baseMapper.countItemPayInfo(billId, studentId, itemId); + } } diff --git a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillOrderServiceImpl.java b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillOrderServiceImpl.java index 9cb185f..b2402a0 100644 --- a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillOrderServiceImpl.java +++ b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillOrderServiceImpl.java @@ -65,8 +65,8 @@ public class EduBillOrderServiceImpl extends ServiceImpl } @Override - public Long sumPayStudentNumber(Long billId) { - return baseMapper.sumPayStudentNumber(billId); + public Long sumPayStudentNumber(Long billId, List studentIds) { + return baseMapper.sumPayStudentNumber(billId, studentIds); } @Override @@ -76,7 +76,7 @@ public class EduBillOrderServiceImpl extends ServiceImpl if (CollUtil.isNotEmpty(list)) { for (EduBillOrder order : list) { // 微信订单 - if (PayWay.WEI_XIN.getValue().equals(order.getPayWay())) { + if (PayWay.WEIXIN.getValue().equals(order.getPayWay())) { updateWxBillOrderStatus(order); } else if (PayWay.UNION.getValue().equals(order.getPayWay())) { updateUnionBillOrderStatus(order); @@ -210,7 +210,7 @@ public class EduBillOrderServiceImpl extends ServiceImpl if (CollUtil.isNotEmpty(refundOrderList)) { refundOrderList.forEach(billRefundOrderVO -> { // 微信 - if (PayWay.WEI_XIN.getValue().equals(billRefundOrderVO.getPayWay())) { + if (PayWay.WEIXIN.getValue().equals(billRefundOrderVO.getPayWay())) { updateWxRefundStatus(billRefundOrderVO); } else if (PayWay.UNION.getValue().equals(billRefundOrderVO.getPayWay())) { updateUnionRefundStatus(billRefundOrderVO); diff --git a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillServiceImpl.java b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillServiceImpl.java index a8a5bf0..1d37aa9 100644 --- a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillServiceImpl.java +++ b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillServiceImpl.java @@ -89,7 +89,7 @@ public class EduBillServiceImpl extends ServiceImpl billSelectPageVO.setTotalNumber(totalNumber); // 缴费人数 缴费金额大于0 if (totalNumber > 0) { - billSelectPageVO.setPayNumber(eduBillOrderService.sumPayStudentNumber(billSelectPageVO.getId())); + billSelectPageVO.setPayNumber(eduBillOrderService.sumPayStudentNumber(billSelectPageVO.getId(), studentIds)); } }); return page; @@ -199,10 +199,8 @@ public class EduBillServiceImpl extends ServiceImpl new LambdaQueryWrapper<>(new EduBillStudent()).eq(EduBillStudent::getBillId, billSaveDTO.getId())); } saveOrUpdate(eduBill); - boolean flag = Objects.isNull(billSaveDTO.getId()) || - (Objects.nonNull(billSaveDTO.getId()) && - (Objects.isNull(billSaveDTO.getOldBillStartDate()) - || billSaveDTO.getOldBillStartDate().isAfter(LocalDateTime.now()))); + boolean flag = Objects.isNull(billSaveDTO.getId()) || Objects.isNull(billSaveDTO.getOldBillStartDate()) + || billSaveDTO.getOldBillStartDate().isAfter(LocalDateTime.now()); List saveItemList = new ArrayList<>(); if (flag) { // 保存对应的缴费项目数据 @@ -282,8 +280,7 @@ public class EduBillServiceImpl extends ServiceImpl if (BillStatusEnum.ENABLE_STATUS.getStatus().equals(bill.getEnableStatus())) { throw new FebsException("当前账单已启用, 无法删除!"); } - if (Objects.isNull(bill.getBillStartDate()) || - Objects.nonNull(bill.getBillStartDate()) && bill.getBillStartDate().isAfter(LocalDateTime.now())) { + if (Objects.isNull(bill.getBillStartDate()) || bill.getBillStartDate().isAfter(LocalDateTime.now())) { // 删除项目子选项 eduBillItemSubService.remove( new LambdaQueryWrapper<>(new EduBillItemSub()).eq(EduBillItemSub::getBillId, billId)); diff --git a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillStatisticsServiceImpl.java b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillStatisticsServiceImpl.java index b2e2a2b..2096400 100644 --- a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillStatisticsServiceImpl.java +++ b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillStatisticsServiceImpl.java @@ -123,8 +123,6 @@ public class EduBillStatisticsServiceImpl implements EduBillStatisticsService { // 查询指定账单数据 billList.add(eduBillService.getById(billId)); } - // 查询已开始的账单 -// List billList = eduBillMapper.selectStartBill(); if (CollUtil.isNotEmpty(billList)) { for (EduBill eduBill : billList) { diff --git a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillStudentServiceImpl.java b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillStudentServiceImpl.java index 44e61fd..7d9e458 100644 --- a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillStudentServiceImpl.java +++ b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/EduBillStudentServiceImpl.java @@ -2,6 +2,7 @@ package com.yida.data.mall.service.impl; import cc.mrbird.febs.common.redis.service.RedisService; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.util.NumberUtil; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; @@ -15,10 +16,16 @@ import com.yida.data.common.core.entity.constant.StringConstant; import com.yida.data.common.core.entity.mall.EduBill; import com.yida.data.common.core.entity.mall.EduBillOrder; import com.yida.data.common.core.entity.mall.EduBillStudent; +import com.yida.data.common.core.entity.notice.app.AppNotice; +import com.yida.data.common.core.entity.notice.app.inside.PushMessage; +import com.yida.data.common.core.entity.system.EduYidaApp; +import com.yida.data.common.core.entity.user.EduParent; import com.yida.data.common.core.entity.user.EduStudent; import com.yida.data.common.core.enums.OrderStatusEnum; import com.yida.data.common.core.exception.FebsException; +import com.yida.data.common.core.utils.AppUtil; import com.yida.data.common.core.utils.FebsUtil; +import com.yida.data.common.service.CommonService; import com.yida.data.mall.dto.BillStudentSelectPageDTO; import com.yida.data.mall.dto.BillUserSaveDTO; import com.yida.data.mall.mapper.EduBillMapper; @@ -31,11 +38,13 @@ import com.yida.data.mall.vo.BillItemInfoVO; import com.yida.data.mall.vo.BillStudentInfoVO; import com.yida.data.mall.vo.h5.H5BillItemVO; import com.yida.data.system.feign.RemoteCommonService; +import com.yida.data.user.dto.ListStudentDTO; import com.yida.data.user.feign.RemoteStudentService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -44,10 +53,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; /** @@ -63,8 +69,8 @@ import java.util.stream.Collectors; public class EduBillStudentServiceImpl extends ServiceImpl implements EduBillStudentService { + private final CommonService commonService; private final RemoteStudentService remoteStudentService; - private final RemoteCommonService remoteCommonService; private final EduBillOrderService eduBillOrderService; private final EduBillOrderItemService eduBillOrderItemService; @@ -77,6 +83,12 @@ public class EduBillStudentServiceImpl extends ServiceImpl private final RedisService redisService; + @Value("${febs.pushUrl}") + private String pushUrl; + + @Value("${febs.billUrl}") + private String billUrl; + @Override public IPage listBillUserPage(BillStudentSelectPageDTO dto) { // 查询学生信息 @@ -363,4 +375,79 @@ public class EduBillStudentServiceImpl extends ServiceImpl return ""; } } + + @Override + public void sendBillNotice(Long billId, String noticeTitle) { + EduBill bill = eduBillService.getById(billId); + if (Objects.isNull(bill) || bill.getBillEndDate().isAfter(LocalDateTime.now())) { + log.error("当前账单无法进行催缴功能!"); + } + // 查询学生信息 + ListStudentDTO studentDTO = ListStudentDTO.builder().schoolId(FebsUtil.getDeptId()) + .isQueryUserDept(false).isQuerySchoolName(false) + .build(); + List studentList = remoteStudentService.listStudent(studentDTO).getData(); + + // 学生分组 + Map> studentMap = studentList.stream().collect( + Collectors.groupingBy(EduStudent::getId)); + if (CollUtil.isNotEmpty(studentList)) { + // 需要推送的家长集合 + List parentList = new ArrayList<>(); + // 查询账单人员列表 + List list = baseMapper.listBillUserPage(null, + BillStudentSelectPageDTO.builder() + .billId(billId) + .build(), + studentList); + list.forEach(billStudentInfoVO -> { + // 匹配学生信息 + EduStudent student = studentMap.get(billStudentInfoVO.getStudentId()).get(0); + BigDecimal payOrderPrice = eduBillOrderService.sumPayOrderPrice(billId, student.getId()); + if (Objects.isNull(payOrderPrice) && CollUtil.isNotEmpty(student.getParents())) { + // 添加需要推送的家长信息 + parentList.addAll(student.getParents()); + } + }); + + // 推送消息 + List appUserIds = parentList.stream().map(EduParent::getYidaAppUserId) + .filter(StringUtils::isNotBlank).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(appUserIds)) { + EduYidaApp yidaApp = new EduYidaApp(); + yidaApp.setAppUrl(pushUrl); + // 创建发送对象 + AppNotice notice = new AppNotice(); + // 消息主体 + PushMessage message = new PushMessage(); + message.setTitle(noticeTitle); + message.setContent(String.format("您有一条待缴费信息:%s,截止日期:%s,点击查询详情。", bill.getBillTitle(), + LocalDateTimeUtil.format(bill.getBillEndDate(), "yyyy年MM月dd日HH时mm分秒"))); + message.setUrl(billUrl); + message.setMsgType(PushMessage.NORMAL); + message.setMsgSubType(PushMessage.H5_SUB_MSG_TYPE); + notice.setPushMessage(message); + notice.setUserIdList(appUserIds); + AppUtil.sendPushMsg(notice, yidaApp); + } + } + } + + public static void main(String[] args) { + EduYidaApp yidaApp = new EduYidaApp(); + yidaApp.setAppUrl("https://push.pzhdqrmtzx.com"); + // 创建发送对象 + AppNotice notice = new AppNotice(); + // 消息主体 + PushMessage message = new PushMessage(); + message.setTitle("测试"); + message.setContent(String.format("您有一条待缴费信息:%s,截止日期:%s,点击查询详情。", "sdad", + LocalDateTimeUtil.format(LocalDateTime.now(), "yyyy年MM月dd日HH时mm分秒"))); + message.setUrl("https://jyjf.pzhdqrmtzx.com/view/billApp/#/index?deptId=10548&loginType=2"); + message.setMsgType(PushMessage.NORMAL); + message.setMsgSubType(PushMessage.H5_SUB_MSG_TYPE); + notice.setPushMessage(message); + notice.setUserIdList(CollUtil.toList("f15f25a55fad4b61a527c67abbf1dcd1")); + AppUtil.sendPushMsg(notice, yidaApp); + } } diff --git a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/H5EduBillServiceImpl.java b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/H5EduBillServiceImpl.java index 53ae6fc..39a42e6 100644 --- a/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/H5EduBillServiceImpl.java +++ b/febs-server/edu-mall/edu-mall-biz/src/main/java/com/yida/data/mall/service/impl/H5EduBillServiceImpl.java @@ -7,6 +7,7 @@ import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.crypto.SecureUtil; @@ -20,6 +21,7 @@ import com.yida.data.common.core.common.ResultMsgType; import com.yida.data.common.core.entity.CurrentUser; import com.yida.data.common.core.entity.apply.EduApplyProductOrder; import com.yida.data.common.core.entity.constant.CachePrefixConstant; +import com.yida.data.common.core.entity.constant.LockPrefixConstant; import com.yida.data.common.core.entity.constant.StringConstant; import com.yida.data.common.core.entity.constant.UnionPayConstant; import com.yida.data.common.core.entity.mall.*; @@ -80,12 +82,12 @@ public class H5EduBillServiceImpl implements H5EduBillService { private final EduBillService eduBillService; private final EduBillItemService eduBillItemService; - private final EduBillItemSubService eduBillItemSubService; private final EduBillOrderService eduBillOrderService; + private final EduBillItemSubService eduBillItemSubService; private final EduBillOrderItemService eduBillOrderItemService; + private final EduBillOrderRefundService eduBillOrderRefundService; private final EduBillOrderItemSubService eduBillOrderItemSubService; private final EduBillOrderStudentService eduBillOrderStudentService; - private final EduBillOrderRefundService eduBillOrderRefundService; private final EduBillMapper eduBillMapper; private final EduBillOrderMapper eduBillOrderMapper; @@ -183,16 +185,26 @@ public class H5EduBillServiceImpl implements H5EduBillService { public BillPayInfoVO createBillOrder(CreateBillOrderDTO createBillOrderDTO) { CurrentUser currentUser = FebsUtil.getCurrentUser(); + // 判断学生账单订单锁 + String lockKey = LockPrefixConstant.STUDENT_BILL_ORDER_LOCK + createBillOrderDTO.getStudentId() + StringConstant.DOT + createBillOrderDTO.getBillId(); + Asserts.isFalse(redisService.hasKey(lockKey), "该学生正在缴费中,请稍后再试!"); + // 加锁 + redisService.lock(lockKey); + // 判断是否有下单缓存信息 BillOrderStudentCacheVO existBillOrderStudent = (BillOrderStudentCacheVO) redisService.get( CachePrefixConstant.BILL_ORDER_STUDENT + createBillOrderDTO.getStudentId().toString() + StringConstant.DOT + createBillOrderDTO.getBillId().toString()); if (Objects.nonNull(existBillOrderStudent)) { + // 解锁 + redisService.unlock(lockKey); throw new FebsException(String.format("%s%s正在支付中, 请耐心等待", existBillOrderStudent.getStudentName(), existBillOrderStudent.getParentType())); } if (StringUtils.isEmpty(createBillOrderDTO.getPayWay()) || PayWay.ALIPAY.getValue().equals(createBillOrderDTO.getPayWay())) { + // 解锁 + redisService.unlock(lockKey); throw new FebsException(ResultMsgType.PAY_TYPE_ERROR.getValue()); } // 查询账单信息 @@ -200,11 +212,15 @@ public class H5EduBillServiceImpl implements H5EduBillService { if (Objects.isNull(bill) || BillStatusEnum.DISABLE_STATUS.getStatus().equals(bill.getEnableStatus()) || bill.getBillEndDate().isBefore(LocalDateTime.now())) { + // 解锁 + redisService.unlock(lockKey); throw new FebsException("当前账单暂时无法缴费"); } // 查询学生信息 EduStudent student = remoteStudentService.getStudentNoPermission(createBillOrderDTO.getStudentId()).getData(); if (Objects.isNull(student)) { + // 解锁 + redisService.unlock(lockKey); throw new FebsException("学生信息错误"); } // 家长信息 @@ -212,6 +228,8 @@ public class H5EduBillServiceImpl implements H5EduBillService { EduParent orderParent = parents.stream().filter( x -> currentUser.getMobile().equals(x.getMobile())).collect(Collectors.toList()).get(0); if (Objects.isNull(orderParent)) { + // 解锁 + redisService.unlock(lockKey); throw new FebsException("家长信息错误"); } @@ -219,7 +237,7 @@ public class H5EduBillServiceImpl implements H5EduBillService { try { // 订单号 需要根据支付方式生成不同的订单号 String orderNo = ""; - if (PayWay.WEI_XIN.getValue().equals(createBillOrderDTO.getPayWay())) { + if (PayWay.WEIXIN.getValue().equals(createBillOrderDTO.getPayWay())) { // 微信 orderNo = String.valueOf(ORDER_CODE_GENERATOR.nextId()); } else if (PayWay.UNION.getValue().equals(createBillOrderDTO.getPayWay())) { @@ -258,6 +276,9 @@ public class H5EduBillServiceImpl implements H5EduBillService { redisService.del(CachePrefixConstant.BILL_ORDER_FLAG + orderCode); } throw new FebsException(e.getMessage()); + } finally { + // 解锁 + redisService.unlock(lockKey); } } @@ -290,6 +311,11 @@ public class H5EduBillServiceImpl implements H5EduBillService { for (CreateBillOrderDTO.CreateBillOrderItemDTO itemDTO : createBillOrderDTO.getItemList()) { // 根据项目id查询具体信息 EduBillItem billItem = eduBillItemService.getById(itemDTO.getItemId()); + // TODO: 2023/9/19 判断当前费项是否缴费(排除多项选择多项,此处直接查询主费项) + int itemPayCount = eduBillOrderItemService.countItemPayInfo(bill.getId(), student.getId(), itemDTO.getItemId()); + if (itemPayCount > 0) { + throw new FebsException(String.format("【%s】已支付,请刷新页面后重新操作", billItem.getItemName())); + } String itemFamilyType = billItem.getFamilyType(); // 判断当前学生能否减免 boolean reductionFlag = false; @@ -495,7 +521,7 @@ public class H5EduBillServiceImpl implements H5EduBillService { // 下单返回信息 String result = ""; try { - if (PayWay.WEI_XIN.getValue().equals(eduBillOrder.getPayWay())) { + if (PayWay.WEIXIN.getValue().equals(eduBillOrder.getPayWay())) { // 微信支付 EduPayWxConfig config = commonService.getPayWxConfigBySchool(student.getSchoolId()); EduApplyProductOrder order = new EduApplyProductOrder(); @@ -553,7 +579,7 @@ public class H5EduBillServiceImpl implements H5EduBillService { public BillPayInfoVO getPayInfo(String orderCode, String billOrderFlag, Long deptId, boolean needToPay, String payWay, Integer payType) { BillPayInfoVO billPayInfoVO = null; - if (PayWay.WEI_XIN.getValue().equals(payWay)) { + if (PayWay.WEIXIN.getValue().equals(payWay)) { // 微信 billPayInfoVO = getWxJsSign(orderCode, billOrderFlag, deptId, needToPay, payType); } else if (PayWay.UNION.getValue().equals(payWay)) { @@ -587,7 +613,7 @@ public class H5EduBillServiceImpl implements H5EduBillService { BillPayInfoVO infoVO = new BillPayInfoVO(); infoVO.setOrderCode(orderCode); infoVO.setNeedToPay(needToPay); - infoVO.setPayWay(PayWay.WEI_XIN.getValue()); + infoVO.setPayWay(PayWay.WEIXIN.getValue()); infoVO.setPayType(wxPayType); // js api类型 @@ -621,7 +647,7 @@ public class H5EduBillServiceImpl implements H5EduBillService { if (Objects.nonNull(order) && (OrderStatusEnum.NOT_PAY.getStatus().equals(order.getOrderStatus()) || OrderStatusEnum.USER_PAYING.getStatus().equals(order.getOrderStatus()))) { - if (PayWay.WEI_XIN.getValue().equals(order.getPayWay())) { + if (PayWay.WEIXIN.getValue().equals(order.getPayWay())) { // 微信 wxBillOrderSuccess(order); } else if (PayWay.UNION.getValue().equals(order.getPayWay())) { @@ -675,7 +701,7 @@ public class H5EduBillServiceImpl implements H5EduBillService { if (flag) { break; } - Thread.sleep(1000L); + ThreadUtil.sleep(1000L); } catch (Exception e) { log.error("账单订单(微信支付方式)完成失败, orderNo: {}", orderCode, e); } @@ -734,9 +760,9 @@ public class H5EduBillServiceImpl implements H5EduBillService { if (flag) { break; } - Thread.sleep(1000L); + ThreadUtil.sleep(1000L); } catch (Exception e) { - log.error("账单订单(云闪付支付方式)完成失败, orderNo: {}", orderCode, e); + log.error("账单订单(微信支付方式)完成失败, orderNo: {}", orderCode, e); } } } @@ -814,7 +840,7 @@ public class H5EduBillServiceImpl implements H5EduBillService { eduBillOrderService.updateById(order); try { // 判断支付方式 - if (PayWay.WEI_XIN.getValue().equals(order.getPayWay())) { + if (PayWay.WEIXIN.getValue().equals(order.getPayWay())) { // 关闭微信订单 WxPayUtil.closeOrder(commonService.getPayWxConfigBySchool(order.getDeptId()), order.getOrderCode()); } else if (PayWay.UNION.getValue().equals(order.getPayWay()) @@ -851,7 +877,7 @@ public class H5EduBillServiceImpl implements H5EduBillService { eduBillOrderRefund.setOrderCode(orderCode); // 生成退款订单号 String refundOrderCode = ""; - if (PayWay.WEI_XIN.getValue().equals(order.getPayWay())) { + if (PayWay.WEIXIN.getValue().equals(order.getPayWay())) { // 微信 refundOrderCode = "R" + orderCode; } else if (PayWay.UNION.getValue().equals(order.getPayWay())) { @@ -873,7 +899,7 @@ public class H5EduBillServiceImpl implements H5EduBillService { PayWay.class.getMethod("getValue")); switch (Objects.requireNonNull(payWay)) { // 微信 - case WEI_XIN: + case WEIXIN: // 查询学校微信支付配置 EduPayWxConfig config = commonService.getPayWxConfigBySchool(order.getDeptId()); WxPayUtil.refund(config, eduBillOrderRefund.getOrderCode(), diff --git a/febs-server/edu-mall/edu-mall-biz/src/main/resources/mapper/EduBillOrderItemMapper.xml b/febs-server/edu-mall/edu-mall-biz/src/main/resources/mapper/EduBillOrderItemMapper.xml index faf7c2c..378359e 100644 --- a/febs-server/edu-mall/edu-mall-biz/src/main/resources/mapper/EduBillOrderItemMapper.xml +++ b/febs-server/edu-mall/edu-mall-biz/src/main/resources/mapper/EduBillOrderItemMapper.xml @@ -125,5 +125,19 @@ - + + + + diff --git a/febs-server/edu-mall/edu-mall-biz/src/main/resources/mapper/EduBillOrderMapper.xml b/febs-server/edu-mall/edu-mall-biz/src/main/resources/mapper/EduBillOrderMapper.xml index 35295e3..8268f1a 100644 --- a/febs-server/edu-mall/edu-mall-biz/src/main/resources/mapper/EduBillOrderMapper.xml +++ b/febs-server/edu-mall/edu-mall-biz/src/main/resources/mapper/EduBillOrderMapper.xml @@ -25,6 +25,10 @@ AND s.del_flag = 0 AND o.pay_status = '1' AND o.bill_id = #{billId} + AND s.student_id IN + + #{item} + diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/classCall/ClassCallAddDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/classCall/ClassCallAddDTO.java deleted file mode 100644 index e7fd5f0..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/classCall/ClassCallAddDTO.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.yida.data.school.dto.classCall; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.util.List; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import lombok.Data; - -@ApiModel("添加点名记录对象") -@Data -public class ClassCallAddDTO { - - /** - * 班级ID - */ - @ApiModelProperty(required = true, value = "班级ID") - @NotNull(message = "不能为空") - private Long classId; - - /** - * 课程名称 - */ - @ApiModelProperty(required = true, value = "课程名称") - @NotBlank(message = "不能为空") - private String subjectName; - - /** - * 点名教师id - */ - @ApiModelProperty(required = true, value = "点名教师id") - @NotNull(message = "不能为空") - private Long teacherId; - - - /** - * 点名学生集合 - */ - @ApiModelProperty(required = true, value = "点名学生集合") - @NotEmpty(message = "不能为空") - List studentList; -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/classCall/ClassCallPageDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/classCall/ClassCallPageDTO.java deleted file mode 100644 index 8ba4970..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/classCall/ClassCallPageDTO.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.yida.data.school.dto.classCall; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.common.BaseDTO; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -@ApiModel("分页查询点名记录条件") -@Data -public class ClassCallPageDTO extends BaseDTO { - - /** - * 学校ID - */ - @ApiModelProperty(required = false, value = "学校ID") - private Long schoolId; - - /** - * 职工ID - */ - @ApiModelProperty(required = false, value = "职工ID") - private Long staffId; - - /** - * 班级ID - */ - @ApiModelProperty(required = false, value = "班级ID") - private Long classId; - - - @ApiModelProperty(required = false, value = "点名日期") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate date; - -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/classCall/StudentDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/classCall/StudentDTO.java deleted file mode 100644 index 0bddc58..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/classCall/StudentDTO.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.yida.data.school.dto.classCall; - -import com.yida.data.common.core.entity.user.EduStudent; -import io.swagger.annotations.ApiModelProperty; -import javax.validation.constraints.NotNull; -import lombok.Data; - -@Data -public class StudentDTO { - - @ApiModelProperty(required = true, value = "点名状态:0=异常,1=正常") - @NotNull(message = "不能为空") - private Integer status; - - @ApiModelProperty(required = true, value = "学生主键ID") - @NotNull(message = "不能为空") - private Long studentId; -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/config/EduSchoolFunctionConfigDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/config/EduSchoolFunctionConfigDTO.java deleted file mode 100644 index 48d3397..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/config/EduSchoolFunctionConfigDTO.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.yida.data.school.dto.config; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - - -@ApiModel("学校关键功能点配置条件请求类") -@Data -public class EduSchoolFunctionConfigDTO { - - @ApiModelProperty(value = "主键") - @TableId(value = "id", type = IdType.AUTO) - private Long id; - - @ApiModelProperty(value = "学校主键") - @TableId(value = "school_id") - private Long school_id; - - @ApiModelProperty(value = "关键功能点code") - @TableId(value = "function_code") - private String functionCode; - - @ApiModelProperty(value = "是否启用1启用,其他未启用") - @TableId(value = "function_code") - private Integer state; -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/index/SaveDeptHomeAppDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/index/SaveDeptHomeAppDTO.java deleted file mode 100644 index 883f350..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/index/SaveDeptHomeAppDTO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.school.dto.index; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.yida.data.common.core.entity.school.EduSchoolHomeMicroCol; -import io.swagger.annotations.ApiModelProperty; -import java.util.List; -import lombok.Data; - -@Data -public class SaveDeptHomeAppDTO { - - private Long id; - - @ApiModelProperty(value = "应用类型. 0:系统应用, 1:第三方应用,2:微信小程序") - private Integer appType; - private Integer userType; - private Long baseAppId; - private String name; - private String logo; - private String appSrc; - private Integer enableStatus; - private Integer sort; - @ApiModelProperty(value = "微信小程序appid") - private String appId; - /** - * 微信小程序secret - */ - @ApiModelProperty(value = "微信小程序secret") - private String appSecret; -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/screen/SchoolDashboardBaseSaveDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/screen/SchoolDashboardBaseSaveDTO.java deleted file mode 100644 index d6b220c..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/screen/SchoolDashboardBaseSaveDTO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.yida.data.school.dto.screen; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 保存校园大数据基础建设 - * - * @author ZYJ - * @date 2023/4/20 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "SchoolDashboardBaseSaveDTO", description = "保存校园大数据基础建设") -public class SchoolDashboardBaseSaveDTO implements Serializable { - - private static final long serialVersionUID = -7304594726411432290L; - - @ApiModelProperty(value = "标题") - private String label; - - @ApiModelProperty(value = "数量+单位") - private String unit; - - @ApiModelProperty(value = "图标") - private String icon; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/screen/SchoolDashboardSaveDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/screen/SchoolDashboardSaveDTO.java deleted file mode 100644 index a75a523..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/screen/SchoolDashboardSaveDTO.java +++ /dev/null @@ -1,130 +0,0 @@ -package com.yida.data.school.dto.screen; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.List; - -/** - * 保存校园大数据请求类 - * - * @author ZYJ - * @date 2023/4/20 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "SchoolDashboardSaveDTO", description = "保存校园大数据请求类") -public class SchoolDashboardSaveDTO implements Serializable { - - private static final long serialVersionUID = 3417294163343915202L; - - @ApiModelProperty("主键") - private Long id; - - @ApiModelProperty("创建时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - @ApiModelProperty("学校id") - private Long schoolId; - - @ApiModelProperty("大屏名称") - private String title; - - @ApiModelProperty("学校logo地址") - private String headerUrl; - - @ApiModelProperty("模板类型1:单页,2双页,3.。。") - private Integer modeType; - - @ApiModelProperty(value = "所属区域") - private String area; - - @ApiModelProperty("地址") - private String address; - - @ApiModelProperty("学校创建时间") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate schoolCreateDate; - - @ApiModelProperty("学校占地面积") - private Integer schoolArea; - - @ApiModelProperty(value = "主管部门") - private String competentDepartment; - - @ApiModelProperty("办学类型") - private String eduType; - - @ApiModelProperty("院校特色") - private String eduFeature; - - @ApiModelProperty("院校类型") - private String institutionType; - - @ApiModelProperty("硕士点") - private Integer masterNum; - - @ApiModelProperty("博士点") - private Integer doctorNum; - - @ApiModelProperty("重点学科数") - private Integer keyDisciplinesNum; - - @ApiModelProperty("科研项目数") - private Integer researchProjectNum; - - @ApiModelProperty("学校简介") - private String eduIntroduction; - - @ApiModelProperty("办学理念") - private String eduPhilosophy; - - @ApiModelProperty("办学使命") - private String eduMission; - - @ApiModelProperty("办学校训") - private String eduMotto; - - @ApiModelProperty("校园风采") - private String campusStyle; - - @ApiModelProperty("官方电话") - private String telephone; - - @ApiModelProperty("教师人数") - private Integer teacherNum; - - @ApiModelProperty("院系数量") - private Integer departmentNum; - - @ApiModelProperty("一级学科数量") - private Integer firstLevelDisciplineNum; - - @ApiModelProperty("二级学科数量") - private Integer secondaryDisciplineNum; - - @ApiModelProperty("班级数") - private Integer classNum; - - @ApiModelProperty("学生人数") - private Integer studentNum; - - @ApiModelProperty("基础建设集合") - private List baseList; - - @ApiModelProperty("师资力量集合") - private List teacherList; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/screen/SchoolDashboardTeacherSaveDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/screen/SchoolDashboardTeacherSaveDTO.java deleted file mode 100644 index 89a3259..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/screen/SchoolDashboardTeacherSaveDTO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.school.dto.screen; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 保存校园大数据师资力量 - * - * @author ZYJ - * @date 2023/4/20 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "SchoolDashboardTeacherSaveDTO", description = "保存校园大数据师资力量") -public class SchoolDashboardTeacherSaveDTO implements Serializable { - - private static final long serialVersionUID = -1683405994263409134L; - - @ApiModelProperty(value = "标题") - private String title; - - @ApiModelProperty(value = "数量") - private Integer num; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/AddUploadFileStepDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/AddUploadFileStepDTO.java deleted file mode 100644 index dc60331..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/AddUploadFileStepDTO.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.yida.data.school.dto.smart; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 步骤文件上传类 - * - * @author ZYJ - * @date 2023/6/5 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "AddUploadFileStepDTO", description = "步骤文件上传类") -public class AddUploadFileStepDTO implements Serializable { - - private static final long serialVersionUID = -209072639419583186L; - - @ApiModelProperty(value = "关联关系id", required = true) - private Long relationId; - - @ApiModelProperty(value = "指南id", required = true) - private Long guideId; - - @ApiModelProperty(value = "花名册id", required = true) - private Long rosterId; - - @ApiModelProperty(value = "步骤id", required = true) - private Long stepId; - - @ApiModelProperty(value = "附件地址", required = true) - private List upLoadFileUrlList; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/ClassFixImportDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/ClassFixImportDTO.java deleted file mode 100644 index d51e982..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/ClassFixImportDTO.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.yida.data.school.dto.smart; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * Excel职工信息导入类 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "ClassFixImportDTO", description = "Excel固定班级学生导入类") -public class ClassFixImportDTO implements Serializable { - - private static final long serialVersionUID = -3772088981386664273L; - /** - * 校区 - */ - @ExcelProperty(index = 0, value = "校区") - @ApiModelProperty(value = "校区") - private String campusName; - - /** - * 学段 - */ - @ExcelProperty(index = 1, value = "学段") - @ApiModelProperty(value = "学段") - private String sectionName; - - /** - * 年级 - */ - @ExcelProperty(index = 2, value = "年级") - @ApiModelProperty(value = "年级") - private String gradeName; - - /** - * 班级 - */ - @ExcelProperty(index = 3, value = "班级") - @ApiModelProperty(value = "班级") - private String className; - - /** - * 姓名 - */ - @ExcelProperty(index = 4, value = "姓名") - @ApiModelProperty(value = "姓名") - private String rosterName; - - /** - * 身份证号 - */ - @ExcelProperty(index = 5, value = "身份证号") - @ApiModelProperty(value = "身份证号") - private String idNumber; - -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/ClassImportDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/ClassImportDTO.java deleted file mode 100644 index 41a56cf..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/ClassImportDTO.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.yida.data.school.dto.smart; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * Excel职工信息导入类 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "ClassImportDTO", description = "Excel预选班级导入类") -public class ClassImportDTO implements Serializable { - - private static final long serialVersionUID = -8812791024900293183L; - /** - * 校区 - */ - @ExcelProperty(index = 0, value = "校区") - @ApiModelProperty(value = "校区") - private String campusName; - - /** - * 学段 - */ - @ExcelProperty(index = 1, value = "学段") - @ApiModelProperty(value = "学段") - private String sectionName; - - /** - * 年级 - */ - @ExcelProperty(index = 2, value = "年级") - @ApiModelProperty(value = "年级") - private String gradeName; - - /** - * 班级 - */ - @ExcelProperty(index = 3, value = "班级") - @ApiModelProperty(value = "班级") - private String className; - - - /** - * 系部 - */ - @ExcelProperty(index = 4, value = "系部") - @ApiModelProperty(value = "系部") - private String departmentName; - - - /** - * 专业 - */ - @ExcelProperty(index = 5, value = "专业") - @ApiModelProperty(value = "专业") - private String majorName; - - /** - * 预设人数 - */ - @ExcelProperty(index = 6, value = "预设人数") - @ApiModelProperty(value = "预设人数") - private Integer number; - - - /** - * 男生占比 - */ - @ExcelProperty(index = 7, value = "男生占比") - @ApiModelProperty(value = "男生占比") - private Integer male; - - /** - * 女生占比 - */ - @ExcelProperty(index = 8, value = "女生占比") - @ApiModelProperty(value = "女生占比") - private Integer female; - -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/CustomDormImportDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/CustomDormImportDTO.java deleted file mode 100644 index dd55052..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/CustomDormImportDTO.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.yida.data.school.dto.smart; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.baomidou.mybatisplus.annotation.TableField; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * Excel职工信息导入类 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "CustomDormImportDTO", description = "Excel自定义预选宿舍导入类") -public class CustomDormImportDTO implements Serializable { - - - private static final long serialVersionUID = 4258485996992370675L; - /** - * 系部 - */ - @ExcelProperty(index = 0, value = "系部") - @ApiModelProperty(value = "系部") - private String departmentName; - - - /** - * 专业 - */ - @ExcelProperty(index = 1, value = "专业") - @ApiModelProperty(value = "专业") - private String majorName; - - /** - * 宿舍楼 - */ - @ExcelProperty(index = 2, value = "宿舍楼") - @ApiModelProperty(value = "宿舍楼") - private String dormName; - - /** - * 寝室号 - */ - @ExcelProperty(index = 3, value = "宿舍号") - @ApiModelProperty(value = "宿舍号") - private String dormRoomName; - - /** - * 性别 - */ - @ExcelProperty(index = 4, value = "性别,男/女") - @ApiModelProperty(value = "性别") - private String gender; - - /** - * 人数 - */ - @ExcelProperty(index = 5, value = "人数") - @ApiModelProperty(value = "人数") - private Integer number; - - /** - * 校区ID - */ - @ExcelProperty(index = 6, value = "校区id") - @ApiModelProperty(value = "校区ID") - private Long campusId; - - /** - * 部门id - */ - @ExcelProperty(index = 7, value = "部门id") - @ApiModelProperty(value = "部门id") - private Long deptId; - - - /** - * 指南id - */ - @ExcelProperty(index = 8, value = "指南id") - @ApiModelProperty(value = "指南id") - private Long guideId; - - /** - * 步骤id - */ - @ExcelProperty(index = 9, value = "步骤id") - @ApiModelProperty(value = "步骤id") - private Long stepId; - - /** - * 学校id - */ - @ExcelProperty(index = 10, value = "学校id") - @ApiModelProperty(value = "学校id") - private Long schoolId; - -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/DormImportDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/DormImportDTO.java deleted file mode 100644 index 7a4c62e..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/DormImportDTO.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.yida.data.school.dto.smart; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * Excel职工信息导入类 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "DormImportDTO", description = "Excel预选宿舍导入类") -public class DormImportDTO implements Serializable { - - private static final long serialVersionUID = -4260457409043932228L; - - - /** - * 系部 - */ - @ExcelProperty(index = 0, value = "系部") - @ApiModelProperty(value = "系部") - private String departmentName; - - - /** - * 专业 - */ - @ExcelProperty(index = 1, value = "专业") - @ApiModelProperty(value = "专业") - private String majorName; - - /** - * 宿舍楼 - */ - @ExcelProperty(index = 2, value = "宿舍楼") - @ApiModelProperty(value = "宿舍楼") - private String dormName; - - /** - * 寝室号 - */ - @ExcelProperty(index = 3, value = "宿舍号") - @ApiModelProperty(value = "宿舍号") - private String dormRoomName; - - /** - * 性别 - */ - @ExcelProperty(index = 4, value = "性别,男/女") - @ApiModelProperty(value = "性别") - private String gender; - - /** - * 人数 - */ - @ExcelProperty(index = 5, value = "人数") - @ApiModelProperty(value = "人数") - private String realNumber; - - -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/DormImportFixDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/DormImportFixDTO.java deleted file mode 100644 index 16597fa..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/DormImportFixDTO.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.yida.data.school.dto.smart; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * Excel职工信息导入类 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "DormImportDTO", description = "Excel预选宿舍导入类") -public class DormImportFixDTO implements Serializable { - - - /** - * 宿舍楼 - */ - @ExcelProperty(index = 0, value = "宿舍楼") - @ApiModelProperty(value = "宿舍楼") - private String dormName; - - /** - * 寝室号 - */ - @ExcelProperty(index = 1, value = "宿舍号") - @ApiModelProperty(value = "宿舍号") - private String dormRoomName; - /** - * 姓名 - */ - @ExcelProperty(index = 2, value = "姓名") - @ApiModelProperty(value = "姓名") - private String rosterName; - - /** - * 身份证号 - */ - @ExcelProperty(index = 3, value = "身份证号") - @ApiModelProperty(value = "身份证号") - private String idNumber; - - -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideFillInfoSaveDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideFillInfoSaveDTO.java deleted file mode 100644 index 4a5ca8c..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideFillInfoSaveDTO.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.yida.data.school.dto.smart; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.List; - -/** - * 保存迎新填报信息请求类 - * - * @author ZYJ - * @date 2023/5/17 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "GuideFillInfoSaveDTO", description = "保存迎新填报信息请求类") -public class GuideFillInfoSaveDTO implements Serializable { - - private static final long serialVersionUID = -5379563542815778231L; - - @ApiModelProperty(value = "微信openId") - private String openId; - - @ApiModelProperty(value = "部门id") - private Long deptId; - - @ApiModelProperty(value = "指南id") - private Long guideId; - - @ApiModelProperty(value = "头像") - private String avatar; - - @ApiModelProperty(value = "姓名") - private String name; - - @ApiModelProperty(value = "性别. 0-男,1-女") - private Integer sex; - - @ApiModelProperty(value = "身份证号码") - private String idNumber; - - @ApiModelProperty(value = "录取专业") - private String admittedMajor; - - @ApiModelProperty(value = "录取专业ID") - private Long admittedMajorId; - - @ApiModelProperty(value = "录取系部") - private String admittedDepartment; - - @ApiModelProperty(value = "录取系部ID") - private Long admittedDepartmentId; - - @ApiModelProperty(value = "身份证正面照片") - private String idCardRight; - - @ApiModelProperty(value = "身份证反面照片") - private String idCardReverse; - - @ApiModelProperty(value = "录取通知书照片") - private String admissionLetter; - - @ApiModelProperty("校区id") - private Long campusId; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideRosterErrorExportDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideRosterErrorExportDTO.java deleted file mode 100644 index 12cc1cf..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideRosterErrorExportDTO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.school.dto.smart; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModel; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 指南花名册导入错误返回类 - * - * @author ZYJ - * @date 2023/6/1 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "GuideRosterErrorExportDTO", description = "学生信息导入错误返回类") -public class GuideRosterErrorExportDTO implements Serializable { - - private static final long serialVersionUID = 3208630028278503011L; - - /** - * 错误信息 - */ - @ExcelProperty("错误信息") - private String errorMessage; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideRosterImportDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideRosterImportDTO.java deleted file mode 100644 index 39546b4..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideRosterImportDTO.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.yida.data.school.dto.smart; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.baomidou.mybatisplus.annotation.TableField; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * Excel指南花名册信息导入类 - * - * @author ZYJ - * @date 2021/8/24 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "GuideRosterImportDTO", description = "Excel指南花名册信息导入类") -public class GuideRosterImportDTO implements Serializable { - - private static final long serialVersionUID = 3782716915186380684L; - - /** - * 姓名 - */ - @ExcelProperty(index = 0) - private String fullName; - - /** - * 毕业院校 - */ - @ExcelProperty(index = 1) - private String graduateSchool; - - /** - * 身份证号码 - */ - @ExcelProperty(index = 2) - private String idNumber; - - - /** - * 录取系部 - */ - @ExcelProperty(index = 3) - private String admittedDepartment; - - /** - * 录取专业 - */ - @ExcelProperty(index = 4) - private String admittedMajor; - - - /** - * 录取年级 - */ - @ExcelProperty(index = 5) - private String admittedGrade; - - /** - * 录取班级 - */ - @ExcelProperty(index = 6) - private String admittedClass; - - /** - * 手机号码 - */ - @ExcelProperty(index = 7) - private String mobile; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideRosterSelectPageDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideRosterSelectPageDTO.java deleted file mode 100644 index 59293da..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideRosterSelectPageDTO.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.yida.data.school.dto.smart; - -import com.yida.data.common.core.common.BaseDTO; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRoster; -import com.yida.data.common.core.enums.RegistrationStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; - -/** - * 迎新指南花名册后台列表请求类 - * - * @author ZYJ - * @date 2023/5/22 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@ApiModel(value = "GuideRosterSelectPageDTO", description = "迎新指南花名册后台列表请求类") -public class GuideRosterSelectPageDTO extends BaseDTO implements Serializable { - - private static final long serialVersionUID = 2382158515196055662L; - - @ApiModelProperty(value = "指南id") - private Long guideId; - - @ApiModelProperty(value = "毕业院校") - private String graduateSchool; - - @ApiModelProperty(value = "姓名") - private String fullName; - - @ApiModelProperty(value = "身份证号码") - private String idNumber; - - @ApiModelProperty(value = "录取专业") - private String admittedMajor; - - @ApiModelProperty(value = "未通过的步骤") - private Long notPassStepId; - - @ApiModelProperty(value = "通过的步骤") - private Long passStepId; - - @ApiModelProperty(value = "是否缴费0=否,1=是") - private Integer payStatus; - - /** - * {@link RegistrationStatusEnum} - */ - @ApiModelProperty(value = "报到状态. 0-未报到,1-报到成功(全部步骤通过)") - private Integer registrationStatus; - - - private List passRosterIdList; - -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideSaveDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideSaveDTO.java deleted file mode 100644 index 1309e79..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideSaveDTO.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.yida.data.school.dto.smart; - -import com.baomidou.mybatisplus.annotation.TableField; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.math.BigDecimal; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.List; - -/** - * 保存迎新指南请求类 - * - * @author ZYJ - * @date 2023/5/15 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "GuideSaveDTO", description = "保存迎新指南请求类") -public class GuideSaveDTO implements Serializable { - - private static final long serialVersionUID = 8167376276179823069L; - - @ApiModelProperty(value = "指南id") - private Long id; - - @ApiModelProperty(value = "指南标题") - private String guideTitle; - - @ApiModelProperty(value = "指南前言") - private String guideForeword; - - @ApiModelProperty(value = "资料上报字段,多个以英文逗号分隔") - private String formField; - - @ApiModelProperty(value = "缴费金额") - private BigDecimal money; - - @ApiModelProperty(value = "是否启用二维码缴费,0未启用,1启用") - private Integer moneyStatus; - - @ApiModelProperty(value = "学区id") - private Long campusId; - - @ApiModelProperty(value = "指南步骤列表") - private List stepList; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideSelectPageDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideSelectPageDTO.java deleted file mode 100644 index 3aeb274..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideSelectPageDTO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.yida.data.school.dto.smart; - -import com.yida.data.common.core.common.BaseDTO; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuide; -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; - -/** - * 迎新指南后台列表请求类 - * - * @author ZYJ - * @date 2023/5/15 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@ApiModel(value = "GuideSelectPageDTO", description = "迎新指南后台列表请求类") -public class GuideSelectPageDTO extends BaseDTO implements Serializable { - - private static final long serialVersionUID = -3256496082335396363L; - - @ApiModelProperty(value = "指南标题") - private String guideTitle; - - @ApiModelProperty(value = "部门id", hidden = true) - private Long deptId; - - /** - * {@link EnableStatusEnum} - */ - @ApiModelProperty("启用状态.0:未启用,1:已启用") - private Integer enableStatus; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideStepSaveDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideStepSaveDTO.java deleted file mode 100644 index 9ad89ac..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/GuideStepSaveDTO.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.yida.data.school.dto.smart; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepClass; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepClassFix; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepDorm; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepDormFix; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.List; - -/** - * 保存迎新指南步骤请求类 - * - * @author ZYJ - * @date 2023/5/15 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "GuideStepSaveDTO", description = "保存迎新指南步骤请求类") -public class GuideStepSaveDTO implements Serializable { - - private static final long serialVersionUID = -2496615484964480529L; - - @ApiModelProperty(value = "步骤类型") - private Integer stepType; - - @ApiModelProperty(value = "步骤名称") - private String stepName; - - @ApiModelProperty(value = "唯一id") - private String uniqueId; - - @ApiModelProperty(value = "前提步骤唯一id") - private String premiseStepUniqueId; - - @ApiModelProperty(value = "步骤说明") - private String stepDescription; - - @ApiModelProperty(value = "缴费金额") - private BigDecimal money; - - @ApiModelProperty(value = "审核是否需要评语,0否,1是") - private Integer isComment; - - @ApiModelProperty(value = "审核人员id列表") - private List staffIdList; - @ApiModelProperty(value = "预分班级列表") - private List classList; - @ApiModelProperty(value = "预分班级列表") - private List dormList; - @ApiModelProperty(value = "固定班级列表") - private List classFixList; - @ApiModelProperty(value = "固定宿舍列表") - private List dormFixList; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/StaffPassStepDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/StaffPassStepDTO.java deleted file mode 100644 index 7aec6db..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/StaffPassStepDTO.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.yida.data.school.dto.smart; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 职工通过步骤请求类 - * - * @author ZYJ - * @date 2023/6/5 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "StaffPassStepDTO", description = "职工通过步骤请求类") -public class StaffPassStepDTO implements Serializable { - - private static final long serialVersionUID = 4784257912777425471L; - - @ApiModelProperty(value = "关联关系id", required = true) - private Long relationId; - - @ApiModelProperty(value = "花名册id", required = true) - private Long rosterId; - - @ApiModelProperty(value = "职工id", required = true) - private Long staffId; - - @ApiModelProperty(value = "步骤id", required = true) - private Long stepId; - - @ApiModelProperty(value = "评语内容", required = false) - private String commentContent; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/UpdateQrCodeInfoDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/UpdateQrCodeInfoDTO.java deleted file mode 100644 index 2de0e8e..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/UpdateQrCodeInfoDTO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.yida.data.school.dto.smart; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.List; - -/** - * 保存指南二维码配置请求类 - * - * @author ZYJ - * @date 2023/6/13 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "UpdateQrCodeInfoDTO", description = "保存指南二维码配置请求类") -public class UpdateQrCodeInfoDTO implements Serializable { - - private static final long serialVersionUID = -5982188939970322279L; - - @ApiModelProperty(value = "指南id") - private Long guideId; - - @ApiModelProperty(value = "是否启用自动生成二维码状态. 0:未启用,1:已启用") - private Integer qrCodeEnableStatus; - - @ApiModelProperty(value = "没有二维码时的提示") - private String qrCodeNoticeMessage; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/h5/CreateGuideStepOrderDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/h5/CreateGuideStepOrderDTO.java deleted file mode 100644 index fc1b757..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/h5/CreateGuideStepOrderDTO.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.yida.data.school.dto.smart.h5; - -import com.yida.data.common.core.enums.PayWay; -import com.yida.data.common.core.enums.UnionPayTypeEnum; -import com.yida.data.common.core.enums.WxPayTypeEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.math.BigDecimal; - -/** - * 生成花名册步骤订单请求类 - * - * @author ZYJ - * @date 2023/6/19 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "CreateGuideStepOrderDTO", description = "生成花名册步骤订单请求类") -public class CreateGuideStepOrderDTO implements Serializable { - - private static final long serialVersionUID = 5371030556983911931L; - - @ApiModelProperty("指南id") - private Long guideId; - -// @ApiModelProperty("步骤id") -// private Long stepId; - - @ApiModelProperty("关联关系id") - private Long relationId; - - @ApiModelProperty("微信授权码") - private String code; - - @ApiModelProperty("部门id") - private Long deptId; - - /** - * 支付方式 - * {@link PayWay} - */ - @ApiModelProperty("支付方式. 写死为5") - private String payWay; - - /** - * 支付类型 - * 银联云闪付: {@link UnionPayTypeEnum} - * 微信类型: {@link WxPayTypeEnum} - */ - @ApiModelProperty("支付类型. 当前可以不填写") - private Integer payType; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/h5/RosterFaceMatchDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/h5/RosterFaceMatchDTO.java deleted file mode 100644 index d0673cc..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/h5/RosterFaceMatchDTO.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.yida.data.school.dto.smart.h5; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 花名册人脸对比请求类 - * - * @author ZYJ - * @date 2023/6/21 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "RosterFaceMatchDTO", description = "花名册人脸对比请求类") -public class RosterFaceMatchDTO implements Serializable { - - private static final long serialVersionUID = 1474013091202762132L; - - @ApiModelProperty("指南id") - private Long guideId; - - @ApiModelProperty("步骤id") - private Long stepId; - - @ApiModelProperty("关联关系id") - private Long relationId; - - @ApiModelProperty("base64图片信息") - private String base64; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/h5/RosterPageDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/h5/RosterPageDTO.java deleted file mode 100644 index 0dbb8f8..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/smart/h5/RosterPageDTO.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.yida.data.school.dto.smart.h5; - -import com.yida.data.common.core.common.BaseDTO; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuide; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRoster; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelation; -import com.yida.data.common.core.enums.EnableStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; - -/** - * 花名册列表h5查询请求类 - * - * @author ZYJ - * @date 2023/7/7 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@ApiModel(value = "RosterPageDTO", description = "花名册列表h5查询请求类") -public class RosterPageDTO extends BaseDTO implements Serializable { - - private static final long serialVersionUID = 5839750378167181943L; - - @ApiModelProperty(value = "名称") - private String rosterName; - - @ApiModelProperty(value = "部门id") - private Long deptId; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/transaction/ListApplyFunctionDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/transaction/ListApplyFunctionDTO.java deleted file mode 100644 index afb511a..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/transaction/ListApplyFunctionDTO.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.yida.data.school.dto.transaction; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import java.util.List; -import lombok.Builder; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -@Data -@Builder -public class ListApplyFunctionDTO { - - private Integer pageSize; - - private Integer pageNum; - - private Long id; - - private Long studentId; - - private List studentIdList; - - private String studentName; - - private String studentNumber; - - private String applyCode; - - @ApiModelProperty("有效期开始时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime startTime; - - @ApiModelProperty("有效期结束时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime endTime; - - @TableField(exist = false) - private String deptName; - - private Long schoolId; - private Long campusId; - private Long sectionId; - private Long gradeId; - private Long classId; - -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/AuditRequestDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/AuditRequestDTO.java deleted file mode 100644 index 14ca169..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/AuditRequestDTO.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.yida.data.school.dto.userLeave; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * 审核请假提交对象 - */ -@Data -@ApiModel -public class AuditRequestDTO { - - /** - * - */ - @ApiModelProperty(value = "") - private Long id; - - /** - * 流程ID - */ - @ApiModelProperty(value = "流程ID") - private Long processId; - - /** - * 请假主体ID - */ - @ApiModelProperty(value = "请假主体ID") - private Long requestId; - - /** - * 审核人ID - */ - @ApiModelProperty(value = "审核人ID") - private Long approvalId; - - - /** - * 审核结果:1=通过,0=不通过,默认0 - */ - @ApiModelProperty(value = "审核结果:1=通过,0=不通过,默认0") - private Integer approvalResult; - - /** - * 审核不通过的原因 - */ - @ApiModelProperty(value = "审核不通过的原因") - private String approvalReason; - - /** - * 审核顺序 - */ - @ApiModelProperty(value = "审核顺序") - private Integer sort; - - - /** - * 审核顺序 - */ - @ApiModelProperty(value = "审核第几流程ID") - private Long viewId; - - /** - * 审核不通过原因 - */ - @ApiModelProperty(value = "审核不通过原因") - private String refuseReason; -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/EduLeaveRequestProcessConfigDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/EduLeaveRequestProcessConfigDTO.java deleted file mode 100644 index 0ce11da..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/EduLeaveRequestProcessConfigDTO.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.yida.data.school.dto.userLeave; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfig; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigApplicableDepartments; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigApprovalUser; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigView; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import java.util.List; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * Entity - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -@Data -public class EduLeaveRequestProcessConfigDTO { - - /** - * - */ - @ApiModelProperty(value = "") - private Long id; - - /** - * 学生id - */ - @ApiModelProperty(value = "学生id") - private String processName; - - /** - * 流程类型:0=教师,1=学生 - */ - @ApiModelProperty(value = "流程类型:0=教师,1=学生") - private Integer processType; - - /** - * 最小天数 - */ - @ApiModelProperty(value = "最小天数") - private Integer minDays; - - /** - * 最大天数 - */ - @ApiModelProperty(value = "最大天数") - private Integer maxDays; - - - /** - * 是否小于半天 - */ - @ApiModelProperty(value = "是否小于半天1=是,0=否") - private Integer lessHalfDay; - - - /** - * 基于less_half_day 定义半天是几小时 - */ - @ApiModelProperty(value = "基于less_half_day 定义半天是几小时") - private Integer hours; - - /** - * 学校id - */ - @ApiModelProperty(value = "学校id") - private Long schoolId; - - - /** - * 具体的审核流程 - */ - @ApiModelProperty(value = "具体的审核流程") - private List eduLeaveRequestProcessConfigViewList; - - - /** - * 适用人员部门 - */ - @ApiModelProperty(value = "适用人员部门") - private List applicableDepartmentsList; - -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/LeaveRequestPageDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/LeaveRequestPageDTO.java deleted file mode 100644 index eb379eb..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/LeaveRequestPageDTO.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.yida.data.school.dto.userLeave; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.common.BaseDTO; -import io.swagger.annotations.ApiModelProperty; - -import java.time.LocalDateTime; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -@Data -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class LeaveRequestPageDTO extends BaseDTO { - - @ApiModelProperty("请假人姓名") - private String requestUserName; - @ApiModelProperty("请假类型:0教师请假,1学生请假") - private Integer requestType; - @ApiModelProperty("所属学校ID") - private Long schoolId; - @ApiModelProperty("审核状态:0待审核,3审核中,4已审核(包含1已通过,2已拒绝)") - private Integer status; - private List statusList; - private List studentIdList; - @ApiModelProperty("请假主体ID集合") - private List idList; - - @ApiModelProperty(value = "开始时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime startDateTime; - - @ApiModelProperty(value = "结束时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime endDateTime; - - private Long campusId; - private Long sectionId; - private Long gradeId; - private Long classId; - - @ApiModelProperty("mysql查询学生列表. 0:不查询, 1:查询") - private Integer selectStudentId; -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/ListUserRequestDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/ListUserRequestDTO.java deleted file mode 100644 index 1b4e4a5..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/ListUserRequestDTO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.yida.data.school.dto.userLeave; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -@ApiModel("查询用户请假数据") -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class ListUserRequestDTO { - - @ApiModelProperty("请假人ID") - private List userIdList; - - @ApiModelProperty("0教师请假,1学生请假") - private Integer requestType; - - @ApiModelProperty("开始时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime startTime; - - @ApiModelProperty("结束时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime endTime; -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/SendStaffNoticeDTO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/SendStaffNoticeDTO.java deleted file mode 100644 index 6f741c3..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/dto/userLeave/SendStaffNoticeDTO.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.yida.data.school.dto.userLeave; - -import com.fasterxml.jackson.annotation.JsonFormat; -import java.time.LocalDateTime; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 发送职工模板消息 数据封装类 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class SendStaffNoticeDTO { - - /** - * 学校ID - */ - private Long schoolId; - /** - * 本次审核职工 - */ - private String staffWxId; - - /** - * 本次审核职工 - */ - private String staffName; - - /** - * 学校类型 - */ - private String schoolType; - - /** - * 上一位审核职工 - */ - private String preStaffName; - /** - * 上一位审核职工角色 - */ - private String preStaffRoleName; - - /** - * 学生姓名 / 职工姓名 - */ - private String requestUserName; - /** - * 学生所属班级名称 / 职工所属部门 - */ - private String requestUserDeptName; - /** - * 请假时间 - */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime requestTime; - /** - * 请假原因 - */ - private String requestReason; - - /** - * 请假去向 - */ - private String requestFor; - - /** - * 请假开始时间 - */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH") - private LocalDateTime requestStartTime; - /** - * 请假结束时间 - */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH") - private LocalDateTime requestEndTime; - - - /** - * 审批结果 1已通过,0未通过 - */ - private Integer status; - - /** - * 请假类型 - */ - private Integer Type; - -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/facility/RemoteDormitoryServiceFallback.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/facility/RemoteDormitoryServiceFallback.java index a4ae5a5..a75b8af 100644 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/facility/RemoteDormitoryServiceFallback.java +++ b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/facility/RemoteDormitoryServiceFallback.java @@ -3,7 +3,6 @@ package com.yida.data.school.fallback.facility; import com.yida.data.common.core.annotation.Fallback; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.school.EduDormitory; -import com.yida.data.common.core.entity.school.EduDormitoryMaster; import com.yida.data.common.core.entity.school.EduDormitoryRoom; import com.yida.data.school.dto.index.EditPersonNumDTO; import com.yida.data.school.dto.index.ListDormRoomDTO; @@ -106,11 +105,6 @@ public class RemoteDormitoryServiceFallback implements FallbackFactory dtos) { - return null; - } - /** * 获取宿舍 * @@ -134,16 +128,6 @@ public class RemoteDormitoryServiceFallback implements FallbackFactory getDormNoPermission(Long id) { return null; } - - @Override - public ResultBean> getDormBySchoolId(Long schoolId) { - return null; - } - - @Override - public ResultBean> listDormRoomNoAuth(ListDormRoomDTO dto) { - return null; - } }; } } diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/index/RemoteDeptHomeInfoServiceFallback.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/index/RemoteDeptHomeInfoServiceFallback.java deleted file mode 100644 index d6561ba..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/index/RemoteDeptHomeInfoServiceFallback.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yida.data.school.fallback.index; - -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.school.EduDeptHomeApp; -import com.yida.data.school.dto.leave.ListStudentRequestDetailDTO; -import com.yida.data.school.dto.userLeave.ListUserRequestDTO; -import com.yida.data.school.feign.index.RemoteDeptHomeIndexService; -import com.yida.data.school.feign.leave.RemoteLeaveRequestService; -import com.yida.data.school.vo.userLeave.EduLeaveRequestUserVO; -import feign.hystrix.FallbackFactory; -import java.util.List; -import lombok.extern.slf4j.Slf4j; - -/** - * RemoteDeptHomeIndexService fallback处理类 - * - * @author ZYJ - * @date 2022/8/26 - */ -@Slf4j -@Fallback -public class RemoteDeptHomeInfoServiceFallback implements FallbackFactory { - - @Override - public RemoteDeptHomeIndexService create(Throwable throwable) { - log.error("RemoteDeptHomeIndexService fallback reason:{}", throwable.getMessage()); - - return new RemoteDeptHomeIndexService() { - - @Override - public ResultBean> getDeptAppList(Long schoolId) { - return null; - } - }; - } -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/leave/RemoteLeaveRequestServiceFallback.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/leave/RemoteLeaveRequestServiceFallback.java index eb6b663..2116044 100644 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/leave/RemoteLeaveRequestServiceFallback.java +++ b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/leave/RemoteLeaveRequestServiceFallback.java @@ -3,11 +3,8 @@ package com.yida.data.school.fallback.leave; import com.yida.data.common.core.annotation.Fallback; import com.yida.data.common.core.common.ResultBean; import com.yida.data.school.dto.leave.ListStudentRequestDetailDTO; -import com.yida.data.school.dto.userLeave.ListUserRequestDTO; import com.yida.data.school.feign.leave.RemoteLeaveRequestService; -import com.yida.data.school.vo.userLeave.EduLeaveRequestUserVO; import feign.hystrix.FallbackFactory; -import java.util.List; import lombok.extern.slf4j.Slf4j; /** @@ -25,16 +22,16 @@ public class RemoteLeaveRequestServiceFallback implements FallbackFactory existRequest(ListStudentRequestDetailDTO dto) { return null; } - - @Override - public ResultBean> findList(ListUserRequestDTO dto) { - return null; - } }; } } diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/schoolConfig/RemoteEduSchoolFuncationConfigServiceFallback.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/schoolConfig/RemoteEduSchoolFuncationConfigServiceFallback.java deleted file mode 100644 index ce6b031..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/schoolConfig/RemoteEduSchoolFuncationConfigServiceFallback.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yida.data.school.fallback.schoolConfig; - -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.school.EduSchoolFunctionConfig; -import com.yida.data.school.feign.schoolConfig.RemoteEduSchoolFuncationConfigService; -import feign.hystrix.FallbackFactory; -import java.util.List; -import lombok.extern.slf4j.Slf4j; - -/** - * RemoteEduSchoolFuncationConfigService fallback处理类 - */ -@Slf4j -@Fallback -public class RemoteEduSchoolFuncationConfigServiceFallback implements FallbackFactory { - - @Override - public RemoteEduSchoolFuncationConfigService create(Throwable throwable) { - log.error("RemoteEduSchoolFuncationConfigService fallback reason:{}", throwable.getMessage()); - - return new RemoteEduSchoolFuncationConfigService() { - - @Override - public ResultBean> getSchoolFunctionConfigListByCondition() { - return null; - } - - @Override - public ResultBean checkSchoolFunctionCode(Long schoolId, String code) { - return null; - } - - - }; - } -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/smart/RemoteSmartWelcomeServiceFallback.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/smart/RemoteSmartWelcomeServiceFallback.java deleted file mode 100644 index e23cddf..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/fallback/smart/RemoteSmartWelcomeServiceFallback.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.yida.data.school.fallback.smart; - -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelation; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStep; -import com.yida.data.school.feign.smart.RemoteSmartWelcomeService; -import com.yida.data.school.feign.transaction.RemoteProductOrderService; -import feign.hystrix.FallbackFactory; -import lombok.extern.slf4j.Slf4j; - -import java.util.List; - -/** - * RemoteSmartWelcomeService fallback处理类 - * - * @author ZYJ - * @date 2023/5/17 - */ -@Slf4j -@Fallback -public class RemoteSmartWelcomeServiceFallback implements FallbackFactory { - - @Override - public RemoteSmartWelcomeService create(Throwable throwable) { - log.error("RemoteSmartWelcomeService fallback reason:{}", throwable.getMessage()); - - return new RemoteSmartWelcomeService() { - - @Override - public ResultBean getOpenIdRelation(String openId, Long deptId) { - return null; - } - - @Override - public ResultBean> listStepInfo(Long relationId, Long guideId) { - return null; - } - - @Override - public ResultBean updateGuideRosterOrderStatus() { - return null; - } - }; - } -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/facility/RemoteDormitoryService.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/facility/RemoteDormitoryService.java index d5392d2..9028158 100644 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/facility/RemoteDormitoryService.java +++ b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/facility/RemoteDormitoryService.java @@ -3,7 +3,6 @@ package com.yida.data.school.feign.facility; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.constant.FebsServerConstant; import com.yida.data.common.core.entity.school.EduDormitory; -import com.yida.data.common.core.entity.school.EduDormitoryMaster; import com.yida.data.common.core.entity.school.EduDormitoryRoom; import com.yida.data.school.dto.index.EditPersonNumDTO; import com.yida.data.school.dto.index.ListDormRoomDTO; @@ -18,7 +17,7 @@ import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @FeignClient(value = FebsServerConstant.EDU_SCHOOL, contextId = "dormitoryServiceClient", - fallbackFactory = RemoteDormitoryServiceFallback.class) + fallbackFactory = RemoteDormitoryServiceFallback.class) public interface RemoteDormitoryService { /** @@ -37,9 +36,6 @@ public interface RemoteDormitoryService { @PostMapping("/facility/dormRoom/listDormRoom") ResultBean> listDormRoom(@RequestBody ListDormRoomDTO dto); - @PostMapping("/in/facility/dormRoom/listDormRoom") - ResultBean> listDormRoomNoAuth(@RequestBody ListDormRoomDTO dto); - /** * 查询寝室 * @@ -66,7 +62,7 @@ public interface RemoteDormitoryService { */ @GetMapping("/facility/dormRoom/getDormRoomByNameAndDorm") ResultBean getDormRoomByNameAndDorm(@RequestParam("name") String name, - @RequestParam("dormId") Long dormId); + @RequestParam("dormId") Long dormId); /** * 根据名称查询宿舍 @@ -76,7 +72,7 @@ public interface RemoteDormitoryService { */ @GetMapping("/facility/dorm/getDormByName") ResultBean getDormByName(@RequestParam("name") String name, - @RequestParam("schoolId") Long schoolId); + @RequestParam("schoolId") Long schoolId); /** * 修改寝室入住的人数 @@ -86,14 +82,6 @@ public interface RemoteDormitoryService { @PostMapping("/facility/dormRoom/editPersonNum") ResultBean editPersonNum(@RequestBody List dtos); - /** - * 修改寝室入住的人数 - * - * @return - */ - @PostMapping("in/facility/dormRoom/editPersonNum") - ResultBean editPersonNumNoPermission(@RequestBody List dtos); - /** * 获取宿舍 * @@ -113,8 +101,4 @@ public interface RemoteDormitoryService { */ @GetMapping("/in/facility/dorm/getDorm") ResultBean getDormNoPermission(@RequestParam("id") Long id); - - @GetMapping("/in/facility/dorm/getDormListBySchoolId") - ResultBean> getDormBySchoolId(@RequestParam("schoolId") Long schoolId); - } diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/index/RemoteDeptHomeIndexService.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/index/RemoteDeptHomeIndexService.java deleted file mode 100644 index 7dacde0..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/index/RemoteDeptHomeIndexService.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.yida.data.school.feign.index; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import com.yida.data.common.core.entity.school.EduDeptHomeApp; -import com.yida.data.school.dto.leave.ListStudentRequestDetailDTO; -import com.yida.data.school.dto.userLeave.ListUserRequestDTO; -import com.yida.data.school.fallback.index.RemoteDeptHomeInfoServiceFallback; -import com.yida.data.school.fallback.leave.RemoteLeaveRequestServiceFallback; -import com.yida.data.school.vo.userLeave.EduLeaveRequestUserVO; -import java.util.List; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestParam; - -@FeignClient(value = FebsServerConstant.EDU_SCHOOL, contextId = "deptHomeIndexServiceClient", - fallbackFactory = RemoteDeptHomeInfoServiceFallback.class) -public interface RemoteDeptHomeIndexService { - - /** - * 查询学校对应的小程序 - */ - @GetMapping("/in/index/home/getDeptAppList") - ResultBean> getDeptAppList(@RequestParam Long schoolId); - -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/leave/RemoteLeaveRequestService.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/leave/RemoteLeaveRequestService.java index 1ef904f..cf2edff 100644 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/leave/RemoteLeaveRequestService.java +++ b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/leave/RemoteLeaveRequestService.java @@ -3,10 +3,7 @@ package com.yida.data.school.feign.leave; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.constant.FebsServerConstant; import com.yida.data.school.dto.leave.ListStudentRequestDetailDTO; -import com.yida.data.school.dto.userLeave.ListUserRequestDTO; import com.yida.data.school.fallback.leave.RemoteLeaveRequestServiceFallback; -import com.yida.data.school.vo.userLeave.EduLeaveRequestUserVO; -import java.util.List; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; @@ -14,7 +11,7 @@ import org.springframework.web.bind.annotation.PostMapping; * @author ccl */ @FeignClient(value = FebsServerConstant.EDU_SCHOOL, contextId = "leaveRequestServiceClient", - fallbackFactory = RemoteLeaveRequestServiceFallback.class) + fallbackFactory = RemoteLeaveRequestServiceFallback.class) public interface RemoteLeaveRequestService { /** @@ -25,12 +22,4 @@ public interface RemoteLeaveRequestService { */ @PostMapping("/in/request/leaveRequest/existRequest") ResultBean existRequest(ListStudentRequestDetailDTO dto); - - /** - * @param dto - * @return - */ - @PostMapping("/in/eduLeaveRequestUser/findList") - ResultBean> findList(ListUserRequestDTO dto); - } diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/schoolConfig/RemoteEduSchoolFuncationConfigService.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/schoolConfig/RemoteEduSchoolFuncationConfigService.java deleted file mode 100644 index c618304..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/schoolConfig/RemoteEduSchoolFuncationConfigService.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.yida.data.school.feign.schoolConfig; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import com.yida.data.common.core.entity.school.EduSchoolFunctionConfig; -import com.yida.data.school.fallback.schoolConfig.RemoteEduSchoolFuncationConfigServiceFallback; -import java.util.List; -import org.apache.ibatis.annotations.Param; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; - -@FeignClient(value = FebsServerConstant.EDU_SCHOOL, contextId = "RemoteEduSchoolFuncationConfigServiceClient", - fallbackFactory = RemoteEduSchoolFuncationConfigServiceFallback.class) -public interface RemoteEduSchoolFuncationConfigService { - - - /** - * 查询学校关键功能点配置 - * - * @param - * @return - */ - @GetMapping("/in/schoolFunctionConfig/getSchoolFunctionConfigListByCondition") - ResultBean> getSchoolFunctionConfigListByCondition(); - - - /** - * 查询学校关键功能点配置 - * - * @param - * @return - */ - @GetMapping("/in/schoolFunctionConfig/checkSchoolFuncationCode") - ResultBean checkSchoolFunctionCode(@RequestParam("schoolId") Long schoolId, @RequestParam("code") String code); -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/smart/RemoteSmartWelcomeService.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/smart/RemoteSmartWelcomeService.java deleted file mode 100644 index a23352d..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/feign/smart/RemoteSmartWelcomeService.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.yida.data.school.feign.smart; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelation; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStep; -import com.yida.data.school.fallback.smart.RemoteSmartWelcomeServiceFallback; -import com.yida.data.school.fallback.transaction.RemoteProductOrderServiceFallback; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; - -import java.util.List; - -/** - * RemoteSmartWelcomeService远程接口 - * - * @author ZYJ - * @date 2023/5/17 - */ -@FeignClient(value = FebsServerConstant.EDU_SCHOOL, contextId = "smartWelcomeServiceClient", - fallbackFactory = RemoteSmartWelcomeServiceFallback.class) -public interface RemoteSmartWelcomeService { - - /** - * 查询openId是否绑定了对应的信息 - * - * @param openId 微信openId - * @param deptId 学校id - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2023/5/17 15:12 - */ - @GetMapping("/in/eduSmartWelcome/getOpenIdRelation") - ResultBean getOpenIdRelation(@RequestParam String openId, - @RequestParam Long deptId); - - /** - * 查询人员步骤信息 - * - * @param relationId 绑定关系id - * @param guideId 指南id - * @return com.yida.data.common.core.common.ResultBean> - * @author ZYJ - * @date 2023/5/19 15:43 - */ - @GetMapping("/in/eduSmartWelcome/listStepInfo") - ResultBean> listStepInfo(@RequestParam Long relationId, - @RequestParam Long guideId); - - /** - * 更新超时迎新订单状态 - * - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2023/6/21 13:41 - */ - @GetMapping("/in/eduGuideStepOrder/updateGuideRosterOrderStatus") - ResultBean updateGuideRosterOrderStatus(); -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/classCall/ClassCallPushConfigPageInfoVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/classCall/ClassCallPushConfigPageInfoVO.java deleted file mode 100644 index 6e5722e..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/classCall/ClassCallPushConfigPageInfoVO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yida.data.school.vo.classCall; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import lombok.Data; - -@Data -@ApiModel("点名消息推送配置分页查询信息") -public class ClassCallPushConfigPageInfoVO { - - @ApiModelProperty("课表id") - private Long id; - - @ApiModelProperty("课表名称") - private String name; - - @ApiModelProperty("校区") - private String districtName; - - @ApiModelProperty("年级id") - private Long gradeId; - - @ApiModelProperty("年级") - private String gradeName; - - @ApiModelProperty("学期") - private String semesterName; - - @ApiModelProperty("使用状态,0-使用,1-停用") - private String status; - - @ApiModelProperty("创建时间") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/index/HomeInfoVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/index/HomeInfoVO.java index 585efdd..0eac9db 100644 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/index/HomeInfoVO.java +++ b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/index/HomeInfoVO.java @@ -1,7 +1,6 @@ package com.yida.data.school.vo.index; import com.yida.data.common.core.entity.home.EduHomeFunction; -import com.yida.data.common.core.entity.school.EduDeptHomeApp; import com.yida.data.common.core.entity.school.EduSchoolHomeAnnouncement; import com.yida.data.common.core.entity.school.EduSchoolHomeApp; import com.yida.data.common.core.entity.school.EduSchoolHomeCover; @@ -40,6 +39,4 @@ public class HomeInfoVO { private EduSchoolHomeNews news; private Integer deptType; - @ApiModelProperty("关联小程序List:新版") - private List eduDeptHomeAppList; } diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/index/ManuscriptPageInfoVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/index/ManuscriptPageInfoVO.java index 189b871..8287cf4 100644 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/index/ManuscriptPageInfoVO.java +++ b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/index/ManuscriptPageInfoVO.java @@ -11,6 +11,7 @@ import lombok.Data; @ApiModel("稿件分页信息") @Data public class ManuscriptPageInfoVO { + private Long id; @ApiModelProperty("标题") @@ -41,4 +42,7 @@ public class ManuscriptPageInfoVO { @ApiModelProperty("标签:以逗号分隔") private String labels; + + @ApiModelProperty("状态") + private Integer status; } diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/news/SchoolNoticePageVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/news/SchoolNoticePageVO.java index b2a12d9..273bcdf 100644 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/news/SchoolNoticePageVO.java +++ b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/news/SchoolNoticePageVO.java @@ -13,7 +13,6 @@ import lombok.Data; @Data @ApiModel("分页查询数据") public class SchoolNoticePageVO { - private Long id; @ApiModelProperty("发送时间") @@ -24,9 +23,6 @@ public class SchoolNoticePageVO { @ApiModelProperty("标题") private String title; - @ApiModelProperty("作者") - private String author; - @ApiModelProperty("描述") private String description; diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/screen/SchoolDashboardInfoVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/screen/SchoolDashboardInfoVO.java deleted file mode 100644 index b6a3703..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/screen/SchoolDashboardInfoVO.java +++ /dev/null @@ -1,130 +0,0 @@ -package com.yida.data.school.vo.screen; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.entity.screen.EduSchoolDashboardDataBase; -import com.yida.data.common.core.entity.screen.EduSchoolDashboardDataTeacher; -import com.yida.data.school.dto.screen.SchoolDashboardBaseSaveDTO; -import com.yida.data.school.dto.screen.SchoolDashboardTeacherSaveDTO; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDate; -import java.util.List; - -/** - * 校园大数据详情返回数据 - * - * @author ZYJ - * @date 2021/12/24 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "SchoolDashboardInfoVO", description = "校园大数据详情返回数据") -public class SchoolDashboardInfoVO implements Serializable { - - private static final long serialVersionUID = -6252907885213608870L; - - @ApiModelProperty(value = "主键") - private Long id; - - @ApiModelProperty(value = "学校id") - private Long schoolId; - - @ApiModelProperty(value = "大屏名称") - private String title; - - @ApiModelProperty(value = "学校logo地址") - private String headerUrl; - - @ApiModelProperty(value = "模板类型1:单页,2双页,3.。。") - private Integer modeType; - - @ApiModelProperty(value = "所属区域") - private String area; - - @ApiModelProperty(value = "地址") - private String address; - - @ApiModelProperty(value = "学校创建时间") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate schoolCreateDate; - - @ApiModelProperty(value = "学校占地面积") - private Integer schoolArea; - - @ApiModelProperty(value = "主管部门") - private String competentDepartment; - - @ApiModelProperty(value = "办学类型") - private String eduType; - - @ApiModelProperty(value = "院校特色") - private String eduFeature; - - @ApiModelProperty(value = "院校类型") - private String institutionType; - - @ApiModelProperty(value = "硕士点") - private Integer masterNum; - - @ApiModelProperty(value = "博士点") - private Integer doctorNum; - - @ApiModelProperty(value = "重点学科数") - private Integer keyDisciplinesNum; - - @ApiModelProperty(value = "科研项目数") - private Integer researchProjectNum; - - @ApiModelProperty(value = "学校简介") - private String eduIntroduction; - - @ApiModelProperty(value = "办学理念") - private String eduPhilosophy; - - @ApiModelProperty(value = "办学使命") - private String eduMission; - - @ApiModelProperty(value = "办学校训") - private String eduMotto; - - @ApiModelProperty(value = "校园风采") - private String campusStyle; - - @ApiModelProperty(value = "官方电话") - private String telephone; - - @ApiModelProperty(value = "教师人数") - private Integer teacherNum; - - @ApiModelProperty(value = "院系数量") - private Integer departmentNum; - - @ApiModelProperty(value = "一级学科数量") - private Integer firstLevelDisciplineNum; - - @ApiModelProperty(value = "二级学科数量") - private Integer secondaryDisciplineNum; - - @ApiModelProperty(value = "班级数") - private Integer classNum; - - @ApiModelProperty(value = "学生人数") - private Integer studentNum; - - @ApiModelProperty(value = "基础建设集合") - private List baseList; - - @ApiModelProperty(value = "师资力量集合") - private List teacherList; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/ClassFixImportVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/ClassFixImportVO.java deleted file mode 100644 index 55eae30..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/ClassFixImportVO.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.yida.data.school.vo.smart; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.List; - -/** - * Excel职工信息导入类 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "ClassFixImportDTO", description = "Excel固定班级学生导入类") -public class ClassFixImportVO implements Serializable { - - private static final long serialVersionUID = -3772088981386664273L; - - /** - * 身份证号 - */ - @ApiModelProperty(value = "错误数据LIST-身份证号") - private List errorIdNumberList; - - - private List fixImportVOList; - - - @Data - public class FixImportVO { - - /** - * 校区 - */ - @ApiModelProperty(value = "校区") - private Long campusId; - - /** - * 校区 - */ - @ApiModelProperty(value = "校区") - private String campusName; - - /** - * 学段 - */ - @ApiModelProperty(value = "学段") - private Long sectionId; - - /** - * 学段 - */ - @ApiModelProperty(value = "学段") - private String sectionName; - - /** - * 年级 - */ - @ApiModelProperty(value = "年级") - private Long gradeId; - - /** - * 年级 - */ - @ApiModelProperty(value = "年级") - private String gradeName; - - /** - * 班级 - */ - @ApiModelProperty(value = "班级") - private Long classId; - - /** - * 班级 - */ - @ApiModelProperty(value = "班级") - private String className; - - /** - * 姓名 - */ - @ApiModelProperty(value = "姓名") - private Long rosterId; - - /** - * 姓名 - */ - @ApiModelProperty(value = "姓名") - private String rosterName; - - - /** - * 身份证号 - */ - @ApiModelProperty(value = "身份证号") - private String idNumber; - } - - -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/ClassImportVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/ClassImportVO.java deleted file mode 100644 index 9eebaa7..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/ClassImportVO.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.yida.data.school.vo.smart; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * Excel职工信息导入类 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "ClassImportDTO", description = "Excel预选班级导入类") -public class ClassImportVO implements Serializable { - - - private static final long serialVersionUID = -5111122101235379190L; - /** - * 校区 - */ - @ApiModelProperty(value = "校区") - private Long campusId; - - /** - * 校区 - */ - @ApiModelProperty(value = "校区") - private String campusName; - - /** - * 学段 - */ - @ApiModelProperty(value = "学段") - private Long sectionId; - - /** - * 学段 - */ - @ApiModelProperty(value = "学段") - private String sectionName; - - /** - * 年级 - */ - @ApiModelProperty(value = "年级") - private Long gradeId; - - /** - * 年级 - */ - @ApiModelProperty(value = "年级") - private String gradeName; - - /** - * 班级 - */ - @ApiModelProperty(value = "班级") - private Long classId; - - /** - * 班级 - */ - @ApiModelProperty(value = "班级") - private String className; - - - /** - * 系部 - */ - @ApiModelProperty(value = "系部") - private Long departmentId; - - - /** - * 系部 - */ - @ApiModelProperty(value = "系部") - private String departmentName; - - /** - * 专业 - */ - @ApiModelProperty(value = "专业") - private Long majorId; - - - /** - * 专业 - */ - @ApiModelProperty(value = "专业") - private String majorName; - - /** - * 预设人数 - */ - @ApiModelProperty(value = "预设人数") - private Integer number; - - - /** - * 男生占比 - */ - @ApiModelProperty(value = "男生占比") - private Integer male; - - /** - * 女生占比 - */ - @ApiModelProperty(value = "女生占比") - private Integer female; - -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/DormImportFixVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/DormImportFixVO.java deleted file mode 100644 index ad6428d..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/DormImportFixVO.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.yida.data.school.vo.smart; - -import com.yida.data.school.vo.smart.ClassFixImportVO.FixImportVO; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * Excel职工信息导入类 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "DormImportDTO", description = "Excel预选宿舍导入类") -public class DormImportFixVO implements Serializable { - - /** - * 身份证号 - */ - @ApiModelProperty(value = "错误数据LIST-身份证号") - private List errorIdNumberList; - - - private List fixImportVOList; - - - @Data - public class FixImportVO { - - /** - * 花名册ID - */ - @ApiModelProperty(value = "花名册ID") - private Long rosterId; - - /** - * 花名册ID - */ - @ApiModelProperty(value = "花名册姓名") - private String rosterName; - - /** - * 身份证号 - */ - @ApiModelProperty(value = "身份证号") - private String idNumber; - - /** - * 宿舍楼 - */ - @ApiModelProperty(value = "宿舍楼") - private String dormName; - - /** - * 宿舍楼 - */ - @ApiModelProperty(value = "宿舍楼") - private Long dormId; - - /** - * 寝室号 - */ - @ApiModelProperty(value = "宿舍号") - private String dormRoomName; - /** - * 寝室号 - */ - @ApiModelProperty(value = "宿舍号") - private Long dormRoomId; - - } - -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/DormImportVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/DormImportVO.java deleted file mode 100644 index 2ea5030..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/DormImportVO.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.yida.data.school.vo.smart; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * Excel职工信息导入类 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "DormImportDTO", description = "Excel预选宿舍导入类") -public class DormImportVO implements Serializable { - - private static final long serialVersionUID = -7185619098630344263L; - /** - * 系部 - */ - @ApiModelProperty(value = "系部") - private Long departmentId; - - /** - * 系部 - */ - @ApiModelProperty(value = "系部") - private String departmentName; - - /** - * 专业 - */ - @ApiModelProperty(value = "专业") - private Long majorId; - - /** - * 专业 - */ - @ApiModelProperty(value = "专业") - private String majorName; - - /** - * 宿舍楼 - */ - @ApiModelProperty(value = "宿舍楼") - private String dormName; - - /** - * 宿舍楼 - */ - @ApiModelProperty(value = "宿舍楼") - private Long dormId; - - /** - * 寝室号 - */ - @ApiModelProperty(value = "宿舍号") - private String dormRoomName; - /** - * 寝室号 - */ - @ApiModelProperty(value = "宿舍号") - private Long dormRoomId; - - /** - * 性别 - */ - @ApiModelProperty(value = "性别,0男1女") - private Integer gender; - - /** - * 人数 - */ - @ApiModelProperty(value = "人数") - private String realNumber; - -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/ExportRosterDataVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/ExportRosterDataVO.java deleted file mode 100644 index ada6495..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/ExportRosterDataVO.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.yida.data.school.vo.smart; - -import com.yida.data.common.core.enums.FileDealStatusEnum; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 下载花名册情况-实体 - * - * @author ZYJ - * @date 2023-06-12 - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class ExportRosterDataVO implements Serializable { - - private static final long serialVersionUID = 5078408929378786595L; - - @ApiModelProperty("本次操作标识") - private String key; - - @ApiModelProperty("进度 0-100") - private Integer percent; - - /** - * {@link FileDealStatusEnum} - */ - @ApiModelProperty("导出状态") - private Integer exportStatus; - - @ApiModelProperty("下载总数") - private Integer totalNum; - - @ApiModelProperty("当前下载到第几个") - private Integer currentNum; - - @ApiModelProperty("文件路径") - private String filePath; -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideInfoVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideInfoVO.java deleted file mode 100644 index 099109e..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideInfoVO.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.yida.data.school.vo.smart; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStep; -import com.yida.data.common.core.enums.BillStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotEmpty; -import java.io.Serializable; -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.util.List; - -/** - * 迎新指南详情返回数据 - * - * @author ZYJ - * @date 2023/5/15 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "GuideInfoVO", description = "迎新指南详情返回数据") -public class GuideInfoVO implements Serializable { - - private static final long serialVersionUID = 1323061977795150232L; - - @ApiModelProperty("指南id") - private Long id; - - @ApiModelProperty("创建时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - @ApiModelProperty("指南标题") - private String guideTitle; - - @ApiModelProperty(value = "指南前言") - private String guideForeword; - - @ApiModelProperty("启用状态(一个学校只能有一个启用的指南). 0:未启用,1:已启用") - private Integer enableStatus; - - @ApiModelProperty(value = "是否启用自动生成二维码状态. 0:未启用,1:已启用") - private Integer qrCodeEnableStatus; - - @ApiModelProperty(value = "没有二维码时的提示") - private String qrCodeNoticeMessage; - - @ApiModelProperty("步骤集合") - private List stepList; - - @ApiModelProperty(value = "资料上报字段,多个以英文逗号分隔") - private String formField; - - @ApiModelProperty(value = "缴费金额") - private BigDecimal money; - - @ApiModelProperty(value = "是否启用二维码缴费. 0未启用,1启用") - private Integer moneyStatus; - - @ApiModelProperty(value = "学区id") - private Long campusId; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideRosterInfoVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideRosterInfoVO.java deleted file mode 100644 index 382aecf..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideRosterInfoVO.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.yida.data.school.vo.smart; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStep; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.List; - -/** - * 指南花名册详情返回数据 - * - * @author ZYJ - * @date 2021/12/30 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "GuideRosterInfoVO", description = "指南花名册详情返回数据") -public class GuideRosterInfoVO implements Serializable { - - private static final long serialVersionUID = 8505121253286253299L; - - @ApiModelProperty("花名册id") - private Long rosterId; - - @ApiModelProperty(value = "毕业院校") - private String graduateSchool; - - @ApiModelProperty(value = "姓名") - private String fullName; - - @ApiModelProperty(value = "身份证号码") - private String idNumber; - - @ApiModelProperty(value = "录取专业") - private String admittedMajor; - - @ApiModelProperty("报到时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime checkInTime; - - @ApiModelProperty("头像") - private String avatar; - - @ApiModelProperty(value = "性别. 0-男,1-女") - private Integer sex; - - @ApiModelProperty("步骤信息") - private List stepList; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideRosterSelectPageVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideRosterSelectPageVO.java deleted file mode 100644 index 3aa5ee8..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideRosterSelectPageVO.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.yida.data.school.vo.smart; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.enums.RegistrationStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 指南花名册返回数据 - * - * @author ZYJ - * @date 2021/12/30 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "GuideRosterSelectPageVO", description = "指南花名册返回数据") -public class GuideRosterSelectPageVO implements Serializable { - - private static final long serialVersionUID = -2482210113912005941L; - - @ApiModelProperty("花名册id") - private Long rosterId; - - @ApiModelProperty(value = "毕业院校") - private String graduateSchool; - - @ApiModelProperty(value = "姓名") - private String fullName; - - @ApiModelProperty(value = "身份证号码") - private String idNumber; - - @ApiModelProperty(value = "录取专业") - private String admittedMajor; - - @ApiModelProperty("报到时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime checkInTime; - - @ApiModelProperty(value = "二维码地址") - private String qrCodeUrl; - - /** - * {@link RegistrationStatusEnum} - */ - @ApiModelProperty(value = "报到状态. 0-未报到,1-报到成功(全部步骤通过)") - private Integer registrationStatus; - - @ApiModelProperty(value = "宿舍楼") - private String dormitory; - - @ApiModelProperty(value = "宿舍号") - private String dormitoryRoom; - - @ApiModelProperty(value = "校区") - private String campusName; - - @ApiModelProperty(value = "系部") - private String sectionName; - @ApiModelProperty(value = "年级") - private String gradeName; - @ApiModelProperty(value = "年级") - private String className; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideSelectPageVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideSelectPageVO.java deleted file mode 100644 index 28982c0..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideSelectPageVO.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.yida.data.school.vo.smart; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 迎新指南后台列表返回数据 - * - * @author ZYJ - * @date 2023/5/15 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "GuideSelectPageVO", description = "迎新指南后台列表返回数据") -public class GuideSelectPageVO implements Serializable { - - private static final long serialVersionUID = -4164845998590719742L; - - @ApiModelProperty("指南id") - private Long id; - - @ApiModelProperty("创建时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - @ApiModelProperty("指南标题") - private String guideTitle; - - @ApiModelProperty("启用状态(一个学校只能有一个启用的指南). 0:未启用,1:已启用") - private Integer enableStatus; - - @ApiModelProperty(value = "最后一次启用时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime lastEnableDate; - - @ApiModelProperty("花名册总人数") - private Long totalNumber; - - @ApiModelProperty("报名成功人数") - private Long completeNumber; - - @ApiModelProperty(value = "是否启用自动生成二维码状态. 0:未启用,1:已启用") - private Integer qrCodeEnableStatus; - - @ApiModelProperty(value = "没有二维码时的提示") - private String qrCodeNoticeMessage; - - @ApiModelProperty("校区id") - private Long campusId; - - @ApiModelProperty("校区名称") - private String campusName; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideStepColVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideStepColVO.java deleted file mode 100644 index 8836133..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/GuideStepColVO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.yida.data.school.vo.smart; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 迎新指南花名册表头返回数据 - * - * @author ZYJ - * @date 2023/5/23 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "GuideStepColVO", description = "迎新指南花名册表头返回数据") -public class GuideStepColVO implements Serializable { - - private static final long serialVersionUID = 6687262239147344982L; - - @ApiModelProperty("步骤id") - private Long id; - - @ApiModelProperty("步骤名称") - private String stepName; - - @ApiModelProperty("步骤类型") - private Integer stepType; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/ImportRosterDataVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/ImportRosterDataVO.java deleted file mode 100644 index 56e33ac..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/ImportRosterDataVO.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.yida.data.school.vo.smart; - -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 导入花名册情况-实体 - * - * @author ZYJ - * @date 2023-06-12 - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class ImportRosterDataVO implements Serializable { - - private static final long serialVersionUID = -6388906950409396682L; - - @ApiModelProperty("本次操作标识") - private String key; - - @ApiModelProperty("进度 0-100") - private Integer percent; - - @ApiModelProperty("是否下载完成,0-否,1-是") - private Integer finish; - - @ApiModelProperty("错误文件路径") - private String filePath; -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/StatisticsGuideRosterVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/StatisticsGuideRosterVO.java deleted file mode 100644 index 5a00293..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/StatisticsGuideRosterVO.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.yida.data.school.vo.smart; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 迎新指南花名册统计信息 - * - * @author ZYJ - * @date 2023/8/28 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "StatisticsGuideRosterVO", description = "迎新指南花名册统计信息") -public class StatisticsGuideRosterVO implements Serializable { - - private static final long serialVersionUID = 8889668433802480660L; - - @ApiModelProperty("卡片名称") - private String cardName; - - @ApiModelProperty("总数量") - private Integer totalNumber; - - @ApiModelProperty("执行数量") - private Integer executeNumber; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/WelcomeImportProgress.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/WelcomeImportProgress.java deleted file mode 100644 index 5a77b83..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/WelcomeImportProgress.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.yida.data.school.vo.smart; - -import com.yida.data.common.core.enums.FileDealStatusEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * Excel职工信息导入类 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "WelcomImportProgress", description = "Excel预选班级导入进度类") -public class WelcomeImportProgress implements Serializable { - - private static final long serialVersionUID = -8812791024900293183L; - @ApiModelProperty(value = "本次导入KEY指") - private String importKey; - /** - * {@link FileDealStatusEnum} - */ - @ApiModelProperty("导出状态") - private Integer importStatus = 0; - @ApiModelProperty(value = "总数,默认100") - private Integer total = 100; - @ApiModelProperty(value = "当前处理数据,默认0") - private Integer current = 0; - @ApiModelProperty(value = "返回数据LIST") - private List dataList; - @ApiModelProperty(value = "错误数据下载地址,若为null,表示无错误数据") - private String errorPath; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/WxConfigVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/WxConfigVO.java deleted file mode 100644 index 349da6e..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/WxConfigVO.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.yida.data.school.vo.smart; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 微信js配置信息 - * - * @author ZYJ - * @date 2023/6/5 14:19 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "WxConfigVO", description = "微信js配置信息") -public class WxConfigVO implements Serializable { - - private static final long serialVersionUID = -4691293726173736995L; - - @ApiModelProperty("公众号的唯一标识") - private String appId; - - @ApiModelProperty("生成签名的时间戳") - private String timestamp; - - @ApiModelProperty("生成签名的随机串") - private String nonceStr; - - @ApiModelProperty("签名") - private String signature; -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/h5/GuideStepOrderRosterCacheVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/h5/GuideStepOrderRosterCacheVO.java deleted file mode 100644 index e219272..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/h5/GuideStepOrderRosterCacheVO.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.yida.data.school.vo.smart.h5; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 花名册迎新订单缓存类 - * - * @author ZYJ - * @date 2023/6/20 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "GuideStepOrderRosterCacheVO", description = "花名册迎新订单缓存类") -public class GuideStepOrderRosterCacheVO implements Serializable { - - private static final long serialVersionUID = -2020113248907832940L; - - @ApiModelProperty("指南id") - private Long guideId; - - @ApiModelProperty("步骤id") - private Long stepId; - - @ApiModelProperty("关联关系id") - private Long relationId; - - @ApiModelProperty("学校id") - private Long deptId; - - @ApiModelProperty("订单号") - private String orderNo; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/h5/RosterFaceMatchVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/h5/RosterFaceMatchVO.java deleted file mode 100644 index ba126d4..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/h5/RosterFaceMatchVO.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.yida.data.school.vo.smart.h5; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 花名册人脸对比返回类 - * - * @author ZYJ - * @date 2023/6/21 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "RosterFaceMatchVO", description = "花名册人脸对比返回类") -public class RosterFaceMatchVO implements Serializable { - - private static final long serialVersionUID = 1474013091202762132L; - - @ApiModelProperty("0-对比成功,1-对比不成功") - private Integer valid; - - @ApiModelProperty("对比分数") - private String score; - - @ApiModelProperty("对比成功的图片") - private String url; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/h5/RosterStepPayInfoVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/h5/RosterStepPayInfoVO.java deleted file mode 100644 index 62ae386..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/smart/h5/RosterStepPayInfoVO.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.yida.data.school.vo.smart.h5; - -import com.yida.data.common.core.enums.PayWay; -import com.yida.data.common.core.enums.UnionPayTypeEnum; -import com.yida.data.common.core.enums.WxPayTypeEnum; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 生成花名册步骤订单返回信息 - * - * @author ZYJ - * @date 2023/6/19 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "RosterStepPayInfoVO", description = "生成花名册步骤订单返回信息") -public class RosterStepPayInfoVO implements Serializable { - - private static final long serialVersionUID = 8825620519104393894L; - - @ApiModelProperty("订单号") - private String orderCode; - - @ApiModelProperty("是否需要跳转支付") - private Boolean needToPay; - - /** - * 支付方式 - * {@link PayWay} - */ - @ApiModelProperty("支付方式") - private String payWay; - - /** - * 支付类型 - * 银联云闪付: {@link UnionPayTypeEnum} - * 微信类型: {@link WxPayTypeEnum} - */ - @ApiModelProperty("具体支付子类型") - private Integer payType; - - @ApiModelProperty("支付地址") - private String payUrl; -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/transcation/DownStudentBuyDataVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/transcation/DownStudentBuyDataVO.java deleted file mode 100644 index 7cc88b9..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/transcation/DownStudentBuyDataVO.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.yida.data.school.vo.transcation; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 下载商品购买情况-实体 - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class DownStudentBuyDataVO { - - @ApiModelProperty("本次操作标识") - private String key; - - @ApiModelProperty("进度 0-100") - private Integer percent; - - @ApiModelProperty("是否下载完成,0-否,1-是") - private Integer finish; - - @ApiModelProperty("下载总数") - private Integer totalNum; - - @ApiModelProperty("当前下载到第几个") - private Integer currentNum; - - @ApiModelProperty("文件路径") - private String filePath; -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/transcation/EduProductBuyStudentVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/transcation/EduProductBuyStudentVO.java deleted file mode 100644 index 08d98b4..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/transcation/EduProductBuyStudentVO.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.yida.data.school.vo.transcation; - - -import com.alibaba.excel.annotation.ExcelProperty; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.entity.EasyExcelExportBaseDTO; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import java.time.LocalDateTime; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * @author chenbo - */ -@Data -public class EduProductBuyStudentVO extends EasyExcelExportBaseDTO implements Serializable { - - @ApiModelProperty("学校ID") - private Long schoolId; - @ExcelProperty(index = 0, value = "学校") - @ApiModelProperty("学校名字") - private String schoolName; - @ExcelProperty(index = 1, value = "校区") - @ApiModelProperty("校区名字") - private String campusName; - @ExcelProperty(index = 2, value = "学段") - @ApiModelProperty("学段") - private String sectionName; - @ExcelProperty(index = 3, value = "年级") - @ApiModelProperty("年级名字") - private String gradeName; - @ExcelProperty(index = 4, value = "班级") - @ApiModelProperty("班级名字") - private String className; - @ApiModelProperty("学生ID") - private Long studentId; - @ExcelProperty(index = 5, value = "姓名") - @ApiModelProperty("学生名字") - private String studentName; - @ExcelProperty(index = 6, value = "学号") - @ApiModelProperty("学生学号") - private String studentNumber; -} diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/userLeave/EduLeaveRequestProcessConfigVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/userLeave/EduLeaveRequestProcessConfigVO.java deleted file mode 100644 index 7160ba4..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/userLeave/EduLeaveRequestProcessConfigVO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.school.vo.userLeave; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfig; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigApplicableDepartments; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigApprovalUser; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigView; -import io.swagger.annotations.ApiModelProperty; -import java.util.List; -import lombok.Data; - -/** - * Entity - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -@Data -public class EduLeaveRequestProcessConfigVO extends EduLeaveRequestProcessConfig { - - /** - * 具体的审核流程 - */ - private List eduLeaveRequestProcessConfigViewList; - - /** - * 适用人员 - */ - private List applicableDepartmentsList; - -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/userLeave/EduLeaveRequestStatisticsVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/userLeave/EduLeaveRequestStatisticsVO.java deleted file mode 100644 index cc36d35..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/userLeave/EduLeaveRequestStatisticsVO.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.school.vo.userLeave; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 请假统计返回类 - * - * @author ZYJ - * @date 2023/12/16 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class EduLeaveRequestStatisticsVO implements Serializable { - - private static final long serialVersionUID = 5765795717989616560L; - - @ApiModelProperty("周统计") - private Long weekNumber; - - @ApiModelProperty("月统计") - private Long monthNumber; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/userLeave/EduLeaveRequestUserVO.java b/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/userLeave/EduLeaveRequestUserVO.java deleted file mode 100644 index 080e836..0000000 --- a/febs-server/edu-school/edu-school-api/src/main/java/com/yida/data/school/vo/userLeave/EduLeaveRequestUserVO.java +++ /dev/null @@ -1,151 +0,0 @@ -package com.yida.data.school.vo.userLeave; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessRecord; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestUserView; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import java.util.List; -import java.util.Map; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * Entity - * - * @author wjm - * @date 2022-12-01 10:51:19 - */ -@Data -public class EduLeaveRequestUserVO { - - /** - * - */ - @ApiModelProperty(value = "") - private Long id; - - /** - * 请假人ID - */ - @ApiModelProperty(value = "请假人ID") - private Long userId; - - /** - * 请假人姓名 - */ - @ApiModelProperty(value = "请假人姓名") - private String userName; - - /** - * 请假人所属部门 - */ - @ApiModelProperty(value = "请假人所属部门") - private String userDeptName; - - /** - * 1:病假,2:事假,0:其他,3年假,4调休假,5婚嫁,6产假,7陪产假 - */ - @ApiModelProperty(value = "1:病假,2:事假,0:其他,3年假,4调休假,5婚嫁,6产假,7陪产假") - private Integer type; - /** - * 0教师请假,1学生请假 - */ - @ApiModelProperty(value = "0教师请假,1学生请假") - private Integer requestType; - - @ApiModelProperty(value = "请假去向") - private String requestFor; - - /** - * 请假理由 - */ - @ApiModelProperty(value = "请假理由") - private String requestReason; - - /** - * 审核不通过原因 - */ - @ApiModelProperty(value = "审核不通过原因") - private String refuseReason; - - /** - * 开始时间 - */ - @ApiModelProperty(value = "开始时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime startTime; - - /** - * 结束时间 - */ - @ApiModelProperty(value = "结束时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime endTime; - - /** - * 审核状态:审核状态:默认0待审核审核,1已通过,2已拒绝,3审核中 - */ - @ApiModelProperty(value = "审核状态:默认0待审核审核,1已通过,2已拒绝,3审核中") - private Integer status; - - /** - * 图片路径,用逗号分割 - */ - @ApiModelProperty(value = "图片路径,用逗号分割") - private String picUrl; - - /** - * - */ - @ApiModelProperty(value = "") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - /** - * - */ - @ApiModelProperty(value = "") - private Long createId; - - /** - * - */ - @ApiModelProperty(value = "") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; - - /** - * - */ - @ApiModelProperty(value = "") - private Long updateId; - - - /** - * 审核流程 - */ - @ApiModelProperty(value = "审核流程") - List eduLeaveRequestUserViewList; - - /** - * 学生信息 - */ - private EduStudent student; - /** - * 职工信息 - */ - private EduStaff staff; -} \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-api/src/main/resources/META-INF/spring.factories b/febs-server/edu-school/edu-school-api/src/main/resources/META-INF/spring.factories index a01d0cd..0a141c4 100644 --- a/febs-server/edu-school/edu-school-api/src/main/resources/META-INF/spring.factories +++ b/febs-server/edu-school/edu-school-api/src/main/resources/META-INF/spring.factories @@ -9,5 +9,5 @@ com.yida.data.school.fallback.news.RemoteNoticeSystemUserServiceFallback,\ com.yida.data.school.fallback.news.RemoteNoticeUpdateServiceFallback,\ com.yida.data.school.fallback.transaction.RemoteProductOrderServiceFallback,\ com.yida.data.school.fallback.transaction.RemoteProductServiceFallback,\ -com.yida.data.school.fallback.visitor.RemoteVisitorServiceFallback,\ -com.yida.data.school.fallback.smart.RemoteSmartWelcomeServiceFallback +com.yida.data.school.fallback.transaction.RemoteStudentApplyServiceFallback,\ +com.yida.data.school.fallback.visitor.RemoteVisitorServiceFallback diff --git a/febs-server/edu-school/edu-school-biz/pom.xml b/febs-server/edu-school/edu-school-biz/pom.xml index 45c854b..ec149d9 100644 --- a/febs-server/edu-school/edu-school-biz/pom.xml +++ b/febs-server/edu-school/edu-school-biz/pom.xml @@ -1,84 +1,78 @@ - - edu-school - com.yida.data.school - 2.2-RELEASE - - 4.0.0 + xmlns="http://maven.apache.org/POM/4.0.0" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + edu-school + com.yida.data.school + 2.2-RELEASE + + 4.0.0 - edu-school-biz - - - com.yida.data.school - edu-school-api - ${febs-cloud.version} - compile - - - com.yida.data.job - febs-server-job-api - ${febs-cloud.version} - compile - - - com.yida.data.device - edu-device-api - ${febs-cloud.version} - compile - - - com.yida.data.system - febs-server-system-api - ${febs-cloud.version} - compile - - - com.yida.data.user - edu-user-api - ${febs-cloud.version} - compile - - - com.yida.data.common - edu-common - ${febs-cloud.version} - compile - - - com.vdurmont - emoji-java - ${emoji.version} - - - com.yida.data.websocket - edu-websocket-api - 2.2-RELEASE - compile - - - com.yida.data.attendance - attendance-api - ${febs-cloud.version} - compile - - + edu-school-biz + + + com.yida.data.school + edu-school-api + ${febs-cloud.version} + compile + + + com.yida.data.job + febs-server-job-api + ${febs-cloud.version} + compile + + + com.yida.data.device + edu-device-api + ${febs-cloud.version} + compile + + + com.yida.data.system + febs-server-system-api + ${febs-cloud.version} + compile + + + com.yida.data.user + edu-user-api + ${febs-cloud.version} + compile + + + com.yida.data.common + edu-common + ${febs-cloud.version} + compile + + + com.vdurmont + emoji-java + ${emoji.version} + + + com.yida.data.websocket + edu-websocket-api + 2.2-RELEASE + compile + + - - 8 - 8 - - - - - org.springframework.boot - spring-boot-maven-plugin - - ../../../febs-jar - - - - + + 8 + 8 + + + + + org.springframework.boot + spring-boot-maven-plugin + + ../../../febs-jar + + + + \ No newline at end of file diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/EduSchoolApplication.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/EduSchoolApplication.java index 8dded13..518653c 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/EduSchoolApplication.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/EduSchoolApplication.java @@ -13,9 +13,11 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.scheduling.annotation.EnableAsync; import cc.mrbird.febs.common.security.starter.annotation.EnableFebsCloudResourceServer; +import org.springframework.transaction.annotation.EnableTransactionManagement; @SpringBootConfiguration @EnableAsync +@EnableTransactionManagement @EnableFeignClients(basePackages = "com.yida.data") @SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class) @EnableFebsCloudResourceServer diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/controller/EduClassCallController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/controller/EduClassCallController.java deleted file mode 100644 index de6664d..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/controller/EduClassCallController.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.yida.data.school.classCall.controller; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.classCall.EduClassCall; -import com.yida.data.common.core.entity.classschedule.EduClassSchedule; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.school.classCall.service.EduClassCallService; -import com.yida.data.school.dto.classCall.ClassCallAddDTO; -import com.yida.data.school.dto.classCall.ClassCallPageDTO; -import com.yida.data.school.dto.classSchedule.ClassSchedulePageDTO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -@Api(tags = "点名系统") -@Slf4j -@Validated -@RestController -@RequestMapping("/classCall") -@RequiredArgsConstructor -public class EduClassCallController { - - private final EduClassCallService eduClassCallService; - - @ApiOperation("保存课堂点名") - @PostMapping("/saveClassCall") - public ResultBean saveClassCall(@RequestBody ClassCallAddDTO dto) { - eduClassCallService.save(dto); - return ResultBean.buildSuccess(); - } - - @ApiOperation("分页查询历史点名") - @PostMapping("/listClassCallPage") - public ResultBean> listClassCallPage(@Validated @RequestBody ClassCallPageDTO dto) { - if (dto.getSchoolId() == null) { - CurrentUser currentUser = FebsUtil.getCurrentUser(); - dto.setSchoolId(currentUser.getDeptId()); - } - return ResultBean.buildSuccess(eduClassCallService.listClassCallPage(dto)); - } - - @ApiOperation("点名详情") - @GetMapping("/detail") - public ResultBean getDetail(@RequestParam Long callId) { - return ResultBean.buildSuccess(eduClassCallService.getDetailById(callId)); - } - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/controller/EduClassCallPushConfigController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/controller/EduClassCallPushConfigController.java deleted file mode 100644 index 6086cb7..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/controller/EduClassCallPushConfigController.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.yida.data.school.classCall.controller; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.classCall.EduClassCall; -import com.yida.data.common.core.entity.classCall.EduClassCallPushConfig; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.school.classCall.service.EduClassCallPushConfigService; -import com.yida.data.school.classCall.service.EduClassCallService; -import com.yida.data.school.dto.classCall.ClassCallAddDTO; -import com.yida.data.school.dto.classSchedule.ClassSchedulePageDTO; -import com.yida.data.school.vo.classSchedule.ClassSchedulePageInfoVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.v3.oas.annotations.parameters.RequestBody; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -@Api(tags = "点名系统-消息推送配置") -@Slf4j -@Validated -@RestController -@RequestMapping("/classCall/config") -@RequiredArgsConstructor -public class EduClassCallPushConfigController { - - private final EduClassCallPushConfigService eduClassCallPushConfigService; - - @ApiOperation("获取配置信息") - @GetMapping("/get") - public ResultBean getEduClassCallPushConfig() { - return ResultBean.buildSuccess(eduClassCallPushConfigService.getBySchoolId()); - } - - @ApiOperation("保存配置信息") - @PostMapping("/add") - public ResultBean addEduClassCallPushConfig(@RequestBody EduClassCallPushConfig config) { - eduClassCallPushConfigService.addConfig(config); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallMapper.java deleted file mode 100644 index 6049246..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallMapper.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.yida.data.school.classCall.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.classCall.EduClassCall; -import com.yida.data.common.core.entity.classschedule.EduClassSchedule; -import com.yida.data.school.dto.classCall.ClassCallPageDTO; -import com.yida.data.school.dto.classSchedule.ClassSchedulePageDTO; -import com.yida.data.school.vo.classSchedule.ClassSchedulePageInfoVO; -import org.apache.ibatis.annotations.Param; - -/** - * 课堂点名 Mapper - */ -public interface EduClassCallMapper extends BaseMapper { - - IPage listClassCallPage(Page page, @Param("dto") ClassCallPageDTO dto); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallPushConfigMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallPushConfigMapper.java deleted file mode 100644 index 7e230ec..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallPushConfigMapper.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.yida.data.school.classCall.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.classCall.EduClassCallPushConfig; - -public interface EduClassCallPushConfigMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallPushConfigProcessMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallPushConfigProcessMapper.java deleted file mode 100644 index 953ab93..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallPushConfigProcessMapper.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.yida.data.school.classCall.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.classCall.EduClassCallPushConfigProcess; - -public interface EduClassCallPushConfigProcessMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallPushConfigProcessStaffMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallPushConfigProcessStaffMapper.java deleted file mode 100644 index e6117f2..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallPushConfigProcessStaffMapper.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.yida.data.school.classCall.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.classCall.EduClassCallPushConfigProcessStaff; - -public interface EduClassCallPushConfigProcessStaffMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallStudentRecordMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallStudentRecordMapper.java deleted file mode 100644 index 7638a72..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/mapper/EduClassCallStudentRecordMapper.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.yida.data.school.classCall.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.classCall.EduClassCallStudentRecord; - -public interface EduClassCallStudentRecordMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallPushConfigProcessService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallPushConfigProcessService.java deleted file mode 100644 index 986569e..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallPushConfigProcessService.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.yida.data.school.classCall.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.classCall.EduClassCallPushConfigProcess; - -public interface EduClassCallPushConfigProcessService extends IService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallPushConfigProcessStaffService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallPushConfigProcessStaffService.java deleted file mode 100644 index f833e90..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallPushConfigProcessStaffService.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.yida.data.school.classCall.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.classCall.EduClassCallPushConfigProcessStaff; - -public interface EduClassCallPushConfigProcessStaffService extends IService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallPushConfigService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallPushConfigService.java deleted file mode 100644 index 2bd8f03..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallPushConfigService.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.yida.data.school.classCall.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.classCall.EduClassCallPushConfig; - -public interface EduClassCallPushConfigService extends IService { - - EduClassCallPushConfig getBySchoolId(); - - void addConfig(EduClassCallPushConfig eduClassCallPushConfig); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallService.java deleted file mode 100644 index 3321520..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallService.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.school.classCall.service; - - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.classCall.EduClassCall; -import com.yida.data.common.core.entity.classschedule.EduClassSchedule; -import com.yida.data.school.dto.classCall.ClassCallAddDTO; -import com.yida.data.school.dto.classCall.ClassCallPageDTO; -import com.yida.data.school.dto.classSchedule.ClassSchedulePageDTO; -import com.yida.data.school.vo.classSchedule.ClassSchedulePageInfoVO; - -/** - * 课堂点名 Service接口 - */ -public interface EduClassCallService extends IService { - - /** - * 分页查询点名记录 - * - * @param dto - * @return - */ - IPage listClassCallPage(ClassCallPageDTO dto); - - void save(ClassCallAddDTO dto); - - EduClassCall getDetailById(Long id); - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallStudentRecordService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallStudentRecordService.java deleted file mode 100644 index f668110..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/EduClassCallStudentRecordService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.yida.data.school.classCall.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.classCall.EduClassCall; -import com.yida.data.common.core.entity.classCall.EduClassCallStudentRecord; -import com.yida.data.school.dto.classCall.ClassCallAddDTO; -import com.yida.data.school.dto.classCall.StudentDTO; -import java.util.List; -import org.springframework.scheduling.annotation.Async; - - -public interface EduClassCallStudentRecordService extends IService { - - @Async - void saveRecord(Long callId, List list); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallPushConfigProcessServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallPushConfigProcessServiceImpl.java deleted file mode 100644 index 4fe1493..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallPushConfigProcessServiceImpl.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.yida.data.school.classCall.service.impl; - - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.classCall.EduClassCallPushConfigProcess; -import com.yida.data.school.classCall.mapper.EduClassCallPushConfigProcessMapper; -import com.yida.data.school.classCall.service.EduClassCallPushConfigProcessService; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - - -@Service -@RequiredArgsConstructor -@Transactional -public class EduClassCallPushConfigProcessServiceImpl extends ServiceImpl - implements EduClassCallPushConfigProcessService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallPushConfigProcessStaffServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallPushConfigProcessStaffServiceImpl.java deleted file mode 100644 index 5c2096a..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallPushConfigProcessStaffServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.yida.data.school.classCall.service.impl; - - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.classCall.EduClassCallPushConfigProcessStaff; -import com.yida.data.school.classCall.mapper.EduClassCallPushConfigProcessStaffMapper; -import com.yida.data.school.classCall.service.EduClassCallPushConfigProcessStaffService; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - - -@Service -@RequiredArgsConstructor -@Transactional -public class EduClassCallPushConfigProcessStaffServiceImpl extends ServiceImpl - implements - EduClassCallPushConfigProcessStaffService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallPushConfigServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallPushConfigServiceImpl.java deleted file mode 100644 index a67aa67..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallPushConfigServiceImpl.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.yida.data.school.classCall.service.impl; - - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.classCall.EduClassCallPushConfig; -import com.yida.data.common.core.entity.classCall.EduClassCallPushConfigProcessStaff; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.school.classCall.mapper.EduClassCallPushConfigMapper; -import com.yida.data.school.classCall.service.EduClassCallPushConfigProcessStaffService; -import com.yida.data.school.classCall.service.EduClassCallPushConfigService; -import java.util.ArrayList; -import java.util.List; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - - -@Service -@RequiredArgsConstructor -@Transactional -public class EduClassCallPushConfigServiceImpl extends ServiceImpl - implements EduClassCallPushConfigService { - - private final EduClassCallPushConfigProcessStaffService eduClassCallPushConfigProcessStaffService; - - @Override - public EduClassCallPushConfig getBySchoolId() { - CurrentUser currentUser = FebsUtil.getCurrentUser(); - List list = list(Wrappers.lambdaQuery(new EduClassCallPushConfig()) - .eq(EduClassCallPushConfig::getSchoolId, currentUser.getDeptId())); - if (CollUtil.isNotEmpty(list)) { - EduClassCallPushConfig eduClassCallPushConfig = list.get(0); - List staffList = eduClassCallPushConfigProcessStaffService - .list(Wrappers.lambdaQuery(new EduClassCallPushConfigProcessStaff()) - .eq(EduClassCallPushConfigProcessStaff::getConfigId, eduClassCallPushConfig.getId())); - eduClassCallPushConfig.setStaffList(staffList); - return eduClassCallPushConfig; - } else { - return new EduClassCallPushConfig(); - } - } - - @Override - public void addConfig(EduClassCallPushConfig eduClassCallPushConfig) { - //保存主体 - saveOrUpdate(eduClassCallPushConfig); - if (ObjectUtil.isNotNull(eduClassCallPushConfig.getId())) { - eduClassCallPushConfigProcessStaffService.remove(Wrappers.lambdaQuery(new EduClassCallPushConfigProcessStaff()) - .eq(EduClassCallPushConfigProcessStaff::getConfigId, eduClassCallPushConfig.getId())); - } - List staffList = new ArrayList<>(); - for (EduClassCallPushConfigProcessStaff eduClassCallPushConfigProcessStaff : eduClassCallPushConfig.getStaffList()) { - eduClassCallPushConfigProcessStaff.setConfigId(eduClassCallPushConfig.getId()); - staffList.add(eduClassCallPushConfigProcessStaff); - } - eduClassCallPushConfigProcessStaffService.saveBatch(staffList); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallServiceImpl.java deleted file mode 100644 index 80bc58d..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallServiceImpl.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.yida.data.school.classCall.service.impl; - - -import static com.yida.data.common.core.entity.constant.CachePrefixConstant.STAFF_DATA; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.classCall.EduClassCall; -import com.yida.data.common.core.entity.classCall.EduClassCallStudentRecord; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.entity.user.EduUserDept; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.common.service.CommonService; -import com.yida.data.school.classCall.mapper.EduClassCallMapper; -import com.yida.data.school.classCall.service.EduClassCallService; -import com.yida.data.school.classCall.service.EduClassCallStudentRecordService; -import com.yida.data.school.dto.classCall.ClassCallAddDTO; -import com.yida.data.school.dto.classCall.ClassCallPageDTO; -import com.yida.data.school.dto.classCall.StudentDTO; -import com.yida.data.system.feign.RemoteDeptService; -import com.yida.data.user.feign.RemoteStaffService; -import com.yida.data.user.feign.RemoteStudentService; -import com.yida.data.user.feign.RemoteTeacherService; -import com.yida.data.user.feign.RemoteUserDeptService; -import java.util.ArrayList; -import java.util.List; -import java.util.stream.Collectors; -import lombok.RequiredArgsConstructor; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 课堂点名 Service实现 - */ -@Service -@RequiredArgsConstructor -@Transactional -public class EduClassCallServiceImpl extends ServiceImpl - implements EduClassCallService { - - private final RemoteUserDeptService remoteUserDeptService; - - private final RemoteStaffService remoteStaffService; - - private final RemoteStudentService remoteStudentService; - - private final RedisService redisService; - - private final CommonService commonService; - - private final EduClassCallStudentRecordService eduClassCallStudentRecordService; - - @Override - public IPage listClassCallPage(ClassCallPageDTO dto) { - return baseMapper.listClassCallPage(dto.toPage(), dto); - } - - @Override - public void save(ClassCallAddDTO dto) { - EduClassCall classCall = new EduClassCall(); - BeanUtils.copyProperties(dto, classCall); - CurrentUser currentUser = FebsUtil.getCurrentUser(); - classCall.setSchoolId(currentUser.getDeptId()); - EduUserDept grade = remoteUserDeptService.getParentByDeptId(dto.getClassId()).getData(); - EduUserDept clazz = commonService.getUserDept(dto.getClassId()); - classCall.setClassName(String.join("/", grade.getDeptName(), clazz.getDeptName())); - classCall - .setAbnormalNumber(dto.getStudentList().stream().filter(s -> s.getStatus() == 0).collect(Collectors.toList()).size()); - classCall - .setStudentNum(dto.getStudentList().size()); - - EduStaff staff = (EduStaff) redisService.hget(STAFF_DATA, dto.getTeacherId().toString()); - if (ObjectUtil.isNull(staff)) { - staff = remoteStaffService.getStaff(dto.getTeacherId()).getData(); - } - classCall.setTeacherName(staff.getName()); - save(classCall); - - //保存记录 - eduClassCallStudentRecordService.saveRecord(classCall.getId(), dto.getStudentList()); - - //TODO 推送考勤记录 - } - - @Override - public EduClassCall getDetailById(Long id) { - EduClassCall eduClassCall = getById(id); - List list = eduClassCallStudentRecordService - .list(Wrappers.lambdaQuery(new EduClassCallStudentRecord()) - .eq(EduClassCallStudentRecord::getCallId, id)); - eduClassCall.setStudentRecordList(list); - return eduClassCall; - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallStudentRecordServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallStudentRecordServiceImpl.java deleted file mode 100644 index 290cee7..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/classCall/service/impl/EduClassCallStudentRecordServiceImpl.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.yida.data.school.classCall.service.impl; - - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.classCall.EduClassCallStudentRecord; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.school.classCall.mapper.EduClassCallStudentRecordMapper; -import com.yida.data.school.classCall.service.EduClassCallStudentRecordService; -import com.yida.data.school.dto.classCall.StudentDTO; -import com.yida.data.user.feign.RemoteStudentService; -import java.util.ArrayList; -import java.util.List; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - - -@Service -@RequiredArgsConstructor -@Transactional -public class EduClassCallStudentRecordServiceImpl extends ServiceImpl - implements EduClassCallStudentRecordService { - - private final RedisService redisService; - - private final RemoteStudentService remoteStudentService; - - @Override - public void saveRecord(Long callId, List list) { - List eduClassCallStudentRecordList = new ArrayList<>(); - for (StudentDTO studentDTO : list) { - EduStudent student = (EduStudent) redisService - .hget(CachePrefixConstant.STUDENT_DATA, studentDTO.getStudentId().toString()); - if (student == null) { - student = remoteStudentService.getStudentNoPermission(studentDTO.getStudentId()).getData(); - } - EduClassCallStudentRecord eduClassCallStudentRecord = new EduClassCallStudentRecord(); - eduClassCallStudentRecord.setStudentId(student.getId()); - eduClassCallStudentRecord.setStudentName(student.getStuName()); - eduClassCallStudentRecord.setSchoolId(student.getSchoolId()); - eduClassCallStudentRecord.setCampusId(student.getCampusId()); - eduClassCallStudentRecord.setCampusName(student.getCampusName()); - eduClassCallStudentRecord.setSectionId(student.getSectionId()); - eduClassCallStudentRecord.setSectionName(student.getSectionName()); - eduClassCallStudentRecord.setGradeId(student.getGradeId()); - eduClassCallStudentRecord.setGradeName(student.getGradeName()); - eduClassCallStudentRecord.setClassId(student.getClassId()); - eduClassCallStudentRecord.setClassName(student.getClassName()); - eduClassCallStudentRecord - .setGender(ObjectUtil.isNull(student.getStuSex()) ? null : Integer.parseInt(student.getStuSex())); - eduClassCallStudentRecord.setAvatar(student.getAvatar()); - eduClassCallStudentRecord.setStatus(studentDTO.getStatus()); - eduClassCallStudentRecord.setCallId(callId); - eduClassCallStudentRecordList.add(eduClassCallStudentRecord); - } - saveBatch(eduClassCallStudentRecordList); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/config/controller/in/EduSchoolFunctionConfigController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/config/controller/in/EduSchoolFunctionConfigController.java deleted file mode 100644 index 1aabd7d..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/config/controller/in/EduSchoolFunctionConfigController.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.yida.data.school.config.controller.in; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.school.EduSchoolFunctionConfig; -import com.yida.data.common.core.enums.EnableStatusEnum; -import com.yida.data.school.config.service.EduSchoolFunctionConfigService; -import com.yida.data.school.dto.config.EduSchoolFunctionConfigDTO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import java.util.ArrayList; -import java.util.List; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.ibatis.annotations.Param; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@Api(tags = "学校关键功能点配置") -@Slf4j -@RestController -@RequestMapping("/in/schoolFunctionConfig") -@RequiredArgsConstructor -public class EduSchoolFunctionConfigController { - - private final EduSchoolFunctionConfigService eduSchoolFunctionConfigService; - - private final RedisService redisService; - - @ApiOperation("获取当前学校关键功能点配置") - @GetMapping("/getSchoolFunctionConfigListByCondition") - public ResultBean> getSchoolFunctionConfigListByCondition() { - List eduSchoolFunctionConfig = new ArrayList<>(); - -// if (ObjectUtil.isNotNull(dto.getSchool_id())) { -// if (redisService.hHasKey(CachePrefixConstant.SCHOOL_FUNCATION_CODE, dto.getSchool_id().toString())) { -// List eduSchoolFunctionConfigList = (List) redisService -// .hget(CachePrefixConstant.SCHOOL_FUNCATION_CODE, dto.getSchool_id().toString()); -// eduSchoolFunctionConfig.addAll(eduSchoolFunctionConfigList); -// } -// -// if (CollUtil.isEmpty(eduSchoolFunctionConfig)) { -// ResultBean> listResultBean = ResultBean -// .buildSuccess(eduSchoolFunctionConfigService.list(Wrappers.lambdaQuery(new EduSchoolFunctionConfig()) -// .eq(EduSchoolFunctionConfig::getSchool_id, -// dto.getSchool_id()))); -// eduSchoolFunctionConfig.addAll(listResultBean.getData()); -// redisService -// .hset(CachePrefixConstant.SCHOOL_FUNCATION_CODE, dto.getSchool_id().toString(), eduSchoolFunctionConfig); -// } -// } else { -// ResultBean> listResultBean = ResultBean -// .buildSuccess(eduSchoolFunctionConfigService.list()); -// eduSchoolFunctionConfig.addAll(listResultBean.getData()); -// } - - ResultBean> listResultBean = ResultBean - .buildSuccess(eduSchoolFunctionConfigService.list()); - eduSchoolFunctionConfig.addAll(listResultBean.getData()); - - return ResultBean.buildSuccess(eduSchoolFunctionConfig); - } - - - /** - * 查询学校是否开始功能 - * - * @param schoolId - * @param code - * @return - */ - @ApiOperation("查询学校关键功能点配置信息") - @GetMapping("/checkSchoolFuncationCode") - private ResultBean checkSchoolFuncationCode(@Param("schoolId") Long schoolId, @Param("code") String code) { - EduSchoolFunctionConfig eduSchoolFunctionConfig = null; - if (redisService.hHasKey(CachePrefixConstant.SCHOOL_FUNCATION_CODE + schoolId, code)) { - eduSchoolFunctionConfig = (EduSchoolFunctionConfig) redisService - .hget(CachePrefixConstant.SCHOOL_FUNCATION_CODE + schoolId, code); - } else { - eduSchoolFunctionConfig = eduSchoolFunctionConfigService - .getOne(Wrappers.lambdaQuery(new EduSchoolFunctionConfig()) - .eq(EduSchoolFunctionConfig::getSchoolId, schoolId) - .eq(EduSchoolFunctionConfig::getFunctionCode, code)); - if (ObjectUtil.isNotNull(eduSchoolFunctionConfig)) { - redisService - .hset(CachePrefixConstant.SCHOOL_FUNCATION_CODE + schoolId, code, eduSchoolFunctionConfig, - 60 * 60L); - } - } - if (ObjectUtil.isNotNull(eduSchoolFunctionConfig) && ObjectUtil - .equals(EnableStatusEnum.ENABLE_STATUS.getStatus(), eduSchoolFunctionConfig.getState())) { - return ResultBean.buildSuccess(true); - } - return ResultBean.buildSuccess(false); - } - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/config/mapper/EduSchoolFunctionConfigMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/config/mapper/EduSchoolFunctionConfigMapper.java deleted file mode 100644 index 8bf4b68..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/config/mapper/EduSchoolFunctionConfigMapper.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.yida.data.school.config.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.school.EduSchoolFunctionConfig; - -/** - * 学校关键功能点配置 - */ -public interface EduSchoolFunctionConfigMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/config/service/EduSchoolFunctionConfigService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/config/service/EduSchoolFunctionConfigService.java deleted file mode 100644 index 02fbe08..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/config/service/EduSchoolFunctionConfigService.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.yida.data.school.config.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.school.EduSchoolFunctionConfig; - -/** - * 学校关键功能点配置 service - */ -public interface EduSchoolFunctionConfigService extends IService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/config/service/impl/EduSchoolFunctionConfigServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/config/service/impl/EduSchoolFunctionConfigServiceImpl.java deleted file mode 100644 index 6fad543..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/config/service/impl/EduSchoolFunctionConfigServiceImpl.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.yida.data.school.config.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.school.EduSchoolFunctionConfig; -import com.yida.data.school.config.mapper.EduSchoolFunctionConfigMapper; -import com.yida.data.school.config.service.EduSchoolFunctionConfigService; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class EduSchoolFunctionConfigServiceImpl extends ServiceImpl - implements EduSchoolFunctionConfigService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/exam/service/impl/CoreExaminationPublishServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/exam/service/impl/CoreExaminationPublishServiceImpl.java index 975bca6..5b8a7f3 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/exam/service/impl/CoreExaminationPublishServiceImpl.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/exam/service/impl/CoreExaminationPublishServiceImpl.java @@ -225,7 +225,7 @@ public class CoreExaminationPublishServiceImpl extends private void pushScoreNotice(CoreExamination coreExamination, List studentList) { Dept school = commonService.getDept(coreExamination.getSchoolId()); - EduApp eduApp = commonService.getAppByCodeAndSchool(AppConstant.INDEX_PARENT, null, school.getDeptId()); + EduApp eduApp = commonService.getAppByCodeAndSchool(AppConstant.SCORE_PARENT, null, school.getDeptId()); List studentId = studentList.stream().map(x -> x.getCoreStudentId()).collect(Collectors.toList()); String accessToken = null; EduYidaApp yidaApp = null; diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/controller/InEduDormitoryController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/controller/InEduDormitoryController.java index 344b76a..03c8e59 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/controller/InEduDormitoryController.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/controller/InEduDormitoryController.java @@ -1,20 +1,10 @@ package com.yida.data.school.facility.controller; -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.school.EduDormitory; -import com.yida.data.common.core.entity.school.EduDormitoryMaster; -import com.yida.data.common.core.entity.school.EduDormitoryRoom; -import com.yida.data.school.dto.index.ListDormRoomDTO; -import com.yida.data.school.facility.mapper.EduDormitoryRoomMapper; -import com.yida.data.school.facility.service.EduDormitoryMasterService; import com.yida.data.school.facility.service.EduDormitoryService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import java.util.Collections; -import java.util.List; -import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; @@ -39,35 +29,9 @@ public class InEduDormitoryController { private final EduDormitoryService eduDormitoryService; - private final EduDormitoryRoomMapper eduDormitoryRoomMapper; - - private final EduDormitoryMasterService eduDormitoryMasterService; - @ApiOperation("获取宿舍楼") @GetMapping("/getDorm") ResultBean getDorm(@RequestParam("id") Long id) { return ResultBean.buildSuccess(eduDormitoryService.getDorm(id)); } - - @ApiOperation("根据学校ID获取宿舍楼List") - @GetMapping("/getDormListBySchoolId") - ResultBean> getDormListBySchoolId(@RequestParam("schoolId") Long schoolId) { - List list = eduDormitoryService - .list(Wrappers.lambdaQuery(new EduDormitory()).eq(EduDormitory::getSchoolId, schoolId)); - - list.forEach(eduDormitory -> { - ListDormRoomDTO dto = new ListDormRoomDTO(); - dto.setDormIds(Collections.singletonList(eduDormitory.getId())); - List eduDormitoryRooms = eduDormitoryRoomMapper.listDormRoom(dto); - eduDormitory.setDormRoomList(eduDormitoryRooms); - //宿管 - List masterList = eduDormitoryMasterService - .list(Wrappers.lambdaQuery(new EduDormitoryMaster()).eq(EduDormitoryMaster::getSchoolId, schoolId) - .eq(EduDormitoryMaster::getDormitoryId, eduDormitory.getId())); - if (CollUtil.isNotEmpty(masterList)) { - eduDormitory.setMasterIds(masterList.stream().map(EduDormitoryMaster::getMasterId).collect(Collectors.toList())); - } - }); - return ResultBean.buildSuccess(list); - } } diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/controller/InEduDormitoryRoomController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/controller/InEduDormitoryRoomController.java index e842c05..9f460e3 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/controller/InEduDormitoryRoomController.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/controller/InEduDormitoryRoomController.java @@ -2,15 +2,9 @@ package com.yida.data.school.facility.controller; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.school.EduDormitoryRoom; -import com.yida.data.school.dto.index.EditPersonNumDTO; -import com.yida.data.school.dto.index.ListDormRoomDTO; import com.yida.data.school.facility.service.EduDormitoryRoomService; -import io.swagger.annotations.ApiOperation; -import java.util.List; import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @@ -34,17 +28,4 @@ public class InEduDormitoryRoomController { ResultBean getDormRoomNoPermission(@RequestParam("id") Long id) { return ResultBean.buildSuccess(eduDormitoryRoomService.getDormRoom(id)); } - - @ApiOperation("寝室入住") - @PostMapping("/editPersonNum") - public ResultBean editPersonNumNoPermission(@RequestBody List dtos) { - eduDormitoryRoomService.editPersonNum(dtos); - return ResultBean.buildSuccess(); - } - - @ApiOperation("查询寝室列表") - @PostMapping("/listDormRoom") - public ResultBean> listDormRoom(@RequestBody ListDormRoomDTO dto) { - return ResultBean.buildSuccess(eduDormitoryRoomService.listDormRoom(dto)); - } } diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/service/EduDormitoryMasterService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/service/EduDormitoryMasterService.java index 394f696..fda9698 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/service/EduDormitoryMasterService.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/service/EduDormitoryMasterService.java @@ -11,5 +11,7 @@ import com.yida.data.common.core.entity.school.EduDormitoryMaster; * @date 2022/8/22 */ public interface EduDormitoryMasterService extends IService { - + + + } diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/service/EduDormitoryService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/service/EduDormitoryService.java index d9b4996..529ab04 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/service/EduDormitoryService.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/service/EduDormitoryService.java @@ -54,6 +54,4 @@ public interface EduDormitoryService extends IService { * @date 2022/7/15 14:31 */ EduDormitory getDorm(Long id); - - } diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/service/impl/EduDormitoryServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/service/impl/EduDormitoryServiceImpl.java index 92d2f8b..38af579 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/service/impl/EduDormitoryServiceImpl.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/facility/service/impl/EduDormitoryServiceImpl.java @@ -45,7 +45,7 @@ import java.util.stream.Collectors; @RequiredArgsConstructor @Transactional(rollbackFor = Exception.class) public class EduDormitoryServiceImpl extends ServiceImpl - implements EduDormitoryService { + implements EduDormitoryService { private final EduDormitoryRoomMapper eduDormitoryRoomMapper; private final EduDormitoryMasterMapper eduDormitoryMasterMapper; @@ -62,15 +62,14 @@ public class EduDormitoryServiceImpl extends ServiceImpl public IPage listDormPage(PageDormDTO dto) { if (Objects.nonNull(dto.getMasterId())) { - List masterList = eduDormitoryMasterMapper - .selectList(Wrappers.lambdaQuery(new EduDormitoryMaster()) + List masterList = eduDormitoryMasterMapper.selectList(Wrappers.lambdaQuery(new EduDormitoryMaster()) .eq(EduDormitoryMaster::getMasterId, dto.getMasterId()).select(EduDormitoryMaster::getDormitoryId)); if (CollUtil.isEmpty(masterList)) { return new Page<>(); } dto.setDormIds(masterList.stream().map(EduDormitoryMaster::getDormitoryId) - .distinct() - .collect(Collectors.toList())); + .distinct() + .collect(Collectors.toList())); } IPage dormPage = baseMapper.listDormPage(dto.toPage(), dto); // 查询宿管名称 @@ -78,18 +77,18 @@ public class EduDormitoryServiceImpl extends ServiceImpl // 查询宿管id集合 for (DormInfoVO dormInfoVO : dormPage.getRecords()) { List masterIds = eduDormitoryMasterMapper.selectList(Wrappers.lambdaQuery(new EduDormitoryMaster()) - .eq(EduDormitoryMaster::getDormitoryId, dormInfoVO.getDormId()) - .select(EduDormitoryMaster::getMasterId) + .eq(EduDormitoryMaster::getDormitoryId, dormInfoVO.getDormId()) + .select(EduDormitoryMaster::getMasterId) ).stream().map(EduDormitoryMaster::getMasterId).collect(Collectors.toList()); dormInfoVO.setMasterIds(masterIds); List staffList = CollUtil.isNotEmpty(masterIds) - ? remoteStaffService.listStaff(ListStaffDTO.builder().ids(masterIds).build()).getData() - : Collections.emptyList(); + ? remoteStaffService.listStaff(ListStaffDTO.builder().ids(masterIds).build()).getData() + : Collections.emptyList(); // 匹配宿管 if (CollUtil.isNotEmpty(staffList)) { dormInfoVO.setMasterName(staffList.stream().map(EduStaff::getName) - .collect(Collectors.joining(StringConstant.COMMA))); + .collect(Collectors.joining(StringConstant.COMMA))); } } } @@ -107,8 +106,8 @@ public class EduDormitoryServiceImpl extends ServiceImpl } } LambdaQueryWrapper condition = Wrappers.lambdaQuery() - .eq(EduDormitory::getSchoolId, dorm.getSchoolId()) - .eq(EduDormitory::getName, dorm.getName()); + .eq(EduDormitory::getSchoolId, dorm.getSchoolId()) + .eq(EduDormitory::getName, dorm.getName()); if (dorm.getId() != null) { condition.ne(EduDormitory::getId, dorm.getId()); } @@ -116,14 +115,13 @@ public class EduDormitoryServiceImpl extends ServiceImpl saveOrUpdate(dorm); // 删除旧宿管数据 - eduDormitoryMasterMapper - .delete(Wrappers.lambdaQuery().in(EduDormitoryMaster::getDormitoryId, dorm.getId())); + eduDormitoryMasterMapper.delete(Wrappers.lambdaQuery().in(EduDormitoryMaster::getDormitoryId, dorm.getId())); dorm.getMasterIds().forEach(masterId -> { EduDormitoryMaster master = EduDormitoryMaster.builder() - .dormitoryId(dorm.getId()) - .masterId(masterId) - .schoolId(dorm.getSchoolId()) - .build(); + .dormitoryId(dorm.getId()) + .masterId(masterId) + .schoolId(dorm.getSchoolId()) + .build(); eduDormitoryMasterMapper.insert(master); }); } @@ -131,7 +129,7 @@ public class EduDormitoryServiceImpl extends ServiceImpl @Override public void delDormBatch(List ids) { List rooms = eduDormitoryRoomMapper.selectList( - Wrappers.lambdaQuery().in(EduDormitoryRoom::getDormId, ids).select(EduDormitoryRoom::getId)); + Wrappers.lambdaQuery().in(EduDormitoryRoom::getDormId, ids).select(EduDormitoryRoom::getId)); //删除寝室 eduDormitoryRoomMapper.delete(Wrappers.lambdaQuery().in(EduDormitoryRoom::getDormId, ids)); // 删除宿舍楼 @@ -147,15 +145,14 @@ public class EduDormitoryServiceImpl extends ServiceImpl EduDormitory eduDormitory = getById(id); Optional.ofNullable(eduDormitory).ifPresent(dormitory -> { // 查询宿管信息 - List masterList = eduDormitoryMasterMapper - .selectList(Wrappers.lambdaQuery(new EduDormitoryMaster()) + List masterList = eduDormitoryMasterMapper.selectList(Wrappers.lambdaQuery(new EduDormitoryMaster()) .eq(EduDormitoryMaster::getDormitoryId, dormitory.getId()).select(EduDormitoryMaster::getMasterId)); if (CollUtil.isNotEmpty(masterList)) { dormitory.setEduStaffList( - remoteStaffService.listStaff( - ListStaffDTO.builder().ids(masterList.stream().map(EduDormitoryMaster::getMasterId) - .collect(Collectors.toList())).build()) - .getData()); + remoteStaffService.listStaff( + ListStaffDTO.builder().ids(masterList.stream().map(EduDormitoryMaster::getMasterId) + .collect(Collectors.toList())).build()) + .getData()); } }); return eduDormitory; diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/health/service/impl/EduHealthStudentPhysicalExaminationGroupServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/health/service/impl/EduHealthStudentPhysicalExaminationGroupServiceImpl.java index f7452ab..416678f 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/health/service/impl/EduHealthStudentPhysicalExaminationGroupServiceImpl.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/health/service/impl/EduHealthStudentPhysicalExaminationGroupServiceImpl.java @@ -94,7 +94,7 @@ public class EduHealthStudentPhysicalExaminationGroupServiceImpl extends Service public void sendHealthNotice(Long groupId,Long schoolId) { List studentId = baseMapper.findStudentId(groupId); EduHealthStudentPhysicalExaminationGroup group = getById(groupId); - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.INDEX_PARENT, null, + EduApp app = commonService.getAppByCodeAndSchool(AppConstant.PRODUCT_PARENT, null, schoolId); String accessToken = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/controller/EduDeptHomeAppController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/controller/EduDeptHomeAppController.java deleted file mode 100644 index 5e895be..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/controller/EduDeptHomeAppController.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.yida.data.school.index.controller; - -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.school.EduDeptHomeApp; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.school.dto.index.SaveDeptHomeAppDTO; -import com.yida.data.school.index.service.EduDeptHomeAppService; -import com.yida.data.school.vo.index.ContactVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import java.util.List; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -/** - * 部门微官网应用配置 Controller - * - * @author ZYJ - * @date 2023-06-28 15:24:25 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@RequestMapping("eduDeptHomeApp") -@Api(tags = "部门微官网应用配置api") -public class EduDeptHomeAppController { - - private final EduDeptHomeAppService eduDeptHomeAppService; - - @ApiOperation("应用列表") - @PostMapping("/listApp") - public ResultBean> listApp(@RequestBody EduDeptHomeApp app) { - return ResultBean.buildSuccess(eduDeptHomeAppService - .list(Wrappers.lambdaQuery().eq(EduDeptHomeApp::getDeptId, FebsUtil.getDeptId()) - .eq(ObjectUtil.isNotEmpty(app.getAppType()), EduDeptHomeApp::getAppType, app.getAppType()) - .eq(ObjectUtil.isNotEmpty(app.getUserType()), EduDeptHomeApp::getUserType, app.getUserType()) - .like(ObjectUtil.isNotEmpty(app.getName()), EduDeptHomeApp::getName, app.getName()) - .orderByAsc(EduDeptHomeApp::getSort))); - } - - @ApiOperation("添加/编辑应用") - @PostMapping("/addApp") - public ResultBean addDeptHomeApp(@Validated @RequestBody SaveDeptHomeAppDTO dto) { - eduDeptHomeAppService.addDeptHomeApp(dto); - return ResultBean.buildSuccess(); - } - - @ApiOperation("删除应用") - @GetMapping("/deleteApp") - public ResultBean deleteDeptHomeApp(@RequestParam Long id) { - eduDeptHomeAppService.removeById(id); - return ResultBean.buildSuccess(); - } - - @ApiOperation("应用详情") - @GetMapping("/getApp") - public ResultBean getApp(@RequestParam Long id) { - return ResultBean.buildSuccess(eduDeptHomeAppService.getById(id)); - } - - @ApiOperation("启用/停用应用") - @GetMapping("/enableApp") - public ResultBean enableApp(@ApiParam("主键ID") @RequestParam Long id, - @ApiParam("启用状态:0:停用,1:启用") @RequestParam Integer status) { - eduDeptHomeAppService.enableApp(id, status); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/controller/EduSchoolHomeController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/controller/EduSchoolHomeController.java index 308c4ea..620795f 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/controller/EduSchoolHomeController.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/controller/EduSchoolHomeController.java @@ -13,7 +13,6 @@ import com.yida.data.common.core.entity.school.EduSchoolHomeMicroPic; import com.yida.data.common.core.entity.school.EduSchoolHomeNews; import com.yida.data.common.core.entity.school.EduSchoolManuscript; import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.school.index.service.EduDeptHomeAppService; import com.yida.data.school.index.service.EduHomeFunctionService; import com.yida.data.school.index.service.EduSchoolHomeAnnouncementService; import com.yida.data.school.index.service.EduSchoolHomeAppService; @@ -64,15 +63,14 @@ public class EduSchoolHomeController { private final EduSchoolHomeMicroIndexService eduSchoolHomeMicroIndexService; private final EduSchoolHomeMicroPicService eduSchoolHomeMicroPicService; private final EduSchoolManuscriptService eduSchoolManuscriptService; - private final EduDeptHomeAppService eduDeptHomeAppService; @ApiOperation("主页信息查询") @GetMapping("/getHomeInfo") - public ResultBean getHomeInfo(@ApiParam("学校id") Long schoolId, @RequestParam(required = false) Integer userType) { + public ResultBean getHomeInfo(@ApiParam("学校id") Long schoolId) { if (schoolId == null) { schoolId = FebsUtil.getTopDeptId(); } - return ResultBean.buildSuccess(eduSchoolHomeCoverService.getHomeInfo(schoolId, userType)); + return ResultBean.buildSuccess(eduSchoolHomeCoverService.getHomeInfo(schoolId)); } @ApiOperation("更新轮播图(新增、编辑、删除)") @@ -204,15 +202,4 @@ public class EduSchoolHomeController { eduHomeFunctionService.updateFunction(functionData); return ResultBean.buildSuccess(); } - - - @GetMapping("/getWxPublicURLLink") - @ApiOperation("获取微信小程序短链接") - ResultBean getWxPublicURLLink( - @RequestParam @ApiParam(value = "学校ID", required = true) String schoolId, - @RequestParam @ApiParam(value = "用户ID", required = true) Long userId, - @RequestParam @ApiParam(value = "用户类型", required = true) Integer userType, - @RequestParam @ApiParam(value = "系统内部小程序ID", required = true) Long localAppId) { - return ResultBean.buildSuccess(eduDeptHomeAppService.getWxPublicURLLink(schoolId, userId, userType, localAppId)); - } } diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/controller/InEduSchoolHomeController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/controller/InEduSchoolHomeController.java index 055b60f..c9e2610 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/controller/InEduSchoolHomeController.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/controller/InEduSchoolHomeController.java @@ -2,9 +2,7 @@ package com.yida.data.school.index.controller; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.school.EduDeptHomeApp; import com.yida.data.common.core.entity.school.EduSchoolHomeMicroPic; -import com.yida.data.school.index.service.EduDeptHomeAppService; import com.yida.data.school.index.service.EduSchoolHomeCoverService; import com.yida.data.school.index.service.EduSchoolHomeMicroIndexService; import com.yida.data.school.index.service.EduSchoolHomeMicroPicService; @@ -28,11 +26,9 @@ import lombok.RequiredArgsConstructor; @RestController @RequiredArgsConstructor public class InEduSchoolHomeController { - private final EduSchoolHomeMicroIndexService eduSchoolHomeMicroIndexService; private final EduSchoolHomeMicroPicService eduSchoolHomeMicroPicService; private final EduSchoolHomeCoverService eduSchoolHomeCoverService; - private final EduDeptHomeAppService eduDeptHomeAppService; @ApiOperation("查询校园概况") @@ -48,20 +44,13 @@ public class InEduSchoolHomeController { @GetMapping("/listPicByCol") public ResultBean> listPicByCol(@ApiParam("栏目id") Long colId) { return ResultBean.buildSuccess(eduSchoolHomeMicroPicService.list(Wrappers.lambdaQuery(new EduSchoolHomeMicroPic()) - .eq(EduSchoolHomeMicroPic::getColId, colId) - .orderByAsc(EduSchoolHomeMicroPic::getSort))); + .eq(EduSchoolHomeMicroPic::getColId, colId) + .orderByAsc(EduSchoolHomeMicroPic::getSort))); } @ApiOperation("主页信息查询") @GetMapping("/getHomeInfo") - public ResultBean getHomeInfo(@ApiParam("学校id") Long schoolId, @RequestParam(required = false) Integer userType) { - return ResultBean.buildSuccess(eduSchoolHomeCoverService.getHomeInfo(schoolId, userType)); - } - - @ApiOperation("主页信息查询") - @GetMapping("/getDeptAppList") - public ResultBean> getDeptAppList(@RequestParam("schoolId") Long schoolId) { - return ResultBean.buildSuccess(eduDeptHomeAppService.list(Wrappers.lambdaQuery(new EduDeptHomeApp()) - .eq(EduDeptHomeApp::getDeptId, schoolId))); + public ResultBean getHomeInfo(@ApiParam("学校id") Long schoolId) { + return ResultBean.buildSuccess(eduSchoolHomeCoverService.getHomeInfo(schoolId)); } } diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/mapper/EduDeptHomeAppMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/mapper/EduDeptHomeAppMapper.java deleted file mode 100644 index 9668fbb..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/mapper/EduDeptHomeAppMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.yida.data.school.index.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.school.EduDeptHomeApp; -import com.yida.data.common.core.entity.system.EduBaseApp; - -/** - * 部门微官网应用配置 Mapper - * - * @author ZYJ - * @date 2023-06-28 15:24:25 - */ -public interface EduDeptHomeAppMapper extends BaseMapper { - - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/EduDeptHomeAppService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/EduDeptHomeAppService.java deleted file mode 100644 index 6c97f17..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/EduDeptHomeAppService.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.yida.data.school.index.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.school.EduDeptHomeApp; -import com.yida.data.school.dto.index.SaveDeptHomeAppDTO; -import io.swagger.annotations.ApiParam; -import org.springframework.web.bind.annotation.RequestParam; - -/** - * 部门微官网应用配置 Service接口 - * - * @author ZYJ - * @date 2023-06-28 15:24:25 - */ -public interface EduDeptHomeAppService extends IService { - - void addDeptHomeApp(SaveDeptHomeAppDTO dto); - - void enableApp(Long id, Integer status); - - String getWxPublicURLLink(String schoolId, Long userId, Integer userType, Long localAppId); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/EduSchoolHomeAppService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/EduSchoolHomeAppService.java index 1268e77..4e38e00 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/EduSchoolHomeAppService.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/EduSchoolHomeAppService.java @@ -3,9 +3,7 @@ package com.yida.data.school.index.service; import com.baomidou.mybatisplus.extension.service.IService; import com.yida.data.common.core.entity.school.EduSchoolHomeApp; -import io.swagger.annotations.ApiParam; import java.util.List; -import org.springframework.web.bind.annotation.RequestParam; /** * Service接口 diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/EduSchoolHomeCoverService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/EduSchoolHomeCoverService.java index 48d2ac1..d3531cb 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/EduSchoolHomeCoverService.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/EduSchoolHomeCoverService.java @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.yida.data.common.core.entity.school.EduSchoolHomeCover; import com.yida.data.school.vo.index.HomeInfoVO; -import io.swagger.models.auth.In; import java.util.List; /** @@ -15,7 +14,7 @@ import java.util.List; */ public interface EduSchoolHomeCoverService extends IService { - HomeInfoVO getHomeInfo(Long schoolId, Integer userType); + HomeInfoVO getHomeInfo(Long schoolId); /** * 更新轮播图 diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/impl/EduDeptHomeAppServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/impl/EduDeptHomeAppServiceImpl.java deleted file mode 100644 index 9a4faba..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/impl/EduDeptHomeAppServiceImpl.java +++ /dev/null @@ -1,147 +0,0 @@ -package com.yida.data.school.index.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.GenerateUrlLink; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.school.EduDeptHomeApp; -import com.yida.data.common.core.entity.system.EduBaseApp; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.enums.UserTypeEnum; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.Asserts; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.common.core.utils.WxPublicUtil; -import com.yida.data.common.service.CommonService; -import com.yida.data.school.dto.index.SaveDeptHomeAppDTO; -import com.yida.data.school.index.mapper.EduDeptHomeAppMapper; -import com.yida.data.school.index.service.EduDeptHomeAppService; -import com.yida.data.system.feign.RemoteBaseAppService; -import javax.sound.sampled.Line.Info; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 部门微官网应用配置 Service实现 - * - * @author ZYJ - * @date 2023-06-28 15:24:25 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduDeptHomeAppServiceImpl extends ServiceImpl - implements EduDeptHomeAppService { - - private final RemoteBaseAppService remoteBaseAppService; - - private final CommonService commonService; - - private final WxPublicUtil wxPublicUtil; - - private final RedisService redisService; - - @Override - public void addDeptHomeApp(SaveDeptHomeAppDTO dto) { - EduDeptHomeApp already = this - .getOne(Wrappers.lambdaQuery().eq(EduDeptHomeApp::getDeptId, FebsUtil.getDeptId()) - .eq(EduDeptHomeApp::getBaseAppId, dto.getBaseAppId())); - - if (ObjectUtil.isNull(dto.getId())) { - Asserts.isTrue(ObjectUtil.isNull(already), "该学校已创建此应用"); - } else { - if (ObjectUtil.isNotNull(already) && ObjectUtil.notEqual(dto.getId(), already.getId())) { - throw new FebsException("该学校已创建此应用"); - } - } - EduBaseApp baseApp = null; - if (dto.getAppType() == 0) { - baseApp = remoteBaseAppService.getById(dto.getBaseAppId()).getData(); - Asserts.isTrue(ObjectUtil.isNotNull(baseApp), "不存在此基础应用"); - } - - EduDeptHomeApp homeApp = new EduDeptHomeApp(); - BeanUtils.copyProperties(dto, homeApp); - homeApp.setDeptId(FebsUtil.getDeptId()); - if (dto.getAppType() == 0) { - homeApp.setAppSrc(baseApp.getAppSrc()); - homeApp.setCode(baseApp.getCode()); - } - if (ObjectUtil.isNotNull(dto.getId())) { - redisService.del(CachePrefixConstant.DEPT_HOME_APP_INFO, String.valueOf(dto.getId())); - } - saveOrUpdate(homeApp); - } - - @Override - public void enableApp(Long id, Integer status) { - EduDeptHomeApp homeApp = new EduDeptHomeApp(); - homeApp.setId(id); - homeApp.setEnableStatus(status); - updateById(homeApp); - } - - @Override - public String getWxPublicURLLink(String schoolId, Long userId, Integer userType, Long localAppId) { - if (redisService.hasKey(CachePrefixConstant.USER_GENERATE_URL_LINK + userId + "" + userType + "" + localAppId)) { - return (String) redisService - .get(CachePrefixConstant.USER_GENERATE_URL_LINK + userId + "" + userType + "" + localAppId); - } - - EduDeptHomeApp homeApp = null; - if (redisService.hHasKey(CachePrefixConstant.DEPT_HOME_APP_INFO, String.valueOf(localAppId))) { - homeApp = (EduDeptHomeApp) redisService.hget(CachePrefixConstant.DEPT_HOME_APP_INFO, String.valueOf(localAppId)); - } else { - homeApp = getById(localAppId); - if (ObjectUtil.isNotNull(homeApp)) { - redisService.hset(CachePrefixConstant.DEPT_HOME_APP_INFO, String.valueOf(localAppId), homeApp); - } - } - if (ObjectUtil.isNull(homeApp)) { - log.error("获取小程序链接失败:【{}】", localAppId); - throw new FebsException("获取小程序链接失败"); - } - String avatar = ""; - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), userType)) { - EduStudent student = commonService.getStudentById(userId); - if (ObjectUtil.isNull(student)) { - log.error("获取小程序链接失败:用户信息不存在:【{}】", userId); - throw new FebsException("获取小程序链接失败,用户信息不存在"); - } - if (ObjectUtil.isNull(student.getAvatar())) { - log.error("获取小程序链接失败:用户头像信息不存在:【{}】", userId); - throw new FebsException("获取小程序链接失败,用户头像信息不存在"); - } - avatar = student.getAvatar(); - } else { - EduStaff staff = commonService.getStaffById(userId); - if (ObjectUtil.isNull(staff)) { - log.error("获取小程序链接失败:用户信息不存在:【{}】", userId); - throw new FebsException("获取小程序链接失败,用户信息不存在"); - } - if (ObjectUtil.isNull(staff.getAvatar())) { - log.error("获取小程序链接失败:用户头像信息不存在:【{}】", userId); - throw new FebsException("获取小程序链接失败,用户头像信息不存在"); - } - avatar = staff.getAvatar(); - } - GenerateUrlLink generateUrlLink = new GenerateUrlLink(); - generateUrlLink.setPath(homeApp.getAppSrc()); - generateUrlLink.setExpireType(1); - generateUrlLink.setQuery("schoolId=" + schoolId + "&userId=" + userId + "&userType=" + userType + "&avatar=" + avatar); - String urlLink = wxPublicUtil - .generateUrlLink(wxPublicUtil.getAccessToken(homeApp.getAppId(), homeApp.getAppSecret()), generateUrlLink); - //缓存学生信息 29天 - redisService.set(CachePrefixConstant.USER_GENERATE_URL_LINK + userId + "" + userType + "" + localAppId, urlLink, - 60 * 60 * 24 * 29L); - return urlLink; - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/impl/EduSchoolHomeAppServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/impl/EduSchoolHomeAppServiceImpl.java index 43c5aa8..9fe9c5b 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/impl/EduSchoolHomeAppServiceImpl.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/impl/EduSchoolHomeAppServiceImpl.java @@ -1,11 +1,9 @@ package com.yida.data.school.index.service.impl; -import cc.mrbird.febs.common.redis.service.RedisService; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; import com.yida.data.common.core.entity.school.EduSchoolHomeApp; import com.yida.data.common.core.entity.school.EduSchoolHomeAppShow; import com.yida.data.common.core.entity.user.EduStaffDept; @@ -41,7 +39,6 @@ public class EduSchoolHomeAppServiceImpl extends ServiceImpl private final RemoteDeptService remoteDeptService; private final RemoteUserDeptService remoteUserDeptService; private final EduSchoolMatterService eduSchoolMatterService; - private final RedisService redisService; @Override @Transactional diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/impl/EduSchoolHomeCoverServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/impl/EduSchoolHomeCoverServiceImpl.java index 02942eb..af9e35b 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/impl/EduSchoolHomeCoverServiceImpl.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/index/service/impl/EduSchoolHomeCoverServiceImpl.java @@ -1,15 +1,10 @@ package com.yida.data.school.index.service.impl; -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; import com.yida.data.common.core.entity.home.EduHomeFunction; import com.yida.data.common.core.entity.notice.EduNoticeSchool; -import com.yida.data.common.core.entity.school.EduDeptHomeApp; import com.yida.data.common.core.entity.school.EduSchoolHomeAnnouncement; import com.yida.data.common.core.entity.school.EduSchoolHomeCover; import com.yida.data.common.core.entity.school.EduSchoolHomeMicro; @@ -18,13 +13,11 @@ import com.yida.data.common.core.entity.school.EduSchoolManuscript; import com.yida.data.common.core.entity.system.Dept; import com.yida.data.common.core.entity.system.EduYidaApp; import com.yida.data.common.core.entity.system.enums.DeptTypeEnum; -import com.yida.data.common.core.enums.EnableStatusEnum; import com.yida.data.common.core.utils.AppUtil; import com.yida.data.common.service.CommonService; import com.yida.data.school.index.mapper.EduSchoolHomeAppMapper; import com.yida.data.school.index.mapper.EduSchoolHomeCoverMapper; import com.yida.data.school.index.mapper.EduSchoolHomeNewsMapper; -import com.yida.data.school.index.service.EduDeptHomeAppService; import com.yida.data.school.index.service.EduHomeFunctionService; import com.yida.data.school.index.service.EduSchoolHomeAnnouncementService; import com.yida.data.school.index.service.EduSchoolHomeCoverService; @@ -55,112 +48,89 @@ public class EduSchoolHomeCoverServiceImpl extends ServiceImpl private final EduSchoolMatterService eduSchoolMatterService; private final EduSchoolHomeMicroService eduSchoolHomeMicroService; private final EduSchoolHomeAnnouncementService eduSchoolHomeAnnouncementService; - private final EduDeptHomeAppService eduDeptHomeAppService; + private final EduNoticeSchoolMapper eduNoticeSchoolMapper; private final EduSchoolHomeAppMapper eduSchoolHomeAppMapper; private final EduSchoolHomeNewsMapper eduSchoolHomeNewsMapper; private final EduSchoolManuscriptMapper eduSchoolManuscriptMapper; private final CommonService commonService; - private final RedisService redisService; @Override - public HomeInfoVO getHomeInfo(Long schoolId, Integer userType) { + public HomeInfoVO getHomeInfo(Long schoolId) { + Dept dept = commonService.getDept(schoolId); HomeInfoVO homeInfoVO = new HomeInfoVO(); - //缓存主页信息 - if (redisService.hHasKey(CachePrefixConstant.SCHOOL_HOME_INFO, schoolId + "" + userType)) { - homeInfoVO = (HomeInfoVO) redisService - .hget(CachePrefixConstant.SCHOOL_HOME_INFO, schoolId + "" + userType); - } else { - Dept dept = commonService.getDept(schoolId); - homeInfoVO.setDeptType(dept.getDeptType()); - homeInfoVO.setCoverList(list(Wrappers.lambdaQuery(new EduSchoolHomeCover()) - .eq(EduSchoolHomeCover::getSchoolId, schoolId))); - if (dept.getDeptType().equals(DeptTypeEnum.SCHOOL_TYPE.getValue())) { - homeInfoVO.setParentAppList(eduSchoolHomeAppMapper.listApp(schoolId, 0, null, null)); - homeInfoVO.setTeacherAppList(eduSchoolHomeAppMapper.listApp(schoolId, 1, null, null)); - // 查询公告区 - EduSchoolHomeAnnouncement announcement = - eduSchoolHomeAnnouncementService.getOne(Wrappers.lambdaQuery(new EduSchoolHomeAnnouncement()) - .eq(EduSchoolHomeAnnouncement::getSchoolId, schoolId)); - // 无公告进行保存操作 - if (announcement == null) { - announcement = new EduSchoolHomeAnnouncement(); - announcement.setSchoolId(schoolId); - announcement.setName("公示公告"); - eduSchoolHomeAnnouncementService.saveAnnouncement(announcement); - } - // 设置了置顶公告则进行查询 - if (announcement.getTopAnnouncementId() != null) { - EduNoticeSchool topNotice = eduNoticeSchoolMapper.selectById(announcement.getTopAnnouncementId()); - if (topNotice != null) { - announcement.setTopAnnouncementPubDate(topNotice.getSendDate()); - announcement.setTopAnnouncement(topNotice); - } - } - // 查询公告区公告 - LambdaQueryWrapper condition = Wrappers.lambdaQuery(new EduNoticeSchool()) - .eq(EduNoticeSchool::getSchoolId, schoolId) - .eq(EduNoticeSchool::getIsPublic, 1) - .orderByDesc(EduNoticeSchool::getSendDate) - .last(announcement.getTopAnnouncementId() == null ? "limit 3" : "limit 2"); - if (announcement.getTopAnnouncementId() != null) { - condition.ne(EduNoticeSchool::getId, announcement.getTopAnnouncementId()); - } - announcement.setManuscriptList(eduNoticeSchoolMapper.selectList(condition)); - homeInfoVO.setAnnouncement(announcement); - // 微官网区 - EduSchoolHomeMicro microInfo = eduSchoolHomeMicroService.getInfo(schoolId); - if (microInfo == null) { - eduSchoolHomeMicroService.initMicro(schoolId); - microInfo = eduSchoolHomeMicroService.getInfo(schoolId); - } - homeInfoVO.setMicro(microInfo); - // 查询新闻区 - EduSchoolHomeNews news = eduSchoolHomeNewsMapper.selectOne(Wrappers.lambdaQuery(new EduSchoolHomeNews()) - .eq(EduSchoolHomeNews::getSchoolId, schoolId)); - if (news == null) { - news = new EduSchoolHomeNews(); - news.setSchoolId(schoolId); - news.setName("学校新闻"); - eduSchoolHomeNewsMapper.insert(news); - } - homeInfoVO.setNews(news); - if (homeInfoVO.getNews().getTopNewsId() != null) { - EduSchoolManuscript topNews = eduSchoolManuscriptMapper.getInfo(homeInfoVO.getNews().getTopNewsId()); - homeInfoVO.getNews().setTopNews(topNews); + homeInfoVO.setDeptType(dept.getDeptType()); + homeInfoVO.setCoverList(list(Wrappers.lambdaQuery(new EduSchoolHomeCover()) + .eq(EduSchoolHomeCover::getSchoolId, schoolId))); + if (dept.getDeptType().equals(DeptTypeEnum.SCHOOL_TYPE.getValue())) { + homeInfoVO.setParentAppList(eduSchoolHomeAppMapper.listApp(schoolId, 0, null, null)); + homeInfoVO.setTeacherAppList(eduSchoolHomeAppMapper.listApp(schoolId, 1, null, null)); + // 查询公告区 + EduSchoolHomeAnnouncement announcement = + eduSchoolHomeAnnouncementService.getOne(Wrappers.lambdaQuery(new EduSchoolHomeAnnouncement()) + .eq(EduSchoolHomeAnnouncement::getSchoolId, schoolId)); + // 无公告进行保存操作 + if (announcement == null) { + announcement = new EduSchoolHomeAnnouncement(); + announcement.setSchoolId(schoolId); + announcement.setName("公示公告"); + eduSchoolHomeAnnouncementService.saveAnnouncement(announcement); + } + // 设置了置顶公告则进行查询 + if (announcement.getTopAnnouncementId() != null) { + EduNoticeSchool topNotice = eduNoticeSchoolMapper.selectById(announcement.getTopAnnouncementId()); + if (topNotice != null) { + announcement.setTopAnnouncementPubDate(topNotice.getSendDate()); + announcement.setTopAnnouncement(topNotice); } } - // 查询功能区 - EduHomeFunction function = eduHomeFunctionService - .getOne(Wrappers.lambdaQuery().eq(EduHomeFunction::getDeptId, schoolId)); - if (function == null) { - function = new EduHomeFunction(); - function.setDeptId(schoolId); - function.setSearchSchool(0); - function.setMatchSchool(0); - function.setEnrolSign(0); - function.setEnrolQa(0); - eduHomeFunctionService.save(function); + // 查询公告区公告 + LambdaQueryWrapper condition = Wrappers.lambdaQuery(new EduNoticeSchool()) + .eq(EduNoticeSchool::getSchoolId, schoolId) + .eq(EduNoticeSchool::getIsPublic, 1) + .orderByDesc(EduNoticeSchool::getSendDate) + .last(announcement.getTopAnnouncementId() == null ? "limit 3" : "limit 2"); + if (announcement.getTopAnnouncementId() != null) { + condition.ne(EduNoticeSchool::getId, announcement.getTopAnnouncementId()); } - - if (ObjectUtil.isNotNull(userType)) { - List list = eduDeptHomeAppService.list(Wrappers.lambdaQuery() - .eq(EduDeptHomeApp::getDeptId, schoolId) - .eq(EduDeptHomeApp::getUserType, userType) - .eq(EduDeptHomeApp::getEnableStatus, EnableStatusEnum.ENABLE_STATUS.getStatus()) - .orderByAsc(EduDeptHomeApp::getSort)); - if (CollUtil.isNotEmpty(list)) { - homeInfoVO.setEduDeptHomeAppList(list); - } - + announcement.setManuscriptList(eduNoticeSchoolMapper.selectList(condition)); + homeInfoVO.setAnnouncement(announcement); + // 微官网区 + EduSchoolHomeMicro microInfo = eduSchoolHomeMicroService.getInfo(schoolId); + if (microInfo == null) { + eduSchoolHomeMicroService.initMicro(schoolId); + microInfo = eduSchoolHomeMicroService.getInfo(schoolId); } - homeInfoVO.setFunction(function); - - if (ObjectUtil.isNotNull(homeInfoVO)) { - redisService.hset(CachePrefixConstant.SCHOOL_HOME_INFO, schoolId + "" + userType, homeInfoVO); + homeInfoVO.setMicro(microInfo); + // 查询新闻区 + EduSchoolHomeNews news = eduSchoolHomeNewsMapper.selectOne(Wrappers.lambdaQuery(new EduSchoolHomeNews()) + .eq(EduSchoolHomeNews::getSchoolId, schoolId)); + if (news == null) { + news = new EduSchoolHomeNews(); + news.setSchoolId(schoolId); + news.setName("学校新闻"); + eduSchoolHomeNewsMapper.insert(news); + } + homeInfoVO.setNews(news); + if (homeInfoVO.getNews().getTopNewsId() != null) { + EduSchoolManuscript topNews = eduSchoolManuscriptMapper.getInfo(homeInfoVO.getNews().getTopNewsId()); + homeInfoVO.getNews().setTopNews(topNews); } } + // 查询功能区 + EduHomeFunction function = eduHomeFunctionService + .getOne(Wrappers.lambdaQuery().eq(EduHomeFunction::getDeptId, schoolId)); + if (function == null) { + function = new EduHomeFunction(); + function.setDeptId(schoolId); + function.setSearchSchool(0); + function.setMatchSchool(0); + function.setEnrolSign(0); + function.setEnrolQa(0); + eduHomeFunctionService.save(function); + } + homeInfoVO.setFunction(function); return homeInfoVO; } @@ -187,8 +157,5 @@ public class EduSchoolHomeCoverServiceImpl extends ServiceImpl EduYidaApp yidaApp = commonService.getYidaApp(schoolId); AppUtil.bannerUpdate(school.getYidaAppColId(), urlList, sortList, yidaApp); } - - redisService.del(CachePrefixConstant.SCHOOL_HOME_INFO, schoolId + "" + 0); - redisService.del(CachePrefixConstant.SCHOOL_HOME_INFO, schoolId + "" + 1); } } diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/leave/service/impl/EduLeaveRequestServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/leave/service/impl/EduLeaveRequestServiceImpl.java index fd1f84e..eb73cb4 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/leave/service/impl/EduLeaveRequestServiceImpl.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/leave/service/impl/EduLeaveRequestServiceImpl.java @@ -135,7 +135,7 @@ public class EduLeaveRequestServiceImpl extends ServiceImpl //发送企业微信通知 if (school.getSchoolType().contains("0")) { - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, + EduApp app = commonService.getAppByCodeAndSchool(AppConstant.TEACHER_LEAVE_REQUEST, null, staff.getSchoolId()); String accessToken = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); @@ -246,7 +246,7 @@ public class EduLeaveRequestServiceImpl extends ServiceImpl //通知企业微信对应家长 Dept dept = commonService.getDept(schoolId); if (dept.getSchoolType().contains("0")) { - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, + EduApp app = commonService.getAppByCodeAndSchool(AppConstant.TEACHER_LEAVE_REQUEST, null, schoolId); String accessToken = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); List list = new ArrayList<>(); diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/controller/EduLetterBoxConfigController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/controller/EduLetterBoxConfigController.java index bc77e35..e686019 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/controller/EduLetterBoxConfigController.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/controller/EduLetterBoxConfigController.java @@ -1,25 +1,21 @@ package com.yida.data.school.letter.controller; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.letter.EduLetterBoxConfig; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; +import com.yida.data.common.core.entity.letter.EduLetterBoxReplyPerson; import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.school.dto.letterbox.LetterBoxConfigDTO; import com.yida.data.school.letter.service.EduLetterBoxConfigService; import com.yida.data.school.letter.service.EduLetterBoxReplyPersonService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import java.util.List; -import javax.annotation.Resource; +import io.swagger.annotations.ApiParam; import org.springframework.cloud.context.config.annotation.RefreshScope; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; /** * @author ccl @@ -37,6 +33,7 @@ public class EduLetterBoxConfigController { @ApiOperation("滚动图列表") @GetMapping("/findBannerList") + @ControllerLog(operation = "撤回") public ResultBean> findBannerList() { return ResultBean.buildSuccess(configService.findBannerList(FebsUtil.getCurrentUser().getDeptId())); @@ -44,14 +41,16 @@ public class EduLetterBoxConfigController { @ApiOperation("滚动图列表") @GetMapping("/findConfig") + @ControllerLog(operation = "撤回") public ResultBean findConfig() { + return ResultBean.buildSuccess(configService.findConfig(FebsUtil.getCurrentUser().getDeptId())); } @ApiOperation("新增或修改配置") @PostMapping("/saveOrUpdateConfig") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "新增或修改配置", type = OperationLogTypeEnum.SAVE) + @ControllerLog(operation = "撤回") public ResultBean saveOrUpdateConfig(@RequestBody LetterBoxConfigDTO config) { replyPersonService.saveOrUpdateConfig(config,FebsUtil.getCurrentUser().getDeptId()); return ResultBean.buildSuccess(); diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/controller/EduLetterBoxController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/controller/EduLetterBoxController.java index 96104e1..7b3f07a 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/controller/EduLetterBoxController.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/controller/EduLetterBoxController.java @@ -9,16 +9,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.vdurmont.emoji.EmojiParser; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.CurrentUser; import com.yida.data.common.core.entity.letter.EduLetterBox; import com.yida.data.common.core.entity.letter.EduLetterBoxReply; import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; import com.yida.data.common.core.utils.FebsUtil; import com.yida.data.common.core.vo.NameValueVO; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.school.dto.letterbox.LetterBoxDTO; import com.yida.data.school.letter.mapper.EduLetterBoxMapper; import com.yida.data.school.letter.service.EduLetterBoxService; @@ -50,7 +47,6 @@ import org.springframework.web.client.RestTemplate; @RefreshScope @RequiredArgsConstructor public class EduLetterBoxController { - private final EduLetterBoxService eduLetterBoxService; private final EduLetterBoxMapper eduLetterBoxMapper; @@ -65,13 +61,14 @@ public class EduLetterBoxController { */ @ApiOperation("分页查询信箱列表") @GetMapping("/findLetterPageList") + @ControllerLog(operation = "分页查询信箱列表") public ResultBean> findLetterPageList(@ApiParam("问题名称") @RequestParam(required = false) String title, - @ApiParam("学校id") @RequestParam Long schoolId, - @ApiParam("信件类型") @RequestParam(required = false) String contentType, - @ApiParam("手机号") @RequestParam(required = false) String appPhone, - @ApiParam("是否已回复0=否,1是") @RequestParam Integer reply, - @ApiParam("页码") @RequestParam(defaultValue = "1") Integer pageNo, - @ApiParam("数量") @RequestParam(defaultValue = "10") Integer pageSize) { + @ApiParam("学校id") @RequestParam Long schoolId, + @ApiParam("信件类型") @RequestParam(required = false) String contentType, + @ApiParam("手机号") @RequestParam(required = false) String appPhone, + @ApiParam("是否已回复0=否,1是") @RequestParam Integer reply, + @ApiParam("页码") @RequestParam(defaultValue = "1") Integer pageNo, + @ApiParam("数量") @RequestParam(defaultValue = "10") Integer pageSize) { //查询分页数据 Page page = new Page(); page.setCurrent(pageNo); @@ -88,7 +85,7 @@ public class EduLetterBoxController { @ApiOperation("提交回复信息") @PostMapping("/submitReplyLetter") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "提交回复信息", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "提交回复信息") public ResultBean submitReplyLetter(@RequestBody EduLetterBox eduLetterBox) { CurrentUser currentUser = FebsUtil.getCurrentUser(); if (ObjectUtil.isEmpty(currentUser)) { @@ -109,7 +106,7 @@ public class EduLetterBoxController { */ @ApiOperation("提交审核") @PostMapping("/submitExamineLetter") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "提交审核", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "提交审核") public ResultBean submitExamineLetter(@RequestBody EduLetterBox eduLetterBox) { EduLetterBox eduLetterBox1 = eduLetterBoxMapper.selectById(eduLetterBox.getId()); if ("0".equals(eduLetterBox1.getStatus())) { @@ -128,7 +125,7 @@ public class EduLetterBoxController { */ @ApiOperation("撤回") @GetMapping("/retract") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "撤回", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "撤回") public ResultBean retract(@ApiParam("信箱id") @RequestParam Long id) { eduLetterBoxMapper.updateByReply(id); return ResultBean.buildSuccess(); @@ -137,7 +134,7 @@ public class EduLetterBoxController { @ApiOperation("批量公开") @PostMapping("/listOpenLetter") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "批量公开", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "批量公开") public ResultBean listOpenLetter(@RequestBody List ids) { Collection eduLetterBoxes = eduLetterBoxService.listByIds(ids); for (EduLetterBox eduLetterBox : eduLetterBoxes) { @@ -149,7 +146,7 @@ public class EduLetterBoxController { @ApiOperation("批量回复") @PostMapping("/listReplyLetter") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "批量回复", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "批量回复") public ResultBean listReplyLetter(@RequestBody LetterBoxDTO letterBoxDTO) { CurrentUser currentUser = FebsUtil.getCurrentUser(); Collection eduLetterBoxes = eduLetterBoxService.listByIds(letterBoxDTO.getIds()); @@ -159,11 +156,11 @@ public class EduLetterBoxController { @ApiOperation("进行置顶或公开操作") @GetMapping(value = "updateTopOrOpen") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "进行置顶或公开操作", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "进行置顶或公开操作") public ResultBean updateTopOrOpen(@ApiParam("信箱id") @RequestParam Long id, - @ApiParam("学校id") @RequestParam Long schoolId, - @ApiParam("1为置顶,null为取消置顶") @RequestParam(required = false) Integer top, - @ApiParam("1为公开,0为取消公开") @RequestParam(required = false) Integer open) { + @ApiParam("学校id") @RequestParam Long schoolId, + @ApiParam("1为置顶,null为取消置顶") @RequestParam(required = false) Integer top, + @ApiParam("1为公开,0为取消公开") @RequestParam(required = false) Integer open) { CurrentUser currentUser = FebsUtil.getCurrentUser(); if (ObjectUtil.isEmpty(currentUser)) { @@ -186,9 +183,9 @@ public class EduLetterBoxController { @ApiOperation("取消置顶") @GetMapping(value = "updateTop") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "取消置顶", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "取消置顶") public ResultBean updateTop(@ApiParam("信箱id") @RequestParam Long id, - @ApiParam("1为置顶,null为取消置顶") @RequestParam(required = false) Integer top) { + @ApiParam("1为置顶,null为取消置顶") @RequestParam(required = false) Integer top) { if (ObjectUtil.isEmpty(FebsUtil.getCurrentUser())) { return ResultBean.buildError("登录失效请重新登录"); @@ -199,7 +196,7 @@ public class EduLetterBoxController { @GetMapping("/viewLetter") public ResultBean viewLetter(Long id, String title, - Integer status, String contentType) { + Integer status, String contentType) { EduLetterBox eduLetterBox = eduLetterBoxMapper.selectById(id); if (StrUtil.isNotBlank(eduLetterBox.getContent())) { eduLetterBox.setContent(EmojiParser.parseToUnicode(eduLetterBox.getContent())); @@ -235,7 +232,7 @@ public class EduLetterBoxController { for (int i = 0; i < listViewLetter.size(); i++) { // 判断是否只有一条数据 if (Objects.equals(listViewLetter.get(0).getId(), id) && Objects - .equals(listViewLetter.get(listViewLetter.size() - 1).getId(), id)) { + .equals(listViewLetter.get(listViewLetter.size() - 1).getId(), id)) { previousShow = false; nextShow = false; break; @@ -276,16 +273,15 @@ public class EduLetterBoxController { @GetMapping("/getStaData") public ResultBean getStaData(String startDate, String endDate) { List schoolIds = remoteDeptService.getSchoolByArea(null, null).getData().stream().map(Dept::getDeptId).collect( - Collectors.toList()); - return ResultBean - .buildSuccess(eduLetterBoxService.getStaData(LocalDate.parse(startDate), LocalDate.parse(endDate), schoolIds)); + Collectors.toList()); + return ResultBean.buildSuccess(eduLetterBoxService.getStaData(LocalDate.parse(startDate), LocalDate.parse(endDate), schoolIds)); } @ApiOperation("校长信息标题词云") @GetMapping("/titleCloud") public ResultBean>> titleCloud(String startDate, String endDate) { List schoolIds = remoteDeptService.getSchoolByArea(null, null).getData().stream().map(Dept::getDeptId).collect( - Collectors.toList()); + Collectors.toList()); return ResultBean.buildSuccess(eduLetterBoxService.titleCloud(startDate, endDate, schoolIds)); } } diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/controller/H5EduLetterBoxController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/controller/H5EduLetterBoxController.java index 6420084..457502d 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/controller/H5EduLetterBoxController.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/controller/H5EduLetterBoxController.java @@ -7,16 +7,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.vdurmont.emoji.EmojiManager; import com.vdurmont.emoji.EmojiParser; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.CurrentUser; import com.yida.data.common.core.entity.letter.EduLetterBox; import com.yida.data.common.core.entity.letter.EduLetterBoxConfig; import com.yida.data.common.core.entity.letter.EduLetterBoxReply; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; import com.yida.data.common.core.utils.Asserts; import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.school.letter.service.EduLetterBoxReplyService; import com.yida.data.school.letter.service.EduLetterBoxService; import io.swagger.annotations.Api; @@ -35,7 +32,6 @@ import java.util.Optional; @RestController @RequestMapping(value = "/letter/H5/letter") public class H5EduLetterBoxController { - @Autowired private EduLetterBoxService eduLetterBoxService; @@ -51,16 +47,28 @@ public class H5EduLetterBoxController { * @apiParam {Integer} coreOrderId 参加的点单id:必传,作为判断 * @apiParam {String} header 用户头像 * @apiParam {String} nikeName 用户昵称 - * @apiParamExample {json} 请求样例: { coreOrderId : 1 appId : demoData nikeName : demoData header : demoData } + * @apiParamExample {json} 请求样例: + * { + * coreOrderId : 1 + * appId : demoData + * nikeName : demoData + * header : demoData + * } * @apiSuccess (200) {String} msg 信息 * @apiSuccess (200) {int} code 200 代表无错误 其他 代表错误 * @apiSuccess (200) {int} count 总条数 * @apiSuccess (200) {object} data 数据详情 - * @apiSuccessExample {json} 返回样例: { "code": 200, "msg": "操作成功", "count": 0, "data": null } + * @apiSuccessExample {json} 返回样例: + * { + * "code": 200, + * "msg": "操作成功", + * "count": 0, + * "data": null + * } */ @ApiOperation("新增信箱提问") @PostMapping("/addLetter") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "新增信箱提问", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "新增信箱提问") public ResultBean addLetter(@RequestBody EduLetterBox eduLetterBox) { CurrentUser currentUser = FebsUtil.getCurrentUser(); if (ObjectUtil.isEmpty(currentUser)) { @@ -76,7 +84,7 @@ public class H5EduLetterBoxController { if (EmojiManager.containsEmoji(eduLetterBox.getTitle())) { return ResultBean.buildError("标题不能含有表情符号"); } - eduLetterBoxService.addLetter(eduLetterBox, currentUser); + eduLetterBoxService.addLetter(eduLetterBox,currentUser); return ResultBean.buildSuccess(); } @@ -88,15 +96,16 @@ public class H5EduLetterBoxController { */ @ApiOperation("分页信箱列表") @GetMapping("/findLetterPageList") + @ControllerLog(operation = "分页查询信息列表") public ResultBean> findLetterPageList(@RequestParam(defaultValue = "1") Integer pageNo, - @RequestParam(defaultValue = "10") Integer pageSize, - @ApiParam("学校id") @RequestParam Long schoolId, - @ApiParam("标题") @RequestParam(required = false) String title, - @ApiParam("浏览次数传0按照创建时间排序,传1按照浏览数量排序") @RequestParam(required = false) Integer viewsNum, - @ApiParam("identityId") @RequestParam(required = false) Long identityId) { + @RequestParam(defaultValue = "10") Integer pageSize, + @ApiParam("学校id") @RequestParam Long schoolId, + @ApiParam("标题") @RequestParam(required = false) String title, + @ApiParam("浏览次数传0按照创建时间排序,传1按照浏览数量排序") @RequestParam(required = false) Integer viewsNum, + @ApiParam("identityId") @RequestParam(required = false) Long identityId) { Asserts.isNotNull(schoolId, "学校id为空"); IPage list = eduLetterBoxService.findViewList(new Page(pageNo, pageSize), title, schoolId, - identityId, viewsNum); + identityId, viewsNum); return ResultBean.buildSuccess(list); } @@ -108,8 +117,10 @@ public class H5EduLetterBoxController { */ @ApiOperation("查询信箱详情") @GetMapping("/getLetter") + @ControllerLog(operation = "当前提问详情") public ResultBean getLetter(@ApiParam("信箱表id") @RequestParam Integer id) { + if (ObjectUtil.isEmpty(id)) { return ResultBean.buildError("id为空"); } @@ -126,11 +137,11 @@ public class H5EduLetterBoxController { */ @ApiOperation("回复信箱") @PostMapping("/replyLetter") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "回复信箱", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "回复信箱") public ResultBean replyLetter(@RequestBody EduLetterBox eduLetterBox) { if (ObjectUtil.isEmpty(eduLetterBox.getIdentityId()) || - ObjectUtil.isEmpty(eduLetterBox.getReplyContent()) || - ObjectUtil.isEmpty(eduLetterBox.getId())) { + ObjectUtil.isEmpty(eduLetterBox.getReplyContent()) || + ObjectUtil.isEmpty(eduLetterBox.getId())) { return ResultBean.buildError("需传入id,appId,replyContent"); } // 需要处理是处理初次提问的问题还是追问的问题 @@ -151,11 +162,11 @@ public class H5EduLetterBoxController { @ApiOperation("信箱点赞") @GetMapping("/upOrDownLetter") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "信箱点赞", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "信箱点赞") public ResultBean upOrDownLetter(@ApiParam("信箱表id") @RequestParam Integer letterId, - @ApiParam("0为有用,1为没用") @RequestParam Integer status, - @ApiParam("0为点赞,1为取消") @RequestParam Integer type) { - eduLetterBoxService.upOrDownLetter(letterId, status, FebsUtil.getCurrentUser().getUserId(), type); + @ApiParam("0为有用,1为没用") @RequestParam Integer status, + @ApiParam("0为点赞,1为取消") @RequestParam Integer type) { + eduLetterBoxService.upOrDownLetter(letterId, status, FebsUtil.getCurrentUser().getUserId(),type); return ResultBean.buildSuccess(); } diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/controller/out/OutEduLetterBoxController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/controller/out/OutEduLetterBoxController.java index 2ab9420..24bb0f5 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/controller/out/OutEduLetterBoxController.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/controller/out/OutEduLetterBoxController.java @@ -11,16 +11,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.vdurmont.emoji.EmojiManager; import com.vdurmont.emoji.EmojiParser; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.CurrentUser; import com.yida.data.common.core.entity.letter.EduLetterBox; import com.yida.data.common.core.entity.letter.EduLetterBoxConfig; import com.yida.data.common.core.entity.letter.EduLetterBoxReply; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; import com.yida.data.common.core.utils.FebsUtil; import com.yida.data.common.core.vo.NameValueVO; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.school.dto.letterbox.LetterBoxConfigDTO; import com.yida.data.school.dto.letterbox.LetterBoxDTO; import com.yida.data.school.letter.mapper.EduLetterBoxMapper; @@ -103,16 +100,28 @@ public class OutEduLetterBoxController { * @apiParam {Integer} coreOrderId 参加的点单id:必传,作为判断 * @apiParam {String} header 用户头像 * @apiParam {String} nikeName 用户昵称 - * @apiParamExample {json} 请求样例: { coreOrderId : 1 appId : demoData nikeName : demoData header : demoData } + * @apiParamExample {json} 请求样例: + * { + * coreOrderId : 1 + * appId : demoData + * nikeName : demoData + * header : demoData + * } * @apiSuccess (200) {String} msg 信息 * @apiSuccess (200) {int} code 200 代表无错误 其他 代表错误 * @apiSuccess (200) {int} count 总条数 * @apiSuccess (200) {object} data 数据详情 - * @apiSuccessExample {json} 返回样例: { "code": 200, "msg": "操作成功", "count": 0, "data": null } + * @apiSuccessExample {json} 返回样例: + * { + * "code": 200, + * "msg": "操作成功", + * "count": 0, + * "data": null + * } */ @ApiOperation("新增信箱提问") @PostMapping("/addLetter") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "新增信箱提问", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "新增信箱提问") public ResultBean addLetter(@RequestBody EduLetterBox eduLetterBox) { CurrentUser currentUser = new CurrentUser(); @@ -120,7 +129,7 @@ public class OutEduLetterBoxController { return ResultBean.buildError("标题不能含有表情符号"); } - eduLetterBoxService.addLetter(eduLetterBox, currentUser); + eduLetterBoxService.addLetter(eduLetterBox,currentUser); return ResultBean.buildSuccess(); } @@ -132,8 +141,10 @@ public class OutEduLetterBoxController { */ @ApiOperation("查询信箱详情") @GetMapping("/getLetter") + @ControllerLog(operation = "当前提问详情") public ResultBean getLetter(@ApiParam("信箱表id") @RequestParam Integer id) { + if (ObjectUtil.isEmpty(id)) { return ResultBean.buildError("id为空"); } @@ -150,11 +161,11 @@ public class OutEduLetterBoxController { */ @ApiOperation("回复信箱") @PostMapping("/replyLetter") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "回复信箱", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "回复信箱") public ResultBean replyLetter(@RequestBody EduLetterBox eduLetterBox) { if (ObjectUtil.isEmpty(eduLetterBox.getIdentityId()) || - ObjectUtil.isEmpty(eduLetterBox.getReplyContent()) || - ObjectUtil.isEmpty(eduLetterBox.getId())) { + ObjectUtil.isEmpty(eduLetterBox.getReplyContent()) || + ObjectUtil.isEmpty(eduLetterBox.getId())) { return ResultBean.buildError("需传入id,appId,replyContent"); } // 需要处理是处理初次提问的问题还是追问的问题 @@ -175,11 +186,11 @@ public class OutEduLetterBoxController { @ApiOperation("信箱点赞") @GetMapping("/upOrDownLetter") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "信箱点赞", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "信箱点赞") public ResultBean upOrDownLetter(@ApiParam("信箱表id") @RequestParam Integer letterId, - @ApiParam("0为有用,1为没用") @RequestParam Integer status, - @ApiParam("0为点赞,1为取消") @RequestParam Integer type) { - eduLetterBoxService.upOrDownLetter(letterId, status, FebsUtil.getCurrentUser().getUserId(), type); + @ApiParam("0为有用,1为没用") @RequestParam Integer status, + @ApiParam("0为点赞,1为取消") @RequestParam Integer type) { + eduLetterBoxService.upOrDownLetter(letterId, status, FebsUtil.getCurrentUser().getUserId(),type); return ResultBean.buildSuccess(); } @@ -190,13 +201,14 @@ public class OutEduLetterBoxController { */ @ApiOperation("分页查询信箱列表") @GetMapping("/findLetterPageList") + @ControllerLog(operation = "分页查询信箱列表") public ResultBean> findLetterPageList(@ApiParam("问题名称") @RequestParam(required = false) String title, - @ApiParam("学校id") @RequestParam Long schoolId, - @ApiParam("信件类型") @RequestParam(required = false) String contentType, - @ApiParam("手机号") @RequestParam(required = false) String appPhone, - @ApiParam("是否已回复0=否,1是") @RequestParam Integer reply, - @ApiParam("页码") @RequestParam(defaultValue = "1") Integer pageNo, - @ApiParam("数量") @RequestParam(defaultValue = "10") Integer pageSize) { + @ApiParam("学校id") @RequestParam Long schoolId, + @ApiParam("信件类型") @RequestParam(required = false) String contentType, + @ApiParam("手机号") @RequestParam(required = false) String appPhone, + @ApiParam("是否已回复0=否,1是") @RequestParam Integer reply, + @ApiParam("页码") @RequestParam(defaultValue = "1") Integer pageNo, + @ApiParam("数量") @RequestParam(defaultValue = "10") Integer pageSize) { //查询分页数据 Page page = new Page(); page.setCurrent(pageNo); @@ -213,7 +225,7 @@ public class OutEduLetterBoxController { @ApiOperation("提交回复信息") @PostMapping("/submitReplyLetter") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "提交回复信息", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "提交回复信息") public ResultBean submitReplyLetter(@RequestBody EduLetterBox eduLetterBox) { if (ObjectUtil.isEmpty(eduLetterBox.getReplyContent())) { @@ -231,7 +243,7 @@ public class OutEduLetterBoxController { */ @ApiOperation("提交审核") @PostMapping("/submitExamineLetter") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "提交审核", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "提交审核") public ResultBean submitExamineLetter(@RequestBody EduLetterBox eduLetterBox) { EduLetterBox eduLetterBox1 = eduLetterBoxMapper.selectById(eduLetterBox.getId()); if ("0".equals(eduLetterBox1.getStatus())) { @@ -250,7 +262,7 @@ public class OutEduLetterBoxController { */ @ApiOperation("撤回") @GetMapping("/retract") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "撤回", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "撤回") public ResultBean retract(@ApiParam("信箱id") @RequestParam Long id) { eduLetterBoxMapper.updateByReply(id); return ResultBean.buildSuccess(); @@ -259,7 +271,7 @@ public class OutEduLetterBoxController { @ApiOperation("批量公开") @PostMapping("/listOpenLetter") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "批量公开", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "批量公开") public ResultBean listOpenLetter(@RequestBody List ids) { Collection eduLetterBoxes = eduLetterBoxService.listByIds(ids); for (EduLetterBox eduLetterBox : eduLetterBoxes) { @@ -271,7 +283,7 @@ public class OutEduLetterBoxController { @ApiOperation("批量回复") @PostMapping("/listReplyLetter") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "批量回复", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "批量回复") public ResultBean listReplyLetter(@RequestBody LetterBoxDTO letterBoxDTO) { CurrentUser currentUser = FebsUtil.getCurrentUser(); Collection eduLetterBoxes = eduLetterBoxService.listByIds(letterBoxDTO.getIds()); @@ -281,11 +293,11 @@ public class OutEduLetterBoxController { @ApiOperation("进行置顶或公开操作") @GetMapping(value = "updateTopOrOpen") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "进行置顶或公开操作", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "进行置顶或公开操作") public ResultBean updateTopOrOpen(@ApiParam("信箱id") @RequestParam Long id, - @ApiParam("学校id") @RequestParam Long schoolId, - @ApiParam("1为置顶,null为取消置顶") @RequestParam(required = false) Integer top, - @ApiParam("1为公开,0为取消公开") @RequestParam(required = false) Integer open) { + @ApiParam("学校id") @RequestParam Long schoolId, + @ApiParam("1为置顶,null为取消置顶") @RequestParam(required = false) Integer top, + @ApiParam("1为公开,0为取消公开") @RequestParam(required = false) Integer open) { if (ObjectUtil.isNotEmpty(top)) { Integer num = eduLetterBoxMapper.getTopNum(schoolId); @@ -303,9 +315,10 @@ public class OutEduLetterBoxController { @ApiOperation("取消置顶") @GetMapping(value = "updateTop") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "取消置顶", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "取消置顶") public ResultBean updateTop(@ApiParam("信箱id") @RequestParam Long id, - @ApiParam("1为置顶,null为取消置顶") @RequestParam(required = false) Integer top) { + @ApiParam("1为置顶,null为取消置顶") @RequestParam(required = false) Integer top) { + eduLetterBoxMapper.updateTop(id, top); return ResultBean.buildSuccess(); @@ -313,7 +326,7 @@ public class OutEduLetterBoxController { @GetMapping("/viewLetter") public ResultBean viewLetter(Long id, String title, - Integer status, String contentType) { + Integer status, String contentType) { EduLetterBox eduLetterBox = eduLetterBoxMapper.selectById(id); if (StrUtil.isNotBlank(eduLetterBox.getContent())) { eduLetterBox.setContent(EmojiParser.parseToUnicode(eduLetterBox.getContent())); @@ -349,7 +362,7 @@ public class OutEduLetterBoxController { for (int i = 0; i < listViewLetter.size(); i++) { // 判断是否只有一条数据 if (Objects.equals(listViewLetter.get(0).getId(), id) && Objects - .equals(listViewLetter.get(listViewLetter.size() - 1).getId(), id)) { + .equals(listViewLetter.get(listViewLetter.size() - 1).getId(), id)) { previousShow = false; nextShow = false; break; @@ -388,6 +401,7 @@ public class OutEduLetterBoxController { @ApiOperation("查询滚动图列表") @GetMapping("/findBannerList") + @ControllerLog(operation = "查询滚动图列表") public ResultBean> findBannerList(@RequestParam Long deptId) { return ResultBean.buildSuccess(configService.findBannerList(deptId)); @@ -395,6 +409,7 @@ public class OutEduLetterBoxController { @ApiOperation("查询学校对应配置") @GetMapping("/findConfig") + @ControllerLog(operation = "查询学校对应配置") public ResultBean findConfig(@RequestParam Long deptId) { return ResultBean.buildSuccess(configService.findConfig(deptId)); @@ -403,9 +418,9 @@ public class OutEduLetterBoxController { @ApiOperation("新增或修改配置") @PostMapping("/saveOrUpdateConfig") - @OperationLog(module = ModuleName.LETTER_BOX, methods = "新增或修改配置", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "新增或修改配置") public ResultBean saveOrUpdateConfig(@RequestBody LetterBoxConfigDTO config) { - replyPersonService.saveOrUpdateConfig(config, config.getDeptId()); + replyPersonService.saveOrUpdateConfig(config,config.getDeptId()); return ResultBean.buildSuccess(); } } diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/service/impl/EduLetterBoxServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/service/impl/EduLetterBoxServiceImpl.java index 065f580..9cde1e7 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/service/impl/EduLetterBoxServiceImpl.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/letter/service/impl/EduLetterBoxServiceImpl.java @@ -163,7 +163,7 @@ public class EduLetterBoxServiceImpl extends ServiceImpl list = new ArrayList<>(); - List userList = redisService.lGet(AppConstant.INDEX_PARENT + letterId, 0L, -1L); + List userList = redisService.lGet(AppConstant.LETTER_BOX_LIKE + letterId.toString(), 0L, -1L); for (Object o : userList) { String id = String.valueOf(o); list.add(Long.valueOf(id)); } list.add(userId); - redisService.llSet(AppConstant.INDEX_PARENT + letterId, list); + redisService.llSet(AppConstant.LETTER_BOX_LIKE + letterId.toString(), list); } else { List userList = new ArrayList<>(); userList.add(userId); - redisService.llSet(AppConstant.INDEX_PARENT + letterId, userList); + redisService.llSet(AppConstant.LETTER_BOX_LIKE + letterId.toString(), userList); } } //没用 else if (status == 1) { - if (redisService.hasKey(AppConstant.INDEX_PARENT + "d" + letterId.toString())) { + if (redisService.hasKey(AppConstant.LETTER_BOX_DISLIKE + letterId.toString())) { List list = new ArrayList<>(); - List userList = redisService.lGet(AppConstant.INDEX_PARENT + "d" + letterId, 0L, -1L); + List userList = redisService.lGet(AppConstant.LETTER_BOX_DISLIKE + letterId.toString(), 0L, -1L); for (Object o : userList) { String id = String.valueOf(o); list.add(Long.valueOf(id)); } list.add(userId); - redisService.llSet(AppConstant.INDEX_PARENT + "d" + letterId, list); + redisService.llSet(AppConstant.LETTER_BOX_DISLIKE + letterId.toString(), list); } else { List userList = new ArrayList<>(); userList.add(userId); - redisService.llSet(AppConstant.INDEX_PARENT + "d" + letterId, userList); + redisService.llSet(AppConstant.LETTER_BOX_DISLIKE + letterId.toString(), userList); } } } //取消点赞 else { - if (redisService.hasKey(AppConstant.INDEX_PARENT + "d" + letterId)) { + if (redisService.hasKey(AppConstant.LETTER_BOX_DISLIKE + letterId.toString())) { List list = new ArrayList<>(); - List userList = redisService.lGet(AppConstant.INDEX_PARENT + "d" + letterId, 0L, -1L); + List userList = redisService.lGet(AppConstant.LETTER_BOX_DISLIKE + letterId.toString(), 0L, -1L); for (Object o : userList) { String id = String.valueOf(o); list.add(Long.valueOf(id)); @@ -280,12 +280,12 @@ public class EduLetterBoxServiceImpl extends ServiceImpl list = new ArrayList<>(); - List userList = redisService.lGet(AppConstant.INDEX_PARENT + letterId, 0L, -1L); + List userList = redisService.lGet(AppConstant.LETTER_BOX_LIKE + letterId.toString(), 0L, -1L); if (CollectionUtil.isNotEmpty(userList)) { for (Object o : userList) { String id = String.valueOf(o); @@ -293,7 +293,7 @@ public class EduLetterBoxServiceImpl extends ServiceImpl list = new ArrayList<>(); - List userList = redisService.lGet(AppConstant.INDEX_PARENT + "d" + eduLetterBox.getId(), 0L, -1L); + List userList = redisService.lGet(AppConstant.LETTER_BOX_DISLIKE + eduLetterBox.getId().toString(), 0L, -1L); for (Object o : userList) { String id = String.valueOf(o); list.add(Long.valueOf(id)); @@ -396,10 +396,10 @@ public class EduLetterBoxServiceImpl extends ServiceImpl list = new ArrayList<>(); - List userList = redisService.lGet(AppConstant.INDEX_PARENT + eduLetterBox.getId().toString(), 0L, -1L); + List userList = redisService.lGet(AppConstant.LETTER_BOX_LIKE + eduLetterBox.getId().toString(), 0L, -1L); for (Object o : userList) { String id = String.valueOf(o); list.add(Long.valueOf(id)); diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/news/controller/EduSchoolManuscriptController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/news/controller/EduSchoolManuscriptController.java index c4249e4..9e64636 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/news/controller/EduSchoolManuscriptController.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/news/controller/EduSchoolManuscriptController.java @@ -22,6 +22,7 @@ import com.yida.data.system.feign.RemoteDeptService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import java.util.Map; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @@ -72,6 +73,7 @@ public class EduSchoolManuscriptController { pageSize), schoolId, keyword, author, publishDate, path, notShowId, type, status, label)); } + @ApiOperation("保存、编辑稿件") @PostMapping("/saveManuscript") public ResultBean saveManuscript(@RequestBody EduSchoolManuscript manuscript) { @@ -151,4 +153,12 @@ public class EduSchoolManuscriptController { .in(EduSchoolManuscript::getSchoolId, schoolIds) .eq(EduSchoolManuscript::getType, type)) : 0); } + + @ApiOperation("查询稿件可以发布的位置") + @GetMapping("/getManuscriptPublishPath") + public ResultBean> getManuscriptPublishPath() { + return ResultBean.buildSuccess(null); + } + + } diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/news/service/EduSchoolManuscriptService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/news/service/EduSchoolManuscriptService.java index a38a321..5bce83a 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/news/service/EduSchoolManuscriptService.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/news/service/EduSchoolManuscriptService.java @@ -45,4 +45,5 @@ public interface EduSchoolManuscriptService extends IService findManuscriptByLabel(Page page, String label); + } diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/news/service/impl/EduNoticeBuyServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/news/service/impl/EduNoticeBuyServiceImpl.java index 99b898b..8dff873 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/news/service/impl/EduNoticeBuyServiceImpl.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/news/service/impl/EduNoticeBuyServiceImpl.java @@ -143,7 +143,7 @@ public class EduNoticeBuyServiceImpl extends ServiceImpl implements EduSchoolManuscriptService { + implements EduSchoolManuscriptService { private final static String JOB_BEAN_NAME = "schoolManuscriptTask"; private final static String JOB_METHOD_NAME = "publishManuscript"; private static final Pattern BASE64_IMG_HEAD_PATTERN = Pattern - .compile("\\s*data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;" + - "base64)?,([A-Za-z0-9+/]{4}){2,}(?:[A-Za-z0-9+=]{4})"); + .compile("\\s*data:([a-z]+\\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;" + + "base64)?,([A-Za-z0-9+/]{4}){2,}(?:[A-Za-z0-9+=]{4})"); private static final Pattern BASE64_IMG_PATTERN = Pattern.compile("([A-Za-z0-9+/]{4}){2,}(?:[A-Za-z0-9+=]{4})"); private static final Pattern URL_IMG_PATTERN = Pattern.compile("http:\\/\\/((?!http:\\/\\/).)+?(\\.jpg|\\.png)"); - // private static final Pattern URL_IMG_PATTERN_MINE = Pattern -// .compile("http:\\/\\/((?!https:\\/\\/).)+?(\\/jpg|\\/png|\\/GIF|\\/gif|\\/PNG|\\/JPG)"); - private static final String URL_IMG_PATTERN_MINE = "((http|https|ftp):\\/\\/)?([\\w\\-]+\\.)+[\\w\\-]+(:[0-9]+)?(/[\\w \\-.~!*:@&=+$,/?#%]*)"; - // private static final String LOCAL_IMG_URL_HRAD = "http://zbz.yd-data.com"; + private static final String URL_IMG_PATTERN_MINE = "((http|https|ftp):\\/\\/)?([\\w\\-]+\\.)+[\\w\\-]+(:[0-9]+)?(/[\\w \\-.~!*:@&=+$,/?#%;]*)"; private static final ExecutorService PUBLISH_THREAD_POOL = - new ThreadPoolExecutor(5, 10, 30, TimeUnit.SECONDS, new LinkedBlockingQueue<>()); + new ThreadPoolExecutor(5, 10, 30, TimeUnit.SECONDS, new LinkedBlockingQueue<>()); private final RemoteJobService remoteJobService; private final EduSchoolHomeAnnouncementMapper eduSchoolHomeAnnouncementMapper; private final EduSchoolManuscriptAuthorMapper eduSchoolManuscriptAuthorMapper; @@ -96,12 +94,14 @@ public class EduSchoolManuscriptServiceImpl extends ServiceImpl @Value("${febs.uploadUrl}") private String uploadUrl; + private final TransactionTemplate transactionTemplate; + @Override public IPage listManuscriptPage(Page page, Long schoolId, String keyword, - String author, String publishDate, Integer path, - Long notShowId, Integer type, Integer status, Integer label) { + String author, String publishDate, Integer path, + Long notShowId, Integer type, Integer status, Integer label) { IPage ipage = baseMapper.listManuscriptPage(page, schoolId, keyword, author, - publishDate, path, notShowId, type, status, label); + publishDate, path, notShowId, type, status, label); for (ManuscriptPageInfoVO record : ipage.getRecords()) { String htmlStr = HtmlUtil.cleanHtmlTag(record.getContent()); if (StrUtil.isBlank(htmlStr) || htmlStr.length() < 50) { @@ -128,156 +128,179 @@ public class EduSchoolManuscriptServiceImpl extends ServiceImpl } @Override - @Transactional(rollbackFor = Exception.class) public void saveManuscript(EduSchoolManuscript manuscript, String key) { - redisService - .hset(CachePrefixConstant.ADD_MANUSCRIPT_PROGRESS, key, AddManuscriptProgress.builder().key(key).finish(0).build()); - + // 添加处理进度 AddManuscriptProgress addManuscriptProgress = new AddManuscriptProgress(); addManuscriptProgress.setKey(key); - - Dept school = commonService.getDept(manuscript.getSchoolId()); - if (StrUtil.isBlank(school.getWxPublicAppId()) && manuscript.getPublishPath() - .contains(EduSchoolManuscript.WX_PUBLIC_PATH)) { - addManuscriptProgress.setFinish(1); - addManuscriptProgress.setErrorMsg("该学校未绑定微信公众号"); + try { + // 添加初始缓存 redisService - .hset(CachePrefixConstant.ADD_MANUSCRIPT_PROGRESS, key, addManuscriptProgress); + .hset(CachePrefixConstant.ADD_MANUSCRIPT_PROGRESS, key, AddManuscriptProgress.builder().key(key).finish(0).build()); - throw new FebsException("该学校未绑定微信公众号"); -// Asserts.isFalse(StrUtil.isBlank(school.getWxPublicAppId()) && manuscript.getPublishPath() -// .contains(EduSchoolManuscript.WX_PUBLIC_PATH), "该学校未绑定微信公众号"); - } - - if (school.getSchoolType().contains(Dept.TYPE_YIDA_APP)) { - EduSchoolManuscriptAuthor author = eduSchoolManuscriptAuthorMapper.selectById(manuscript.getAuthorId()); - if (StrUtil.isBlank(author.getYidaAppUserId())) { - addManuscriptProgress.setFinish(1); - addManuscriptProgress.setErrorMsg("该作者未在易达APP中创建,请选择其他作者"); - redisService - .hset(CachePrefixConstant.ADD_MANUSCRIPT_PROGRESS, key, addManuscriptProgress); - throw new FebsException("该作者未在易达APP中创建,请选择其他作者"); + Dept school = commonService.getDept(manuscript.getSchoolId()); + if (StrUtil.isBlank(school.getWxPublicAppId()) && manuscript.getPublishPath() + .contains(EduSchoolManuscript.WX_PUBLIC_PATH)) { + addManuscriptProgress.setErrorMsg("该学校未绑定微信公众号"); + throw new FebsException("该学校未绑定微信公众号"); } -// Asserts.isTrue(StrUtil.isNotBlank(author.getYidaAppUserId()), "该作者未在易达APP中创建,请选择其他作者"); - } - // 正则匹配base64为url - Matcher matcher1 = BASE64_IMG_HEAD_PATTERN.matcher(manuscript.getContent()); - Matcher matcher2 = BASE64_IMG_PATTERN.matcher(manuscript.getContent()); - List saveMatter = new ArrayList<>(); - if (matcher1.find()) { - matcher2.find(); - for (int i = 0; i < matcher1.groupCount(); i++) { - String base64 = matcher1.group(i); - if (base64 == null || base64.length() < 22 || matcher2.group(i) == null || StrUtil - .isBlankIfStr(matcher2.group(i))) { - continue; + + if (school.getSchoolType().contains(Dept.TYPE_YIDA_APP)) { + EduSchoolManuscriptAuthor author = eduSchoolManuscriptAuthorMapper.selectById(manuscript.getAuthorId()); + if (StrUtil.isBlank(author.getYidaAppUserId())) { + addManuscriptProgress.setErrorMsg("该作者未在易达APP中创建,请选择其他作者"); + throw new FebsException("该作者未在易达APP中创建,请选择其他作者"); } - String base64Code = matcher2.group(i); - String url = remoteCommonService.uploadImg(base64Code).getData(); - manuscript.setContent(manuscript.getContent().replace(base64, url)); } - } - //正则匹配非本地媒资系统URL - List urlList = ReUtil.findAll(URL_IMG_PATTERN_MINE, manuscript.getContent(), 0, new ArrayList<>()); - log.info("匹配出的图片:【{}】", urlList); - for (String url : urlList) { - if (url == null || url.length() < 12 || url.contains(uploadUrl)) { - continue; + // 正则匹配base64为url + Matcher matcher1 = BASE64_IMG_HEAD_PATTERN.matcher(manuscript.getContent()); + Matcher matcher2 = BASE64_IMG_PATTERN.matcher(manuscript.getContent()); + List saveMatter = new ArrayList<>(); + if (matcher1.find()) { + matcher2.find(); + for (int i = 0; i < matcher1.groupCount(); i++) { + try { + String base64 = matcher1.group(i); + if (base64 == null || base64.length() < 22 || matcher2.group(i) == null || StrUtil + .isBlankIfStr(matcher2.group(i))) { + continue; + } + String base64Code = matcher2.group(i); + String url = remoteCommonService.uploadImg(base64Code).getData(); + manuscript.setContent(manuscript.getContent().replace(base64, url)); + } catch (Exception e) { + log.error("处理base图片失败", e); + } + } } - String path = com.yida.data.common.core.utils.FileUtil.downloadToLocal(url); - - log.info("缓存本地图片地址:【{}】", path); - //上传本地媒资系统 - String newUrl = com.yida.data.common.core.utils.FileUtil.uploadFileToMediaServer(uploadUrl, path); - FileUtil.del(path); - manuscript.setContent(manuscript.getContent().replace(url, newUrl)); - } - // 上传图片到素材库 - if (CollUtil.isNotEmpty(saveMatter)) { - List list = eduSchoolMatterService.list(Wrappers.lambdaQuery(new EduSchoolMatter()) - .eq(EduSchoolMatter::getSchoolId, manuscript.getSchoolId()) - .in(EduSchoolMatter::getUrl, saveMatter) - .select(EduSchoolMatter::getUrl)); - if (CollUtil.isNotEmpty(list)) { - // 已存在的素材库 - List collect = list.stream().map(x -> x.getUrl()).collect(Collectors.toList()); - saveMatter = saveMatter.stream().filter(x -> !collect.contains(x)).collect(Collectors.toList()); + //正则匹配非本地媒资系统URL + List urlList = ReUtil.findAll(URL_IMG_PATTERN_MINE, manuscript.getContent(), 0, new ArrayList<>()); + log.info("匹配出的图片:【{}】", urlList); + for (String url : urlList) { + try { + if (url == null || url.length() < 12 || url.contains(uploadUrl)) { + continue; + } + String path = com.yida.data.common.core.utils.FileUtil.downloadToLocal(url); + log.info("缓存本地图片地址:【{}】", path); + // 上传本地媒资系统 +// String base64 = com.yida.data.common.core.utils.FileUtil.convertFileToBase64(new File(path)); +// String newUrl = remoteCommonService.uploadImg(base64).getData(); + String newUrl = com.yida.data.common.core.utils.FileUtil.uploadFileToMediaServer(uploadUrl, path); + FileUtil.del(path); + manuscript.setContent(manuscript.getContent().replace(url, newUrl)); + } catch (Exception e) { + log.error("处理图片失败, url: {}", url, e); + } } + // 上传图片到素材库 if (CollUtil.isNotEmpty(saveMatter)) { - eduSchoolMatterService.saveMatterBatch(saveMatter, manuscript.getSchoolId(), 0); + List list = eduSchoolMatterService.list(Wrappers.lambdaQuery(new EduSchoolMatter()) + .eq(EduSchoolMatter::getSchoolId, manuscript.getSchoolId()) + .in(EduSchoolMatter::getUrl, saveMatter) + .select(EduSchoolMatter::getUrl)); + if (CollUtil.isNotEmpty(list)) { + // 已存在的素材库 + List collect = list.stream().map(EduSchoolMatter::getUrl).collect(Collectors.toList()); + saveMatter = saveMatter.stream().filter(x -> !collect.contains(x)).collect(Collectors.toList()); + } + if (CollUtil.isNotEmpty(saveMatter)) { + eduSchoolMatterService.saveMatterBatch(saveMatter, manuscript.getSchoolId(), 0); + } } + // 使用编程式事务 + transactionTemplate.executeWithoutResult(transactionStatus -> { + try { + saveOrUpdate(manuscript); + if (CollUtil.isNotEmpty(manuscript.getTags())) { + List labels = manuscript.getTags(); + List list = new ArrayList<>(); + for (Long label : labels) { + EduSchoolManuscriptLabel eduSchoolManuscriptLabel = new EduSchoolManuscriptLabel(); + eduSchoolManuscriptLabel.setLabel(label); + eduSchoolManuscriptLabel.setManuscriptId(manuscript.getId()); + list.add(eduSchoolManuscriptLabel); + } + labelService.saveBatch(list); + } + if (Objects.isNull(manuscript.getContentType())) { + // 如果没有则默认为文章类型 + manuscript.setContentType(1); + } + if (manuscript.getStatus() != 0 && manuscript.getContentType() != 2) { + if (manuscript.getIsTiming() == 0) { + // 定时发送 + StringBuilder cron = new StringBuilder(); + // cron表达式 + cron.append("0") + .append(" ") + .append(manuscript.getPublishDate().getMinute()) + .append(" ") + .append(manuscript.getPublishDate().getHour()) + .append(" ") + .append(manuscript.getPublishDate().getDayOfMonth()) + .append(" ") + .append(manuscript.getPublishDate().getMonthValue()) + .append(" ") + .append("?") + .append(" ") + .append(manuscript.getPublishDate().getYear()); + Job job = new Job(); + job.setBeanName(JOB_BEAN_NAME); + job.setMethodName(JOB_METHOD_NAME); + job.setParams(manuscript.getId().toString()); + job.setCronExpression(cron.toString()); + job.setRemark(String.format("学校稿件定时发送,name:[%s],id:[%d]", manuscript.getTitle(), + manuscript.getId())); + job.setStatus(Job.ScheduleStatus.NORMAL.getValue()); + remoteJobService.saveJob(job); + } else { + // 立即发送 + manuscript.setPublishDate(LocalDateTime.now()); + updateById(manuscript); + publishManuscript(manuscript); + } + } + } catch (Exception e) { + // 手动回滚事务 + transactionStatus.setRollbackOnly(); + } + }); + } catch (Exception e) { + throw new FebsException(e instanceof FebsException ? e.getMessage() : "保存失败"); + } finally { + // 添加完成信息 + addManuscriptProgress.setFinish(1); + redisService + .hset(CachePrefixConstant.ADD_MANUSCRIPT_PROGRESS, key, addManuscriptProgress); } - saveOrUpdate(manuscript); - if (CollUtil.isNotEmpty(manuscript.getTags())) { - List labels = manuscript.getTags(); - List list = new ArrayList<>(); - for (Long label : labels) { - EduSchoolManuscriptLabel eduSchoolManuscriptLabel = new EduSchoolManuscriptLabel(); - eduSchoolManuscriptLabel.setLabel(label); - eduSchoolManuscriptLabel.setManuscriptId(manuscript.getId()); - list.add(eduSchoolManuscriptLabel); - } - labelService.saveBatch(list); - } - if (Objects.isNull(manuscript.getContentType())) { - // 如果没有则默认为文章类型 - manuscript.setContentType(1); - } - if (manuscript.getStatus() != 0 && manuscript.getContentType() != 2) { - if (manuscript.getIsTiming() == 0) { - // 定时发送 - StringBuilder cron = new StringBuilder(); - // cron表达式 - cron.append("0") - .append(" ") - .append(manuscript.getPublishDate().getMinute()) - .append(" ") - .append(manuscript.getPublishDate().getHour()) - .append(" ") - .append(manuscript.getPublishDate().getDayOfMonth()) - .append(" ") - .append(manuscript.getPublishDate().getMonthValue()) - .append(" ") - .append("?") - .append(" ") - .append(manuscript.getPublishDate().getYear()); - Job job = new Job(); - job.setBeanName(JOB_BEAN_NAME); - job.setMethodName(JOB_METHOD_NAME); - job.setParams(manuscript.getId().toString()); - job.setCronExpression(cron.toString()); - job.setRemark(String.format("学校稿件定时发送,name:[%s],id:[%d]", manuscript.getTitle(), - manuscript.getId())); - job.setStatus(Job.ScheduleStatus.NORMAL.getValue()); - remoteJobService.saveJob(job); - } else { - // 立即发送 - manuscript.setPublishDate(LocalDateTime.now()); - updateById(manuscript); - publishManuscript(manuscript); - } - } - addManuscriptProgress.setFinish(1); - redisService - .hset(CachePrefixConstant.ADD_MANUSCRIPT_PROGRESS, key, addManuscriptProgress); } @Override @Transactional public void delManuscript(List ids) { Collection manuscriptList = listByIds(ids); + String yidaAppUserId = null; for (EduSchoolManuscript manuscript : manuscriptList) { + if (ObjectUtil.isNull(yidaAppUserId)) { + if (ObjectUtil.isNotNull(manuscript.getAuthorId())) { + EduSchoolManuscriptAuthor author = eduSchoolManuscriptAuthorMapper + .selectById(manuscript.getAuthorId()); + if (ObjectUtil.isNotNull(author)) { + yidaAppUserId = author.getYidaAppUserId(); + } + } + } + if (manuscript.getStatus() == 1 && manuscript.getIsTiming() == 0) { remoteJobService.delJobByMethod(JOB_BEAN_NAME, JOB_METHOD_NAME, manuscript.getId().toString()); } } - removeByIds(ids); List manuscriptYidaIds = manuscriptList.stream().map(EduSchoolManuscript::getYidaAppMunascriptId) - .filter(StrUtil::isNotBlank).collect(Collectors.toList()); + .filter(StrUtil::isNotBlank).collect(Collectors.toList()); if (CollUtil.isNotEmpty(manuscriptYidaIds)) { EduYidaApp yidaApp = commonService.getYidaApp(manuscriptList.toArray(new EduSchoolManuscript[0])[0].getSchoolId()); - AppUtil.manuscriptDel(manuscriptYidaIds, yidaApp); + AppUtil.manuscriptDel(manuscriptYidaIds, yidaApp, yidaAppUserId); } } @@ -286,9 +309,18 @@ public class EduSchoolManuscriptServiceImpl extends ServiceImpl EduSchoolManuscript manuscript = getById(id); // 判断是否调用易达app撤回稿件接口 if (Objects.nonNull(manuscript.getYidaAppMunascriptId())) { + String yidaAppUserId = null; EduYidaApp yidaApp = commonService.getYidaApp(manuscript.getSchoolId()); - AppUtil.manuscriptDel(Collections.singletonList(manuscript.getYidaAppMunascriptId()), yidaApp); - manuscript.setYidaAppMunascriptId(""); + + if (ObjectUtil.isNotNull(manuscript.getAuthorId())) { + EduSchoolManuscriptAuthor author = eduSchoolManuscriptAuthorMapper + .selectById(manuscript.getAuthorId()); + if (ObjectUtil.isNotNull(author)) { + yidaAppUserId = author.getYidaAppUserId(); + } + } + AppUtil.manuscriptDel(Collections.singletonList(manuscript.getYidaAppMunascriptId()), yidaApp, yidaAppUserId); +// manuscript.setYidaAppMunascriptId(""); } // 修改为撤回(待发送)状态 manuscript.setStatus(1); @@ -322,11 +354,11 @@ public class EduSchoolManuscriptServiceImpl extends ServiceImpl EduSchoolManuscriptAuthor author; if (manuscript.getAuthorId() == null) { author = eduSchoolManuscriptAuthorMapper - .selectOne(Wrappers.lambdaQuery() - .eq(EduSchoolManuscriptAuthor::getSchoolId, school.getDeptId()) - .isNotNull(EduSchoolManuscriptAuthor::getYidaAppUserId) - .orderByAsc(EduSchoolManuscriptAuthor::getCreateDate) - .last("limit 1")); + .selectOne(Wrappers.lambdaQuery() + .eq(EduSchoolManuscriptAuthor::getSchoolId, school.getDeptId()) + .isNotNull(EduSchoolManuscriptAuthor::getYidaAppUserId) + .orderByAsc(EduSchoolManuscriptAuthor::getCreateDate) + .last("limit 1")); } else { author = eduSchoolManuscriptAuthorMapper.selectById(manuscript.getAuthorId()); } @@ -337,11 +369,11 @@ public class EduSchoolManuscriptServiceImpl extends ServiceImpl // 公告同步的稿件放入公告区 if (manuscript.getNoticeSchoolId() != null) { EduSchoolHomeAnnouncement announcement = eduSchoolHomeAnnouncementMapper - .selectOne(Wrappers.lambdaQuery(new EduSchoolHomeAnnouncement()) - .eq(EduSchoolHomeAnnouncement::getSchoolId, school.getDeptId())); + .selectOne(Wrappers.lambdaQuery(new EduSchoolHomeAnnouncement()) + .eq(EduSchoolHomeAnnouncement::getSchoolId, school.getDeptId())); if (StrUtil.isNotBlank(announcement.getYidaAppRegionId())) { AppUtil.regionSaveContent(announcement.getYidaAppRegionId(), manuscriptId, null, - school.getYidaAppColId(), yidaApp); + school.getYidaAppColId(), yidaApp); } } } @@ -349,7 +381,7 @@ public class EduSchoolManuscriptServiceImpl extends ServiceImpl @Override public IPage findManuscriptByLabel(Page page, String label) { List labelList = labelService.list(Wrappers.query(new EduSchoolManuscriptLabel()) - .lambda().eq(EduSchoolManuscriptLabel::getLabel, label)); + .lambda().eq(EduSchoolManuscriptLabel::getLabel, label)); List manuscriptId = new ArrayList<>(); for (EduSchoolManuscriptLabel item : labelList) { manuscriptId.add(item.getManuscriptId()); @@ -359,7 +391,7 @@ public class EduSchoolManuscriptServiceImpl extends ServiceImpl } return page(page, Wrappers.query(new EduSchoolManuscript()).lambda().eq(EduSchoolManuscript::getType, 2) - .in(EduSchoolManuscript::getId, manuscriptId)); + .in(EduSchoolManuscript::getId, manuscriptId)); } /** @@ -383,7 +415,7 @@ public class EduSchoolManuscriptServiceImpl extends ServiceImpl wxPublishPublic(manuscript, school); } // 发布公告到易达app - if (school.getSchoolType().contains(Dept.TYPE_YIDA_APP)) { + if (school.getSchoolType().contains(Dept.TYPE_YIDA_APP) && publishPath.contains(EduSchoolManuscript.NEWS_PATH)) { saveManuscriptToYidaApp(manuscript, school, yidaApp); } // 稿件不是从学校通知同步且学校绑定企业微信才发送微信通知 @@ -401,7 +433,7 @@ public class EduSchoolManuscriptServiceImpl extends ServiceImpl } private void wxPublishNotice(EduSchoolManuscript manuscript) { - EduApp eduApp = commonService.getAppByCodeAndSchool(AppConstant.INDEX_PARENT, null, manuscript.getSchoolId()); + EduApp eduApp = commonService.getAppByCodeAndSchool(AppConstant.NOTICE_PARENT, null, manuscript.getSchoolId()); String accessToken = wxUtil.getAccessToken(eduApp.getWxCorpId(), eduApp.getWxSecret()); String contentText = HtmlUtil.cleanHtmlTag(manuscript.getContent()); MpNewsSchoolNotice notice = new MpNewsSchoolNotice(); @@ -411,8 +443,8 @@ public class EduSchoolManuscriptServiceImpl extends ServiceImpl if (manuscript.getCoverType() != 0) { try { String path = - com.yida.data.common.core.utils.FileUtil - .downloadCompressBase64Img(manuscript.getCoverUrl().split(",")[0], 2048L); + com.yida.data.common.core.utils.FileUtil + .downloadCompressBase64Img(manuscript.getCoverUrl().split(",")[0], 2048L); File file = new File(path); article.setThumb_media_id(wxUtil.uploadTempFile(accessToken, "image", file)); FileUtil.del(path); @@ -444,7 +476,7 @@ public class EduSchoolManuscriptServiceImpl extends ServiceImpl if (manuscript.getCoverType() != 0) { try { String path = com.yida.data.common.core.utils.FileUtil - .downloadCompressBase64Img(manuscript.getCoverUrl().split(",")[0], 64L); + .downloadCompressBase64Img(manuscript.getCoverUrl().split(",")[0], 64L); File file = new File(path); article.setThumb_media_id(wxPublicUtil.uploadTempMaterial("thumb", file, token)); FileUtil.del(path); diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/news/service/impl/EduSchoolMatterServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/news/service/impl/EduSchoolMatterServiceImpl.java index 0dbcfe6..5038f1a 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/news/service/impl/EduSchoolMatterServiceImpl.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/news/service/impl/EduSchoolMatterServiceImpl.java @@ -125,21 +125,10 @@ public class EduSchoolMatterServiceImpl extends ServiceImpl eduSchoolMatterMatterGroupService.remove(Wrappers.lambdaQuery(new EduSchoolMatterMatterGroup()) .in(EduSchoolMatterMatterGroup::getMatterId, ids)); if (StrUtil.isNotBlank(school.getWxPublicAppId())) { - String token; - try { - token = wxPublicUtil.getAccessToken(school.getWxPublicAppId(), school.getWxPublicSecret()); - } catch (Exception e) { - log.error("获取token失败", e); - return; - } + String token = wxPublicUtil.getAccessToken(school.getWxPublicAppId(), school.getWxPublicSecret()); for (EduSchoolMatter matter : eduSchoolMatters) { if (StrUtil.isNotBlank(matter.getWxPublicMediaId())) { - try { - wxPublicUtil.deleteMaterial(matter.getWxPublicMediaId(), token); - } catch (Exception e) { - log.error("删除微信公众号素材失败", e); - } - + wxPublicUtil.deleteMaterial(matter.getWxPublicMediaId(), token); } } } diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/controller/EduSchoolDashboardDataController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/controller/EduSchoolDashboardDataController.java deleted file mode 100644 index bce59ac..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/controller/EduSchoolDashboardDataController.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.yida.data.school.screen.controller; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.school.dto.screen.SchoolDashboardSaveDTO; -import com.yida.data.school.screen.service.EduSchoolDashboardDataService; -import com.yida.data.school.vo.screen.SchoolDashboardInfoVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.*; - -/** - * 校园大数据仪表盘数据中心Controller - * - * @author ZYJ - * @date 2023-04-19 16:42:57 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@Api(tags = "校园大数据仪表盘api") -@RequestMapping("eduSchoolDashboardData") -public class EduSchoolDashboardDataController { - - private final EduSchoolDashboardDataService eduSchoolDashboardDataService; - - @GetMapping(value = "getSchoolDashboardInfo") - @ApiOperation(value = "获取校园大数据详细信息", consumes = MediaType.APPLICATION_JSON_VALUE) - public ResultBean getSchoolDashboardInfo() { - return ResultBean.buildSuccess(eduSchoolDashboardDataService.getSchoolDashboardInfo(FebsUtil.getDeptId())); - } - - @PostMapping(value = "/saveSchoolDashboard", consumes = MediaType.APPLICATION_JSON_VALUE) - @ApiOperation(value = "保存校园大数据", consumes = MediaType.APPLICATION_JSON_VALUE) - public ResultBean saveSchoolDashboard(@RequestBody SchoolDashboardSaveDTO dto) { - eduSchoolDashboardDataService.saveSchoolDashboard(dto); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/controller/out/OutEduSchoolDashboardDataController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/controller/out/OutEduSchoolDashboardDataController.java deleted file mode 100644 index 5bb388b..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/controller/out/OutEduSchoolDashboardDataController.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.yida.data.school.screen.controller.out; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.school.dto.screen.SchoolDashboardSaveDTO; -import com.yida.data.school.screen.service.EduSchoolDashboardDataService; -import com.yida.data.school.vo.screen.SchoolDashboardInfoVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.*; - -/** - * 校园大数据仪表盘数据中心Controller(不鉴权) - * - * @author ZYJ - * @date 2023-04-19 16:42:57 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@Api(tags = "校园大数据仪表盘api(不鉴权)") -@RequestMapping("out/eduSchoolDashboardData") -public class OutEduSchoolDashboardDataController { - - private final EduSchoolDashboardDataService eduSchoolDashboardDataService; - - @GetMapping(value = "getSchoolDashboardInfo") - @ApiOperation(value = "获取校园大数据详细信息", consumes = MediaType.APPLICATION_JSON_VALUE) - public ResultBean getSchoolDashboardInfo(@RequestParam Long schoolId) { - return ResultBean.buildSuccess(eduSchoolDashboardDataService.getSchoolDashboardInfo(schoolId)); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/mapper/EduSchoolDashboardDataBaseMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/mapper/EduSchoolDashboardDataBaseMapper.java deleted file mode 100644 index 2621890..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/mapper/EduSchoolDashboardDataBaseMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.school.screen.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.screen.EduSchoolDashboardDataBase; - -/** - * 校园大数据仪表盘数据中心-基础建设Mapper - * - * @author ZYJ - * @date 2023-04-19 16:52:15 - */ -public interface EduSchoolDashboardDataBaseMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/mapper/EduSchoolDashboardDataMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/mapper/EduSchoolDashboardDataMapper.java deleted file mode 100644 index 6223704..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/mapper/EduSchoolDashboardDataMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.school.screen.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.screen.EduSchoolDashboardData; - -/** - * 校园大数据仪表盘数据中心Mapper - * - * @author ZYJ - * @date 2023-04-19 16:42:57 - */ -public interface EduSchoolDashboardDataMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/mapper/EduSchoolDashboardDataTeacherMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/mapper/EduSchoolDashboardDataTeacherMapper.java deleted file mode 100644 index 1429ed9..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/mapper/EduSchoolDashboardDataTeacherMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.school.screen.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.screen.EduSchoolDashboardDataTeacher; - -/** - * 校园大数据仪表盘数据中心-师资力量Mapper - * - * @author ZYJ - * @date 2023-04-19 16:58:48 - */ -public interface EduSchoolDashboardDataTeacherMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/EduSchoolDashboardDataBaseService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/EduSchoolDashboardDataBaseService.java deleted file mode 100644 index a446d2b..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/EduSchoolDashboardDataBaseService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.school.screen.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.screen.EduSchoolDashboardDataBase; - -/** - * 校园大数据仪表盘数据中心-基础建设Service接口 - * - * @author ZYJ - * @date 2023-04-19 16:52:15 - */ -public interface EduSchoolDashboardDataBaseService extends IService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/EduSchoolDashboardDataService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/EduSchoolDashboardDataService.java deleted file mode 100644 index 1e6676f..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/EduSchoolDashboardDataService.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.yida.data.school.screen.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.screen.EduSchoolDashboardData; -import com.yida.data.school.dto.screen.SchoolDashboardSaveDTO; -import com.yida.data.school.vo.screen.SchoolDashboardInfoVO; - -/** - * 校园大数据仪表盘数据中心Service接口 - * - * @author ZYJ - * @date 2023-04-19 16:42:57 - */ -public interface EduSchoolDashboardDataService extends IService { - - /** - * 获取校园大数据详细信息 - * - * @param deptId 学校id - * @return com.yida.data.school.vo.screen.SchoolDashboardInfoVO - * @author ZYJ - * @date 2023/4/19 17:35 - */ - SchoolDashboardInfoVO getSchoolDashboardInfo(Long deptId); - - /** - * 保存校园大数据 - * - * @param dto 保存校园大数据请求类 - * @author ZYJ - * @date 2023/4/20 11:31 - */ - void saveSchoolDashboard(SchoolDashboardSaveDTO dto); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/EduSchoolDashboardDataTeacherService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/EduSchoolDashboardDataTeacherService.java deleted file mode 100644 index ebc2664..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/EduSchoolDashboardDataTeacherService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.school.screen.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.screen.EduSchoolDashboardDataTeacher; - -/** - * 校园大数据仪表盘数据中心-师资力量Service接口 - * - * @author ZYJ - * @date 2023-04-19 16:58:48 - */ -public interface EduSchoolDashboardDataTeacherService extends IService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/impl/EduSchoolDashboardDataBaseServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/impl/EduSchoolDashboardDataBaseServiceImpl.java deleted file mode 100644 index 640796c..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/impl/EduSchoolDashboardDataBaseServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.school.screen.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.screen.EduSchoolDashboardDataBase; -import com.yida.data.school.screen.mapper.EduSchoolDashboardDataBaseMapper; -import com.yida.data.school.screen.service.EduSchoolDashboardDataBaseService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 校园大数据仪表盘数据中心-基础建设Service实现 - * - * @author ZYJ - * @date 2023-04-19 16:52:15 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduSchoolDashboardDataBaseServiceImpl extends ServiceImpl - implements EduSchoolDashboardDataBaseService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/impl/EduSchoolDashboardDataServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/impl/EduSchoolDashboardDataServiceImpl.java deleted file mode 100644 index c74c1c7..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/impl/EduSchoolDashboardDataServiceImpl.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.yida.data.school.screen.service.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.json.JSONObject; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.screen.EduSchoolDashboardData; -import com.yida.data.common.core.entity.screen.EduSchoolDashboardDataBase; -import com.yida.data.common.core.entity.screen.EduSchoolDashboardDataTeacher; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.school.dto.screen.SchoolDashboardBaseSaveDTO; -import com.yida.data.school.dto.screen.SchoolDashboardSaveDTO; -import com.yida.data.school.dto.screen.SchoolDashboardTeacherSaveDTO; -import com.yida.data.school.screen.mapper.EduSchoolDashboardDataMapper; -import com.yida.data.school.screen.service.EduSchoolDashboardDataBaseService; -import com.yida.data.school.screen.service.EduSchoolDashboardDataService; -import com.yida.data.school.screen.service.EduSchoolDashboardDataTeacherService; -import com.yida.data.school.vo.screen.SchoolDashboardInfoVO; -import com.yida.data.user.feign.RemoteStudentService; -import com.yida.data.user.feign.RemoteTeacherService; -import com.yida.data.user.feign.RemoteUserDeptService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 校园大数据仪表盘数据中心Service实现 - * - * @author ZYJ - * @date 2023-04-19 16:42:57 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduSchoolDashboardDataServiceImpl extends ServiceImpl - implements EduSchoolDashboardDataService { - - private final EduSchoolDashboardDataBaseService eduSchoolDashboardDataBaseService; - private final EduSchoolDashboardDataTeacherService eduSchoolDashboardDataTeacherService; - - private final RemoteStudentService remoteStudentService; - - @Override - public SchoolDashboardInfoVO getSchoolDashboardInfo(Long deptId) { - SchoolDashboardInfoVO vo = new SchoolDashboardInfoVO(); - // 查询校园大数据详情数据 - EduSchoolDashboardData dashboardData = getOne(Wrappers.lambdaQuery(new EduSchoolDashboardData()) - .eq(EduSchoolDashboardData::getSchoolId, deptId)); - if (Objects.nonNull(dashboardData)) { - BeanUtils.copyProperties(dashboardData, vo); - // 查询基础建设集合 - List baseList = eduSchoolDashboardDataBaseService.list(Wrappers.lambdaQuery(new EduSchoolDashboardDataBase()) - .eq(EduSchoolDashboardDataBase::getDataId, dashboardData.getId())).stream().map(base -> { - SchoolDashboardBaseSaveDTO baseDTO = new SchoolDashboardBaseSaveDTO(); - BeanUtils.copyProperties(base, baseDTO); - return baseDTO; - }).collect(Collectors.toList()); - vo.setBaseList(baseList); - // 查询师资力量集合 - List teacherList = eduSchoolDashboardDataTeacherService.list(Wrappers.lambdaQuery(new EduSchoolDashboardDataTeacher()) - .eq(EduSchoolDashboardDataTeacher::getDataId, dashboardData.getId())).stream().map(teacher -> { - SchoolDashboardTeacherSaveDTO teacherDTO = new SchoolDashboardTeacherSaveDTO(); - BeanUtils.copyProperties(teacher, teacherDTO); - return teacherDTO; - }).collect(Collectors.toList()); - vo.setTeacherList(teacherList); - } - return vo; - } - - @Override - public void saveSchoolDashboard(SchoolDashboardSaveDTO dto) { - EduSchoolDashboardData dashboardData = new EduSchoolDashboardData(); - BeanUtils.copyProperties(dto, dashboardData); - // 统计班级人数、学生人数、教师人数 - JSONObject jsonObject = remoteStudentService.countUserDashboardNum(FebsUtil.getTopDeptId()).getData(); - // 新增 - if (Objects.isNull(dto.getId())) { - dashboardData.setSchoolId(FebsUtil.getTopDeptId()); - } else { - // 编辑, 需要删除旧的关联数据 - eduSchoolDashboardDataBaseService.remove(Wrappers.lambdaQuery(new EduSchoolDashboardDataBase()) - .eq(EduSchoolDashboardDataBase::getDataId, dto.getId())); - eduSchoolDashboardDataTeacherService.remove(Wrappers.lambdaQuery(new EduSchoolDashboardDataTeacher()) - .eq(EduSchoolDashboardDataTeacher::getDataId, dto.getId())); - } - dashboardData.setStudentNum(jsonObject.getInt("studentNum")); - dashboardData.setClassNum(jsonObject.getInt("classNum")); - dashboardData.setTeacherNum(jsonObject.getInt("teacherNum")); - saveOrUpdate(dashboardData); - // 保存基础设施 - if (CollUtil.isNotEmpty(dto.getBaseList())) { - List baseList = new ArrayList<>(); - dto.getBaseList().forEach(baseDTO -> { - EduSchoolDashboardDataBase dataBase = new EduSchoolDashboardDataBase(); - BeanUtils.copyProperties(baseDTO, dataBase); - dataBase.setDataId(dashboardData.getId()); - baseList.add(dataBase); - }); - eduSchoolDashboardDataBaseService.saveBatch(baseList); - } - // 保存师资力量 - if (CollUtil.isNotEmpty(dto.getTeacherList())) { - List teacherList = new ArrayList<>(); - dto.getTeacherList().forEach(teacherDTO -> { - EduSchoolDashboardDataTeacher dataTeacher = new EduSchoolDashboardDataTeacher(); - BeanUtils.copyProperties(teacherDTO, dataTeacher); - dataTeacher.setDataId(dashboardData.getId()); - teacherList.add(dataTeacher); - }); - eduSchoolDashboardDataTeacherService.saveBatch(teacherList); - } - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/impl/EduSchoolDashboardDataTeacherServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/impl/EduSchoolDashboardDataTeacherServiceImpl.java deleted file mode 100644 index 8e40c5f..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/screen/service/impl/EduSchoolDashboardDataTeacherServiceImpl.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.yida.data.school.screen.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.screen.EduSchoolDashboardDataTeacher; -import com.yida.data.school.screen.mapper.EduSchoolDashboardDataTeacherMapper; -import com.yida.data.school.screen.service.EduSchoolDashboardDataTeacherService; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 校园大数据仪表盘数据中心-师资力量Service实现 - * - * @author ZYJ - * @date 2023-04-19 16:58:48 - */ -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduSchoolDashboardDataTeacherServiceImpl extends ServiceImpl - implements EduSchoolDashboardDataTeacherService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/secondClass/service/impl/EduSecondClassContentServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/secondClass/service/impl/EduSecondClassContentServiceImpl.java index 52b29f6..9afbe27 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/secondClass/service/impl/EduSecondClassContentServiceImpl.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/secondClass/service/impl/EduSecondClassContentServiceImpl.java @@ -72,10 +72,12 @@ public class EduSecondClassContentServiceImpl implements EduSecondClassContentSe existIds.add(subject.getId()); } } - eduSecondClassSubjectService - .remove(Wrappers.lambdaQuery().eq(EduSecondClassSubject::getDeptId, deptId) - .eq(EduSecondClassSubject::getTopicType, dto.getType()) - .notIn(EduSecondClassSubject::getId, existIds)); + if (CollUtil.isNotEmpty(existIds)) { + eduSecondClassSubjectService + .remove(Wrappers.lambdaQuery().eq(EduSecondClassSubject::getDeptId, deptId) + .eq(EduSecondClassSubject::getTopicType, dto.getType()) + .notIn(EduSecondClassSubject::getId, existIds)); + } eduSecondClassSubjectService.saveOrUpdateBatch(dto.getSubjectList()); } else { eduSecondClassSubjectService diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/secondClass/service/impl/EduSecondClassVenueOrderServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/secondClass/service/impl/EduSecondClassVenueOrderServiceImpl.java index 88d0630..384abbd 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/secondClass/service/impl/EduSecondClassVenueOrderServiceImpl.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/secondClass/service/impl/EduSecondClassVenueOrderServiceImpl.java @@ -1,5 +1,6 @@ package com.yida.data.school.secondClass.service.impl; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yida.data.common.core.entity.school.secondClass.EduSecondClassVenueGuide; import com.yida.data.common.core.entity.school.secondClass.EduSecondClassVenueOrder; @@ -33,8 +34,10 @@ public class EduSecondClassVenueOrderServiceImpl extends ServiceImpl @Override public void saveOrder(EduSecondClassVenueOrder order) { - EduSecondClassVenueGuide guide = eduSecondClassVenueGuideMapper.selectById(order.getGuideId()); - order.setDeptId(guide.getDeptId()); + if (ObjectUtil.isNotNull(order.getGuideId())) { + EduSecondClassVenueGuide guide = eduSecondClassVenueGuideMapper.selectById(order.getGuideId()); + order.setDeptId(guide.getDeptId()); + } save(order); for (EduSecondClassVenueOrderMember member : order.getMemberList()) { member.setOrderId(order.getId()); diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/config/ExcelConfiguration.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/config/ExcelConfiguration.java deleted file mode 100644 index 8f720dc..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/config/ExcelConfiguration.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.school.smart.config; - -import cc.mrbird.febs.common.redis.service.RedisService; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideRosterService; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * excel功能配置类 - * - * @author ZYJ - * @date 2023/10/20 - */ -@Configuration -public class ExcelConfiguration { - - @Value("${febs.uploadUrl}") - private String uploadUrl; - - @Bean - ExportGuidePicClient exportGuidePicClient( - EduSmartWelcomeGuideRosterService eduSmartWelcomeGuideRosterService, - RedisService redisService) { - return new ExportGuidePicClient(eduSmartWelcomeGuideRosterService, redisService, - CachePrefixConstant.GUIDE_ROSTER_PIC_DATA_DOWNLOAD, uploadUrl); - } - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/config/ExportGuidePicClient.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/config/ExportGuidePicClient.java deleted file mode 100644 index 3ab0ce5..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/config/ExportGuidePicClient.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.yida.data.school.smart.config; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.entity.constant.StringConstant; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRoster; -import com.yida.data.common.excel.DefaultExportLargeClient; -import com.yida.data.school.smart.excel.SelectGuidePicExportData; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideRosterService; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -/** - * smart大文件导出处理类 - * - * @author ZYJ - * @date 2023/10/20 15:00 - */ -public class ExportGuidePicClient - extends DefaultExportLargeClient { - - public ExportGuidePicClient(EduSmartWelcomeGuideRosterService eduSmartWelcomeGuideRosterService, RedisService redisService, - String exportCacheKey, String uploadUrl) { - super(eduSmartWelcomeGuideRosterService, redisService, exportCacheKey, uploadUrl); - } - - @Override - public Map selectExportData(SelectGuidePicExportData selectGuidePicExportData) { - // 返回数据 - Map map = new HashMap<>(); - // 查询指定数据 - List guideRosterList = this.baseService.list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRoster()) - .eq(EduSmartWelcomeGuideRoster::getGuideId, selectGuidePicExportData.getGuideId())); - for (EduSmartWelcomeGuideRoster guideRoster : guideRosterList) { - if (Objects.nonNull(guideRoster)) { - // 姓名 - String fullName = guideRoster.getFullName(); - if (StrUtil.isEmpty(fullName)) { - continue; - } - // 身份证号码 - String idNumber = guideRoster.getIdNumber(); - if (StrUtil.isEmpty(idNumber)) { - continue; - } - String mapKey = fullName + StringConstant.DASH + idNumber + StringConstant.DASH; - // 身份证正面照片 - if (StrUtil.isNotBlank(guideRoster.getIdCardRight())) { - map.put(mapKey + "身份证正面", guideRoster.getIdCardRight()); - } - // 身份证反面 - if (StrUtil.isNotBlank(guideRoster.getIdCardReverse())) { - map.put(mapKey + "身份证反面", guideRoster.getIdCardReverse()); - } - // 通知书 - if (StrUtil.isNotBlank(guideRoster.getAdmissionLetter())) { - map.put(mapKey + "通知书", guideRoster.getAdmissionLetter()); - } - } - } - return map; - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/EduSmartWelcomeGuideController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/EduSmartWelcomeGuideController.java deleted file mode 100644 index 692ffe4..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/EduSmartWelcomeGuideController.java +++ /dev/null @@ -1,242 +0,0 @@ -package com.yida.data.school.smart.controller; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.common.ResultMsgType; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.constant.FebsConstant; -import com.yida.data.common.core.enums.FileDealStatusEnum; -import com.yida.data.common.core.file.common.DownloadFileChunk; -import com.yida.data.common.core.file.common.export.ExportLargeData; -import com.yida.data.common.core.utils.Asserts; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.common.core.utils.FileUtil; -import com.yida.data.school.dto.smart.GuideRosterSelectPageDTO; -import com.yida.data.school.dto.smart.GuideSaveDTO; -import com.yida.data.school.dto.smart.GuideSelectPageDTO; -import com.yida.data.school.dto.smart.UpdateQrCodeInfoDTO; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideRosterService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideStepService; -import com.yida.data.school.vo.smart.*; -import com.yida.data.user.vo.ImportFaceVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; -import java.util.Map; - -/** - * 智慧迎新指南后台Controller - * - * @author ZYJ - * @date 2023-05-15 15:33:18 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@Api(tags = "智慧迎新指南后台api") -@RequestMapping("eduSmartWelcomeGuide") -public class EduSmartWelcomeGuideController { - - private final EduSmartWelcomeGuideService eduSmartWelcomeGuideService; - private final EduSmartWelcomeGuideStepService eduSmartWelcomeGuideStepService; - private final EduSmartWelcomeGuideRosterService eduSmartWelcomeGuideRosterService; - - private final RedisService redisService; - - @PostMapping(value = "listGuidePage") - @ApiOperation(value = "查询迎新指南列表数据") - public ResultBean> listGuidePage(GuideSelectPageDTO dto) { - IPage page = eduSmartWelcomeGuideService.listGuidePage(dto); - return ResultBean.buildSuccess(page); - } - - @GetMapping(value = "getGuideInfo") - @ApiOperation(value = "获取迎新指南详细信息") - public ResultBean getGuideInfo(@ApiParam(value = "指南id", required = true) @RequestParam Long guideId) { - return ResultBean.buildSuccess(eduSmartWelcomeGuideService.getGuideInfo(guideId)); - } - - @PostMapping(value = "saveGuide", consumes = MediaType.APPLICATION_JSON_VALUE) - @ApiOperation(value = "保存迎新指南数据", consumes = MediaType.APPLICATION_JSON_VALUE) - public ResultBean saveGuide(@RequestBody GuideSaveDTO dto) { - eduSmartWelcomeGuideService.saveGuide(dto); - return ResultBean.buildSuccess(); - } - - @GetMapping("updateGuideEnableStatus") - @ApiOperation("修改指南状态") - public ResultBean updateGuideEnableStatus( - @ApiParam(value = "指南id", required = true) @RequestParam Long guideId, - @ApiParam(value = "状态. 0:未启用, 1:已启用", required = true) @RequestParam Integer enableStatus) { - eduSmartWelcomeGuideService.updateGuideEnableStatus(guideId, enableStatus); - return ResultBean.buildSuccess(); - } - - @PostMapping("updateQrCodeInfo") - @ApiOperation("保存指南二维码配置") - public ResultBean updateQrCodeInfo(@RequestBody UpdateQrCodeInfoDTO dto) { - eduSmartWelcomeGuideService.updateQrCodeInfo(dto); - return ResultBean.buildSuccess(); - } - - @GetMapping(value = "deleteGuide") - @ApiOperation(value = "删除指南") - public ResultBean deleteGuide(@ApiParam(value = "指南id", required = true) @RequestParam Long guideId) { - eduSmartWelcomeGuideService.deleteGuide(guideId); - return ResultBean.buildSuccess(); - } - - @GetMapping(value = "listGuideRosterTableCol") - @ApiOperation(value = "查询花名册动态表头") - public ResultBean> listGuideRosterTableCol( - @ApiParam(value = "指南id", required = true) @RequestParam Long guideId) { - return ResultBean.buildSuccess(eduSmartWelcomeGuideStepService.listGuideRosterTableCol(guideId)); - } - - @PostMapping("/listGuideRoster") - @ApiOperation("查询指南花名册列表") - public ResultBean>> listGuideRoster(GuideRosterSelectPageDTO dto) { - IPage> page = eduSmartWelcomeGuideRosterService.listGuideRoster(dto); - return ResultBean.buildSuccess(page); - } - - @PostMapping("/statisticsGuideRoster") - @ApiOperation("查询指南花名册统计信息") - public ResultBean> statisticsGuideRoster( - @ApiParam(value = "指南id", required = true) @RequestParam Long guideId) { - return ResultBean.buildSuccess(eduSmartWelcomeGuideRosterService.statisticsGuideRoster(guideId)); - } - - @GetMapping(value = "getGuideRosterInfo") - @ApiOperation(value = "获取花名册详细信息") - public ResultBean getGuideRosterInfo( - @ApiParam(value = "花名册id", required = true) @RequestParam Long rosterId) { - return ResultBean.buildSuccess(eduSmartWelcomeGuideRosterService.getGuideRosterInfo(rosterId)); - } - - @GetMapping(value = "createRosterQrCode") - @ApiOperation(value = "生成花名册二维码") - public ResultBean createRosterQrCode( - @ApiParam(value = "花名册id", required = true) @RequestParam Long rosterId, - @ApiParam(value = "指南id", required = true) @RequestParam Long guideId) { - eduSmartWelcomeGuideRosterService.createRosterQrCode(rosterId, guideId); - return ResultBean.buildSuccess(); - } - - @ApiOperation("导入指南花名册数据") - @PostMapping(value = "/importGuideRoster", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - public ResultBean importGuideRoster( - @ApiParam(value = "导入的excel文件", required = true) @RequestParam("file") MultipartFile file, - @ApiParam(value = "指南id", required = true) @RequestParam("guideId") Long guideId) { - // 验证文件类型 - if (!FileUtil.checkMultipartFile(file, FebsConstant.EXCEL_FILE_TYPE)) { - return ResultBean.buildError(ResultMsgType.FILE_TYPE_ERROR.getValue()); - } - String uuid = StrUtil.uuid(); - // 当前登录用户信息 - CurrentUser currentUser = FebsUtil.getCurrentUser(); - String fileUrl = FileUtil.uploadMultipartFile(file); - // 导入花名册数据 - eduSmartWelcomeGuideRosterService.importGuideRoster(fileUrl, guideId, currentUser, uuid); - return ResultBean - .buildSuccess(ImportRosterDataVO.builder().percent(0).finish(0).key(uuid).build()); - } - - - @ApiOperation("查询导入指南花名册数据进度") - @GetMapping("/getImportGuideRosterPercent") - public ResultBean getImportGuideRosterPercent(String key) { - return ResultBean.buildSuccess( - redisService.get(CachePrefixConstant.IMPORT_GUIDE_ROSTER_KEY + key)); - } - - @ApiOperation("下载指南花名册导入模板") - @PostMapping("/downloadGuideTemplate") - public void downloadTemplate(HttpServletResponse response) { - eduSmartWelcomeGuideRosterService.downloadGuideTemplate(response); - } - - @PostMapping("/exportRosterInfoData") - @ApiOperation("导出花名册数据") - public ResultBean exportRosterInfoData(@RequestBody GuideRosterSelectPageDTO dto) { - String uuid = IdUtil.simpleUUID(); - ExportRosterDataVO vo = ExportRosterDataVO.builder() - .key(uuid) - .exportStatus(FileDealStatusEnum.DEALING.getStatus()) - .totalNum(100) - .currentNum(0).build(); - redisService.hset(CachePrefixConstant.GUIDE_ROSTER_DATA_DOWNLOAD, uuid, vo); - // 异步导出花名册数据 - eduSmartWelcomeGuideRosterService.exportRosterInfoData(dto, uuid); - return ResultBean.buildSuccess(vo); - } - - @ApiOperation("获取导出花名册数据下载进度") - @GetMapping("/getExportProgress") - public ResultBean getExportProgress(String key) { - return ResultBean.buildSuccess( - (ExportRosterDataVO) redisService.hget(CachePrefixConstant.GUIDE_ROSTER_DATA_DOWNLOAD, key)); - } - - @ApiOperation("批量上传人脸寸照") - @PostMapping("/uploadAvatarBatch") - public ResultBean uploadFaceBatch(@RequestParam("file") MultipartFile file, - @ApiParam("指南ID") @RequestParam Long guideId) { - Long userId = FebsUtil.getCurrentUser().getUserId(); - Object o = redisService.get(CachePrefixConstant.IMPORT_GUIDE_AVATAR_KEY + userId.toString()); - Asserts.isTrue(o == null || ((ImportFaceVO) o).getFinish() == 1, "有文件正在上传中"); - eduSmartWelcomeGuideService.uploadStudentAvatarBatch(FileUtil.uploadMultipartFile(file), guideId, userId); - return ResultBean.buildSuccess(); - } - - @ApiOperation("查询批量上传人脸寸照进度") - @GetMapping("/getUploadAvatarBatchPercent") - public ResultBean getUploadAvatarBatchPercent() { - return ResultBean.buildSuccess( - redisService.get(CachePrefixConstant.IMPORT_GUIDE_AVATAR_KEY + FebsUtil.getCurrentUser().getUserId().toString())); - } - - @PostMapping("/exportRosterPic") - @ApiOperation("导出花名册身份证和通知书") - public ResultBean exportRosterPic( - @ApiParam(value = "指南id", required = true) @RequestParam Long guideId) { - String key = IdUtil.simpleUUID(); - ExportLargeData vo = ExportLargeData.builder() - .key(key) - .exportStatus(FileDealStatusEnum.DEALING.getStatus()) - // 初始化数据 - .total(1) - .finish(0) - .build(); - - redisService.hset(CachePrefixConstant.GUIDE_ROSTER_PIC_DATA_DOWNLOAD, key, vo); - // 异步导出花名册身份证和通知书 - eduSmartWelcomeGuideRosterService.exportRosterPic(guideId, key); - return ResultBean.buildSuccess(vo); - } - - @ApiOperation("查询导出花名册身份证和通知书详情") - @GetMapping("/getExportRosterPicInfo") - public ResultBean getExportRosterPicInfo(@RequestParam String key) { - return ResultBean.buildSuccess(eduSmartWelcomeGuideRosterService.getExportRosterPicInfo(key)); - } - - @ApiOperation("分片下载花名册身份证和通知书图片") - @PostMapping("/downloadRosterPicChunk") - public void downloadRosterPicChunk(DownloadFileChunk dto, HttpServletResponse response) { - eduSmartWelcomeGuideRosterService.downloadRosterPicChunk(dto, response); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/EduSmartWelcomeGuideStepClassController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/EduSmartWelcomeGuideStepClassController.java deleted file mode 100644 index fc84822..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/EduSmartWelcomeGuideStepClassController.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.yida.data.school.smart.controller; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.lang.UUID; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.school.dto.smart.ClassFixImportDTO; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideStepClassService; -import com.yida.data.school.vo.smart.ClassFixImportVO; -import com.yida.data.school.vo.smart.ClassImportVO; -import com.yida.data.school.vo.smart.WelcomeImportProgress; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -@Slf4j -@RestController -@RequiredArgsConstructor -@Api(tags = "智慧迎新指南后台api") -@RequestMapping("eduSmartWelcomeGuideStepClass") -public class EduSmartWelcomeGuideStepClassController { - - private final EduSmartWelcomeGuideStepClassService eduSmartWelcomeGuideStepClassService; - private final RedisService redisService; - - @PostMapping(value = "importClassData") - @ApiOperation(value = "导入预选班级数据") - public ResultBean> importClassData( - @ApiParam(value = "导入的excel文件", required = true) @RequestParam("file") MultipartFile file) { - String uuid = UUID.randomUUID().toString(); - eduSmartWelcomeGuideStepClassService.importClassData(file, uuid, FebsUtil.getCurrentUser()); - WelcomeImportProgress progress = WelcomeImportProgress.builder().importKey(uuid) - .importStatus(0).current(0).build(); - redisService.set(CachePrefixConstant.WELCOME_CLASS_IMPOST_PROGRESS + uuid, progress); - return ResultBean.buildSuccess(progress); - } - - @PostMapping(value = "downLoadImportClassDataTemplate") - @ApiOperation(value = "下载导入预选班级模板") - public void downLoadImportClassDataTemplate(HttpServletResponse response) { - eduSmartWelcomeGuideStepClassService.downloadClassTemplate(response); - } - - @GetMapping(value = "getImportClassDataProgress") - @ApiOperation(value = "获取导入预选班级数据进度") - public ResultBean> getImportClassDataProgress(String importKey) { - WelcomeImportProgress o = (WelcomeImportProgress) redisService - .get(CachePrefixConstant.WELCOME_CLASS_IMPOST_PROGRESS + importKey); - return ResultBean.buildSuccess(o); - } - - @PostMapping(value = "downLoadImportClassFixDataTemplate") - @ApiOperation(value = "下载导入固定班级学生模板") - public void downLoadImportClassFixDataTemplate(HttpServletResponse response) { - eduSmartWelcomeGuideStepClassService.downloadClassFixTemplate(response); - } - - @PostMapping(value = "importClassFixData") - @ApiOperation(value = "导入固定班级学生数据") - public ResultBean importClassFixData( - @ApiParam(value = "导入的excel文件", required = true) @RequestParam("file") MultipartFile file, @RequestParam Long guideId) { - return ResultBean - .buildSuccess(eduSmartWelcomeGuideStepClassService.importClassFixData(file, FebsUtil.getCurrentUser(), guideId)); - } - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/EduSmartWelcomeGuideStepDormController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/EduSmartWelcomeGuideStepDormController.java deleted file mode 100644 index 897b8b0..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/EduSmartWelcomeGuideStepDormController.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.yida.data.school.smart.controller; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.lang.UUID; -import cn.hutool.core.util.StrUtil; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.common.ResultMsgType; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.constant.FebsConstant; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.common.core.utils.FileUtil; -import com.yida.data.school.dto.smart.ClassFixImportDTO; -import com.yida.data.school.dto.smart.ClassImportDTO; -import com.yida.data.school.dto.smart.DormImportDTO; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideStepClassService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideStepDormService; -import com.yida.data.school.vo.smart.ClassImportVO; -import com.yida.data.school.vo.smart.DormImportFixVO; -import com.yida.data.school.vo.smart.DormImportVO; -import com.yida.data.school.vo.smart.ImportRosterDataVO; -import com.yida.data.school.vo.smart.WelcomeImportProgress; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; - -import java.util.List; -import javax.servlet.http.HttpServletResponse; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -@Slf4j -@RestController -@RequiredArgsConstructor -@Api(tags = "智慧迎新指南后台api") -@RequestMapping("eduSmartWelcomeGuideStepDorm") -public class EduSmartWelcomeGuideStepDormController { - - private final EduSmartWelcomeGuideStepDormService eduSmartWelcomeGuideStepDormService; - private final RedisService redisService; - - @PostMapping(value = "importDormData") - @ApiOperation(value = "导入预选宿舍数据") - public ResultBean> importDormData( - @ApiParam(value = "导入的excel文件", required = true) @RequestParam("file") MultipartFile file) { - String uuid = UUID.randomUUID().toString(); - eduSmartWelcomeGuideStepDormService.importDormData(file, uuid, FebsUtil.getCurrentUser()); - WelcomeImportProgress progress = WelcomeImportProgress.builder().importKey(uuid) - .importStatus(0).total(100).current(0).build(); - redisService.set(CachePrefixConstant.WELCOME_DORM_IMPOST_PROGRESS + uuid, progress); - return ResultBean.buildSuccess(progress); - } - - - @PostMapping(value = "downLoadImportDormDataTemplate") - @ApiOperation(value = "下载导入预选宿舍模板") - public void downLoadImportDormDataTemplate(HttpServletResponse response) { - eduSmartWelcomeGuideStepDormService.downloadDormTemplate(response); - } - - @GetMapping(value = "getImportDormDataProgress") - @ApiOperation(value = "获取导入预选宿舍数据进度") - public ResultBean> getImportDormDataProgress(String importKey) { - WelcomeImportProgress o = (WelcomeImportProgress) redisService - .get(CachePrefixConstant.WELCOME_DORM_IMPOST_PROGRESS + importKey); - return ResultBean.buildSuccess(o); - } - - - @PostMapping(value = "downLoadImportDormFixDataTemplate") - @ApiOperation(value = "下载导入固定宿舍模板") - public void downLoadImportDormFixDataTemplate(HttpServletResponse response) { - eduSmartWelcomeGuideStepDormService.downloadDormFixTemplate(response); - } - - @PostMapping(value = "importDormFixData") - @ApiOperation(value = "导入固定宿舍数据") - public ResultBean importDormFixData( - @ApiParam(value = "导入的excel文件", required = true) @RequestParam("file") MultipartFile file, - @RequestParam Long guideId) { - return ResultBean - .buildSuccess(eduSmartWelcomeGuideStepDormService.importDormFixData(file, FebsUtil.getCurrentUser(), guideId)); - } - - @PostMapping(value = "importDormDataByCustom") - @ApiOperation(value = "导入预选宿舍数据") - public ResultBean importDormDataByCustom( - @ApiParam(value = "导入的excel文件", required = true) @RequestParam("file") MultipartFile file, Long guideId) { - // 验证文件类型 - if (!FileUtil.checkMultipartFile(file, FebsConstant.EXCEL_FILE_TYPE)) { - return ResultBean.buildError(ResultMsgType.FILE_TYPE_ERROR.getValue()); - } - // 当前登录用户信息 - CurrentUser currentUser = FebsUtil.getCurrentUser(); - String fileUrl = FileUtil.uploadMultipartFile(file); - // 导入花名册数据 - eduSmartWelcomeGuideStepDormService.importDormDataByCustom(fileUrl, currentUser); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/H5EduSmartWelcomeController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/H5EduSmartWelcomeController.java deleted file mode 100644 index b585da9..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/H5EduSmartWelcomeController.java +++ /dev/null @@ -1,117 +0,0 @@ -package com.yida.data.school.smart.controller; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRoster; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelation; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStep; -import com.yida.data.school.dto.smart.AddUploadFileStepDTO; -import com.yida.data.school.dto.smart.StaffPassStepDTO; -import com.yida.data.school.dto.smart.h5.CreateGuideStepOrderDTO; -import com.yida.data.school.dto.smart.h5.RosterFaceMatchDTO; -import com.yida.data.school.dto.smart.h5.RosterPageDTO; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideRosterService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideStepService; -import com.yida.data.school.smart.service.H5EduSmartWelcomeService; -import com.yida.data.school.vo.smart.h5.RosterFaceMatchVO; -import com.yida.data.school.vo.smart.h5.RosterStepPayInfoVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import java.util.List; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -/** - * 智慧迎新api - * - * @author ZYJ - * @date 2023-05-15 15:33:18 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@Api(tags = "智慧迎新api(登录后接口)") -@RequestMapping("/h5/eduSmartWelcomeGuide") -public class H5EduSmartWelcomeController { - - private final H5EduSmartWelcomeService h5EduSmartWelcomeService; - private final EduSmartWelcomeGuideStepService eduSmartWelcomeGuideStepService; - private final EduSmartWelcomeGuideRosterService eduSmartWelcomeGuideRosterService; - - @PostMapping("/addUploadFile") - @ApiOperation("提交上传附件(家长端使用)") - ResultBean addUploadFile(@RequestBody AddUploadFileStepDTO dto) { - eduSmartWelcomeGuideStepService.addUploadFile(dto); - return ResultBean.buildSuccess(); - } - - - @GetMapping("/getStudentStepInfo") - @ApiOperation("查询学生步骤信息列表(家长端使用)") - ResultBean> getStudentStepInfo( - @RequestParam @ApiParam(value = "关联关系id", required = true) Long relationId, - @RequestParam @ApiParam(value = "指南id", required = true) Long guideId) { - return ResultBean.buildSuccess(eduSmartWelcomeGuideStepService.listStepInfo(relationId, guideId)); - } - - @GetMapping("/staff/getRosterInfo") - @ApiOperation("职工扫码后查询花名册人员详细信息") - ResultBean getRosterInfo( - @RequestParam @ApiParam(value = "花名册id", required = true) Long rosterId, - @RequestParam @ApiParam(value = "职工id", required = true) Long staffId) { - return ResultBean.buildSuccess(eduSmartWelcomeGuideRosterService.getRosterInfo(rosterId, staffId)); - } - - @PostMapping(value = "/staff/passStep", consumes = MediaType.APPLICATION_JSON_VALUE) - @ApiOperation(value = "职工通过步骤", consumes = MediaType.APPLICATION_JSON_VALUE) - ResultBean passStep(@RequestBody StaffPassStepDTO dto) { - eduSmartWelcomeGuideRosterService.passStep(dto); - return ResultBean.buildSuccess(); - } - - @GetMapping(value = "/staff/getPayQrCodeUrl") - @ApiOperation(value = "职工获取缴费二维码地址") - ResultBean getPayQrCodeUrl(@RequestParam Long deptId) { - return ResultBean.buildSuccess(h5EduSmartWelcomeService.getPayQrCodeUrl(deptId)); - } - - @PostMapping("/createGuideStepOrder") - @ApiOperation("生成迎新步骤订单") - public ResultBean createGuideStepOrder(@RequestBody CreateGuideStepOrderDTO dto) { - return ResultBean.buildSuccess(h5EduSmartWelcomeService.createGuideStepOrder(dto)); - } - - @GetMapping("/guideStepOrderSuccess") - @ApiOperation("迎新步骤订单完成(前台支付完成后调用)") - public ResultBean guideStepOrderSuccess( - @ApiParam(value = "订单号", required = true) @RequestParam String orderCode) { - h5EduSmartWelcomeService.guideStepOrderSuccess(orderCode); - return ResultBean.buildSuccess(); - } - - @PostMapping("/rosterFaceMatch") - @ApiOperation("花名册人脸对比") - public ResultBean rosterFaceMatch(@RequestBody RosterFaceMatchDTO dto) { - return ResultBean.buildSuccess(h5EduSmartWelcomeService.rosterFaceMatch(dto)); - } - - @GetMapping("/getUserQrCodeUrl") - @ApiOperation("获取花名册二维码") - public ResultBean getUserQrCodeUrl(@RequestParam Long rosterId) { - return ResultBean.buildSuccess(h5EduSmartWelcomeService.getUserQrCodeUrl(rosterId)); - } - - @PostMapping("/listRoster") - @ApiOperation("根据名称查询花名册列表信息") - public ResultBean> listRoster(@RequestBody RosterPageDTO dto) { - return ResultBean.buildSuccess(h5EduSmartWelcomeService.listRoster(dto)); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/InEduGuideStepOrderController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/InEduGuideStepOrderController.java deleted file mode 100644 index 9a6f073..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/InEduGuideStepOrderController.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.yida.data.school.smart.controller; - -import cn.hutool.json.JSONUtil; -import com.beust.jcommander.internal.Maps; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.smart.ConstructionPayNotifyDTO; -import com.yida.data.school.smart.service.EduGuideStepOrderService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletRequest; -import java.util.Map; - -/** - * 迎新订单 Controller(不鉴权) - * - * @author ZYJ - * @date 2023/6/21 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@RequestMapping("in/eduGuideStepOrder") -@Api(tags = "迎新订单后台api") -public class InEduGuideStepOrderController { - - private final EduGuideStepOrderService eduGuideStepOrderService; - - @ApiOperation("建行支付通知结果回调") - @PostMapping("/constructionPayNotify") - public String constructionPayNotify(ConstructionPayNotifyDTO dto) { - log.info("建行支付通知结果回调, result: {}", dto.toString()); - eduGuideStepOrderService.constructionPayNotify(dto); - return "success"; - } - - @GetMapping(value = "updateGuideRosterOrderStatus") - @ApiOperation(value = "更新超时迎新订单状态") - public ResultBean updateGuideRosterOrderStatus() { - eduGuideStepOrderService.updateGuideRosterOrderStatus(); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/InEduSmartWelcomeController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/InEduSmartWelcomeController.java deleted file mode 100644 index 802c2e1..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/InEduSmartWelcomeController.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.yida.data.school.smart.controller; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuide; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRoster; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelation; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStep; -import com.yida.data.common.core.enums.EnableStatusEnum; -import com.yida.data.school.dto.smart.GuideSaveDTO; -import com.yida.data.school.dto.smart.GuideSelectPageDTO; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideRosterRelationService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideRosterService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideStepService; -import com.yida.data.school.vo.smart.GuideInfoVO; -import com.yida.data.school.vo.smart.GuideSelectPageVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Objects; - -/** - * 智慧迎新内部api(不鉴权) - * - * @author ZYJ - * @date 2023-05-15 15:33:18 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@Api(tags = "智慧迎新内部api(不鉴权)") -@RequestMapping("/in/eduSmartWelcome") -public class InEduSmartWelcomeController { - - private final EduSmartWelcomeGuideStepService eduSmartWelcomeGuideStepService; - private final EduSmartWelcomeGuideRosterRelationService eduSmartWelcomeGuideRosterRelationService; - - @GetMapping("/getOpenIdRelation") - @ApiOperation("查询openId是否绑定了对应的信息") - ResultBean getOpenIdRelation(@RequestParam String openId, @RequestParam Long deptId) { - EduSmartWelcomeGuideRosterRelation rosterRelation = eduSmartWelcomeGuideRosterRelationService.getOpenIdRelation(openId,deptId); - return ResultBean.buildSuccess(rosterRelation); - } - - @GetMapping("/listStepInfo") - @ApiOperation("查询人员步骤信息") - ResultBean> listStepInfo(@RequestParam Long relationId, @RequestParam Long guideId) { - List list = eduSmartWelcomeGuideStepService.listStepInfo(relationId, guideId); - return ResultBean.buildSuccess(list); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/OutEduSmartWelcomeController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/OutEduSmartWelcomeController.java deleted file mode 100644 index f5dd193..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/controller/OutEduSmartWelcomeController.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.yida.data.school.smart.controller; - -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeCampus; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeDepartment; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuide; -import com.yida.data.common.core.enums.EnableStatusEnum; -import com.yida.data.school.dto.smart.GuideFillInfoSaveDTO; -import com.yida.data.school.dto.smart.h5.CreateGuideStepOrderDTO; -import com.yida.data.school.smart.service.*; -import com.yida.data.school.vo.smart.h5.RosterStepPayInfoVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Objects; - -/** - * 智慧迎新外部api(不鉴权) - * - * @author ZYJ - * @date 2023-05-15 15:33:18 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@Api(tags = "智慧迎新外部不鉴权api(学生端登录前接口)") -@RequestMapping("/out/eduSmartWelcomeGuide") -public class OutEduSmartWelcomeController { - - private final H5EduSmartWelcomeService h5EduSmartWelcomeService; - private final EduSmartWelcomeGuideService eduSmartWelcomeGuideService; - private final EduSmartWelcomeCampusService eduSmartWelcomeCampusService; - private final EduSmartWelcomeDepartmentService eduSmartWelcomeDepartmentService; - private final EduSmartWelcomeGuideRosterService eduSmartWelcomeGuideRosterService; - - @GetMapping("/getGuide") - @ApiOperation("查询指南详情") - ResultBean getGuide( - @RequestParam @ApiParam(value = "部门id", required = true) Long deptId, - @RequestParam(required = false) @ApiParam(value = "校区id", required = true) Long campusId) { - return ResultBean.buildSuccess( - eduSmartWelcomeGuideService.getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuide()) - .eq(EduSmartWelcomeGuide::getDeptId, deptId) - .eq(Objects.nonNull(campusId), EduSmartWelcomeGuide::getCampusId, campusId) - .eq(EduSmartWelcomeGuide::getEnableStatus, EnableStatusEnum.ENABLE_STATUS.getStatus())) - ); - } - - @PostMapping("/saveGuideFillInfo") - @ApiOperation("保存填报信息") - public ResultBean saveGuideFillInfo(@RequestBody GuideFillInfoSaveDTO dto) { - eduSmartWelcomeGuideRosterService.saveGuideFillInfo(dto); - return ResultBean.buildSuccess(); - } - - @GetMapping("/getDepartmentTree") - @ApiOperation("获取系部") - public ResultBean> getDepartmentTree(@RequestParam Long deptId) { - return ResultBean.buildSuccess(eduSmartWelcomeDepartmentService.getDepartmentTree(deptId)); - } - - @PostMapping("/createGuideStepOrder") - @ApiOperation("生成迎新步骤订单") - public ResultBean createGuideStepOrder(@RequestBody CreateGuideStepOrderDTO dto) { - return ResultBean.buildSuccess(h5EduSmartWelcomeService.createGuideStepOrder(dto)); - } - - @GetMapping("/getCampusList") - @ApiOperation("获取校区信息") - public ResultBean> getCampusList(@RequestParam Long deptId) { - return ResultBean.buildSuccess(eduSmartWelcomeCampusService - .list(Wrappers.lambdaQuery().eq(EduSmartWelcomeCampus::getDeptId, deptId))); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/excel/CustomDormExcelListener.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/excel/CustomDormExcelListener.java deleted file mode 100644 index b9c2cdd..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/excel/CustomDormExcelListener.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.yida.data.school.smart.excel; - -import com.alibaba.excel.context.AnalysisContext; -import com.alibaba.excel.event.AnalysisEventListener; -import com.alibaba.fastjson.JSON; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.school.dto.smart.CustomDormImportDTO; -import com.yida.data.school.dto.smart.GuideRosterErrorExportDTO; -import com.yida.data.school.dto.smart.GuideRosterImportDTO; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideStepDormService; -import com.yida.data.school.smart.service.ImportGuideRosterService; -import java.util.List; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.ehcache.impl.internal.concurrent.ConcurrentHashMap; - -/** - * Excel导入指南花名册信息监听类 - * - * @author ZYJ - * @date 2023/6/1 - */ -@Slf4j -@RequiredArgsConstructor -public class CustomDormExcelListener extends AnalysisEventListener { - - private final EduSmartWelcomeGuideStepDormService eduSmartWelcomeGuideStepDormService; - - - /** - * 当前登录用户信息 - */ - private final CurrentUser currentUser; - - /** - * 每次存储条数 每隔5条存储数据库, 实际使用中可以3000条, 然后清理list, 方便内存回收 - */ - private static final int BATCH_COUNT = 3000; - - /** - * 需要保存的数据集合 - */ - ConcurrentHashMap concurrentHashMap = new ConcurrentHashMap<>(); - - /** - * excel总数量 - */ - private static Integer totalCount = 0; - - /** - * 处理次数 - */ - private static Integer handleNumber = 0; - - /** - * 解析成功一条数据调用一次 - * - * @param dto Excel指南花名册信息导入类 - * @param analysisContext analysisContext类型 - * @author ZYJ - * @date 2021/8/23 16:12 - */ - @Override - public void invoke(CustomDormImportDTO dto, AnalysisContext analysisContext) { - totalCount = analysisContext.readSheetHolder().getApproximateTotalRowNumber() - 1; - // 获取读取的第几条数据 - Integer i = analysisContext.readRowHolder().getRowIndex(); - log.info("解析到第: {}条数据: {}", i, JSON.toJSONString(dto)); - concurrentHashMap.put(i, dto); - // 达到BATCH_COUNT了, 需要去存储一次数据库, 防止数据几万条数据在内存, 容易OOM - if (concurrentHashMap.size() >= BATCH_COUNT) { - handleNumber += 1; - saveData(); - // 存储完成清理集合 - concurrentHashMap.clear(); - } - } - - /** - * 所有数据解析完成调用 - * - * @param analysisContext analysisContext类 - * @author ZYJ - * @date 2021/8/23 16:18 - */ - @Override - public void doAfterAllAnalysed(AnalysisContext analysisContext) { - // 这里也要保存数据, 确保最后遗留的数据也存储到数据库 - saveData(); - log.info("所有数据解析完成!"); - } - - /** - * 保存导入数据 - * - * @author ZYJ - * @date 2021/8/23 16:20 - */ - private void saveData() { - log.info("{}条数据,开始存储数据库!", concurrentHashMap.size()); - eduSmartWelcomeGuideStepDormService.saveCusTomDormData(concurrentHashMap, currentUser); - log.info("存储数据库成功!"); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/excel/ExcelListener.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/excel/ExcelListener.java deleted file mode 100644 index 0a13fd6..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/excel/ExcelListener.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.yida.data.school.smart.excel; - -import com.alibaba.excel.context.AnalysisContext; -import com.alibaba.excel.event.AnalysisEventListener; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -import java.util.ArrayList; -import java.util.List; - -/** - * Excel excel监听类 - */ -@Slf4j -@RequiredArgsConstructor -public class ExcelListener extends AnalysisEventListener { - - - /** - * 自定义用于暂时存储data - * 可以通过实例获取该值 - */ - private List datas = new ArrayList<>(); - - /** - * 每解析一行都会回调invoke()方法 - * - * @param object 读取后的数据对象 - * @param context 内容 - */ - @Override - @SuppressWarnings("unchecked") - public void invoke(Object object, AnalysisContext context) { - T map = (T) object; - //数据存储到list,供批量处理,或后续自己业务逻辑处理。 - datas.add(map); - } - - @Override - public void doAfterAllAnalysed(AnalysisContext context) { - //解析结束销毁不用的资源 - //注意不要调用datas.clear(),否则getDatas为null - } - - /** - * 返回数据 - * - * @return 返回读取的数据集合 - **/ - public List getDatas() { - return datas; - } - - /** - * 设置读取的数据集合 - * - * @param datas 设置读取的数据集合 - **/ - public void setDatas(List datas) { - this.datas = datas; - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/excel/GuideRosterExcelListener.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/excel/GuideRosterExcelListener.java deleted file mode 100644 index 5599f50..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/excel/GuideRosterExcelListener.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.yida.data.school.smart.excel; - -import com.alibaba.excel.context.AnalysisContext; -import com.alibaba.excel.event.AnalysisEventListener; -import com.alibaba.fastjson.JSON; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.school.dto.smart.GuideRosterErrorExportDTO; -import com.yida.data.school.dto.smart.GuideRosterImportDTO; -import com.yida.data.school.smart.service.ImportGuideRosterService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.ehcache.impl.internal.concurrent.ConcurrentHashMap; - -import java.util.List; - -/** - * Excel导入指南花名册信息监听类 - * - * @author ZYJ - * @date 2023/6/1 - */ -@Slf4j -@RequiredArgsConstructor -public class GuideRosterExcelListener extends AnalysisEventListener { - - private final ImportGuideRosterService importGuideRosterService; - - /** - * 错误信息集合 - */ - private final List errorList; - - /** - * 指南id - */ - private final Long guideId; - - /** - * 当前导入数据唯一标识 - */ - private final String uuid; - - /** - * 当前登录用户信息 - */ - private final CurrentUser currentUser; - - /** - * 每次存储条数 - * 每隔5条存储数据库, 实际使用中可以3000条, 然后清理list, 方便内存回收 - */ - private static final int BATCH_COUNT = 3000; - - /** - * 需要保存的数据集合 - */ - ConcurrentHashMap concurrentHashMap = new ConcurrentHashMap<>(); - - /** - * excel总数量 - */ - private static Integer totalCount = 0; - - /** - * 处理次数 - */ - private static Integer handleNumber = 0; - - /** - * 解析成功一条数据调用一次 - * - * @param dto Excel指南花名册信息导入类 - * @param analysisContext analysisContext类型 - * @author ZYJ - * @date 2021/8/23 16:12 - */ - @Override - public void invoke(GuideRosterImportDTO dto, AnalysisContext analysisContext) { - totalCount = analysisContext.readSheetHolder().getApproximateTotalRowNumber() - 1; - // 获取读取的第几条数据 - Integer i = analysisContext.readRowHolder().getRowIndex(); - log.info("解析到第: {}条数据: {}", i, JSON.toJSONString(dto)); - concurrentHashMap.put(i, dto); - // 达到BATCH_COUNT了, 需要去存储一次数据库, 防止数据几万条数据在内存, 容易OOM - if (concurrentHashMap.size() >= BATCH_COUNT) { - handleNumber += 1; - saveData(); - // 存储完成清理集合 - concurrentHashMap.clear(); - } - } - - /** - * 所有数据解析完成调用 - * - * @param analysisContext analysisContext类 - * @author ZYJ - * @date 2021/8/23 16:18 - */ - @Override - public void doAfterAllAnalysed(AnalysisContext analysisContext) { - // 这里也要保存数据, 确保最后遗留的数据也存储到数据库 - saveData(); - log.info("所有数据解析完成!"); - if (errorList.size() > 0) { - log.error("错误数据有: {}条", errorList.size()); - } - } - - /** - * 保存导入数据 - * - * @author ZYJ - * @date 2021/8/23 16:20 - */ - private void saveData() { - log.info("{}条数据,开始存储数据库!", concurrentHashMap.size()); - importGuideRosterService.saveGuideRosterExcelData(concurrentHashMap, errorList, guideId, uuid, - currentUser, totalCount, handleNumber * BATCH_COUNT); - log.info("存储数据库成功!"); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/excel/SelectGuidePicExportData.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/excel/SelectGuidePicExportData.java deleted file mode 100644 index b596d2b..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/excel/SelectGuidePicExportData.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.school.smart.excel; - -import com.yida.data.common.core.file.common.export.SelectExportData; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; - -/** - * 导出指南花名册身份证、通知书图片查询类 - * - * @author ZYJ - * @date 2023/10/20 15:41 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class SelectGuidePicExportData extends SelectExportData implements Serializable { - - private static final long serialVersionUID = 8067293275859870239L; - - /** - * 指南id - */ - private Long guideId; -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduGuideStepOrderMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduGuideStepOrderMapper.java deleted file mode 100644 index 6b36f19..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduGuideStepOrderMapper.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.school.smart.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.smart.EduGuideStepOrder; - -import java.util.List; - -/** - * 指南步骤订单表 Mapper - * - * @author ZYJ - * @date 2023-06-20 16:48:14 - */ -public interface EduGuideStepOrderMapper extends BaseMapper { - - /** - * 查询所有已经超时订单 - * 未支付状态 - * - * @return java.util.List - * @author ZYJ - * @date 2023/6/21 13:51 - */ - List selectTimeOutOrder(); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeCampusMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeCampusMapper.java deleted file mode 100644 index 25c5529..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeCampusMapper.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.yida.data.school.smart.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeCampus; - -public interface EduSmartWelcomeCampusMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeDepartmentMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeDepartmentMapper.java deleted file mode 100644 index de625ab..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeDepartmentMapper.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.yida.data.school.smart.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeDepartment; - -public interface EduSmartWelcomeDepartmentMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideClassRecordMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideClassRecordMapper.java deleted file mode 100644 index a1615da..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideClassRecordMapper.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.yida.data.school.smart.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideClassRecord; - -/** - * 智慧迎新班级分配记录Mapper - */ -public interface EduSmartWelcomeGuideClassRecordMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideDormRecordMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideDormRecordMapper.java deleted file mode 100644 index 2804305..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideDormRecordMapper.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.yida.data.school.smart.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideDormRecord; - -/** - * 智慧迎新宿舍分配记录Mapper - */ -public interface EduSmartWelcomeGuideDormRecordMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideMapper.java deleted file mode 100644 index e0dff48..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.school.smart.mapper; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuide; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.school.dto.smart.GuideSelectPageDTO; -import com.yida.data.school.vo.smart.GuideSelectPageVO; -import org.apache.ibatis.annotations.Param; - -/** - * 智慧迎新指南表Mapper - * - * @author ZYJ - * @date 2023-05-15 15:33:18 - */ -public interface EduSmartWelcomeGuideMapper extends BaseMapper { - - /** - * 查询迎新指南列表数据 - * - * @param page 分页信息 - * @param dto 迎新指南后台列表请求类 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/5/15 17:04 - */ - IPage listGuidePage(Page page, - @Param("dto") GuideSelectPageDTO dto); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideRosterMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideRosterMapper.java deleted file mode 100644 index cde2b79..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideRosterMapper.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.yida.data.school.smart.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRoster; -import com.yida.data.school.dto.smart.GuideRosterSelectPageDTO; -import com.yida.data.school.vo.smart.GuideRosterSelectPageVO; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 智慧迎新指南花名册表Mapper - * - * @author ZYJ - * @date 2023-05-16 15:06:19 - */ -public interface EduSmartWelcomeGuideRosterMapper extends BaseMapper { - - /** - * 查询指南花名册分页列表 - * - * @param page 分页信息 - * @param dto 迎新指南花名册后台列表请求类 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/5/22 14:21 - */ - IPage listGuideRoster(Page page, - @Param("dto") GuideRosterSelectPageDTO dto); - - /** - * 查询指南花名册列表 - * - * @param dto 迎新指南花名册后台列表请求类 - * @return java.util.List - * @author ZYJ - * @date 2023/6/13 10:24 - */ - List listGuideRoster(@Param("dto") GuideRosterSelectPageDTO dto); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideRosterRelationMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideRosterRelationMapper.java deleted file mode 100644 index f665c26..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideRosterRelationMapper.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.yida.data.school.smart.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelation; -import com.yida.data.school.dto.smart.h5.RosterPageDTO; -import org.apache.ibatis.annotations.Param; - -/** - * 智慧迎新指南花名册-微信用户绑定关系表Mapper - * - * @author ZYJ - * @date 2023-05-17 13:53:18 - */ -public interface EduSmartWelcomeGuideRosterRelationMapper extends BaseMapper { - - /** - * 根据名称查询花名册列表信息 - * - * @param page 分页信息 - * @param dto 花名册列表h5查询请求类 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/7/7 13:41 - */ - IPage listRoster(Page page, - @Param("dto") RosterPageDTO dto); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideRosterRelationStepMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideRosterRelationStepMapper.java deleted file mode 100644 index b26cffd..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideRosterRelationStepMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.school.smart.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelationStep; -import org.apache.ibatis.annotations.Param; - -/** - * 智慧迎新指南花名册-微信用户绑定关系-执行步骤表 Mapper - * - * @author ZYJ - * @date 2023-05-19 14:37:43 - */ -public interface EduSmartWelcomeGuideRosterRelationStepMapper extends BaseMapper { - - /** - * 查询报名成功人数 - * - * @param guideId 指南id - * @param stepNumber 步骤数量 - * @return long - * @author ZYJ - * @date 2023/5/30 17:45 - */ - long countCompleteRoster(@Param("guideId") Long guideId, - @Param("stepNumber") long stepNumber); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepClassFixMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepClassFixMapper.java deleted file mode 100644 index 6685393..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepClassFixMapper.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.yida.data.school.smart.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepClassFix; - -/** - * 智慧迎新班级固定人员表Mapper - */ -public interface EduSmartWelcomeGuideStepClassFixMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepClassMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepClassMapper.java deleted file mode 100644 index 8eb3e95..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepClassMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.yida.data.school.smart.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepClass; -import org.apache.ibatis.annotations.Param; - -/** - * 智慧迎新班级预分表Mapper - */ -public interface EduSmartWelcomeGuideStepClassMapper extends BaseMapper { - - void incrMale(@Param("id") Long id); - - void incrFemale(@Param("id") Long id); - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepDormFixMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepDormFixMapper.java deleted file mode 100644 index 6123095..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepDormFixMapper.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.yida.data.school.smart.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepDormFix; - -/** - * 智慧迎新宿舍固定人员表Mapper - */ -public interface EduSmartWelcomeGuideStepDormFixMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepDormMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepDormMapper.java deleted file mode 100644 index bd17739..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepDormMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.yida.data.school.smart.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepDorm; -import org.apache.ibatis.annotations.Param; - -/** - * 智慧迎新宿舍预分表Mapper - */ -public interface EduSmartWelcomeGuideStepDormMapper extends BaseMapper { - - void incr(@Param("id") Long id); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepMapper.java deleted file mode 100644 index 10e2f54..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.school.smart.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStep; - -/** - * 智慧迎新指南步骤表Mapper - * - * @author ZYJ - * @date 2023-05-15 15:33:18 - */ -public interface EduSmartWelcomeGuideStepMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepStaffMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepStaffMapper.java deleted file mode 100644 index 0ff2d91..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/mapper/EduSmartWelcomeGuideStepStaffMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.school.smart.mapper; - -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepStaff; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * 智慧迎新指南步骤-审核人员表Mapper - * - * @author ZYJ - * @date 2023-05-15 15:33:18 - */ -public interface EduSmartWelcomeGuideStepStaffMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduGuideStepOrderService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduGuideStepOrderService.java deleted file mode 100644 index 49d8069..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduGuideStepOrderService.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.school.smart.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.smart.EduGuideStepOrder; -import com.yida.data.common.core.entity.smart.ConstructionPayNotifyDTO; - -/** - * 指南步骤订单表 Service接口 - * - * @author ZYJ - * @date 2023-06-20 16:48:14 - */ -public interface EduGuideStepOrderService extends IService { - - /** - * 建行支付通知结果回调 - * - * @param dto 建行支付通知结果回调接收类 - * @author ZYJ - * @date 2023/6/22 1:23 - */ - void constructionPayNotify(ConstructionPayNotifyDTO dto); - - /** - * 更新超时迎新订单状态 - * - * @author ZYJ - * @date 2023/6/21 13:50 - */ - void updateGuideRosterOrderStatus(); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeCampusService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeCampusService.java deleted file mode 100644 index 096e021..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeCampusService.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.yida.data.school.smart.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeCampus; - - -public interface EduSmartWelcomeCampusService extends IService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeDepartmentService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeDepartmentService.java deleted file mode 100644 index 9789fad..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeDepartmentService.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.yida.data.school.smart.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeDepartment; -import java.util.List; - -public interface EduSmartWelcomeDepartmentService extends IService { - - List getDepartmentTree(Long deptId); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideClassRecordService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideClassRecordService.java deleted file mode 100644 index 2b5733b..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideClassRecordService.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.yida.data.school.smart.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideClassRecord; - -/** - * 智慧迎新班级预分记录Service接口 - */ -public interface EduSmartWelcomeGuideClassRecordService extends IService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideDormRecordService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideDormRecordService.java deleted file mode 100644 index f61aacb..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideDormRecordService.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.yida.data.school.smart.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideDormRecord; - -/** - * 智慧迎新班级预分记录Service接口 - */ -public interface EduSmartWelcomeGuideDormRecordService extends IService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideRosterRelationService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideRosterRelationService.java deleted file mode 100644 index 96ae04c..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideRosterRelationService.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.school.smart.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelation; - -/** - * 智慧迎新指南花名册-微信用户绑定关系表Service接口 - * - * @author ZYJ - * @date 2023-05-17 13:53:18 - */ -public interface EduSmartWelcomeGuideRosterRelationService extends IService { - - /** - * 查询openId是否绑定了对应的信息 - * - * @param openId 微信openId - * @param deptId 部门id - * @return com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelation - * @author ZYJ - * @date 2023/6/30 17:07 - */ - EduSmartWelcomeGuideRosterRelation getOpenIdRelation(String openId, Long deptId); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideRosterRelationStepService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideRosterRelationStepService.java deleted file mode 100644 index 8d3ab07..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideRosterRelationStepService.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.school.smart.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelationStep; - -/** - * 智慧迎新指南花名册-微信用户绑定关系-执行步骤表 Service接口 - * - * @author ZYJ - * @date 2023-05-19 14:37:43 - */ -public interface EduSmartWelcomeGuideRosterRelationStepService extends IService { - - /** - * 查询报名成功人数 - * - * @param guideId 指南id - * @param stepNumber 步骤数量 - * @return long - * @author ZYJ - * @date 2023/5/30 17:40 - */ - long countCompleteRoster(Long guideId, long stepNumber); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideRosterService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideRosterService.java deleted file mode 100644 index d96de27..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideRosterService.java +++ /dev/null @@ -1,170 +0,0 @@ -package com.yida.data.school.smart.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.constant.FebsConstant; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRoster; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelation; -import com.yida.data.common.core.file.common.DownloadFileChunk; -import com.yida.data.school.dto.smart.GuideFillInfoSaveDTO; -import com.yida.data.school.dto.smart.GuideRosterSelectPageDTO; -import com.yida.data.school.dto.smart.StaffPassStepDTO; -import com.yida.data.school.vo.smart.GuideRosterInfoVO; -import com.yida.data.school.vo.smart.StatisticsGuideRosterVO; -import org.springframework.scheduling.annotation.Async; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; -import java.util.Map; - -/** - * 智慧迎新指南花名册表Service接口 - * - * @author ZYJ - * @date 2023-05-16 15:06:19 - */ -public interface EduSmartWelcomeGuideRosterService extends IService { - - /** - * 保存填报信息 - * - * @param dto 保存迎新填报信息请求类 - * @author ZYJ - * @date 2023/9/13 20:43 - */ - void saveGuideFillInfo(GuideFillInfoSaveDTO dto); - - /** - * 删除花名册相关信息 - * - * @param rosterId 花名册id - * @author ZYJ - * @date 2023/9/13 21:07 - */ - void deleteRosterInfo(Long rosterId); - - /** - * 查询指南花名册列表 - * - * @param dto 迎新指南花名册后台列表请求类 - * @return com.baomidou.mybatisplus.core.metadata.IPage> - * @author ZYJ - * @date 2023/5/24 11:05 - */ - IPage> listGuideRoster(GuideRosterSelectPageDTO dto); - - /** - * 查询指南花名册统计信息 - * - * @param guideId 指南id - * @return java.util.List - * @author ZYJ - * @date 2023/8/28 16:27 - */ - List statisticsGuideRoster(Long guideId); - - /** - * 获取花名册详细信息 - * - * @param rosterId 花名册id - * @return com.yida.data.school.vo.smart.GuideRosterInfoVO - * @author ZYJ - * @date 2023/5/22 15:53 - */ - GuideRosterInfoVO getGuideRosterInfo(Long rosterId); - - /** - * 导入指南花名册数据 - * - * @param fileUrl 导入的excel文件地址 - * @param guideId 指南id - * @param currentUser 当前登录用户信息 - * @author ZYJ - * @date 2023/6/1 11:14 - */ - @Async(FebsConstant.ASYNC_POOL) - void importGuideRoster(String fileUrl, Long guideId, CurrentUser currentUser, String uuid); - - /** - * 下载指南花名册导入模板 - * - * @param response HttpServletResponse - * @author ZYJ - * @date 2023/6/1 16:55 - */ - void downloadGuideTemplate(HttpServletResponse response); - - /** - * 职工扫码后查询花名册人员详细信息 - * - * @param rosterId 花名册id - * @param staffId 职工id - * @return com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelation - * @author ZYJ - * @date 2023/6/5 13:50 - */ - EduSmartWelcomeGuideRosterRelation getRosterInfo(Long rosterId, Long staffId); - - /** - * 职工通过步骤 - * - * @param dto 职工通过步骤请求类 - * @author ZYJ - * @date 2023/6/5 13:57 - */ - void passStep(StaffPassStepDTO dto); - - /** - * 导出花名册数据 - * - * @param dto 迎新指南花名册后台列表请求类 - * @param uuid uuid - * @author ZYJ - * @date 2023/6/13 9:35 - */ - @Async - void exportRosterInfoData(GuideRosterSelectPageDTO dto, String uuid); - - /** - * 生成花名册二维码 - * - * @param rosterId 花名册id - * @param guideId 指南id - * @author ZYJ - * @date 2023/6/13 15:56 - */ - void createRosterQrCode(Long rosterId, Long guideId); - - /** - * 花名册身份证和通知书 - * - * @param guideId 指南id - * @param key 当前操作标识 - * @author ZYJ - * @date 2023/10/19 15:51 - */ - @Async - void exportRosterPic(Long guideId, String key); - - /** - * 查询导出进度 - * - * @param key 导出唯一标识 - * @return java.lang.Object - * @author ZYJ - * @date 2023/12/12 14:05 - */ - Object getExportRosterPicInfo(String key); - - /** - * 分片下载花名册身份证和通知书图片 - * - * @param dto 分片下载请求类 - * @param response response返回流信息 - * @author ZYJ - * @date 2023/10/19 16:38 - */ - void downloadRosterPicChunk(DownloadFileChunk dto, HttpServletResponse response); - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideService.java deleted file mode 100644 index 69d2317..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideService.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.yida.data.school.smart.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.constant.FebsConstant; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuide; -import com.yida.data.common.core.enums.EnableStatusEnum; -import com.yida.data.school.dto.smart.GuideSaveDTO; -import com.yida.data.school.dto.smart.GuideSelectPageDTO; -import com.yida.data.school.dto.smart.UpdateQrCodeInfoDTO; -import com.yida.data.school.vo.smart.GuideInfoVO; -import com.yida.data.school.vo.smart.GuideSelectPageVO; -import org.springframework.scheduling.annotation.Async; - -/** - * 智慧迎新指南表Service接口 - * - * @author ZYJ - * @date 2023-05-15 15:33:18 - */ -public interface EduSmartWelcomeGuideService extends IService { - - /** - * 查询迎新指南列表数据 - * - * @param dto 迎新指南后台列表请求类 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/5/15 16:56 - */ - IPage listGuidePage(GuideSelectPageDTO dto); - - /** - * 获取迎新指南详细信息 - * - * @param guideId 指南id - * @return com.yida.data.school.vo.smart.GuideInfoVO - * @author ZYJ - * @date 2023/5/15 17:36 - */ - GuideInfoVO getGuideInfo(Long guideId); - - /** - * 保存迎新指南数据 - * - * @param dto 保存迎新指南请求类 - * @author ZYJ - * @date 2023/5/15 20:18 - */ - void saveGuide(GuideSaveDTO dto); - - /** - * 删除指南 - * - * @param guideId 指南id - * @author ZYJ - * @date 2023/5/15 20:36 - */ - void deleteGuide(Long guideId); - - /** - * 修改指南状态 - * - * @param guideId 指南id - * @param enableStatus 状态. 0:未启用, 1:已启用 {@link EnableStatusEnum} - * @author ZYJ - * @date 2023/5/15 20:45 - */ - void updateGuideEnableStatus(Long guideId, Integer enableStatus); - - /** - * 保存指南二维码配置 - * - * @param dto 保存指南二维码配置请求类 - * @author ZYJ - * @date 2023/6/13 15:05 - */ - void updateQrCodeInfo(UpdateQrCodeInfoDTO dto); - - - @Async(FebsConstant.ASYNC_POOL) - void uploadStudentAvatarBatch(String file, Long guideId, Long createUserId); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepClassFixService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepClassFixService.java deleted file mode 100644 index ecfad59..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepClassFixService.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.yida.data.school.smart.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepClassFix; - -/** - * 智慧迎新班级固定人员Service接口 - */ -public interface EduSmartWelcomeGuideStepClassFixService extends IService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepClassService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepClassService.java deleted file mode 100644 index 902bfd6..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepClassService.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.yida.data.school.smart.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStep; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepClass; -import com.yida.data.school.dto.smart.AddUploadFileStepDTO; -import com.yida.data.school.dto.smart.ClassFixImportDTO; -import com.yida.data.school.dto.smart.ClassImportDTO; -import com.yida.data.school.vo.smart.ClassFixImportVO; -import com.yida.data.school.vo.smart.ClassImportVO; -import com.yida.data.school.vo.smart.GuideStepColVO; -import org.ehcache.impl.internal.concurrent.ConcurrentHashMap; -import org.springframework.scheduling.annotation.Async; -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.http.HttpServletResponse; -import java.util.List; - -/** - * 智慧迎新班级预分表Service接口 - */ -public interface EduSmartWelcomeGuideStepClassService extends IService { - - /** - * 下载导入预选班级模板 - * - * @param response - */ - void downloadClassTemplate(HttpServletResponse response); - - - /** - * 下载导入预选班级模板 - * - * @param response - */ - void downloadClassFixTemplate(HttpServletResponse response); - - /** - * 导入班级预分信息,返回List对象 - * - * @param file - * @return - */ - @Async - void importClassData(MultipartFile file, String importKey, CurrentUser currentUser); - - - /** - * 导入固定班级学生信息,返回List对象 Fix * @param file - * - * @return - */ - ClassFixImportVO importClassFixData(MultipartFile file, CurrentUser currentUser, Long guideId); - - /** - * 分配班级 - * - * @param guideId - * @param stepId - * @param rosterId - */ - void classBanding(Long guideId, Long stepId, Long rosterId); - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepDormFixService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepDormFixService.java deleted file mode 100644 index 49e6547..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepDormFixService.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.yida.data.school.smart.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepDormFix; - -/** - * 智慧迎新宿舍固定人员Service接口 - */ -public interface EduSmartWelcomeGuideStepDormFixService extends IService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepDormService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepDormService.java deleted file mode 100644 index e438fc4..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepDormService.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.yida.data.school.smart.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepClass; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepDorm; -import com.yida.data.school.dto.smart.ClassImportDTO; -import com.yida.data.school.dto.smart.CustomDormImportDTO; -import com.yida.data.school.dto.smart.DormImportDTO; -import com.yida.data.school.dto.smart.DormImportFixDTO; -import com.yida.data.school.dto.smart.GuideRosterErrorExportDTO; -import com.yida.data.school.dto.smart.GuideRosterImportDTO; -import com.yida.data.school.vo.smart.ClassFixImportVO; -import com.yida.data.school.vo.smart.DormImportFixVO; -import java.util.List; -import javax.servlet.http.HttpServletResponse; -import org.ehcache.impl.internal.concurrent.ConcurrentHashMap; -import org.springframework.scheduling.annotation.Async; -import org.springframework.web.multipart.MultipartFile; - -/** - * 智慧迎新宿舍预分表Service接口 - */ -public interface EduSmartWelcomeGuideStepDormService extends IService { - - - /** - * 下载导入宿舍模板 - * - * @param response - */ - void downloadDormTemplate(HttpServletResponse response); - - /** - * 下载导入宿舍模板 - * - * @param response - */ - void downloadDormFixTemplate(HttpServletResponse response); - - /** - * 导入宿舍预分信息,返回List对象 - * - * @param file - * @return - */ - @Async - void importDormData(MultipartFile file, String importKey, CurrentUser currentUser); - - - @Async - void importDormDataByCustom(String file, CurrentUser currentUser); - - - DormImportFixVO importDormFixData(MultipartFile file, CurrentUser currentUser, Long guideId); - - /** - * 分配宿舍 - * - * @param guideId - * @param stepId - * @param rosterId - */ - void dormBanding(Long guideId, Long stepId, Long rosterId); - - - void saveCusTomDormData(ConcurrentHashMap concurrentHashMap, CurrentUser currentUser); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepService.java deleted file mode 100644 index 2e5bb08..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepService.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.yida.data.school.smart.service; - -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStep; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.school.dto.smart.AddUploadFileStepDTO; -import com.yida.data.school.vo.smart.GuideStepColVO; - -import java.util.List; - -/** - * 智慧迎新指南步骤表Service接口 - * - * @author ZYJ - * @date 2023-05-15 15:33:18 - */ -public interface EduSmartWelcomeGuideStepService extends IService { - - - void addUploadFile(AddUploadFileStepDTO dto); - - /** - * 查询人员步骤信息 - * - * @param relationId 绑定关系id - * @param guideId 指南id - * @return java.util.List - * @author ZYJ - * @date 2023/5/19 16:01 - */ - List listStepInfo(Long relationId, Long guideId); - - /** - * 查询花名册动态表头 - * - * @param guideId 指南id - * @return java.util.List - * @author ZYJ - * @date 2023/5/23 16:15 - */ - List listGuideRosterTableCol(Long guideId); - - /** - * 查询人员步骤详细信息(包括审核信息) 后台花名册详情页面使用 - * - * @param rosterId 花名册id - * @param guideId 指南id - * @return java.util.List - * @author ZYJ - * @date 2023/6/1 10:02 - */ - List listStepDetailInfo(Long rosterId, Long guideId); - - /** - * 查询人员步骤详细信息(包括审核信息) 职工扫码显示信息 - * - * @param rosterId 花名册id - * @param guideId 指南id - * @param staffId 职工id - * @return java.util.List - * @author ZYJ - * @date 2023/6/5 13:45 - */ - List listExamineStepInfo(Long rosterId, Long guideId, Long staffId); - - /** - * 获取上一步需要审核的步骤 - */ - EduSmartWelcomeGuideStep premiseStep(Long stepId, EduSmartWelcomeGuideStep step); - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepStaffService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepStaffService.java deleted file mode 100644 index a257a5d..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/EduSmartWelcomeGuideStepStaffService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.yida.data.school.smart.service; - -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepStaff; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - * 智慧迎新指南步骤-审核人员表Service接口 - * - * @author ZYJ - * @date 2023-05-15 15:33:18 - */ -public interface EduSmartWelcomeGuideStepStaffService extends IService { -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/H5EduSmartWelcomeService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/H5EduSmartWelcomeService.java deleted file mode 100644 index d11015f..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/H5EduSmartWelcomeService.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.yida.data.school.smart.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRoster; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelation; -import com.yida.data.school.dto.smart.h5.CreateGuideStepOrderDTO; -import com.yida.data.school.dto.smart.h5.RosterFaceMatchDTO; -import com.yida.data.school.dto.smart.h5.RosterPageDTO; -import com.yida.data.school.vo.smart.h5.RosterFaceMatchVO; -import com.yida.data.school.vo.smart.h5.RosterStepPayInfoVO; - -import java.time.LocalDateTime; -import java.util.Map; - -/** - * 智慧迎新H5接口 service - * - * @author ZYJ - * @date 2023/6/19 17:19 - */ -public interface H5EduSmartWelcomeService { - - /** - * 生成花名册步骤订单 - * - * @param dto 生成花名册步骤订单请求类 - * @return com.yida.data.school.vo.smart.h5.RosterStepPayInfoVO - * @author ZYJ - * @date 2023/6/19 17:35 - */ - RosterStepPayInfoVO createGuideStepOrder(CreateGuideStepOrderDTO dto); - - /** - * 迎新订单支付成功 - * - * @param orderCode 订单号 - * @param payDate 支付完成时间 - * @author ZYJ - * @date 2023/6/20 17:26 - */ - void guideStepOrderPaySuccess(String orderCode, LocalDateTime payDate); - - /** - * 迎新步骤订单完成(前台支付完成后调用) - * - * @param orderCode 订单号 - * @author ZYJ - * @date 2023/6/20 17:31 - */ - void guideStepOrderSuccess(String orderCode); - - /** - * 花名册人脸对比 - * - * @param dto 花名册人脸对比请求类 - * @return com.yida.data.school.vo.smart.h5.RosterFaceMatchVO - * @author ZYJ - * @date 2023/6/21 11:21 - */ - RosterFaceMatchVO rosterFaceMatch(RosterFaceMatchDTO dto); - - EduSmartWelcomeGuideRoster getUserQrCodeUrl(Long rosterId); - - /** - * 职工获取缴费二维码地址 - * - * @param deptId 部门id - * @return java.lang.String - * @author ZYJ - * @date 2023/7/4 17:04 - */ - String getPayQrCodeUrl(Long deptId); - - /** - * 根据名称查询花名册列表信息 - * - * @param dto 花名册列表h5查询请求类 - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/7/7 11:45 - */ - IPage listRoster(RosterPageDTO dto); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/ImportGuideRosterService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/ImportGuideRosterService.java deleted file mode 100644 index 48e0f18..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/ImportGuideRosterService.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yida.data.school.smart.service; - -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.school.dto.smart.GuideRosterErrorExportDTO; -import com.yida.data.school.dto.smart.GuideRosterImportDTO; -import com.yida.data.user.dto.*; -import org.ehcache.impl.internal.concurrent.ConcurrentHashMap; - -import java.util.List; - -/** - * 指南花名册信息导入service层 - * - * @author ZYJ - * @date 2023/6/1 - */ -public interface ImportGuideRosterService { - - /** - * 保存指南花名册导入数据 - * - * @param concurrentHashMap 需要保存的用户数据 - * @param errorList 导入错误数据集合 - * @param guideId 指南id - * @param uuid 当前导入数据唯一标识 - * @param currentUser 当前登录用户信息 - * @param totalCount 总数量 - * @param handleCount 已处理数量 - * @author ZYJ - * @date 2023/6/1 14:17 - */ - void saveGuideRosterExcelData(ConcurrentHashMap concurrentHashMap, - List errorList, - Long guideId, String uuid, - CurrentUser currentUser, Integer totalCount, - Integer handleCount); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduGuideStepOrderServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduGuideStepOrderServiceImpl.java deleted file mode 100644 index e7deb58..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduGuideStepOrderServiceImpl.java +++ /dev/null @@ -1,170 +0,0 @@ -package com.yida.data.school.smart.service.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.LocalDateTimeUtil; -import cn.hutool.json.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.common.ResultMsgType; -import com.yida.data.common.core.entity.constant.ConstructionPayConstant; -import com.yida.data.common.core.entity.smart.ConstructionPayNotifyDTO; -import com.yida.data.common.core.entity.smart.EduGuideStepOrder; -import com.yida.data.common.core.entity.system.ConstructionPayConfig; -import com.yida.data.common.core.enums.ConstructionTradeStateEnum; -import com.yida.data.common.core.enums.OrderStatusEnum; -import com.yida.data.common.core.enums.PayStatusEnum; -import com.yida.data.common.core.enums.PayWay; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.ConstructionPayUtil; -import com.yida.data.common.core.utils.EnumUtils; -import com.yida.data.common.service.CommonService; -import com.yida.data.school.smart.mapper.EduGuideStepOrderMapper; -import com.yida.data.school.smart.service.EduGuideStepOrderService; -import com.yida.data.school.smart.service.H5EduSmartWelcomeService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.context.annotation.Lazy; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.util.List; -import java.util.Objects; - -/** - * 指南步骤订单表 Service实现 - * - * @author ZYJ - * @date 2023-06-20 16:48:14 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduGuideStepOrderServiceImpl extends ServiceImpl - implements EduGuideStepOrderService { - - @Lazy - @Resource - private H5EduSmartWelcomeService h5EduSmartWelcomeService; - - private final CommonService commonService; - - @Override - public void constructionPayNotify(ConstructionPayNotifyDTO dto) { - // 根据订单号查询对应的订单信息 - EduGuideStepOrder order = getOne(new LambdaQueryWrapper<>(new EduGuideStepOrder()) - .eq(EduGuideStepOrder::getOrderCode, dto.getORDERID())); - if (Objects.isNull(order)) { - log.error("建行支付回调, 未找到订单信息, orderNO: {}", dto.getORDERID()); - throw new FebsException(ResultMsgType.ORDER_NOT_FOUND.getValue()); - } - // 返回的订单状态 - String status = dto.getSUCCESS(); - if ("N".equals(status)) { - log.error("错误状态: {}", order.getOrderCode()); - throw new FebsException(ResultMsgType.SERVER_ERROR.getValue()); - } - // 判断支付结果是否处理 - if (OrderStatusEnum.PAY_SUCCESS.getStatus().equals(order.getOrderStatus())) { - log.info("建行支付回调, 该订单已经处理: {}", order.getOrderCode()); - return; - } - // 验证金额 - if (order.getPracticalMoney().compareTo(new BigDecimal(dto.getPAYMENT())) != 0) { - log.error("订单金额错误: {}", order.getOrderCode()); - throw new FebsException(ResultMsgType.ORDER_MONEY_ERROR.getValue()); - } - // 获取建行配置信息 - ConstructionPayConfig config = commonService.getConstructionPayConfigByDept(order.getDeptId()); - if (Objects.isNull(config)) { - log.info("建行支付回调, 该学校没有对应的配置信息: {}", order.getDeptId()); - throw new FebsException(ResultMsgType.SERVER_ERROR.getValue()); - } - // 签名 - String signature = dto.getSIGN(); - // TODO 此处调用查询接口处理数据 - // 验签 -// boolean checkFlag = ConstructionPayUtil.validateSign(dto, signature, config.getPublicKey()); -// if (!checkFlag) { -// log.error("建行支付回调, 验签失败"); -// throw new FebsException(ResultMsgType.SERVER_ERROR.getValue()); -// } - if ("Y".equals(status)) { - h5EduSmartWelcomeService.guideStepOrderPaySuccess(order.getOrderCode(), LocalDateTime.now()); - } - } - - @Override - public void updateGuideRosterOrderStatus() { - // 查询超时订单 - List list = baseMapper.selectTimeOutOrder(); - if (CollUtil.isNotEmpty(list)) { - for (EduGuideStepOrder order : list) { - // 建行订单 - if (PayWay.CONSTRUCTION_PAY.getValue().equals(order.getPayWay())) { - updateConstructionGuideStepOrderStatus(order); - } - } - } - } - - private void updateConstructionGuideStepOrderStatus(EduGuideStepOrder order) { - try { - // 查询建行支付配置 - ConstructionPayConfig config = commonService.getConstructionPayConfigByDept(order.getDeptId()); - if (Objects.isNull(config)) { - log.error("当前学校赞未配置建行支付信息"); - return; - } - // 主动查询订单支付状态 - JSONObject resultJson = ConstructionPayUtil.queryOrder(config, order.getOrderCode()); - log.info("建行订单查询返回数据, orderCode: {}, resultJson: {}", order.getOrderCode(), resultJson); - // 返回code - String code = resultJson.getStr(ConstructionPayConstant.RETURN_CODE_NAME); - // 无法找到指定的订单 需要直接关闭订单 - if (ConstructionPayConstant.NO_ORDER_CODE.equalsIgnoreCase(code)) { - order.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - order.setPayStatus(PayStatusEnum.CANCEL.getStatus()); - baseMapper.updateById(order); - return; - } - - // 支付信息 - JSONObject queryOrder = resultJson.getJSONObject("QUERYORDER"); - // 支付状态 - String status = (String) queryOrder.get("STATUSCODE"); - // 不确定不处理 - if (ConstructionTradeStateEnum.WAIT_BANK_CONFIRM.getStatus().equals(status) - || ConstructionTradeStateEnum.WAIT_BANK_CONFIRM_OTHER.getStatus().equals(status)) { - return; - } - ConstructionTradeStateEnum tradeStateEnum = EnumUtils.valueOf(ConstructionTradeStateEnum.class, status, - ConstructionTradeStateEnum.class.getMethod("getStatus")); - switch (Objects.requireNonNull(tradeStateEnum)) { - // 支付成功 - case TRADE_SUCCESS: - h5EduSmartWelcomeService.guideStepOrderPaySuccess(order.getOrderCode(), - LocalDateTimeUtil.parse((String) resultJson.get("ORDERDATE"), DatePattern.NORM_DATETIME_PATTERN)); - break; - // 作废订单 - case TRADE_FAIL: - case WAIT_BANK_CONFIRM: - case WAIT_BANK_CONFIRM_OTHER: - order.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - order.setPayStatus(PayStatusEnum.CANCEL.getStatus()); - break; - default: - break; - } - if (OrderStatusEnum.CLOSED.getStatus().equals(order.getOrderStatus())) { - baseMapper.updateById(order); - } - } catch (Exception e) { - log.error("更新建行迎新订单状态失败, order: {}", order, e); - } - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeCampusServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeCampusServiceImpl.java deleted file mode 100644 index 04c8b35..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeCampusServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.yida.data.school.smart.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeCampus; -import com.yida.data.school.smart.mapper.EduSmartWelcomeCampusMapper; -import com.yida.data.school.smart.service.EduSmartWelcomeCampusService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduSmartWelcomeCampusServiceImpl extends ServiceImpl - implements EduSmartWelcomeCampusService { - - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeDepartmentServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeDepartmentServiceImpl.java deleted file mode 100644 index 0b925c4..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeDepartmentServiceImpl.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.yida.data.school.smart.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeDepartment; -import com.yida.data.school.smart.mapper.EduSmartWelcomeDepartmentMapper; -import com.yida.data.school.smart.service.EduSmartWelcomeDepartmentService; -import java.util.List; -import lombok.Data; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - - -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduSmartWelcomeDepartmentServiceImpl extends ServiceImpl - implements EduSmartWelcomeDepartmentService { - - private final RedisService redisService; - - @Override - public List getDepartmentTree(Long deptId) { -// String returnStr = (String) redisService.hget(CachePrefixConstant.WELCOME_DEPARTMENT_DATA, deptId.toString()); -// -// if (ObjectUtil.isNotNull(returnStr)) { -// return JSONUtil.toList(returnStr, EduSmartWelcomeDepartment.class); -// } - List departmentList = list(Wrappers.lambdaQuery(new EduSmartWelcomeDepartment()) - .eq(EduSmartWelcomeDepartment::getDeptId, deptId) - .isNull(EduSmartWelcomeDepartment::getParentId)); - for (EduSmartWelcomeDepartment department : departmentList) { - List list = list(Wrappers.lambdaQuery(new EduSmartWelcomeDepartment()) - .eq(EduSmartWelcomeDepartment::getDeptId, deptId) - .eq(EduSmartWelcomeDepartment::getParentId, department.getId())); - department.setChildrenList(list); - } - log.info("缓存数据:{}", JSONUtil.toJsonStr(departmentList)); -// if (CollUtil.isNotEmpty(departmentList)) { -// redisService.set(CachePrefixConstant.WELCOME_DEPARTMENT_DATA + deptId, JSONUtil.toJsonStr(departmentList)); -// } - return departmentList; - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideClassRecordServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideClassRecordServiceImpl.java deleted file mode 100644 index ec4c644..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideClassRecordServiceImpl.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.yida.data.school.smart.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideClassRecord; -import com.yida.data.school.smart.mapper.EduSmartWelcomeGuideClassRecordMapper; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideClassRecordService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 智慧迎新班级预分记录Service实现 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduSmartWelcomeGuideClassRecordServiceImpl extends ServiceImpl - implements EduSmartWelcomeGuideClassRecordService { - - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideDormRecordServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideDormRecordServiceImpl.java deleted file mode 100644 index e5d6930..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideDormRecordServiceImpl.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.yida.data.school.smart.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideDormRecord; -import com.yida.data.school.smart.mapper.EduSmartWelcomeGuideDormRecordMapper; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideDormRecordService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 智慧迎新班级预分记录Service实现 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduSmartWelcomeGuideDormRecordServiceImpl extends ServiceImpl - implements EduSmartWelcomeGuideDormRecordService { - - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideRosterRelationServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideRosterRelationServiceImpl.java deleted file mode 100644 index a69fb52..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideRosterRelationServiceImpl.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.yida.data.school.smart.service.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuide; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRoster; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelation; -import com.yida.data.common.core.enums.EnableStatusEnum; -import com.yida.data.school.smart.mapper.EduSmartWelcomeGuideRosterRelationMapper; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideRosterRelationService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideRosterService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.context.annotation.Lazy; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; -import java.util.List; - -/** - * 智慧迎新指南花名册-微信用户绑定关系表Service实现 - * - * @author ZYJ - * @date 2023-05-17 13:53:18 - */ -@Slf4j -@Service -@Transactional(rollbackFor = Exception.class) -public class EduSmartWelcomeGuideRosterRelationServiceImpl extends ServiceImpl - implements - EduSmartWelcomeGuideRosterRelationService { - - @Lazy - @Resource - private EduSmartWelcomeGuideService eduSmartWelcomeGuideService; - - @Lazy - @Resource - private EduSmartWelcomeGuideRosterService eduSmartWelcomeGuideRosterService; - - @Override - public EduSmartWelcomeGuideRosterRelation getOpenIdRelation(String openId, Long deptId) { - List relationList = list( - Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelation()) - .eq(EduSmartWelcomeGuideRosterRelation::getOpenId, openId) - .eq(EduSmartWelcomeGuideRosterRelation::getDeptId, deptId)); - - log.info("openID:【{}】,deptId:【{}】", openId, deptId); - EduSmartWelcomeGuideRosterRelation returnRelation = null; - - if (CollUtil.isNotEmpty(relationList)) { - for (EduSmartWelcomeGuideRosterRelation relation : relationList) { - //判断当前指南是否启用 - EduSmartWelcomeGuide guide = eduSmartWelcomeGuideService.getById(relation.getGuideId()); - if (ObjectUtil.isNotNull(guide)) { - if (guide.getEnableStatus().equals(EnableStatusEnum.ENABLE_STATUS.getStatus())) { - EduSmartWelcomeGuideRoster guideRoster = eduSmartWelcomeGuideRosterService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRoster()) - .eq(EduSmartWelcomeGuideRoster::getId, relation.getRosterId())); - if(ObjectUtil.isNotNull(guideRoster)){ - guideRoster.setQrCodeNoticeMessage(guide.getQrCodeNoticeMessage()); - relation.setGuideRoster(guideRoster); - returnRelation = relation; - break; - } - - } - } - } - } - return returnRelation; - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideRosterRelationStepServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideRosterRelationStepServiceImpl.java deleted file mode 100644 index 87c36bb..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideRosterRelationStepServiceImpl.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.yida.data.school.smart.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelationStep; -import com.yida.data.school.smart.mapper.EduSmartWelcomeGuideRosterRelationStepMapper; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideRosterRelationStepService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 智慧迎新指南花名册-微信用户绑定关系-执行步骤表 Service实现 - * - * @author ZYJ - * @date 2023-05-19 14:37:43 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduSmartWelcomeGuideRosterRelationStepServiceImpl extends ServiceImpl - implements EduSmartWelcomeGuideRosterRelationStepService { - - @Override - public long countCompleteRoster(Long guideId, long stepNumber) { - return baseMapper.countCompleteRoster(guideId, stepNumber); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideRosterServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideRosterServiceImpl.java deleted file mode 100644 index 265ff52..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideRosterServiceImpl.java +++ /dev/null @@ -1,738 +0,0 @@ -package com.yida.data.school.smart.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.lang.UUID; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.json.JSONUtil; -import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.support.ExcelTypeEnum; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import com.alibaba.fastjson.TypeReference; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideClassRecord; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideDormRecord; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRoster; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelation; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelationStep; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStep; -import com.yida.data.common.core.entity.system.SystemUser; -import com.yida.data.common.core.entity.user.EduParent; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.enums.*; -import com.yida.data.common.core.file.common.DownloadFileChunk; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.*; -import com.yida.data.school.dto.smart.*; -import com.yida.data.school.smart.config.ExportGuidePicClient; -import com.yida.data.school.smart.excel.GuideRosterExcelListener; -import com.yida.data.school.smart.excel.SelectGuidePicExportData; -import com.yida.data.school.smart.mapper.EduSmartWelcomeGuideRosterMapper; -import com.yida.data.school.smart.service.*; -import com.yida.data.school.vo.smart.*; -import com.yida.data.system.feign.RemoteUserService; -import com.yida.data.user.feign.RemoteStudentService; - -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.ApplicationContext; -import org.springframework.context.annotation.Lazy; -import org.springframework.core.io.ClassPathResource; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.StopWatch; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.io.InputStream; -import java.time.LocalDateTime; -import java.util.*; - -/** - * 智慧迎新指南花名册表Service实现 - * - * @author ZYJ - * @date 2023-05-16 15:06:19 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduSmartWelcomeGuideRosterServiceImpl extends ServiceImpl - implements EduSmartWelcomeGuideRosterService { - - @Lazy - @Resource - private ImportGuideRosterService importGuideRosterService; - - private final EduSmartWelcomeGuideStepService eduSmartWelcomeGuideStepService; - private final EduSmartWelcomeGuideRosterRelationService eduSmartWelcomeGuideRosterRelationService; - private final EduSmartWelcomeGuideRosterRelationStepService eduSmartWelcomeGuideRosterRelationStepService; - - private final RemoteUserService remoteUserService; - private final RemoteStudentService remoteStudentService; - private final EduSmartWelcomeGuideStepClassService eduSmartWelcomeGuideStepClassService; - private final EduSmartWelcomeGuideClassRecordService eduSmartWelcomeGuideClassRecordService; - private final EduSmartWelcomeGuideStepDormService eduSmartWelcomeGuideStepDormService; - private final EduSmartWelcomeGuideDormRecordService eduSmartWelcomeGuideDormRecordService; - - private final RedisService redisService; - - @Autowired - ApplicationContext applicationContext; - - @Value("${febs.uploadUrl}") - private String uploadUrl; - - @Lazy - @Resource - private ExportGuidePicClient exportGuidePicClient; - - @Override - public void saveGuideFillInfo(GuideFillInfoSaveDTO dto) { - // 查询花名册基础信息 - EduSmartWelcomeGuideRoster guideRoster = getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRoster()) - .eq(EduSmartWelcomeGuideRoster::getDeptId, dto.getDeptId()) - .eq(EduSmartWelcomeGuideRoster::getGuideId, dto.getGuideId()) - .eq(EduSmartWelcomeGuideRoster::getFullName, dto.getName()) - .eq(EduSmartWelcomeGuideRoster::getIdNumber, dto.getIdNumber()) - .eq(EduSmartWelcomeGuideRoster::getAdmittedMajor, dto.getAdmittedMajor()) - ); - if (Objects.isNull(guideRoster)) { - throw new FebsException("您填写的信息与教育系统内不一致,请修改后再试"); - } - // 判断是否绑定过当前指南的信息 - EduSmartWelcomeGuideRosterRelation exist = eduSmartWelcomeGuideRosterRelationService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelation()) - .eq(EduSmartWelcomeGuideRosterRelation::getGuideId, dto.getGuideId()) - .eq(EduSmartWelcomeGuideRosterRelation::getOpenId, dto.getOpenId()) - ); - if (Objects.nonNull(exist)) { - throw new FebsException("当前账号已经绑定过信息!"); - } - // 判断是否绑定过 - EduSmartWelcomeGuideRosterRelation relation = eduSmartWelcomeGuideRosterRelationService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelation()) - .eq(EduSmartWelcomeGuideRosterRelation::getRosterId, guideRoster.getId()) -// .eq(EduSmartWelcomeGuideRosterRelation::getOpenId, dto.getOpenId()) - ); - if (Objects.nonNull(relation)) { - if (Objects.nonNull(guideRoster.getDormitoryId()) || Objects.nonNull(guideRoster.getClassId())) { - throw new FebsException("该信息已被绑定!请联系工作人员"); - } else { - // 清除绑定数据 - EduSmartWelcomeGuideRosterServiceImpl bean = applicationContext - .getBean(EduSmartWelcomeGuideRosterServiceImpl.class); - bean.deleteRosterInfo(guideRoster.getId()); - } - } - // 判断是否需要添加登录用户信息 - SystemUser user = remoteUserService.getInfoByUsernameNoPermission(guideRoster.getMobile()).getData(); - if (Objects.isNull(user)) { - user = new SystemUser(); - user.setDeptId(dto.getDeptId()); - user.setUsername(guideRoster.getMobile()); - user.setNickname(guideRoster.getMobile()); - user.setMobile(guideRoster.getMobile()); - user.setSex(ObjectUtil.isNull(dto.getSex()) ? null : String.valueOf(dto.getSex())); - user.setAvatar(dto.getAvatar()); - user.setUserOrigin(0); - user = remoteUserService.addUser(user).getData(); - } - // 添加关联关系 - relation = new EduSmartWelcomeGuideRosterRelation(); - BeanUtils.copyProperties(dto, relation); - relation.setRosterId(guideRoster.getId()); - relation.setUserId(user.getUserId()); - eduSmartWelcomeGuideRosterRelationService.saveOrUpdate(relation); - - //变更花名册信息 - guideRoster.setAdmissionLetter(dto.getAdmissionLetter()); - guideRoster.setAdmittedDepartment(dto.getAdmittedDepartment()); - guideRoster.setAdmittedDepartmentId(dto.getAdmittedDepartmentId()); - guideRoster.setAdmittedMajor(dto.getAdmittedMajor()); - guideRoster.setAdmittedMajorId(dto.getAdmittedMajorId()); - guideRoster.setIdCardReverse(dto.getIdCardReverse()); - guideRoster.setIdCardRight(dto.getIdCardRight()); - updateById(guideRoster); - } - - @Override - public void deleteRosterInfo(Long rosterId) { - // 删除绑定人员步骤信息 - eduSmartWelcomeGuideRosterRelationStepService.remove(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getRosterId, rosterId)); - // 删除绑定关系 - eduSmartWelcomeGuideRosterRelationService.remove(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelation()) - .eq(EduSmartWelcomeGuideRosterRelation::getRosterId, rosterId)); - } - - @Override - public IPage> listGuideRoster(GuideRosterSelectPageDTO dto) { - if (ObjectUtil.isNotNull(dto.getPassStepId())) { - // 查询出完成步骤的人员信息 - List relationStepList = eduSmartWelcomeGuideRosterRelationStepService - .list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getGuideId, dto.getGuideId()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStatus, AuditStatusEnum.PASS_STATUS.getStatus()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStepId, dto.getPassStepId())); - if (CollUtil.isNotEmpty(relationStepList)) { - dto.setPassRosterIdList(relationStepList.stream().map(EduSmartWelcomeGuideRosterRelationStep::getRosterId) - .collect(Collectors.toList())); - } - } - IPage page = baseMapper.listGuideRoster(dto.toPage(), dto); - // 实际返回的分页数据 - Page> returnPage = new Page<>(); - BeanUtils.copyProperties(page, returnPage); - List> returnList = new ArrayList<>(); - - for (GuideRosterSelectPageVO vo : page.getRecords()) { - Map map = JSONObject - .parseObject(JSONObject.toJSONString(vo), new TypeReference>() { - }); - EduSmartWelcomeGuideRosterRelation relation = eduSmartWelcomeGuideRosterRelationService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelation()) - .eq(EduSmartWelcomeGuideRosterRelation::getRosterId, vo.getRosterId()) - ); - // 处理步骤信息 - List stepList = eduSmartWelcomeGuideStepService. - listStepInfo(Objects.nonNull(relation) ? relation.getId() : null, dto.getGuideId()); - if (CollUtil.isNotEmpty(stepList)) { - stepList.forEach(step -> map.put(step.getId().toString(), step.getStatus().toString())); - } - returnList.add(map); - } - returnPage.setRecords(returnList); - return returnPage; - } - - @Override - public List statisticsGuideRoster(Long guideId) { - List list = new ArrayList<>(); - // 查询花名册数量 - long totalNumber = count(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRoster()) - .eq(EduSmartWelcomeGuideRoster::getGuideId, guideId)); - // 查询报到成功人数 - long successNumber = count(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRoster()) - .eq(EduSmartWelcomeGuideRoster::getGuideId, guideId) - .eq(EduSmartWelcomeGuideRoster::getRegistrationStatus, RegistrationStatusEnum.REGISTRATION_SUCCESS.getStatus()) - ); - list.add(StatisticsGuideRosterVO.builder() - .cardName("报到完成") - .totalNumber(Math.toIntExact(totalNumber)) - .executeNumber(Math.toIntExact(successNumber)) - .build()); - // 查询需要审核的步骤信息 - List stepList = eduSmartWelcomeGuideStepService - .list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStep()) - .eq(EduSmartWelcomeGuideStep::getGuideId, guideId) - .in(EduSmartWelcomeGuideStep::getStepType, - Arrays.asList(GuideStepTypeEnum.EXAMINE_TYPE.getType(), - GuideStepTypeEnum.MATCH_FACE.getType(), - GuideStepTypeEnum.CLASS.getType(), - GuideStepTypeEnum.DORM.getType() - ) - ) - ); - for (EduSmartWelcomeGuideStep step : stepList) { - long executeNumber = 0; - // 花名册信息不为0 - if (totalNumber != 0) { - // 查询步骤通过数量 - executeNumber = eduSmartWelcomeGuideRosterRelationStepService - .count(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStepId, step.getId()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStatus, AuditStatusEnum.PASS_STATUS.getStatus()) - ); - } - list.add(StatisticsGuideRosterVO.builder() - .cardName(step.getStepName()) - .totalNumber(Math.toIntExact(totalNumber)) - .executeNumber(Math.toIntExact(executeNumber)) - .build()); - } - return list; - } - - @Override - public GuideRosterInfoVO getGuideRosterInfo(Long rosterId) { - GuideRosterInfoVO vo = new GuideRosterInfoVO(); - EduSmartWelcomeGuideRoster guideRoster = getById(rosterId); - if (Objects.nonNull(guideRoster)) { - BeanUtils.copyProperties(guideRoster, vo); - vo.setRosterId(guideRoster.getId()); - // 处理步骤信息 - List stepList = - eduSmartWelcomeGuideStepService.listStepDetailInfo(rosterId, guideRoster.getGuideId()); - vo.setStepList(stepList); - // 查询关联关系 - EduSmartWelcomeGuideRosterRelation relation = eduSmartWelcomeGuideRosterRelationService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelation()) - .eq(EduSmartWelcomeGuideRosterRelation::getRosterId, rosterId)); - if (Objects.nonNull(relation)) { - vo.setAvatar(relation.getAvatar()); - vo.setSex(relation.getSex()); - } - } - return vo; - } - - @Override - public void importGuideRoster(String fileUrl, Long guideId, CurrentUser currentUser, String uuid) { - // 上传的excel文件 - File file = null; - // 错误信息文件excel - File errorFile = null; - try { - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - // 调用导入方法 - List errorList = new ArrayList<>(); - file = new File(fileUrl); - EasyExcel.read(file, GuideRosterImportDTO.class, - new GuideRosterExcelListener(importGuideRosterService, errorList, guideId, uuid, currentUser)) - .sheet().headRowNumber(1).doRead(); - stopWatch.stop(); - log.info("导入指南花名册数据总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); - // 判断是否有错误数据 - if (CollUtil.isNotEmpty(errorList)) { - // 错误信息文件名称 - String fileName = FileUtil.getLocalUploadAddress() + uuid + ".xlsx"; - EasyExcel.write(fileName, GuideRosterErrorExportDTO.class) - .sheet("错误信息") - .doWrite(errorList); - // 上传到媒资 - errorFile = new File(fileName); - String url = FileUtil.uploadFileToMediaServer(uploadUrl, errorFile); - // 保存导入不成功的数据和原因 - redisService.set(CachePrefixConstant.IMPORT_GUIDE_ROSTER_KEY + uuid, - ImportRosterDataVO.builder().percent(100).finish(1).key(uuid).filePath(url) - .build()); - } else { - redisService.set(CachePrefixConstant.IMPORT_GUIDE_ROSTER_KEY + uuid, - ImportRosterDataVO.builder().percent(100).finish(1).key(uuid) - .build()); - } - } catch (Exception e) { - log.error("导入指南花名册数据失败: {}", e.getMessage(), e); - throw new FebsException("导入失败!请重新操作"); - } finally { - if (Objects.nonNull(file)) { - cn.hutool.core.io.FileUtil.del(file); - } - if (Objects.nonNull(errorFile)) { - cn.hutool.core.io.FileUtil.del(errorFile); - } - } - } - - @Override - public void downloadGuideTemplate(HttpServletResponse response) { - try { - String fileName = "花名册导入模板.xls"; - // 获取导入文件模板 - ClassPathResource classPathResource = new ClassPathResource("template/" + fileName); - InputStream inputStream = classPathResource.getInputStream(); - FileUtil.download(FileUtil.inputStreamToFile(inputStream), fileName, false, response); - } catch (Exception e) { - throw new FebsException("下载指南花名册导入模板失败!"); - } - } - - @Override - public EduSmartWelcomeGuideRosterRelation getRosterInfo(Long rosterId, Long staffId) { - EduSmartWelcomeGuideRoster guideRoster = getById(rosterId); - if (Objects.isNull(guideRoster)) { - throw new FebsException("人员信息错误!"); - } - EduSmartWelcomeGuideRosterRelation relation = eduSmartWelcomeGuideRosterRelationService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelation()) - .eq(EduSmartWelcomeGuideRosterRelation::getRosterId, rosterId)); - if (Objects.isNull(relation)) { - throw new FebsException("人员信息错误!"); - } - relation.setGuideRoster(guideRoster); - // 查询步骤信息 - List stepList = eduSmartWelcomeGuideStepService - .listExamineStepInfo(guideRoster.getId(), guideRoster.getGuideId(), staffId); - relation.setStepList(stepList); - return relation; - } - - @Override - public void passStep(StaffPassStepDTO dto) { - EduSmartWelcomeGuideRoster guideRoster = (EduSmartWelcomeGuideRoster) redisService - .hget(CachePrefixConstant.WELCOME_ROSTER, dto.getRosterId().toString()); - - if (ObjectUtil.isNull(guideRoster)) { - guideRoster = getById(dto.getRosterId()); - } - - if (Objects.isNull(guideRoster)) { - throw new FebsException("人员信息错误!"); - } - // 判断前提步骤信息 - EduSmartWelcomeGuideStep step = eduSmartWelcomeGuideStepService.getById(dto.getStepId()); - if (Objects.isNull(step)) { - throw new FebsException("步骤信息错误!"); - } - if (Objects.nonNull(step.getPremiseStepId())) { - EduSmartWelcomeGuideStep premiseStep = eduSmartWelcomeGuideStepService - .premiseStep(step.getPremiseStepId(), new EduSmartWelcomeGuideStep()); - if (ObjectUtil.isNotNull(premiseStep)) { - if (ObjectUtil.equals(GuideStepTypeEnum.EXAMINE_TYPE.getType(), premiseStep.getStepType()) || ObjectUtil - .equals(GuideStepTypeEnum.CLASS.getType(), premiseStep.getStepType()) || - ObjectUtil.equals(GuideStepTypeEnum.DORM.getType(), premiseStep.getStepType()) - || ObjectUtil.equals(GuideStepTypeEnum.MATCH_FACE.getType(), premiseStep.getStepType())) { - EduSmartWelcomeGuideRosterRelationStep premiseRelationStep = eduSmartWelcomeGuideRosterRelationStepService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getRosterId, dto.getRosterId()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStepId, premiseStep.getId()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStatus, AuditStatusEnum.PASS_STATUS.getStatus()) - ); - if (Objects.isNull(premiseRelationStep)) { - throw new FebsException(String.format("请审核通过【%s】后执行其它步骤!", premiseStep.getStepName())); - } - } - } - } - // 判断是否审核通过 - EduSmartWelcomeGuideRosterRelationStep relationStep = eduSmartWelcomeGuideRosterRelationStepService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getRosterId, dto.getRosterId()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStepId, dto.getStepId()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStatus, AuditStatusEnum.PASS_STATUS.getStatus())); - if (Objects.nonNull(relationStep)) { - throw new FebsException("该步骤已经审核通过!请勿重复操作"); - } - // 保存审核信息 - EduSmartWelcomeGuideRosterRelationStep smartWelcomeGuideRosterRelationStep = eduSmartWelcomeGuideRosterRelationStepService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getGuideId, guideRoster.getGuideId()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStepId, dto.getStepId()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getRelationId, dto.getRelationId())); - - if (ObjectUtil.isNull(smartWelcomeGuideRosterRelationStep)) { - EduSmartWelcomeGuideRosterRelationStep saveInfo = new EduSmartWelcomeGuideRosterRelationStep(); - BeanUtils.copyProperties(dto, saveInfo); - saveInfo.setDeptId(guideRoster.getDeptId()); - saveInfo.setGuideId(guideRoster.getGuideId()); - saveInfo.setRosterId(guideRoster.getId()); - saveInfo.setRelationId(dto.getRelationId()); - saveInfo.setOperateTime(LocalDateTime.now()); - saveInfo.setStatus(AuditStatusEnum.PASS_STATUS.getStatus()); - saveInfo.setCommentContent(dto.getCommentContent()); - eduSmartWelcomeGuideRosterRelationStepService.save(saveInfo); - } else { - eduSmartWelcomeGuideRosterRelationStepService - .update(Wrappers.lambdaUpdate(new EduSmartWelcomeGuideRosterRelationStep()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getId, smartWelcomeGuideRosterRelationStep.getId()) - .set(EduSmartWelcomeGuideRosterRelationStep::getStatus, AuditStatusEnum.PASS_STATUS.getStatus()) - .set(EduSmartWelcomeGuideRosterRelationStep::getCommentContent, dto.getCommentContent())); - } - - //判断步骤类型分配班级和宿舍 - if (ObjectUtil.equals(GuideStepTypeEnum.CLASS.getType(), step.getStepType())) { - eduSmartWelcomeGuideStepClassService.classBanding(guideRoster.getGuideId(), step.getId(), dto.getRosterId()); - } - - if (ObjectUtil.equals(GuideStepTypeEnum.DORM.getType(), step.getStepType())) { - eduSmartWelcomeGuideStepDormService.dormBanding(guideRoster.getGuideId(), step.getId(), dto.getRosterId()); - } - - // 判断是否全部通过 - long passCount = eduSmartWelcomeGuideRosterRelationStepService - .count(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getRosterId, dto.getRosterId()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStatus, AuditStatusEnum.PASS_STATUS.getStatus()) - ); - List stepList = eduSmartWelcomeGuideStepService - .list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStep()) - .eq(EduSmartWelcomeGuideStep::getGuideId, guideRoster.getGuideId())); - - //需要审核的步骤 - List needStepList = stepList.stream() - .filter(s -> !s.getStepType().equals(GuideStepTypeEnum.NOTICE.getType())).collect(Collectors.toList()); - - if (passCount == needStepList.size()) { - EduSmartWelcomeGuideRoster saveRoster = new EduSmartWelcomeGuideRoster(); - saveRoster.setId(guideRoster.getId()); - saveRoster.setRegistrationStatus(RegistrationStatusEnum.REGISTRATION_SUCCESS.getStatus()); - updateById(saveRoster); - - //增加新生到学生库,以及分配宿舍 - //@Async注解是通过aop代理实现的,而我们调用自己类的异步方法时,绕过了aop代理从而导致其异步失效 - EduSmartWelcomeGuideRosterServiceImpl bean = applicationContext.getBean(EduSmartWelcomeGuideRosterServiceImpl.class); - bean.addStudent(dto.getRosterId(), FebsUtil.getTopDeptId()); - } - } - - @Async - public void addStudent(Long rosterId, Long schoolId) { - - EduSmartWelcomeGuideRoster roster = (EduSmartWelcomeGuideRoster) redisService - .hget(CachePrefixConstant.WELCOME_ROSTER, rosterId.toString()); - if (ObjectUtil.isNull(roster)) { - roster = this.getById(rosterId); - } - EduSmartWelcomeGuideClassRecord classRecord = eduSmartWelcomeGuideClassRecordService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideClassRecord()) - .eq(EduSmartWelcomeGuideClassRecord::getRosterId, rosterId)); - - EduSmartWelcomeGuideDormRecord dormRecord = eduSmartWelcomeGuideDormRecordService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideDormRecord()) - .eq(EduSmartWelcomeGuideDormRecord::getRosterId, rosterId)); - - EduStudent student = new EduStudent(); - student.setStuName(roster.getFullName()); - student.setStuSex(roster.getGender().toString()); - student.setAvatar(roster.getAvatar()); - student.setIdNumber(roster.getIdNumber()); - if (ObjectUtil.isNotNull(classRecord)) { - student.setSchoolId(classRecord.getSchoolId()); - student.setCampusId(classRecord.getCampusId()); - student.setSectionId(classRecord.getSectionId()); - student.setGradeId(classRecord.getGradeId()); - student.setClassId(classRecord.getClassId()); - } else { - //查询校区 -// Dept dept = remoteDeptService.getSchoolByName(roster.getAdmittedDepartment()).getData(); - student.setSchoolId(schoolId); -// student.setCampusId(dept.getDeptId()); - } - - if (ObjectUtil.isNotNull(dormRecord)) { - student.setDormId(dormRecord.getDormId()); - student.setDormRoomId(dormRecord.getDormRoomId()); - student.setType(1);//住宿 - } - - EduParent parent = new EduParent(); - parent.setParentType("本人"); - parent.setMobile(roster.getMobile()); - student.setParents(Stream.of(parent).collect(Collectors.toList())); - log.info("智慧迎新完成增加学生:【{}】", student); - EduStudent eduStudent = remoteStudentService.saveStudent(student).getData(); - //保存宿舍 -// if (ObjectUtil.isNotNull(eduStudent)) { -// eduStudent.setDormId(student.getDormId()); -// eduStudent.setDormRoomId(student.getDormRoomId()); -// remoteStudentService.saveStudentDorm(eduStudent); -// } - } - - - @Override - public void exportRosterInfoData(GuideRosterSelectPageDTO dto, String uuid) { - String fileName = FileUtil.getLocalUploadAddress() + uuid + ".xls"; - File file = null; - try { - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - // 查询花名册信息 - if (ObjectUtil.isNotNull(dto.getPassStepId())) { - // 查询出完成步骤的人员信息 - List relationStepList = eduSmartWelcomeGuideRosterRelationStepService - .list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getGuideId, dto.getGuideId()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStepId, dto.getPassStepId())); - if (CollUtil.isNotEmpty(relationStepList)) { - dto.setPassRosterIdList(relationStepList.stream().map(EduSmartWelcomeGuideRosterRelationStep::getRosterId) - .collect(Collectors.toList())); - } - } - List list = baseMapper.listGuideRoster(dto); - int listSize = list.size(); - // 导出的信息 - List> exportDataList = new ArrayList<>(); - for (int i = 0; i < listSize; i++) { - GuideRosterSelectPageVO vo = list.get(i); - if (redisService.hasKey(CachePrefixConstant.GUIDE_ROSTER_STEP_DATA + vo.getRosterId())) { - String str = (String) redisService.get(CachePrefixConstant.GUIDE_ROSTER_STEP_DATA + vo.getRosterId()); - List strings = JSON.parseArray(str, String.class); - exportDataList.add(strings); - continue; - } - - Boolean isCache = true; - - redisService.hset(CachePrefixConstant.GUIDE_ROSTER_DATA_DOWNLOAD, uuid, ExportRosterDataVO.builder() - .key(uuid) - .exportStatus(FileDealStatusEnum.DEALING.getStatus()) - .totalNum(listSize) - .currentNum(i).build()); - // 查询绑定关系 - EduSmartWelcomeGuideRosterRelation relation = eduSmartWelcomeGuideRosterRelationService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelation()) - .eq(EduSmartWelcomeGuideRosterRelation::getRosterId, vo.getRosterId()) - ); - // 封装每一行数据 - ArrayList singleList = CollUtil.newArrayList(vo.getIdNumber(), - vo.getFullName(), vo.getAdmittedMajor(), vo.getGraduateSchool(), vo.getDormitory(), vo.getDormitoryRoom(), - vo.getCampusName(), vo.getSectionName(), vo.getClassName()); - // 处理步骤信息 - List stepList = eduSmartWelcomeGuideStepService. - listStepInfo(Objects.nonNull(relation) ? relation.getId() : null, dto.getGuideId()); - if (CollUtil.isNotEmpty(stepList)) { - for (EduSmartWelcomeGuideStep step : stepList) { - try { - // 获取步骤类型 - GuideStepTypeEnum stepTypeEnum = EnumUtils.valueOf(GuideStepTypeEnum.class, step.getStepType(), - GuideStepTypeEnum.class.getMethod("getType")); - if (!Objects.requireNonNull(stepTypeEnum).isExamineFlag()) { - singleList.add("√"); - } else { - singleList.add(step.getStatus() == 0 ? "√" : "--"); - if (step.getStatus() != 0) { - isCache = false; - } - } - } catch (Exception e) { - isCache = false; - } - } - } - // 添加excel数据 - if (isCache) { - redisService - .set(CachePrefixConstant.GUIDE_ROSTER_STEP_DATA + vo.getRosterId(), - JSONObject.toJSON(singleList).toString()); - } - exportDataList.add(singleList); - } - file = new File(fileName); - // 导出数据 - EasyExcel.write(file) - .excelType(ExcelTypeEnum.XLS) - // 这里放入动态头 - .head(getExportHead(dto.getGuideId())).sheet("花名册") - // 当然这里数据也可以用 List> 去传入 - .doWrite(exportDataList); - // 上传文件到媒资 - String fileUrl = FileUtil.uploadFileToMediaServer(uploadUrl, file); - redisService.hset(CachePrefixConstant.GUIDE_ROSTER_DATA_DOWNLOAD, uuid, ExportRosterDataVO.builder() - .key(uuid) - .filePath(fileUrl) - .exportStatus(FileDealStatusEnum.DEAL_SUCCESS.getStatus()) - .totalNum(listSize == 0 ? 1 : listSize) - .currentNum(listSize == 0 ? 1 : listSize).build()); - stopWatch.stop(); - log.info("导出花名册信息总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); - } catch (Exception e) { - log.error("导出花名册信息错误", e); - redisService.hset(CachePrefixConstant.GUIDE_ROSTER_DATA_DOWNLOAD, uuid, ExportRosterDataVO.builder() - .key(uuid) - .exportStatus(FileDealStatusEnum.DEAL_FAIL.getStatus()).build()); - } finally { - if (Objects.nonNull(file)) { - cn.hutool.core.io.FileUtil.del(file); - } - } - } - - /** - * 生成花名册导出数据excel表头 - * - * @param guideId 指南id - * @return java.util.List> - * @author ZYJ - * @date 2023/8/26 14:20 - */ - private List> getExportHead(Long guideId) { - // 表头list的生成,实际的表头信息可以从数据库或者缓存等处动态读取 - List> allColList = new ArrayList<>(); - // 身份证号表头 - allColList.add(CollUtil.newArrayList("身份证号")); - // 姓名表头 - allColList.add(CollUtil.newArrayList("姓名")); - // 录取专业表头 - allColList.add(CollUtil.newArrayList("录取专业")); - // 毕业学校表头 - allColList.add(CollUtil.newArrayList("毕业学校")); - allColList.add(CollUtil.newArrayList("分配宿舍楼")); - allColList.add(CollUtil.newArrayList("分配宿舍号")); - allColList.add(CollUtil.newArrayList("分配校区")); - allColList.add(CollUtil.newArrayList("分配系部")); - allColList.add(CollUtil.newArrayList("分配班级")); - // 动态表头 - List colList = eduSmartWelcomeGuideStepService.listGuideRosterTableCol(guideId); - colList.forEach(item -> allColList.add(CollUtil.newArrayList(item.getStepName()))); - return allColList; - } - - @Override - public void createRosterQrCode(Long rosterId, Long guideId) { - EduSmartWelcomeGuideRoster guideRoster = getById(rosterId); - if (Objects.isNull(guideRoster)) { - throw new FebsException("花名册信息错误"); - } - if (StrUtil.isNotBlank(guideRoster.getQrCodeUrl())) { - throw new FebsException("该人员已经生成过二维码了!请勿重复操作"); - } - File qrCodeFile = null; - try { - cn.hutool.json.JSONObject obj = JSONUtil.createObj() - .set("rosterId", guideRoster.getId()) - .set("deptId", Objects.requireNonNull(FebsUtil.getCurrentUser()).getDeptId()) - .set("guideId", guideId) - .set("fullName", guideRoster.getFullName()) - .set("graduateSchool", guideRoster.getGraduateSchool()) - .set("idNumber", guideRoster.getIdNumber()) - .set("admittedMajor", guideRoster.getAdmittedMajor()); - // 生成文件名称 - String fileName = UUID.randomUUID().toString(true) + ".png"; - String filePath = FileUtil.getLocalUploadAddress() + fileName; - QrCodeUtil.generateQrCodeImage(obj.toString(), 400, 400, filePath); - // 上传文件到媒资 - qrCodeFile = new File(filePath); - String qrCodeAddress = FileUtil.uploadFileToMediaServer(uploadUrl, qrCodeFile); - baseMapper.updateById( - EduSmartWelcomeGuideRoster.builder() - .id(guideRoster.getId()) - .qrCodeUrl(qrCodeAddress) - .build()); - } catch (Exception e) { - log.error("生成二维码失败", e); - throw new FebsException("生成二维码失败"); - } finally { - if (Objects.nonNull(qrCodeFile)) { - cn.hutool.core.io.FileUtil.del(qrCodeFile); - } - } - } - - @Override - public void exportRosterPic(Long guideId, String key) { - exportGuidePicClient.exportLargeData(SelectGuidePicExportData.builder() - .key(key) - .guideId(guideId) - .build() - ); - } - - @Override - public Object getExportRosterPicInfo(String key) { - return exportGuidePicClient.selectExportInfo(key); - } - - @Override - public void downloadRosterPicChunk(DownloadFileChunk dto, HttpServletResponse response) { - exportGuidePicClient.downLoadChunk(dto, response); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideServiceImpl.java deleted file mode 100644 index 551f444..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideServiceImpl.java +++ /dev/null @@ -1,470 +0,0 @@ -package com.yida.data.school.smart.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.io.FileUtil; -import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.core.util.ZipUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.school.EduDormitory; -import com.yida.data.common.core.entity.school.EduDormitoryRoom; -import com.yida.data.common.core.entity.smart.*; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.user.EduParent; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.entity.user.EduUserDept; -import com.yida.data.common.core.enums.EnableStatusEnum; -import com.yida.data.common.core.enums.GuideStepTypeEnum; -import com.yida.data.common.core.enums.RegistrationStatusEnum; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.ExcelUtil; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.school.dto.index.ListDormRoomDTO; -import com.yida.data.school.dto.smart.GuideSaveDTO; -import com.yida.data.school.dto.smart.GuideSelectPageDTO; -import com.yida.data.school.dto.smart.GuideStepSaveDTO; -import com.yida.data.school.dto.smart.UpdateQrCodeInfoDTO; -import com.yida.data.school.facility.service.EduDormitoryRoomService; -import com.yida.data.school.facility.service.EduDormitoryService; -import com.yida.data.school.smart.mapper.EduSmartWelcomeGuideMapper; -import com.yida.data.school.smart.service.*; -import com.yida.data.school.vo.smart.GuideInfoVO; -import com.yida.data.school.vo.smart.GuideSelectPageVO; -import com.yida.data.user.vo.ImportFaceVO; - -import java.io.File; -import java.io.IOException; -import java.util.*; - -import java.util.stream.Stream; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.Workbook; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.time.LocalDateTime; -import java.util.stream.Collectors; - -/** - * 智慧迎新指南表Service实现 - * - * @author ZYJ - * @date 2023-05-15 15:33:18 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduSmartWelcomeGuideServiceImpl extends ServiceImpl - implements EduSmartWelcomeGuideService { - - private final EduSmartWelcomeCampusService eduSmartWelcomeCampusService; - private final EduSmartWelcomeGuideStepService eduSmartWelcomeGuideStepService; - private final EduSmartWelcomeGuideRosterService eduSmartWelcomeGuideRosterService; - private final EduSmartWelcomeGuideStepStaffService eduSmartWelcomeGuideStepStaffService; - private final EduSmartWelcomeGuideRosterRelationStepService eduSmartWelcomeGuideRosterRelationStepService; - private final EduSmartWelcomeGuideStepClassService eduSmartWelcomeGuideStepClassService; - private final EduSmartWelcomeGuideStepDormService eduSmartWelcomeGuideStepDormService; - private final EduSmartWelcomeGuideStepClassFixService eduSmartWelcomeGuideStepClassFixService; - private final EduSmartWelcomeDepartmentService eduSmartWelcomeDepartmentService; - private final EduSmartWelcomeGuideStepDormFixService eduSmartWelcomeGuideStepDormFixService; - private final RedisService redisService; - private final EduDormitoryRoomService eduDormitoryRoomService; - @Value("${febs.uploadUrl}") - private String uploadUrl; - - @Override - public IPage listGuidePage(GuideSelectPageDTO dto) { - // 登陆用户信息 - CurrentUser currentUser = FebsUtil.getCurrentUser(); - dto.setDeptId(currentUser.getDeptId()); - - IPage page = baseMapper.listGuidePage(dto.toPage(), dto); - // 统计报名人数问题 - for (GuideSelectPageVO record : page.getRecords()) { - // 花名册总人数 - long totalNumber = eduSmartWelcomeGuideRosterService.count(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRoster()) - .eq(EduSmartWelcomeGuideRoster::getGuideId, record.getId())); - record.setTotalNumber(totalNumber); - if (totalNumber > 0) { - // 查询报名成功人数 - long countedNumber = eduSmartWelcomeGuideRosterService - .count(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRoster()) - .eq(EduSmartWelcomeGuideRoster::getGuideId, record.getId()) - .eq(EduSmartWelcomeGuideRoster::getRegistrationStatus, RegistrationStatusEnum.REGISTRATION_SUCCESS.getStatus()) - ); - record.setCompleteNumber(countedNumber); - } - // 校区信息 - if (Objects.nonNull(record.getCampusId())) { - EduSmartWelcomeCampus campus = eduSmartWelcomeCampusService.getById(record.getCampusId()); - Optional.ofNullable(campus).ifPresent(x -> record.setCampusName(x.getCampusName())); - } - } - return page; - } - - @Override - public GuideInfoVO getGuideInfo(Long guideId) { - EduSmartWelcomeGuide welcomeGuide = getById(guideId); - GuideInfoVO guideInfoVO = new GuideInfoVO(); - if (Objects.nonNull(welcomeGuide)) { - BeanUtils.copyProperties(welcomeGuide, guideInfoVO); - // 查询步骤信息 - List stepList = eduSmartWelcomeGuideStepService - .list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStep()) - .eq(EduSmartWelcomeGuideStep::getGuideId, welcomeGuide.getId())); - if (CollUtil.isNotEmpty(stepList)) { - for (EduSmartWelcomeGuideStep guideStep : stepList) { - if (ObjectUtil.equals(GuideStepTypeEnum.EXAMINE_TYPE.getType(), guideStep.getStepType()) - || ObjectUtil.equals(GuideStepTypeEnum.CLASS.getType(), guideStep.getStepType()) - || ObjectUtil.equals(GuideStepTypeEnum.DORM.getType(), guideStep.getStepType())) { - List staffIdList = eduSmartWelcomeGuideStepStaffService - .list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepStaff()) - .eq(EduSmartWelcomeGuideStepStaff::getStepId, guideStep.getId())) - .stream().map(EduSmartWelcomeGuideStepStaff::getStaffId).collect(Collectors.toList()); - guideStep.setStaffIdList(staffIdList); - } - - if (ObjectUtil.equals(GuideStepTypeEnum.CLASS.getType(), guideStep.getStepType())) { - List classList = eduSmartWelcomeGuideStepClassService - .list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepClass()) - .eq(EduSmartWelcomeGuideStepClass::getGuideId, guideId) - .eq(EduSmartWelcomeGuideStepClass::getStepId, guideStep.getId())); - - List classFixList = eduSmartWelcomeGuideStepClassFixService - .list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepClassFix()) - .eq(EduSmartWelcomeGuideStepClassFix::getGuideId, guideId) - .eq(EduSmartWelcomeGuideStepClassFix::getStepId, guideStep.getId())); - guideStep.setClassList(classList); - guideStep.setClassFixList(classFixList); - } - if (ObjectUtil.equals(GuideStepTypeEnum.DORM.getType(), guideStep.getStepType())) { - List dormList = eduSmartWelcomeGuideStepDormService - .list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepDorm()) - .eq(EduSmartWelcomeGuideStepDorm::getGuideId, guideId) - .eq(EduSmartWelcomeGuideStepDorm::getStepId, guideStep.getId())); - guideStep.setDormList(dormList); - List dormFixList = eduSmartWelcomeGuideStepDormFixService - .list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepDormFix()) - .eq(EduSmartWelcomeGuideStepDormFix::getGuideId, guideId) - .eq(EduSmartWelcomeGuideStepDormFix::getStepId, guideStep.getId())); - guideStep.setDormFixList(dormFixList); - } - } - guideInfoVO.setStepList(stepList); - } - } - return guideInfoVO; - } - - @Override - public void saveGuide(GuideSaveDTO dto) { - EduSmartWelcomeGuide guide = new EduSmartWelcomeGuide(); - BeanUtils.copyProperties(dto, guide); - if (Objects.isNull(dto.getId())) { - // 新增 - guide.setDeptId(FebsUtil.getTopDeptId()); - } else { - // 删除附表数据 - eduSmartWelcomeGuideStepService.remove(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStep()) - .eq(EduSmartWelcomeGuideStep::getGuideId, dto.getId())); - eduSmartWelcomeGuideStepStaffService.remove(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepStaff()) - .eq(EduSmartWelcomeGuideStepStaff::getGuideId, dto.getId())); - eduSmartWelcomeGuideStepClassService.remove(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepClass()) - .eq(EduSmartWelcomeGuideStepClass::getGuideId, dto.getId())); - eduSmartWelcomeGuideStepClassFixService.remove(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepClassFix()) - .eq(EduSmartWelcomeGuideStepClassFix::getGuideId, dto.getId())); - eduSmartWelcomeGuideStepDormService.remove(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepDorm()) - .eq(EduSmartWelcomeGuideStepDorm::getGuideId, dto.getId())); - eduSmartWelcomeGuideStepDormFixService.remove(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepDormFix()) - .eq(EduSmartWelcomeGuideStepDormFix::getGuideId, dto.getId())); - } - saveOrUpdate(guide); - // 步骤信息集合 - List stepList = new ArrayList<>(); - if (CollUtil.isNotEmpty(dto.getStepList())) { - // 保存步骤信息 - for (GuideStepSaveDTO stepSaveDTO : dto.getStepList()) { - EduSmartWelcomeGuideStep guideStep = new EduSmartWelcomeGuideStep(); - BeanUtils.copyProperties(stepSaveDTO, guideStep); - guideStep.setDeptId(FebsUtil.getTopDeptId()); - guideStep.setGuideId(guide.getId()); - eduSmartWelcomeGuideStepService.save(guideStep); - stepList.add(guideStep); - // 处理审核人员数据 - if (CollUtil.isNotEmpty(stepSaveDTO.getStaffIdList())) { - for (Long staffId : stepSaveDTO.getStaffIdList()) { - EduSmartWelcomeGuideStepStaff stepStaff = new EduSmartWelcomeGuideStepStaff(); - stepStaff.setDeptId(FebsUtil.getTopDeptId()); - stepStaff.setGuideId(guide.getId()); - stepStaff.setStepId(guideStep.getId()); - stepStaff.setStaffId(staffId); - eduSmartWelcomeGuideStepStaffService.save(stepStaff); - } - } - //处理预分班级数据 - if (ObjectUtil.equals(GuideStepTypeEnum.CLASS.getType(), guideStep.getStepType())) { - if (CollUtil.isNotEmpty(stepSaveDTO.getClassList())) { - List departmentList = eduSmartWelcomeDepartmentService.list(); - List classList = new ArrayList<>(); - for (EduSmartWelcomeGuideStepClass eduSmartWelcomeGuideStepClass : stepSaveDTO.getClassList()) { - eduSmartWelcomeGuideStepClass.setId(null); - eduSmartWelcomeGuideStepClass.setGuideId(guide.getId()); - eduSmartWelcomeGuideStepClass.setStepId(guideStep.getId()); - eduSmartWelcomeGuideStepClass.setDeptId(FebsUtil.getTopDeptId()); - eduSmartWelcomeGuideStepClass.setSchoolId(FebsUtil.getTopDeptId()); - int total = eduSmartWelcomeGuideStepClass.getMale() + eduSmartWelcomeGuideStepClass.getFemale(); -// int femaleNumber = -// eduSmartWelcomeGuideStepClass.getMale() * (eduSmartWelcomeGuideStepClass.getMale() / total); -// int maleNumber = -// eduSmartWelcomeGuideStepClass.getFemaleNumber() * (eduSmartWelcomeGuideStepClass.getFemaleNumber() -// / total); - eduSmartWelcomeGuideStepClass.setFemaleNumber(eduSmartWelcomeGuideStepClass.getFemale()); - eduSmartWelcomeGuideStepClass.setMaleNumber(eduSmartWelcomeGuideStepClass.getMale()); - classList.add(eduSmartWelcomeGuideStepClass); - } - - if (CollUtil.isNotEmpty(classList)) { - eduSmartWelcomeGuideStepClassService.saveBatch(classList); - } - } - - if (CollUtil.isNotEmpty(stepSaveDTO.getClassFixList())) { - List classFixList = new ArrayList<>(); - for (EduSmartWelcomeGuideStepClassFix eduSmartWelcomeGuideStepClassFix : stepSaveDTO.getClassFixList()) { - eduSmartWelcomeGuideStepClassFix.setGuideId(guide.getId()); - eduSmartWelcomeGuideStepClassFix.setStepId(guideStep.getId()); - eduSmartWelcomeGuideStepClassFix.setDeptId(FebsUtil.getTopDeptId()); - eduSmartWelcomeGuideStepClassFix.setSchoolId(FebsUtil.getTopDeptId()); - eduSmartWelcomeGuideStepClassFix.setId(null); - //查询人员ID - EduSmartWelcomeGuideRoster roster = eduSmartWelcomeGuideRosterService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRoster()) - .eq(EduSmartWelcomeGuideRoster::getGuideId, guide.getId()) - .eq(EduSmartWelcomeGuideRoster::getIdNumber, eduSmartWelcomeGuideStepClassFix.getIdNumber()) - .eq(EduSmartWelcomeGuideRoster::getFullName, - eduSmartWelcomeGuideStepClassFix.getRosterName())); - if (ObjectUtil.isNotNull(roster)) { - eduSmartWelcomeGuideStepClassFix.setRosterId(roster.getId()); - classFixList.add(eduSmartWelcomeGuideStepClassFix); - } - } - if (CollUtil.isNotEmpty(classFixList)) { - eduSmartWelcomeGuideStepClassFixService.saveBatch(classFixList); - } - } - } - - //处理预分宿舍数据 - if (ObjectUtil.equals(GuideStepTypeEnum.DORM.getType(), guideStep.getStepType())) { - if (CollUtil.isNotEmpty(stepSaveDTO.getDormList())) { - List dormList = new ArrayList<>(); - for (EduSmartWelcomeGuideStepDorm eduSmartWelcomeGuideStepDorm : stepSaveDTO.getDormList()) { - eduSmartWelcomeGuideStepDorm.setGuideId(guide.getId()); - eduSmartWelcomeGuideStepDorm.setStepId(guideStep.getId()); - eduSmartWelcomeGuideStepDorm.setDeptId(FebsUtil.getTopDeptId()); - eduSmartWelcomeGuideStepDorm.setSchoolId(FebsUtil.getTopDeptId()); - eduSmartWelcomeGuideStepDorm.setId(null); - //增加宿舍床位总数 - EduDormitoryRoom dormitoryRoom = eduDormitoryRoomService - .getById(eduSmartWelcomeGuideStepDorm.getDormRoomId()); - eduSmartWelcomeGuideStepDorm.setNumber(dormitoryRoom.getBedNum()); - - dormList.add(eduSmartWelcomeGuideStepDorm); - } - if (CollUtil.isNotEmpty(dormList)) { - eduSmartWelcomeGuideStepDormService.saveBatch(dormList); - } - } - if (CollUtil.isNotEmpty(stepSaveDTO.getDormFixList())) { - List dormFixList = new ArrayList<>(); - for (EduSmartWelcomeGuideStepDormFix eduSmartWelcomeGuideStepDormFix : stepSaveDTO.getDormFixList()) { - eduSmartWelcomeGuideStepDormFix.setGuideId(guide.getId()); - eduSmartWelcomeGuideStepDormFix.setStepId(guideStep.getId()); - eduSmartWelcomeGuideStepDormFix.setDeptId(FebsUtil.getTopDeptId()); - eduSmartWelcomeGuideStepDormFix.setSchoolId(FebsUtil.getTopDeptId()); - eduSmartWelcomeGuideStepDormFix.setId(null); - dormFixList.add(eduSmartWelcomeGuideStepDormFix); - } - if (CollUtil.isNotEmpty(dormFixList)) { - eduSmartWelcomeGuideStepDormFixService.saveBatch(dormFixList); - } - } - } - - } - // 再次循环处理前提步骤信息 - for (GuideStepSaveDTO stepSaveDTO : dto.getStepList()) { - if (StringUtils.isNotBlank(stepSaveDTO.getPremiseStepUniqueId())) { - // 需要保存的基础信息 - List baseList = stepList.stream() - .filter(x -> x.getUniqueId().equals(stepSaveDTO.getUniqueId())).collect(Collectors.toList()); - if (CollUtil.isEmpty(baseList)) { - continue; - } - // 前提步骤 - List premiseList = stepList.stream() - .filter(x -> x.getUniqueId().equals(stepSaveDTO.getPremiseStepUniqueId())).collect(Collectors.toList()); - if (CollUtil.isEmpty(premiseList)) { - continue; - } - EduSmartWelcomeGuideStep base = baseList.get(0); - base.setPremiseStepId(premiseList.get(0).getId()); - eduSmartWelcomeGuideStepService.updateById(base); - } - } - } - } - - @Override - public void deleteGuide(Long guideId) { - // 删除附表数据 - eduSmartWelcomeGuideStepService.remove(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStep()) - .eq(EduSmartWelcomeGuideStep::getGuideId, guideId)); - eduSmartWelcomeGuideStepStaffService.remove(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepStaff()) - .eq(EduSmartWelcomeGuideStepStaff::getGuideId, guideId)); - eduSmartWelcomeGuideStepClassService.remove(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepClass()) - .eq(EduSmartWelcomeGuideStepClass::getGuideId, guideId)); - eduSmartWelcomeGuideStepClassFixService.remove(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepClassFix()) - .eq(EduSmartWelcomeGuideStepClassFix::getGuideId, guideId)); - eduSmartWelcomeGuideStepDormService.remove(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepDorm()) - .eq(EduSmartWelcomeGuideStepDorm::getGuideId, guideId)); - // TODO 2023/5/15 需要处理人员数据 - - removeById(guideId); - } - - @Override - public void updateGuideEnableStatus(Long guideId, Integer enableStatus) { - EduSmartWelcomeGuide welcomeGuide = getById(guideId); - if (Objects.isNull(welcomeGuide) || Objects.isNull(welcomeGuide.getCampusId())) { - throw new FebsException("迎新指南信息错误!"); - } - // 判断当前已经启用的指南数量 - long count = count(Wrappers.lambdaQuery(new EduSmartWelcomeGuide()) - .eq(EduSmartWelcomeGuide::getDeptId, FebsUtil.getDeptId()) - .eq(EduSmartWelcomeGuide::getCampusId, welcomeGuide.getCampusId()) - .eq(EduSmartWelcomeGuide::getEnableStatus, EnableStatusEnum.ENABLE_STATUS.getStatus()) - ); - if (EnableStatusEnum.ENABLE_STATUS.getStatus().equals(enableStatus) && count >= 1) { - throw new FebsException("每个校区只能同时启用一个迎新指南"); - } - EduSmartWelcomeGuide guide = new EduSmartWelcomeGuide(); - guide.setId(guideId); - guide.setEnableStatus(enableStatus); - guide.setLastEnableDate(LocalDateTime.now()); - saveOrUpdate(guide); - } - - @Override - public void updateQrCodeInfo(UpdateQrCodeInfoDTO dto) { - EduSmartWelcomeGuide guide = new EduSmartWelcomeGuide(); - guide.setId(dto.getGuideId()); - guide.setQrCodeEnableStatus(dto.getQrCodeEnableStatus()); - guide.setQrCodeNoticeMessage(dto.getQrCodeNoticeMessage()); - saveOrUpdate(guide); - } - - @Override - public void uploadStudentAvatarBatch(String file, Long guideId, Long createUserId) { - int total; - int finish = 0; - int percent = 0; - // 上传信息 - ImportFaceVO faceVO = new ImportFaceVO(); - faceVO.setFinish(0); - faceVO.setFileName(cn.hutool.core.io.FileUtil.getName(file)); - faceVO.setPercent(0); - redisService.set(CachePrefixConstant.IMPORT_GUIDE_AVATAR_KEY + createUserId.toString(), faceVO); - try { - // 解压文件到本地 - File zipFile = new File(file); - ZipUtil.unzip(zipFile, CharsetUtil.charset(CharsetUtil.GBK)); - // 遍历图片 - String imgPath; - String zipPath = zipFile.getAbsolutePath(); - List files = cn.hutool.core.io.FileUtil.loopFiles(zipPath.split("\\.")[0]); - total = files.size(); - // 无法导入的图片 - List errorFiles = new ArrayList<>(); - for (File img : files) { - String userFlag = img.getName().split("\\.")[0]; - // 按身份证号/名字导入 - EduSmartWelcomeGuideRoster roster = eduSmartWelcomeGuideRosterService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRoster()) - .eq(EduSmartWelcomeGuideRoster::getIdNumber, userFlag) - .eq(EduSmartWelcomeGuideRoster::getGuideId, guideId)); - if (ObjectUtil.isNull(roster)) { - List rosterList = eduSmartWelcomeGuideRosterService - .list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRoster()) - .eq(EduSmartWelcomeGuideRoster::getFullName, userFlag) - .eq(EduSmartWelcomeGuideRoster::getGuideId, guideId)); - if (CollUtil.isNotEmpty(rosterList)) { - if (rosterList.size() > 1) { - errorFiles.add(img); - continue; - } else { - roster = rosterList.get(0); - } - } - } - - if (ObjectUtil.isNull(roster)) { - errorFiles.add(img); - continue; - } - // 压缩图片至1000KB - File compressImg = null; - try { - compressImg = com.yida.data.common.core.utils.FileUtil.compressImg(img, 100L); - } catch (Exception e) { - log.error("压缩图片失败", e); - errorFiles.add(img); - continue; - } - - imgPath = com.yida.data.common.core.utils.FileUtil.uploadFileToMediaServer(uploadUrl, compressImg); - - eduSmartWelcomeGuideRosterService.update(Wrappers.lambdaUpdate(new EduSmartWelcomeGuideRoster()) - .eq(EduSmartWelcomeGuideRoster::getId, roster.getId()) - .set(EduSmartWelcomeGuideRoster::getAvatar, imgPath)); - - // TODO: 2023/10/18 后续优化花名册缓存信息 - // 更新缓存 -// redisService.hset(CachePrefixConstant.WELCOME_ROSTER, roster.getId().toString(), -// eduSmartWelcomeGuideRosterService.getById(roster.getId())); - - // 进度增加更新进度 - if (finish * 100 / total > percent) { - faceVO.setPercent(finish * 100 / total); - redisService.set(CachePrefixConstant.IMPORT_GUIDE_AVATAR_KEY + createUserId, faceVO); - } - finish++; - } - // 打包错误文件 - if (CollUtil.isNotEmpty(errorFiles)) { - String failPath = com.yida.data.common.core.utils.FileUtil.getRandomPath("zip"); - ZipUtil.zip(new File(failPath), false, errorFiles.toArray(new File[0])); - faceVO.setFailPath(failPath); - } - } catch (Exception e) { - log.error("上传出现异常", e); - } finally { - faceVO.setFinish(1); - redisService.set(CachePrefixConstant.IMPORT_GUIDE_AVATAR_KEY + createUserId, faceVO); - } - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepClassFixServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepClassFixServiceImpl.java deleted file mode 100644 index c0d3461..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepClassFixServiceImpl.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.yida.data.school.smart.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepClass; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepClassFix; -import com.yida.data.school.smart.mapper.EduSmartWelcomeGuideStepClassFixMapper; -import com.yida.data.school.smart.mapper.EduSmartWelcomeGuideStepClassMapper; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideStepClassFixService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideStepClassService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 智慧迎新班级固定人员Service实现 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduSmartWelcomeGuideStepClassFixServiceImpl extends ServiceImpl - implements - EduSmartWelcomeGuideStepClassFixService { - - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepClassServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepClassServiceImpl.java deleted file mode 100644 index 1628cd5..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepClassServiceImpl.java +++ /dev/null @@ -1,476 +0,0 @@ -package com.yida.data.school.smart.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.EasyExcelFactory; -import com.alibaba.excel.ExcelReader; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.constant.FebsConstant; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeDepartment; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideClassRecord; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRoster; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepClass; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepClassFix; -import com.yida.data.common.core.entity.user.EduUserDept; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.FileUtil; -import com.yida.data.common.service.CommonService; -import com.yida.data.school.dto.smart.ClassFixImportDTO; -import com.yida.data.school.dto.smart.ClassImportDTO; -import com.yida.data.school.smart.excel.ExcelListener; -import com.yida.data.school.smart.mapper.EduSmartWelcomeGuideRosterMapper; -import com.yida.data.school.smart.mapper.EduSmartWelcomeGuideStepClassMapper; -import com.yida.data.school.smart.service.EduSmartWelcomeDepartmentService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideClassRecordService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideStepClassFixService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideStepClassService; -import com.yida.data.school.vo.smart.ClassFixImportVO; -import com.yida.data.school.vo.smart.ClassImportVO; -import com.yida.data.school.vo.smart.WelcomeImportProgress; -import com.yida.data.user.feign.RemoteUserDeptService; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.UUID; -import java.util.stream.Collectors; -import javax.servlet.http.HttpServletResponse; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.core.io.ClassPathResource; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.StopWatch; -import org.springframework.web.multipart.MultipartFile; - -/** - * 智慧迎新班级预分表Service实现 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduSmartWelcomeGuideStepClassServiceImpl extends ServiceImpl - implements EduSmartWelcomeGuideStepClassService { - - private final RedisService redisService; - private final EduSmartWelcomeGuideRosterMapper eduSmartWelcomeGuideRosterMapper; - private final EduSmartWelcomeGuideClassRecordService eduSmartWelcomeGuideClassRecordService; - private final EduSmartWelcomeGuideStepClassFixService eduSmartWelcomeGuideStepClassFixService; - private final CommonService commonService; - private final RemoteUserDeptService remoteUserDeptService; - private final EduSmartWelcomeDepartmentService eduSmartWelcomeDepartmentService; - @Value("${febs.uploadUrl}") - private String uploadUrl; - - @Override - public void downloadClassTemplate(HttpServletResponse response) { - try { - String fileName = "班级预选导入模板.xlsx"; - // 获取导入文件模板 - ClassPathResource classPathResource = new ClassPathResource("template/" + fileName); - InputStream inputStream = classPathResource.getInputStream(); - com.yida.data.common.core.utils.FileUtil - .download(com.yida.data.common.core.utils.FileUtil.inputStreamToFile(inputStream), fileName, false, response); - } catch (Exception e) { - throw new FebsException("下载班级预选导入模板失败"); - } - } - - @Override - public void downloadClassFixTemplate(HttpServletResponse response) { - try { - String fileName = "固定班级学生导入模板.xlsx"; - // 获取导入文件模板 - ClassPathResource classPathResource = new ClassPathResource("template/" + fileName); - InputStream inputStream = classPathResource.getInputStream(); - com.yida.data.common.core.utils.FileUtil - .download(com.yida.data.common.core.utils.FileUtil.inputStreamToFile(inputStream), fileName, false, response); - } catch (Exception e) { - throw new FebsException("固定班级学生导入模板模板失败"); - } - } - - @Override - public void importClassData(MultipartFile file, String importKey, CurrentUser currentUser) { - // 错误信息文件excel - File errorFile = null; - try { - // 验证文件类型 - if (!FileUtil.checkMultipartFile(file, FebsConstant.EXCEL_FILE_TYPE)) { - return; - } - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - // 调用导入方法 - ExcelListener listener = new ExcelListener(); - List listMap = new ArrayList<>(); - try { - ExcelReader excelReader = EasyExcelFactory.read(file.getInputStream(), ClassImportDTO.class, listener) - .headRowNumber(1).build(); - excelReader.readAll(); - listMap = listener.getDatas(); - excelReader.finish(); - - } catch (IOException e) { - throw new RuntimeException(e); - } - - Integer current = 0; - redisService.set(CachePrefixConstant.WELCOME_CLASS_IMPOST_PROGRESS + importKey, - WelcomeImportProgress.builder().importKey(importKey).total(listMap.size()).importStatus(0) - .current(0).build()); - - List classImportVOList = new ArrayList<>(); - List eduUserDeptList = remoteUserDeptService - .findListByParent(-currentUser.getDeptId()) - .getData(); - List departmentList = eduSmartWelcomeDepartmentService.list(); - - List errorList = new ArrayList<>(); - - for (ClassImportDTO classImportDTO : listMap) { - current++; - redisService.set(CachePrefixConstant.WELCOME_CLASS_IMPOST_PROGRESS + importKey, - WelcomeImportProgress.builder().importKey(importKey).total(listMap.size()).current(current).importStatus(0) - .build()); - - ClassImportVO vo = new ClassImportVO(); - BeanUtils.copyProperties(classImportDTO, vo); - //学区ID - List campusList = eduUserDeptList.stream() - .filter(dept -> dept.getDeptName().equals(vo.getCampusName())) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(campusList)) { - errorList.add(classImportDTO); - continue; - } - Long campusId = campusList.get(0).getDeptId(); - //学段ID - List sectionList = eduUserDeptList.stream() - .filter(dept -> dept.getDeptName().equals(vo.getSectionName()) && - dept.getParentId().equals(campusId)) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(sectionList)) { - errorList.add(classImportDTO); - continue; - } - Long sectionId = sectionList.get(0).getDeptId(); - //年级ID - List gradeList = eduUserDeptList.stream() - .filter(dept -> dept.getDeptName().equals(vo.getGradeName()) && - dept.getParentId().equals(sectionId)) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(gradeList)) { - errorList.add(classImportDTO); - continue; - } - Long gradeId = gradeList.get(0).getDeptId(); - //班级ID - List classList = eduUserDeptList.stream() - .filter(dept -> dept.getDeptName().equals(vo.getClassName()) && - dept.getParentId().equals(gradeId)) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(classList)) { - errorList.add(classImportDTO); - continue; - } - Long classId = classList.get(0).getDeptId(); - //系部ID - List departmentList1 = departmentList.stream() - .filter(d -> d.getName().equals(vo.getDepartmentName())) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(departmentList1)) { - errorList.add(classImportDTO); - continue; - } - Long departmentId = departmentList1.get(0).getId(); - //专业ID - List majorList = departmentList.stream() - .filter(d -> d.getName().equals(vo.getMajorName())) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(majorList)) { - errorList.add(classImportDTO); - continue; - } - Long majorId = majorList.get(0).getId(); - - vo.setCampusId(campusId); - vo.setSectionId(sectionId); - vo.setGradeId(gradeId); - vo.setClassId(classId); - vo.setDepartmentId(departmentId); - vo.setMajorId(majorId); - - classImportVOList.add(vo); - } - WelcomeImportProgress build = WelcomeImportProgress.builder().importKey(importKey) - .total(listMap.size()).current(listMap.size()) - .importStatus(1) - .dataList(classImportVOList).build(); - - if (CollUtil.isNotEmpty(errorList)) { - // 错误信息文件名称 - String fileName = FileUtil.getLocalUploadAddress() + UUID.randomUUID() + ".xlsx"; - EasyExcel.write(fileName, ClassImportDTO.class) - .sheet("错误信息") - .doWrite(errorList); - // 上传到媒资 - errorFile = new File(fileName); - String url = FileUtil.uploadFileToMediaServer(uploadUrl, errorFile); - build.setErrorPath(url); - build.setImportStatus(2); - } - - redisService.set(CachePrefixConstant.WELCOME_CLASS_IMPOST_PROGRESS + importKey, build); - stopWatch.stop(); - log.info("导入班级预分数据总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); - } catch (Exception e) { - log.error("导入指预选班级数据失败: {}", e.getMessage(), e); - redisService.set(CachePrefixConstant.WELCOME_CLASS_IMPOST_PROGRESS + importKey, - WelcomeImportProgress.builder().importKey(importKey) - .total(100).current(100) - .importStatus(2).build()); - throw new FebsException("导入失败!请重新操作"); - } finally { - if (Objects.nonNull(errorFile)) { - cn.hutool.core.io.FileUtil.del(errorFile); - } - } - } - - @Override - public ClassFixImportVO importClassFixData(MultipartFile file, CurrentUser currentUser, Long guideId) { - // 验证文件类型 - if (!FileUtil.checkMultipartFile(file, FebsConstant.EXCEL_FILE_TYPE)) { - return null; - } - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - - ClassFixImportVO classFixImportVO = new ClassFixImportVO(); - List voList = new ArrayList<>(); - // 调用导入方法 - ExcelListener listener = new ExcelListener(); - try { - ExcelReader excelReader = EasyExcelFactory.read(file.getInputStream(), ClassFixImportDTO.class, listener) - .headRowNumber(1).build(); - excelReader.readAll(); - List listMap = listener.getDatas(); - List errorIdNumberList = new ArrayList<>(); - excelReader.finish(); - List eduUserDeptList = remoteUserDeptService - .findListByParent(-currentUser.getDeptId()) - .getData(); - List eduSmartWelcomeGuideRosters = eduSmartWelcomeGuideRosterMapper - .selectList(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRoster()) - .eq(EduSmartWelcomeGuideRoster::getGuideId, guideId)); - - for (ClassFixImportDTO classFixImportDTO : listMap) { - ClassFixImportVO.FixImportVO vo = new ClassFixImportVO().new FixImportVO(); - BeanUtils.copyProperties(classFixImportDTO, vo); - - //学区ID - List campusList = eduUserDeptList.stream() - .filter(dept -> dept.getDeptName().equals(vo.getCampusName())) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(campusList)) { - errorIdNumberList.add(classFixImportDTO.getIdNumber()); - continue; - } - Long campusId = campusList.get(0).getDeptId(); - //学段ID - List sectionList = eduUserDeptList.stream() - .filter(dept -> dept.getDeptName().equals(vo.getSectionName()) && - dept.getParentId().equals(campusId)) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(sectionList)) { - errorIdNumberList.add(classFixImportDTO.getIdNumber()); - continue; - } - Long sectionId = sectionList.get(0).getDeptId(); - //年级ID - List gradeList = eduUserDeptList.stream() - .filter(dept -> dept.getDeptName().equals(vo.getGradeName()) && - dept.getParentId().equals(sectionId)) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(gradeList)) { - errorIdNumberList.add(classFixImportDTO.getIdNumber()); - continue; - } - Long gradeId = gradeList.get(0).getDeptId(); - //班级ID - List classList = eduUserDeptList.stream() - .filter(dept -> dept.getDeptName().equals(vo.getClassName()) && - dept.getParentId().equals(gradeId)) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(classList)) { - errorIdNumberList.add(classFixImportDTO.getIdNumber()); - continue; - } - Long classId = classList.get(0).getDeptId(); - - List rosters = eduSmartWelcomeGuideRosters.stream() - .filter(g -> g.getFullName().equals(classFixImportDTO.getRosterName())).collect(Collectors.toList()); - - if (CollUtil.isEmpty(rosters)) { - errorIdNumberList.add(classFixImportDTO.getIdNumber()); - continue; - } - Long rosterId = rosters.get(0).getId(); - - vo.setCampusId(campusId); - vo.setSectionId(sectionId); - vo.setGradeId(gradeId); - vo.setClassId(classId); - vo.setRosterId(rosterId); - voList.add(vo); - } - - if (CollUtil.isNotEmpty(errorIdNumberList)) { - classFixImportVO.setErrorIdNumberList(errorIdNumberList); - } - - if (CollUtil.isNotEmpty(voList)) { - classFixImportVO.setFixImportVOList(voList); - } - } catch (IOException e) { - throw new RuntimeException(e); - } - stopWatch.stop(); - log.info("导入固定班级学生数据总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); - return classFixImportVO; - } - - @Override - public void classBanding(Long guideId, Long stepId, Long rosterId) { - //比对专业查找出对应的班级 - Long schoolId = null; - Long campusId = null; - Long sectionId = null; - Long gradeId = null; - Long classId = null; - - EduSmartWelcomeGuideRoster roster = (EduSmartWelcomeGuideRoster) redisService - .hget(CachePrefixConstant.WELCOME_ROSTER, rosterId.toString()); - if (ObjectUtil.isNull(roster)) { - roster = eduSmartWelcomeGuideRosterMapper.selectById(rosterId); - } - - if (ObjectUtil.isNull(roster)) { - log.info("花名册无人员信息:【{}】", rosterId); - return; - } - //排除固定班级里面学生 - List fixRosterList = eduSmartWelcomeGuideStepClassFixService - .list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepClassFix()) - .eq(EduSmartWelcomeGuideStepClassFix::getRosterId, rosterId)); - if (CollUtil.isNotEmpty(fixRosterList)) { - log.info("花名册人员【{}】已在固定班级【{}】", roster.getFullName(), fixRosterList.get(0).getClassId()); - schoolId = fixRosterList.get(0).getSchoolId(); - campusId = fixRosterList.get(0).getCampusId(); - sectionId = fixRosterList.get(0).getSectionId(); - gradeId = fixRosterList.get(0).getGradeId(); - classId = fixRosterList.get(0).getClassId(); - } else { - //查询预分班级信息 - List classList = new ArrayList<>(); - String str = (String) redisService.get(CachePrefixConstant.WELCOME_CLASS_DATA + guideId + stepId); - if (ObjectUtil.isNotNull(str)) { - classList = JSON.parseArray(str, EduSmartWelcomeGuideStepClass.class); - } else { - classList = this.list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepClass()) - .eq(EduSmartWelcomeGuideStepClass::getGuideId, guideId) - .eq(EduSmartWelcomeGuideStepClass::getStepId, stepId)); - - if (CollUtil.isNotEmpty(classList)) { - redisService - .set(CachePrefixConstant.WELCOME_CLASS_DATA + guideId + stepId, JSONObject.toJSON(classList).toString()); - } - } - if (CollUtil.isEmpty(classList)) { - log.info("无预分班级信息:guideId=【{}】", guideId); - return; - } - //当前校区系部专业对应的班级 - EduSmartWelcomeGuideRoster finalRoster = roster; - - List departMajorClassList = classList.stream() - .filter(c -> c.getDepartmentId().equals(finalRoster.getAdmittedDepartmentId()) && c.getMajorId() - .equals(finalRoster.getAdmittedMajorId())) - .collect( - Collectors.toList()); - - for (EduSmartWelcomeGuideStepClass eduSmartWelcomeGuideStepClass : departMajorClassList) { - String key = ObjectUtil.equals(0, roster.getGender()) ? "male:" : "female:"; - if (redisService - .hHasKey(CachePrefixConstant.WELCOME_CLASS_STUDENT_NUMBER, key + eduSmartWelcomeGuideStepClass.getId())) { - Integer number = (Integer) redisService - .hget(CachePrefixConstant.WELCOME_CLASS_STUDENT_NUMBER, key + eduSmartWelcomeGuideStepClass.getId()); - Integer planNumber = ObjectUtil.equals(0, roster.getGender()) ? eduSmartWelcomeGuideStepClass.getMaleNumber() - : eduSmartWelcomeGuideStepClass.getFemaleNumber(); - if (number >= planNumber) { - continue; - } - } - //分配学生到此班级 - //人数+1 - redisService - .hincr(CachePrefixConstant.WELCOME_CLASS_STUDENT_NUMBER, key + eduSmartWelcomeGuideStepClass.getId(), 1D); - //填充数据库数据 - if (ObjectUtil.equals(0, roster.getGender())) { //男 - baseMapper.incrMale(eduSmartWelcomeGuideStepClass.getId()); - } else { - baseMapper.incrFemale(eduSmartWelcomeGuideStepClass.getId()); - } - - schoolId = eduSmartWelcomeGuideStepClass.getSchoolId(); - campusId = eduSmartWelcomeGuideStepClass.getCampusId(); - sectionId = eduSmartWelcomeGuideStepClass.getSectionId(); - gradeId = eduSmartWelcomeGuideStepClass.getGradeId(); - classId = eduSmartWelcomeGuideStepClass.getClassId(); - - log.info("学生【{}】分配到【{}】班级", roster.getFullName(), eduSmartWelcomeGuideStepClass.getClassId()); - break; - } - } - if (ObjectUtil.isNotNull(schoolId) && ObjectUtil.isNotNull(campusId) && ObjectUtil.isNotNull(sectionId) && ObjectUtil - .isNotNull(gradeId) && ObjectUtil.isNotNull(classId)) { - - //增加分班记录 - EduSmartWelcomeGuideClassRecord classRecord = new EduSmartWelcomeGuideClassRecord(); - classRecord.setSchoolId(schoolId); - classRecord.setCampusId(campusId); - classRecord.setSectionId(sectionId); - classRecord.setGradeId(gradeId); - classRecord.setClassId(classId); - classRecord.setRosterId(rosterId); - classRecord.setGuideId(guideId); - eduSmartWelcomeGuideClassRecordService.save(classRecord); - - //填充花名册数据 - roster.setCampusId(campusId); - roster.setCampusName(commonService.getUserDept(campusId).getDeptName()); - roster.setSectionId(sectionId); - roster.setSectionName(commonService.getUserDept(sectionId).getDeptName()); - roster.setGradeId(gradeId); - roster.setGradeName(commonService.getUserDept(gradeId).getDeptName()); - roster.setClassId(classId); - roster.setClassName(commonService.getUserDept(classId).getDeptName()); - eduSmartWelcomeGuideRosterMapper.updateById(roster); - } - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepDormFixServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepDormFixServiceImpl.java deleted file mode 100644 index fe370ae..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepDormFixServiceImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.school.smart.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepDormFix; -import com.yida.data.school.smart.mapper.EduSmartWelcomeGuideStepDormFixMapper; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideStepDormFixService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 智慧迎新宿舍固定人员Service实现 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduSmartWelcomeGuideStepDormFixServiceImpl extends ServiceImpl - implements - EduSmartWelcomeGuideStepDormFixService { - - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepDormServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepDormServiceImpl.java deleted file mode 100644 index ce030bd..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepDormServiceImpl.java +++ /dev/null @@ -1,623 +0,0 @@ -package com.yida.data.school.smart.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.NumberUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.json.JSONUtil; -import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.EasyExcelFactory; -import com.alibaba.excel.ExcelReader; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.common.ResultMsgType; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.constant.FebsConstant; -import com.yida.data.common.core.entity.school.EduDormitory; -import com.yida.data.common.core.entity.school.EduDormitoryRoom; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeDepartment; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideDormRecord; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRoster; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStep; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepDorm; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepDormFix; -import com.yida.data.common.core.entity.user.EduUserDept; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.common.core.utils.FileUtil; -import com.yida.data.common.core.utils.QrCodeUtil; -import com.yida.data.school.dto.index.ListDormRoomDTO; -import com.yida.data.school.dto.smart.ClassFixImportDTO; -import com.yida.data.school.dto.smart.ClassImportDTO; -import com.yida.data.school.dto.smart.CustomDormImportDTO; -import com.yida.data.school.dto.smart.DormImportDTO; -import com.yida.data.school.dto.smart.DormImportFixDTO; -import com.yida.data.school.dto.smart.GuideRosterErrorExportDTO; -import com.yida.data.school.dto.smart.GuideRosterImportDTO; -import com.yida.data.school.facility.service.EduDormitoryRoomService; -import com.yida.data.school.facility.service.EduDormitoryService; -import com.yida.data.school.smart.excel.CustomDormExcelListener; -import com.yida.data.school.smart.excel.ExcelListener; -import com.yida.data.school.smart.excel.GuideRosterExcelListener; -import com.yida.data.school.smart.mapper.EduSmartWelcomeGuideRosterMapper; -import com.yida.data.school.smart.mapper.EduSmartWelcomeGuideStepDormMapper; -import com.yida.data.school.smart.service.EduSmartWelcomeDepartmentService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideDormRecordService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideStepDormFixService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideStepDormService; -import com.yida.data.school.vo.smart.ClassFixImportVO; -import com.yida.data.school.vo.smart.ClassImportVO; -import com.yida.data.school.vo.smart.DormImportFixVO; -import com.yida.data.school.vo.smart.DormImportVO; -import com.yida.data.school.vo.smart.ImportRosterDataVO; -import com.yida.data.school.vo.smart.WelcomeImportProgress; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.UUID; -import java.util.stream.Collectors; -import javax.servlet.http.HttpServletResponse; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.ehcache.impl.internal.concurrent.ConcurrentHashMap; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.core.io.ClassPathResource; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; -import org.springframework.util.StopWatch; -import org.springframework.web.multipart.MultipartFile; - -/** - * 智慧迎新宿舍预分表Service实现 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduSmartWelcomeGuideStepDormServiceImpl extends ServiceImpl - implements EduSmartWelcomeGuideStepDormService { - - private final RedisService redisService; - private final EduSmartWelcomeGuideRosterMapper eduSmartWelcomeGuideRosterMapper; - private final EduSmartWelcomeGuideDormRecordService eduSmartWelcomeGuideDormRecordService; - private final EduDormitoryService eduDormitoryService; - private final EduDormitoryRoomService eduDormitoryRoomService; - private final EduSmartWelcomeDepartmentService eduSmartWelcomeDepartmentService; - private final EduSmartWelcomeGuideStepDormFixService eduSmartWelcomeGuideStepDormFixService; - @Value("${febs.uploadUrl}") - private String uploadUrl; - - @Override - public void downloadDormTemplate(HttpServletResponse response) { - try { - String fileName = "宿舍预选导入模板.xlsx"; - // 获取导入文件模板 - ClassPathResource classPathResource = new ClassPathResource("template/" + fileName); - InputStream inputStream = classPathResource.getInputStream(); - com.yida.data.common.core.utils.FileUtil - .download(com.yida.data.common.core.utils.FileUtil.inputStreamToFile(inputStream), fileName, false, response); - } catch (Exception e) { - throw new FebsException("下载宿舍预选导入模板失败"); - } - } - - @Override - public void downloadDormFixTemplate(HttpServletResponse response) { - try { - String fileName = "固定宿舍学生导入模板.xlsx"; - // 获取导入文件模板 - ClassPathResource classPathResource = new ClassPathResource("template/" + fileName); - InputStream inputStream = classPathResource.getInputStream(); - com.yida.data.common.core.utils.FileUtil - .download(com.yida.data.common.core.utils.FileUtil.inputStreamToFile(inputStream), fileName, false, response); - } catch (Exception e) { - throw new FebsException("下载固定宿舍学生导入模板失败"); - } - } - - @Override - public void importDormData(MultipartFile file, String importKey, CurrentUser currentUser) { - // 错误信息文件excel - File errorFile = null; - try { - // 验证文件类型 - if (!FileUtil.checkMultipartFile(file, FebsConstant.EXCEL_FILE_TYPE)) { - return; - } - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - // 调用导入方法 - ExcelListener listener = new ExcelListener(); - List listMap = new ArrayList<>(); - try { - ExcelReader excelReader = EasyExcelFactory.read(file.getInputStream(), DormImportDTO.class, listener) - .headRowNumber(1).build(); - excelReader.readAll(); - listMap = listener.getDatas(); - excelReader.finish(); - } catch (IOException e) { - throw new RuntimeException(e); - } - - Integer current = 0; - redisService.set(CachePrefixConstant.WELCOME_DORM_IMPOST_PROGRESS + importKey, - WelcomeImportProgress.builder().importKey(importKey).total(listMap.size()).current(0) - .importStatus(0).build()); - - List dormImportVOList = new ArrayList<>(); - - List departmentList = eduSmartWelcomeDepartmentService.list(); - List dormitoryList = eduDormitoryService.list(Wrappers.lambdaQuery(new EduDormitory()) - .eq(EduDormitory::getSchoolId, currentUser.getDeptId())); - ListDormRoomDTO listDormRoomDTO = new ListDormRoomDTO(); - listDormRoomDTO.setSchoolId(currentUser.getDeptId()); - List eduDormitoryRooms = eduDormitoryRoomService.listDormRoom(listDormRoomDTO); - - List errorList = new ArrayList<>(); - - for (DormImportDTO dormImportDTO : listMap) { - current++; - redisService.set(CachePrefixConstant.WELCOME_DORM_IMPOST_PROGRESS + importKey, - WelcomeImportProgress.builder().importKey(importKey).total(listMap.size()).current(current).importStatus(0) - .build()); - - DormImportVO vo = new DormImportVO(); - BeanUtils.copyProperties(dormImportDTO, vo); - - //宿舍楼 - List dormitories = dormitoryList.stream().filter(d -> d.getName().equals(vo.getDormName())) - .collect(Collectors.toList()); - - if (CollUtil.isEmpty(dormitories)) { - errorList.add(dormImportDTO); - continue; - } - - Long dormId = dormitories.get(0).getId(); - //寝室号 - List dormitoryRoomList = eduDormitoryRooms.stream() - .filter(d -> d.getDormName().equals(vo.getDormName()) && d.getName().equals(vo.getDormRoomName())) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(dormitoryRoomList)) { - errorList.add(dormImportDTO); - continue; - } - Long dormRoomId = dormitoryRoomList.get(0).getId(); - - //系部ID - List departmentList1 = departmentList.stream() - .filter(d -> d.getName().equals(vo.getDepartmentName())) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(departmentList1)) { - errorList.add(dormImportDTO); - continue; - } - Long departmentId = departmentList1.get(0).getId(); - //专业ID - List majorList = departmentList.stream() - .filter(d -> d.getName().equals(vo.getMajorName())) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(majorList)) { - errorList.add(dormImportDTO); - continue; - } - Long majorId = majorList.get(0).getId(); - - vo.setDepartmentId(departmentId); - vo.setMajorId(majorId); - vo.setDormId(dormId); - vo.setDormRoomId(dormRoomId); - vo.setGender("男".equals(dormImportDTO.getGender()) ? 0 : 1); - dormImportVOList.add(vo); - } - WelcomeImportProgress build = WelcomeImportProgress.builder().importKey(importKey) - .total(listMap.size()).current(listMap.size()) - .importStatus(1) - .dataList(dormImportVOList).build(); - - if (CollUtil.isNotEmpty(errorList)) { - // 错误信息文件名称 - String fileName = FileUtil.getLocalUploadAddress() + UUID.randomUUID() + ".xlsx"; - EasyExcel.write(fileName, DormImportDTO.class) - .sheet("错误信息") - .doWrite(errorList); - // 上传到媒资 - errorFile = new File(fileName); - String url = FileUtil.uploadFileToMediaServer(uploadUrl, errorFile); - build.setErrorPath(url); - build.setImportStatus(2); - } - redisService.set(CachePrefixConstant.WELCOME_DORM_IMPOST_PROGRESS + importKey, build); - stopWatch.stop(); - log.info("导入宿舍预分数据总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); - } catch (Exception e) { - log.error("导入宿舍班级数据失败: {}", e.getMessage(), e); - redisService.set(CachePrefixConstant.WELCOME_DORM_IMPOST_PROGRESS + importKey, - WelcomeImportProgress.builder().importKey(importKey) - .total(100).current(100) - .importStatus(2).build()); - throw new FebsException("导入失败!请重新操作"); - } finally { - if (Objects.nonNull(errorFile)) { - cn.hutool.core.io.FileUtil.del(errorFile); - } - } - } - - @Override - public void importDormDataByCustom(String fileUrl, CurrentUser currentUser) { - // 上传的excel文件 - File file = null; - // 错误信息文件excel - File errorFile = null; - try { - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - // 调用导入方法 - file = new File(fileUrl); - EasyExcel.read(file, CustomDormImportDTO.class, - new CustomDormExcelListener(this, currentUser)) - .sheet().headRowNumber(1).doRead(); - stopWatch.stop(); - log.info("导入宿舍预选数据总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); - } catch (Exception e) { - log.error("导入宿舍预选数据总共耗时: {}", e.getMessage(), e); - throw new FebsException("导入失败!请重新操作"); - } finally { - if (Objects.nonNull(file)) { - cn.hutool.core.io.FileUtil.del(file); - } - if (Objects.nonNull(errorFile)) { - cn.hutool.core.io.FileUtil.del(errorFile); - } - } - } - - @Override - public DormImportFixVO importDormFixData(MultipartFile file, CurrentUser currentUser, Long guideId) { - // 验证文件类型 - if (!FileUtil.checkMultipartFile(file, FebsConstant.EXCEL_FILE_TYPE)) { - return null; - } - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - - DormImportFixVO dormImportFixVO = new DormImportFixVO(); - List voList = new ArrayList<>(); - // 调用导入方法 - ExcelListener listener = new ExcelListener(); - try { - ExcelReader excelReader = EasyExcelFactory.read(file.getInputStream(), DormImportFixDTO.class, listener) - .headRowNumber(1).build(); - excelReader.readAll(); - List listMap = listener.getDatas(); - List errorIdNumberList = new ArrayList<>(); - excelReader.finish(); - - List eduSmartWelcomeGuideRosters = eduSmartWelcomeGuideRosterMapper - .selectList(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRoster()) - .eq(EduSmartWelcomeGuideRoster::getGuideId, guideId)); - - List dormitoryList = eduDormitoryService.list(Wrappers.lambdaQuery(new EduDormitory()) - .eq(EduDormitory::getSchoolId, currentUser.getDeptId())); - ListDormRoomDTO listDormRoomDTO = new ListDormRoomDTO(); - listDormRoomDTO.setSchoolId(currentUser.getDeptId()); - List eduDormitoryRooms = eduDormitoryRoomService.listDormRoom(listDormRoomDTO); - - for (DormImportFixDTO dormImportFixDTO : listMap) { - DormImportFixVO.FixImportVO vo = new DormImportFixVO().new FixImportVO(); - BeanUtils.copyProperties(dormImportFixDTO, vo); - - //宿舍楼 - List dormitories = dormitoryList.stream().filter(d -> d.getName().equals(vo.getDormName())) - .collect(Collectors.toList()); - - if (CollUtil.isEmpty(dormitories)) { - errorIdNumberList.add(dormImportFixDTO.getIdNumber()); - continue; - } - - Long dormId = dormitories.get(0).getId(); - //寝室号 - List dormitoryRoomList = eduDormitoryRooms.stream() - .filter(d -> d.getDormName().equals(vo.getDormName()) && d.getName().equals(vo.getDormRoomName())) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(dormitoryRoomList)) { - errorIdNumberList.add(dormImportFixDTO.getIdNumber()); - continue; - } - Long dormRoomId = dormitoryRoomList.get(0).getId(); - - List rosters = eduSmartWelcomeGuideRosters.stream() - .filter(g -> g.getFullName().equals(dormImportFixDTO.getRosterName())).collect(Collectors.toList()); - - if (CollUtil.isEmpty(rosters)) { - errorIdNumberList.add(dormImportFixDTO.getIdNumber()); - continue; - } - Long rosterId = rosters.get(0).getId(); - - vo.setDormId(dormId); - vo.setDormRoomId(dormRoomId); - vo.setRosterId(rosterId); - voList.add(vo); - } - - if (CollUtil.isNotEmpty(errorIdNumberList)) { - dormImportFixVO.setErrorIdNumberList(errorIdNumberList); - } - - if (CollUtil.isNotEmpty(voList)) { - dormImportFixVO.setFixImportVOList(voList); - } - } catch (IOException e) { - throw new RuntimeException(e); - } - stopWatch.stop(); - log.info("导入固定班级学生数据总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); - return dormImportFixVO; - } - - @Override - public void dormBanding(Long guideId, Long stepId, Long rosterId) { - EduSmartWelcomeGuideRoster roster = (EduSmartWelcomeGuideRoster) redisService - .hget(CachePrefixConstant.WELCOME_ROSTER, rosterId.toString()); - if (ObjectUtil.isNull(roster)) { - roster = eduSmartWelcomeGuideRosterMapper.selectById(rosterId); - } - if (ObjectUtil.isNull(roster)) { - log.info("花名册无人员信息:【{}】", rosterId); - return; - } - Long dormId = null; - Long dormRoomId = null; - Long schoolId = null; - EduSmartWelcomeGuideStepDormFix dormFix = eduSmartWelcomeGuideStepDormFixService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepDormFix()) - .eq(EduSmartWelcomeGuideStepDormFix::getRosterId, rosterId)); - if (ObjectUtil.isNotNull(dormFix)) { - dormId = dormFix.getDormId(); - dormRoomId = dormFix.getDormRoomId(); - schoolId = dormFix.getSchoolId(); - log.info("花名册人员【{}】已在固定宿舍【{}{}】", roster.getFullName(), dormId, dormRoomId); - } else { - //比对专业查找出对应的班级 - //查询预分宿舍信息 - List dormList = new ArrayList<>(); - String str = (String) redisService.get(CachePrefixConstant.WELCOME_DORM_DATA + guideId + stepId); - - if (ObjectUtil.isNotNull(str)) { - dormList = JSON.parseArray(str, EduSmartWelcomeGuideStepDorm.class); - } else { - dormList = this.list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepDorm()) - .eq(EduSmartWelcomeGuideStepDorm::getGuideId, guideId) - .eq(EduSmartWelcomeGuideStepDorm::getStepId, stepId)); - - if (CollUtil.isNotEmpty(dormList)) { - redisService - .set(CachePrefixConstant.WELCOME_DORM_DATA + guideId + stepId, JSONObject.toJSON(dormList).toString()); - } - } - if (CollUtil.isEmpty(dormList)) { - log.info("无预分宿舍信息:guideId=【{}】", guideId); - return; - } - //当前校区系部专业性别对应的宿舍 - EduSmartWelcomeGuideRoster finalRoster = roster; - List departMajorGenderDormList = dormList.stream() - .filter(c -> c.getDepartmentId().equals(finalRoster.getAdmittedDepartmentId()) && c.getMajorId() - .equals(finalRoster.getAdmittedMajorId()) && c.getGender().equals(finalRoster.getGender())) - .collect( - Collectors.toList()); - - for (EduSmartWelcomeGuideStepDorm eduSmartWelcomeGuideStepDorm : departMajorGenderDormList) { - if (guideId == 5) { - //是否指定宿舍人数 - if (redisService - .hHasKey(CachePrefixConstant.WELCOME_DROM_STUDENT_NUMBER_BUDING, - eduSmartWelcomeGuideStepDorm.getDormRoomId().toString())) { - //当前已分配人数 - Integer alreadyNumber = (Integer) redisService - .hget(CachePrefixConstant.WELCOME_DROM_STUDENT_NUMBER_BUDING, - eduSmartWelcomeGuideStepDorm.getDormRoomId().toString()); - - //宿舍可容纳人数 - Integer planNumber = eduSmartWelcomeGuideStepDorm.getNumber(); - if (alreadyNumber >= planNumber) { - continue; - } - if (ObjectUtil.isNotNull(eduSmartWelcomeGuideStepDorm.getRealNumber())) { - //当前宿舍专业已分配人数 - if (redisService.hHasKey(CachePrefixConstant.WELCOME_DROM_STUDENT_NUMBER_BUDING, - eduSmartWelcomeGuideStepDorm.getDormRoomId() + "-" + eduSmartWelcomeGuideStepDorm.getId())) { - Integer alreadyMajorNumber = (Integer) redisService - .hget(CachePrefixConstant.WELCOME_DROM_STUDENT_NUMBER_BUDING, - eduSmartWelcomeGuideStepDorm.getDormRoomId() + "-" + eduSmartWelcomeGuideStepDorm - .getId()); - Integer realNumber = eduSmartWelcomeGuideStepDorm.getRealNumber(); - if (alreadyMajorNumber >= realNumber) { - continue; - } - } - } - } - //分配学生到此宿舍 - //人数+1 - redisService - .hincr(CachePrefixConstant.WELCOME_DROM_STUDENT_NUMBER_BUDING, - eduSmartWelcomeGuideStepDorm.getDormRoomId().toString(), - 1D); - if (ObjectUtil.isNotNull(eduSmartWelcomeGuideStepDorm.getRealNumber())) { - redisService - .hincr(CachePrefixConstant.WELCOME_DROM_STUDENT_NUMBER_BUDING, - eduSmartWelcomeGuideStepDorm.getDormRoomId() + "-" + eduSmartWelcomeGuideStepDorm.getId(), - 1D); - } - dormId = eduSmartWelcomeGuideStepDorm.getDormId(); - dormRoomId = eduSmartWelcomeGuideStepDorm.getDormRoomId(); - schoolId = eduSmartWelcomeGuideStepDorm.getSchoolId(); - log.info("学生【{}】分配到【{}】宿舍寝室【{}】", roster.getFullName(), dormId, dormRoomId); - break; - } else { - //是否指定宿舍人数 - if (redisService - .hHasKey(CachePrefixConstant.WELCOME_DROM_STUDENT_NUMBER, - eduSmartWelcomeGuideStepDorm.getDormRoomId().toString())) { - //当前已分配人数 - Integer alreadyNumber = (Integer) redisService - .hget(CachePrefixConstant.WELCOME_DROM_STUDENT_NUMBER, - eduSmartWelcomeGuideStepDorm.getDormRoomId().toString()); - - //宿舍可容纳人数 - Integer planNumber = eduSmartWelcomeGuideStepDorm.getNumber(); - if (alreadyNumber >= planNumber) { - continue; - } - if (ObjectUtil.isNotNull(eduSmartWelcomeGuideStepDorm.getRealNumber())) { - //当前宿舍专业已分配人数 - if (redisService.hHasKey(CachePrefixConstant.WELCOME_DROM_STUDENT_NUMBER, - eduSmartWelcomeGuideStepDorm.getDormRoomId() + "-" + eduSmartWelcomeGuideStepDorm.getId())) { - Integer alreadyMajorNumber = (Integer) redisService - .hget(CachePrefixConstant.WELCOME_DROM_STUDENT_NUMBER, - eduSmartWelcomeGuideStepDorm.getDormRoomId() + "-" + eduSmartWelcomeGuideStepDorm - .getId()); - Integer realNumber = eduSmartWelcomeGuideStepDorm.getRealNumber(); - if (alreadyMajorNumber >= realNumber) { - continue; - } - } - } - } - //分配学生到此宿舍 - //人数+1 - redisService - .hincr(CachePrefixConstant.WELCOME_DROM_STUDENT_NUMBER, - eduSmartWelcomeGuideStepDorm.getDormRoomId().toString(), - 1D); - if (ObjectUtil.isNotNull(eduSmartWelcomeGuideStepDorm.getRealNumber())) { - redisService - .hincr(CachePrefixConstant.WELCOME_DROM_STUDENT_NUMBER, - eduSmartWelcomeGuideStepDorm.getDormRoomId() + "-" + eduSmartWelcomeGuideStepDorm.getId(), - 1D); - } - dormId = eduSmartWelcomeGuideStepDorm.getDormId(); - dormRoomId = eduSmartWelcomeGuideStepDorm.getDormRoomId(); - schoolId = eduSmartWelcomeGuideStepDorm.getSchoolId(); - log.info("学生【{}】分配到【{}】宿舍寝室【{}】", roster.getFullName(), dormId, dormRoomId); - break; - } - } - } - if (ObjectUtil.isNotNull(dormId) && ObjectUtil.isNotNull(dormRoomId) && ObjectUtil.isNotNull(schoolId)) { - //增加分宿舍记录 - EduSmartWelcomeGuideDormRecord dormRecord = new EduSmartWelcomeGuideDormRecord(); - dormRecord.setSchoolId(schoolId); - dormRecord.setRosterId(rosterId); - dormRecord.setGuideId(guideId); - dormRecord.setDormId(dormId); - dormRecord.setDormRoomId(dormRoomId); - eduSmartWelcomeGuideDormRecordService.save(dormRecord); - //填充花名册数据 - EduDormitoryRoom dormRoom = eduDormitoryRoomService.getDormRoom(dormRoomId); - if (ObjectUtil.isNotNull(dormRoom)) { - roster.setDormitoryId(dormId); - roster.setDormitory(dormRoom.getDormName()); - roster.setDormitoryRoomId(dormRoomId); - roster.setDormitoryRoom(dormRoom.getName()); - eduSmartWelcomeGuideRosterMapper.updateById(roster); - } - } else { - log.info("学生【{}无法分配宿舍", roster.getFullName()); - } - - } - - @Override - public void saveCusTomDormData(ConcurrentHashMap concurrentHashMap, - CurrentUser currentUser) { - int temp = 0; - if (!CollectionUtils.isEmpty(concurrentHashMap)) { - List dormitoryList = eduDormitoryService.list(Wrappers.lambdaQuery(new EduDormitory()) - .eq(EduDormitory::getSchoolId, currentUser.getDeptId())); - ListDormRoomDTO listDormRoomDTO = new ListDormRoomDTO(); - listDormRoomDTO.setSchoolId(currentUser.getDeptId()); - List eduDormitoryRooms = eduDormitoryRoomService.listDormRoom(listDormRoomDTO); - List departmentList = eduSmartWelcomeDepartmentService.list(); - // 保存前判断是否已存在 - List dormImportVOList = new ArrayList(); - for (Map.Entry entry : concurrentHashMap.entrySet()) { - temp++; - EduSmartWelcomeGuideStepDorm importVo = new EduSmartWelcomeGuideStepDorm(); - try { - CustomDormImportDTO value = entry.getValue(); - BeanUtils.copyProperties(value, importVo); - //宿舍楼 - List dormitories = dormitoryList.stream() - .filter(d -> d.getName().equals(importVo.getDormName())) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(dormitories)) { - log.info("宿舍无法查找:【{}】", importVo.getDormName()); - continue; - } - - Long dormId = dormitories.get(0).getId(); - //寝室号 - List dormitoryRoomList = eduDormitoryRooms.stream() - .filter(d -> d.getDormName().equals(importVo.getDormName()) && d.getName() - .equals(importVo.getDormRoomName())) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(dormitoryRoomList)) { - log.info("寝室号无法查找:【{}】", importVo.getDormRoomName()); - continue; - } - Long dormRoomId = dormitoryRoomList.get(0).getId(); - //系部ID - List departmentList1 = departmentList.stream() - .filter(d -> d.getName().equals(importVo.getDepartmentName())) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(departmentList1)) { - log.info("系部无法查找:【{}】", importVo.getDepartmentName()); - continue; - } - Long departmentId = departmentList1.get(0).getId(); - //专业ID - List majorList = departmentList.stream() - .filter(d -> d.getName().equals(importVo.getMajorName())) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(majorList)) { - log.info("专业无法查找:【{}】", importVo.getMajorName()); - continue; - } - Long majorId = majorList.get(0).getId(); - - importVo.setDepartmentId(departmentId); - importVo.setMajorId(majorId); - importVo.setDormId(dormId); - importVo.setDormRoomId(dormRoomId); - importVo.setGender("男".equals(value.getGender()) ? 0 : 1); - - dormImportVOList.add(importVo); - } catch (Exception e) { - log.error("导入自定义宿舍失败"); - } finally { - } - } - if (CollUtil.isNotEmpty(dormImportVOList)) { - log.info("保存数据", dormImportVOList); - saveBatch(dormImportVOList); - } - } - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepServiceImpl.java deleted file mode 100644 index ed80b8b..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepServiceImpl.java +++ /dev/null @@ -1,294 +0,0 @@ -package com.yida.data.school.smart.service.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.constant.StringConstant; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRoster; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRosterRelationStep; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStep; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepStaff; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.enums.AuditStatusEnum; -import com.yida.data.common.core.enums.GuideStepTypeEnum; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.school.dto.smart.AddUploadFileStepDTO; -import com.yida.data.school.smart.mapper.EduSmartWelcomeGuideRosterMapper; -import com.yida.data.school.smart.mapper.EduSmartWelcomeGuideStepMapper; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideRosterRelationService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideRosterRelationStepService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideStepService; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideStepStaffService; -import com.yida.data.school.vo.smart.GuideStepColVO; -import com.yida.data.user.feign.RemoteStaffService; -import java.util.ArrayList; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - - -/** - * 智慧迎新指南步骤表Service实现 - * - * @author ZYJ - * @date 2023-05-15 15:33:18 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduSmartWelcomeGuideStepServiceImpl extends ServiceImpl - implements EduSmartWelcomeGuideStepService { - - private final EduSmartWelcomeGuideStepStaffService eduSmartWelcomeGuideStepStaffService; - private final EduSmartWelcomeGuideRosterRelationStepService eduSmartWelcomeGuideRosterRelationStepService; - private final RemoteStaffService remoteStaffService; - private final EduSmartWelcomeGuideRosterMapper eduSmartWelcomeGuideRosterMapper; - - @Override - public void addUploadFile(AddUploadFileStepDTO dto) { - //判断前提步骤 - EduSmartWelcomeGuideStep preStep = getById(dto.getStepId()); - if (Objects.isNull(preStep)) { - throw new FebsException("步骤信息错误!"); - } - if (Objects.nonNull(preStep.getPremiseStepId())) { - EduSmartWelcomeGuideRosterRelationStep premiseRelationStep = eduSmartWelcomeGuideRosterRelationStepService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getRosterId, dto.getRosterId()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStepId, preStep.getPremiseStepId()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStatus, AuditStatusEnum.PASS_STATUS.getStatus()) - ); - if (Objects.isNull(premiseRelationStep)) { - EduSmartWelcomeGuideStep premiseStep = getById(preStep.getPremiseStepId()); - throw new FebsException(String.format("请审核通过【%s】后执行其它步骤!", premiseStep.getStepName())); - } - } - - EduSmartWelcomeGuideRosterRelationStep relationStep = eduSmartWelcomeGuideRosterRelationStepService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getRelationId, dto.getRelationId()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStepId, dto.getStepId())); - - if (ObjectUtil.isNull(relationStep)) { - if (CollUtil.isNotEmpty(dto.getUpLoadFileUrlList())) { - relationStep = new EduSmartWelcomeGuideRosterRelationStep(); - BeanUtils.copyProperties(dto, relationStep); - relationStep.setUploadFileUrl(CollUtil.join(dto.getUpLoadFileUrlList(), ",")); - eduSmartWelcomeGuideRosterRelationStepService.save(relationStep); - } - } else { - if (CollUtil.isNotEmpty(dto.getUpLoadFileUrlList())) { - eduSmartWelcomeGuideRosterRelationStepService - .update(Wrappers.lambdaUpdate(new EduSmartWelcomeGuideRosterRelationStep()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getId, relationStep.getId()) - .set(EduSmartWelcomeGuideRosterRelationStep::getUploadFileUrl, - CollUtil.join(dto.getUpLoadFileUrlList(), ","))); - } - } - } - - @Override - public List listStepInfo(Long relationId, Long guideId) { - // 查询步骤信息 - List stepList = list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStep()) - .eq(EduSmartWelcomeGuideStep::getGuideId, guideId)); - // 查询步骤状态 - int current = 0; - if (CollUtil.isNotEmpty(stepList)) { - for (EduSmartWelcomeGuideStep step : stepList) { - EduSmartWelcomeGuideRosterRelationStep relationStep = eduSmartWelcomeGuideRosterRelationStepService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getRelationId, relationId) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStepId, step.getId())); - step.setUploadFileUrl(Objects.isNull(relationStep) ? null : relationStep.getUploadFileUrl()); - // 执行状态. -1:未执行, 0:通过 - if (Objects.isNull(relationStep) || relationStep.getStatus() == 1) { - step.setStatus(-1); - } else { - step.setStatus(relationStep.getStatus()); - } - - if (current == 0) { - if (ObjectUtil.isNotNull(relationStep)) { - EduSmartWelcomeGuideRoster roster = eduSmartWelcomeGuideRosterMapper - .selectById(relationStep.getRosterId()); - step.setRoster(roster); - } - } - current++; - } - } - return stepList; - } - - @Override - public List listGuideRosterTableCol(Long guideId) { - return list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStep()) - .eq(EduSmartWelcomeGuideStep::getGuideId, guideId)) - .stream().map(step -> { - GuideStepColVO vo = new GuideStepColVO(); - BeanUtils.copyProperties(step, vo); - return vo; - }).collect(Collectors.toList()); - } - - @Override - public List listStepDetailInfo(Long rosterId, Long guideId) { - // 查询步骤信息 - List stepList = list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStep()) - .eq(EduSmartWelcomeGuideStep::getGuideId, guideId)); - // 查询步骤状态 - if (CollUtil.isNotEmpty(stepList)) { - for (EduSmartWelcomeGuideStep step : stepList) { - EduSmartWelcomeGuideRosterRelationStep relationStep = eduSmartWelcomeGuideRosterRelationStepService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getRosterId, rosterId) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStepId, step.getId())); - // 查询可以审核的职工信息 - List stepStaffList = eduSmartWelcomeGuideStepStaffService - .list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepStaff()) - .eq(EduSmartWelcomeGuideStepStaff::getStepId, step.getId())); - if (CollUtil.isNotEmpty(stepStaffList)) { - List eduStaffs = remoteStaffService.getStaffList(stepStaffList.stream() - .map(EduSmartWelcomeGuideStepStaff::getStaffId).collect(Collectors.toList())).getData(); - step.setStaffNameStr(CollUtil.isNotEmpty(eduStaffs) ? - eduStaffs.stream().map(EduStaff::getName).collect(Collectors.joining(StringConstant.COMMA)) : ""); - } else { - step.setStaffNameStr(""); - } - // 执行状态. -1:未执行, 0:通过 - if (Objects.isNull(relationStep) || relationStep.getStatus() == 1) { - step.setStatus(-1); - } else { - step.setStatus(relationStep.getStatus()); - } - if (step.getStatus() == 0) { - step.setOperateTime(relationStep.getOperateTime()); - // 查询审核人信息 - EduStaff staff = remoteStaffService.getStaff(relationStep.getStaffId()).getData(); - if (Objects.nonNull(staff)) { - step.setStaffName(staff.getName()); - } - } - } - } - return stepList; - } - - @Override - public List listExamineStepInfo(Long rosterId, Long guideId, Long staffId) { - // 查询步骤信息 - List stepList = list(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStep()) - .eq(EduSmartWelcomeGuideStep::getGuideId, guideId)); - // 查询步骤状态 - if (CollUtil.isNotEmpty(stepList)) { - for (EduSmartWelcomeGuideStep step : stepList) { - EduSmartWelcomeGuideRosterRelationStep relationStep = eduSmartWelcomeGuideRosterRelationStepService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getRosterId, rosterId) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStepId, step.getId())); - step.setCommentContent(Objects.isNull(relationStep) ? null : relationStep.getCommentContent()); - step.setUploadFileUrl(Objects.isNull(relationStep) ? null : relationStep.getUploadFileUrl()); - // 执行状态. -1:未执行, 0:通过 - if (Objects.isNull(relationStep) || relationStep.getStatus() != 0) { - step.setStatus(-1); - } else { - step.setStatus(0); - } - - if (step.getStatus() == 0) { - step.setOperateTime(relationStep.getOperateTime()); - // 查询审核人信息 - EduStaff staff = remoteStaffService.getStaff(relationStep.getStaffId()).getData(); - if (Objects.nonNull(staff)) { - step.setStaffName(staff.getName()); - } - step.setButtonStatus(1); - continue; - } - // 判断是否显示通过按钮. 没有人通过的情况下 - EduSmartWelcomeGuideStepStaff stepStaff = eduSmartWelcomeGuideStepStaffService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideStepStaff()) - .eq(EduSmartWelcomeGuideStepStaff::getStepId, step.getId()) - .eq(EduSmartWelcomeGuideStepStaff::getStaffId, staffId)); - // 判断按钮状态. 0-代表显示通过按钮,1-代表不显示通过按钮 - if (Objects.isNull(stepStaff)) { - step.setButtonStatus(1); - } else { - // 判断是否有前提步骤 - if (Objects.isNull(step.getPremiseStepId())) { - step.setButtonStatus(0); - } else { - // 判断前提步骤是否通过 - EduSmartWelcomeGuideStep premiseStep = premiseStep(step.getPremiseStepId(), - new EduSmartWelcomeGuideStep()); - if (ObjectUtil.isNotNull(premiseStep)) { - if (ObjectUtil.equals(GuideStepTypeEnum.EXAMINE_TYPE.getType(), premiseStep.getStepType()) - || ObjectUtil - .equals(GuideStepTypeEnum.CLASS.getType(), premiseStep.getStepType()) || - ObjectUtil.equals(GuideStepTypeEnum.DORM.getType(), premiseStep.getStepType()) || - ObjectUtil.equals(GuideStepTypeEnum.MATCH_FACE.getType(), premiseStep.getStepType())) { - //需要审核 - EduSmartWelcomeGuideRosterRelationStep premiseRelationStep = eduSmartWelcomeGuideRosterRelationStepService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getRosterId, rosterId) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStatus, 0) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStepId, premiseStep.getId())); - step.setButtonStatus(Objects.isNull(premiseRelationStep) ? 1 : 0); - } else { - step.setButtonStatus(0); - } - } else { - step.setButtonStatus(0); - } - } - } - } - } - return stepList; - } - - @Override - public EduSmartWelcomeGuideStep premiseStep(Long stepId, EduSmartWelcomeGuideStep step) { - EduSmartWelcomeGuideStep currentStep = getById(stepId); - if (ObjectUtil.equals(GuideStepTypeEnum.EXAMINE_TYPE.getType(), currentStep.getStepType()) || ObjectUtil - .equals(GuideStepTypeEnum.CLASS.getType(), currentStep.getStepType()) || - ObjectUtil.equals(GuideStepTypeEnum.DORM.getType(), currentStep.getStepType()) - || ObjectUtil.equals(GuideStepTypeEnum.MATCH_FACE.getType(), currentStep.getStepType())) { - step = currentStep; - } else { - if (ObjectUtil.isNotNull(currentStep.getPremiseStepId())) { - step = premiseStep(currentStep.getPremiseStepId(), step); - } else { - step = currentStep; - } - } - return step; - } - - - /** - * 递归获取上一步需要审核的步骤 - * - * @param stepId - * @return - */ - public EduSmartWelcomeGuideStep loopPremiseStep(Long stepId) { - EduSmartWelcomeGuideStep currentStep = getById(stepId); - if (ObjectUtil.isNull(currentStep.getPremiseStepId())) { - return null; - } - - return null; - } - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepStaffServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepStaffServiceImpl.java deleted file mode 100644 index 5cdb89a..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/EduSmartWelcomeGuideStepStaffServiceImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.school.smart.service.impl; - -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideStepStaff; -import com.yida.data.school.smart.mapper.EduSmartWelcomeGuideStepStaffMapper; -import com.yida.data.school.smart.service.EduSmartWelcomeGuideStepStaffService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import lombok.RequiredArgsConstructor; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -/** - * 智慧迎新指南步骤-审核人员表Service实现 - * - * @author ZYJ - * @date 2023-05-15 15:33:18 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduSmartWelcomeGuideStepStaffServiceImpl extends ServiceImpl - implements EduSmartWelcomeGuideStepStaffService { - - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/H5EduSmartWelcomeServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/H5EduSmartWelcomeServiceImpl.java deleted file mode 100644 index f3dccde..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/H5EduSmartWelcomeServiceImpl.java +++ /dev/null @@ -1,604 +0,0 @@ -package com.yida.data.school.smart.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.codec.Base64; -import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.LocalDateTimeUtil; -import cn.hutool.core.lang.Snowflake; -import cn.hutool.core.lang.UUID; -import cn.hutool.core.util.NumberUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.json.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.common.ResultMsgType; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.constant.StringConstant; -import com.yida.data.common.core.entity.pay.ConstructionPayOrder; -import com.yida.data.common.core.entity.smart.*; -import com.yida.data.common.core.entity.system.BaiduApiConfig; -import com.yida.data.common.core.entity.system.ConstructionPayConfig; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.UnionPayConfig; -import com.yida.data.common.core.enums.*; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.*; -import com.yida.data.common.service.CommonService; -import com.yida.data.school.dto.smart.h5.CreateGuideStepOrderDTO; -import com.yida.data.school.dto.smart.h5.RosterFaceMatchDTO; -import com.yida.data.school.dto.smart.h5.RosterPageDTO; -import com.yida.data.school.smart.mapper.EduSmartWelcomeGuideRosterRelationMapper; -import com.yida.data.school.smart.service.*; -import com.yida.data.school.vo.smart.h5.GuideStepOrderRosterCacheVO; -import com.yida.data.school.vo.smart.h5.RosterFaceMatchVO; -import com.yida.data.school.vo.smart.h5.RosterStepPayInfoVO; -import jodd.util.ThreadUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.io.File; -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.util.Date; -import java.util.Objects; -import java.util.concurrent.ExecutorService; - -/** - * 智慧迎新H5接口 service - * - * @author ZYJ - * @date 2023/6/19 17:19 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class H5EduSmartWelcomeServiceImpl implements H5EduSmartWelcomeService { - - private final EduGuideStepOrderService eduGuideStepOrderService; - private final EduSmartWelcomeGuideService eduSmartWelcomeGuideService; - private final EduSmartWelcomeGuideStepService eduSmartWelcomeGuideStepService; - private final EduSmartWelcomeGuideRosterService eduSmartWelcomeGuideRosterService; - private final EduSmartWelcomeGuideRosterRelationService eduSmartWelcomeGuideRosterRelationService; - private final EduSmartWelcomeGuideRosterRelationStepService eduSmartWelcomeGuideRosterRelationStepService; - - private final EduSmartWelcomeGuideRosterRelationMapper eduSmartWelcomeGuideRosterRelationMapper; - - private final RedisService redisService; - private final CommonService commonService; - - private final WxPublicUtil wxPublicUtil; - - @Value("${febs.uploadUrl}") - private String uploadUrl; - - @Value("${febs.welcomePayUrl}") - private String welcomePayUrl; - - private static final Snowflake ORDER_CODE_GENERATOR = new Snowflake(1, 1); - - private static final ExecutorService GUIDE_STEP_ORDER_SUCCESS_POOL = - ThreadPoolUtil.getThreadPool("guide-step-order-pool-%d"); - - @Override - public RosterStepPayInfoVO createGuideStepOrder(CreateGuideStepOrderDTO dto) { - - Dept school = commonService.getDept(dto.getDeptId()); - if (Objects.isNull(school)) { - throw new FebsException("学校信息错误"); - } - // 查询用户信息 - String openId = wxPublicUtil.getOpenId(school.getWxPublicAppId(), school.getWxPublicSecret(), dto.getCode()); - // 查询openId是否绑定了对应的信息 - EduSmartWelcomeGuideRosterRelation rosterRelation = eduSmartWelcomeGuideRosterRelationService - .getOpenIdRelation(openId, dto.getDeptId()); - if (Objects.isNull(rosterRelation)) { - throw new FebsException("请绑定基础信息后再扫码进行操作!"); - } - dto.setGuideId(rosterRelation.getGuideId()); - dto.setRelationId(rosterRelation.getId()); - // 判断是否有下单缓存信息 - GuideStepOrderRosterCacheVO cacheVO = (GuideStepOrderRosterCacheVO) redisService.get( - CachePrefixConstant.GUIDE_STEP_ORDER_ROSTER + rosterRelation.getId()); - if (Objects.nonNull(cacheVO)) { - Object orderFlag = redisService.get(CachePrefixConstant.GUIDE_STEP_ORDER_FLAG + cacheVO.getOrderNo()); - // 判断是否还存在支付链接 - if (Objects.nonNull(orderFlag)) { - EduGuideStepOrder order = eduGuideStepOrderService.getOne(new LambdaQueryWrapper<>(new EduGuideStepOrder()) - .eq(EduGuideStepOrder::getOrderCode, cacheVO.getOrderNo())); - if (Objects.isNull(order) || OrderStatusEnum.CLOSED.getStatus().equals(order.getOrderStatus())) { - throw new FebsException("支付异常!请稍后重试"); - } - return getPayInfo(order, orderFlag.toString(), true); - } - } -// // 查询步骤信息 -// EduSmartWelcomeGuideStep step = eduSmartWelcomeGuideStepService.getById(dto.getStepId()); -// if (Objects.isNull(step)) { -// throw new FebsException("当前步骤不支持缴费功能"); -// } -// if (!GuideStepTypeEnum.PAY_TYPE.getType().equals(step.getStepType())) { -// throw new FebsException("当前步骤不支持缴费功能"); -// } -// // 查询绑定信息 -// EduSmartWelcomeGuideRosterRelation rosterRelation = -// eduSmartWelcomeGuideRosterRelationService.getById(dto.getRelationId()); -// if (Objects.isNull(rosterRelation)) { -// throw new FebsException("信息错误"); -// } -// -// EduSmartWelcomeGuideRoster guideRoster = eduSmartWelcomeGuideRosterService.getById(rosterRelation.getRosterId()); -// if (Objects.isNull(guideRoster)) { -// throw new FebsException("信息错误"); -// } -// rosterRelation.setGuideRoster(guideRoster); -// // 判断是否已经缴费过 -// EduSmartWelcomeGuideRosterRelationStep relationStep = eduSmartWelcomeGuideRosterRelationStepService -// .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) -// .eq(EduSmartWelcomeGuideRosterRelationStep::getRosterId, guideRoster.getId()) -// .eq(EduSmartWelcomeGuideRosterRelationStep::getStepId, step.getId()) -// .eq(EduSmartWelcomeGuideRosterRelationStep::getPayStatus, PayStatusEnum.PAY_SUCCESS.getStatus()) -// .eq(EduSmartWelcomeGuideRosterRelationStep::getStatus, AuditStatusEnum.PASS_STATUS.getStatus()) -// ); -// if (Objects.nonNull(relationStep)) { -// throw new FebsException("请勿重复缴费"); -// } -// // 判断前提步骤执行状态 -// if (Objects.nonNull(step.getPremiseStepId())) { -// EduSmartWelcomeGuideRosterRelationStep premiseRelationStep = eduSmartWelcomeGuideRosterRelationStepService -// .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) -// .eq(EduSmartWelcomeGuideRosterRelationStep::getRosterId, guideRoster.getId()) -// .eq(EduSmartWelcomeGuideRosterRelationStep::getStepId, step.getPremiseStepId()) -// .eq(EduSmartWelcomeGuideRosterRelationStep::getStatus, AuditStatusEnum.PASS_STATUS.getStatus()) -// ); -// if (Objects.isNull(premiseRelationStep)) { -// EduSmartWelcomeGuideStep premiseStep = eduSmartWelcomeGuideStepService.getById(step.getPremiseStepId()); -// throw new FebsException(String.format("请审核通过【%s】后执行其它步骤!", premiseStep.getStepName())); -// } -// } - - String orderCode = ""; - try { - // 订单号 需要根据支付方式生成不同的订单号 - String orderNo = ""; - if (PayWay.WEI_XIN.getValue().equals(dto.getPayWay())) { - // 微信 - orderNo = String.valueOf(ORDER_CODE_GENERATOR.nextId()); - } else if (PayWay.UNION.getValue().equals(dto.getPayWay())) { - // 银联 - // 获取银联商户号相关信息 - UnionPayConfig config = commonService.getUnionPayConfigByDept(rosterRelation.getDeptId()); - if (Objects.isNull(config)) { - log.error("获取银联商户号相关信息错误deptId: {}", rosterRelation.getDeptId()); - throw new FebsException("暂未配置支付信息"); - } - orderNo = UnionPayUtil.getOrderNumber(Objects.nonNull(config.getParentConfig()) - ? config.getParentConfig().getSourceNumber() : config.getSourceNumber()); - } else if (PayWay.CONSTRUCTION_PAY.getValue().equals(dto.getPayWay())) { - // 建行 - // 获取建行支付配置相关信息 - ConstructionPayConfig config = commonService.getConstructionPayConfigByDept(rosterRelation.getDeptId()); - if (Objects.isNull(config)) { - log.error("获取建行支付配置相关信息错误deptId: {}", rosterRelation.getDeptId()); - throw new FebsException("暂未配置支付信息"); - } - orderNo = ConstructionPayUtil.getOrderNumber(config.getMerchantId()); - } - - if (StringUtils.isEmpty(orderNo)) { - log.error("生成订单号失败!"); - throw new FebsException(ResultMsgType.ORDER_FAIL.getValue()); - } - orderCode = orderNo; - GuideStepOrderRosterCacheVO orderRosterCacheVO = GuideStepOrderRosterCacheVO.builder() - .guideId(dto.getGuideId()) -// .stepId(dto.getStepId()) - .relationId(dto.getRelationId()) - .deptId(rosterRelation.getDeptId()) - .orderNo(orderNo) - .build(); - // 添加花名册人员迎新订单缓存 - redisService.set(CachePrefixConstant.GUIDE_STEP_ORDER_ROSTER + dto.getRelationId(), - orderRosterCacheVO, 900L); - return createOrder(dto, null, rosterRelation, orderNo); - } catch (Exception e) { - if (log != null) { - log.error("下单失败", e); - } - // 删除花名册人员迎新订单缓存 - redisService.del(CachePrefixConstant.GUIDE_STEP_ORDER_ROSTER + dto.getRelationId()); - // 删除迎新订单对应缓存 - if (StringUtils.isNotBlank(orderCode)) { - redisService.del(CachePrefixConstant.GUIDE_STEP_ORDER + orderCode); - redisService.del(CachePrefixConstant.GUIDE_STEP_ORDER_FLAG + orderCode); - } - throw new FebsException(e instanceof FebsException ? e.getMessage() : ResultMsgType.ORDER_FAIL.getValue()); - } - } - - /** - * 生成订单并返回支付信息 - * - * @param dto 生成花名册步骤订单请求类 - * @param step 步骤信息 - * @param rosterRelation 关联关系信息 - * @param orderNo 订单号 - * @return com.yida.data.school.vo.smart.h5.RosterStepPayInfoVO - * @author ZYJ - * @date 2023/6/20 17:28 - */ - private RosterStepPayInfoVO createOrder(CreateGuideStepOrderDTO dto, EduSmartWelcomeGuideStep step, - EduSmartWelcomeGuideRosterRelation rosterRelation, String orderNo) { - // 生成迎新订单信息 - EduGuideStepOrder eduGuideStepOrder = new EduGuideStepOrder(); - eduGuideStepOrder.setOrderCode(orderNo); - // 流水号 - eduGuideStepOrder.setTransactionNumber(PayUtil.generateSerialNumber("P", rosterRelation.getDeptId(), "")); - eduGuideStepOrder.setGuideId(dto.getGuideId()); -// eduGuideStepOrder.setStepId(dto.getStepId()); - eduGuideStepOrder.setRosterId(rosterRelation.getRosterId()); - eduGuideStepOrder.setRelationId(dto.getRelationId()); - // 指南信息 - EduSmartWelcomeGuide guide = eduSmartWelcomeGuideService.getById(dto.getGuideId()); - // 金额 - BigDecimal money = guide.getMoney(); - eduGuideStepOrder.setTotalMoney(money); - eduGuideStepOrder.setPracticalMoney(money); - eduGuideStepOrder.setPhone(rosterRelation.getGuideRoster().getMobile()); - // 订单状态和支付状态 - eduGuideStepOrder.setOrderStatus(OrderStatusEnum.NOT_PAY.getStatus()); - eduGuideStepOrder.setPayStatus(PayStatusEnum.NOT_PAY.getStatus()); - eduGuideStepOrder.setPayWay(dto.getPayWay()); - eduGuideStepOrder.setPayType(dto.getPayType()); - eduGuideStepOrder.setDeptId(rosterRelation.getDeptId()); - // 保存订单主体信息 - eduGuideStepOrderService.save(eduGuideStepOrder); - - // 返回值 - RosterStepPayInfoVO payInfoVO = new RosterStepPayInfoVO(); - // 金额为0,直接为成功订单 - if (NumberUtil.isLessOrEqual(eduGuideStepOrder.getPracticalMoney(), BigDecimal.ZERO)) { - guideStepOrderPaySuccess(eduGuideStepOrder.getOrderCode(), LocalDateTime.now()); - payInfoVO.setNeedToPay(false); - payInfoVO.setOrderCode(eduGuideStepOrder.getOrderCode()); - } else { - // 下单返回信息 - String result = placeOrder(eduGuideStepOrder); - // 添加迎新订单缓存 - redisService.set(CachePrefixConstant.GUIDE_STEP_ORDER + eduGuideStepOrder.getOrderCode(), eduGuideStepOrder, 900L); - redisService.set(CachePrefixConstant.GUIDE_STEP_ORDER_FLAG + eduGuideStepOrder.getOrderCode(), result, 900L); - payInfoVO = getPayInfo(eduGuideStepOrder, result, true); - } - return payInfoVO; - } - - /** - * 调用第三方接口生成支付信息 - * - * @param eduGuideStepOrder 迎新订单信息 - * @return java.lang.String - * @author ZYJ - * @date 2023/6/20 17:17 - */ - private String placeOrder(EduGuideStepOrder eduGuideStepOrder) { - // 下单返回信息 - String result = ""; - try { - if (PayWay.CONSTRUCTION_PAY.getValue().equals(eduGuideStepOrder.getPayWay())) { - // 建行支付 - result = ConstructionPayUtil.getQrPayUrl( - commonService.getConstructionPayConfigByDept(eduGuideStepOrder.getDeptId()), - ConstructionPayOrder.builder() - .orderNo(eduGuideStepOrder.getOrderCode()) - .payMoney(eduGuideStepOrder.getPracticalMoney()) - .orderTime(Date.from(eduGuideStepOrder.getCreateDate().atZone(ZoneId.systemDefault()).toInstant())) - .build()); - } - } catch (Exception e) { - log.error("迎新订单下单失败", e); - throw new FebsException(ResultMsgType.ORDER_FAIL.getValue()); - } - if (StringUtils.isEmpty(result)) { - log.error("迎新订单失败, 没有支付信息"); - throw new FebsException(ResultMsgType.ORDER_FAIL.getValue()); - } - return result; - } - - /** - * 获取订单支付信息 - * - * @param order 迎新订单信息 - * @param orderFlag 订单支付标识 - * @param needToPay 是否需要跳转支付 - * @return com.yida.data.school.vo.smart.h5.RosterStepPayInfoVO - * @author ZYJ - * @date 2023/6/20 17:16 - */ - public RosterStepPayInfoVO getPayInfo(EduGuideStepOrder order, String orderFlag, boolean needToPay) { - RosterStepPayInfoVO payInfoVO = null; - if (PayWay.CONSTRUCTION_PAY.getValue().equals(order.getPayWay())) { - // 建行 - payInfoVO = RosterStepPayInfoVO.builder() - .orderCode(order.getOrderCode()) - .payWay(order.getPayWay()) - .payType(order.getPayType()) - .needToPay(needToPay) - .payUrl(orderFlag) - .build(); - } - return payInfoVO; - } - - @Override - public void guideStepOrderPaySuccess(String orderCode, LocalDateTime payDate) { -// File qrCodeFile = null; - try { - // 修改订单信息 - EduGuideStepOrder order = eduGuideStepOrderService.getOne(new LambdaQueryWrapper<>(new EduGuideStepOrder()) - .eq(EduGuideStepOrder::getOrderCode, orderCode)); - order.setPayDate(payDate); - order.setOrderStatus(OrderStatusEnum.PAY_SUCCESS.getStatus()); - order.setPayStatus(PayStatusEnum.PAY_SUCCESS.getStatus()); - eduGuideStepOrderService.updateById(order); -// // 修改步骤支付状态 -// EduSmartWelcomeGuideRosterRelationStep relationStep = eduSmartWelcomeGuideRosterRelationStepService -// .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) -// .eq(EduSmartWelcomeGuideRosterRelationStep::getRelationId, order.getRelationId()) -// .eq(EduSmartWelcomeGuideRosterRelationStep::getStepId, order.getStepId()) -// ); -// if (!Objects.nonNull(relationStep)) { -// relationStep = new EduSmartWelcomeGuideRosterRelationStep(); -// relationStep.setDeptId(order.getDeptId()); -// relationStep.setGuideId(order.getGuideId()); -// relationStep.setRosterId(order.getRosterId()); -// relationStep.setRelationId(order.getRelationId()); -// relationStep.setStepId(order.getStepId()); -// } -// relationStep.setStatus(AuditStatusEnum.PASS_STATUS.getStatus()); -// relationStep.setPayStatus(PayStatusEnum.PAY_SUCCESS.getStatus()); -// eduSmartWelcomeGuideRosterRelationStepService.saveOrUpdate(relationStep); - - // 更新用户支付状态 - EduSmartWelcomeGuideRoster guideRoster = eduSmartWelcomeGuideRosterService.getById(order.getRosterId()); - eduSmartWelcomeGuideRosterService.updateById( - EduSmartWelcomeGuideRoster.builder() - .id(guideRoster.getId()) - .payStatus(1) - .build()); - // 生成花名册二维码信息 -// EduSmartWelcomeGuideRoster guideRoster = eduSmartWelcomeGuideRosterService.getById(order.getRosterId()); -// JSONObject obj = JSONUtil.createObj() -// .set("rosterId", guideRoster.getId()) -// .set("deptId", order.getDeptId()) -// .set("guideId", order.getGuideId()) -// .set("fullName", guideRoster.getFullName()) -// .set("graduateSchool", guideRoster.getGraduateSchool()) -// .set("idNumber", guideRoster.getIdNumber()) -// .set("admittedMajor", guideRoster.getAdmittedMajor()); -// // 生成文件名称 -// String fileName = UUID.randomUUID().toString(true) + ".png"; -// String filePath = FileUtil.getLocalUploadAddress() + fileName; -// QrCodeUtil.generateQrCodeImage(obj.toString(), 400, 400, filePath); -// // 上传文件到媒资 -// qrCodeFile = new File(filePath); -// String qrCodeAddress = FileUtil.uploadFileToMediaServer(uploadUrl, qrCodeFile); -// eduSmartWelcomeGuideRosterService.updateById( -// EduSmartWelcomeGuideRoster.builder() -// .id(guideRoster.getId()) -// .qrCodeUrl(qrCodeAddress) -// .build()); - - // 删除花名册人员迎新订单缓存 - redisService.del(CachePrefixConstant.GUIDE_STEP_ORDER_ROSTER + order.getRelationId()); - // 删除迎新订单对应缓存 - redisService.del(CachePrefixConstant.GUIDE_STEP_ORDER + orderCode); - redisService.del(CachePrefixConstant.GUIDE_STEP_ORDER_FLAG + orderCode); - } catch (Exception e) { - log.error("迎新订单支付成功接口调用失败", e); - throw new FebsException("调用失败"); - } - } - - @Override - public void guideStepOrderSuccess(String orderCode) { - GUIDE_STEP_ORDER_SUCCESS_POOL.execute(() -> { - EduGuideStepOrder order = eduGuideStepOrderService.getOne(new LambdaQueryWrapper<>(new EduGuideStepOrder()) - .eq(EduGuideStepOrder::getOrderCode, orderCode)); - - if (Objects.nonNull(order) - && (OrderStatusEnum.NOT_PAY.getStatus().equals(order.getOrderStatus()) - || OrderStatusEnum.USER_PAYING.getStatus().equals(order.getOrderStatus()))) { - if (PayWay.CONSTRUCTION_PAY.getValue().equals(order.getPayWay())) { - // 建行 - constructionGuideStepOrderSuccess(order); - } - } - }); - } - - /** - * 处理建行查询订单 - * - * @param order 订单信息 - * @author ZYJ - * @date 2023/6/20 17:36 - */ - private void constructionGuideStepOrderSuccess(EduGuideStepOrder order) { - boolean flag = false; - // 订单号 - String orderCode = order.getOrderCode(); - // 查询建行支付配置 - ConstructionPayConfig config = commonService.getConstructionPayConfigByDept(order.getDeptId()); - if (Objects.isNull(config)) { - log.error("当前学校赞未配置建行支付信息"); - return; - } - - while (LocalDateTimeUtil.between(order.getCreateDate(), LocalDateTime.now()).getSeconds() < 900L) { - try { - JSONObject resJson = ConstructionPayUtil.queryOrder(config, orderCode); - // 支付信息 - JSONObject queryOrder = resJson.getJSONObject("QUERYORDER"); - // 金额 - BigDecimal amount = new BigDecimal(queryOrder.getStr("AMOUNT")); - if (order.getPracticalMoney().compareTo(amount) != 0) { - log.error("支付信息金额错误"); - break; - } - // 支付状态 - String status = (String) queryOrder.get("STATUSCODE"); - if (ConstructionTradeStateEnum.WAIT_BANK_CONFIRM.getStatus().equals(status) - || ConstructionTradeStateEnum.WAIT_BANK_CONFIRM_OTHER.getStatus().equals(status)) { - continue; - } - ConstructionTradeStateEnum tradeStateEnum = EnumUtils.valueOf(ConstructionTradeStateEnum.class, status, - ConstructionTradeStateEnum.class.getMethod("getStatus")); - switch (Objects.requireNonNull(tradeStateEnum)) { - // 支付成功 - case TRADE_SUCCESS: - guideStepOrderPaySuccess(order.getOrderCode(), - LocalDateTimeUtil.parse((String) queryOrder.get("ORDERDATE"), DatePattern.PURE_DATETIME_PATTERN)); - flag = true; - break; - // 订单关闭 - case TRADE_FAIL: - order.setOrderStatus(OrderStatusEnum.CLOSED.getStatus()); - order.setPayStatus(PayStatusEnum.CANCEL.getStatus()); - eduGuideStepOrderService.updateById(order); - flag = true; - break; - default: - break; - } - if (flag) { - break; - } - ThreadUtil.sleep(1500L); - } catch (Exception e) { - ThreadUtil.sleep(1500L); - log.error("迎新订单(建行支付方式)完成失败, orderNo: {}", orderCode, e); - } - } - } - - @Override - public RosterFaceMatchVO rosterFaceMatch(RosterFaceMatchDTO dto) { - File file = null; - try { - // 查询步骤信息 - EduSmartWelcomeGuideStep step = eduSmartWelcomeGuideStepService.getById(dto.getStepId()); - if (Objects.isNull(step)) { - throw new FebsException("当前步骤不支持人脸对比功能"); - } - if (!GuideStepTypeEnum.MATCH_FACE.getType().equals(step.getStepType())) { - throw new FebsException("当前步骤不支持人脸对比功能"); - } - // 查询绑定信息 - EduSmartWelcomeGuideRosterRelation rosterRelation = - eduSmartWelcomeGuideRosterRelationService.getById(dto.getRelationId()); - if (Objects.isNull(rosterRelation)) { - throw new FebsException("信息错误"); - } - EduSmartWelcomeGuideRoster guideRoster = eduSmartWelcomeGuideRosterService.getById(rosterRelation.getRosterId()); - if (Objects.isNull(guideRoster)) { - throw new FebsException("信息错误"); - } - // 判断前提步骤执行状态 - if (Objects.nonNull(step.getPremiseStepId())) { - EduSmartWelcomeGuideRosterRelationStep premiseRelationStep = eduSmartWelcomeGuideRosterRelationStepService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getRosterId, guideRoster.getId()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStepId, step.getPremiseStepId()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStatus, AuditStatusEnum.PASS_STATUS.getStatus()) - ); - if (Objects.isNull(premiseRelationStep)) { - EduSmartWelcomeGuideStep premiseStep = eduSmartWelcomeGuideStepService.getById(step.getPremiseStepId()); - throw new FebsException(String.format("请审核通过【%s】后执行其它步骤!", premiseStep.getStepName())); - } - } - // 查询百度api配置信息 - BaiduApiConfig config = commonService - .getBaiDuApiConfigByDept(rosterRelation.getDeptId(), BaiDuModuleEnum.FACE_DETECT.getValue()); - if (Objects.isNull(config)) { - log.error("获取百度api相关信息错误deptId: {}", rosterRelation.getDeptId()); - throw new FebsException("暂未配置人脸对比信息"); - } - // 人脸对比 阈值80 - String score = BaiDuUtil.faceMatch(config, guideRoster.getAvatar(), dto.getBase64()); - int valid = NumberUtil.isLess(new BigDecimal("60"), new BigDecimal(score)) ? 1 : 0; - RosterFaceMatchVO matchVO = RosterFaceMatchVO.builder() - .valid(valid) - .score(score) - .build(); - // 对比成功则上传图片 - if (valid == 1) { - String fileName = FileUtil.getLocalUploadAddress() + UUID.randomUUID() + ".png"; - file = new File(fileName); - // 上传图片 - file = Base64.decodeToFile(dto.getBase64(), file); - String url = FileUtil.uploadFileToMediaServer(uploadUrl, file); - matchVO.setUrl(url); - // 保存人脸图片信息 - EduSmartWelcomeGuideRosterRelationStep relationStep = eduSmartWelcomeGuideRosterRelationStepService - .getOne(Wrappers.lambdaQuery(new EduSmartWelcomeGuideRosterRelationStep()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getRelationId, dto.getRelationId()) - .eq(EduSmartWelcomeGuideRosterRelationStep::getStepId, dto.getStepId()) - ); - if (Objects.nonNull(relationStep)) { - relationStep.setStatus(AuditStatusEnum.PASS_STATUS.getStatus()); - relationStep.setUploadFileUrl(url); - } else { - relationStep = new EduSmartWelcomeGuideRosterRelationStep(); - relationStep.setDeptId(guideRoster.getDeptId()); - relationStep.setGuideId(dto.getGuideId()); - relationStep.setRosterId(guideRoster.getId()); - relationStep.setRelationId(dto.getRelationId()); - relationStep.setStepId(dto.getStepId()); - relationStep.setStatus(AuditStatusEnum.PASS_STATUS.getStatus()); - relationStep.setUploadFileUrl(url); - } - eduSmartWelcomeGuideRosterRelationStepService.saveOrUpdate(relationStep); - } - return matchVO; - } catch (Exception e) { - throw new FebsException(e instanceof FebsException ? e.getMessage() : "人脸对比失败"); - } finally { - if (Objects.nonNull(file)) { - cn.hutool.core.io.FileUtil.del(file); - } - } - - } - - @Override - public EduSmartWelcomeGuideRoster getUserQrCodeUrl(Long rosterId) { - EduSmartWelcomeGuideRoster roster = (EduSmartWelcomeGuideRoster) redisService - .hget(CachePrefixConstant.WELCOME_ROSTER, rosterId.toString()); - if (ObjectUtil.isNull(roster)) { - roster = eduSmartWelcomeGuideRosterService.getById(rosterId); - } - return roster; - } - - @Override - public String getPayQrCodeUrl(Long deptId) { - Dept dept = commonService.getDept(deptId); - if (Objects.isNull(dept)) { - throw new FebsException("学校信息错误"); - } - return welcomePayUrl + StringConstant.QUESTION_MARK + "deptId=" + dept.getDeptId() - + StringConstant.AMPERSAND + "appId=" + dept.getWxPublicAppId(); - } - - @Override - public IPage listRoster(RosterPageDTO dto) { - return eduSmartWelcomeGuideRosterRelationMapper.listRoster(dto.toPage(), dto); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/ImportGuideRosterServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/ImportGuideRosterServiceImpl.java deleted file mode 100644 index 556bc02..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/smart/service/impl/ImportGuideRosterServiceImpl.java +++ /dev/null @@ -1,171 +0,0 @@ -package com.yida.data.school.smart.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.lang.UUID; -import cn.hutool.core.util.NumberUtil; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.common.ResultMsgType; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.smart.EduSmartWelcomeGuideRoster; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.common.core.utils.FileUtil; -import com.yida.data.common.core.utils.QrCodeUtil; -import com.yida.data.school.dto.smart.GuideRosterErrorExportDTO; -import com.yida.data.school.dto.smart.GuideRosterImportDTO; -import com.yida.data.school.smart.mapper.EduSmartWelcomeGuideRosterMapper; -import com.yida.data.school.smart.service.ImportGuideRosterService; -import com.yida.data.school.vo.smart.ImportRosterDataVO; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.ehcache.impl.internal.concurrent.ConcurrentHashMap; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; - -import java.io.File; -import java.math.BigDecimal; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -/** - * 注释 - * - * @author ZYJ - * @date 2023/6/1 14:54 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class ImportGuideRosterServiceImpl implements ImportGuideRosterService { - - private final EduSmartWelcomeGuideRosterMapper eduSmartWelcomeGuideRosterMapper; - private final RedisService redisService; - - @Value("${febs.uploadUrl}") - private String uploadUrl; - - @Override - public void saveGuideRosterExcelData(ConcurrentHashMap concurrentHashMap, - List errorList, Long guideId, String uuid, - CurrentUser currentUser, Integer totalCount, Integer handleCount) { - - int temp = 0; - if (!CollectionUtils.isEmpty(concurrentHashMap)) { - // 保存前判断是否已存在 - for (Map.Entry entry : concurrentHashMap.entrySet()) { - temp++; - - GuideRosterErrorExportDTO dto = new GuideRosterErrorExportDTO(); - GuideRosterImportDTO importDTO = new GuideRosterImportDTO(); - File qrCodeFile = null; - try { - importDTO = entry.getValue(); - BeanUtils.copyProperties(importDTO, dto); - // 验证导入信息是否为空 - if (!checkRosterImportInfo(dto, importDTO)) { - errorList.add(dto); - continue; - } - // 验证学号在当前学校的学生表中是否重复 - EduSmartWelcomeGuideRoster exist = eduSmartWelcomeGuideRosterMapper.selectOne( - Wrappers.lambdaQuery(new EduSmartWelcomeGuideRoster()) - .eq(EduSmartWelcomeGuideRoster::getIdNumber, importDTO.getIdNumber()) - .eq(EduSmartWelcomeGuideRoster::getGuideId, guideId)); - - if (Objects.nonNull(exist)) { - log.error("身份证号码已存在: {}", JSONUtil.toJsonStr(importDTO)); - dto.setErrorMessage(ResultMsgType.ID_CARD_EXIST.getValue()); - errorList.add(dto); - continue; - } - // 保存指南花名册信息 - EduSmartWelcomeGuideRoster guideRoster = new EduSmartWelcomeGuideRoster(); - BeanUtils.copyProperties(importDTO, guideRoster); - guideRoster.setDeptId(Objects.requireNonNull(currentUser).getDeptId()); - guideRoster.setGuideId(guideId); - guideRoster.setGender(FebsUtil.getSexByIdCardNo(importDTO.getIdNumber())); - eduSmartWelcomeGuideRosterMapper.insert(guideRoster); - - // 判断指南二维码开启状态 -// EduSmartWelcomeGuide guide = eduSmartWelcomeGuideService.getById(guideId); -// if (Objects.nonNull(guide) && EnableStatusEnum.ENABLE_STATUS.getStatus() -// .equals(guide.getQrCodeEnableStatus())) { - // 转换二维码信息 - JSONObject obj = JSONUtil.parseObj(importDTO) - .set("rosterId", guideRoster.getId()) - .set("deptId", Objects.requireNonNull(currentUser).getDeptId()) - .set("guideId", guideId); - // 生成文件名称 - String fileName = UUID.randomUUID().toString(true) + ".png"; - String filePath = FileUtil.getLocalUploadAddress() + fileName; - QrCodeUtil.generateQrCodeImage(obj.toString(), 400, 400, filePath); - // 上传文件到媒资 - qrCodeFile = new File(filePath); - String qrCodeAddress = FileUtil.uploadFileToMediaServer(uploadUrl, qrCodeFile); - eduSmartWelcomeGuideRosterMapper.updateById( - EduSmartWelcomeGuideRoster.builder() - .id(guideRoster.getId()) - .qrCodeUrl(qrCodeAddress) - .build()); -// } - // TODO: 2023/10/18 后续优化花名册缓存信息 - // 缓存花名册信息 -// redisService.hset(CachePrefixConstant.WELCOME_ROSTER, guideRoster.getId().toString(), -// eduSmartWelcomeGuideRosterMapper.selectById(guideRoster.getId())); - } catch (Exception e) { - log.error("导入指南花名册失败: {}", JSONUtil.toJsonStr(importDTO), e); - dto.setErrorMessage("数据异常!"); - errorList.add(dto); - } finally { - if (Objects.nonNull(qrCodeFile)) { - cn.hutool.core.io.FileUtil.del(qrCodeFile); - } - // 计算百分比 - BigDecimal percent = NumberUtil - .div(new BigDecimal((temp + handleCount) * 100), new BigDecimal(totalCount), 2); - redisService.set(CachePrefixConstant.IMPORT_GUIDE_ROSTER_KEY + uuid, - ImportRosterDataVO.builder().percent(percent.intValue()).finish(0).key(uuid) - .build()); - } - } - } - } - - private boolean checkRosterImportInfo(GuideRosterErrorExportDTO dto, GuideRosterImportDTO importDTO) { - BeanUtils.copyProperties(importDTO, dto); - // 判断姓名是否为空 - if (!StringUtils.isNotBlank(importDTO.getFullName())) { - dto.setErrorMessage("姓名为空"); - return false; - } - // 判断身份证号码是否为空 - else if (!StringUtils.isNotBlank(importDTO.getIdNumber())) { - dto.setErrorMessage("身份证号码为空"); - return false; - } - // 判断录取专业是否为空 - else if (!StringUtils.isNotBlank(importDTO.getAdmittedDepartment())) { - dto.setErrorMessage("录取系部为空"); - return false; - } - // 判断录取专业是否为空 - else if (!StringUtils.isNotBlank(importDTO.getAdmittedMajor())) { - dto.setErrorMessage("录取专业为空"); - return false; - } - // 判断手机号码是否为空 - else if (!StringUtils.isNotBlank(importDTO.getMobile())) { - dto.setErrorMessage("手机号码为空"); - return false; - } - return true; - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduApplyController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduApplyController.java index a83917d..4397422 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduApplyController.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduApplyController.java @@ -4,26 +4,20 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.common.ModuleName; +import com.yida.data.common.core.annotation.ControllerLog; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.apply.EduApply; import com.yida.data.common.core.entity.apply.EduProductApply; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.school.transaction.mapper.EduProductApplyMapper; import com.yida.data.school.transaction.service.EduAppService; import com.yida.data.school.vo.transcation.EduApplyVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import java.util.List; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** @@ -40,6 +34,7 @@ public class EduApplyController { @ApiOperation("应用分页查询") @GetMapping("/listApply") + @ControllerLog(operation = "分页查询应用") public ResultBean> listApply(@ApiParam("app名字") @RequestParam String applyName, @ApiParam("当前页码") @RequestParam(defaultValue = "1") Integer pageNum, @ApiParam("页面大小") @RequestParam(defaultValue = "10") Integer pageSize) { @@ -52,7 +47,7 @@ public class EduApplyController { @ApiOperation("新增应用") @PostMapping("/insertApply") - @OperationLog(module = ModuleName.SCHOOL, methods = "新增应用", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "新增应用") public ResultBean insertApply(@ApiParam("应用名字") @RequestBody EduApplyVO applyFunction) { eduAppService.insertEduApplyService(applyFunction); return ResultBean.buildSuccess(); @@ -61,7 +56,7 @@ public class EduApplyController { @ApiOperation("修改应用") @PostMapping("/updateApply") - @OperationLog(module = ModuleName.SCHOOL, methods = "修改应用", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "修改应用") public ResultBean upDataApply(@ApiParam("应用名字") @RequestBody EduApplyVO eduApply) { eduAppService.upDataApplyService(eduApply); return ResultBean.buildSuccess(); @@ -70,7 +65,7 @@ public class EduApplyController { @ApiOperation("删除应用") @GetMapping("/removeEduApply") - @OperationLog(module = ModuleName.SCHOOL, methods = "删除应用", type = OperationLogTypeEnum.DELETE) + @ControllerLog(operation = "删除应用") public ResultBean removeEduApply(@ApiParam("应用id") @RequestParam Long applyId) { List eduProductApplies = eduProductApplyMapper.selectList(Wrappers.lambdaQuery(new EduProductApply()) diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduApplyFunctionController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduApplyFunctionController.java index 217c5d2..800ac31 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduApplyFunctionController.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduApplyFunctionController.java @@ -2,11 +2,8 @@ package com.yida.data.school.transaction.controller; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.apply.EduApplyFunction; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.school.transaction.service.EduApplyFunctionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -28,7 +25,7 @@ public class EduApplyFunctionController { @ApiOperation("新增应用功能") @PostMapping("/insertApplyFunction") - @OperationLog(module = ModuleName.TRANSATION, methods = "新增应用功能", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "新增应用功能") public ResultBean insertApply(@ApiParam("应用名字") @RequestParam EduApplyFunction eduApplyFunction) { eduApplyFunctionService.insertEduApplyFunctionService(eduApplyFunction); return ResultBean.buildSuccess(); @@ -37,7 +34,7 @@ public class EduApplyFunctionController { @ApiOperation("修改应用功能") @PostMapping("/updateApplyFunction") - @OperationLog(module = ModuleName.TRANSATION, methods = "修改应用功能", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "修改应用功能") public ResultBean upDataApplyFunction(@ApiParam("应用名字") @RequestParam EduApplyFunction eduApplyFunction) { eduApplyFunctionService.upDataEduApplyFunctionService(eduApplyFunction); @@ -47,7 +44,7 @@ public class EduApplyFunctionController { @ApiOperation("删除应用功能") @GetMapping("/removeEduApplyFunction") - @OperationLog(module = ModuleName.TRANSATION, methods = "删除应用功能", type = OperationLogTypeEnum.DELETE) + @ControllerLog(operation = "删除应用功能") public ResultBean removeEduApply(@ApiParam("功能id") @RequestParam Long functionId) { eduApplyFunctionService.removeById(functionId); return ResultBean.buildSuccess(); diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduProductController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduProductController.java index 6d6dbed..8b97346 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduProductController.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduProductController.java @@ -4,16 +4,13 @@ import cc.mrbird.febs.common.redis.service.RedisService; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.CurrentUser; import com.yida.data.common.core.entity.apply.EduProduct; import com.yida.data.common.core.entity.apply.EduProductApply; import com.yida.data.common.core.entity.constant.FebsConstant; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; import com.yida.data.common.core.utils.Asserts; import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.school.dto.transaction.ListBuyStudentDTO; import com.yida.data.school.dto.transaction.ProductSelectDTO; import com.yida.data.school.transaction.service.EduProductApplyService; @@ -46,6 +43,7 @@ public class EduProductController { // @Secured({"ROLE_role:agent:normal", "ROLE_role:agent:admin"}) @ApiOperation("商品分页查询") @PostMapping("/listProduct") + @ControllerLog(operation = "商品分页查询") public ResultBean listProduct(@RequestBody ProductSelectDTO dto) { Page page = new Page(); page.setCurrent(dto.getCurrent()); @@ -55,13 +53,14 @@ public class EduProductController { @ApiOperation("查询商品详情") @GetMapping("/selectProduct") + @ControllerLog(operation = "商品详情查询") public ResultBean selectProduct(@ApiParam("商品id") @RequestParam Long productId) { return ResultBean.buildSuccess(eduProductService.getInfo(productId)); } @ApiOperation("修改商品") @PostMapping("/upDateProduct") - @OperationLog(module = ModuleName.PRODUCT, methods = "修改商品", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "修改商品") public ResultBean upDataProduct(@ApiParam("商品") @RequestBody EduProduct eduProduct) { Asserts.isTrue(eduProductService.count(Wrappers.lambdaQuery(new EduProduct()) .eq(EduProduct::getProductCode, eduProduct.getProductCode()) @@ -73,7 +72,7 @@ public class EduProductController { @ApiOperation("商品上架") @GetMapping("/upDateProductById") - @OperationLog(module = ModuleName.PRODUCT, methods = "商品上架", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "修改商品") public ResultBean upDateProductById(@ApiParam("商品") @RequestParam("id") Long id) { EduProduct eduProduct = new EduProduct(); eduProduct.setProductId(id); @@ -84,7 +83,7 @@ public class EduProductController { @ApiOperation("下架商品") @GetMapping("/soldOutProduct") - @OperationLog(module = ModuleName.PRODUCT, methods = "下架商品", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "下架商品") public ResultBean soldOutProduct(@ApiParam("商品") @RequestParam Long productId) { EduProduct eduProduct = new EduProduct(); eduProduct.setProductId(productId); @@ -97,7 +96,7 @@ public class EduProductController { @ApiOperation("新增商品") @PostMapping("/insertProduct") - @OperationLog(module = ModuleName.PRODUCT, methods = "新增商品", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "新增商品") public ResultBean insertProduct(@RequestBody EduProduct eduProduct) { Asserts.isTrue(eduProductService.count(Wrappers.lambdaQuery(new EduProduct()) .eq(EduProduct::getProductCode, eduProduct.getProductCode())) == 0, "商品编码重复,请修改后重试"); @@ -108,7 +107,7 @@ public class EduProductController { @ApiOperation("删除商品") @GetMapping("/removeProduct") - @OperationLog(module = ModuleName.PRODUCT, methods = "删除商品", type = OperationLogTypeEnum.DELETE) + @ControllerLog(operation = "删除商品") public ResultBean removeProduct(@ApiParam("商品id") @RequestParam Long productId) { eduProductService.removeEduProductService(productId); return ResultBean.buildSuccess(); @@ -116,6 +115,7 @@ public class EduProductController { @ApiOperation("手机端商品列表查询") @GetMapping("/selectProductList") + @ControllerLog(operation = "须知查询") public ResultBean listApply(@ApiParam("学校id") @RequestParam Long schoolId) { CurrentUser currentUser = FebsUtil.getCurrentUser(); assert currentUser != null; @@ -124,13 +124,14 @@ public class EduProductController { @ApiOperation("手机商品详情") @GetMapping("/selectProductAndApply") + @ControllerLog(operation = "新增须知") public ResultBean selectProductAndApply(@ApiParam("商品id") @RequestParam Long productId) { return ResultBean.buildSuccess(eduProductService.selectProductAndApply(productId)); } @ApiOperation("商品与应用取消关联") @GetMapping("/delEduProductApply") - @OperationLog(module = ModuleName.PRODUCT, methods = "商品与应用取消关联", type = OperationLogTypeEnum.DELETE) + @ControllerLog(operation = "商品与应用取消关联") public ResultBean delEduProductApply(@ApiParam("应用id") @RequestParam Long applyId) { eduProductApplyService.remove(Wrappers.lambdaQuery(new EduProductApply()) diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduProductModelController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduProductModelController.java index 9e6c8d6..e335ea9 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduProductModelController.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduProductModelController.java @@ -3,11 +3,8 @@ package com.yida.data.school.transaction.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.apply.EduProductModel; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.school.transaction.service.EduProductModelService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -29,6 +26,7 @@ public class EduProductModelController { @ApiOperation("须知查询") @GetMapping("/selectProductModel") + @ControllerLog(operation = "须知查询") public ResultBean listModel(@ApiParam("须知名字") @RequestParam String modelName, @RequestParam Integer pageNum, @RequestParam Integer pageSize) { @@ -40,7 +38,7 @@ public class EduProductModelController { @ApiOperation("新增须知") @PostMapping("/insertProductModel") - @OperationLog(module = ModuleName.PRODUCT, methods = "新增商品须知", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "新增须知") public ResultBean insertModel(@RequestBody EduProductModel eduProductModel) { eduProductModelService.insertEduProductModelService(eduProductModel); return ResultBean.buildSuccess(); @@ -49,7 +47,7 @@ public class EduProductModelController { @ApiOperation("修改须知") @PostMapping("/updateProductModel") - @OperationLog(module = ModuleName.PRODUCT, methods = "修改商品须知", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "修改须知") public ResultBean upDataModel(@RequestBody EduProductModel eduProductModel) { eduProductModelService.updateEduProductModelService(eduProductModel); return ResultBean.buildSuccess(); @@ -58,7 +56,7 @@ public class EduProductModelController { @ApiOperation("删除须知") @GetMapping("/removeEduProductModel") - @OperationLog(module = ModuleName.PRODUCT, methods = "删除商品须知", type = OperationLogTypeEnum.DELETE) + @ControllerLog(operation = "删除须知") public ResultBean removeModel(@ApiParam("应用id") @RequestParam Integer modelId) { eduProductModelService.removeEduProductModelService(modelId); return ResultBean.buildSuccess(); diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduProductNoticeStudentController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduProductNoticeStudentController.java index d424a58..6a2b9c4 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduProductNoticeStudentController.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduProductNoticeStudentController.java @@ -1,22 +1,16 @@ package com.yida.data.school.transaction.controller; -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.apply.EduProductNoticeStudent; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; import com.yida.data.common.core.utils.FebsUtil; import com.yida.data.school.dto.transaction.ListBuyStudentDTO; import com.yida.data.school.transaction.service.EduProductNoticeService; import com.yida.data.school.transaction.service.EduProductNoticeStudentService; -import com.yida.data.school.vo.transcation.DownStudentBuyDataVO; -import com.yida.data.user.vo.DownLoadStaffAttendanceRecordVO; import com.yida.data.user.vo.ListParentByStudentIdsVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; @@ -42,7 +36,6 @@ public class EduProductNoticeStudentController { private final EduProductNoticeStudentService eduProductNoticeStudentService; private final EduProductNoticeService eduProductNoticeService; - private final RedisService redisService; @PostMapping("/batchPutNotice") @ApiOperation("批量催缴") @@ -61,8 +54,8 @@ public class EduProductNoticeStudentController { @ApiOperation("通知记录") @GetMapping("/findRecordList") public ResultBean> findRecordList(@RequestParam Long productId, - @RequestParam Integer size, - @RequestParam Integer pageNum) { + @RequestParam Integer size, + @RequestParam Integer pageNum) { Page page = new Page(); page.setSize(size); page.setCurrent(pageNum); @@ -72,8 +65,8 @@ public class EduProductNoticeStudentController { @ApiOperation("查询通知记录对应家长") @GetMapping("/findRecordParent") public ResultBean> findRecordParent(@RequestParam Long noticeId, - @RequestParam Integer size, - @RequestParam Integer pageNum) { + @RequestParam Integer size, + @RequestParam Integer pageNum) { Page page = new Page(); page.setSize(size); page.setCurrent(pageNum); @@ -99,25 +92,8 @@ public class EduProductNoticeStudentController { @ApiOperation("导出需要续费的学生") @ResponseBody @PostMapping("/studentBuyExport") - public ResultBean studentBuyExport(@RequestBody ListBuyStudentDTO listBuyStudentDTO, - HttpServletResponse response) { - String uuid = IdUtil.simpleUUID(); - DownStudentBuyDataVO vo = DownStudentBuyDataVO.builder() - .key(uuid) - .finish(0) - .totalNum(100) - .currentNum(0).build(); - redisService.hset(CachePrefixConstant.PRODUCT_BUY_DATA_DOWNLOAD, uuid, vo); - eduProductNoticeStudentService.studentBuyExport(listBuyStudentDTO, response, uuid); - return ResultBean.buildSuccess(vo); + public void studentBuyExport(@RequestBody ListBuyStudentDTO listBuyStudentDTO, HttpServletResponse response) { + + eduProductNoticeStudentService.studentBuyExport(listBuyStudentDTO, response); } - - - @ApiOperation("获取导出需要续费的学生进度") - @GetMapping("/getStudentBuyExportProgress") - public ResultBean getStudentBuyExportProgress(String key) { - return ResultBean.buildSuccess( - (DownStudentBuyDataVO) redisService.hget(CachePrefixConstant.PRODUCT_BUY_DATA_DOWNLOAD, key)); - } - } diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduProductOrderController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduProductOrderController.java index aae6133..210ed53 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduProductOrderController.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/EduProductOrderController.java @@ -4,15 +4,12 @@ import cc.mrbird.febs.common.redis.service.RedisService; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.CurrentUser; import com.yida.data.common.core.entity.apply.EduApplyProductOrder; import com.yida.data.common.core.entity.apply.EduApplyProductRefund; import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.school.dto.transaction.EduApplyProductOrderDTO; import com.yida.data.school.transaction.service.EduProductOrderService; import com.yida.data.school.vo.transcation.PayInfoVO; @@ -36,13 +33,14 @@ public class EduProductOrderController { @ApiOperation("修改支付状态") @GetMapping("/upDateEduProductOrder") - @OperationLog(module = ModuleName.PRODUCT, methods = "修改支付状态", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "修改支付状态") public ResultBean upDateEduProductOrder(@ApiParam("生成订单") @RequestParam EduApplyProductOrder eduApplyProductOrder) { return eduProductOrderService.updateProductOder(eduApplyProductOrder); } @ApiOperation("待付款/交易成功订单批量分页查询") @PostMapping("/selectPageListProductOrder") + @ControllerLog(operation = "待付款/交易成功订单批量分页查询") public ResultBean> selectPageListProductOrder(@ApiParam("订单查询条件") @RequestBody EduApplyProductOrderDTO dto) { Page page = new Page(); page.setSize(dto.getSize()); @@ -54,6 +52,7 @@ public class EduProductOrderController { @ApiOperation("手机端待付款/交易成功订单批量查询") @GetMapping("/selectListProductOrder") + @ControllerLog(operation = "待付款/交易成功订单批量分页查询") public ResultBean> selectListProductOrder(@ApiParam("用户手机号") @RequestParam String phone, @ApiParam("studentId") @RequestParam Long studentId) { CurrentUser currentUser = FebsUtil.getCurrentUser(); @@ -64,7 +63,7 @@ public class EduProductOrderController { @ApiOperation("生成订单") @GetMapping("/createOrder") - @OperationLog(module = ModuleName.PRODUCT, methods = "生成订单", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "生成订单") public ResultBean insertEduProductOrder(@ApiParam("商品id") Long productId, @ApiParam("学生id") Long[] studentId, @ApiParam("支付方式,0-微信jsapi,1-微信h5") Integer payType) { @@ -74,7 +73,6 @@ public class EduProductOrderController { @ApiOperation("发起支付") @GetMapping("/payOrder") - @OperationLog(module = ModuleName.PRODUCT, methods = "发起支付", type = OperationLogTypeEnum.INSERT) public ResultBean payOrder(String orderCode) { Object prepay = redisService.get(CachePrefixConstant.ORDER_FLAG + orderCode); PayInfoVO infoVO = eduProductOrderService.getWxJsSign(orderCode, prepay.toString()); @@ -84,7 +82,6 @@ public class EduProductOrderController { @ApiOperation("发起退款") @GetMapping("/refund") - @OperationLog(module = ModuleName.PRODUCT, methods = "发起退款", type = OperationLogTypeEnum.UPDATE) public ResultBean refund(EduApplyProductRefund refund) { eduProductOrderService.refund(refund, FebsUtil.getCurrentUser()); return ResultBean.buildSuccess(); @@ -115,13 +112,13 @@ public class EduProductOrderController { @ApiOperation("订单详情查询") @GetMapping("/selectEduProductOrder") + @ControllerLog(operation = "订单详情查询") public ResultBean selectEduProductOrder(@ApiParam("订单id") Long orderId) { return ResultBean.buildSuccess(eduProductOrderService.selectEduProductOrder(orderId)); } @ApiOperation("订单完成(前台支付完成后调用)") @GetMapping("/orderSuccess") - @OperationLog(module = ModuleName.PRODUCT, methods = "订单完成(前台支付完成后调用)", type = OperationLogTypeEnum.UPDATE) public ResultBean orderSuccess(@ApiParam("订单号") String orderCode) { eduProductOrderService.orderSuccess(orderCode); return ResultBean.buildSuccess(); diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/InEduProductController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/InEduProductController.java index 5424101..471fb37 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/InEduProductController.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/controller/InEduProductController.java @@ -1,22 +1,21 @@ package com.yida.data.school.transaction.controller; -import com.yida.data.common.core.common.ModuleName; +import com.yida.data.common.core.annotation.ControllerLog; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.apply.EduProduct; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.school.transaction.service.EduProductNoticeService; import com.yida.data.school.transaction.service.EduProductService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import javax.annotation.Resource; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; + /** * @author chenbo */ @@ -32,7 +31,7 @@ public class InEduProductController { @ApiOperation("商品上架") @GetMapping("/upDateProductById") - @OperationLog(module = ModuleName.PRODUCT, methods = "商品上架", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "修改商品") public ResultBean upDateProductById(@ApiParam("商品") @RequestParam("id") Long id) { EduProduct eduProduct = new EduProduct(); eduProduct.setProductId(id); @@ -43,7 +42,7 @@ public class InEduProductController { @ApiOperation("发送商品催缴续费通知") @GetMapping("/productSendNotice") - @OperationLog(module = ModuleName.PRODUCT, methods = "发送商品催缴续费通知", type = OperationLogTypeEnum.SELECT) + @ControllerLog(operation = "发送商品催缴续费通知") public ResultBean productSendNotice(@ApiParam("通知id") @RequestParam("id") Long id) { eduProductNoticeService.productSendNotice(id); return ResultBean.buildSuccess(); @@ -51,7 +50,7 @@ public class InEduProductController { @ApiOperation("修改商品的状态为已失效") @GetMapping("/productMonitor") - @OperationLog(module = ModuleName.PRODUCT, methods = "修改商品的状态为已失效", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "修改商品的状态为已失效") public ResultBean productMonitor() { eduProductNoticeService.productMonitor(); return ResultBean.buildSuccess(); diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/service/EduProductNoticeStudentService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/service/EduProductNoticeStudentService.java index c642f9e..1565701 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/service/EduProductNoticeStudentService.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/service/EduProductNoticeStudentService.java @@ -9,7 +9,6 @@ import com.yida.data.user.vo.ListParentByStudentIdsVO; import javax.servlet.http.HttpServletResponse; import java.util.List; -import org.springframework.scheduling.annotation.Async; /** * 催缴通知对应接收学生表 Service接口 @@ -18,7 +17,6 @@ import org.springframework.scheduling.annotation.Async; * @date 2021-09-03 15:33:47 */ public interface EduProductNoticeStudentService extends IService { - /** * 批量催缴 * @@ -40,8 +38,7 @@ public interface EduProductNoticeStudentService extends IService implements EduProductNoticeStudentService { + implements EduProductNoticeStudentService { private final EduProductNoticeStudentMapper eduProductNoticeStudentMapper; @Resource @@ -75,14 +69,9 @@ public class EduProductNoticeStudentServiceImpl extends ServiceImpl @Resource private EduProductMapper eduProductMapper; - private final RedisService redisService; - @Value("${febs.pageUrl}") private String pageUrl; - @Value("${febs.uploadUrl}") - private String uploadUrl; - @Override @Transactional(rollbackFor = Exception.class) public void batchPutNotice(List noticeStudents) { @@ -100,8 +89,8 @@ public class EduProductNoticeStudentServiceImpl extends ServiceImpl Long productId = noticeStudents.get(0).getProductId(); Long schoolId = eduProductService.getById(productId).getSchoolId(); - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.INDEX_PARENT, null, - schoolId); + EduApp app = commonService.getAppByCodeAndSchool(AppConstant.PRODUCT_PARENT, null, + schoolId); String accessToken = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); //家长wxId @@ -124,7 +113,7 @@ public class EduProductNoticeStudentServiceImpl extends ServiceImpl @Override public IPage findRecordList(Page page, Long productId) { List list = eduProductNoticeService.list(Wrappers.lambdaQuery(new EduProductNotice()) - .eq(EduProductNotice::getProductId, productId)); + .eq(EduProductNotice::getProductId, productId)); if (CollectionUtil.isEmpty(list)) { return new Page<>(); @@ -151,7 +140,7 @@ public class EduProductNoticeStudentServiceImpl extends ServiceImpl } } List list = list(Wrappers.lambdaQuery(new EduProductNoticeStudent()) - .in(EduProductNoticeStudent::getNoticeId, noticeId)); + .in(EduProductNoticeStudent::getNoticeId, noticeId)); ArrayList studentIds = new ArrayList<>(); for (EduProductNoticeStudent eduProductNoticeStudent : list) { studentIds.add(eduProductNoticeStudent.getStudentId()); @@ -190,83 +179,45 @@ public class EduProductNoticeStudentServiceImpl extends ServiceImpl // 导出Excel EasyExcelUtil.exportExcelData(list, StudentNotBuyExportVO.class, "导出未购买导出数据", - ExcelTypeEnum.XLS, response); + ExcelTypeEnum.XLS, response); stopWatch.stop(); log.info("导出未购买学生数据总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); } - @Override - public void studentBuyExport(ListBuyStudentDTO listBuyStudentDTO, HttpServletResponse response, String uuid) { - File file = null; - String fileName = com.yida.data.common.core.utils.FileUtil.getLocalUploadAddress() + uuid + ".xlsx"; - file = new File(fileName); - - try { - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - - List list1 = eduProductMapper.listBuyStudent(listBuyStudentDTO); - List studentId = new ArrayList<>(); - for (EduProductNoticeVO eduProductNoticeVO : list1) { - studentId.add(eduProductNoticeVO.getStudentId()); - } - ArrayList list = new ArrayList<>(); - - for (int i = 0; i < studentId.size(); i++) { - - log.info("学生ID:{}", studentId.get(i)); - - redisService.hset(CachePrefixConstant.PRODUCT_BUY_DATA_DOWNLOAD, uuid, DownStudentBuyDataVO.builder() - .key(uuid) - .finish(0) - .totalNum(studentId.size()) - .currentNum(i + 1).build()); - - EduStudent data = remoteStudentService.getStudentNoPermission(studentId.get(i)).getData(); - - StudentNotBuyExportVO studentNotBuyExportVO = new StudentNotBuyExportVO(); - studentNotBuyExportVO.setCampusName(ObjectUtil.isNull(data) ? "" : data.getCampusName()); - studentNotBuyExportVO.setSectionName(ObjectUtil.isNull(data) ? "" : data.getSectionName()); - studentNotBuyExportVO.setGradeName(ObjectUtil.isNull(data) ? "" : data.getGradeName()); - studentNotBuyExportVO.setClassName(ObjectUtil.isNull(data) ? "" : data.getClassName()); - studentNotBuyExportVO.setStudentName(ObjectUtil.isNull(data) ? "" : data.getStuName()); - studentNotBuyExportVO.setIndexNo((long) i + 1); - studentNotBuyExportVO.setStudentNumber(ObjectUtil.isNull(data) ? "" : data.getStuNumber()); - list.add(studentNotBuyExportVO); - } - - // 根据查询条件导出未购买学生数据 - // 导出数据 - EasyExcel.write(file) - .excelType(ExcelTypeEnum.XLSX) - // 这里放入动态头 - .head(StudentNotBuyExportVO.class).sheet("职工通行记录") - // 当然这里数据也可以用 List> 去传入 - .doWrite(list); - // 上传文件到媒资 - String fileUrl = com.yida.data.common.core.utils.FileUtil.uploadFileToMediaServer(uploadUrl, file); - - redisService - .hset(CachePrefixConstant.PRODUCT_BUY_DATA_DOWNLOAD, uuid, DownStudentBuyDataVO.builder() - .key(uuid) - .finish(1) - .filePath(fileUrl) - .totalNum(list.size()) - .currentNum(list.size()).build()); - -// // 导出Excel -// EasyExcelUtil.exportExcelData(list, StudentNotBuyExportVO.class, "导出需要已购买学生", -// ExcelTypeEnum.XLS, response); - stopWatch.stop(); - log.info("导出已购买学生数据总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); - } catch (IllegalStateException e) { - log.error("导出已购买学生数据出错:{}", e); - } finally { - if (Objects.nonNull(file)) { - cn.hutool.core.io.FileUtil.del(file); - } + public void studentBuyExport(ListBuyStudentDTO listBuyStudentDTO, HttpServletResponse response) { + List list1 = eduProductMapper.listBuyStudent(listBuyStudentDTO); + List studentId = new ArrayList<>(); + for (EduProductNoticeVO eduProductNoticeVO : list1) { + studentId.add(eduProductNoticeVO.getStudentId()); } + + ArrayList list = new ArrayList<>(); + + + for (int i = 0; i < studentId.size(); i++) { + EduStudent data = remoteStudentService.getStudentNoPermission(studentId.get(i)).getData(); + StudentNotBuyExportVO welcomeStudentExportDTO = new StudentNotBuyExportVO(); + welcomeStudentExportDTO.setCampusName(data.getCampusName()); + welcomeStudentExportDTO.setSectionName(data.getSectionName()); + welcomeStudentExportDTO.setGradeName(data.getGradeName()); + welcomeStudentExportDTO.setClassName(data.getClassName()); + welcomeStudentExportDTO.setStudentName(data.getStuName()); + welcomeStudentExportDTO.setIndexNo((long) i + 1); + welcomeStudentExportDTO.setStudentNumber(data.getStuNumber()); + list.add(welcomeStudentExportDTO); + } + + + StopWatch stopWatch = new StopWatch(); + stopWatch.start(); + // 根据查询条件导出未购买学生数据 + + // 导出Excel + EasyExcelUtil.exportExcelData(list, StudentNotBuyExportVO.class, "导出需要已购买学生", + ExcelTypeEnum.XLS, response); + stopWatch.stop(); + log.info("导出已购买学生数据总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); } @Override @@ -305,8 +256,8 @@ public class EduProductNoticeStudentServiceImpl extends ServiceImpl notBuyStudentIds.add(student.getId()); } - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.INDEX_PARENT, null, - schoolId); + EduApp app = commonService.getAppByCodeAndSchool(AppConstant.PRODUCT_PARENT, null, + schoolId); String accessToken = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); //家长wxId diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/service/impl/EduProductOrderServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/service/impl/EduProductOrderServiceImpl.java index 5a13770..5cd34b4 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/service/impl/EduProductOrderServiceImpl.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/service/impl/EduProductOrderServiceImpl.java @@ -36,6 +36,7 @@ import com.yida.data.school.transaction.mapper.EduApplyProductOrderStudentMapper import com.yida.data.school.transaction.mapper.EduApplyProductRefundMapper; import com.yida.data.school.transaction.mapper.EduProductMapper; import com.yida.data.school.transaction.service.EduProductOrderService; +import com.yida.data.school.transaction.service.EduStudentApplyService; import com.yida.data.school.transaction.util.GuuidUtil; import com.yida.data.school.vo.transcation.EduProductOrderVO; import com.yida.data.school.vo.transcation.PayInfoVO; @@ -70,6 +71,8 @@ public class EduProductOrderServiceImpl extends ServiceImpl()); @Resource + private EduStudentApplyService eduStudentApplyService; + @Resource private EduProductMapper eduProductMapper; @Resource private EduApplyProductOrderStudentMapper eduApplyProductOrderStudentMapper; @@ -139,8 +142,7 @@ public class EduProductOrderServiceImpl extends ServiceImpl { EduApplyProductOrder order = baseMapper.getOrderByCode(orderCode); //EduProduct product = eduProductMapper.selectById(order.getProductId()); - if (order != null && order.getPraccticalMoney() > 0D && PayWay.WEI_XIN.getValue().equals(order.getPayWay()) && "0,1" + if (order != null && order.getPraccticalMoney() > 0D && PayWay.WEIXIN.getValue().equals(order.getPayWay()) && "0,1" .contains(order.getOrderStatus())) { boolean flag = false; EduPayWxConfig config = commonService.getPayWxConfigBySchool(order.getSchoolId()); @@ -497,23 +498,21 @@ public class EduProductOrderServiceImpl extends ServiceImpl realProductList = product.getRealProductList(); // 学生-应用关联关系 -// List studentApplyList = new ArrayList<>(); + List studentApplyList = new ArrayList<>(); for (EduApplyProductOrderStudent orderStudent : studentList) { // 删除学生订单缓存 - redisService.del( - CachePrefixConstant.STUDENT_ORDER + orderStudent.getStudentId().toString() + "." + product.getProductId() - .toString()); -// // 购买了应用 -// if (CollUtil.isNotEmpty(applyList)) { -// for (EduProductApply apply : applyList) { -// EduStudentApply studentApply = new EduStudentApply(); -// studentApply.setStudentId(orderStudent.getStudentId()); -// studentApply.setApplyCode(apply.getApplyCode()); -// studentApply.setStartTime(apply.getBeginValidDate().atTime(0, 0, 0)); -// studentApply.setEndTime(apply.getEndValidDate().atTime(23, 59, 59)); -// studentApplyList.add(studentApply); -// } -// } + redisService.del(CachePrefixConstant.STUDENT_ORDER + orderStudent.getStudentId().toString() + "." + product.getProductId().toString()); + // 购买了应用 + if (CollUtil.isNotEmpty(applyList)) { + for (EduProductApply apply : applyList) { + EduStudentApply studentApply = new EduStudentApply(); + studentApply.setStudentId(orderStudent.getStudentId()); + studentApply.setApplyCode(apply.getApplyCode()); + studentApply.setStartTime(apply.getBeginValidDate().atTime(0, 0, 0)); + studentApply.setEndTime(apply.getEndValidDate().atTime(23, 59, 59)); + studentApplyList.add(studentApply); + } + } // 购买了商品 if (CollUtil.isNotEmpty(realProductList)) { for (EduRealProduct realProduct : realProductList) { @@ -525,10 +524,10 @@ public class EduProductOrderServiceImpl extends ServiceImpl orderStudentList = - eduApplyProductOrderStudentMapper.selectList( - Wrappers.lambdaQuery(new EduApplyProductOrderStudent()) - .eq(EduApplyProductOrderStudent::getOrderId, order.getOrderId())); + eduApplyProductOrderStudentMapper.selectList( + Wrappers.lambdaQuery(new EduApplyProductOrderStudent()) + .eq(EduApplyProductOrderStudent::getOrderId, order.getOrderId())); if (CollUtil.isNotEmpty(orderStudentList)) { orderStudentList.forEach(student -> { // 删除学生订单缓存 - redisService.del( - CachePrefixConstant.STUDENT_ORDER + student.getStudentId().toString() + "." + order - .getProductId().toString()); + redisService.del(CachePrefixConstant.STUDENT_ORDER + student.getStudentId().toString() + "." + order.getProductId().toString()); }); } } diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/service/impl/Scheduler.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/service/impl/Scheduler.java index c724d89..4f6aa0b 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/service/impl/Scheduler.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/transaction/service/impl/Scheduler.java @@ -49,7 +49,7 @@ public class Scheduler { List expireOrder = eduApplyProductOrderMapper.selectExpireOrder(LocalDateTime.now()); if (CollUtil.isNotEmpty(expireOrder)) { for (EduApplyProductOrder order : expireOrder) { - if (PayWay.WEI_XIN.getValue().equals(order.getPayWay())) { + if (PayWay.WEIXIN.getValue().equals(order.getPayWay())) { EduPayWxConfig config = commonService.getPayWxConfigBySchool(order.getSchoolId()); // 主动查询是否已经支付了 try { diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestProcessConfigApplicableDepartmentsController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestProcessConfigApplicableDepartmentsController.java deleted file mode 100644 index c060277..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestProcessConfigApplicableDepartmentsController.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.school.userLeave.controller; - -import com.yida.data.school.userLeave.service.EduLeaveRequestProcessConfigApplicableDepartmentsService; -import lombok.extern.slf4j.Slf4j; -import lombok.RequiredArgsConstructor; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - - -/** - * Controller - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -@Slf4j -@Validated -@RestController -@RequestMapping("eduLeaveRequestProcessConfigApplicableDepartments") -@RequiredArgsConstructor -public class EduLeaveRequestProcessConfigApplicableDepartmentsController { - - private final EduLeaveRequestProcessConfigApplicableDepartmentsService eduLeaveRequestProcessConfigApplicableDepartmentsService; - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestProcessConfigApprovalUserController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestProcessConfigApprovalUserController.java deleted file mode 100644 index 08e954b..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestProcessConfigApprovalUserController.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.school.userLeave.controller; - -import com.yida.data.school.userLeave.service.EduLeaveRequestProcessConfigApprovalUserService; -import lombok.extern.slf4j.Slf4j; -import lombok.RequiredArgsConstructor; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - - -/** -* Controller -* -* @author wjm -* @date 2022-12-01 10:45:56 -*/ -@Slf4j -@Validated -@RestController -@RequestMapping("eduLeaveRequestProcessConfigApprovalUser") -@RequiredArgsConstructor -public class EduLeaveRequestProcessConfigApprovalUserController { - -private final EduLeaveRequestProcessConfigApprovalUserService eduLeaveRequestProcessConfigApprovalUserService; - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestProcessConfigController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestProcessConfigController.java deleted file mode 100644 index 3b83793..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestProcessConfigController.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.yida.data.school.userLeave.controller; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.vdurmont.emoji.EmojiManager; -import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.leave.EduLeaveRequest; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfig; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestUser; -import com.yida.data.school.dto.userLeave.EduLeaveRequestProcessConfigDTO; -import com.yida.data.school.userLeave.service.EduLeaveRequestProcessConfigService; -import com.yida.data.school.vo.userLeave.EduLeaveRequestProcessConfigVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import java.util.List; -import lombok.extern.slf4j.Slf4j; -import lombok.RequiredArgsConstructor; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -/** - * Controller - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -@Slf4j -@Validated -@RestController -@RequestMapping("eduLeaveRequestProcessConfig") -@RequiredArgsConstructor -@Api(tags = "请假管理") -public class EduLeaveRequestProcessConfigController { - - private final EduLeaveRequestProcessConfigService eduLeaveRequestProcessConfigService; - - - @ApiOperation("查询策略列表") - @GetMapping("findPageList") - public ResultBean> findPageList( - @RequestParam(required = false) @ApiParam("策略名称") String processName, - @RequestParam(required = true) @ApiParam("所属学校ID") Long schoolId, - @RequestParam(defaultValue = "1") Long pageNum, - @RequestParam(defaultValue = "10") Long pageSize) { - Page page = new Page<>(); - page.setSize(pageSize); - page.setCurrent(pageNum); - return ResultBean.buildSuccess(eduLeaveRequestProcessConfigService.findPageList(page, processName, schoolId)); - } - - @ApiOperation("新增/编辑请假策略") - @PostMapping("add") - public ResultBean add(@RequestBody EduLeaveRequestProcessConfigDTO dto) { - eduLeaveRequestProcessConfigService.add(dto); - return ResultBean.buildSuccess(); - } - - @ApiOperation("批量删除请假策略") - @PostMapping("/delBatch") - public ResultBean deleteBatch(@RequestBody List ids) { - eduLeaveRequestProcessConfigService.deleteBatch(ids); - return ResultBean.buildSuccess(); - } - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestProcessRecordController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestProcessRecordController.java deleted file mode 100644 index ea3f867..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestProcessRecordController.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.yida.data.school.userLeave.controller; - -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestUser; -import com.yida.data.school.userLeave.service.EduLeaveRequestProcessRecordService; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import java.util.Collections; -import lombok.extern.slf4j.Slf4j; -import lombok.RequiredArgsConstructor; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -/** - * Controller - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -@Slf4j -@Validated -@RestController -@RequestMapping("eduLeaveRequestProcessRecord") -@RequiredArgsConstructor -public class EduLeaveRequestProcessRecordController { - - private final EduLeaveRequestProcessRecordService eduLeaveRequestProcessRecordService; -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestUserController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestUserController.java deleted file mode 100644 index d426308..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/EduLeaveRequestUserController.java +++ /dev/null @@ -1,170 +0,0 @@ -package com.yida.data.school.userLeave.controller; - -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.vdurmont.emoji.EmojiManager; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestUser; -import com.yida.data.school.dto.userLeave.AuditRequestDTO; -import com.yida.data.school.dto.userLeave.LeaveRequestPageDTO; -import com.yida.data.school.userLeave.service.EduLeaveRequestUserService; -import com.yida.data.school.vo.userLeave.EduLeaveRequestStatisticsVO; -import com.yida.data.school.vo.userLeave.EduLeaveRequestUserVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import lombok.extern.slf4j.Slf4j; -import lombok.RequiredArgsConstructor; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - - -/** - * Controller - * - * @author wjm - * @date 2022-12-01 10:51:19 - */ -@Slf4j -@Validated -@RestController -@RequestMapping("eduLeaveRequestUser") -@RequiredArgsConstructor -@Api(tags = "请假管理") -public class EduLeaveRequestUserController { - - private final EduLeaveRequestUserService eduLeaveRequestUserService; - - @ApiOperation("查询请假统计信息") - @PostMapping("selectLeaveRequestStatistics") - public ResultBean selectLeaveRequestStatistics() { - EduLeaveRequestStatisticsVO vo = eduLeaveRequestUserService.selectLeaveRequestStatistics(); - return ResultBean.buildSuccess(vo); - } - - @ApiOperation("查询请假记录列表") - @PostMapping("findPageList") - public ResultBean> findPageList(@RequestBody LeaveRequestPageDTO dto) { - List statusList = new ArrayList<>(); - if (dto.getStatus() == 4) { - statusList.add(1); - statusList.add(2); - } else { - statusList.add(dto.getStatus()); - } - dto.setStatusList(statusList); - return ResultBean - .buildSuccess( - eduLeaveRequestUserService.findPageList(dto)); - } - - @ApiOperation("新增请假") - @PostMapping("add") - public ResultBean addLeave(@RequestBody EduLeaveRequestUser leaveRequestUser) { - //判断是否包含表情 - if (EmojiManager.containsEmoji(leaveRequestUser.getRequestReason())) { - return ResultBean.buildError("请假理由中不能包含表情,请重新输入请假理由"); - } - eduLeaveRequestUserService.addLeaveRequest(leaveRequestUser); - return ResultBean.buildSuccess(); - } - - @ApiOperation("请假审核") - @PostMapping("audit") - public ResultBean auditRequest(@RequestBody AuditRequestDTO dto) { - eduLeaveRequestUserService.auditRequest(dto); - return ResultBean.buildSuccess(); - } - - - @ApiOperation("获取单条请假详情") - @GetMapping("get") - public ResultBean getRequest(@RequestParam(required = true) @ApiParam("请假主体ID") Long requestId) { - return ResultBean.buildSuccess(eduLeaveRequestUserService.getRequest(requestId)); - } - - - @ApiOperation("我申请的请假条") - @GetMapping("findUserLeaveList") - public ResultBean> findUserLeaveList( - @RequestParam(required = true) @ApiParam("学生id") Long studentId, - @RequestParam(required = true) @ApiParam("请假类型:0教师请假,1学生请假") Integer requestType, - @RequestParam(required = true) @ApiParam("所属学校ID") Long schoolId, - @RequestParam(required = false) @ApiParam("0为未审核,空为全部,1为已通过,2为未通过,3审核中,4已失效,5全部") Integer status, - @RequestParam(defaultValue = "1") Integer pageNum, - @RequestParam(defaultValue = "10") Integer pageSize) { - - LeaveRequestPageDTO dto = new LeaveRequestPageDTO(); - dto.setStudentIdList(Collections.singletonList(studentId)); - dto.setRequestType(requestType); - dto.setSchoolId(schoolId); - dto.setPageNum(pageNum); - dto.setPageSize(pageSize); - - if (ObjectUtil.isNotNull(status)) { - dto.setStatusList(Collections.singletonList(status)); - } - - return ResultBean.buildSuccess(eduLeaveRequestUserService.findPageList(dto)); - } - - - @ApiOperation("我审批的请假条") - @GetMapping("findApprovalUserLeaveList") - public ResultBean> findApprovalUserLeaveList( - @RequestParam(required = true) @ApiParam("教师ID") Long userId, - @RequestParam(required = false) @ApiParam("请假类型:0教师请假,1学生请假") Integer requestType, - @RequestParam(required = false) @ApiParam("状态,0未处理,1已处理") Integer currentUserStatus, - @RequestParam(required = true) @ApiParam("所属学校ID") Long schoolId, - @RequestParam(required = false) @ApiParam("0未审核,1已通过,2未通过,3审核中,4已失效, 5全部") Integer status, - @RequestParam(defaultValue = "1") Long pageNum, - @RequestParam(defaultValue = "10") Long pageSize) { - Page page = new Page<>(); - page.setSize(pageSize); - page.setCurrent(pageNum); - -// List statusList = new ArrayList<>(); -// if (ObjectUtil.isNotNull(status)) { -// if (status == 5) { -// statusList.add(0); -// statusList.add(1); -// statusList.add(2); -// statusList.add(3); -// statusList.add(4); -// } else { -// statusList = Collections.singletonList(status); -// } -// } else { -// if(ObjectUtil.isNotNull(currentUserStatus)){ -// if (currentUserStatus == 0) { -// //待处理 -// statusList.add(0); -// statusList.add(3); -// } else if (currentUserStatus == 1) { -// statusList = null; -// } -// }else { -// statusList = null; -// } -// } - - return ResultBean - .buildSuccess( - eduLeaveRequestUserService - .findApprovalUserLeaveList(page, userId, requestType, schoolId, null, currentUserStatus)); - } - - @ApiOperation("测试模板消息") - @GetMapping("testTamplateCardNotice") - public ResultBean testTamplateCardNotice(String wxId, Long schoolId) { - eduLeaveRequestUserService.testTamplateCardNotice(wxId, schoolId); - return ResultBean.buildSuccess(); - } - - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/in/InEduLeaveRequestUserController.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/in/InEduLeaveRequestUserController.java deleted file mode 100644 index 7158759..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/controller/in/InEduLeaveRequestUserController.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.yida.data.school.userLeave.controller.in; - -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.vdurmont.emoji.EmojiManager; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestUser; -import com.yida.data.school.dto.userLeave.AuditRequestDTO; -import com.yida.data.school.dto.userLeave.ListUserRequestDTO; -import com.yida.data.school.userLeave.service.EduLeaveRequestUserService; -import com.yida.data.school.vo.userLeave.EduLeaveRequestUserVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - - -/** - * Controller - * - * @author wjm - * @date 2022-12-01 10:51:19 - */ -@Slf4j -@Validated -@RestController -@RequestMapping("in/eduLeaveRequestUser") -@RequiredArgsConstructor -@Api(tags = "请假管理") -public class InEduLeaveRequestUserController { - - private final EduLeaveRequestUserService eduLeaveRequestUserService; - - @ApiOperation("查询用户是否请假") - @PostMapping("findList") - public ResultBean> findUserRequestList(@RequestBody ListUserRequestDTO dto) { - return ResultBean - .buildSuccess( - eduLeaveRequestUserService.findUserRequestList(dto)); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessConfigApplicableDepartmentsMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessConfigApplicableDepartmentsMapper.java deleted file mode 100644 index 568ea6e..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessConfigApplicableDepartmentsMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.school.userLeave.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigApplicableDepartments; - -/** - * Mapper - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -public interface EduLeaveRequestProcessConfigApplicableDepartmentsMapper extends - BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessConfigApprovalUserMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessConfigApprovalUserMapper.java deleted file mode 100644 index 7abc9d7..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessConfigApprovalUserMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.school.userLeave.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigApprovalUser; - -/** - * Mapper - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -public interface EduLeaveRequestProcessConfigApprovalUserMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessConfigMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessConfigMapper.java deleted file mode 100644 index db9e44b..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessConfigMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.school.userLeave.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.leave.EduLeaveRequest; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfig; -import com.yida.data.school.vo.userLeave.EduLeaveRequestProcessConfigVO; -import java.time.LocalDateTime; -import java.util.List; -import org.apache.ibatis.annotations.Param; - -/** - * Mapper - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -public interface EduLeaveRequestProcessConfigMapper extends BaseMapper { - - Page findPage(@Param("page") Page page, - @Param("processName") String processName, @Param("schoolId") Long schoolId); - - List findConfigByDeptIds(@Param("deptIds") List deptIds, @Param("type") Integer type, - @Param("requestDays") Long requestDays); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessConfigViewMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessConfigViewMapper.java deleted file mode 100644 index d0b5d8d..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessConfigViewMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.yida.data.school.userLeave.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfig; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigView; - -/** - * Mapper - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -public interface EduLeaveRequestProcessConfigViewMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessRecordMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessRecordMapper.java deleted file mode 100644 index dac3150..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestProcessRecordMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.school.userLeave.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessRecord; - -/** - * Mapper - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -public interface EduLeaveRequestProcessRecordMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestUserMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestUserMapper.java deleted file mode 100644 index c8b174e..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestUserMapper.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.yida.data.school.userLeave.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfig; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestUser; -import com.yida.data.school.dto.userLeave.LeaveRequestPageDTO; -import com.yida.data.school.dto.userLeave.ListUserRequestDTO; -import com.yida.data.school.vo.userLeave.EduLeaveRequestProcessConfigVO; -import com.yida.data.school.vo.userLeave.EduLeaveRequestUserVO; - -import java.time.LocalDateTime; -import java.util.List; - -import org.apache.ibatis.annotations.Param; - -/** - * Mapper - * - * @author wjm - * @date 2022-12-01 10:51:19 - */ -public interface EduLeaveRequestUserMapper extends BaseMapper { - -// Page findPage(@Param("page") Page page, -// @Param("requestUserName") String requestUserName, @Param("requestType") Integer requestType, -// @Param("schoolId") Long schoolId, @Param("statusList") List statusList, -// @Param("studentIdList") List studentIdList, @Param("idList") List idList); - - Page findPage(@Param("page") Page page, @Param("dto") LeaveRequestPageDTO dto); - - List findApprovalUserLeaveList( - @Param("userId") Long userId, @Param("requestType") Integer requestType, - @Param("schoolId") Long schoolId, @Param("statusList") List statusList, - @Param("currentUserStatusList") List currentUserStatusList, - @Param("createDate") LocalDateTime createDate); - - List findUserRequestList(@Param("dto") ListUserRequestDTO dto); - - /** - * 查询周统计 - * - * @param studentIdList 学生id集合 - * @return long - * @author ZYJ - * @date 2023/12/16 14:15 - */ - long selectWeekNumber(@Param("studentIdList") List studentIdList); - - /** - * 查询月统计 - * - * @param studentIdList 学生id集合 - * @return long - * @author ZYJ - * @date 2023/12/16 14:35 - */ - long selectMonthNumber(@Param("studentIdList") List studentIdList); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestUserViewMapper.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestUserViewMapper.java deleted file mode 100644 index 83b6bf8..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/mapper/EduLeaveRequestUserViewMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.yida.data.school.userLeave.mapper; - - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestUserView; - - -/** - * Mapper - * - * @author wjm - * @date 2022-12-01 10:51:19 - */ -public interface EduLeaveRequestUserViewMapper extends BaseMapper { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessConfigApplicableDepartmentsService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessConfigApplicableDepartmentsService.java deleted file mode 100644 index 4ce6a8e..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessConfigApplicableDepartmentsService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.yida.data.school.userLeave.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigApplicableDepartments; - -/** - * Service接口 - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -public interface EduLeaveRequestProcessConfigApplicableDepartmentsService extends - IService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessConfigApprovalUserService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessConfigApprovalUserService.java deleted file mode 100644 index 7e445c8..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessConfigApprovalUserService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.school.userLeave.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigApprovalUser; - -/** - * Service接口 - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -public interface EduLeaveRequestProcessConfigApprovalUserService extends IService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessConfigService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessConfigService.java deleted file mode 100644 index 7cbf876..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessConfigService.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yida.data.school.userLeave.service; - - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; - -import com.yida.data.common.core.entity.leave.EduLeaveRequest; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfig; -import com.yida.data.school.dto.userLeave.EduLeaveRequestProcessConfigDTO; -import com.yida.data.school.vo.userLeave.EduLeaveRequestProcessConfigVO; -import java.util.List; - -/** - * Service接口 - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -public interface EduLeaveRequestProcessConfigService extends IService { - - void add(EduLeaveRequestProcessConfigDTO dto); - - void deleteBatch(List idList); - - Page findPageList(Page page, String processName, Long schoolId); - - /** - * 查询匹配策略 - * - * @param deptIds - * @param type - * @param requesUserDays - * @return - */ - List findConfigByDeptIds(List deptIds, Integer type, Long requesUserDays); - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessConfigViewService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessConfigViewService.java deleted file mode 100644 index d491706..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessConfigViewService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.yida.data.school.userLeave.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfig; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigView; - -/** - * Service接口 - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -public interface EduLeaveRequestProcessConfigViewService extends IService { - - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessRecordService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessRecordService.java deleted file mode 100644 index b408429..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestProcessRecordService.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.school.userLeave.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessRecord; - -/** - * Service接口 - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -public interface EduLeaveRequestProcessRecordService extends IService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestUserService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestUserService.java deleted file mode 100644 index 13e5a77..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestUserService.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.yida.data.school.userLeave.service; - - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestUser; -import com.yida.data.school.dto.userLeave.AuditRequestDTO; -import com.yida.data.school.dto.userLeave.LeaveRequestPageDTO; -import com.yida.data.school.dto.userLeave.ListUserRequestDTO; -import com.yida.data.school.dto.userLeave.SendStaffNoticeDTO; -import com.yida.data.school.vo.userLeave.EduLeaveRequestStatisticsVO; -import com.yida.data.school.vo.userLeave.EduLeaveRequestUserVO; -import org.springframework.scheduling.annotation.Async; - -import java.util.List; - -/** - * Service接口 - * - * @author wjm - * @date 2022-12-01 10:51:19 - */ -public interface EduLeaveRequestUserService extends IService { - - /** - * 查询请假统计信息 - * - * @return com.yida.data.school.vo.userLeave.EduLeaveRequestStatisticsVO - * @author ZYJ - * @date 2023/12/16 13:33 - */ - EduLeaveRequestStatisticsVO selectLeaveRequestStatistics(); - - Page findPageList(LeaveRequestPageDTO dto); - - /** - * 我审批的请假条 - * - * @param page - * @param userId - * @param requestType - * @param schoolId - * @param statusList - * @param currentUserStatus - * @return - */ - Page findApprovalUserLeaveList(Page page, Long userId, Integer requestType, - Long schoolId, - List statusList, - Integer currentUserStatus); - - - /** - * 新增请假 - * - * @param eduLeaveRequestUser - */ - void addLeaveRequest(EduLeaveRequestUser eduLeaveRequestUser); - - /** - * 审核请假 - * - * @param dto - */ - void auditRequest(AuditRequestDTO dto); - - /** - * 获取请假详情 - * - * @param requestId - * @return - */ - EduLeaveRequestUserVO getRequest(Long requestId); - - - void testTamplateCardNotice(String wxId, Long schoolId); - - - List findUserRequestList(ListUserRequestDTO dto); -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestUserViewService.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestUserViewService.java deleted file mode 100644 index 6c26159..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/EduLeaveRequestUserViewService.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.school.userLeave.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestUserView; - -/** - * Service接口 - * - * @author wjm - * @date 2022-12-01 10:51:19 - */ -public interface EduLeaveRequestUserViewService extends IService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessConfigApplicableDepartmentsServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessConfigApplicableDepartmentsServiceImpl.java deleted file mode 100644 index 571670b..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessConfigApplicableDepartmentsServiceImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.school.userLeave.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigApplicableDepartments; -import com.yida.data.school.userLeave.mapper.EduLeaveRequestProcessConfigApplicableDepartmentsMapper; -import com.yida.data.school.userLeave.service.EduLeaveRequestProcessConfigApplicableDepartmentsService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.annotation.Propagation; -import lombok.RequiredArgsConstructor; - -/** -* Service实现 -* -* @author wjm -* @date 2022-12-01 10:45:56 -*/ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class EduLeaveRequestProcessConfigApplicableDepartmentsServiceImpl extends ServiceImpl - implements EduLeaveRequestProcessConfigApplicableDepartmentsService { - -private final EduLeaveRequestProcessConfigApplicableDepartmentsMapper eduLeaveRequestProcessConfigApplicableDepartmentsMapper; - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessConfigApprovalUserServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessConfigApprovalUserServiceImpl.java deleted file mode 100644 index c603d8d..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessConfigApprovalUserServiceImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.school.userLeave.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigApprovalUser; -import com.yida.data.school.userLeave.mapper.EduLeaveRequestProcessConfigApprovalUserMapper; -import com.yida.data.school.userLeave.service.EduLeaveRequestProcessConfigApprovalUserService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.annotation.Propagation; -import lombok.RequiredArgsConstructor; - -/** -* Service实现 -* -* @author wjm -* @date 2022-12-01 10:45:56 -*/ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class EduLeaveRequestProcessConfigApprovalUserServiceImpl extends ServiceImpl - implements EduLeaveRequestProcessConfigApprovalUserService { - -private final EduLeaveRequestProcessConfigApprovalUserMapper eduLeaveRequestProcessConfigApprovalUserMapper; - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessConfigServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessConfigServiceImpl.java deleted file mode 100644 index 1e16d7b..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessConfigServiceImpl.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.yida.data.school.userLeave.service.impl; - -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfig; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigApplicableDepartments; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigApprovalUser; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigView; -import com.yida.data.school.dto.userLeave.EduLeaveRequestProcessConfigDTO; -import com.yida.data.school.userLeave.mapper.EduLeaveRequestProcessConfigApprovalUserMapper; -import com.yida.data.school.userLeave.mapper.EduLeaveRequestProcessConfigMapper; -import com.yida.data.school.userLeave.service.EduLeaveRequestProcessConfigApplicableDepartmentsService; -import com.yida.data.school.userLeave.service.EduLeaveRequestProcessConfigApprovalUserService; -import com.yida.data.school.userLeave.service.EduLeaveRequestProcessConfigService; -import com.yida.data.school.userLeave.service.EduLeaveRequestProcessConfigViewService; -import com.yida.data.school.vo.userLeave.EduLeaveRequestProcessConfigVO; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.annotation.Propagation; -import lombok.RequiredArgsConstructor; - -/** - * Service实现 - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class EduLeaveRequestProcessConfigServiceImpl extends ServiceImpl - implements EduLeaveRequestProcessConfigService { - - private final EduLeaveRequestProcessConfigMapper eduLeaveRequestProcessConfigMapper; - - private final EduLeaveRequestProcessConfigApprovalUserService eduLeaveRequestProcessConfigApprovalUserService; - - private final EduLeaveRequestProcessConfigApplicableDepartmentsService eduLeaveRequestProcessConfigApplicableDepartmentsService; - - private final EduLeaveRequestProcessConfigViewService eduLeaveRequestProcessConfigViewService; - - - @Override - public void add(EduLeaveRequestProcessConfigDTO dto) { - if (ObjectUtil.isNotNull(dto.getId())) { - deleteBatch(Collections.singletonList(dto.getId())); - dto.setId(null); - } - EduLeaveRequestProcessConfig config = new EduLeaveRequestProcessConfig(); - BeanUtils.copyProperties(dto, config); - - //保存流程主体 - eduLeaveRequestProcessConfigMapper.insert(config); - - //保存流程步骤 - List eduLeaveRequestProcessConfigApprovalUserList = new ArrayList<>(); - - int index = 0; - dto.getEduLeaveRequestProcessConfigViewList().forEach(eduLeaveRequestProcessConfigView -> { - eduLeaveRequestProcessConfigView.setProcessId(config.getId()); - //保存流程步骤 - eduLeaveRequestProcessConfigViewService.save(eduLeaveRequestProcessConfigView); - - eduLeaveRequestProcessConfigView.getEduLeaveRequestProcessConfigApprovalUserList().forEach(user -> { - user.setProcessId(config.getId()); - user.setViewId(eduLeaveRequestProcessConfigView.getId()); - eduLeaveRequestProcessConfigApprovalUserList.add(user); - }); - }); - eduLeaveRequestProcessConfigApprovalUserService.saveBatch(eduLeaveRequestProcessConfigApprovalUserList); - - //保存适用人员部门 - List eduLeaveRequestProcessConfigApplicableDepartmentsList = new ArrayList<>(); - dto.getApplicableDepartmentsList().forEach(eduLeaveRequestProcessConfigApplicableDepartments -> { - eduLeaveRequestProcessConfigApplicableDepartments.setProcessId(config.getId()); - eduLeaveRequestProcessConfigApplicableDepartmentsList.add(eduLeaveRequestProcessConfigApplicableDepartments); - }); - eduLeaveRequestProcessConfigApplicableDepartmentsService - .saveBatch(eduLeaveRequestProcessConfigApplicableDepartmentsList); - - } - - @Override - public void deleteBatch(List idList) { - idList.forEach(id -> { - eduLeaveRequestProcessConfigApprovalUserService.remove( - Wrappers.lambdaQuery(new EduLeaveRequestProcessConfigApprovalUser()) - .eq(EduLeaveRequestProcessConfigApprovalUser::getProcessId, id)); - eduLeaveRequestProcessConfigApplicableDepartmentsService - .remove(Wrappers.lambdaQuery(new EduLeaveRequestProcessConfigApplicableDepartments()) - .eq(EduLeaveRequestProcessConfigApplicableDepartments::getProcessId, id)); - eduLeaveRequestProcessConfigViewService.remove(Wrappers.lambdaQuery(new EduLeaveRequestProcessConfigView()) - .eq(EduLeaveRequestProcessConfigView::getProcessId, id)); - - this.remove(Wrappers.lambdaQuery(new EduLeaveRequestProcessConfig()) - .eq(EduLeaveRequestProcessConfig::getId, id)); - }); - } - - @Override - public Page findPageList(Page page, String processName, - Long schoolId) { - Page returnPage = eduLeaveRequestProcessConfigMapper - .findPage(page, processName, schoolId); - returnPage.getRecords().forEach(eduLeaveRequestProcessConfigVO -> { - List eduLeaveRequestProcessConfigViewList = eduLeaveRequestProcessConfigViewService - .list(Wrappers.lambdaQuery(new EduLeaveRequestProcessConfigView()) - .eq(EduLeaveRequestProcessConfigView::getProcessId, eduLeaveRequestProcessConfigVO.getId())); - eduLeaveRequestProcessConfigViewList.forEach(eduLeaveRequestProcessConfigView -> { - List approvalUserList = eduLeaveRequestProcessConfigApprovalUserService - .list(Wrappers.lambdaQuery(new EduLeaveRequestProcessConfigApprovalUser()) - .eq(EduLeaveRequestProcessConfigApprovalUser::getViewId, eduLeaveRequestProcessConfigView.getId())); - eduLeaveRequestProcessConfigView.setEduLeaveRequestProcessConfigApprovalUserList(approvalUserList); - }); - - List applicableDepartmentsList = eduLeaveRequestProcessConfigApplicableDepartmentsService - .list(Wrappers.lambdaQuery(new EduLeaveRequestProcessConfigApplicableDepartments()) - .eq(EduLeaveRequestProcessConfigApplicableDepartments::getProcessId, eduLeaveRequestProcessConfigVO.getId())); - - eduLeaveRequestProcessConfigVO.setEduLeaveRequestProcessConfigViewList(eduLeaveRequestProcessConfigViewList); - eduLeaveRequestProcessConfigVO.setApplicableDepartmentsList(applicableDepartmentsList); - }); - return returnPage; - } - - @Override - public List findConfigByDeptIds(List deptIds, Integer type, Long requestDays) { - return baseMapper.findConfigByDeptIds(deptIds, type, requestDays); - } - - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessConfigViewServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessConfigViewServiceImpl.java deleted file mode 100644 index d5d0384..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessConfigViewServiceImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.school.userLeave.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigView; -import com.yida.data.school.userLeave.mapper.EduLeaveRequestProcessConfigViewMapper; -import com.yida.data.school.userLeave.service.EduLeaveRequestProcessConfigViewService; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** - * Service实现 - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class EduLeaveRequestProcessConfigViewServiceImpl extends ServiceImpl - implements - EduLeaveRequestProcessConfigViewService { - - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessRecordServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessRecordServiceImpl.java deleted file mode 100644 index 31e858c..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestProcessRecordServiceImpl.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.yida.data.school.userLeave.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessRecord; -import com.yida.data.school.userLeave.mapper.EduLeaveRequestProcessRecordMapper; -import com.yida.data.school.userLeave.service.EduLeaveRequestProcessRecordService; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.annotation.Propagation; -import lombok.RequiredArgsConstructor; - -import java.util.List; - -/** -* Service实现 -* -* @author wjm -* @date 2022-12-01 10:45:56 -*/ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class EduLeaveRequestProcessRecordServiceImpl extends ServiceImpl - implements EduLeaveRequestProcessRecordService { - -private final EduLeaveRequestProcessRecordMapper eduLeaveRequestProcessRecordMapper; - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestUserServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestUserServiceImpl.java deleted file mode 100644 index bba67c3..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestUserServiceImpl.java +++ /dev/null @@ -1,1381 +0,0 @@ -package com.yida.data.school.userLeave.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.date.LocalDateTimeUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.dto.AddLeaveRequestStrategyDTO; -import com.yida.data.attendance.feign.RemoteAttendanceStrategyService; -import com.yida.data.common.core.entity.constant.AppConstant; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.constant.NoticeTypeConstant; -import com.yida.data.common.core.entity.notice.qywx.TemplateCardStaffNotice; -import com.yida.data.common.core.entity.notice.qywx.TextSchoolNotice; -import com.yida.data.common.core.entity.notice.qywx.inside.TemplateCardNotice; -import com.yida.data.common.core.entity.notice.qywx.inside.Text; -import com.yida.data.common.core.entity.notice.qywx.inside.templateCard.CardAction; -import com.yida.data.common.core.entity.notice.qywx.inside.templateCard.HorizontalContent; -import com.yida.data.common.core.entity.notice.qywx.inside.templateCard.Jump; -import com.yida.data.common.core.entity.notice.qywx.inside.templateCard.MainTitle; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.EduApp; -import com.yida.data.common.core.entity.system.enums.RoleEnum; -import com.yida.data.common.core.entity.system.enums.SchoolNatureEnum; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStaffDept; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.entity.user.EduUserDept; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfig; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigApprovalUser; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfigView; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessRecord; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestUser; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestUserView; -import com.yida.data.common.core.enums.RoleName; -import com.yida.data.common.core.enums.UserTypeEnum; -import com.yida.data.common.core.enums.leave.ApprovalResultEnum; -import com.yida.data.common.core.enums.leave.AuditModeEnum; -import com.yida.data.common.core.enums.leave.LeaveRequestTypeEnum; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.common.core.utils.ThreadPoolUtil; -import com.yida.data.common.core.utils.WxUtil; -import com.yida.data.common.service.CommonService; -import com.yida.data.school.dto.userLeave.AuditRequestDTO; -import com.yida.data.school.dto.userLeave.LeaveRequestPageDTO; -import com.yida.data.school.dto.userLeave.ListUserRequestDTO; -import com.yida.data.school.dto.userLeave.SendStaffNoticeDTO; -import com.yida.data.school.userLeave.mapper.EduLeaveRequestUserMapper; -import com.yida.data.school.userLeave.service.EduLeaveRequestProcessConfigApprovalUserService; -import com.yida.data.school.userLeave.service.EduLeaveRequestProcessConfigService; -import com.yida.data.school.userLeave.service.EduLeaveRequestProcessConfigViewService; -import com.yida.data.school.userLeave.service.EduLeaveRequestProcessRecordService; -import com.yida.data.school.userLeave.service.EduLeaveRequestUserService; -import com.yida.data.school.userLeave.service.EduLeaveRequestUserViewService; -import com.yida.data.school.vo.userLeave.EduLeaveRequestStatisticsVO; -import com.yida.data.school.vo.userLeave.EduLeaveRequestUserVO; -import com.yida.data.system.feign.RemoteDeptService; -import com.yida.data.user.dto.ListStaffDTO; -import com.yida.data.user.dto.ListStudentDTO; -import com.yida.data.user.feign.RemoteStaffService; -import com.yida.data.user.feign.RemoteStudentService; -import com.yida.data.user.feign.RemoteTeacherService; -import com.yida.data.user.feign.RemoteUserDeptService; - -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Objects; -import java.util.concurrent.ExecutorService; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.ApplicationContext; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * Service实现 - * - * @author wjm - * @date 2022-12-01 10:51:19 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduLeaveRequestUserServiceImpl extends ServiceImpl - implements EduLeaveRequestUserService { - - private final EduLeaveRequestProcessConfigService eduLeaveRequestProcessConfigService; - private final EduLeaveRequestProcessConfigApprovalUserService eduLeaveRequestProcessConfigApprovalUserService; - private final EduLeaveRequestProcessRecordService eduLeaveRequestProcessRecordService; - private final EduLeaveRequestProcessConfigViewService eduLeaveRequestProcessConfigViewService; - private final EduLeaveRequestUserViewService eduLeaveRequestUserViewService; - - private final RemoteStudentService remoteStudentService; - private final RemoteStaffService remoteStaffService; - private final RemoteDeptService remoteDeptService; - private final RemoteUserDeptService remoteUserDeptService; - private final RemoteTeacherService remoteTeacherService; - private final RemoteAttendanceStrategyService remoteAttendanceStrategyService; - - private final WxUtil wxUtil; - private final RedisService redisService; - private final CommonService commonService; - - @Value("${febs.teacherLeaveRequestUrl}") - private String teacherLeaveRequestUrl; - - @Value("${febs.studentLeaveRequestUrl}") - private String studentLeaveRequestUrl; - - @Autowired - ApplicationContext applicationContext; - - private static final ExecutorService ADD_LEAVE_REQUEST_POOL = - ThreadPoolUtil.getThreadPool("add-leave-request-pool-%d"); - - @Override - public EduLeaveRequestStatisticsVO selectLeaveRequestStatistics() { - // 学生id - List studentIdList; - // 查询权限对应的班级的学生 - String rolePerms = FebsUtil.getCurrentUser().getRolePerms(); - // 查询学生条件 - ListStudentDTO param = new ListStudentDTO(); - param.setOnlyId(true); - param.setIsQueryParent(false); - param.setIsQuerySchoolName(false); - param.setIsQueryUserDept(false); - // 非学校管理员 - if (!rolePerms.contains(RoleEnum.ROLE_SCHOOL_PRINCIPAL.getValue())) { - List classIdList = remoteStaffService.listClassIdByStaffId().getData(); - param.setClassIds(classIdList); - } else { - param.setSchoolId(FebsUtil.getDeptId()); - } - studentIdList = remoteStudentService.listStudent(param).getData().stream().map(EduStudent::getId) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(studentIdList)) { - studentIdList = new ArrayList<>(); - studentIdList.add(-1L); - } - // 周统计 - long weekNumber = baseMapper.selectWeekNumber(studentIdList); - // 月统计 - long monthNumber = baseMapper.selectMonthNumber(studentIdList); - return EduLeaveRequestStatisticsVO.builder() - .weekNumber(weekNumber) - .monthNumber(monthNumber) - .build(); - } - - @Override - public Page findPageList(LeaveRequestPageDTO dto) { -// dto.setSelectStudentId(0); -// //查询权限 -// if (CollUtil.isEmpty(dto.getStudentIdList()) && ObjectUtil -// .equals(UserTypeEnum.PARENT_USER_TYPE.getType(), dto.getRequestType())) { -// // 查询学生条件 -// ListStudentDTO param = new ListStudentDTO(); -// param.setOnlyId(true); -// param.setIsQueryParent(false); -// param.setIsQuerySchoolName(false); -// param.setIsQueryUserDept(false); -// // 查询权限对应的班级的学生 -// String rolePerms = FebsUtil.getCurrentUser().getRolePerms(); -// if (Objects.nonNull(dto.getCampusId())) { -// param.setCampusId(dto.getCampusId()); -// param.setSectionId(dto.getSectionId()); -// param.setGradeId(dto.getGradeId()); -// param.setClassId(dto.getClassId()); -// List studentIdList = remoteStudentService.listStudent(param).getData().stream().map(EduStudent::getId) -// .collect(Collectors.toList()); -// dto.setStudentIdList(studentIdList); -// dto.setSelectStudentId(1); -// } else { -// // 非学校管理员 -// if (!rolePerms.contains(RoleEnum.ROLE_SCHOOL_PRINCIPAL.getValue())) { -// List classIdList = remoteStaffService.listClassIdByStaffId().getData(); -// param.setClassIds(classIdList); -// List studentIdList = remoteStudentService.listStudent(param).getData().stream().map(EduStudent::getId) -// .collect(Collectors.toList()); -// dto.setStudentIdList(studentIdList); -// dto.setSelectStudentId(1); -// } -// } -// } -// if (CollUtil.isEmpty(dto.getStudentIdList())) { -// dto.setStudentIdList(Collections.singletonList(-1L)); -// } - //查询权限 - if (CollUtil.isEmpty(dto.getStudentIdList()) && ObjectUtil - .equals(UserTypeEnum.PARENT_USER_TYPE.getType(), dto.getRequestType())) { - //查询权限对应的班级的学生 - String rolePerms = FebsUtil.getCurrentUser().getRolePerms(); - //非学校管理员 - if (!rolePerms.contains(RoleEnum.ROLE_SCHOOL_PRINCIPAL.getValue())) { - List classIdList = remoteStaffService.listClassIdByStaffId().getData(); - ListStudentDTO param = new ListStudentDTO(); - param.setClassIds(classIdList); - param.setIsQueryParent(false); - param.setIsQuerySchoolName(false); - param.setIsQueryUserDept(false); - List studentIdList = remoteStudentService.listStudent(param).getData().stream().map(EduStudent::getId) - .collect(Collectors.toList()); - dto.setStudentIdList(studentIdList); - } - } - // 查询请假列表 - Page eduLeaveRequestUserPage = baseMapper.findPage(dto.toPage(), dto); - List records = eduLeaveRequestUserPage.getRecords(); - for (EduLeaveRequestUser eduLeaveRequestUser : records) { - if (eduLeaveRequestUser.getRequestType() == 1) { - //学生 - EduStudent student = (EduStudent) redisService - .hget(CachePrefixConstant.STUDENT_DATA, eduLeaveRequestUser.getUserId().toString()); - if (student == null) { - student = remoteStudentService.getStudentNoPermission(eduLeaveRequestUser.getUserId()).getData(); - if (student == null) { - log.error("学生不存在,无法处理请假数据,id:[{}]", eduLeaveRequestUser.getUserId().toString()); - continue; - } else { - redisService - .hset(CachePrefixConstant.STUDENT_DATA, eduLeaveRequestUser.getUserId().toString(), - student); - } - } - - EduUserDept userGreadeDept = (EduUserDept) redisService - .hget(CachePrefixConstant.USER_DEPT_DATA, student.getGradeId().toString()); - EduUserDept userClassDept = (EduUserDept) redisService - .hget(CachePrefixConstant.USER_DEPT_DATA, student.getClassId().toString()); - if (ObjectUtil.isNull(userGreadeDept)) { - userGreadeDept = remoteUserDeptService.getByDeptId(student.getGradeId()).getData(); - if (ObjectUtil.isNotNull(userGreadeDept)) { - redisService.hset(CachePrefixConstant.USER_DEPT_DATA, student.getGradeId().toString(), userGreadeDept); - } - } - - if (ObjectUtil.isNull(userClassDept)) { - userClassDept = remoteUserDeptService.getByDeptId(student.getClassId()).getData(); - if (ObjectUtil.isNotNull(userClassDept)) { - redisService.hset(CachePrefixConstant.USER_DEPT_DATA, student.getClassId().toString(), userClassDept); - } - } - - eduLeaveRequestUser - .setUserDeptName((ObjectUtil.isNull(userGreadeDept) ? "" - : userGreadeDept.getDeptName()) + (ObjectUtil.isNull(userClassDept) ? "" - : userClassDept.getDeptName())); //TODO 判断dept - eduLeaveRequestUser.setUserPicUrl(student.getAvatar()); - } else { - //教师 - //TODO 缓存获取职工信息 - List eduStaffDeptList = remoteStaffService - .getStaffDeptByStaffIds(Collections.singletonList(eduLeaveRequestUser.getUserId())).getData(); - log.info("职工信息:【{}】", eduStaffDeptList); - List deptNameList = eduStaffDeptList.stream().map(EduStaffDept::getDeptName).collect(Collectors.toList()); - eduLeaveRequestUser.setUserDeptName(StrUtil.join(",", deptNameList)); - eduLeaveRequestUser.setUserPicUrl(eduStaffDeptList.get(0).getAvatar()); - } - - //查询下一步审核人信息 - //查询已审核的sort - EduLeaveRequestProcessRecord arr = eduLeaveRequestProcessRecordService - .getOne(Wrappers.lambdaQuery(new EduLeaveRequestProcessRecord()) - .eq(EduLeaveRequestProcessRecord::getRequestId, eduLeaveRequestUser.getId()) - .eq(EduLeaveRequestProcessRecord::getApprovalResult, 1) - .orderByAsc(EduLeaveRequestProcessRecord::getSort).last("limit 1")); - - List eduLeaveRequestProcessRecordList = eduLeaveRequestProcessRecordService - .list(Wrappers.lambdaQuery(new EduLeaveRequestProcessRecord()) - .eq(EduLeaveRequestProcessRecord::getRequestId, eduLeaveRequestUser.getId()) - .eq(EduLeaveRequestProcessRecord::getApprovalResult, 0) - .eq(EduLeaveRequestProcessRecord::getSort, ObjectUtil.isNull(arr) ? 0 : arr.getSort() + 1) - .orderByAsc(EduLeaveRequestProcessRecord::getSort)); - - eduLeaveRequestUser.setEduLeaveRequestProcessRecordList(eduLeaveRequestProcessRecordList); - - } - return eduLeaveRequestUserPage.setRecords(records); - } - - /** - * @param page - * @param userId - * @param requestType - * @param schoolId - * @param statusList - * @param currentUserStatus 0=待处理,1=已处理 - * @return - */ - @Override - public Page findApprovalUserLeaveList(Page page, Long userId, Integer requestType, - Long schoolId, List statusList, Integer currentUserStatus) { - LocalDateTime preDateTime = LocalDate.now().minusMonths(1).atTime(23, 59, 59); - //用户参与审核的请假 - List approvalUserLeaveList = baseMapper - .findApprovalUserLeaveList(userId, requestType, schoolId, null, null, preDateTime); - - //如果请假已通过或者未通过,表示已处理了 - List dealEdList = approvalUserLeaveList.stream() - .filter(e -> ObjectUtil.equals(ApprovalResultEnum.AUDIT_PASS.getResult(), e.getStatus()) - || ObjectUtil.equals(ApprovalResultEnum.AUDIT_NO.getResult(), e.getStatus())) - .collect(Collectors.toList()); - - //待处理/正在处理的请假 - List dealIngList = approvalUserLeaveList.stream() - .filter(e -> ObjectUtil.equals(ApprovalResultEnum.AUDIT.getResult(), e.getStatus()) - || ObjectUtil.equals(ApprovalResultEnum.AUDIT_ING.getResult(), e.getStatus())) - .collect(Collectors.toList()); - - List dealIngIdList = new ArrayList<>(); - List dealEdIdList = new ArrayList<>(); - dealEdIdList.addAll(dealEdList.stream().map(EduLeaveRequestUser::getId).collect(Collectors.toList())); - //待审核 - - for (EduLeaveRequestUser eduLeaveRequestUser : dealIngList) { - List viewList = eduLeaveRequestUserViewService - .list(Wrappers.lambdaQuery(new EduLeaveRequestUserView()) - .eq(EduLeaveRequestUserView::getRequestId, eduLeaveRequestUser.getId()) - .eq(EduLeaveRequestUserView::getStatus, ApprovalResultEnum.AUDIT.getResult()) - .orderByAsc(EduLeaveRequestUserView::getSort)); - if (CollUtil.isEmpty(viewList)) { - continue; - } - EduLeaveRequestUserView view = viewList.get(0); //下一级审核 - List leaveRequestProcessRecordList = eduLeaveRequestProcessRecordService - .list(Wrappers.lambdaQuery(new EduLeaveRequestProcessRecord()) - .eq(EduLeaveRequestProcessRecord::getRequestId, eduLeaveRequestUser.getId()) - .eq(EduLeaveRequestProcessRecord::getViewId, view.getId())); - if (leaveRequestProcessRecordList.stream().map(EduLeaveRequestProcessRecord::getApprovalId) - .collect(Collectors.toList()).contains(userId)) { - dealIngIdList.add(eduLeaveRequestUser.getId()); - } - - //已审核通过的请假流程 - List viewPassList = eduLeaveRequestUserViewService - .list(Wrappers.lambdaQuery(new EduLeaveRequestUserView()) - .eq(EduLeaveRequestUserView::getRequestId, eduLeaveRequestUser.getId()) - .eq(EduLeaveRequestUserView::getStatus, ApprovalResultEnum.AUDIT_PASS.getResult())); - if (CollUtil.isNotEmpty(viewPassList)) { - List viewPassRecordList = eduLeaveRequestProcessRecordService - .list(Wrappers.lambdaQuery(new EduLeaveRequestProcessRecord()) - .eq(EduLeaveRequestProcessRecord::getRequestId, eduLeaveRequestUser.getId()) - .in(EduLeaveRequestProcessRecord::getViewId, - viewPassList.stream().map(EduLeaveRequestUserView::getId).collect( - Collectors.toList()))); - if (viewPassRecordList.stream().map(EduLeaveRequestProcessRecord::getApprovalId) - .collect(Collectors.toList()).contains(userId)) { - dealEdIdList.add(eduLeaveRequestUser.getId()); - } - } - } - - if (CollUtil.isEmpty(dealEdIdList)) { - dealEdIdList.add(-1L); - } - - if (CollUtil.isEmpty(dealIngIdList)) { - dealIngIdList.add(-1L); - } - - LeaveRequestPageDTO dto = new LeaveRequestPageDTO(); - dto.setPageNum((int) page.getPages()); - dto.setPageSize((int) page.getSize()); - dto.setSchoolId(schoolId); - dto.setIdList( - ObjectUtil.equals(ApprovalResultEnum.AUDIT.getResult(), currentUserStatus) ? dealIngIdList : dealEdIdList); - Page eduLeaveRequestUserPage = baseMapper.findPage(dto.toPage(), dto); - - List records = eduLeaveRequestUserPage.getRecords(); - for (EduLeaveRequestUser eduLeaveRequestUser : records) { - if (eduLeaveRequestUser.getRequestType() == 1) { - //学生 - EduStudent student = commonService.getStudentById(eduLeaveRequestUser.getUserId()); - if (ObjectUtil.isNull(student)) { - log.error("学生【{}】不存在,无法处理请假数据", eduLeaveRequestUser.getUserId().toString()); - continue; - } - EduUserDept userGreadeDept = (EduUserDept) redisService - .hget(CachePrefixConstant.USER_DEPT_DATA, student.getGradeId().toString()); - - EduUserDept userClassDept = (EduUserDept) redisService - .hget(CachePrefixConstant.USER_DEPT_DATA, student.getClassId().toString()); - - if (ObjectUtil.isNull(userGreadeDept)) { - userGreadeDept = remoteUserDeptService.getByDeptId(student.getGradeId()).getData(); - if (ObjectUtil.isNotNull(userGreadeDept)) { - redisService.hset(CachePrefixConstant.USER_DEPT_DATA, student.getGradeId().toString(), userGreadeDept); - } - } - - if (ObjectUtil.isNull(userClassDept)) { - userClassDept = remoteUserDeptService.getByDeptId(student.getClassId()).getData(); - if (ObjectUtil.isNotNull(userClassDept)) { - redisService.hset(CachePrefixConstant.USER_DEPT_DATA, student.getClassId().toString(), userClassDept); - } - } - if (ObjectUtil.isNull(userGreadeDept) && ObjectUtil.isNull(userGreadeDept)) { - eduLeaveRequestUser.setUserDeptName("未知班级"); - } else { - eduLeaveRequestUser.setUserDeptName( - (ObjectUtil.isNull(userGreadeDept) ? "" : userGreadeDept.getDeptName()) + (ObjectUtil - .isNull(userClassDept) ? "" : userClassDept.getDeptName())); - } - eduLeaveRequestUser.setUserPicUrl(student.getAvatar()); - } else { - //教师 - List eduStaffDeptList = remoteStaffService - .getStaffDeptByStaffIds(Collections.singletonList(eduLeaveRequestUser.getUserId())).getData(); - List deptNameList = eduStaffDeptList.stream().map(EduStaffDept::getDeptName).collect(Collectors.toList()); - eduLeaveRequestUser.setUserDeptName(StrUtil.join(",", deptNameList)); - eduLeaveRequestUser.setUserPicUrl(eduStaffDeptList.get(0).getAvatar()); - } - - //查询下一步审核人信息 - //查询已审核的sort -// EduLeaveRequestProcessRecord arr = eduLeaveRequestProcessRecordService -// .getOne(Wrappers.lambdaQuery(new EduLeaveRequestProcessRecord()) -// .eq(EduLeaveRequestProcessRecord::getRequestId, eduLeaveRequestUser.getId()) -// .eq(EduLeaveRequestProcessRecord::getApprovalResult, 1) -// .orderByAsc(EduLeaveRequestProcessRecord::getSort).last("limit 1")); -// -// List eduLeaveRequestProcessRecordList = eduLeaveRequestProcessRecordService -// .list(Wrappers.lambdaQuery(new EduLeaveRequestProcessRecord()) -// .eq(EduLeaveRequestProcessRecord::getRequestId, eduLeaveRequestUser.getId()) -// .eq(EduLeaveRequestProcessRecord::getApprovalResult, 0) -// .eq(EduLeaveRequestProcessRecord::getSort, ObjectUtil.isNull(arr) ? 0 : arr.getSort() + 1) -// .orderByAsc(EduLeaveRequestProcessRecord::getSort)); -// eduLeaveRequestUser.setEduLeaveRequestProcessRecordList(eduLeaveRequestProcessRecordList); - } - - return eduLeaveRequestUserPage.setRecords(records); - } - - @Override - @Transactional - public void addLeaveRequest(EduLeaveRequestUser eduLeaveRequestUser) { - SendStaffNoticeDTO sendStaffNoticeDTO = new SendStaffNoticeDTO(); - sendStaffNoticeDTO.setRequestFor(eduLeaveRequestUser.getRequestFor()); - sendStaffNoticeDTO.setRequestReason(eduLeaveRequestUser.getRequestReason()); - sendStaffNoticeDTO.setRequestStartTime(eduLeaveRequestUser.getStartTime()); - sendStaffNoticeDTO.setRequestEndTime(eduLeaveRequestUser.getEndTime()); - sendStaffNoticeDTO.setSchoolId(eduLeaveRequestUser.getSchoolId()); - sendStaffNoticeDTO.setRequestTime(LocalDateTime.now()); - sendStaffNoticeDTO.setType(eduLeaveRequestUser.getType()); - if (ObjectUtil.isNull(eduLeaveRequestUser.getId())) { - //查找适用请假策略 - List requestUserDeptIdList = new ArrayList<>(); - if (eduLeaveRequestUser.getRequestType() == 1) { //学生请假 - //1:找出学生所属部门 - EduStudent student = (EduStudent) redisService - .hget(CachePrefixConstant.STUDENT_DATA, eduLeaveRequestUser.getUserId().toString()); - if (student == null) { - student = remoteStudentService.getStudentNoPermission(eduLeaveRequestUser.getUserId()).getData(); - if (student == null) { - log.error("学生不存在,无法处理请假数据,id:[{}]", eduLeaveRequestUser.getUserId().toString()); - } else { - redisService - .hset(CachePrefixConstant.STUDENT_DATA, eduLeaveRequestUser.getUserId().toString(), - student); - } - } - requestUserDeptIdList = Stream - .of(-student.getSchoolId(), student.getCampusId(), student.getSectionId(), student.getGradeId(), - student.getClassId()).collect( - Collectors.toList()); - - sendStaffNoticeDTO.setRequestUserName(student.getStuName()); - sendStaffNoticeDTO.setRequestUserDeptName( - String.join("/", student.getCampusName(), student.getGradeName(), student.getClassName())); - } else { - //找出教师所属部门 - EduStaff staff = remoteStaffService.getStaff(eduLeaveRequestUser.getUserId()).getData(); - eduLeaveRequestUser.setUserName(staff.getName()); - List staffDept = staff.getStaffDept(); - List deptList = remoteDeptService - .listParentDeptByChild(staffDept.stream().map(EduStaffDept::getDeptId).collect(Collectors.toList())) - .getData(); - requestUserDeptIdList = deptList.stream().map(Dept::getDeptId).collect(Collectors.toList()); - - sendStaffNoticeDTO.setRequestUserName(staff.getName()); - sendStaffNoticeDTO.setRequestUserDeptName( - StringUtils.join(deptList.stream().map(Dept::getDeptName).collect(Collectors.toList()), "/")); - } - - EduLeaveRequestProcessConfig config = null; - - //请假时长 - Long requestHours = LocalDateTimeUtil.between(eduLeaveRequestUser.getStartTime(), eduLeaveRequestUser.getEndTime()) - .toHours(); - if (requestHours <= 12) { - //是否启用小于半天 - List list = eduLeaveRequestProcessConfigService - .list(Wrappers.lambdaQuery(new EduLeaveRequestProcessConfig()) - .eq(EduLeaveRequestProcessConfig::getSchoolId, eduLeaveRequestUser.getSchoolId()) - .eq(EduLeaveRequestProcessConfig::getLessHalfDay, 1)); - if (CollUtil.isNotEmpty(list)) { - List collect = list.stream().filter(x -> x.getHours() >= requestHours) - .collect(Collectors.toList()); - if (CollUtil.isNotEmpty(collect)) { - config = collect.get(0); - } - } - } - if (ObjectUtil.isNull(config)) { - //请假天数 - Long requesUserDays = LocalDateTimeUtil - .between(eduLeaveRequestUser.getStartTime(), eduLeaveRequestUser.getEndTime()) - .toDays(); - List configByDeptIds = eduLeaveRequestProcessConfigService - .findConfigByDeptIds(requestUserDeptIdList, eduLeaveRequestUser.getRequestType(), requesUserDays); - if (CollUtil.isNotEmpty(configByDeptIds)) { - config = configByDeptIds.get(0); - } - } - - //适用的请假规则 - if (ObjectUtil.isNull(config)) { - // TODO 如果没有对应的请假规则,学生可以就只有班主任一级审核,教师呢? - throw new FebsException("无匹配的请假规则,请创建!"); - } - //保存请假主体 - eduLeaveRequestUser.setViewSort(0); - save(eduLeaveRequestUser); - - Dept school = commonService.getDept(config.getSchoolId()); - List eduLeaveRequestProcessConfigViewList = eduLeaveRequestProcessConfigViewService - .list(Wrappers.lambdaQuery(new EduLeaveRequestProcessConfigView()) - .eq(EduLeaveRequestProcessConfigView::getProcessId, config.getId()) - .orderByAsc(EduLeaveRequestProcessConfigView::getSort)); - for (int i = 0; i < eduLeaveRequestProcessConfigViewList.size(); i++) { - - log.info("请假流程:【{}】", i); - EduLeaveRequestProcessConfigView view = eduLeaveRequestProcessConfigViewList.get(i); - //保存流程 - EduLeaveRequestUserView eduLeaveRequestUserView = new EduLeaveRequestUserView(); - eduLeaveRequestUserView.setRequestId(eduLeaveRequestUser.getId()); - eduLeaveRequestUserView.setProcessId(config.getId()); - eduLeaveRequestUserView.setSort(view.getSort()); - eduLeaveRequestUserView.setStatus(0); - eduLeaveRequestUserView.setApprovalUserType(view.getApprovalUserType()); - eduLeaveRequestUserView.setApprovalType(view.getApprovalType()); - eduLeaveRequestUserViewService.save(eduLeaveRequestUserView); - - List eduLeaveRequestProcessConfigApprovalUserList = eduLeaveRequestProcessConfigApprovalUserService - .list(Wrappers.lambdaQuery(new EduLeaveRequestProcessConfigApprovalUser()) - .eq(EduLeaveRequestProcessConfigApprovalUser::getProcessId, config.getId()) - .eq(EduLeaveRequestProcessConfigApprovalUser::getViewId, view.getId())); - - for (EduLeaveRequestProcessConfigApprovalUser eduLeaveRequestProcessConfigApprovalUser : eduLeaveRequestProcessConfigApprovalUserList) { - if (ObjectUtil.isNotNull(eduLeaveRequestProcessConfigApprovalUser.getStaffId())) { - EduStaff staff = remoteStaffService - .getStaff(eduLeaveRequestProcessConfigApprovalUser.getStaffId()).getData(); - //人员审核 - EduLeaveRequestProcessRecord eduLeaveRequestProcessRecord = new EduLeaveRequestProcessRecord(); - eduLeaveRequestProcessRecord.setRequestId(eduLeaveRequestUser.getId()); - eduLeaveRequestProcessRecord.setProcessId(config.getId()); - eduLeaveRequestProcessRecord.setSchoolId(eduLeaveRequestUser.getSchoolId()); - eduLeaveRequestProcessRecord.setApprovalId(eduLeaveRequestProcessConfigApprovalUser.getStaffId()); - eduLeaveRequestProcessRecord.setApprovalName(staff.getName()); - eduLeaveRequestProcessRecord.setSort(eduLeaveRequestUserView.getSort()); - eduLeaveRequestProcessRecord.setViewId(eduLeaveRequestUserView.getId()); - eduLeaveRequestProcessRecordService.save(eduLeaveRequestProcessRecord); - // 发送审核信息 - if (eduLeaveRequestUserView.getSort() == 0) { - log.info("==========发送消息=====:{}", eduLeaveRequestUserView.getSort()); - sendStaffNoticeDTO.setStaffWxId(staff.getWxId()); - sendStaffNoticeDTO.setStaffName(staff.getName()); - sendStaffNoticeDTO.setSchoolType(school.getSchoolType()); - EduLeaveRequestUserServiceImpl bean = applicationContext - .getBean(EduLeaveRequestUserServiceImpl.class); - if (config.getProcessType() == 1) { - bean.sendNotice(sendStaffNoticeDTO, 1, 1, eduLeaveRequestUser.getId()); - } else { - bean.sendNotice(sendStaffNoticeDTO, 1, 0, eduLeaveRequestUser.getId()); - } - } - } else { - if (config.getProcessType() == 1) { - //学生请假 - //角色审核 - //查询学生 - EduStudent student = (EduStudent) redisService - .hget(CachePrefixConstant.STUDENT_DATA, eduLeaveRequestUser.getUserId().toString()); - if (student == null) { - student = remoteStudentService.getStudentNoPermission(eduLeaveRequestUser.getUserId()).getData(); - if (student == null) { - log.error("学生不存在,无法处理请假数据,id:[{}]", eduLeaveRequestUser.getUserId().toString()); - } else { - redisService - .hset(CachePrefixConstant.STUDENT_DATA, eduLeaveRequestUser.getUserId().toString(), - student); - } - } - List approvalUserList = new ArrayList<>(); - if (eduLeaveRequestProcessConfigApprovalUser.getStaffRoleId() == 1) { - //班主任 - //查询学生班主任 - approvalUserList = remoteTeacherService.listTeacherByDeptId(student.getClassId(), "3").getData(); - } else { - //高校系主任/K12年级主任 - if (student.getSchoolId() == 10593) { - //技师学院单独处理 - approvalUserList = remoteTeacherService.listTeacherByDeptId(student.getCampusId(), "1") - .getData(); - } else { - Dept dept = commonService.getDept(student.getSchoolId()); - log.info("学校性质:【{}】", dept.getSchoolNature()); - if (ObjectUtil.equals(SchoolNatureEnum.UNI_TYPE.getValue(), - dept.getSchoolNature())) { - //高校 - approvalUserList = remoteTeacherService.listTeacherByDeptId(student.getSectionId(), "5") - .getData(); - } else { - //K12 - approvalUserList = remoteTeacherService.listTeacherByDeptId(student.getGradeId(), "2") - .getData(); - } - } - } - if (CollUtil.isNotEmpty(approvalUserList)) { - for (EduStaff eduStaff : approvalUserList) { - EduLeaveRequestProcessRecord eduLeaveRequestProcessRecord = new EduLeaveRequestProcessRecord(); - eduLeaveRequestProcessRecord.setRequestId(eduLeaveRequestUser.getId()); - eduLeaveRequestProcessRecord.setProcessId(config.getId()); - eduLeaveRequestProcessRecord.setSchoolId(eduLeaveRequestUser.getSchoolId()); - eduLeaveRequestProcessRecord.setApprovalId(eduStaff.getId()); - eduLeaveRequestProcessRecord.setApprovalName(eduStaff.getName()); - eduLeaveRequestProcessRecord.setSort(eduLeaveRequestUserView.getSort()); - eduLeaveRequestProcessRecord.setViewId(eduLeaveRequestUserView.getId()); - eduLeaveRequestProcessRecordService.save(eduLeaveRequestProcessRecord); - - sendStaffNoticeDTO.setStaffWxId(eduStaff.getWxId()); - sendStaffNoticeDTO.setStaffName(eduStaff.getName()); - sendStaffNoticeDTO.setSchoolType(school.getSchoolType()); - EduLeaveRequestUserServiceImpl bean = applicationContext - .getBean(EduLeaveRequestUserServiceImpl.class); - // 发送审核信息 - if (eduLeaveRequestUserView.getSort() == 0) { - bean.sendNotice(sendStaffNoticeDTO, 1, 1, eduLeaveRequestUser.getId()); - } - } - } - } else { - //教师请假 - List approvalDeptUserList = remoteStaffService.listStaff( - ListStaffDTO.builder() - .deptId(eduLeaveRequestProcessConfigApprovalUser.getStaffRoleId().longValue()) - .build()).getData(); - if (ObjectUtil.isNotNull(approvalDeptUserList)) { - for (EduStaff eduStaff : approvalDeptUserList) { - EduLeaveRequestProcessRecord eduLeaveRequestProcessRecord = new EduLeaveRequestProcessRecord(); - eduLeaveRequestProcessRecord.setRequestId(eduLeaveRequestUser.getId()); - eduLeaveRequestProcessRecord.setProcessId(config.getId()); - eduLeaveRequestProcessRecord.setSchoolId(eduLeaveRequestUser.getSchoolId()); - eduLeaveRequestProcessRecord.setApprovalId(eduStaff.getId()); - eduLeaveRequestProcessRecord.setApprovalName(eduStaff.getName()); - eduLeaveRequestProcessRecord.setSort(eduLeaveRequestUserView.getSort()); - eduLeaveRequestProcessRecord.setViewId(eduLeaveRequestUserView.getId()); - eduLeaveRequestProcessRecordService.save(eduLeaveRequestProcessRecord); - - sendStaffNoticeDTO.setStaffWxId(eduStaff.getWxId()); - sendStaffNoticeDTO.setStaffName(eduStaff.getName()); - sendStaffNoticeDTO.setSchoolType(school.getSchoolType()); - // 发送审核信息 - if (eduLeaveRequestUserView.getSort() == 0) { - EduLeaveRequestUserServiceImpl bean = applicationContext - .getBean(EduLeaveRequestUserServiceImpl.class); - bean.sendNotice(sendStaffNoticeDTO, 1, 0, eduLeaveRequestUser.getId()); - } - } - } - } - } - } - } - } - } - - @Override - public void auditRequest(AuditRequestDTO dto) { - //封装发送消息主体 - EduLeaveRequestUser request = this.getById(dto.getRequestId()); - SendStaffNoticeDTO sendStaffNoticeDTO = new SendStaffNoticeDTO(); - sendStaffNoticeDTO.setRequestFor(request.getRequestFor()); - sendStaffNoticeDTO.setRequestReason(request.getRequestReason()); - sendStaffNoticeDTO.setRequestStartTime(request.getStartTime()); - sendStaffNoticeDTO.setRequestEndTime(request.getEndTime()); - sendStaffNoticeDTO.setSchoolId(request.getSchoolId()); - sendStaffNoticeDTO.setRequestUserName(request.getUserName()); - sendStaffNoticeDTO.setRequestTime(request.getCreateDate()); - sendStaffNoticeDTO.setType(request.getType()); - if (request.getRequestType() == 1) { - //学生 - EduStudent student = (EduStudent) redisService - .hget(CachePrefixConstant.STUDENT_DATA, request.getUserId().toString()); - if (student == null) { - student = remoteStudentService.getStudentNoPermission(request.getUserId()).getData(); - if (student == null) { - log.error("学生不存在,无法处理请假数据,id:[{}]", request.getUserId().toString()); - } else { - redisService - .hset(CachePrefixConstant.STUDENT_DATA, request.getUserId().toString(), - student); - } - } - sendStaffNoticeDTO - .setRequestUserDeptName( - String.join("/", remoteUserDeptService.getByDeptId(student.getCampusId()).getData().getDeptName(), - remoteUserDeptService.getByDeptId(student.getGradeId()).getData().getDeptName(), - remoteUserDeptService.getByDeptId(student.getClassId()).getData().getDeptName())); - } else { - //教师 - List eduStaffDeptList = remoteStaffService - .getStaffDeptByStaffIds(Collections.singletonList(request.getUserId())).getData(); - List deptNameList = eduStaffDeptList.stream().map(EduStaffDept::getDeptName).collect(Collectors.toList()); - sendStaffNoticeDTO.setRequestUserDeptName(StrUtil.join(",", deptNameList)); - } - - // 策略id - Long strategyId = 10000000 + dto.getRequestId(); - - //先判断审核权限 - List list = eduLeaveRequestProcessRecordService.list( - Wrappers.lambdaQuery(new EduLeaveRequestProcessRecord()) - .eq(EduLeaveRequestProcessRecord::getRequestId, dto.getRequestId()) - .eq(EduLeaveRequestProcessRecord::getApprovalId, dto.getApprovalId()) - .orderByAsc(EduLeaveRequestProcessRecord::getSort)); - - EduLeaveRequestProcessRecord eduLeaveRequestProcessRecord = new EduLeaveRequestProcessRecord(); - - for (int i = 0; i < list.size(); i++) { - EduLeaveRequestProcessRecord record = list.get(i); - if (record.getApprovalResult() == 0) { - eduLeaveRequestProcessRecord = record; - break; - } - } - - EduLeaveRequestUserView view = eduLeaveRequestUserViewService.getById(eduLeaveRequestProcessRecord.getViewId()); - -// EduLeaveRequestProcessRecord eduLeaveRequestProcessRecord = eduLeaveRequestProcessRecordService.getById(dto.getId()); -// CurrentUser currentUser = FebsUtil.getCurrentUser(); -// if (eduLeaveRequestProcessRecord.getApprovalId() != currentUser.getIdentityId()) { -// throw new FebsException("您无此审核权限"); -// } - - eduLeaveRequestProcessRecord.setApprovalResult(dto.getApprovalResult()); - eduLeaveRequestProcessRecord.setApprovalReason(dto.getApprovalReason()); - eduLeaveRequestProcessRecord.setUpdateDate(LocalDateTime.now()); - eduLeaveRequestProcessRecordService.updateById(eduLeaveRequestProcessRecord); - - EduLeaveRequestProcessConfig config = eduLeaveRequestProcessConfigService - .getById(eduLeaveRequestProcessRecord.getProcessId()); - - sendStaffNoticeDTO.setPreStaffName(eduLeaveRequestProcessRecord.getApprovalName()); - List roleNames = new ArrayList<>(); - - List teacherRoleTypeList = remoteStaffService - .listStaffRolesByStaffId(eduLeaveRequestProcessRecord.getApprovalId()).getData(); - if (teacherRoleTypeList.contains(1)) { - roleNames.add(RoleName.CAMPUS.getName()); - } else if (teacherRoleTypeList.contains(2)) { - roleNames.add(RoleName.GRADE.getName()); - } else if (teacherRoleTypeList.contains(3)) { - roleNames.add(RoleName.MASTER.getName()); - } else if (teacherRoleTypeList.contains(4)) { - roleNames.add(RoleName.COURSE.getName()); - } else if (teacherRoleTypeList.contains(5)) { - roleNames.add(RoleName.SECTION.getName()); - } else { - roleNames.add(RoleName.TEACHER.getName()); - } - sendStaffNoticeDTO.setPreStaffRoleName(StrUtil.join("/", roleNames)); - - if (ObjectUtil.equals(AuditModeEnum.OR_AUDIT.getMode(), view.getApprovalType())) { - //或审 - view.setStatus(dto.getApprovalResult() == 0 ? 2 : 1); - view.setAuditTime(LocalDateTime.now()); - -// EduLeaveRequestProcessConfigView next = eduLeaveRequestProcessConfigViewService -// .getOne(Wrappers.lambdaQuery(new EduLeaveRequestProcessConfigView()) -// .eq(EduLeaveRequestProcessConfigView::getProcessId, dto.getProcessId()) -// .eq(EduLeaveRequestProcessConfigView::getSort, view.getSort() + 1)); - - EduLeaveRequestUserView next = eduLeaveRequestUserViewService - .getOne(Wrappers.lambdaQuery(new EduLeaveRequestUserView()) - .eq(EduLeaveRequestUserView::getRequestId, dto.getRequestId()) - .eq(EduLeaveRequestUserView::getSort, view.getSort() + 1)); - - EduLeaveRequestUser eduLeaveRequestUser = new EduLeaveRequestUser(); - if (ObjectUtil.isNull(next)) { - //无下一流程则表示审核完毕 - eduLeaveRequestUser.setId(dto.getRequestId()); - if (ObjectUtil.equals(ApprovalResultEnum.AUDIT_PASS.getResult(), dto.getApprovalResult())) { //审核通过 - eduLeaveRequestUser.setStrategyId(strategyId); - eduLeaveRequestUser.setStatus(ApprovalResultEnum.AUDIT_PASS.getResult()); - } else { - eduLeaveRequestUser.setStatus(ApprovalResultEnum.AUDIT_NO.getResult());//审核不通过 - eduLeaveRequestUser.setRefuseReason(dto.getRefuseReason()); - } - } else { - eduLeaveRequestUser.setViewSort(view.getSort() + 1); - eduLeaveRequestUser.setId(dto.getRequestId()); - if (ObjectUtil.equals(ApprovalResultEnum.AUDIT_PASS.getResult(), dto.getApprovalResult())) { //审核通过 - eduLeaveRequestUser.setStatus(ApprovalResultEnum.AUDIT_ING.getResult()); - List nextAppUser = eduLeaveRequestProcessRecordService.list( - Wrappers.lambdaQuery(new EduLeaveRequestProcessRecord()) - .eq(EduLeaveRequestProcessRecord::getViewId, next.getId())); - - nextAppUser.forEach(eduLeaveRequestProcessRecord1 -> { - // 发送提示审核消息 - Dept school = commonService.getDept(config.getSchoolId()); - EduStaff staff = remoteStaffService - .getStaff(eduLeaveRequestProcessRecord1.getApprovalId()).getData(); - - sendStaffNoticeDTO.setStaffWxId(staff.getWxId()); - sendStaffNoticeDTO.setStaffName(staff.getName()); - sendStaffNoticeDTO.setSchoolType(school.getSchoolType()); - EduLeaveRequestUserServiceImpl bean = applicationContext - .getBean(EduLeaveRequestUserServiceImpl.class); - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), request.getRequestType())) { - bean.sendNotice(sendStaffNoticeDTO, 0, 1, eduLeaveRequestUser.getId()); - } else { - bean.sendNotice(sendStaffNoticeDTO, 0, 0, eduLeaveRequestUser.getId()); - } - }); - } else { - eduLeaveRequestUser.setStatus(ApprovalResultEnum.AUDIT_NO.getResult());//审核不通过 - eduLeaveRequestUser.setRefuseReason(dto.getRefuseReason()); - } - } - this.updateById(eduLeaveRequestUser); - - if (ObjectUtil.equals(ApprovalResultEnum.AUDIT_PASS.getResult(), eduLeaveRequestUser.getStatus())) { - // TODO 2023/2/2 eduLeaveRequestUser status=1 添加通行策略 - EduLeaveRequestUser user = getById(eduLeaveRequestUser.getId()); - addLeaveRequestStrategy(strategyId, user); - } - //通知家长 - Dept school = commonService.getDept(config.getSchoolId()); - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), request.getRequestType())) { - if (ObjectUtil.equals(ApprovalResultEnum.AUDIT_PASS.getResult(), eduLeaveRequestUser.getStatus()) - && ObjectUtil.equals(ApprovalResultEnum.AUDIT_NO.getResult(), eduLeaveRequestUser.getStatus())) { - EduLeaveRequestUser user = getById(eduLeaveRequestUser.getId()); - EduLeaveRequestUserServiceImpl bean = applicationContext - .getBean(EduLeaveRequestUserServiceImpl.class); - bean.sendParentNotice(school, - eduLeaveRequestUser.getStatus(), - user.getUserName(), user.getUserId(), request.getCreateDate(), request.getId()); - } - } else { - //发送教师端审批结果通知 - if (ObjectUtil.equals(ApprovalResultEnum.AUDIT_PASS.getResult(), eduLeaveRequestUser.getStatus()) - && ObjectUtil.equals(ApprovalResultEnum.AUDIT_NO.getResult(), eduLeaveRequestUser.getStatus())) { - EduStaff staff = remoteStaffService.getStaff(request.getUserId()).getData(); - SendStaffNoticeDTO noticeDTO = new SendStaffNoticeDTO(); - noticeDTO.setRequestTime(request.getCreateDate()); - noticeDTO.setRequestStartTime(request.getStartTime()); - noticeDTO.setRequestEndTime(request.getEndTime()); - noticeDTO.setStatus(eduLeaveRequestUser.getStatus()); - noticeDTO.setStaffName(request.getUserName()); - noticeDTO.setStaffWxId(staff.getWxId()); - noticeDTO.setSchoolType(school.getSchoolType()); - EduLeaveRequestUserServiceImpl bean = applicationContext - .getBean(EduLeaveRequestUserServiceImpl.class); - bean.sendStaffNotice(noticeDTO, request.getId()); - } - } - } else { - //会审 - //本次请假此流程对应的全部审核人员 - List eduLeaveRequestProcessRecordList = eduLeaveRequestProcessRecordService - .list(Wrappers.lambdaQuery(new EduLeaveRequestProcessRecord()) - .eq(EduLeaveRequestProcessRecord::getProcessId, eduLeaveRequestProcessRecord.getProcessId()) - .eq(EduLeaveRequestProcessRecord::getRequestId, dto.getRequestId()) - .eq(EduLeaveRequestProcessRecord::getViewId, eduLeaveRequestProcessRecord.getViewId())); - - //已通过的人员 - List passRecordList = eduLeaveRequestProcessRecordList.stream() - .filter(x -> ObjectUtil.equals(ApprovalResultEnum.AUDIT_PASS.getResult(), x.getApprovalResult())) - .collect(Collectors.toList()); - - if (ObjectUtil.equals(ApprovalResultEnum.AUDIT_PASS.getResult(), dto.getApprovalResult())) { - //审核通过 - if (passRecordList.size() == eduLeaveRequestProcessRecordList.size()) { - //1:都审核通过表示此级别审核通过, - //2:查看是否需要下一级别审核 - EduLeaveRequestUserView next = eduLeaveRequestUserViewService - .getOne(Wrappers.lambdaQuery(new EduLeaveRequestUserView()) - .eq(EduLeaveRequestUserView::getRequestId, dto.getRequestId()) - .eq(EduLeaveRequestUserView::getSort, view.getSort() + 1)); - - if (ObjectUtil.isNull(next)) { - EduLeaveRequestUser eduLeaveRequestUser = new EduLeaveRequestUser(); - eduLeaveRequestUser.setId(dto.getRequestId()); - eduLeaveRequestUser.setStatus(ApprovalResultEnum.AUDIT_PASS.getResult()); - eduLeaveRequestUser.setStrategyId(strategyId); - this.updateById(eduLeaveRequestUser); - // TODO 2023/2/2 eduLeaveRequestUser status=1 添加通行策略 - EduLeaveRequestUser user = getById(eduLeaveRequestUser.getId()); - addLeaveRequestStrategy(strategyId, user); -// -// remoteAttendanceStrategyService.addLeaveRequestStrategy( -// AddLeaveRequestStrategyDTO.builder() -// .requestId(user.getId()) -// .userId(user.getUserId()) -// .strategyId(strategyId) -// .requestType(user.getRequestType()) -// .schoolId(user.getSchoolId()) -// .startTime(user.getStartTime()) -// .endTime(user.getEndTime()) -// .build()); - Dept school = commonService.getDept(config.getSchoolId()); - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), request.getRequestType())) { - //通知家长 - EduLeaveRequestUserServiceImpl bean = applicationContext - .getBean(EduLeaveRequestUserServiceImpl.class); - bean.sendParentNotice(school, ApprovalResultEnum.AUDIT_PASS.getResult(), - user.getUserName(), user.getUserId(), request.getCreateDate(), request.getId()); - } else { - //发送教师端审批结果通知 - EduStaff staff = remoteStaffService.getStaff(request.getUserId()).getData(); - SendStaffNoticeDTO noticeDTO = new SendStaffNoticeDTO(); - noticeDTO.setRequestTime(request.getCreateDate()); - noticeDTO.setRequestStartTime(request.getStartTime()); - noticeDTO.setRequestEndTime(request.getEndTime()); - noticeDTO.setStatus(ApprovalResultEnum.AUDIT_PASS.getResult()); - noticeDTO.setStaffName(request.getUserName()); - noticeDTO.setStaffWxId(staff.getWxId()); - noticeDTO.setSchoolType(school.getSchoolType()); - - EduLeaveRequestUserServiceImpl bean = applicationContext - .getBean(EduLeaveRequestUserServiceImpl.class); - bean.sendStaffNotice(noticeDTO, request.getId()); - } - } else { - EduLeaveRequestUser eduLeaveRequestUser = new EduLeaveRequestUser(); - eduLeaveRequestUser.setId(dto.getRequestId()); - eduLeaveRequestUser.setStatus(ApprovalResultEnum.AUDIT_ING.getResult()); - eduLeaveRequestUser.setViewSort(next.getSort()); - this.updateById(eduLeaveRequestUser); - // 通知下一级审核 - List nextAppUser = eduLeaveRequestProcessRecordService.list( - Wrappers.lambdaQuery(new EduLeaveRequestProcessRecord()) - .eq(EduLeaveRequestProcessRecord::getViewId, next.getId())); - - nextAppUser.forEach(nextRecord -> { - // 发送提示审核消息 - Dept school = commonService.getDept(config.getSchoolId()); - EduStaff staff = remoteStaffService - .getStaff(nextRecord.getApprovalId()).getData(); - - sendStaffNoticeDTO.setStaffWxId(staff.getWxId()); - sendStaffNoticeDTO.setStaffName(staff.getName()); - sendStaffNoticeDTO.setSchoolType(school.getSchoolType()); - EduLeaveRequestUserServiceImpl bean = applicationContext - .getBean(EduLeaveRequestUserServiceImpl.class); - if (ObjectUtil.equals(UserTypeEnum.PARENT_USER_TYPE.getType(), request.getRequestType())) { - bean.sendNotice(sendStaffNoticeDTO, 0, UserTypeEnum.PARENT_USER_TYPE.getType(), - eduLeaveRequestUser.getId()); - } else { - bean.sendNotice(sendStaffNoticeDTO, 0, UserTypeEnum.STAFF_USER_TYPE.getType(), - eduLeaveRequestUser.getId()); - } - }); - } - view.setStatus(ApprovalResultEnum.AUDIT_PASS.getResult()); - view.setAuditTime(LocalDateTime.now()); - } else { - view.setStatus(ApprovalResultEnum.AUDIT_ING.getResult()); //当前流程审核中 - view.setAuditTime(LocalDateTime.now()); - - EduLeaveRequestUser eduLeaveRequestUser = new EduLeaveRequestUser(); - eduLeaveRequestUser.setId(dto.getRequestId()); - eduLeaveRequestUser.setStatus(ApprovalResultEnum.AUDIT_ING.getResult()); - this.updateById(eduLeaveRequestUser); - } - } else { - //审核不通过 - EduLeaveRequestUser eduLeaveRequestUser = new EduLeaveRequestUser(); - eduLeaveRequestUser.setId(dto.getRequestId()); - eduLeaveRequestUser.setStatus(ApprovalResultEnum.AUDIT_NO.getResult()); - eduLeaveRequestUser.setRequestReason(dto.getRefuseReason()); - this.updateById(eduLeaveRequestUser); - - view.setStatus(ApprovalResultEnum.AUDIT_NO.getResult()); - view.setAuditTime(LocalDateTime.now()); - - Dept school = commonService.getDept(config.getSchoolId()); - if (request.getRequestType() == 1) { - //通知家长 - EduLeaveRequestUser user = getById(eduLeaveRequestUser.getId()); - EduLeaveRequestUserServiceImpl bean = applicationContext - .getBean(EduLeaveRequestUserServiceImpl.class); - bean.sendParentNotice(school, ApprovalResultEnum.AUDIT_NO.getResult(), - user.getUserName(), user.getUserId(), request.getCreateDate(), request.getId()); - } else { - //发送教师端审批结果通知 - EduStaff staff = remoteStaffService.getStaff(request.getUserId()).getData(); - SendStaffNoticeDTO noticeDTO = new SendStaffNoticeDTO(); - noticeDTO.setRequestTime(request.getCreateDate()); - noticeDTO.setRequestStartTime(request.getStartTime()); - noticeDTO.setRequestEndTime(request.getEndTime()); - noticeDTO.setStatus(0); - noticeDTO.setStaffName(request.getUserName()); - noticeDTO.setStaffWxId(staff.getWxId()); - noticeDTO.setSchoolType(school.getSchoolType()); - EduLeaveRequestUserServiceImpl bean = applicationContext - .getBean(EduLeaveRequestUserServiceImpl.class); - bean.sendStaffNotice(noticeDTO, request.getId()); - } - } - } - eduLeaveRequestUserViewService.updateById(view); - } - - @Override - public EduLeaveRequestUserVO getRequest(Long requestId) { - EduLeaveRequestUserVO eduLeaveRequestUserVO = new EduLeaveRequestUserVO(); - EduLeaveRequestUser eduLeaveRequestUser = getById(requestId); - BeanUtils.copyProperties(eduLeaveRequestUser, eduLeaveRequestUserVO); - - List userViewList = eduLeaveRequestUserViewService - .list(Wrappers.lambdaQuery(new EduLeaveRequestUserView()).eq(EduLeaveRequestUserView::getRequestId, requestId) - .orderByAsc(EduLeaveRequestUserView::getSort)); - - userViewList.forEach(eduLeaveRequestUserView -> { - List list = eduLeaveRequestProcessRecordService.list( - Wrappers.lambdaQuery(new EduLeaveRequestProcessRecord()) - .eq(EduLeaveRequestProcessRecord::getViewId, eduLeaveRequestUserView.getId()) - .eq(EduLeaveRequestProcessRecord::getRequestId, requestId)); - - ListStaffDTO dto = new ListStaffDTO(); - dto.setIds(list.stream().map(EduLeaveRequestProcessRecord::getApprovalId).collect(Collectors.toList())); - for (EduLeaveRequestProcessRecord eduLeaveRequestProcessRecord : list) { - EduStaff staff = (EduStaff) redisService - .hget(CachePrefixConstant.STAFF_DATA, eduLeaveRequestProcessRecord.getApprovalId().toString()); - if (ObjectUtil.isNull(staff)) { - staff = remoteStaffService.getStaff(eduLeaveRequestProcessRecord.getApprovalId()).getData(); - if (ObjectUtil.isNotNull(staff)) { - redisService - .hset(CachePrefixConstant.STAFF_DATA, eduLeaveRequestProcessRecord.getApprovalId().toString(), staff); - } - } - if (ObjectUtil.isNotNull(staff)) { - eduLeaveRequestProcessRecord.setApprovaler(staff); - } - } -// -// Map> staffMap = remoteStaffService.listStaff(dto).getData().stream() -// .collect(Collectors.groupingBy(EduStaff::getId)); -// -// list.forEach(e -> { -// List staffList = staffMap.get(e.getApprovalId()); -// e.setApprovaler(staffList.get(0)); -// }); - eduLeaveRequestUserView.setEduLeaveRequestProcessRecordList(list); - }); - eduLeaveRequestUserVO.setEduLeaveRequestUserViewList(userViewList); - if (eduLeaveRequestUser.getRequestType() == 1) { - EduStudent student = (EduStudent) redisService - .hget(CachePrefixConstant.STUDENT_DATA, eduLeaveRequestUser.getUserId().toString()); - if (ObjectUtil.isNull(student)) { - student = remoteStudentService.getStudentNoPermission(eduLeaveRequestUser.getUserId()).getData(); - if (ObjectUtil.isNotNull(student)) { - redisService.hset(CachePrefixConstant.STUDENT_DATA, eduLeaveRequestUser.getUserId().toString(), student); - } - } - eduLeaveRequestUserVO - .setStudent(student); - } else { - EduStaff staff = (EduStaff) redisService - .hget(CachePrefixConstant.STAFF_DATA, eduLeaveRequestUser.getUserId().toString()); - if (ObjectUtil.isNull(staff)) { - staff = remoteStaffService.getStaff(eduLeaveRequestUser.getUserId()).getData(); - if (ObjectUtil.isNotNull(staff)) { - redisService - .hset(CachePrefixConstant.STAFF_DATA, eduLeaveRequestUser.getUserId().toString(), staff); - } - } - eduLeaveRequestUserVO.setStaff(staff); - } - return eduLeaveRequestUserVO; - } - - @Override - public void testTamplateCardNotice(String wxId, Long schoolId) { - Integer type = 1; - Integer isFirst = 1; - SendStaffNoticeDTO dto = new SendStaffNoticeDTO(); - dto.setRequestTime(LocalDateTime.now()); - dto.setSchoolId(schoolId); - dto.setStaffName("张无忌"); - dto.setRequestEndTime(LocalDateTime.now()); - dto.setRequestStartTime(LocalDateTime.now()); - dto.setSchoolType("0"); - dto.setStaffWxId(wxId); - dto.setStatus(0); - dto.setRequestUserName("张小小"); - dto.setRequestUserDeptName("三年二班"); - dto.setRequestReason("牙疼,需要做手术"); - log.info("接收发送数据:【{}】", dto); - //发送企业微信通知 - if (dto.getSchoolType().contains("0")) { - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, - dto.getSchoolId()); - if (ObjectUtil.isNull(app)) { - app = commonService.getAppByCodeAndSchool(AppConstant.TEACHER_LEAVE_REQUEST, null, - dto.getSchoolId()); - } - String accessToken = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); -// String url = String -// .format("%s&loginType=0&state=%s&userType=0", teacherLeaveRequestUrl + app.getWxCorpId(), app.getCode()); - String url = String - .format("%s?appId=%s&schoolId=%s&userType=0&titleName=%s", teacherLeaveRequestUrl, app.getWxCorpId(), - FebsUtil.getTopDeptId(), "请假管理"); - //模板卡片消息--文本通知型 - TemplateCardNotice templateCardNotice = new TemplateCardNotice(); - templateCardNotice.setCard_type(NoticeTypeConstant.TEMPLATE_NOTICE_TYPE_TEXT); - templateCardNotice.setMain_title(MainTitle.builder().title(type == 1 ? "学生请假申请提醒" : "职工请假申请提醒").build()); - if (type == 1) { - //学生请假 - if (isFirst == 1) { - templateCardNotice - .setSub_title_text(String.format("尊敬的%s老师,%S同学于%S提交的请假申请,等待您的审批!", - dto.getStaffName(), dto.getRequestUserName(), - LocalDateTimeUtil.format(dto.getRequestTime(), "yyyy-MM-dd HH:mm:ss"))); - } else { - templateCardNotice - .setSub_title_text(String.format("尊敬的%s老师,你好!%S老师【%S】已同意%S同学于%S提交的请假申请,等待您的审批!", - dto.getStaffName(), dto.getPreStaffName(), dto.getPreStaffRoleName(), dto.getRequestUserName(), - LocalDateTimeUtil.format(dto.getRequestTime(), "yyyy-MM-dd HH:mm:ss"))); - } - } else { - if (isFirst == 1) { - templateCardNotice - .setSub_title_text(String.format("尊敬的%s老师,%S职工于%S提交的请假申请,等待您的审批!", - dto.getStaffName(), dto.getRequestUserName(), - LocalDateTimeUtil.format(dto.getRequestTime(), "yyyy-MM-dd HH:mm:ss"))); - } else { - templateCardNotice - .setSub_title_text(String.format("尊敬的%s老师,你好!%S老师【%S】已同意%S职工于%S提交的请假申请,等待您的审批!", - dto.getStaffName(), dto.getPreStaffName(), dto.getPreStaffRoleName(), dto.getRequestUserName(), - LocalDateTimeUtil.format(dto.getRequestTime(), "yyyy-MM-dd HH:mm:ss"))); - } - } - - List horizontalContentList = new ArrayList<>(); - horizontalContentList - .add(HorizontalContent.builder().keyname(type == 1 ? "班级" : "部门").value(dto.getRequestUserDeptName()).build()); - horizontalContentList - .add(HorizontalContent.builder().keyname(type == 1 ? "学生" : "职工").value(dto.getRequestUserName()).build()); - horizontalContentList.add(HorizontalContent.builder().keyname("请假时间") - .value(String.join("至", LocalDateTimeUtil.format(dto.getRequestStartTime(), "yyyy-MM-dd HH:mm"), - LocalDateTimeUtil.format(dto.getRequestEndTime(), "yyyy-MM-dd HH:mm"))).build()); - horizontalContentList.add(HorizontalContent.builder().keyname("请假原因").value(dto.getRequestReason()).build()); - templateCardNotice.setHorizontal_content_list(horizontalContentList); - templateCardNotice.setCard_action(CardAction.builder().type(1).url(url).build()); - templateCardNotice - .setJump_list(Collections.singletonList(Jump.builder().type(1).title("点击查看详情并处理").url(url).build())); - - TemplateCardStaffNotice templateCardStaffNotice = new TemplateCardStaffNotice(); - templateCardStaffNotice.setTouser(dto.getStaffWxId()); - templateCardStaffNotice.setAgentid(app.getWxAgentId()); - templateCardStaffNotice.setTemplate_card(templateCardNotice); - //发送微信通知 - wxUtil.pushStaffNotice(accessToken, templateCardStaffNotice); - } - //TODO 发送易达APP消息 - } - - @Override - public List findUserRequestList(ListUserRequestDTO dto) { - return baseMapper.findUserRequestList(dto); - } - - /** - * 发送职工企业微信端模板消息 - * - * @param dto - * @param type 1学生请假,0职工请假 - * @param isFirst 是否为初次审核 0否,1是 - */ - @Async - public void sendNotice(SendStaffNoticeDTO dto, Integer isFirst, Integer type, Long requestId) { -// log.info("接收发送数据:【{}】", dto); - //发送企业微信通知 - if (dto.getSchoolType().contains("0")) { - - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, - dto.getSchoolId()); - if (ObjectUtil.isNull(app)) { - app = commonService.getAppByCodeAndSchool(AppConstant.TEACHER_LEAVE_REQUEST, null, - dto.getSchoolId()); - } - String accessToken = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); - String url = String - .format("%s?corpId=%s&schoolId=%s&userType=%s&requestId=%s&requestUserType=%s", teacherLeaveRequestUrl, - app.getWxCorpId(), - dto.getSchoolId(), 0, requestId, type == 1 ? 1 : 0); - //模板卡片消息--文本通知型 - TemplateCardNotice templateCardNotice = new TemplateCardNotice(); - templateCardNotice.setCard_type(NoticeTypeConstant.TEMPLATE_NOTICE_TYPE_TEXT); - templateCardNotice.setMain_title(MainTitle.builder().title(type == 1 ? "学生请假申请提醒" : "职工请假申请提醒").build()); - if (type == 1) { - //学生请假 - if (isFirst == 1) { - templateCardNotice - .setSub_title_text(String.format("尊敬的%s老师,%S同学于%S提交的请假申请,等待您的审批!", - dto.getStaffName(), dto.getRequestUserName(), - LocalDateTimeUtil.format(dto.getRequestTime(), "yyyy-MM-dd HH:mm:ss"))); - } else { - templateCardNotice - .setSub_title_text(String.format("尊敬的%s老师,你好!%S老师【%S】已同意%S同学于%S提交的请假申请,等待您的审批!", - dto.getStaffName(), dto.getPreStaffName(), dto.getPreStaffRoleName(), dto.getRequestUserName(), - LocalDateTimeUtil.format(dto.getRequestTime(), "yyyy-MM-dd HH:mm:ss"))); - } - } else { - if (isFirst == 1) { - templateCardNotice - .setSub_title_text(String.format("尊敬的%s老师,%S职工于%S提交的请假申请,等待您的审批!", - dto.getStaffName(), dto.getRequestUserName(), - LocalDateTimeUtil.format(dto.getRequestTime(), "yyyy-MM-dd HH:mm:ss"))); - } else { - templateCardNotice - .setSub_title_text(String.format("尊敬的%s老师,你好!%S老师【%S】已同意%S职工于%S提交的请假申请,等待您的审批!", - dto.getStaffName(), dto.getPreStaffName(), dto.getPreStaffRoleName(), dto.getRequestUserName(), - LocalDateTimeUtil.format(dto.getRequestTime(), "yyyy-MM-dd HH:mm:ss"))); - } - } - - List horizontalContentList = new ArrayList<>(); - horizontalContentList - .add(HorizontalContent.builder().keyname(type == 1 ? "班级" : "部门").value(dto.getRequestUserDeptName()).build()); - horizontalContentList - .add(HorizontalContent.builder().keyname(type == 1 ? "学生" : "职工").value(dto.getRequestUserName()).build()); - horizontalContentList.add(HorizontalContent.builder().keyname("请假类型") - .value(ObjectUtil.isNull(dto.getType()) ? "其他" : LeaveRequestTypeEnum.getName(dto.getType())).build()); - horizontalContentList.add(HorizontalContent.builder().keyname("请假时间") - .value(String.join("至", LocalDateTimeUtil.format(dto.getRequestStartTime(), "yyyy-MM-dd HH:mm"), - LocalDateTimeUtil.format(dto.getRequestEndTime(), "yyyy-MM-dd HH:mm"))).build()); - horizontalContentList.add(HorizontalContent.builder().keyname("请假去向").value(dto.getRequestFor()).build()); - horizontalContentList.add(HorizontalContent.builder().keyname("请假原因").value(dto.getRequestReason()).build()); - templateCardNotice.setHorizontal_content_list(horizontalContentList); - templateCardNotice.setCard_action(CardAction.builder().type(1).url(url).build()); - templateCardNotice - .setJump_list(Collections.singletonList(Jump.builder().type(1).title("点击查看详情并处理").url(url).build())); - - TemplateCardStaffNotice templateCardStaffNotice = new TemplateCardStaffNotice(); - templateCardStaffNotice.setTouser(dto.getStaffWxId()); - templateCardStaffNotice.setAgentid(app.getWxAgentId()); - templateCardStaffNotice.setTemplate_card(templateCardNotice); - //发送微信通知 - wxUtil.pushStaffNotice(accessToken, templateCardStaffNotice); - } - //TODO 发送易达APP消息 - } - - /** - * 发送家长通知 -- 请假结果 - * - * @param school - * @param - */ - @Async - public void sendParentNotice(Dept school, Integer type, String studentName, Long studentId, LocalDateTime requestTime, - Long requestId) { - //发送企业微信通知 - if (school.getSchoolType().contains("0")) { - TextSchoolNotice textSchoolNotice = new TextSchoolNotice(); - - EduApp appByCodeAndSchool = commonService.getAppByCodeAndSchool(AppConstant.INDEX_PARENT, null, - school.getDeptId()); - - List parentId = remoteStudentService.findParentWxId(Collections.singletonList(studentId)).getData(); - - Text text = new Text(); - textSchoolNotice.setText(text); - textSchoolNotice.setAgentid(appByCodeAndSchool.getWxAgentId()); - String url = String - .format("%s?corpId=%s&schoolId=%s&userType=%s&requestId=%s&requestUserType=%s", teacherLeaveRequestUrl, - appByCodeAndSchool.getWxCorpId(), - school.getDeptId(), 1, requestId, 1); - - String msg = ObjectUtil.equals(ApprovalResultEnum.AUDIT_PASS.getResult(), type) ? "已通过" : "未通过"; - text.setContent( - "" + studentName + "同学于" + LocalDateTimeUtil.format(requestTime, "yyyy-MM-dd HH:mm:ss") - + "的请假审核" + msg + ",点击可查看详情" + ""); - textSchoolNotice.setTo_parent_userid(parentId); - String accessToken = wxUtil.getAccessToken(appByCodeAndSchool.getWxCorpId(), appByCodeAndSchool.getWxSecret()); - wxUtil.pushSchoolNotice(accessToken, textSchoolNotice); - } - //TODO 发送易达APP消息 - } - - - /** - * 发送职工请假结果通知 - */ - @Async - public void sendStaffNotice(SendStaffNoticeDTO dto, Long requestId) { - - log.info("发送职工请假结果通知:【{}】", dto); - //发送企业微信通知 - if (dto.getSchoolType().contains("0")) { - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, - dto.getSchoolId()); - if (ObjectUtil.isNull(app)) { - app = commonService.getAppByCodeAndSchool(AppConstant.TEACHER_LEAVE_REQUEST, null, - dto.getSchoolId()); - } - String accessToken = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); - - String url = String - .format("%s?corpId=%s&schoolId=%s&userType=%s&requestId=%s&requestUserType=%s", teacherLeaveRequestUrl, - app.getWxCorpId(), - dto.getSchoolId(), 0, requestId, 0); - //模板卡片消息--文本通知型 - TemplateCardNotice templateCardNotice = new TemplateCardNotice(); - templateCardNotice.setCard_type(NoticeTypeConstant.TEMPLATE_NOTICE_TYPE_TEXT); - templateCardNotice.setMain_title(MainTitle.builder().title("请假结果通知").build()); - - templateCardNotice - .setSub_title_text(String.format("尊敬的%S老师,您好,您于%S的请假申请结果", - dto.getStaffName(), LocalDateTimeUtil.format(dto.getRequestTime(), "yyyy-MM-dd HH:mm:ss"))); - - List horizontalContentList = new ArrayList<>(); - horizontalContentList.add(HorizontalContent.builder().keyname("请假时间") - .value(String.join("至", LocalDateTimeUtil.format(dto.getRequestStartTime(), "yyyy-MM-dd HH:mm"), - LocalDateTimeUtil.format(dto.getRequestEndTime(), "yyyy-MM-dd HH:mm"))).build()); - horizontalContentList - .add(HorizontalContent.builder().keyname("结果").value(dto.getStatus() == 1 ? "审批通过" : "审批未通过").build()); -// horizontalContentList.add(HorizontalContent.builder().keyname("请假原因").value(dto.getRequestReason()).build()); - templateCardNotice.setHorizontal_content_list(horizontalContentList); - templateCardNotice.setCard_action(CardAction.builder().type(1).url(url).build()); - templateCardNotice.setJump_list(Collections.singletonList(Jump.builder().type(1).title("点击查看详情").url(url).build())); - - TemplateCardStaffNotice templateCardStaffNotice = new TemplateCardStaffNotice(); - templateCardStaffNotice.setTouser(dto.getStaffWxId()); - templateCardStaffNotice.setAgentid(app.getWxAgentId()); - templateCardStaffNotice.setTemplate_card(templateCardNotice); - //发送微信通知 - wxUtil.pushStaffNotice(accessToken, templateCardStaffNotice); - } - } - - /** - * 添加请假策略 - */ - public void addLeaveRequestStrategy(Long strategyId, EduLeaveRequestUser user) { - ADD_LEAVE_REQUEST_POOL.execute(() -> { - remoteAttendanceStrategyService.addLeaveRequestStrategy( - AddLeaveRequestStrategyDTO.builder() - .requestId(user.getId()) - .userId(user.getUserId()) - .strategyId(strategyId) - .requestType(user.getRequestType()) - .schoolId(user.getSchoolId()) - .startTime(user.getStartTime()) - .endTime(user.getEndTime()) - .build()); - }); - } -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestUserViewServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestUserViewServiceImpl.java deleted file mode 100644 index a92795b..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/userLeave/service/impl/EduLeaveRequestUserViewServiceImpl.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.yida.data.school.userLeave.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessConfig; -import com.yida.data.common.core.entity.userLeave.EduLeaveRequestUserView; -import com.yida.data.school.leave.mapper.EduLeaveRequestMapper; -import com.yida.data.school.leave.service.EduLeaveRequestService; -import com.yida.data.school.userLeave.mapper.EduLeaveRequestProcessConfigMapper; -import com.yida.data.school.userLeave.mapper.EduLeaveRequestUserViewMapper; -import com.yida.data.school.userLeave.service.EduLeaveRequestProcessConfigService; -import com.yida.data.school.userLeave.service.EduLeaveRequestUserViewService; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** - * Service实现 - * - * @author wjm - * @date 2022-12-01 10:45:56 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class EduLeaveRequestUserViewServiceImpl extends ServiceImpl - implements EduLeaveRequestUserViewService { - -} diff --git a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/visitor/service/impl/EduVisitorRecordServiceImpl.java b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/visitor/service/impl/EduVisitorRecordServiceImpl.java index 0538a82..9d5fdf4 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/visitor/service/impl/EduVisitorRecordServiceImpl.java +++ b/febs-server/edu-school/edu-school-biz/src/main/java/com/yida/data/school/visitor/service/impl/EduVisitorRecordServiceImpl.java @@ -224,7 +224,7 @@ public class EduVisitorRecordServiceImpl extends ServiceImpl if (staff != null) { try { EduApp app = commonService - .getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, visitorRecord.getSchoolId()); + .getAppByCodeAndSchool(AppConstant.VISITOR_STAFF, null, visitorRecord.getSchoolId()); BaseStaffNotice notice = new BaseStaffNotice(); notice .setText(new Text(String diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/bootstrap.yml b/febs-server/edu-school/edu-school-biz/src/main/resources/bootstrap.yml index fd3e14d..a4db71b 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/bootstrap.yml +++ b/febs-server/edu-school/edu-school-biz/src/main/resources/bootstrap.yml @@ -1,7 +1,6 @@ spring: profiles: active: "@env-name@" -# active: "dev" cloud: nacos: config: diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/classCall/EduClassScheduleMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/classCall/EduClassScheduleMapper.xml deleted file mode 100644 index 742f984..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/classCall/EduClassScheduleMapper.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/index/EduDeptHomeAppMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/index/EduDeptHomeAppMapper.xml deleted file mode 100644 index ccf6d5e..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/index/EduDeptHomeAppMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/news/EduNoticeSchoolMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/news/EduNoticeSchoolMapper.xml index 557ae0e..39f86c4 100644 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/news/EduNoticeSchoolMapper.xml +++ b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/news/EduNoticeSchoolMapper.xml @@ -49,20 +49,20 @@ diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/screen/EduSchoolDashboardDataBaseMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/screen/EduSchoolDashboardDataBaseMapper.xml deleted file mode 100644 index 2215800..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/screen/EduSchoolDashboardDataBaseMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/screen/EduSchoolDashboardDataMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/screen/EduSchoolDashboardDataMapper.xml deleted file mode 100644 index 16c2931..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/screen/EduSchoolDashboardDataMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/screen/EduSchoolDashboardDataTeacherMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/screen/EduSchoolDashboardDataTeacherMapper.xml deleted file mode 100644 index b5d505c..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/screen/EduSchoolDashboardDataTeacherMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduGuideStepOrderMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduGuideStepOrderMapper.xml deleted file mode 100644 index bdb6f3a..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduGuideStepOrderMapper.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideMapper.xml deleted file mode 100644 index 6f8cb62..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideMapper.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideRosterMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideRosterMapper.xml deleted file mode 100644 index f911416..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideRosterMapper.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideRosterRelationMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideRosterRelationMapper.xml deleted file mode 100644 index 96e7c5b..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideRosterRelationMapper.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideRosterRelationStepMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideRosterRelationStepMapper.xml deleted file mode 100644 index 9decd69..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideRosterRelationStepMapper.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideStepClassMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideStepClassMapper.xml deleted file mode 100644 index d65b816..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideStepClassMapper.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - update edu_smart_welcome_guide_step_class - set real_male_number = real_male_number + 1 - where id = #{id} - - - - update edu_smart_welcome_guide_step_class - set real_female_number = real_female_number + 1 - where id = #{id} - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideStepDormMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideStepDormMapper.xml deleted file mode 100644 index 9d5d08c..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideStepDormMapper.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - update edu_smart_welcome_guide_step_dorm - set real_number = real_number + 1 - where id = #{id} - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideStepMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideStepMapper.xml deleted file mode 100644 index 7d81a8d..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideStepMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideStepStaffMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideStepStaffMapper.xml deleted file mode 100644 index 628f7dc..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/smart/EduSmartWelcomeGuideStepStaffMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessConfigApplicableDepartmentsMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessConfigApplicableDepartmentsMapper.xml deleted file mode 100644 index ce5b4ff..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessConfigApplicableDepartmentsMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessConfigApprovalUserMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessConfigApprovalUserMapper.xml deleted file mode 100644 index d3a4563..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessConfigApprovalUserMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessConfigMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessConfigMapper.xml deleted file mode 100644 index 158b386..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessConfigMapper.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessConfigViewMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessConfigViewMapper.xml deleted file mode 100644 index 6f51f68..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessConfigViewMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessRecordMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessRecordMapper.xml deleted file mode 100644 index 341c6f0..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestProcessRecordMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestUserMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestUserMapper.xml deleted file mode 100644 index 0ebc405..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestUserMapper.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestUserViewMapper.xml b/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestUserViewMapper.xml deleted file mode 100644 index 48923bb..0000000 --- a/febs-server/edu-school/edu-school-biz/src/main/resources/mapper/userLeave/EduLeaveRequestUserViewMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/template/固定宿舍学生导入模板.xlsx b/febs-server/edu-school/edu-school-biz/src/main/resources/template/固定宿舍学生导入模板.xlsx deleted file mode 100644 index 98194951de5679fe6afb15182ba167e8303aeb0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10105 zcmeHtWmH|uvM%l}ArLgd-GlqWWubxK?k>SKcyI~s5FCQLySqCH5}e?cyGYL2+2QPa z#(O{C7_WcKImcRM{Z-HEnq38yf`mc8_e-C)jgMqa^(9YV%o&g9V!vg&P z_meEXocEd=91P410t^i8?_|0*HuTPx7OBzgl8{VTfJ@&WXcg8hmVg`s1t|1)C{^FM zj8>|A5)H)Dg!gLe#{Aca>c(5;PgsVeGh_j;4-W@DmQr4H81EI5B6F0LNbH&<03k%@ zHIfY_8J>OednL&u88bM6C%y~AlNx-_o5rc`Cybo-9&S^yL8$oC2bXGJ$s65r85@K> z>R??5DWgy!8jjE3@*w;yQb+@lX5h#J-GSDSrqU_wSF2-7h4G`>^z4pc&+h6kMr%d^Wvk zwy#Fqp}n*DR^zKGd%V=6s#Xi#KDAx?1$lU3oIw8xG`Du4g%Sv8BM{K&e+OFM+RpG1 z>9FW=$xg=S{zuTOnO|C@7B&(x_XG^zpg_@tyd$};1teFIj$1_#ceHV913i!@ostP$ z*A4APetba^qwf$S*NKi$tpBz=Yl>0Syxb(3fGD>q ztBKXdZ~);$j1HvSMEt4Qhxid?Ed9Zc83_c=ffpN1tRb9UtcV&+4}H(P^@Rddee``f z177H;9t4|&V!1~Yr%8`PK=lH>Ar5H6VbC8=xEKc>ILD}YKSf(*1an$ zUV5?DKsY7wqH{aqczOS{p#)EIc|QblK%t%Lb(@B1Mbd7!pTXPf+`KvpRw>#9N0!#3 zdMMkPkrwtcA_nX9qhzcf&v>g2#-aqF_^=PS_G1^n+`UZCq9wP*h@Ol@`o8mCl!@$1 zi_5J}i^RNUzNN1h+NBHppJkI#jqis}n?r>Y1r1fh7YVM0B(%J9)${nX|!L zy6Jigi^p^{S5IQ-PwscCz8EdZU38F)sCLX=(VcemcqKVKlpXnuMF?VPsHYHJMw`QV ziw^aotWSlFg1gd#M^^T=6yLhoSXhm<;+4v27A@y`kg}~0Wu`gSt!2@QIUK@Xmy=q$wp_vqtAZnj1`nvc!bfnI06%5K3sf584 z(>Il63jmpPJEUqduK41UOIyhzvo*mnwNI5^43F0+>qoi++^s`4{Jhd!?`m{zWXl~1 zd`d!Kt98yfj!hW?W?k03+*Bh@{Yo4cGh3mv zk9wwuhwmqa*`*V-JbpI#}dp9o39I$QS%VZz$WeGo?%bKkK&&qLK%i%I$Y+vvlL%^7Q?n|KmVOF>)nU%dZTnYF+6@ez(v!9xkEOos7V%Q;Fz$)2W zFK<2;qY_cF<{0`S0}VKVCH~yM_=@~(5BevO?}5>>K(A2_&e4z);b8G;E+}be&JLys zsNN&6(aOPbznceeu{ikfRdBvr)T>5F{8rd2+QznFQ<0fZsUi4_EgBq?=yzm{Ue+#m zx}n!tFUYe_@JdugBW~}Rwaa-gMDX2-dRjJet=TSQv~Fyo(>O;X_yV{B!Y?~$S3BMu z)>NE}2!?T;?)zfQ*0PuQeeMq_u##?*Aap|3qV$IUg3F%6PLA{$9a) z_l{e{Mg5enqF2k$$*OyxdkuqL&BrX0#&cx$(pX)?{uw{kxk7ClK=H#Aw7~zDWy$jC(0NAfN(_PsJJZ> z!X<9}XR{Ham9WQxnRM4L2RR|t^|LMBoNB*Y3}r}xj;@Kqql>+RhiENbX{CWVyB&i> z3x#?ixq?|wLn5^77eyir%kK2{OjJSIgTnVaak4|7$qC6QKjN#nubArtt^PiiMP_q4 z9*jDszRqLOSr210I7SQl-^sN$zoIpdxXO}R<&8wus;2F-6ka?p&n*^xMQ*xH|3>dT zT~0CGM+-MT%G1jR2Yo-QK6N4_EqYlEZ4A-)d4PotNzp-NNDMd~J@nWO8r-mG^cUqQ ztF@lcLKCHw4d?SAVfE88M8eR5d-ZlSSv~fZOB7pv_LkRVqhe?#`Mv!txcsQ)FeRA& z{`?dIwxlZEQaqEjrovV{<{5FYGUij4g_$j1X!vG5H;$2&W)(HY4QqG`@sR=DvQEds zH?s3>tW_svJdIz5a9#i(hHPUt~Xte{M_%YOB^S*zmo?HoVFYJlk!em^X29$g+Jh2AjJSRHTuLGAe0Qu{2~wB);X4Yt$@wV@BU1;AJSg zC0aCH_*y}YRvxkR9$9<$-@7r;If zo-|?eK&M8kbA09vi$<&#nB!_mg!D{eywjZtT2UUAP(8Yi+WH*`0Z3dGR#CI0Nc0Pm zghdWKxDYnTCRrQZ9+Yc4EAj6_6F98$GDn?I!g@nH&7Kzrd&Y8Od&Uu{N4&gEm!0eP zw}F=}wN)wpiySB+h}s_a{Y2VJfL8wN)9KF9fs=}$ALos*qh1eH_;9$aF+1Jc5ngUL zSKZkW+MeIbp<1YpGvJOUgTx)e@H2P`eXM#IOTQQp%hqNQ>3u71BN?M7S(eX)Y+~;& zMw)$DdSZn@Nod$M7_%5&+zgb)qFZ+-`+&cOvR&K_C;%@t(Sk<2q_72!Xh?_D@qV}* zbgs4Cud88^$S^Y!+?{J7zz`eK4AA$7#K81F!zaR2$Xce8BxpPYYTNXSAuMO*` z+&HX3O<0VxhqWMGGoOW2A-<%ZUSQRCvP>ucO|I3d?qnYT0nls6TBbJ=+DFG{ z704kuP|k}N2-t_ULm~+or+;I3OmJuvGS8vK>GgS=Y!WL33O3nHqSP@5ke7|s3^C-gqW z39DHv$~*6{7j8%2>;UTBFC1M|LNX=y0=h01^1g>ZV_$hSpeiSWTTd->M5hah=cEfP zV=OLmEl7E0FbGii06(U10$awYjz8 z({KY{;M@So=Y@4)?xw83%1u$(9&zjh7Rw$J044`jWgH@v{Mdm^f^s#GVoQZBD=}-w zW>9&CoPFDl(WMj*X=~>F2#g>0uH#|+vES>}SSF11Sn;8YF0&wSJz_OSvk%>_Q6Kt}8tPE1Vq zPR1_Vw?RkLYYtP_R~*!x`mx@#xmM&%h-(Y|Z#n|*KlfWyxNi-M<|QOUDc9YXJEbem z6+i|@njsF31q38Y3VU}a#l(5lqZskhKuZ>m_vfgp`RQEs=74cGl#*qmpD2&d`=eWO z-zLQ?@X3pub*zKql?Tstu6Ys^W{gHk)}1h73%0hMr_|IW+J)LDIdn@g`BiQvkdep^ zmdK9N#?UQc@Og^jGV`^06$wL{j>VY!CG4uR5OxCDIjfI-l@y2e}^60!w=9Ok@DqxizDr4f4 z56A$HuPWv=GbufT=h7U<8%;fo39m)qHAqSBQ7`zZ-9@FJ?;%%@US`z1yt)^{^egwt z=QDnRnuC}_fG@CV0Bgx;sxVV!x|dTDZ#iSUw7caV@myWX3BxOWV$Q{WtHR#ygf=Yo z?cC>T0(BF!;vd7X~fsw!lYO}Rgl*u${*Bz2(O zjY$R!4Efh4XYb%*VQBxD$xLflMl7mgKZJLAm20%acCnsFX)UEn?;7+>NFu&100==S z8DbdsMC+r5D-L_BP&*8^WxdRV@Sm2XZKVDRNuVQWQEk!al_$ZHe!*aK*j#f|-|x6V zf#@ zQ*Jtj167l?JypG?4!Ux45@gT%EqYx(uXK%BK!y+TV# zlVFWkx&LL$L$)AV^XKk|ah4WGb$O{^s^T~4Q-kkY?lzbf+l=z~I#fRK8Nk~4Fp>*) zsg%W2+-<@_9n6-EI!&ZZ@k7UpGK}+`o9-KLZL_q+ZtNdgyn{@qP-75|?~h77c!-GO zrbF#3jzX%2WPpo<+C!Rv}{D;uaU{wN}^@x(jh>aDJTTsrmPcuw~ksNShJZ4HX?BmrB{Eu z@}+(bFH16|DM`lDK5;0Kr@eWgVi~h|e2k7I!Iuqd$a#s5!;wYRbS^-%D0+?F49=kb z+4uL)S>t;#u?FWdJhE%vXzdWEZ)VDPJ;R;Ay;e_s_t6ZVGw=$jSEnMIj@^>wgPP0^ z6e0mMOPDgv;3ci>tWYq6z1iogj7fjKA!&_KDT}VtIDgVy$e1 zZr(h~5_5|> z6*CTPt!a(fk}WyD`lWgUa%<6N$7~_bH~K|t%eBe3MW3OE@=Hc$9!je%2zy?op1KA* z$PH6QNzsc9zA=wCoUS%&)~b~jR&TyXn5+HJpgavO>N2mCda(-jy;?F?Yn*m@Dqa&p z@0P}{GOP6UaNon*i4Xf_WWx>dg$<4HxeyKl|QvNaoq6&}Ut`EkhFB_fd#6lEq(K51sGyMW>602*$O$2m~kS{_*@X zCK3t{#n;WL1M9?(_J(=)DKsxn97?6Nw6~EY>IoJD9ACSp6H3nSeURD}NAJ0HPxqfR zZVwuy!#b+jba^e2c(3)kWR09^okFuJ0~r-6vRk&oNS1wF)Uc_4fNgPp-pb`LbJgBm zRmicU&oTyjj(wlYV)`tHJ98#SYU=wLb;+jw(G<+>6xSjooV)c$C*l^bSMBYn%>*z} zli@p%C2fbImW)osu>=4v=#iT8#?E|MjQU#CN;4N<) zP>5(Q3Sn`Cq&u3_g5(9Ej+=;u_Du^0f<6OB;(_HrX^FVy;)H0uMzx^z`0W6afW~(U zT>=|wP1t6gb}opo(-6YZ4im-EJA!D$kt)%IT>8RnpeJdRO8U;o2yf9uwd69%hXk55 z$j$QmAW={d0`6}FG7ss!-Gxo7(xKzPqO;HUtZT-MC zu!8b?1=%^f=Bo|fUE>(%yPD*e2s$AmU^ue(Sqlng&49DjXAsNR5(8WzfkM;tl#;PF zGIg<3Q((Q6{_sMXKs_yl;ren)e=AMOSdPtZOP=S3w%n*&WW@9)WF3^cjTw~kJ?q2S zG6HH#D}KzSIJK8LvE2u}2_Hch5UCsLh%@LS`uHyk%Hj*)G)XBmAeh+->tBRHAA1(u z}x<6f0mKcBt! z%Ge=t9$6-`*Z`fSeNorUgE@Rd!)5#%76*atD1ei>> zr-`(^qsCViU*#Cvq|CIh=w6)IJ;o;l;yWW`7oEv+W8|kk(!{e^E!H!T3~R;^EC%Ts{tG>+{`WUgD%X_qe1lk$+tE_kvkD zTn3vUYi;&!Q7d>d+9RY4B#2w<5&KOPcMG-UsfvFIB9~F8h5FPZ^pcm=bVZMZgY6l{ zb^D4>qV&vFH|Vn>mf*`Fc?g$=V_yaIOXKuh6%o;$36ZeTA9vsGuyTmht+KM%?iDn|DZM1^X0Q(laDE@$0{^@Ho5m~|XxQwW}m~bgg(q~P4H1d(S zaZ1Rkw6@`&kAf5M9TMf&%|upk6;=#I{fm6)SksU>2|m?FKO=0Hyv?R6?iX=*UdfYJF!beztHkPkjuy5f*uX%dCn+7 zk04F&!9Oj;s)$J_5mOYeMp|ScKup+mk6(>Z5v8_ zaF!+cE%M!O7tb`I`aIod77tU2v#9Z?S3N_U_Q1bmt<~9MG*1Vj+e<@w|h*WxwNpD7+gPL=H;D78}somD1VCt zcg=HX$8wJkgbfF%#DMw>pT|;!p0&04&*Qu(8L3VIw16YuAG-66GD%ecsTkkjcn(u+>Px@JKdA+%{)ykm2cByNwwFS7#p%CC1l}udTcT;u|2%p8tQYq zVDmU*M1=vZ?URlk9@XE%xZUyWiQ&dtvNYkG5)E5+1(^7mp0Ucl-NZsvZSdGCf$Z^s zMT;E@;n6k-ftP{pn79wrT~J{?)=A2SAb<&i?1xymOf65FDN+%iLwwxr9jG+=pI&^xY4e^lz}?5te~^O?v4kK^KByn@4I~J zzIMLtUR2n1K7C9htB@3O%z`sKEUPs~-U+hV>$jlQ9_BVlZY~o}bvhvN^@S zT+NP=*cCQb8vyREY#FO(%5FLrb!sE`86|yFeGb>Fhxm>4Y~!xAhGCGr7bo4zY3C}$ zKW_nsc7?Ogm9&FhsSn2JKs-oLJJ97Vc0iztmVMUqJ+j+gwgWZhj(!i?b7yiXq+~YS z77q@^us+P*TtIZZG`kezZkX-_S;Chd#*YbS`wT{{e+Eoz7wDJvpnyOCTB47IVRd0^ zD+fa>2W=%68$)}|$DmLhJ80GMh*jJTYE&&Y6R@C=8X}Z0o=#yGw(jD+NEfOLl7H(_ zmjD?W^u(A9X>Xd_p$0!pc5Z1jv@>lQ$-)G^a^!SWS4Hj(p9(ZD zUtfc_V=5CmZOU0Sry!&@=-+hJ9Ue%qDW%SZ`x49WVIkXr{e3L;CLXP1;A;cF6TkPa zTkqQP4#Toea(xYG-JP+MENl$F&Z!5cAm#Qdqs&#gXh{->)#t$}aD|h$2V!{g z5E)ACWpcVF%WEztaP;ap+HYxfG7qG{YpdWRt_wE9%28mbPma5wAs~8Z6gh~wxhbJ^ zYu&;XA<$b9holk1HYl}i*3NQyQ`$pZ8Q$+tE~uH$c`n4d76MF1)_UoL7CZ_~SI9Sf_}oqR9(diZo!An2f{ORx5LiDquwShzPrU?k6c{)dG3ZK5@{d0ICE%aW z_aB4NukqOR5fYv`K7e*FP@(-(|=R;__qEUkIEj$-@0-B)c3R>=aKlA zK8nAy{i{3YDMU}3On!4mf|mDRO8?z*@|68)gT!xkOi(cS&Hh)r#DAOgV;8`$@i=K~ zsDJeYJWltYUGgVN6GVRtT~7^t8si@I{6gva?`;1O@t(?gnkoI3a|QpZ;7SPs>lgHNO2j+wWr3Qw5{Wj_m|h2{)6{-lgCr@pH|_2OHqXV%lv;? s@bmVwCjWmfMHu7@5cq$a$4@CgE4@G|=%0ZD6SPglfNUOn`KbMW0O(qACjbBd diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/template/固定班级学生导入模板.xlsx b/febs-server/edu-school/edu-school-biz/src/main/resources/template/固定班级学生导入模板.xlsx deleted file mode 100644 index 9e97fe7fa27ade0ddf6468ec5a640dcae3675d7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10143 zcmeHtWmH_twl3~2Ng!x~yNBSC#%UUY252O>dvJGxOK`W~?(XjH5-d2u3FJa@&dv^J z-!tC(`NnwlW34s1r_}ns>RGdEPLL!t3=+h{@B^+1Jly|15bqy!%-@5o%q^@LLHA-f z_a7kq6pJb0z2b(1fG~oBfWY{>n3jbFgT1LqQbel+G&2t1!t)14nK`Q|AX7&U2J-`2 z#aAx9r3#NY9kFEL-RhbVpB3Vo(Pr6W)&Z$hAmG)(LBGpF;`28B-8?c>&f-Gx9fMd9 zl*p`Fg02MPlN_&?5MGKV&lO60g)9$CnX8P;Inu!VT?y{1UA zkjyt`jV2*-*e@sa=IPM&)^`-0dG5$Lht}tb9H}E*YiFhgeA!>#IT~QUofFH+Y7JW` z>P#Eg-5(9O*y^sHuD3wcZw=K?+ABV<QS z(T!pGa>yChJ%evKrlP#dO*On?InODl<-*I~#SQBi_D`To$ua=)_dx621C9B2px>KY z={_JG95E`<&h*UZ5Oz83OOxbSXZ!^2u37IF3!Q%EPMSD1~6p((m@u#X9S4=f1_LU zb8ajZz1nOU)GlrfRoKV(>3t(@H-TDv9Z+l^8dsPE6QdQai9_r{Xc>sE2rPtpFpQ7X ztcES2Kjsr+nuf{kg-u4%zjMcVhBTtt&|V>W96Ieac`)puIBRXRp`@@~5l}xIlaBr2 zAnPsnd-dtYy5%l}E9#~MHE^}Ud);_-L;(jHSnMY?jHX~~RyWYXcF6?JA>tqw^1*kq zJ*RAe!zo28zkifeuRD3v=qiyVa?kvNAOFiAaDP&;{aqu5_MQUFdkV1spupDJ z#@zIQgsgCN$#y0j-$U3R!aXkWp$xarOhu>dNWfIN_0eP5s%g>^5kSAo<-ypu4M!r3 z=vy1B4#VP##p@7gLJ8nr9Jx>d5}k}W@PXXrX^kKzOxILdAv`$%DYUIc!OkUm!I&M< z)Je--SS+%wv2q;i{rFy|^7G-sta%%W&`R5kC9O$YmzNTg0~ujYScRY#2D&vF+(BTmMRQ8Pu(U;*U@=NaI zm7p$upYK5<`|U})vqQn^!?z=5K6k6#2>Sjk!@QFj3+PXqXII86hnffYARe&&=Wqjk zkFCAQ&p`9f0%*SkKA2k>TN~)=+B^xik6=@n`c6C zAue&lI0g5cjY)cP0zR?LxT8`{sVC#ch4_fYP*7Xe7ZcNWfA&HV-hx+s(b+D1qFi3D zU)V#G_$hnHFeWoffL@ApR~p#trmDUmw+3B|TqK41+67YPaPx3^5P!X@2?_xQ(v9;V3^3igG7hg@1_bjw_~i^qzs($N^^(_HCgORfRdTqkZZ}1>aLRC^A;KMoa&vXV zt$O(mdx&I3ms5rIbKZlCZ#G@$oYXH5TD-;880eg)ObAh=rW%^Y>4m86w2k=N0Phh7HCTk<}Bkz_S zD`o@$LXh>tqc=&37PtwXOoxh;!ygHz(O%B`zZ;=_syFxk8wGfM1EX=s5lCj1JrrK8oV>%DcmAv- zt3c!>h2a*1lJ;4O%-a+XFkVc!tDD7B%)Rv5q_M!{h(#5Q5oG;mz9tr=`TOO8k&yHZ zup`$P2!kRKUlhX4R=R@n4CE8n?9T>-RZohMiGn`gsc0%gP|8Vd%bj8Cb7yh}z204y5K@cgx#>{}60<%T zXoThB+{}b_%fIV-ilLCEWO+3<6upo}$%q@APBFtFt4$LUntA1jePjBDXClhcc&-$qRk5~5N=B%T^a4}vIUt$M{(PR zXdNmBCGD09FTcoF#R=TRvh!-b`U3A_CF^;t80M`55_b*`qydwLuoMX#)?Jk6eB zqh6=U3FhDdF!jVK)>n4<6ec!7GO>s5+Hmay*>m(EW-bKZ(n^Nw71k@7>arn|+;Ga& ztAAE9VrUX@(*;N-U@2Z+OGBGJLB?2u%smvaqqAT|M;~0n3_6Jx&wcQKbY@N*W3N$@UnX2#;crHho)l?KYGE zG@c@xh*5kP<~eEXJSRRvAUkve&_b&V?aInb?3>WoQ#M)Y!*&>9?Sbt^*Yo{deVLJ6 z{ZRBnUfza__SM@Pzl)~oibS7zPP9N|4VT+qVvPkrGym1eWczU6ahd;*vwHYpx4Q}g z1U$CL?ar-GH>c~%&WunE*KZ{-P1HxJ2#4eTVm849sk}rUW?f80Uvx--)#=3AUkh4D zM;J&KWz(P=I64bZre72tn;}sV>9+Jo&W985A^(9;rUnW)9TIT)@p7pg)F?_ zLd41;Mp?0C*ZTXtxsT@)$}lOi`vk;4(Ad6NZ>E|5D708buoS(YU5%Kata4&POg$B3 z@uLl^(TDPw!J{B{IekfC`vdOW&9Kropw{`^)E4o@ zjPa{-bNJ|u&1E@*b$os^eWayxtHRt3>3-$wBET*&+*nrAE&~8ICv|x=GPUf;zI3cY zC5UoUkv%;wecPg6VTyud%ZkaN2p?s0%6kY-kRL`7>@(i1hq^^L&;y!Zyr!}aI&M>` z6Z5qflOr~4+;Wj;2li>}0x=8yP~lwcc)E;W%}}M!>1&cY!~u4duzM_rjlrMF5Rx4b za|xwIpFE9>?A%V>VgK51i+;sv==hS8ru}`C`*fBW1vB!>T(44_?`>(XNtyHJph$LX z0*pe-veZ%*4*A@NHBX4+R=3G-5i!z5~snQ#T0Th0=zs^YAItmADu zC7Hd-*JH^^f&GQRQMyR_1)NMZxNnLW=r**`i&P&R6{Px7!f860?ovLdUtrgGD&rZU zUs{OMF^$EIoz{Rz{b-`RCk~Me2&DGi4LoSUvA(IE`9|O9dz$X5Uh5miR`^C{&SgMi z;hew3MG~@0ql??-_ElzItfv!?!D7Kwz)+%4+=HB@EGRZ!$y=J|#SzL)Fp7wQ^y0>M zJ8+5@^b&aWy3^U3My2Uuj^MJMn>b-0HA>Y_S~zl+|0%OMx?X*rx_OMglesJ=FSBvE zk%}Tjd7I*h*!UePfOA99n06|$tN%=j^JuN1iz)Wi8$>lS(p&U%ei~;Hsb{;WmBSaQ zRWB}Yg|NL!JaYN;pQC3YXA%+!tn0v=G8xKERT%DO7RH!P=`ZYTI)^?}m9)chOBtJS zu-+`QwmPN@PI@;}T1lvCV05%MisO?eYZt~G!pt9w>o&0FHNUb=e>tn!7FAJ!YOpTz zXA*l5>`hv8zq>I@LqMSZ+T^Tl987erA2OLqHPg^}W!$@v4!07uR`?FKV@dErlGKh) z*O&zIyUze2D0y8h{jP}j=pkBQY(Nug3Yt`!)VpPiv!Sf~1AHUvuy~T5pXsp3KKP}^!Y}Ji;W47{2e&0w%fuNbtM(syQ zn(IYOqk>Yj>%<8+J>yZ5ujAL#$z5)Z+deyfuCv4h(GYCv)V9M{6B$%oO^P&U^P<4w z$!2^4Za(KR)HX1!=i*Vx1V37mVvdZrBUqgAQ+^h>|4bo!bxzzs+Hj|KpJ^L@aodP{ zJKEE1+LZgPV}%j5%|T5EyyW8SIXrLu)3azhrlSmBqijE%^WFqP&fL#PUQ;MsE7PVM z&-%W!ccZLLwyLs{0n`ObDHHwPP2bm;=Ueo$`Pvk7 z_;lc{JeVj1I~0p!D8H}6!|YEN58I6;PVmFVh%k=wof+=wZ*H-+M6K-|n0$avp;TcM zj_D0g+P@2p=B7vQDF{cYgl0sDM&LwL$rk;tIIN|QGVFGCawY6IB}=;p9UYgd74bf* z=Qxgc8ePb$q{F178QLnQiH2X3`Ph#wNJizKVysO#>VNNNp;DnQUY(2q^ze&yFI}h!@E*V`tZpJ@wMM2O1EZN z20e!<>qiyoZ5U)iSk_<#+WreV;IvQxqqR|KMe4W@-++|buq0)suiz$)g^vDB4K4t< zJztX1F<%V~)yiILH%UOL#o{&}n)TD#l^-{h>7^V&=cyJ35pe8$r}|9KG?5^!eL-^9 za>hLr0FAv#lY||OvC^=@V#=NnQ~5%*4z)SI)HXxNRq1`c%3^iGO@1ltKyKmC)Ll`f z2~pR}q!Y&g8<|0>a7hNyekJ1=-N{O$MsT&1uxjHi(oFToI)zC{5rqQ@4%}zpc!~o7IqvHr;S_iwcy{NqxLEURVbBnaFkc9|Wt^g72r zgmbg!iDod<;b~6xZ|+1}nQQY<(h*`T?W(xVcA1V;iA-X!0>1Evd$Ut2gN<@WG3n6B zFFe+RCe)L@N5FwzoG6dk|vGl`6NUZ#_A)cjmdZNyxqa&4c3+O z8>rX!_fKb~*eGZ`lpE_4`{r?s)(I@r19Gg2=r;8BvCq%W znmHV#En7P)3)!~ym`1|RaO`oJOrB&(U>R~2NVr{0a?>YYv0L_ zB*DWLMAK^2XSJUZT_@kDCHPJ4n4sZu;aAyg*~U_L^l{B zV3{6$3&35aegA4H)vkTw`;u(pKC$4s3nigUfwl;@eQB{%veISGRSc^j2h zeJYh~*Xm$~w1CROk{3(S)9MS&sLp-f*iZMDdr>F!A^ZD_$iug+X!FlOlcYtkfB+UV zoPP=Wf9jfZl0hu)DL-?lU@LB%>T9qXYwW<{1we3&wnMIEKvE0&G=OJ8e#6PZDGkVs zN8O51ULL!xTIW|n;6;lEgsnm z)E}3<-4JFr7Xb#S;PviJ8aY=cYox@!STS>L60fm>PN9};Ww9^*6w<16Fgaa9FL>Du zm$XSa*`HutwJv$YNljgL-v6zLBK&ed5y+)x+fxSnLO&%-@r}s#*qh+tAK$-zm!)}O z1+}@3MVk?N7;<-Nf4TCZ{pLc1*fqH?uwf)CKszcWBI~Ivk4Bx1ROp=pN8QbG2SLqC zm^Xc&SJ$_8uCymdvZ9{3IwmJGmI;0;TU|RC2J<<^2l}gxWT`!Ky_>xxzHnb}&k1GV zyVm^PFT-iNiVJL|+##9j*LYhM6=(FOsD(~20$|;QAI|R^#Xosv^ad!H5}g`e6B#0@ zPWGgMk5)DeFIpZoiOw>l^e`Znz$Q+1)#%Lq`h$ln{Ua10o z!vnb%>@W0Dsr6Yi+9v%6*fR$PKO!l;WSNd)QEH2>D8qlDziRBt(2iRq@`a8Eib6IL z@BUGTf#;O!{_)mRCPD7Larqn#MB1xygr&)FlYS@MRhO<&*jnz2mr^LF_ z%!07!dmVYZ7++a!zN>n6V&>A%me?1gFuORP7dyDv$U9H7yRpd~hIgW_Jq=|0cGiSg zU=mGto}_)$P^t&sbvkm<(%LgYxuf8p0*#`1$&7r0;JA@YqBFT_-u`)E%|C#BPmlpR7%2G+v(+mv^mn*PLu!7{o1|^4N zdIuz{6_8LZ$16c{R1D$+lHvos!;+N>c~bO>W!38&Wz-A|vJhVfX{!|asHmw+#-h;xuY>b=Tx zAg_|plR(OHi1W$%JjB$LByE|UBpt9=4vU;}zUSDSv%XVjDsWyd{Y`^oz;U)=ZQ~U8 z@WN(p`_s(qwwJt+JimJV-fUgroBXBPjjN)Kjy%_;<`|esnNKpVTxm}Y&V!1A1-izo zh%jpHxSohM&s1Lb9yBsez2e(n4k>_CAm}Z=ZYimT{#nuZT^SwNHr?gBhmG^T5P|-? z2%&9mZv6A4FI-x(T>!)P(DR4ZY`t`R1wb;=Gj}EkXTlL&9;vtET3XM3w#;4MD!<)1 z?%c@Jz*_z;C5lXArGcp~eOw%fxZP!uc7f~S=2Tak)d8RVI#NU!(A+w1>*7-RHJIBO z-X-9yWpZN(J@ZCBNvT~ivW+8N!3p_^DKp>BXP9UN*eB0QqpVpir z+mU8`1{5KjKXfnD+(lAJ@>IT}*bM4(Ouc>Nx7#;l)Zqhuq6|<+ficSQL_@)^$qx(; zLxt8(iw2P6C)XoX{QwJgl&Ke6u5{vzY_D$pR?_kfWH(tGR!5xRN)MsdP5?xfv&3)e zpws2ZxZ<3HtK-&M-!G)14=l=Qu5mcyBR>7Q7K;B(Hfc{I*K#*J_$rqnvYt&y5;byg zD*RbQz^n;)Aad}>6$#Q2|01vHT<~$Zuy=L2~Iq(9(d&e|}(*pt?AagUYyF+zbIp|ao9C@4!eQ3oFyceROp0_)+!W)+% zJj_b_MLs;q)+7w~qnC5WOf$wA01oc;u$3)e|KSG-zk)(NdQ^a#Pwd;kg$=c4OS-sj zH6U>ydFtSm!1(x9TWk2JYDK>omp6I(?hi7S?v5`p4t(qyVpb>g`5*pwEdOzuyOjUt$kMxqq+mpXfG5_8YZ7lrVhmykcGG=M9As!^^3COy*Ca zy?I?RR9WJ8+TE60gKB(N%%nIx;{-2~M*%nOGShjCC=>SjBmvr>Z7U77B9fuO>JB;7no!JlHLfzUow&RglxT0`Io31(R8|-#5FP1YR#dn1DRr)|XOPl(t zX~1>+{B{l09=-Ul%FhtGwUNKFovwXvu43$`=zf~wX19GA=#xDMN4NC4$C0d!L%s)2 zZ(qz`P{YsR9j>pRBG@|p*)I7_H~YQ{OIxoC-I+awBuWB1UXu&w+u$DT?kqq=j1-3? z(@wC~7c{ET#d@=NLJMcB<-fue49Z-Cl4?6_NF<{3=q{+IIoetFa z;WDy{B4F+53VW3q_sd{DR^+jbe{_)ob6wE2l6=I9W)CaHC3%ioTnrZ(4K0;Br`Z*V zu>ieAg**cFcDH3j%B=B;hp%g2QWz^U?9!p#VNC^vJ7N;ZxMXz&(TcfP=%gWY*_e`u zMyGe(QERX-)}n|e3*k!?c|c70_lX9KaGJ!L`{4a=EICsazpst$tXpJjA+^yJ@eT6J*sFV>!Du zZLK%K?JRwXh#HCn$g6^l@G_KGs^g;$7)Z$OsrfddPEPV@o!}dUd?W@llE7pV_&WKP z_3CLZcPeYBOWoVO@i`Ua8P~Ze$2@@H&`LMG(40%2;qqBgcwIBq!ieaPHjnR<-TQ7g zE60|^uFxP!NGP12d)u#umd7mJ69oYYL2`eUBmGCtei``ZqyL9s^lLoy#uO0!4o!bL zeH@$~bbdJ<`Ag^LkLkZTd-%2f8V}AM#@~8&{`B{_Yv)1ump{tCtNp8o=P^W&TTy;% zhutslznuQNG3BxP<2H)l>e%^$NsNZ(r2!7i6kCf`Mg~umtzb(AP`eos-bGQEn z)}QarcfSq(Rd9Oj@o{D9w@2N-tNpH1JvQ(-{rPP`knpG9zr*(5CjHRt@oPLV9QKRh zKUzQjT-%SEKOS^{vDWY(y1!dN9#8*qf&RA@F#KQB|5x+L&)d&({r|ZY;5`@j;Q#GC bep>li1O`dM{tO)0_uE9|{hZHVJb3>fP4A8V diff --git a/febs-server/edu-school/edu-school-biz/src/main/resources/template/宿舍预选导入模板.xlsx b/febs-server/edu-school/edu-school-biz/src/main/resources/template/宿舍预选导入模板.xlsx deleted file mode 100644 index 27ffb08cbcfa92c57004182204b250725a49354d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10150 zcmeHtbx>T}vN!H7K>`F4+}+)EaJN8kcb5RcgG+F?;O_43?iM6C!3pFI$-O5h-1Ba| zf4{14Rn6YJW?I(jUc0+z{aQ{690CsHX#@f``Je9p9~n2Si#rL7OQ-dFP(l|8zgb>p{z-%ct3Kr*obgl7~ywfX}v4K0F z4AygyG71%>Vz2m`2j*vyLL7)N3qu;{A!iM4DxJc5vo^k57(b><%jyX7;(L9mR0(lF z{3c~`%vfN4#68yN-R^e;gC(w*Mc0m(DXbaeoST=HCcJsu8g3@&ii_g;xgC+qr9GKb zhDQ^@*Smdnb4@m|#vKvHsfT4(HM}S>RzyK7J*ljRK(6z_#+Vr8= zz8Up^e4ov`7GGV}>#Z48y;kU+-+t{EpI>VD*+8{1T-}2-wplF+RpIF z(qYjPl3n!J{wI)YncJ;0iw&8XNBoAWNDyQp&P2C!%E{Hl6IKy~zU!%U1+4+5O*2R> zr;HrCKkPcs2TWyH;yM zc-{M?4{n~fE?)N@-eG6f69P*}_&6VS6(&l%01Y^)sdPriTw_e_eQeZaO9n{y)6Auni(o6OV9l#z@E1m3KTBq%nYiqawP ze%WvxlTaz!0znc?))~N1h~OtQ$X?VrR=ByS7eIyRovkc^CJ}*)=xkSZ@{C(HXMweJ z*LyD{9@E)UGllkU>aa)cg zUOxZtq2otgsRs+AVcKI4<5vEU8+|awL5yQOGug|?SZxdIQ#GS)!@M9*w*BXD0}iyU zi^b1C^UnlGzX+VI?ab{>3=JKg2PK39#cE5SlT0B&K(POV_9qL&&sRpt(t3#y<&oF) z2k2Q#FCeB>*tU>Xy;>q!sl@$O`jkVoCjc~f>ERB49)R!obrAaH@kW~aF}vC__iPAW zJLl)*6e9^qSY|=2%7rf%eb*xkm?Wd$^42BUBB#h~E{tv;SF&cVI+Q`u2!*!nG+eEB zK61zljA&;eG6%&j&Mt3F9w#upa6wHq>mfCD>oB8zxyUelq{;4}E(vN*bH&2k`lceI zUhJVXx);$Rq9^$VZb)<3ahxf-{y6fDE~{r|S$wBizEnDlb`@Z8h`MayQX;L!Mc^Vr ze`cBYa0CbKrL+}Q+=VQ|iU7)uaayfq%xt|db4!T4Po)%;SB!ufx;VshI z-I2YlgEpWJTfY0z5fW6?qP!2xC8%&)!6cMp~{w!~9aE9780%M6O zaI^m}Ta@wV7L6IQTB1i0xrV$$hPX!kGHdyjUqNo3eo@3HLn4`lCXBd~IFO`IezJ^C zL?j&EI4W+3h+vru@5Nk%XchFSKqk%Y>md$s&3D-rs^_}SOQCcrkkPeKxHPffVZqu; zSKFwdF7C&{Q9>bJO0J?eP!S2P_(c&3L9;q(T!<=2dy@HnBTRPaH#s93eSNqnF_D4%X5oG z-;kQ_(yHoTrpqd(`{>}rM|pYMV4)snHKb04q(!f&qm08FV+UB+5EUI&g~Wi;&_a&i zp}>rYMsF)eS*`bm7MdufY`R^nK&-bIhSSSZSwsk`OUUcZ6g1D0t?SuwryxnJ2BTFz0Ys6_LYbGG#BgZKg>;uNYkiks?D*a zJ7_n)W!GWl7NPG?RB5W|^)E?j1*K<+IB?)R0t#b!o$;i-L>&>A9&qbSDoU&#EujKuj~0R@Je@Cq>b-TjZoMXf`}ZKH{w-?H2cldNLe>h6B!1Je zoUYA)7~D!$fxqczi93gNh)IhH*06TEDaO=}nQ%)dtE?Bsh8osUo>;K3KI*}zo}GA1 zI=$%r*^JSicokV4W%`)$unWm>Z9xa(kZDLTTLnzS3h^ZkwESznQ)O=pRCBG?^rren z;6(ZinalJ?L;GoXtpeF42g`YI14Ry@?GT7UCTLX+Pw|h9g1n&l)?G52tQ9uv?{5Tc z{Gh_ct3W20(B(IWhCXneEhSf?lI9KaOE^RV;1@aW!WJR&9v_dc`plm@IouM9|qOs^Z`& z5|nG?$aYj%vJ$iQY=)F)Nm+O8=v_;35q4%jj6wQlQVM4W0M4;fEd!ah~P zq`ATt;LC`;z>10K*~{2x`8wo?e9La?_J*CZ>s{>oxm+t!2Ke>G0oBfchl&AbdZfEvq66SYJ<8Y8MQiYlqfA?N~Gahdsg;p!3(hG0RmS#&(8 z9~Z9ov3rt$A3qyMkB2>_dh7Kf-c1wNtK{K~Sj|8gp_m0eECy?2qozV_>v&^#Yk5>2 z2JRUs5uV%KvWORZVWOYAc((`oV|mqg`xdZB{QRC8L^~>`54~qU9Qyu-OYR^rL&wW zy>HMvDG9IfSws*_$q>!BH~JlNxZ=or6-tMp_N>>LVE!|b)J>FM!13P-SkzcFdFM$m zrC-t69Jkb-Gz>UyQn=b0<=`xxaqM#Ja$l#I>vAp4$-1T4^}*g-t+Oc|nW-z|wc$Hx z{V31$x{hyAR*mzTKIfvLJ53F6`+6~Rz@_^z=)}i)nUX9Pj!u!$dBQfGP0rb>LV39) z1}K|p!^Pv`^_WEL)S>cSIW3>&LrPW2m;KuRF<^I>LkJ$n!EfqbF6HKj+n(|V?6ve9P(?cIxzi%=uwHxK} zcBPP(ABajldW?wUqCxI2jzXvbr-O-uVTV=E6Z@_*re};W=6!j7E95pSPjv_$mzbd! z{VuluERkmpS&aw%CuT~~!CyAP_`z=1g?B_xeoRkgxZ`M(( z`0F;a!A3-`qO_VCtJ@9pxLJ}Z%}Fv|_KCxZ+#M~0l`H7Q6XP^Y3BD{C!!FA-?2b%o zrt<;XMbYcDW-tZ~FTQ=iW{&Se#~7N=@XW4N)!8FV-^!Hnet|QIbE}!^{K*WKBk%^H z?`>r^4XY*7M|GJ!2zY!*rZ8oyp=)ZuoM14Wy;((d#*{zru(Z~g6j@Gyzz(I2f$@Dk zrU+nfsXV)TsSXgKm$%tvk&MuQ#$`Ra5U6*cG-WC~KsJudT_+@m$GZQW{4)*xbh3>8 zHQ{6XCD&*$IQkA{Dta8sdhoj@Jg$zo)XR$|_|W>3`Ii{CHSKGU6~<^?gE1+de7kp(Y1sL02ltT zcA}t!<2TU->G-)A)AE*%xwYukT(psaH;t*z1V+2YzuA89O-a)+Zd6_o!f=&4<#bcg z7@YazFD_iASV7E1WxBfvKZ}-s zv|A5hFb?4T(`5xZ0undbm#yg|>%>p?hItPuRIkq*N~LvlcM&8S@RtG{+1%0zBo_`o zO6`lI_TGD>`%f8n1P#$(oYZc)vPmR9=&+TnlTvJuX;)_;B11&>04j|DtQ(?+%>#oh zOA8BDuE&{c_8w}2j-CCMF_81DhnyBO7dc#+vpG`J-!3Riw%(mgL)}kvE`h^%SbuUN zZ1sNA(Sh884;3{Pz6XwE5O*^vw{LbW%I}ZF$EV%{L+Sab|HjvBQjC)oj1sq)xb?ha z@cc)rz)3r-<(&i4E2^tPXe>eL&Sv!>c>##iW_8Ta^-T;5^*cV3DNpZ z>OmXvy8%Q2P0kA4{F~~{m}XseuJCMWaN#J&iQ=f8K~&-hRVae4{b4qcQ&dVN{TCzz z_b8$|vYDjA{LNaVW(ED=NJwx24|n{T$F%P?%yZjHpezj;gz|NS zB5vSvf-|(_lCd^2^|2JwAbsTiu!5O#`Z{nU4dvwiR@&sT>{~sS+}MV;T*x~lgtR6k zo#c8=8RYW48zb2={OZfAevGA9b=PlWdyaS#J^?R4Qg`H07vM$o=~pJCrI&IuM5T}- z!HiZI{~`?f)Vt^|3tQG-b?I8oT-Gu>*lai1(v8L=0>V1c1-h9HN+Iaqtg|2&IF=Tc z-V9H7+NToh=X20e6+2AI4PYQSU0)sAMGk1Yx$U`clj(-xsmFF#WpQOCs%3h-j@hV6 zCj}!`)Oz2_&tSSc^Gf%9)Wn+Nn;c_%oIBR`oM9Bbd#~HTV3tX-24c^44~6IsA;z2{ zTb#S<^VnhUV_j|!hP%tHZlrw%t$>yv+^7K?`RO0W+Ui{#9=|>~_r;v&+}XR{Nq@;1 znP_`-v%S*MkHpZY1-X_ZzQyHx7&>J;3G?!1y<4{q#-j)m4{yoh^l`Y@Sm+V+7AM|& zz#)E(_~T}v55&shI@knJXRB|AQo)Pf9xi1tLEKuO&~LK1N3cClO?*3uR7R5;BEMJg zH4n4tsy-1r%L}yIj#ZyT>Dike;NOZ^{Ox1X5Kb+}{z}N##_72#!lHYV!eL`SzJL8L zPx;yoY-bCNDm&sN{PDu&X5G2#{#x{vSK44m^LTEser$SlE|xsEZli;A#G@-~oQBAOpWhJuf&j)Z zgMV;rxWIj%)My4FiSULD59HbfVI^lTQqr!3|lT==D)N@3IpI6Krt%_v5;pB&3@hO}*!?>~D^`|j57 z`?c*a6Wq+$HkSBctw{1&6nNY(U1&q}dwI+*9j6jzQQ}grd4)C~fPTYRueV2QnF&;7 zT5n^7SqZp{d00uRsk1)Nygaw^9AZuxj8|S*St?8zS!v-}qCEJr!xf2huB|@@VE%U5 z3R`RuM}3v5f7)DOq;ueY>Zzx9Xo2uZ$~P-Ff#fGU{t1NjUMiLRa_WS0>Gsv1C0;pR zpae4ToH7RZc|!ew2Nd=udUl2eiVk+BR>nUoy{d|`{td=94Q!TJ1|q=Dm36bj1dt|2(lRT6IC zHrJJ;R?gfC<8W6}>3{PS>0gEH^-8z1O6-O_1Rz^6g<_;l+|Z$H#tyW5a^F1DqX zPZ}c*r8^Zv6}s~pHa$+|CRZd}8O)U$E3%nzCpSWho4)4GL`G2J`U!0O21tkZEDv~r z#$yNK5y-!>2z_g7^PlH^Q8H3p{3rn@zCZL9nq-oyMWkYU3+6*HrrmU^VvP2^Dw z*SMNGl=gb2JX*M$nW{9>V~KUwo9P>~rX&Ecd%ZT9*O;E(?u`w(-Oza)F`_~uZ5>mN zo}M*d!?-+f?FnJVTeGxboDvON_xTz47+x>~G`29{)fzo_O2B(Pp;2OoL%4MfLSSW} zJ0~9k^%hl_Pv0hGgW*F3fe(N!UZ<9)%@(PM&m+D>H9CS<+`A{Hh#C$QqXjz+iC0S^ z7!BhfIW{?o5Zt^d9fnVu*^1T-6j^p6%edb4qL!dzW_t)+&nz;L-(hOr7m&pG+h6FrQ1JSiJw0I5;xwAVp{{a5B26PAfUo^B& zlqJz)lHK$uy(hjWC_Ak(&X}kR4s@>%WehyuCrJMoCq<7|KWc3ekf)w*gpNqO-AP{a zFlc(YLa4)#7vAjaDDTT}-S5;Yf9m0)w&E*Z+%g01s$|m%(e(9P|NevD4tMM#Epe2# zhr&2xAQwf9>BPR09Dh0&i%32P-@7+{tSwe@R)goFz3BvUGTc3@ltJ!IP`2#;&9~Op zg$JYSJc-#tV@y=rN>Qnf7Lk}A{XDYg+fXh=prAO$>>PQAPMjqJi%X1X5Jj~76BI+1 zzi74DQYZFl0bYfWWQ^SMPfhK1c0^5RRu74Dejv#@_(9Cr*S#I@%FCiFZg);o!$eysdfA8_1)@_LyGV6K*GW;L?5^Ood>h zswn&|mM*|Q@OYtUGA8YJd9QVZ)(5OxNwfMU3S6g6h}?I{&K1%jOuHBp2J6f1+37Nu zGM?JHdAdM}SZM2Mo{YD@hX_1;wE7WHV%Q+;I2D72DF$V>tY>W;ByCSc2@s7n{I-ze#;8a7OyKKxhai_PzCwRA(IeOT$EJx~$odcfKmoB7I2+1rst)A?PVg2ZR zxgyc=(yUVS`(b*MBnjKS^q&$g4(W{A{*0*Bu8^2VEss z8$)~Tr=U<1J7m@QWUIJ4U$;1G;dg63aUrqWRHdW5Nd}AHfj-gEO zyg6shoQ#0dU|`ElZ)7mRrj#-lW;>Sd<6^c0>xWp%EnI5JKsE!vGrtdRJI?KS$6;A# zxxNO}9xj+k7B+@o<~0LT5OVvJk>;yibtDPH8uDNi3N%$RIKzoM0@1vrIz(nt1pwtuzq zJU7wvj+Ecrk-+W!m(qXtr#xqW-c9kF9UT}YdkI58sc9K1W(KT zXP5kGr5~^U7P_8K^m&YX((}toq=bKC`;UnCT+Z`S>bD$dyq|LZqp*4|;rV&nZwbU` zza;#1`u5+9_2=68fNAhA*y*{(=lIlbjYfZG`;AsT7x29N`7J;k|EJ!+o9(|%`l;vR z*Ld=9AKTGQ=eYHWgf}7hjM%AvXls`@C5P?BXdk6whHRCMY*!$* z-E=F6X*qwF@e4cmt0yuwIz|r2p z+Vb88c~M$2T}-(C2XJ>HeW2tBhMOmr64Op3+Ej&2abx)!S#r|RfPjnTp+v>zLvcoo z&9AF2!%`~c>rm*zDcYZK6(R&l407hQ_Z2Qq8icT5!BbVG2;^eO5uNSIPN292b9N+4 zH$5*A$(YWT+Hvf+=vh01X@9oK50vaL5&mO1W~ZJ?wmqDHko&gLW! z>^SuxN#yBP(K4<^FZaw>rj{qgte!$enaIJB$L{j}Y(_5KE^&|LMb)2u8IC2t;7MNz z0SowDhm7oXrR~gq4$~UG8L{%aUF}6Q4rCeTo6K3jc-%I-GG6<+ZIB=89@~HRHZTxu zoh^R)nSUlg|3&c5+RohG#L&>;p-+-2p#mE~jARA}1@+`VXn(RW|9oSVw5;cta6uV0 zce1Pb zlBx`y+-86GVP11< zGuV04d@QCU3=Ul?_}&|bAW?3y-p; z4X^Mi>fZu4Zq*CG6gUgI^OL5Y7g#o%rn7y@(hcY@GdPv`Qa892dRA#&1%j%irH^L` zq6m*2Kqfd$nCMJOicW4ZI3c9ntCCo!LPH>5*s*(YUYappP~dQVFg|XA8-AC+oH|yy zrs(SWRLqJu13ZHnTr|-@>i+Z;NZcIkS zYtnf1O69;X{~7LXu*j}`pq&2X9q;6YO!2&@i zX($`=#} z5x9U|3zMclJUxm4h{sK+us6dye&W%JQ3_0&s?DPRu(~DutasjI5I^fV@|JtejCyEF8r+DsF@H z*#Zv{{&a+RHNv4#7X9Um0WKJgw>cK7$2#xkLl{%xqU)jv>0_^vpxerp+GycVu0~)m zLtvjuFX1%Ok_s>SMv;mja5%j=5m%4}QTlu*Npa{iIU*evKzSMW6=$`-&ClDi*lb1@ z#H4HL<2(|beLF(?*l6zUcM9$Gub3^LT>)fP`Jbce)zY_Fi_V@@txXUg<>6`b7;87XF>Ne3J$g|ca|FfsiNA#nY4KilaLglm2Dp(Qn21B-(O;CK ztX9AwMJ7tAYtE;GA{xi#D9=JZ+-P)Q0`xhS&e3fJI9gwk4@+R06!v~%B@n=MS$Hx;qsHP4JgkTah+FUo5DLd!qxv37{2G_9yPYFNixM1&^R18_PN z`2m=1XRA3X=WY5j_?l8dc1z(D$CxLVGlXkrU0PT(j`ylhJw(#}c(4VIn{y)<#~q{g79}HIST@BBhrB*bctq|Gg#T-Mv;Kd3|G#eUe?Fz|gJ#Gv=3ruI zY4{*$zPKgA41GY=gUoj)5?-Bd~`u{)3)O%ane%>@wpgXYU!IuL3&o*V(;;qgLO@*4j+w#&5YUQ zRei+OBXpwzV@0;`6Ut{~ZVKF<92ZNpEr6grm&Cz2U0(7fxz7%hwoK8x)lDk8Y?WVr zQL0N4yh>!}(|z>?0c0oP5~%kB4qh>) zz9f~VTCiVfYU?8=_J|z^?mYl|ficv~xsW2QOq5Y+lZvGw8w$x4=j$e|52|Jit%9D0 zfDQ5D$)Z;Z>U8ojRS~sZ*KZ7K>l$}g(E8SP>@VJ!S1)Qi9>N!U`6x?w^}^T_I8Y4kL(ynU>xxAHJ^8_ z-dqKox7OFB`pt8q2czhKZazKNSrBUzxICWh8ty-;3cNdQLKybEtsz1rV2j!6*^KaX z`*G2e6QSery#ltC`Y;pmU_4OLA&e-K@0qt1n5pcG0STZ!`?>zNl6KM&2GT|OESP4F zo)XmQ7iC9Q$W+e^+XrIi!%JF#vbglC?&P6FE9jdgJz^gom6>S6p`26N0zYfY1~>49 zo)0+J+wL~hu}Wo{83}FAv=U=W3~Kqm^@G92@jD@Uj-!yhNH0y?v=7v=`6Pk7m|f^+ z`a$Z4!wT$}#VAKuJL5P@TE}F#rIS@QzOmsO>nPA;BqVS3phHk65vw*B$1jH^8bnl? z-BGTO7mqZXg4`CkBMFy|j<{aPN~REB+Q=Zd>@!}jTd106wX8SZCx$H6Ysglv|2d?O zp5H2fQ@X!`k1#-N7r_pdGtI1knt>NlI*v1z=T(TN!lodyQ zZD8O%&(VBJ6&6K)zo67R8b{IfHk$cR;l(@9^fXhE=!38r{zvT~vazq<8$g&*t*KhvRcBz3f+eEl1EuBX>Zr2Sezj z2P|hbejWY1I~wzuBLxf$!ec~>DUyy!2_?T4Ov;gZRX#bgNa}6D?DsO9jLEACbA%Wz zZB+$BANd1j`bjJ2Rz-N4vjeKv#Q|VRyhK(@u!$HBCv|lk3bp*mo?N1GEs%0Ug*`hd zd&_1(d5VH#(~ildj1YBW>iuVUApuwwZNKq0BeYH8!9L*p;twkOkfToZkCOh*k_yjF zTQ)&T?0|lKLjYE302(~Vi5F}JXN4wrM&FRuEhXku3%AR1&=QtVg_!PwR7fl*f&Vxr zre`a2oBi8>BgQ4Csq0Hlny$C8UekG26wD|qbDvZ@{ckEiSyZ`i42kC_robvU+*CMa zD9(I<35qmB85r^RPm&h#>Pe1?^K3*n;-iI=E*kxmtETR&d(oQ<#q+U@JO}GYd34qf z%aZ3RIbMNZUi74M^$}r3&`j5g2XRs6aHMp@5fh$JTl;BhU0sr0h<&m{j|{VK^?D*X zDPW)!FiICgzkr*o3IAOM6T^WvZjtJptFml=MifmC({09w>~ow3A2k9qj0+nnI;OFt zv6BWMX#h>^`-uZ&6C&9?FB5NC?L_}fpJKD`^nIuyM~`;vow= zWzi*V@%XE;FE-Ih#bdKzDPyWqsO&zPr7S5oUnyFe=ff2)Ofid&f8@(U=(+EfEaWTr zimS)no<_a(e2(a%iRXFBU}mgFfSgFotiWStYYd~NA}#B9V>fGgEIwxQYBO~esOnCY z5y|meG%?PvD(19Pso;TAS(R_s=))lg-wP^CpmtxI0W3<_CsXJ)= zHQlZk>B?&5mC~M>x-wB4v4iGaMV7~Te2cPb zoX5m54?W{yn!oF}lgS+(otu6q0q)b(6p3&g>delAR}(o@+^s4!r}Gkk^2s(rA|8JC zF|YpbJ%yi5>viE75g!28zgHRkztqkR5Ol>&YP1Uqjg z3ZZV5@_5SYbp+VG>GENxvD66xxOj2KQT|iYUE_^S*7n%7-F=I9Fd3BUj3V)$qSE$m zBjR}IG5SiPP-|fr5#ta!k<{}gu2qKhj8TU@PmeD}T&Lt|cVXg^GWDY0#`Ya0@l9h0 z+f{U1RJ6g^#dp7Pb{+v*HlYgC$>nY&(=m4I5~EIiC=w$`T_yf*9koQfVlx$FMCu~W zpz&tuOXCb-wsdN9vYdx~(qIyAM@xUzB2LNZ2t8|}4?FIl^8!7mBdeO}jK5ZK^a_I+ zqCq46_xDfO;(Kv$2WB!sId!VqTO=9lS#qBE1Y-o38fotm%#gSOE>L@Qt8(Z$ELlU< z<+fl^h~ZenlxYXf=>XHhL5%ihl{J~;e*A;7n!_@bx&A^MG&TmtR}FY#fUWt8obLI0 zK!jfYT9-u%Y9ls}_2=0Dy&a`-)7PIUM=*HnMSw&c+t*Yd=$R%`DqGcGJ=u9QhH?&7P%N z!A?hIxjBp8N^~$c7NKS%#@jm8@mTFJ9cnzYh{q24A`tbSol;HPtZ)>I4ukyMdp%@A zEA2WO9{8dF%wZ=DjN)V%5`BXv zXP2ixHE1_fvZajwy?LM9qfepFx@=R9G`cTAm@JajPf{O?|M+Q_3rH0E(p?mq3vy35 zt;9h^=cW9*KCx$=lwfa|f0Ii4;>e*)R$FHiRjQGA-rw<+YsNF_*_}|CZAmQfm3xNY zxN%3|06p$O-MY&wsiYh2SEVZy)T@+QHJNA_u#r80DkA{Ls<>hEr+)VN*;y->{j6ns zcQs+h&OXZ+xEYRJZi~s2T%N3{T$zdQCp4w&Zx1HmuO_(XVG!M|6P!p|JzsWoV6+g! zM~#PX!Jr$&U5o*@&CbOI{m=yj)O!$VK)3oYeayxrxH+I{2usLXk30I0@6v=0+L0`O zIG{hLJu5i3FLucvIYJj{v3^2J5!I zk2G-u3wwn)xVmR+4c=WoHZF8EDJ&IoLP5rM#NL=mB41A;<_ZH8o@Ahs zjZS5S63znZYa5-J~6cA!Pp=tVK5=@q|$53q>=}( z4&}%RsxK`0vXnipKi7@z+2c!0fLtJ?ZWy1PAs6xcUs=)Tp8_XI%izR zo^yMRRNhy8>Qcj2-ZItSY&X`@jm;+p#WC9TXf5XvwXk2a_AD@9I6W+*8HMq%S0&ch zd#9s1c94P>z)XI)vNW)X;oo*~*>lw<*Nw>6@Wf4(-Gzg+j`j9DX0rRAxsF%V=(6I=Tw{BJ9~|wugP3|(9+v?@>|+v*WT19;h3F0umfT`nf*&=7@Rn?DZ-} zp{yLvgG|u0*Lyc;6g-&hkyHB63D@ z<6~cTEO{r%PF?gs{#L{if7z!9=GJuVtAcxBoROy@D!w%)8a8}){q0(w=7k;f#yU1_ zPQ*d@?TPcn%Db+sbMfaM>HWdYBY8pku^G{MkL7uFK03%o+`4dlyjt!iYIq4N+W%p7 zeRKO#e{v)*_KAmUdOBm3P(sz}+WxRMzgu!}pyo)P<`a+G*^B4rUh7>25e)o4bgu_q zb6T$A0XitRNu~yL6zgJ>%tXuD>4c)i>{|(=1pH$KCNIrI0YVvZnNbZf;WAoe_|5#Z z@{t5_N@!_xw&9frL5V~TN%E^^qDuq{ONQcp#oqL6>1bTU1&z`8&k%hx1^b5w3vJk6 z7^6`ev*vV81`e|44i1GPtG;BJj%88pjH{_4d||w5?!nN7S0?_2ju)CjK867DXu!aG zLIrt*XnOysU@lfgLQ08*vSc~Znn&1xH7|AO3q*$9RID8bD~)DYpQd8}!o4EQ=ex17 zjnRcrJ!^$tG$n%lv%l2SDttDA%nmC_BZ}qKPmTp-Lx#30uMeOJpUsAC-?r_AXBU&U zA4|O-FG>qo6uMu{pJ>7MdALu_@28Pu(-6`udxSLaJo=8i(qNC>G8v%Cy3)pixaj{Q z=4LUuw%&S2~K8Qh-TxF6KY+h1bqON zO)H6zSJ3_wd}?Z&w;)R^BkopXaemoE^Ikb@$QGT(zP8=mX zBxuWmJH3=S%9UJH3&R|qo!Q8VfL?O!MHPF9U?va09KS)$;caHEev=VPrnAz_^f7x}3V^f) zw#hoj19`fAY|QIM$mfa?7ZGdg7U*s%Lh^JI9}yywE;mw^-3^+aE|O?7=Z81@ILiA7TK74%${)Hrt1bFS zmb6U5xG33l!Zv+7*1vl1yTKbf$3PaP<*qQo62L-I61Qg8RVHYdl5_tR4m!riB zXw`o#4$gQ6l;iDLq6u_sg16=LYreF$F53CL!k3gIGR#W*MJX!H(IOHr)Ym;{rVaB{ z3?80q*v^rE;NYEfKuM_)J(`%NU!r30!dJ~UTe_rPO~CVD^30)2!SV6U&W@;2jhX>T z?)T)`J9lI(z1?5pUHI8`B<+sri{Jh4SpF-$`A=|?Th&<>V&f~NsvBp%T9-_jOEbQ732&rW}&60aWK;E1skw?Yjx*eYS<|1 zI39zICjoD^;ZeZ;mE9@+#d1!J)V7GRdOvV`X~S3}3$X57+@*uoXO#R+?FnM9KFT+? zleO!%I>rHt-p3i9PFokje))6obW2=)u4J7YN`3G~dy;`dIsq?2upe zvhS(0bbbQSojOySSnGzCDb{UNx6o#x_ z;9l5690D<9i{96kHAJkf91N`-bd+3d4DGeUQA&Oqsc@363ZAmm*c?k zK9**kkWM<_m4WY(?|avcckTK6VcAD{J_dB|&UncdHilnkGy+ml^LmxhXKGxurAfjX z^AQyaHB>UW!^t`VuswL68_Mitak;0+Yb_>n_Uby?Z)kV1^rs@}s1Tv73bi1-ro`45 zA9cY*M)Arlc93v$Q$p|2zCtWUX0Rd&PA5V5sMNk*Kh5n$We&+}^K$o9Dh3{d6~H15v>@K>|TLn}cH z1@#Du1ah?^{YRVq67at}qk93r`eyo`{dP@%Dt+jj?m2!b-TjN_=gaipl-<9rzs7x& z&i(jXKhK}~9(MHH6aUgj`FFN|_4ho4=wX}6Z|+FQ_Wn!hznfMbvOnyx_|1+DaVEdn z|LVB-Z;QTfB=|M%7i|UmueO5w<^Hot{zM6v%}mxcf63;A>A4?9Edd4E~0=|6aX_lZ25 z{=+K%Zz;+Me@*{iohd(WKWqB`=TgKVwt#^Dw{`rK^0QJ5l!3dCVjzbE4paoTwvnEkz(RpxPkcY6*>}0#OyB z8boY!4Tu7Wnh>=hwu0CiqBg`f5OpAe3lKes`ViYfG=OLb(Fme3L=%YZAeurngV-Ko z2Z-n|7=>_c#Y+E!%=SMcY6MAvUm6jT9%MY6Cy{B;BA*_Nz+)I=@PSPzz#}2YsUzu0 zpXg)tk!id7Z@j^?z$7{vguzhzBr=x7QF4r>iJx)QCwv}LKb}8@6(y|jp-c84k)U}x zXx^QSfa8cy0brFefckL^#QyWC^&@*{+Du@E0c0{62fq=N?R!HjBv3X%N*Wmr*W-~v zL9iF=kA3%3>&HI*R*a`9fL^SwM#{9$Ym{g6h&pusJA_YmtCqu&kh>6L$OIT0c%w)> zNrs>BzY)HoWEjCi8IFU21L2AXqY0*=&EeRVI_{!M9Hx$e)JOzA7(Kz(4@%(ODT*IN zm0L_5t*B!gIP%B=isvRpafh+%Hk22T0&Gn3Em*a8#<3X;y?LgTzA$<~zb~Pi0J4A_ zM$svJHcnRs_3A31x2EVk895CU(0y3-vh~uE!55Mwkkdy(7f^N(l2Gu(M3Mv^N$bvs z5ngH&2Gfb+mFmdQRTa?D<{|~Mc`Kl6Dx}NGgZSQZI6>@4+(-bSDKW&EMKxFTh8wGiyyDR$0=m{HGE@PhFWimW$uhb?U5aX> z^UPJdfysD@12UR)A|8Y{oCw7Nc7iLZzDN%sEpuDyF0X_YSjURuqIrX;Yjf4X z!~uR(Ws0gnx}pj&PZ9JqXrj)F^`O<2Cu_^f6qlnb7J*AkQ5d}vi6e9!IeKy7WVMr5 zLRnR=&^HYUFNRpRXe9?|r5Iulkxh>QYn!Y3gJ+t`XOa4dBIW?_PBShuBeeWl>0G+* z9#FGT8M`tGq(F7l^Cuzo)N>_tWGWmNBAo}<_04dndo3mt<#ZgR<&{@NM^t&`|Ci}J zXf#RS)Al4VQc!ka9xudpme^sRm_t>QY8RYoP~{8t^j5Z7*@~#TQgi}6RX&b`0=gJS zf^S6OXfXH^y0aMH@w0GnCd9OFkT6IH&m>|TO}RMugeAYcm|mo(XVl6F^feXZaOJ1% zfHN-!2QDGd_2O(y9vx?B^5{5glSjvy97VrE!r{_{!N=Jhiw+YyMqe>qVoxVZeu3kCAHDJXBIfKKB;wVZmD z`;V+0XuHYMJr&fe2%pwh7RN^cjw1O@sPeKn{t9sDel2SUnvRo79?k-w1*rhzQl`Lw zWMT)Fgl@#5bX#$jz?o#Vpko0(tZ*1mvpJrmJg#`C5q_4S9ftwkn8##x<7A>QtH8Vo z(c%+uq+^1T8kTTC(D5~35eBB2a5Z!0OvwaSOAbv#4ox73hC(4;bJc1I9twptk!Xs9 zra*0MEs5G(n_w4{WO8kS{fx0mRp=+$gbRY5k_Mr4ICDWFFQY>dQJ2sZ=zu*~p_u4B zjF=vtpC~5Rn{efe_9he)XXn%j4hlrVWip9KTr^xilcHslY%W?B$8*{PgSy0X_U_#) zVPHImO=CQVO=CQVO_O*|bCm>7tPZ!CaHUUbMDcPD&~Ob=VGrY~jZ4hZE{TgQOc2+~ zWw3yJshvPZu9#c~p@ad^xi#=)M+r*_1GX!>ODZsg6@`n|M08xJVFF_aZmlrXaIM)9 zcvN6AhakR5j%^D`G$6$U#wKzk;SP>=z#|LgksYeq1ZG=C^k)* zQ17#3oSZ9^LkpqUS};PfX^c>88Y2{&#t2nXQqsaw?DofIRnRXwK^8MW#3$e*GZU2f z0M{EGfrkN+EGknt3%64K)41>)iPg&=_}5PEO+3)Jb#0;vl9!f{u`0`c(tL=f(?7cMhMpYG(09rm0tHV7Da za-ScU@uB}_ljfxYQ?it0T^^4#^NHWElk8}F1T z!@_R`EKDxVq6z*6x+0E@t|~g9E9THeb%-UbKJf0%Kexm#mc|#h6p8QMtVX2yj8Ilm zJ>2E!p)1h?@5r?39i=R2J+A6{5*Ef~u&ZbJx_HiT3f8>uwd8@bZxOQgXY zIVxaDY?Vuc?a7tKNvSk=dq-$ZVuua3EdRZnPHjka>i6PKtqFT9P;~vml^HT^%Qu3e zm_wuLz~&3I?eU}si30}&_wSOlRKRUpV`y7xKFwwc%j{rv#Y2&g96dciPh}i5v>|L$ z2?(#{ScoRGg@{Gyz*Dts7H~#P#wT=O@g9_FDl8ePNGTIgN}7+5XklkGTd(ARSQ)da zv;(tY4qa4(xZqfpHAHqSGlj7%YY2nriirFI=P(&WUVA{q9J;6_jB`pY>Mh5jE=nzm z&vdAlA#D4}SQNVj*PuofO(%x$WdZJ1Vsu18oS~>oT^(p2Jn#Sw?ZDw^+g^wbGWA*AZQn zN+*Txg3yW|P~<_o0kkp>rjG~8DvpCNS8;b4#c|d~-@CdhS6tqh?x|F9DYQtr;_{%q zlqya`j}#b@k*vFd5v2%S zO}dP!UrysYpY6LHv1_c?Vu(I&CrA zdNZW`DW~K+XAB=cPB%HbZ*kk&-j%8SvpQZa$lbZWMtE(%<5kN)ooa^tY&|A$VXwiD zE;l&b?eWynR*UcVk%tOO#qPYKmCiMo?wi170UA$6Ybhw5mZ9<#`^Z7Z9;Qyurd zW9R#&gEnBenDYk&AJ&|jD$;byKES8Te~=K z?%Epdf=IuGZuiTwyuXSC%3*;R`SYFYy0}`E`g^C6URjF zEP1PD988jg6$=tVoF{plvW%Rl>l%L zTv6Q(dHmkHR&$@)>!tPx^c00eXr!O^54d~6 zEL&r`i{puV(~KJJj8n}TRPUwM-VQAC*EFw6EeLy(dZW+0;8*Syt53L}o%hxI4r}%9 z4yj4~`ul^$7sDr<-J%t^<&j`OO33N7y9SreJ<8c!urfDaxasEn^EW)xPOeV5nl8itIZqM*dajg*yacettU0Ec4OZk)^4zfe9*NxF<&z|=X~kw{)M6ilU^J%elRZM z-J6p1lB2?^_a6oq?KwX`pk{hqam4AKW6CSHc_oh5474*nvF<0&m31#t$r-196K?cRc6Y7odCsx(!)*&@)kl`L z6;X-4k1vHhd_J`BIS$TvP}>=geeZ}J}S zUDr=pZaZSzjIocWIFBEg{~}Cdj_;EXu?L3jck>!r?AUkHd6Cl}%?>Zlw$jb-nt9}V zPn%Y=+}6#RN!oB!*W3b)pC z|I9ry=VDg>OBE(IQ(Q|5f?YRekvsM?ldQ~cnLWML?~J-unILD=pAFjrn@ShHyHohP z&}hwe^@_W}qF<8kObI+TbN1QXO5Vw^&u&uFfa)a=lT+b>G<1{H+ zNpL%meFLS-bMO9QbM@6a;bxH2Fng*XCFSxV-6gg)^Qw1VQOUXQt?eVS?*GR#?NTR! z%iIx1SC1}R`Tg0pBRzg|PugxO==^y3#5LvP4*roB6k!xL|3<*5-LbRtQhc8oCNAk? z-`CbU!rsMw)uc9dUoR`FUJ&^%yVP%E{-FC-8#i~WEUOM_n4GolukU!7r>u{}>1JFd z?N)@ZY5wt}pXvNWR|}(|P5ry2-pEz6-*CFBuH$#xLsid3A3Aihw&g>E@CWNlZ$a1g zurYnGbIC7Z6>hpc8bUtIdEoqY(cU0|&Ewf;^3H6? zJYKol+UV^6?cFl4u_5$Q(Memc5F6JaAZ2?x?JLTX(!} zeCSYiwUc|e${f2NUh|d>yS~!+!9!g)hsT>E9~b-IZnrEszvHIc8rIwPbYg>83S(mhe4&Jr) zH@>PYNj52cgou3vF4F!WQy)PwVoHRrmye&Kz1d;{2lV;&2+rh*JuI1s|IGb~xl zF&qsb-yfy#f#7>TI6IY_?b^zC@DZ5~D4;b&c6U(5 ziCv8j$Y}%*?rcu^YI3_C^3%5MDVJYvN2G<4HW>GTSPH5JJ)A8Rbxl1Ub1}Gc0VxJ9 z_Q+tcW(MJX)Tl<*g!g7d(7Q%bj<5(mky*r<%j5~7NFIw;0LXgqi-fJ%IQT{;9zN?y zgHNgOsxS3&|7hwn9}jrXax|F&AN8cMO0Yk!@FB50+;PqYHy-GPva9n3z=s#{@WYQU z*1+=p8dl9<7AoL*5iFPvf?qjL0FjWzUVQR_41+lmz4rx+VV8$!N5We5)v=~waVsp7 zV4ZG9-p8==g$)CE=|CSi{MvxV%tr;{%eG;rVdBfQVOwU1FQ27Smwn|+w z&tUZf9S}`Me^jK~;-jKg&@q{Svf4mj7!1=$ZCs)QPCk49p+jBk!4W?$6p#e1Be*#Wm4t2DJ(g{>}D6(T++e=U$ zi5yth>)}HJO^^y!8sW!>Pl=-Vo>aIjV$M8L1atf%R(sIWNRQG^IS?=eB#W{VAp`YL zTU9EJ_+BQ`G#|ELe=(G%RpCu8FC%GM170)OE-p{__!2L6Jq%P!^RW}-bqr19>5z|9 zyATpY<xN&Hf`c3vzbo|LKBGM1agEf$CDh-9 zqEK?sLmM}rDJMe*ww8P>Jj|=3(|D;&-zEz>pE)ypGHJ1#jJ(X5DbJi4KIY8O|DT*c zP*y(P+@OPfUz3z~BP7R#J?x@lTGR-FmXii#tjk^d@?F0q-5pB=#L@1@8*V_Wgoxt` z=7&IpkR1*O9DAZ5V%`LZSYI|o{BmUxL>yyqLmbDM;}CJo+6_#YRs|+(7vxQa$E1<) zB{e=Qr9v9%h`lhie?*%E0=Fj!q6nwMYpZ#9oo!?(`6eC5v%c_nhWshOodREC(_hA? z0}VfZrpHM*NrEE%Q9l0F^H+;p%ygHn1pS@fm39Z38i%$OXrqu05pCiJ5khtl9B_;c zfrw*oBt(=i1|k#W*#I#xAP)xSjNn)Y1~-UUE)Aj@=?;31q#jP=seb_YyzkNdpe5KN z9zgzWz&72=2>Q3B|GvQI*8lg2pI71^UVnBbsEfXo0}-DCu87k}!@kp-1jD3)&cpuJ z2c|ClU?PLPWE6PLNbsbu;5-_7$S5co4>=g*`KL9|y@@~R22&Y-;PM6RVDNemNO^%T zy2H;8=x$KL6L#J_AngVecSv=Ep9ka(hm;54VBf}Z0pDuyhNCmk-Qm>$jBeD~3%J|> K`QM<(0{;Pt>g2Kj diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/CardErrorExportDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/CardErrorExportDTO.java deleted file mode 100644 index 848116d..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/CardErrorExportDTO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.yida.data.user.dto; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModel; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 校园卡号导入错误返回类 - * - * @author ZYJ - * @date 2023/2/19 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "CardErrorExportDTO", description = "校园卡号导入错误返回类") -public class CardErrorExportDTO implements Serializable { - - private static final long serialVersionUID = -3132562554433758713L; - - @ExcelProperty("学生学号") - private String stuNumber; - - @ExcelProperty("校园卡号") - private String stuCardNumber; - - @ExcelProperty("错误信息") - private String errorMessage; -} \ No newline at end of file diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/CardImportDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/CardImportDTO.java deleted file mode 100644 index 2d10604..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/CardImportDTO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.yida.data.user.dto; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModel; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 校园卡号导入类 - * - * @author ZYJ - * @date 2023/2/19 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "CardImportDTO", description = "校园卡号导入类") -public class CardImportDTO implements Serializable { - - private static final long serialVersionUID = 6536093595406368088L; - - /** - * 学生学号 - */ - @ExcelProperty(value = "学生学号") - private String stuNumber; - - /** - * 校园卡号 - */ - @ExcelProperty(value = "校园卡号") - private String stuCardNumber; -} \ No newline at end of file diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ImportStaffInformationDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ImportStaffInformationDTO.java deleted file mode 100644 index 1f5baf7..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ImportStaffInformationDTO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.user.dto; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * 导入职工dto - */ -@Data -public class ImportStaffInformationDTO { - - @ApiModelProperty("学号") - @ExcelProperty("学号") - private String studentNum; - - - @ApiModelProperty("学生类型:0走读,1住宿") - @ExcelProperty("类型") - private String type; - - @ApiModelProperty("错误原因") - @ExcelProperty("错误原因") - private String error; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ImportStudentTypeDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ImportStudentTypeDTO.java deleted file mode 100644 index b648dc8..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ImportStudentTypeDTO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.user.dto; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * 导入住宿学生dto - */ -@Data -public class ImportStudentTypeDTO { - - @ApiModelProperty("学号") - @ExcelProperty("学号") - private String studentNum; - - - @ApiModelProperty("学生类型:0走读,1住宿") - @ExcelProperty("类型") - private String type; - - @ApiModelProperty("错误原因") - @ExcelProperty("错误原因") - private String error; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ListStudentApplyDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ListStudentApplyDTO.java deleted file mode 100644 index 69f40c3..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ListStudentApplyDTO.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.yida.data.user.dto; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.yida.data.common.core.common.BaseDTO; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class ListStudentApplyDTO { - - @ApiModelProperty("当前页码,默认为1") - private Integer pageNum = 1; - - @ApiModelProperty("页面大小,默认为10") - private Integer pageSize = 10; - - /** - * 学生ID - */ - @ApiModelProperty("学生ID") - private Long studentId; - /** - * 学生姓名 - */ - @ApiModelProperty("学生姓名") - private String studentName; - /** - * 学生学号 - */ - @ApiModelProperty("学生学号") - private String studentNumber; - /** - * 应用编码 - */ - @ApiModelProperty("学生学号") - private String applyCode; - - @ApiModelProperty("有效期开始时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime startTime; - - @ApiModelProperty("有效期结束时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime endTime; - /** - * 学校ID - */ - @ApiModelProperty("学校ID") - private Long schoolId; - - /** - * 学校IDList - */ - @ApiModelProperty("学校IDList") - private List schoolIdList; - - /** - * 学区ID - */ - @ApiModelProperty("学区ID") - private Long campusId; - /** - * 学段ID - */ - @ApiModelProperty("学段ID") - private Long sectionId; - /** - * 年级ID - */ - @ApiModelProperty("年级ID") - private Long gradeId; - /** - * 班级ID - */ - @ApiModelProperty("班级ID") - private Long classId; - - -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ListStudentApplyForDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ListStudentApplyForDTO.java deleted file mode 100644 index e9ac7d2..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ListStudentApplyForDTO.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.yida.data.user.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDateTime; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class ListStudentApplyForDTO { - - @ApiModelProperty("当前页码,默认为1") - private Integer pageNum = 1; - - @ApiModelProperty("页面大小,默认为10") - private Integer pageSize = 10; - - /** - * 学生ID - */ - @ApiModelProperty("学生ID") - private Long studentId; - /** - * 学生姓名 - */ - @ApiModelProperty("学生姓名") - private String studentName; - /** - * 学生学号 - */ - @ApiModelProperty("学生学号") - private String studentNumber; - /** - * 应用编码 - */ - @ApiModelProperty("应用编码") - private String applyCode; - - /** - * 学校ID - */ - @ApiModelProperty("学校ID") - private Long schoolId; - - /** - * 学校IDList - */ - @ApiModelProperty("学校IDList") - private List schoolIdList; - - /** - * 学区ID - */ - @ApiModelProperty("学区ID") - private Long campusId; - /** - * 学段ID - */ - @ApiModelProperty("学段ID") - private Long sectionId; - /** - * 年级ID - */ - @ApiModelProperty("年级ID") - private Long gradeId; - /** - * 班级ID - */ - @ApiModelProperty("班级ID") - private Long classId; - - -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ManagerDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ManagerDTO.java deleted file mode 100644 index c60902b..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/ManagerDTO.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.yida.data.user.dto; - -import java.util.List; -import lombok.Data; - -@Data -public class ManagerDTO { - - private List deptIdList; - private Long ruleId; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/OutPageStudentDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/OutPageStudentDTO.java deleted file mode 100644 index 8529142..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/OutPageStudentDTO.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.yida.data.user.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotNull; -import java.io.Serializable; - -/** - * 分页查询学生列表数据请求类 - * - * @author ZYJ - * @date 2023/2/19 - */ -@Data -@ApiModel(value = "OutPageStudentDTO", description = "分页查询学生列表数据请求类") -public class OutPageStudentDTO implements Serializable { - - private static final long serialVersionUID = 4601644422338829002L; - - @NotNull - @ApiModelProperty(value = "学校id", required = true) - private Long schoolId; - - @ApiModelProperty(value = "当前页码", required = true) - private Integer pageNum; - - @NotNull - @ApiModelProperty(value = "每页数量") - private Integer pageSize; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/PageStudentDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/PageStudentDTO.java index c53a380..e0f76e8 100644 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/PageStudentDTO.java +++ b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/PageStudentDTO.java @@ -3,7 +3,6 @@ package com.yida.data.user.dto; import com.yida.data.common.core.common.BaseDTO; import io.swagger.annotations.ApiModelProperty; -import java.util.List; import lombok.Data; @Data @@ -17,17 +16,12 @@ public class PageStudentDTO extends BaseDTO { private Integer type; @ApiModelProperty("校区id") private Long campusId; - @ApiModelProperty("校区id") - private List campusIdList; @ApiModelProperty("学段id") private Long sectionId; - private List sectionIdList; @ApiModelProperty("年级id") private Long gradeId; - private List gradeIdList; @ApiModelProperty("班级id") private Long classId; - private List classIdList; @ApiModelProperty("学号id") private String stuNumber; @ApiModelProperty("名字") diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StaffImportDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StaffImportDTO.java deleted file mode 100644 index d744e25..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StaffImportDTO.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.yida.data.user.dto; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * Excel职工信息导入类 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "StaffImportDTO", description = "Excel职工信息导入类") -public class StaffImportDTO implements Serializable { - - - private static final long serialVersionUID = 5414511146002233669L; - /** - * 职工姓名 - */ - @ExcelProperty(index = 0, value = "职工姓名") - @ApiModelProperty(value = "职工姓名") - private String name; - - /** - * 性别 - */ - @ExcelProperty(index = 1, value = "性别") - @ApiModelProperty(value = "性别") - private String sex; - - /** - * 手机号 - */ - @ExcelProperty(index = 2, value = "手机号") - @ApiModelProperty(value = "手机号") - private String mobile; - - /** - * 地址 - */ - @ExcelProperty(index = 3, value = "地址") - @ApiModelProperty(value = "地址") - private String address; - - /** - * 部门 - */ - @ExcelProperty(index = 4, value = "部门") - @ApiModelProperty(value = "部门") - private Long deptId; - - /** - * 身份 - */ - @ExcelProperty(index = 5, value = "身份") - @ApiModelProperty(value = "身份") - private String identity; - - /** - * 职务 - */ - @ExcelProperty(index = 6, value = "职务") - @ApiModelProperty(value = "职务") - private String position; - - /** - * 是否同步企业微信 - */ - @ExcelProperty(index = 7, value = "是否同步企业微信") - @ApiModelProperty(value = "是否同步企业微信") - private String isQw; -} \ No newline at end of file diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategyPlanSaveDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategyPlanSaveDTO.java deleted file mode 100644 index f0f8e99..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategyPlanSaveDTO.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.user.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.List; - -/** - * 人脸组-策略-通行计划信息保存类 - * - * @author ZYJ - * @date 2022/12/12 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "StrategyPlanSaveDTO", description = "人脸组-策略-通行计划信息保存类") -public class StrategyPlanSaveDTO implements Serializable { - - private static final long serialVersionUID = 1264394221797979321L; - - @ApiModelProperty("通行计划唯一编码") - private String uniqueCode; - - @ApiModelProperty("通行计划-时间段集合") - private List planTimeList; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategyPlanTimeSaveDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategyPlanTimeSaveDTO.java deleted file mode 100644 index a19b29e..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategyPlanTimeSaveDTO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yida.data.user.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalTime; - -/** - * 人脸组-策略-通行计划-时间段信息保存类 - * - * @author ZYJ - * @date 2022/12/12 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "StrategyPlanTimeSaveDTO", description = "人脸组-策略-通行计划-时间段信息保存类") -public class StrategyPlanTimeSaveDTO implements Serializable { - - private static final long serialVersionUID = 1666232372793999487L; - - @ApiModelProperty(value = "开始时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime planStartTime; - - @ApiModelProperty(value = "结束时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime planEndTime; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategySaveDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategySaveDTO.java deleted file mode 100644 index e4a17fb..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategySaveDTO.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.yida.data.user.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.List; - -/** - * 人脸组-策略信息保存类 - * - * @author ZYJ - * @date 2022/12/12 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "StrategySaveDTO", description = "人脸组-策略信息保存类") -public class StrategySaveDTO implements Serializable { - - private static final long serialVersionUID = -4058986401549517015L; - - @ApiModelProperty(value = "策略id") - private Long strategyId; - - @ApiModelProperty(value = "人脸组id") - private Long faceGroupId; - - @ApiModelProperty(value = "策略生效时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime strategyStartDate; - - @ApiModelProperty(value = "策略失效时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime strategyEndDate; - - @ApiModelProperty(value = "星期一通行计划uuid") - private String mondayUniqueCode; - - @ApiModelProperty(value = "星期二通行计划uuid") - private String tuesdayUniqueCode; - - @ApiModelProperty(value = "星期三通行计划uuid") - private String wednesdayUniqueCode; - - @ApiModelProperty(value = "星期四通行计划uuid") - private String thursdayUniqueCode; - - @ApiModelProperty(value = "星期五通行计划uuid") - private String fridayUniqueCode; - - @ApiModelProperty(value = "星期六通行计划uuid") - private String saturdayUniqueCode; - - @ApiModelProperty(value = "星期天通行计划uuid") - private String sundayUniqueCode; - - @ApiModelProperty(value = "通行计划集合") - private List planList; - - @ApiModelProperty(value = "特殊日期集合") - private List specialList; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategySpecialDateSaveDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategySpecialDateSaveDTO.java deleted file mode 100644 index f49e3a5..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategySpecialDateSaveDTO.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.yida.data.user.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDate; -import java.util.List; - -/** - * 人脸组-策略-特殊日期保存类 - * - * @author ZYJ - * @date 2022/12/12 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "StrategySpecialDateSaveDTO", description = "人脸组-策略-特殊日期保存类") -public class StrategySpecialDateSaveDTO implements Serializable { - - private static final long serialVersionUID = -418058543595524019L; - - @ApiModelProperty("特殊日期开始日期") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate specialStartDate; - - @ApiModelProperty("特殊日期结束日期") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate specialEndDate; - - @ApiModelProperty("特殊日期-时间段集合") - private List specialTimeList; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategySpecialTimeSaveDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategySpecialTimeSaveDTO.java deleted file mode 100644 index d6ba66c..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StrategySpecialTimeSaveDTO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yida.data.user.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalTime; - -/** - * 人脸组-策略-特殊日期-时间段信息保存类 - * - * @author ZYJ - * @date 2022/12/12 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "StrategySpecialTimeSaveDTO", description = "人脸组-策略-特殊日期-时间段信息保存类") -public class StrategySpecialTimeSaveDTO implements Serializable { - - private static final long serialVersionUID = -3507582697531274693L; - - @ApiModelProperty(value = "开始时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime specialStartTime; - - @ApiModelProperty(value = "结束时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime specialEndTime; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StudentDormExportDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StudentDormExportDTO.java deleted file mode 100644 index 5956caa..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StudentDormExportDTO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.yida.data.user.dto; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.yida.data.common.core.converter.LocalDateTimeConverter; -import com.yida.data.common.core.entity.EasyExcelExportBaseDTO; -import io.swagger.annotations.ApiModel; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 学生宿舍信息导出类 - * - * @author ZYJ - * @date 2023/12/13 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@ApiModel(value = "StudentDormExportDTO", description = "学生宿舍信息导出类") -public class StudentDormExportDTO extends EasyExcelExportBaseDTO implements Serializable { - - private static final long serialVersionUID = 3404749621207403889L; - - @ExcelProperty("学生姓名") - private String stuName; - - @ExcelProperty("学号") - private String stuNumber; - - @ExcelProperty("班级信息") - private String deptName; - - @ExcelProperty("入住寝室") - private String dormRoomName; - - @ExcelProperty(value = "入住时间", converter = LocalDateTimeConverter.class) - private LocalDateTime checkInTime; -} \ No newline at end of file diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StudentExportDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StudentExportDTO.java index efc8ce0..06582d2 100644 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StudentExportDTO.java +++ b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/StudentExportDTO.java @@ -1,14 +1,12 @@ package com.yida.data.user.dto; import com.alibaba.excel.annotation.ExcelProperty; -import com.yida.data.common.core.converter.LocalDateConverter; import com.yida.data.common.core.entity.EasyExcelExportBaseDTO; import io.swagger.annotations.ApiModel; import lombok.Data; import lombok.EqualsAndHashCode; import java.io.Serializable; -import java.time.LocalDate; /** * 学生信息导出类 @@ -19,82 +17,22 @@ import java.time.LocalDate; @Data @EqualsAndHashCode(callSuper = true) @ApiModel(value = "StudentExportDTO", description = "学生信息导出类") -public class StudentExportDTO extends StudentDormExportDTO implements Serializable { +public class StudentExportDTO extends EasyExcelExportBaseDTO implements Serializable { private static final long serialVersionUID = 6625908714399734930L; @ExcelProperty("学生姓名") private String stuName; - @ExcelProperty("班级信息") - private String deptName; + @ExcelProperty("年级") + private String gradeName; - @ExcelProperty("曾用名") - private String formerName; + @ExcelProperty("班级") + private String className; @ExcelProperty("学号") private String stuNumber; - @ExcelProperty("考生号") - private String stuExamNumber; - - @ExcelProperty("银行卡号") - private String creditCardNumbers; - - @ExcelProperty("邮箱") - private String email; - - @ExcelProperty("QQ号") - private String qqCode; - - @ExcelProperty("微信号") - private String wxCode; - - @ExcelProperty(value = "入学时间", converter = LocalDateConverter.class) - private LocalDate startDate; - - @ExcelProperty("入学年级") - private String startGrade; - - @ExcelProperty("政治面貌") - private String politicsStatus; - - @ExcelProperty("邮政编码") - private String postalCode; - - @ExcelProperty("籍贯") - private String nativePlace; - - @ExcelProperty("现住址") - private String presentAddress; - - /** - * 学生性别,0-男,1-女" - */ - @ExcelProperty("学生性别") - private String stuSex; - - @ExcelProperty("民族") - private String nation; - - @ExcelProperty("身份证号") - private String idNumber; - - @ExcelProperty("校园卡号") - private String stuCardNumber; - - /** - * 学生类别,0-走读,1-住宿 - */ - @ExcelProperty("学生类型") - private String type; - - /** - * 学籍状态:关联字典表 - */ - @ExcelProperty("学籍状态") - private String studentStatus; - @ExcelProperty("是否采集人脸") private String collectStatus; } \ No newline at end of file diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/WelcomeInviteImportDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/WelcomeInviteImportDTO.java index 176135c..96c5fe9 100644 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/WelcomeInviteImportDTO.java +++ b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/WelcomeInviteImportDTO.java @@ -1,15 +1,12 @@ package com.yida.data.user.dto; import com.alibaba.excel.annotation.ExcelProperty; -import com.yida.data.common.core.converter.LocalDateConverter; import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; -import java.time.LocalDate; /** * Excel一键邀请信息导入类 @@ -114,112 +111,4 @@ public class WelcomeInviteImportDTO implements Serializable { */ @ExcelProperty(index = 14) private String familyName; - - /** - * 住宿类型 - */ - @ExcelProperty(index = 15) - private String type; - - /** - * 曾用名 - */ - @ExcelProperty(index = 16) - private String formerName; - - /** - * 考生号 - */ - @ExcelProperty(index = 17) - private String stuExamNumber; - - /** - * 银行卡号 - */ - @ExcelProperty(index = 18) - private String creditCardNumbers; - - /** - * 邮箱 - */ - @ExcelProperty(index = 19) - private String email; - - /** - * QQ号 - */ - @ExcelProperty(index = 20) - private String qqCode; - - /** - * 微信号 - */ - @ExcelProperty(index = 21) - private String wxCode; - - /** - * 入学时间 - */ - @ExcelProperty(index = 22) - private String startDate; - - /** - * 入学年级 - */ - @ExcelProperty(index = 23) - private String startGrade; - - /** - * 政治面貌 - */ - @ExcelProperty(index = 24) - private String politicsStatus; - - /** - * 邮政编码 - */ - @ExcelProperty(index = 25) - private String postalCode; - - /** - * 籍贯 - */ - @ExcelProperty(index = 26) - private String nativePlace; - - /** - * 现住址 - */ - @ExcelProperty(index = 27) - private String presentAddress; - - /** - * 学生性别 - */ - @ExcelProperty(index = 28) - private String stuSex; - - /** - * 民族 - */ - @ExcelProperty(index = 29) - private String nation; - - /** - * 身份证号 - */ - @ExcelProperty(index = 30) - private String idNumber; - - /** - * 校园卡号 - */ - @ExcelProperty(index = 31) - private String stuCardNumber; - - /** - * 学籍状态 - */ - @ExcelProperty(index = 32) - private String studentStatus; } \ No newline at end of file diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/h5/ListUserDeptAttendanceDTO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/h5/ListUserDeptAttendanceDTO.java deleted file mode 100644 index 2985a4e..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/dto/h5/ListUserDeptAttendanceDTO.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.yida.data.user.dto.h5; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import java.io.Serializable; -import java.time.LocalDate; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * 查询用户关联班级或者寝室考勤请求类 - */ -@Data -@ApiModel(value = "ListUserDeptAttendanceDTO", description = "查询用户关联班级或者寝室考勤请求类") -public class ListUserDeptAttendanceDTO implements Serializable { - - @ApiModelProperty("职工主键【用户统计数据】") - private Long staffId; - - @ApiModelProperty("查询日期【用户统计数据、详情】") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate date; - - @ApiModelProperty("部门ID,班级或者宿舍【用于详情】") - private Long deptId; - - @ApiModelProperty("类型:0班级,1宿舍【用于详情】") - private Integer type; - -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteFaceGroupDeviceServiceFallback.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteFaceGroupDeviceServiceFallback.java deleted file mode 100644 index 5b3275d..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteFaceGroupDeviceServiceFallback.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.yida.data.user.fallback; - -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.user.EduFaceGroupDevice; -import com.yida.data.common.core.entity.user.EduUserDevice; -import com.yida.data.user.feign.RemoteFaceGroupDeviceService; -import com.yida.data.user.feign.RemoteUserDeviceService; -import feign.hystrix.FallbackFactory; -import lombok.extern.slf4j.Slf4j; - -import java.util.List; - -/** - * RemoteFaceGroupDeviceService fallback处理类 - * - * @author ZYJ - * @date 2023/9/26 - */ -@Slf4j -@Fallback -public class RemoteFaceGroupDeviceServiceFallback implements FallbackFactory { - - @Override - public RemoteFaceGroupDeviceService create(Throwable throwable) { - log.error("RemoteFaceGroupDeviceService fallback reason:{}", throwable.getMessage()); - - return new RemoteFaceGroupDeviceService() { - @Override - public ResultBean> listFaceGroupOnlineDevice(Long faceGroupId) { - return null; - } - }; - } -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteFaceGroupStrategyServiceFallback.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteFaceGroupStrategyServiceFallback.java deleted file mode 100644 index a27db60..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteFaceGroupStrategyServiceFallback.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.user.fallback; - -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategy; -import com.yida.data.user.feign.RemoteFaceGroupStrategyService; -import feign.hystrix.FallbackFactory; -import lombok.extern.slf4j.Slf4j; - -/** - * RemoteFaceGroupStrategyService fallback处理类 - * - * @author ZYJ - * @date 2022/8/26 - */ -@Slf4j -@Fallback -public class RemoteFaceGroupStrategyServiceFallback implements FallbackFactory { - - @Override - public RemoteFaceGroupStrategyService create(Throwable throwable) { - log.error("RemoteFaceGroupStrategyService fallback reason:{}", throwable.getMessage()); - - return new RemoteFaceGroupStrategyService() { - @Override - public ResultBean getStrategyInfo(Long faceGroupId) { - return null; - } - }; - } -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteStaffServiceFallback.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteStaffServiceFallback.java index d17012b..0dcb3f5 100644 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteStaffServiceFallback.java +++ b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteStaffServiceFallback.java @@ -8,7 +8,6 @@ import com.yida.data.common.core.entity.user.EduTeacherDept; import com.yida.data.user.dto.ListStaffDTO; import com.yida.data.user.feign.RemoteStaffService; import com.yida.data.user.vo.TeacherClassVO; -import com.yida.data.user.vo.TeacherDeptVO; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; @@ -76,11 +75,6 @@ public class RemoteStaffServiceFallback implements FallbackFactory> listStaffByDeptIdNoPermission(Long deptId, String nameOrPhone, Long schoolId) { - return null; - } - /** * 根据条件查询职工列表 * @@ -112,11 +106,6 @@ public class RemoteStaffServiceFallback implements FallbackFactory> getStaffDeptByStaffIdsNoPermission(List staffIds) { - return null; - } - @Override public ResultBean syncQywxStaff() { return null; @@ -185,26 +174,6 @@ public class RemoteStaffServiceFallback implements FallbackFactory> listStaffRolesByStaffId(Long staffId) { - return null; - } - - @Override - public ResultBean> getStaffList(List staffIds) { - return null; - } - - @Override - public ResultBean updateStaffCache() { - return null; - } - - @Override - public ResultBean> listClassIdByStaffId() { - return null; - } }; } } diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteStudentApplyServiceFallback.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteStudentApplyServiceFallback.java deleted file mode 100644 index d504906..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteStudentApplyServiceFallback.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.yida.data.user.fallback; - -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.user.EduStudentApply; -import com.yida.data.user.feign.RemoteStudentApplyService; -import feign.hystrix.FallbackFactory; -import lombok.extern.slf4j.Slf4j; - -import java.util.List; -import java.util.Map; - -/** - * RemoteStudentApplyService fallback处理类 - * - * @author ZYJ - * @date 2022/8/26 - */ -@Slf4j -@Fallback -public class RemoteStudentApplyServiceFallback implements FallbackFactory { - - @Override - public RemoteStudentApplyService create(Throwable throwable) { - log.error("RemoteStudentApplyService fallback reason:{}", throwable.getMessage()); - - return new RemoteStudentApplyService() { - @Override - public ResultBean>> listApplyCode(Long[] studentIds) { - return null; - } - - @Override - public ResultBean hasApply(Long studentId, String applyCode) { - return null; - } - - @Override - public ResultBean getStudentApply(Long studentId, String applyCode) { - return null; - } - }; - } -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteStudentServiceFallback.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteStudentServiceFallback.java index 7791982..3d095f5 100644 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteStudentServiceFallback.java +++ b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteStudentServiceFallback.java @@ -1,6 +1,5 @@ package com.yida.data.user.fallback; -import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yida.data.common.core.annotation.Fallback; import com.yida.data.common.core.common.ResultBean; @@ -323,27 +322,6 @@ public class RemoteStudentServiceFallback implements FallbackFactory> listBaseStudentNoJoin(EduStudent eduStudent) { return null; } - - @Override - public ResultBean countUserDashboardNum(Long schoolId) { - return null; - } - - @Override - public ResultBean saveStudent(EduStudent eduStudent) { - return null; - } - - @Override - public ResultBean saveStudentDorm(EduStudent eduStudent) { - return null; - } - - @Override - public ResultBean updateStudentCache() { - return null; - } - }; } } diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteTeacherServiceFallback.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteTeacherServiceFallback.java index 736312e..802001c 100644 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteTeacherServiceFallback.java +++ b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteTeacherServiceFallback.java @@ -29,9 +29,16 @@ public class RemoteTeacherServiceFallback implements FallbackFactory teacherList, Long deptWxId) { + public ResultBean dealWxTeacherChange(Long schoolId, Long campusId, Long sectionId, Long gradeId, Long classId, List teacherList) { return null; } diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteUserDeptServiceFallback.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteUserDeptServiceFallback.java index ba35eab..5a3a739 100644 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteUserDeptServiceFallback.java +++ b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteUserDeptServiceFallback.java @@ -115,11 +115,6 @@ public class RemoteUserDeptServiceFallback implements FallbackFactory> getParentListByDeptId(Long deptId) { - return null; - } - /** * 批量保存家校部门 * @@ -198,16 +193,6 @@ public class RemoteUserDeptServiceFallback implements FallbackFactory> findChildIdByParentAndTypeNoPermission(Long parentId, Integer type) { return null; } - - @Override - public ResultBean> findListByParent(Long deptId) { - return null; - } - - @Override - public ResultBean getUserDeptTree(List deptIds) { - return null; - } }; } } diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteUserDeviceServiceFallback.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteUserDeviceServiceFallback.java index 27466bf..7800b7a 100644 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteUserDeviceServiceFallback.java +++ b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/fallback/RemoteUserDeviceServiceFallback.java @@ -28,16 +28,6 @@ public class RemoteUserDeviceServiceFallback implements FallbackFactory list) { return null; } - - @Override - public ResultBean> listUserDevice(Long userId, Integer type, Long deviceId, Long faceGroupId) { - return null; - } - - @Override - public ResultBean deleteRelation(EduUserDevice userDevice) { - return null; - } }; } } diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteFaceGroupDeviceService.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteFaceGroupDeviceService.java deleted file mode 100644 index 328a212..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteFaceGroupDeviceService.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.yida.data.user.feign; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import com.yida.data.common.core.entity.user.EduFaceGroupDevice; -import com.yida.data.common.core.entity.user.EduUserDevice; -import com.yida.data.user.fallback.RemoteUserDeviceServiceFallback; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; - -import java.util.List; - -/** - * 人脸组设备 Feign - * - * @author ZYJ - * @date 2023/9/28 - */ -@FeignClient(name = FebsServerConstant.EDU_USER, contextId = "faceGroupDeviceService", - fallbackFactory = RemoteUserDeviceServiceFallback.class) -public interface RemoteFaceGroupDeviceService { - - /** - * 查询人脸组设备id集合 - * - * @param faceGroupId 人脸组id - * @return com.yida.data.common.core.common.ResultBean> - * @author ZYJ - * @date 2023/9/28 16:08 - */ - @GetMapping("/in/groupDevice/listFaceGroupOnlineDevice") - ResultBean> listFaceGroupOnlineDevice(@RequestParam Long faceGroupId); -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteFaceGroupStrategyService.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteFaceGroupStrategyService.java deleted file mode 100644 index eaf1d25..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteFaceGroupStrategyService.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.yida.data.user.feign; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import com.yida.data.common.core.entity.user.EduCourse; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategy; -import com.yida.data.user.fallback.RemoteCourseServiceFallback; -import com.yida.data.user.fallback.RemoteFaceGroupStrategyServiceFallback; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; - -@FeignClient(value = FebsServerConstant.EDU_USER, contextId = "remoteFaceGroupStrategyServiceClient", - fallbackFactory = RemoteFaceGroupStrategyServiceFallback.class) -public interface RemoteFaceGroupStrategyService { - - @GetMapping("/in/eduFaceGroupStrategy/getStrategyInfo") - ResultBean getStrategyInfo(@RequestParam("faceGroupId") Long faceGroupId); -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteStaffService.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteStaffService.java index 1fde5da..969df2d 100644 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteStaffService.java +++ b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteStaffService.java @@ -8,7 +8,6 @@ import com.yida.data.common.core.entity.user.EduTeacherDept; import com.yida.data.user.dto.ListStaffDTO; import com.yida.data.user.fallback.RemoteStaffServiceFallback; import com.yida.data.user.vo.TeacherClassVO; -import com.yida.data.user.vo.TeacherDeptVO; import io.swagger.annotations.ApiParam; import org.apache.ibatis.annotations.Param; import org.springframework.cloud.openfeign.FeignClient; @@ -20,7 +19,7 @@ import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @FeignClient(value = FebsServerConstant.EDU_USER, contextId = "StaffServiceClient", - fallbackFactory = RemoteStaffServiceFallback.class) + fallbackFactory = RemoteStaffServiceFallback.class) public interface RemoteStaffService { @@ -32,7 +31,7 @@ public interface RemoteStaffService { */ @GetMapping("/staff/findTeacherRole") ResultBean> findTeacherRole(@RequestParam("teacherId") Long teacherId, - @RequestParam("type") Integer type); + @RequestParam("type") Integer type); /** * 查询教师可见课程 @@ -43,7 +42,7 @@ public interface RemoteStaffService { */ @GetMapping("/staff/findTeacherCourseId") ResultBean> findTeacherCourseId(@RequestParam("teacherId") Long teacherId, - @RequestParam("schoolId") Long schoolId); + @RequestParam("schoolId") Long schoolId); /** * 根据id查询职工信息 @@ -61,19 +60,13 @@ public interface RemoteStaffService { */ @GetMapping("/staff/listStaffByDeptId") ResultBean> listStaffByDeptId(@RequestParam("deptId") @Param("deptId") Long deptId, - @RequestParam("nameOrPhone") @Param("nameOrPhone") String nameOrPhone, - @RequestParam("schoolId") Long schoolId); - - - @GetMapping("/in/staff/listStaffByDeptId") - ResultBean> listStaffByDeptIdNoPermission(@RequestParam("deptId") @Param("deptId") Long deptId, - @RequestParam("nameOrPhone") @Param("nameOrPhone") String nameOrPhone, - @RequestParam("schoolId") Long schoolId); + @RequestParam("nameOrPhone") @Param("nameOrPhone") String nameOrPhone, + @RequestParam("schoolId") Long schoolId); /** * 根据条件查询职工列表 */ - @PostMapping("/in/staff/listStaff") + @PostMapping("/staff/listStaff") ResultBean> listStaff(@RequestBody ListStaffDTO dto); /** @@ -91,9 +84,6 @@ public interface RemoteStaffService { @PostMapping("/staff/getStaffDeptByStaffIds") ResultBean> getStaffDeptByStaffIds(@ApiParam("职工id") @RequestBody List staffIds); - @PostMapping("/in/staff/getStaffDeptByStaffIds") - ResultBean> getStaffDeptByStaffIdsNoPermission(@ApiParam("职工id") @RequestBody List staffIds); - @GetMapping("/in/staff/syncQywxStaff") ResultBean syncQywxStaff(); @@ -109,16 +99,16 @@ public interface RemoteStaffService { */ @GetMapping("/in/staff/getStaffByWxOrMobileOrOpenId") ResultBean getStaffByWxOrMobileOrOpenId(@RequestParam("wxId") String wxId, - @RequestParam("mobile") String mobile, - @RequestParam("wxOpenId") String wxOpenId, - @RequestParam("schoolId") Long schoolId); + @RequestParam("mobile") String mobile, + @RequestParam("wxOpenId") String wxOpenId, + @RequestParam("schoolId") Long schoolId); /** * 处理企业微信职工删除 */ @GetMapping("/in/staff/dealWxUserDelete") ResultBean dealWxUserDelete(@RequestParam("wxId") String wxId, - @RequestParam("schoolId") Long schoolId); + @RequestParam("schoolId") Long schoolId); @GetMapping("/in/staff/getStaffByDahua") ResultBean getStaffByDahuaNoPermission(@RequestParam("dahuaCode") String dahuaCode); @@ -143,36 +133,5 @@ public interface RemoteStaffService { */ @GetMapping("/in/staff/saveWxPublicOpenId") ResultBean saveWxPublicOpenId(@RequestParam("staffId") Long staffId, - @RequestParam("openId") String openId); - - - @GetMapping("/in/staff/listStaffRolesByStaffId") - ResultBean> listStaffRolesByStaffId(@RequestParam("staffId") Long staffId); - - /** - * 根据职工id集合查询职工信息 - * - * @param staffIds 职工id集合 - * @return com.yida.data.common.core.common.ResultBean> - * @author ZYJ - * @date 2023/6/8 17:24 - */ - @PostMapping("/staff/getStaffList") - ResultBean> getStaffList(@RequestBody List staffIds); - - /** - * 更新职工信息缓存 - * - * @return - */ - @GetMapping("in/staff/updateStaffCache") - ResultBean updateStaffCache(); - - /** - * 查询职工管理班级 - * - * @return - */ - @GetMapping("in/staff/listClassIdByStaffId") - ResultBean> listClassIdByStaffId(); + @RequestParam("openId") String openId); } \ No newline at end of file diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteStudentApplyService.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteStudentApplyService.java deleted file mode 100644 index a3f2fc8..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteStudentApplyService.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.yida.data.user.feign; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import com.yida.data.common.core.entity.user.EduStudentApply; -import com.yida.data.user.fallback.RemoteStudentApplyServiceFallback; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; - -import java.util.List; -import java.util.Map; - -@FeignClient(value = FebsServerConstant.EDU_USER, contextId = "studentApplyServiceClient", - fallbackFactory = RemoteStudentApplyServiceFallback.class) -public interface RemoteStudentApplyService { - - @GetMapping("/in/transaction/studentApply/listApply") - ResultBean>> listApplyCode(@RequestParam("studentIds") Long[] studentIds); - - @GetMapping("/transaction/studentApply/hasApply") - ResultBean hasApply(@RequestParam("studentId") Long studentId, - @RequestParam("applyCode") String applyCode); - - @GetMapping("/transaction/studentApply/getStudentApplyByIdAndCode") - ResultBean getStudentApply(@RequestParam("studentId") Long studentId, - @RequestParam("applyCode") String applyCode); -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteStudentService.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteStudentService.java index fa01e95..e92b72c 100644 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteStudentService.java +++ b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteStudentService.java @@ -1,6 +1,5 @@ package com.yida.data.user.feign; -import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.constant.FebsServerConstant; @@ -13,7 +12,6 @@ import com.yida.data.user.fallback.RemoteStudentServiceFallback; import com.yida.data.user.vo.ListParentByStudentIdsVO; import com.yida.data.user.vo.ParentInfoVO; import com.yida.data.user.vo.StudentClassInfoVO; -import io.swagger.annotations.ApiParam; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -21,7 +19,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; -import java.util.Map; @FeignClient(value = FebsServerConstant.EDU_USER, contextId = "studentServiceClient", fallbackFactory = RemoteStudentServiceFallback.class) @@ -252,36 +249,4 @@ public interface RemoteStudentService { */ @PostMapping(value = "/in/student/listBaseStudentNoJoin") ResultBean> listBaseStudentNoJoin(@RequestBody EduStudent eduStudent); - - /** - * 查询校园大数据的人员统计数据 - * - * @param schoolId 学校id - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2023/4/24 15:09 - */ - @GetMapping(value = "/in/student/countUserDashboardNum") - ResultBean countUserDashboardNum(@RequestParam Long schoolId); - - - /** - * 新增/编辑学生 - * - * @param eduStudent - * @return - */ - @PostMapping("out/student/saveStudent") - ResultBean saveStudent(@RequestBody EduStudent eduStudent); - - @PostMapping("in/student/saveStudentDorm") - ResultBean saveStudentDorm(@RequestBody EduStudent eduStudent); - - /** - * 更新学生信息缓存 - * - * @return - */ - @GetMapping("in/student/updateStudentCache") - ResultBean updateStudentCache(); } diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteTeacherService.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteTeacherService.java index b7c6a3e..0431fc0 100644 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteTeacherService.java +++ b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteTeacherService.java @@ -28,8 +28,7 @@ public interface RemoteTeacherService { @RequestParam("sectionId") Long sectionId, @RequestParam("gradeId") Long gradeId, @RequestParam("classId") Long classId, - @RequestBody List teacherList, - @RequestParam("deptWxId") Long deptWxId); + @RequestBody List teacherList); /** * 根据教师微信id查询教师信息 @@ -97,7 +96,6 @@ public interface RemoteTeacherService { * * @param deptId 家校部门id * @param type 教师类型 1表示校区负责人,2表示年级负责人,3表示班主任,4表示任课老师,5表示学段负责人 - * 1表示班级,2表示年级,3表示学段,4表示校区 * @return com.yida.data.common.core.common.ResultBean> * @author ZYJ * @date 2022/7/15 17:48 diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteUserDeptService.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteUserDeptService.java index 665d7b1..ba2f11e 100644 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteUserDeptService.java +++ b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteUserDeptService.java @@ -20,7 +20,7 @@ import java.util.List; * @date 2021-11-22 */ @FeignClient(value = FebsServerConstant.EDU_USER, contextId = "userDeptServiceClient", - fallbackFactory = RemoteUserDeptServiceFallback.class) + fallbackFactory = RemoteUserDeptServiceFallback.class) public interface RemoteUserDeptService { /** @@ -99,16 +99,6 @@ public interface RemoteUserDeptService { @GetMapping("/in/eduUserDept/getParentByDeptId") ResultBean getParentByDeptId(@RequestParam Long deptId); - - /** - * 根据家校部门id查询全部上级家校部门信息 - * - * @param deptId - * @return - */ - @GetMapping("/in/eduUserDept/getParentListByDeptId") - ResultBean> getParentListByDeptId(@RequestParam Long deptId); - /** * 批量保存家校部门 * @@ -156,24 +146,9 @@ public interface RemoteUserDeptService { ResultBean> findChildByParentAndType(@RequestParam Long parentId, @RequestParam Integer type); /** - * 向下查询指定家校部门类型的家校部门id(可查询非直接子家校部门) 未毕业家校部门 + * 向下查询指定家校部门类型的家校部门id(可查询非直接子家校部门) + * 未毕业家校部门 */ @GetMapping("/in/eduUserDept/findChildIdByParentAndType") ResultBean> findChildIdByParentAndTypeNoPermission(@RequestParam Long parentId, @RequestParam Integer type); - - /** - * 向下查询指定家校部门类型的家校部门id(可查询非直接子家校部门) 未毕业家校部门 - */ - @GetMapping("/in/eduUserDept/findListByParent") - ResultBean> findListByParent(@RequestParam Long deptId); - - - /** - * 获取家校部门树 - * - * @param deptIds - * @return - */ - @PostMapping("in/eduUserDept/getUserDeptTree") - ResultBean getUserDeptTree(@RequestBody List deptIds); } diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteUserDeviceService.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteUserDeviceService.java index 8be694e..a5997f1 100644 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteUserDeviceService.java +++ b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteUserDeviceService.java @@ -6,10 +6,8 @@ import com.yida.data.common.core.entity.user.EduUserDevice; import com.yida.data.user.fallback.RemoteUserDeviceServiceFallback; import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @@ -19,32 +17,4 @@ public interface RemoteUserDeviceService { @PostMapping("/in/userDevice/batchSave") ResultBean batchSave(@RequestBody List list); - - /** - * 获取设备和人员关联信息 - * - * @param userId 用户id - * @param type 用户类型. 0-学生,1-职工 - * @param deviceId 设备id - * @param faceGroupId 人脸组id - * @return com.yida.data.common.core.common.ResultBean> - * @author ZYJ - * @date 2023/2/3 17:21 - */ - @GetMapping("/in/userDevice/listUserDevice") - ResultBean> listUserDevice(@RequestParam Long userId, - @RequestParam Integer type, - @RequestParam Long deviceId, - @RequestParam Long faceGroupId); - - /** - * 删除设备和人员关联信息 - * - * @param userDevice 删除信息 - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2023/2/23 17:32 - */ - @PostMapping("/in/userDevice/deleteRelation") - ResultBean deleteRelation(@RequestBody EduUserDevice userDevice); } diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteUserFaceService.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteUserFaceService.java index b6cd24e..4034a42 100644 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteUserFaceService.java +++ b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/feign/RemoteUserFaceService.java @@ -16,15 +16,6 @@ import org.springframework.web.bind.annotation.RequestParam; fallbackFactory = RemoteUserFaceServiceFallback.class) public interface RemoteUserFaceService { - /** - * 获取用户人脸信息 - * - * @param userId 用户id - * @param type 用户类型,0-学生,1-职工 - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2023/2/2 16:59 - */ @GetMapping("/in/face/getFaceByUser") ResultBean getFaceByUser(@RequestParam("userId") Long userId, @RequestParam("type") Integer type); diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/ClassAttendanceDataVO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/ClassAttendanceDataVO.java deleted file mode 100644 index 22ad12c..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/ClassAttendanceDataVO.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.yida.data.user.vo; - -import com.yida.data.common.core.entity.user.EduStudent; -import io.swagger.annotations.ApiModelProperty; -import java.util.List; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class ClassAttendanceDataVO { - - /** - * 宿舍名称/班级名称 - */ - @ApiModelProperty(value = "班级ID") - private Long classId; - /** - * 宿舍名称/班级名称 - */ - @ApiModelProperty(value = "类型:0班级,1宿舍") - private Integer type; - /** - * 宿舍名称/班级名称 - */ - @ApiModelProperty(value = "名称") - private String name; - /** - * 总人数 - */ - @ApiModelProperty(value = "总人数") - private Integer totalNum; - /** - * 已采集人数 - */ - @ApiModelProperty(value = "异常人数") - private Integer abnormalNum; - /** - * 关联学生数据 - */ - @ApiModelProperty(value = "关联学生数据") - private List studentList; - /** - * 考勤时段ID - */ - @ApiModelProperty(value = "考勤时段ID") - private Long ruleTimeId; - - -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/DeptManagetVO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/DeptManagetVO.java deleted file mode 100644 index b31536a..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/DeptManagetVO.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.yida.data.user.vo; - -import io.swagger.annotations.ApiModelProperty; -import java.util.List; -import lombok.Data; - -@Data -public class DeptManagetVO { - - @ApiModelProperty("部门Id") - private Long deptId; - @ApiModelProperty("部门名称") - private String deptName; - @ApiModelProperty("部门管理员") - private List managerVoList; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/DownLoadPicVO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/DownLoadPicVO.java index 0f0fb10..af971bd 100644 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/DownLoadPicVO.java +++ b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/DownLoadPicVO.java @@ -14,7 +14,7 @@ public class DownLoadPicVO { @ApiModelProperty("是否上传完成,0-否,1-是") private Integer finish; - + @ApiModelProperty("下载总数") private Integer totalNum; diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/DownLoadStaffAttendanceRecordVO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/DownLoadStaffAttendanceRecordVO.java deleted file mode 100644 index 3af2ce0..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/DownLoadStaffAttendanceRecordVO.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.yida.data.user.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 下载职工通行记录进度-实体 - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class DownLoadStaffAttendanceRecordVO { - - @ApiModelProperty("本次操作标识") - private String key; - - @ApiModelProperty("进度 0-100") - private Integer percent; - - @ApiModelProperty("是否下载完成,0-否,1-是") - private Integer finish; - - @ApiModelProperty("下载总数") - private Integer totalNum; - - @ApiModelProperty("当前下载到第几个") - private Integer currentNum; - - @ApiModelProperty("错误文件路径") - private String filePath; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/ManagerVo.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/ManagerVo.java deleted file mode 100644 index 6a44008..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/ManagerVo.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.yida.data.user.vo; - -import lombok.Data; - -@Data -public class ManagerVo { - - private Long userId; - private String userName; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/OutPageStudentVO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/OutPageStudentVO.java deleted file mode 100644 index d3f557f..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/OutPageStudentVO.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.yida.data.user.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * 分页查询学生列表数据返回类 - * - * @author ZYJ - * @date 2023/2/20 - */ -@Data -@ApiModel(value = "OutPageStudentVO", description = "分页查询学生列表数据返回类") -public class OutPageStudentVO implements Serializable { - - private static final long serialVersionUID = 7179610417104867560L; - - @ApiModelProperty("学生id") - private Long studentId; - - @ApiModelProperty("学生姓名") - private String studentName; - - @ApiModelProperty("校园卡号") - private String stuCardNumber; - - @ApiModelProperty("学生头像url") - private String avatar; - - @ApiModelProperty("学校id") - private Long schoolId; - - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createDate; - - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime updateDate; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategyInfoVO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategyInfoVO.java deleted file mode 100644 index c5a8e7a..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategyInfoVO.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.yida.data.user.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.List; - -/** - * 人脸组-策略信息返回类 - * - * @author ZYJ - * @date 2022/12/12 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "StrategyInfoVO", description = "人脸组-策略信息返回类") -public class StrategyInfoVO implements Serializable { - - private static final long serialVersionUID = 5883547164739281028L; - - @ApiModelProperty(value = "策略id") - private Long strategyId; - - @ApiModelProperty(value = "人脸组id") - private Long faceGroupId; - - @ApiModelProperty(value = "策略生效时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime strategyStartDate; - - @ApiModelProperty(value = "策略失效时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime strategyEndDate; - - @ApiModelProperty(value = "星期一通行计划uuid") - private String mondayUniqueCode; - - @ApiModelProperty(value = "星期二通行计划uuid") - private String tuesdayUniqueCode; - - @ApiModelProperty(value = "星期三通行计划uuid") - private String wednesdayUniqueCode; - - @ApiModelProperty(value = "星期四通行计划uuid") - private String thursdayUniqueCode; - - @ApiModelProperty(value = "星期五通行计划uuid") - private String fridayUniqueCode; - - @ApiModelProperty(value = "星期六通行计划uuid") - private String saturdayUniqueCode; - - @ApiModelProperty(value = "星期天通行计划uuid") - private String sundayUniqueCode; - - @ApiModelProperty(value = "通行计划集合") - private List planList; - - @ApiModelProperty(value = "特殊日期集合") - private List specialList; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategyPlanTimeVO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategyPlanTimeVO.java deleted file mode 100644 index b9257f9..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategyPlanTimeVO.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.yida.data.user.vo; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalTime; - -/** - * 人脸组-策略-通行计划-时间段信息返回类 - * - * @author ZYJ - * @date 2022/12/12 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "StrategyPlanTimeVO", description = "人脸组-策略-通行计划-时间段信息返回类") -public class StrategyPlanTimeVO implements Serializable { - - private static final long serialVersionUID = -3006837050525867421L; - - @ApiModelProperty(value = "人脸组id") - @TableField("face_group_id") - private Long faceGroupId; - - @ApiModelProperty(value = "人脸组-策略id") - private Long faceGroupStrategyId; - - @ApiModelProperty(value = "人脸组-策略-通行计划id") - private Long faceGroupStrategyPlanId; - - @ApiModelProperty(value = "开始时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime planStartTime; - - @ApiModelProperty(value = "结束时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime planEndTime; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategyPlanVO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategyPlanVO.java deleted file mode 100644 index 56e455b..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategyPlanVO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.yida.data.user.vo; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.List; - -/** - * 人脸组-策略-通行计划信息返回类 - * - * @author ZYJ - * @date 2022/12/12 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "StrategyPlanVO", description = "人脸组-策略-通行计划信息返回类") -public class StrategyPlanVO implements Serializable { - - private static final long serialVersionUID = -4014484234037617273L; - - @ApiModelProperty(value = "通行计划id") - private Long planId; - - @ApiModelProperty(value = "人脸组id") - private Long faceGroupId; - - @ApiModelProperty(value = "人脸组-策略id") - private Long faceGroupStrategyId; - - @ApiModelProperty("通行计划唯一编码") - private String uniqueCode; - - @ApiModelProperty("通行计划-时间段集合") - private List planTimeList; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategySpecialDateVO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategySpecialDateVO.java deleted file mode 100644 index 7d9d82f..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategySpecialDateVO.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.yida.data.user.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalDate; -import java.util.List; - -/** - * 人脸组-策略-特殊日期返回类 - * - * @author ZYJ - * @date 2022/12/12 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "StrategySpecialDateVO", description = "人脸组-策略-特殊日期返回类") -public class StrategySpecialDateVO implements Serializable { - - private static final long serialVersionUID = -3513266099905879137L; - - @ApiModelProperty(value = "特殊日期主键id") - private Long specialId; - - @ApiModelProperty(value = "人脸组id") - private Long faceGroupId; - - @ApiModelProperty(value = "人脸组-策略id") - private Long faceGroupStrategyId; - - @ApiModelProperty(value = "特殊日期开始日期") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate specialStartDate; - - @ApiModelProperty(value = "特殊日期结束日期") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate specialEndDate; - - @ApiModelProperty("特殊日期-时间段集合") - private List specialTimeList; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategySpecialTimeVO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategySpecialTimeVO.java deleted file mode 100644 index 7fb0fef..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StrategySpecialTimeVO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yida.data.user.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.time.LocalTime; - -/** - * 人脸组-策略-特殊日期-时间返回类 - * - * @author ZYJ - * @date 2022/12/12 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@ApiModel(value = "StrategySpecialTimeVO", description = "人脸组-策略-特殊日期-时间返回类") -public class StrategySpecialTimeVO implements Serializable { - - private static final long serialVersionUID = 3886115890777830964L; - - @ApiModelProperty(value = "开始时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime specialStartTime; - - @ApiModelProperty(value = "结束时间") - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime specialEndTime; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StudentApplyImportErrorVO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StudentApplyImportErrorVO.java deleted file mode 100644 index d7dc54c..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StudentApplyImportErrorVO.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.yida.data.user.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -public class StudentApplyImportErrorVO { - - @ExcelProperty(index = 0, value = "错误信息") - @ApiModelProperty("错误信息") - private String errorMsg; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StudentApplyImportProgressVO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StudentApplyImportProgressVO.java deleted file mode 100644 index 04731ab..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StudentApplyImportProgressVO.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.yida.data.user.vo; - -import lombok.Data; - -@Data -public class StudentApplyImportProgressVO { - - private Integer totalNum; - private Integer currentNum; - private String errorPageUrl; - private Integer finish; - private String redisKey; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StudentApplyImportVO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StudentApplyImportVO.java deleted file mode 100644 index a53b0e6..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StudentApplyImportVO.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.yida.data.user.vo; - -import com.alibaba.excel.annotation.ExcelProperty; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -public class StudentApplyImportVO { - - @ExcelProperty(index = 0, value = "序号") - @ApiModelProperty(value = "序号") - private Long indexNo; - - @ExcelProperty(index = 1, value = "学校名称") - @ApiModelProperty("学校名称") - private String schoolName; - - @ExcelProperty(index = 2, value = "校区名称") - @ApiModelProperty("校区名称") - private String campusName; - - @ExcelProperty(index = 3, value = "学段名称") - @ApiModelProperty("学段名称") - private String sectionName; - - @ExcelProperty(index = 4, value = "年级名称") - @ApiModelProperty("年级名称") - private String gradeName; - - @ExcelProperty(index = 5, value = "班级名称") - @ApiModelProperty("班级名称") - private String className; - - @ExcelProperty(index = 6, value = "学生姓名") - @ApiModelProperty("学生姓名") - private String studentName; - - @ExcelProperty(index = 7, value = "学生学号") - @ApiModelProperty("学生学号") - private String studentNumber; - - @ExcelProperty(index = 8, value = "开通应用") - @ApiModelProperty("开通应用") - private String applyName; - - @ExcelProperty(index = 9, value = "有效开始时间") - @ApiModelProperty("有效开始时间") - private String startTime; - - @ExcelProperty(index = 10, value = "有效结束时间") - @ApiModelProperty("有效结束时间") - private String endTime; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StudentApplyStatusVO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StudentApplyStatusVO.java deleted file mode 100644 index 339694b..0000000 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/StudentApplyStatusVO.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.user.vo; - -import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; -import lombok.Data; - -@Data -public class StudentApplyStatusVO { - - @ApiModelProperty("应用状态,0-未开通,1-使用中,2-已过期") - private Integer status; - - @ApiModelProperty("过期时间") - private LocalDate deadLine; -} diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/TeacherDeptVO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/TeacherDeptVO.java index 93f6e01..f662bd5 100644 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/TeacherDeptVO.java +++ b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/TeacherDeptVO.java @@ -10,11 +10,6 @@ import lombok.Data; @ApiModel("教师班级学科关系") public class TeacherDeptVO { - @ApiModelProperty("学校id") - private Long schoolId; - @ApiModelProperty("学校名称") - private String schoolName; - @ApiModelProperty("校区id") private Long campusId; @ApiModelProperty("校区名称") @@ -35,9 +30,6 @@ public class TeacherDeptVO { @ApiModelProperty("班级名称") private String className; - @ApiModelProperty("班级人数") - private Long classStudentNum; - @ApiModelProperty("教师类型 1表示校区负责人,2表示年级负责人,3表示班主任,4表示任课老师,5表示学段负责人") private Integer type; diff --git a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/UserInfoVO.java b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/UserInfoVO.java index 3ff1e5e..4fb5407 100644 --- a/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/UserInfoVO.java +++ b/febs-server/edu-user/edu-user-api/src/main/java/com/yida/data/user/vo/UserInfoVO.java @@ -5,13 +5,8 @@ import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.io.Serializable; - @Data -public class UserInfoVO implements Serializable { - - private static final long serialVersionUID = -2183584074714449444L; - +public class UserInfoVO { @ApiModelProperty("用户名称") @ExcelProperty("用户名称") private String name; @@ -23,7 +18,4 @@ public class UserInfoVO implements Serializable { @ApiModelProperty("学号/手机号") @ExcelProperty("学号/手机号") private String number; - - @ApiModelProperty("设备名称") - private String deviceName; } diff --git a/febs-server/edu-user/edu-user-api/src/main/resources/META-INF/spring.factories b/febs-server/edu-user/edu-user-api/src/main/resources/META-INF/spring.factories index 8c9587f..8b3d2f5 100644 --- a/febs-server/edu-user/edu-user-api/src/main/resources/META-INF/spring.factories +++ b/febs-server/edu-user/edu-user-api/src/main/resources/META-INF/spring.factories @@ -7,7 +7,4 @@ com.yida.data.user.fallback.RemoteTeacherServiceFallback,\ com.yida.data.user.fallback.RemoteUserDeptServiceFallback,\ com.yida.data.user.fallback.RemoteUserDeviceFactoryServiceFallback,\ com.yida.data.user.fallback.RemoteUserDeviceServiceFallback,\ -com.yida.data.user.fallback.RemoteUserFaceServiceFallback,\ -com.yida.data.user.fallback.RemoteStudentApplyServiceFallback,\ -com.yida.data.user.fallback.RemoteFaceGroupDeviceServiceFallback,\ -com.yida.data.user.fallback.RemoteFaceGroupStrategyServiceFallback \ No newline at end of file +com.yida.data.user.fallback.RemoteUserFaceServiceFallback \ No newline at end of file diff --git a/febs-server/edu-user/edu-user-biz/pom.xml b/febs-server/edu-user/edu-user-biz/pom.xml index 1573d8b..60bbc0f 100644 --- a/febs-server/edu-user/edu-user-biz/pom.xml +++ b/febs-server/edu-user/edu-user-biz/pom.xml @@ -50,7 +50,7 @@ com.yida.data.attendance - attendance-api + edu-attendance-api ${febs-cloud.version} compile diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/config/ExcelConfiguration.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/config/ExcelConfiguration.java deleted file mode 100644 index cb4900b..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/config/ExcelConfiguration.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.yida.data.user.config; - -import cc.mrbird.febs.common.redis.service.RedisService; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.service.CommonService; -import com.yida.data.school.feign.facility.RemoteDormitoryService; -import com.yida.data.user.service.EduStudentService; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * excel功能配置类 - * - * @author ZYJ - * @date 2023/10/20 - */ -@Configuration -public class ExcelConfiguration { - - @Value("${febs.uploadUrl}") - private String uploadUrl; - - @Bean - ExportStudentClient exportStudentClient( - EduStudentService eduStudentService, - RedisService redisService, CommonService commonService) { - return new ExportStudentClient(eduStudentService, redisService, commonService, - CachePrefixConstant.EXPORT_STUDENT_DATA, uploadUrl); - } - - @Bean - ExportStudentDormClient exportStudentDormClient( - EduStudentService eduStudentService, - RedisService redisService, CommonService commonService, RemoteDormitoryService remoteDormitoryService) { - return new ExportStudentDormClient(eduStudentService, redisService, commonService, - CachePrefixConstant.EXPORT_STUDENT_DORM_DATA, uploadUrl, remoteDormitoryService); - } - -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/config/ExportStudentClient.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/config/ExportStudentClient.java deleted file mode 100644 index 4ba445c..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/config/ExportStudentClient.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.yida.data.user.config; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.util.StrUtil; -import com.yida.data.common.core.entity.Dict; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.excel.DefaultExportExcelClient; -import com.yida.data.common.service.CommonService; -import com.yida.data.user.dto.PageStudentDTO; -import com.yida.data.user.dto.StudentExportDTO; -import com.yida.data.user.excel.SelectStudentExportData; -import com.yida.data.user.service.EduStudentService; -import org.springframework.beans.BeanUtils; - -import java.util.List; -import java.util.Objects; - -/** - * 学生信息导出处理类 - * - * @author ZYJ - * @date 2023/12/12 15:00 - */ -public class ExportStudentClient - extends DefaultExportExcelClient { - - public ExportStudentClient(EduStudentService eduStudentService, RedisService redisService, CommonService commonService, - String exportCacheKey, String uploadUrl) { - super(eduStudentService, redisService, commonService, exportCacheKey, uploadUrl); - } - - @Override - public List selectExportData(SelectStudentExportData selectStudentExportData) { - // 查询数据 - PageStudentDTO dto = new PageStudentDTO(); - BeanUtils.copyProperties(selectStudentExportData, dto); - return this.baseService.selectStudent(dto); - } - - @Override - public StudentExportDTO handleSingleData(EduStudent o) { - StudentExportDTO exportDTO = new StudentExportDTO(); - BeanUtils.copyProperties(o, exportDTO); - // 采集状态 - String collectStatus = "未采集"; - if (Objects.nonNull(o.getCollectType()) && o.getCollectType() == 1) { - collectStatus = "已采集"; - } - exportDTO.setCollectStatus(collectStatus); - // 班级信息 - if (StrUtil.isNotBlank(o.getCampusName()) && StrUtil.isNotBlank(o.getSectionName()) - && StrUtil.isNotBlank(o.getGradeName()) && StrUtil.isNotBlank(o.getClassName())) { - exportDTO.setDeptName(o.getCampusName() + "-" + o.getSectionName() + "-" + - o.getGradeName() + "-" + o.getClassName()); - } - // 政治面貌 - Dict politicsStatus = this.commonService.getDictByTypeAndValueOrLabel("politics_status", null, o.getPoliticsStatus()); - if (Objects.nonNull(politicsStatus)) { - exportDTO.setPoliticsStatus(politicsStatus.getValue()); - } else { - exportDTO.setPoliticsStatus(""); - } - // 学生性别 - String sex = o.getStuSex(); - if (StrUtil.isEmpty(sex)) { - exportDTO.setStuSex(""); - } else { - exportDTO.setStuSex("0".equals(sex) ? "男" : "女"); - } - // 民族 - Dict nation = this.commonService.getDictByTypeAndValueOrLabel("nation", null, o.getNation()); - if (Objects.nonNull(nation)) { - exportDTO.setNation(nation.getValue()); - } else { - exportDTO.setNation(""); - } - // 学生类型 - Integer type = o.getType(); - if (Objects.nonNull(type)) { - exportDTO.setType(type == 0 ? "走读" : "住宿"); - } - // 学籍状态 - Dict studentStatus = this.commonService.getDictByTypeAndValueOrLabel("student_status", null, o.getStudentStatus()); - if (Objects.nonNull(studentStatus)) { - exportDTO.setStudentStatus(studentStatus.getValue()); - } else { - exportDTO.setStudentStatus(""); - } - return exportDTO; - } -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/config/ExportStudentDormClient.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/config/ExportStudentDormClient.java deleted file mode 100644 index 9ffa49f..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/config/ExportStudentDormClient.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.yida.data.user.config; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import com.yida.data.common.core.entity.school.EduDormitoryRoom; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.entity.user.EduUserDept; -import com.yida.data.common.excel.DefaultExportExcelClient; -import com.yida.data.common.service.CommonService; -import com.yida.data.school.dto.index.ListDormRoomDTO; -import com.yida.data.school.feign.facility.RemoteDormitoryService; -import com.yida.data.user.dto.StudentDormExportDTO; -import com.yida.data.user.excel.SelectStudentDormExportData; -import com.yida.data.user.service.EduStudentService; -import org.springframework.beans.BeanUtils; - -import java.util.*; -import java.util.stream.Collectors; - -/** - * 学生住宿信息导出处理类 - * - * @author ZYJ - * @date 2023/12/13 15:00 - */ -public class ExportStudentDormClient - extends DefaultExportExcelClient { - - private final RemoteDormitoryService remoteDormitoryService; - - private Map> dormRoomGroup = new HashMap<>(); - - public ExportStudentDormClient(EduStudentService eduStudentService, RedisService redisService, CommonService commonService, - String exportCacheKey, String uploadUrl, RemoteDormitoryService remoteDormitoryService) { - super(eduStudentService, redisService, commonService, exportCacheKey, uploadUrl); - this.remoteDormitoryService = remoteDormitoryService; - } - - @Override - public List selectExportData(SelectStudentDormExportData data) { - List dormIds = new ArrayList<>(); - // 查询匹配的宿舍 - if (data.getDormRoomId() == null) { - List dormRooms = remoteDormitoryService.listDormRoomNoAuth(ListDormRoomDTO.builder() - .schoolId(data.getSchoolId()) - .floor(data.getFloor()) - .dormIds(data.getDormId() != null ? Collections.singletonList(data.getDormId()) : null).build()).getData(); - if (CollUtil.isNotEmpty(dormRooms)) { - dormRoomGroup = dormRooms.stream().collect(Collectors.groupingBy(EduDormitoryRoom::getDormId)); - dormIds = dormRooms.stream().map(EduDormitoryRoom::getId).collect(Collectors.toList()); - } - } else { - dormIds = Collections.singletonList(data.getDormRoomId()); - } - // 宿舍为空 不查询数据 - if (CollUtil.isEmpty(dormIds)) { - dormIds = new ArrayList<>(); - dormIds.add(-1L); - } - // 查询学生信息 - return this.baseService.listStudentDorm(dormIds, data); - } - - @Override - public StudentDormExportDTO handleSingleData(EduStudent o) { - // 年级班级信息 - EduUserDept grade = this.commonService.getUserDept(o.getGradeId()); - EduUserDept clazz = this.commonService.getUserDept(o.getClassId()); - StringBuilder gradeClass = new StringBuilder(); - if (grade != null) { - gradeClass.append(grade.getDeptName()); - } - if (clazz != null) { - gradeClass.append(clazz.getDeptName()); - } - o.setClassName(gradeClass.toString()); - // 入住寝室信息 - EduDormitoryRoom dormRoom; - if (CollUtil.isNotEmpty(dormRoomGroup) && dormRoomGroup.containsKey(o.getDormRoomId())) { - dormRoom = dormRoomGroup.get(o.getDormRoomId()).get(0); - } else { - dormRoom = remoteDormitoryService.getDormRoomNoPermission(o.getDormRoomId()).getData(); - if (dormRoom != null) { - dormRoomGroup.put(dormRoom.getId(), Collections.singletonList(dormRoom)); - } - } - // 查询到了寝室信息 - if (Objects.nonNull(dormRoom)) { - String dormRoomName = dormRoom.getDormName() + - dormRoom.getFloor() + "层" + - dormRoom.getName(); - o.setDormRoomName(dormRoomName); - } - StudentDormExportDTO exportDTO = new StudentDormExportDTO(); - BeanUtils.copyProperties(o, exportDTO); - exportDTO.setDeptName(o.getClassName()); - return exportDTO; - } -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduCourseController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduCourseController.java index b66ec3a..9003ca3 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduCourseController.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduCourseController.java @@ -2,13 +2,10 @@ package com.yida.data.user.controller; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; import com.yida.data.common.core.entity.user.EduCourse; import com.yida.data.common.core.utils.Asserts; import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.user.service.EduCourseService; import org.springframework.web.bind.annotation.GetMapping; @@ -35,13 +32,14 @@ public class EduCourseController { @ApiOperation("根据学校查询课程") @GetMapping("/listCourse") + @ControllerLog(operation = "按学校查询课程") public ResultBean> listCourse(@ApiParam("学校id") @RequestParam Long schoolId) { return ResultBean.buildSuccess(eduCourseService.list(Wrappers.lambdaQuery(new EduCourse()).eq(EduCourse::getSchoolId, schoolId))); } @ApiOperation("添加课程") @PostMapping("/saveCourse") - @OperationLog(module = ModuleName.COURSE, methods = "添加课程", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "添加课程") public ResultBean saveCourse(@RequestBody EduCourse course) { Asserts.isNotNull(course.getCourseName(), "请输入科目名称"); Asserts.isTrue(eduCourseService.count(Wrappers.lambdaQuery() @@ -53,7 +51,7 @@ public class EduCourseController { @ApiOperation("删除课程") @PostMapping("/delCourse") - @OperationLog(module = ModuleName.COURSE, methods = "删除课程", type = OperationLogTypeEnum.DELETE) + @ControllerLog(operation = "删除课程") public ResultBean delCourse(@RequestBody List ids) { eduCourseService.removeByIds(ids); return ResultBean.buildSuccess(); diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduFaceGroupStrategyController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduFaceGroupStrategyController.java deleted file mode 100644 index f7ff80f..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduFaceGroupStrategyController.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.yida.data.user.controller; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.user.dto.StrategySaveDTO; -import com.yida.data.user.service.EduFaceGroupStrategyService; -import com.yida.data.user.vo.StrategyInfoVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -/** - * 人脸组-策略Controller - * - * @author ZYJ - * @date 2022-12-12 11:04:39 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@RequestMapping("eduFaceGroupStrategy") -@Api(tags = "人脸组-策略api") -public class EduFaceGroupStrategyController { - - private final EduFaceGroupStrategyService eduFaceGroupStrategyService; - - @GetMapping(value = "getStrategyInfo") - @ApiOperation(value = "获取人脸组策略信息") - public ResultBean getStrategyInfo(@ApiParam(value = "人脸组id", required = true) @RequestParam Long faceGroupId) { - return ResultBean.buildSuccess(eduFaceGroupStrategyService.getStrategyInfo(faceGroupId)); - } - - @PostMapping(value = "saveStrategyInfo") - @ApiOperation(value = "保存人脸组策略信息") - public ResultBean saveStrategyInfo(@RequestBody StrategySaveDTO strategySaveDTO) { - eduFaceGroupStrategyService.saveStrategyInfo(strategySaveDTO); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStaffController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStaffController.java index f5271c9..858275d 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStaffController.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStaffController.java @@ -5,25 +5,18 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.common.ResultMsgType; import com.yida.data.common.core.entity.CurrentUser; import com.yida.data.common.core.entity.constant.CachePrefixConstant; import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; import com.yida.data.common.core.entity.user.*; import com.yida.data.common.core.exception.FebsException; import com.yida.data.common.core.utils.FebsUtil; import com.yida.data.common.core.utils.FileUtil; -import com.yida.data.common.core.utils.RedisUtil; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.system.feign.RemoteDeptService; import com.yida.data.user.dto.ListStaffDTO; -import com.yida.data.user.dto.ManagerDTO; import com.yida.data.user.dto.PageTeacherDTO; import com.yida.data.user.mapper.EduTeacherDeptMapper; import com.yida.data.user.service.EduStaffDeptService; @@ -34,13 +27,8 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import io.swagger.annotations.ApiResponse; -import io.swagger.annotations.ApiResponses; -import javax.validation.constraints.NotNull; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.ehcache.impl.internal.concurrent.ConcurrentHashMap; -import org.springframework.http.MediaType; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -70,6 +58,7 @@ public class EduStaffController { @ApiOperation("查询教师列表数据") @GetMapping("/listTeacherPage") + @ControllerLog(operation = "分页查询教师列表") @PreAuthorize("hasAuthority('teacher:view')") public ResultBean> listTeacherPage(PageTeacherDTO dto) { dto.setSchoolId(FebsUtil.getTopDeptId()); @@ -79,16 +68,17 @@ public class EduStaffController { @ApiOperation("保存教师信息 新增或编辑") @PostMapping("/saveTeacher") - @OperationLog(module = ModuleName.STAFF, methods = "新增、修改教师", type = OperationLogTypeEnum.SAVE) + @ControllerLog(operation = "新增、修改教师") @PreAuthorize("hasAuthority('teacher:edit')") public ResultBean saveTeacher(@ApiParam("0-添加,1-编辑") @RequestParam("operation") Integer operation, - @RequestBody EduStaff eduStaff) { + @RequestBody EduStaff eduStaff) { eduStaffService.saveTeacher(operation, eduStaff); return ResultBean.buildSuccess(); } @ApiOperation("根据教师id查询教师详细信息") @GetMapping("/getTeacher") + @ControllerLog(operation = "根据教师id查询教师详细信息") @PreAuthorize("hasAuthority('teacher:view')") public ResultBean getTeacher(@ApiParam("教师Id") @RequestParam("teacherId") Long teacherId) { return ResultBean.buildSuccess(eduStaffService.findTeacher(teacherId)); @@ -102,7 +92,6 @@ public class EduStaffController { @ApiOperation("批量删除教师信息") @PostMapping("/delTeacherBatch") - @OperationLog(module = ModuleName.STAFF, methods = "批量删除教师信息", type = OperationLogTypeEnum.DELETE) public ResultBean delTeacherBatch(@RequestBody List teacherIds) { eduStaffService.delTeacherBatch(teacherIds); return ResultBean.buildSuccess(); @@ -110,7 +99,7 @@ public class EduStaffController { @ApiOperation("批量删除职工信息信息") @PostMapping("/delStaff") - @OperationLog(module = ModuleName.STAFF, methods = "批量删除职工信息信息", type = OperationLogTypeEnum.DELETE) + @ControllerLog(operation = "批量删除教师") @PreAuthorize("hasAuthority('staff:delete')") public ResultBean delTeacher(@RequestBody List staffIds) { eduStaffService.delStaffBatch(staffIds); @@ -119,6 +108,7 @@ public class EduStaffController { @ApiOperation("查询教师可见班级") @GetMapping("/listClassByTeacher") + @ControllerLog(operation = "查询教师可见班级") @PreAuthorize("hasAuthority('teacher:view')") public ResultBean> listClassByTeacher(@ApiParam("教师id") @RequestParam Long teacherId) { return ResultBean.buildSuccess(eduStaffService.listClassByTeacher(teacherId)); @@ -126,6 +116,7 @@ public class EduStaffController { @ApiOperation("查询教师可见班级和年级") @GetMapping("/listClassAndGradeByTeacher") + @ControllerLog(operation = "查询教师可见班级和年级") @PreAuthorize("hasAuthority('teacher:view')") public ResultBean> listClassAndGradeByTeacher(@ApiParam("教师id") @RequestParam Long teacherId) { return ResultBean.buildSuccess(eduStaffService.listClassAndGradeByTeacher(teacherId)); @@ -143,14 +134,14 @@ public class EduStaffController { CurrentUser currentUser = FebsUtil.getCurrentUser(); Long key = System.currentTimeMillis(); Map map = redisService - .hmget(CachePrefixConstant.IMPORT_TEACHER_KEY + currentUser.getUsername()); + .hmget(CachePrefixConstant.IMPORT_TEACHER_KEY + currentUser.getUsername()); if (CollUtil.size(map) >= 5) { throw new FebsException("导入文件已达上限,请稍后重试"); } redisService.hset(CachePrefixConstant.IMPORT_TEACHER_KEY + currentUser.getUsername(), key.toString(), 0); redisService.hset(CachePrefixConstant.IMPORT_TEACHER_FILE + currentUser.getUsername(), key.toString(), - file.getOriginalFilename()); -// eduStaffService.importTeacher(FileUtil.uploadMultipartFile(file), schoolId, currentUser, System.currentTimeMillis(), file.getName()); + file.getOriginalFilename()); + //eduStaffService.importTeacher(FileUtil.uploadMultipartFile(file), schoolId, currentUser, System.currentTimeMillis(), file.getName()); return ResultBean.buildSuccess(); } @@ -161,73 +152,37 @@ public class EduStaffController { } @ApiOperation("下载教师导入表格") - @PostMapping("/downloadTemplate") - public void downloadTemplate(HttpServletResponse response, - @ApiParam("模板类型,0-教师,1-职工") @RequestParam(required = false) Integer type) { + @GetMapping("/downloadTemplate") + @ControllerLog(operation = "下载教师导入表格") + public void downloadTemplate(HttpServletResponse response, @ApiParam("模板类型,0-教师,1-职工") Integer type) { eduStaffService.downloadTemplate(response, type); } @ApiOperation("下载错误报告") @GetMapping("/downloadError") public void downloadError(HttpServletResponse response, - @ApiParam("模板类型,0-教师,1-职工") Integer type, - @ApiParam("通知id") Long noticeId) { + @ApiParam("模板类型,0-教师,1-职工") Integer type, + @ApiParam("通知id") Long noticeId) { eduStaffService.downloadError(response, type, noticeId); } -// @ApiOperation("导入职工信息") -// @PostMapping("/importStaffInformation") -// public ResultBean importStaffInformation(MultipartFile file, @RequestParam("schoolId") Long schoolId) { -// CurrentUser currentUser = FebsUtil.getCurrentUser(); -// Long key = System.currentTimeMillis(); -// Map map = redisService.hmget(CachePrefixConstant.IMPORT_STAFF_FILE + currentUser.getUsername()); -// if (CollUtil.size(map) >= 5) { -// throw new FebsException("导入文件已达上限,请稍后重试"); -// } -// redisService.hset(CachePrefixConstant.IMPORT_STAFF_KEY + currentUser.getUsername(), key.toString(), -// 0); -// redisService.hset(CachePrefixConstant.IMPORT_STAFF_FILE + currentUser.getUsername(), key.toString(), -// file.getOriginalFilename()); -// eduStaffService.importStaff(FileUtil.uploadMultipartFile(file), schoolId, currentUser -// , key, file.getName()); -// return ResultBean.buildSuccess(); -// } -// -// @ApiOperation("导入职工图片") -// @PostMapping("/importStaffPic") -// public ResultBean importStaffPic(MultipartFile file, @RequestParam("schoolId") Long schoolId) { -// CurrentUser currentUser = FebsUtil.getCurrentUser(); -// Long key = System.currentTimeMillis(); -// Map map = redisService.hmget(CachePrefixConstant.IMPORT_STAFF_FILE + currentUser.getUsername()); -// if (CollUtil.size(map) >= 5) { -// throw new FebsException("导入文件已达上限,请稍后重试"); -// } -// redisService.hset(CachePrefixConstant.IMPORT_STAFF_KEY + currentUser.getUsername(), key.toString(), -// 0); -// redisService.hset(CachePrefixConstant.IMPORT_STAFF_FILE + currentUser.getUsername(), key.toString(), -// file.getOriginalFilename()); -// eduStaffService.importStaff(FileUtil.uploadMultipartFile(file), schoolId, currentUser -// , key, file.getName()); -// return ResultBean.buildSuccess(); -// } - -// @ApiOperation("导入职工") -// @PostMapping("/importStaff") -// public ResultBean importStaff(MultipartFile file, @RequestParam("schoolId") Long schoolId) { -// CurrentUser currentUser = FebsUtil.getCurrentUser(); -// Long key = System.currentTimeMillis(); -// Map map = redisService.hmget(CachePrefixConstant.IMPORT_STAFF_FILE + currentUser.getUsername()); -// if (CollUtil.size(map) >= 5) { -// throw new FebsException("导入文件已达上限,请稍后重试"); -// } -// redisService.hset(CachePrefixConstant.IMPORT_STAFF_KEY + currentUser.getUsername(), key.toString(), -// 0); -// redisService.hset(CachePrefixConstant.IMPORT_STAFF_FILE + currentUser.getUsername(), key.toString(), -// file.getOriginalFilename()); -// eduStaffService.importStaff(FileUtil.uploadMultipartFile(file), schoolId, currentUser -// , key, file.getName()); -// return ResultBean.buildSuccess(); -// } + @ApiOperation("导入职工") + @PostMapping("/importStaff") + public ResultBean importStaff(MultipartFile file, @RequestParam("schoolId") Long schoolId) { + CurrentUser currentUser = FebsUtil.getCurrentUser(); + Long key = System.currentTimeMillis(); + Map map = redisService.hmget(CachePrefixConstant.IMPORT_STAFF_FILE + currentUser.getUsername()); + if (CollUtil.size(map) >= 5) { + throw new FebsException("导入文件已达上限,请稍后重试"); + } + redisService.hset(CachePrefixConstant.IMPORT_STAFF_KEY + currentUser.getUsername(), key.toString(), + 0); + redisService.hset(CachePrefixConstant.IMPORT_STAFF_FILE + currentUser.getUsername(), key.toString(), + file.getOriginalFilename()); + eduStaffService.importStaff(FileUtil.uploadMultipartFile(file), schoolId, currentUser + , key, file.getName()); + return ResultBean.buildSuccess(); + } @ApiOperation("职工导入信息进度") @@ -245,33 +200,32 @@ public class EduStaffController { @ApiOperation("分页查询职工列表数据") @GetMapping("/listStaffPage") public ResultBean> listStaffPage( - @ApiParam("区域id") Long areaId, @ApiParam("学校id") Long schoolId, - @ApiParam("部门id") Long deptId, @ApiParam("身份,0-普通成员,1-上级") Integer isLeader, - @ApiParam("职务") String position, @ApiParam("姓名") String name, - @ApiParam("电话") String mobile, @ApiParam("性别,0-男,1-女") Integer sex, - @ApiParam("当前页码") @RequestParam(defaultValue = "1") Integer pageNum, - @ApiParam("页面大小") @RequestParam(defaultValue = "10") Integer pageSize, - @ApiParam("人脸采集状态.0-未采集, 1-已采集") Integer collectType) { + @ApiParam("区域id") Long areaId, @ApiParam("学校id") Long schoolId, + @ApiParam("部门id") Long deptId, @ApiParam("身份,0-普通成员,1-上级") Integer isLeader, + @ApiParam("职务") String position, @ApiParam("姓名") String name, + @ApiParam("电话") String mobile, @ApiParam("性别,0-男,1-女") Integer sex, + @ApiParam("当前页码") @RequestParam(defaultValue = "1") Integer pageNum, + @ApiParam("页面大小") @RequestParam(defaultValue = "10") Integer pageSize, + @ApiParam("人脸采集状态.0-未采集, 1-已采集") Integer collectType) { return ResultBean.buildSuccess(eduStaffService - .listStaffPage(Page.of(pageNum, pageSize), FebsUtil.getCurrentUser(), areaId, schoolId, deptId, isLeader, - position, name, mobile, sex, collectType)); + .listStaffPage(Page.of(pageNum, pageSize), FebsUtil.getCurrentUser(), areaId, schoolId, deptId, isLeader, + position, name, mobile, sex, collectType)); } @ApiOperation("导出职工数据") @PostMapping("/exportStaff") public void exportStaff( - @ApiParam("区域id") Long areaId, @ApiParam("学校id") Long schoolId, - @ApiParam("部门id") Long deptId, @ApiParam("身份,0-普通成员,1-上级") Integer isLeader, - @ApiParam("职务") String position, @ApiParam("姓名") String name, - @ApiParam("电话") String mobile, @ApiParam("性别,0-男,1-女") Integer sex, - @ApiParam("人脸采集状态.0-未采集, 1-已采集") Integer collectType, HttpServletResponse response) { + @ApiParam("区域id") Long areaId, @ApiParam("学校id") Long schoolId, + @ApiParam("部门id") Long deptId, @ApiParam("身份,0-普通成员,1-上级") Integer isLeader, + @ApiParam("职务") String position, @ApiParam("姓名") String name, + @ApiParam("电话") String mobile, @ApiParam("性别,0-男,1-女") Integer sex, + @ApiParam("人脸采集状态.0-未采集, 1-已采集") Integer collectType, HttpServletResponse response) { eduStaffService.exportStaff(areaId, schoolId, deptId, isLeader, position, - name, mobile, sex, collectType, response); + name, mobile, sex, collectType, response); } @ApiOperation("添加、修改职工") @PostMapping("/saveStaff") - @OperationLog(module = ModuleName.STAFF, methods = "添加、修改职工", type = OperationLogTypeEnum.SAVE) public ResultBean saveStaff(@RequestBody EduStaff staff) { //判断手机号是否存在 int number = eduStaffService.checkTeacherTelephone(staff); @@ -284,14 +238,15 @@ public class EduStaffController { @ApiOperation("根据教师id查询教师详情") @GetMapping("/findTeacherRole") - public ResultBean> findTeacherRole(@RequestParam Long teacherId, @RequestParam Integer type) { + public ResultBean> findTeacherRole(@RequestParam Long teacherId, @RequestParam Integer type) { + return ResultBean.buildSuccess(eduStaffService.findTeacherRole(teacherId)); } @ApiOperation("查询家长孩子关联的教师(班主任、任课老师)") @GetMapping("/listTeacherByParent") public ResultBean> listTeacherByParent(@RequestParam("parentId") Long parentId, - @RequestParam(value = "teacherName", required = false) String teacherName) { + @RequestParam(value = "teacherName", required = false) String teacherName) { List studentList = eduStudentService.listStudentByParent(parentId, null); List classIds = studentList.stream().map(x -> x.getClassId()).collect(Collectors.toList()); if (CollUtil.isNotEmpty(classIds)) { @@ -309,7 +264,7 @@ public class EduStaffController { @ApiModelProperty("查询教师列表") @GetMapping("/listTeacherBySchool") ResultBean> listTeacherBySchool(@ApiParam("学校id") @RequestParam("schoolId") Long schoolId, - @ApiParam("教师名称") @RequestParam("name") String name) { + @ApiParam("教师名称") @RequestParam("name") String name) { if (schoolId == null) { schoolId = FebsUtil.getCurrentUser().getDeptId(); } @@ -331,8 +286,8 @@ public class EduStaffController { @ApiOperation("查询教师可见课程") @GetMapping("/findTeacherCourseId") ResultBean> findTeacherCourseId(@RequestParam Long teacherId, - @RequestParam Long schoolId, - @RequestParam(required = false) Long classId) { + @RequestParam Long schoolId, + @RequestParam(required = false) Long classId) { if (ObjectUtils.isEmpty(classId)) { return ResultBean.buildSuccess(eduTeacherDeptMapper.selectCoursetList(null, schoolId, null)); } @@ -354,25 +309,15 @@ public class EduStaffController { @ApiOperation("按年级或者班级查询教师任课信息") @GetMapping("/listTeacherCourseByGrade") ResultBean> listTeacherCourseByGrade( - @ApiParam("年级id") @RequestParam(value = "gradeId", required = false) Long gradeId, - @ApiParam("班级id") @RequestParam(value = "classId", required = false) Long classId) { + @ApiParam("年级id") @RequestParam(value = "gradeId", required = false) Long gradeId, + @ApiParam("班级id") @RequestParam(value = "classId", required = false) Long classId) { return ResultBean.buildSuccess(eduStaffService.listTeacherCourseByGrade(gradeId, classId)); } - - @ApiOperation("根据年级ID查询教师管理的班级") - @GetMapping("/listClassByGradeIdAndTeacherId") - ResultBean> listClassByGradeIdAndTeacherId( - @NotNull(message = "不能为空") @ApiParam("年级id") @RequestParam(value = "gradeId", required = true) Long gradeId, - @NotNull(message = "不能为空") @ApiParam("教师id") @RequestParam(value = "staffId", required = true) Long staffId) { - return ResultBean.buildSuccess(eduStaffService.listClassByGradeIdAndTeacherId(gradeId, staffId)); - } - - @ApiOperation("根据班级或名称查询教师") @GetMapping("/listTeacherByClassAndName") ResultBean> listTeacherByClassAndName(@RequestParam("classId") Long classId, - @RequestParam("name") String name) { + @RequestParam("name") String name) { return ResultBean.buildSuccess(eduStaffService.listTeacherByClassAndName(classId, name)); } @@ -380,8 +325,8 @@ public class EduStaffController { @ApiOperation("根据根据部门id查询对应教职工") @GetMapping("/listStaffByDeptId") public ResultBean> listStaffByDeptId(@RequestParam(required = false) Long deptId, - @RequestParam(required = false) String nameOrPhone, - @RequestParam(required = false) Long schoolId) { + @RequestParam(required = false) String nameOrPhone, + @RequestParam(required = false) Long schoolId) { return ResultBean.buildSuccess(eduStaffService.listStaffByDeptId(deptId, nameOrPhone, schoolId)); } @@ -407,7 +352,7 @@ public class EduStaffController { @GetMapping("/staStaffDistribute") public ResultBean staStaffDistribute() { List schoolIds = remoteDeptService.getSchoolByArea(null, null).getData().stream().map(Dept::getDeptId).collect( - Collectors.toList()); + Collectors.toList()); return ResultBean.buildSuccess(eduStaffService.staStaffDistribute(schoolIds)); } @@ -415,7 +360,7 @@ public class EduStaffController { @GetMapping("/staStaffNum") public ResultBean staStaffNum() { List schoolIds = remoteDeptService.getSchoolByArea(null, null).getData().stream().map(Dept::getDeptId).collect( - Collectors.toList()); + Collectors.toList()); return ResultBean.buildSuccess(eduStaffService.staStaffNum(schoolIds)); } @@ -426,68 +371,9 @@ public class EduStaffController { */ @ApiOperation("查询教师可见部门") @GetMapping("/listDeptByTeacher") + @ControllerLog(operation = "查询教师可见部门") public ResultBean> listDeptByTeacher(@ApiParam("教师id") @RequestParam Long teacherId, - @ApiParam("type") @RequestParam Integer type) { - return ResultBean.buildSuccess(eduStaffService.listDeptByTeacher(teacherId, type)); - } - - /** - * @param sysUserId 系统用户Id - * @param type 1表示校区负责人,2表示年级负责人,3表示班主任,4表示任课老师,5表示学段负责人 - * @return - */ - @ApiOperation("查询系统用户可见部门") - @GetMapping("/listDeptBySysUserId") - public ResultBean> listDeptBySysUserId(@ApiParam("教师id") @RequestParam Long sysUserId, - @ApiParam("type") @RequestParam Integer type) { - EduStaff staff = eduStaffService.getOne(Wrappers.lambdaQuery(new EduStaff()) - .eq(EduStaff::getSysUserId, sysUserId) - .eq(EduStaff::getSchoolId, FebsUtil.getTopDeptId())); - return ResultBean.buildSuccess(eduStaffService.listDeptByTeacher(staff.getId(), type)); - } - - /** - * @param teacherId 教师ID - * @param type 1表示校区负责人,2表示年级负责人,3表示班主任,4表示任课老师,5表示学段负责人 - * @return - */ - @ApiOperation("查询教师可见部门") - @GetMapping("/listDeptByStaffId") - public ResultBean> listDeptByStaffId(@ApiParam("教师id") @RequestParam Long teacherId, - @ApiParam("type") @RequestParam Integer type) { - return ResultBean.buildSuccess(eduStaffService.listDeptByTeacher(teacherId, type)); - } - - @ApiOperation("根据职工id集合查询职工信息") - @PostMapping("/getStaffList") - public ResultBean> listDeptByStaffId(@RequestBody List staffIds) { - return ResultBean.buildSuccess(eduStaffService.list(Wrappers.lambdaQuery(new EduStaff()).in(EduStaff::getId, staffIds))); - } - - - @ApiOperation("导入职工数据-新版") - @PostMapping(value = "/importStaffDataExcel") - public ResultBean> importStaffDataExcel( - @ApiParam(value = "导入的excel文件", required = true) @RequestParam("file") MultipartFile file, - @ApiParam(value = "学校id", required = true) @RequestParam("schoolId") Long schoolId) { - // 当前时间时间戳 - long timestamp = System.currentTimeMillis(); - try { - // 导入迎新学生数据 - return eduStaffService.importStaff(file, schoolId, timestamp); - } catch (Exception e) { - log.error("导入迎新学生数据失败: {}", e.getMessage(), e); - return ResultBean.buildError(ResultMsgType.IMPORT_EXCEL_FAIL.getValue()); - } finally { - // 清空当前导入的redis学校数据 - redisService.del(RedisUtil.getDeptKey(String.valueOf(timestamp))); - } - } - - - @ApiOperation("查询dept负责人") - @PostMapping("/getDeptManager") - public ResultBean> getDeptManager(@RequestBody ManagerDTO dto) { - return ResultBean.buildSuccess(eduStaffService.getDeptManager(dto.getDeptIdList(), dto.getRuleId())); + @ApiParam("type") @RequestParam Integer type) { + return ResultBean.buildSuccess(eduStaffService.listDeptByTeacher(teacherId,type)); } } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStudentApplyController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStudentApplyController.java deleted file mode 100644 index dca5c15..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStudentApplyController.java +++ /dev/null @@ -1,148 +0,0 @@ -package com.yida.data.user.controller; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; -import com.yida.data.common.core.entity.user.EduStudentApply; -import com.yida.data.log.annotation.OperationLog; -import com.yida.data.user.dto.ListStudentApplyDTO; -import com.yida.data.user.service.EduStudentApplyService; -import com.yida.data.user.vo.StudentApplyImportProgressVO; -import com.yida.data.user.vo.StudentApplyStatusVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.http.HttpServletResponse; -import java.time.LocalDateTime; -import java.util.List; -import java.util.UUID; - -@Api(tags = "交易-学生应用关系") -@RequiredArgsConstructor -@RequestMapping("/transaction/studentApply") -@RestController -public class EduStudentApplyController { - - private final EduStudentApplyService eduStudentApplyService; - - private final RedisService redisService; - - @ApiOperation("分页查询学生开通应用") - @GetMapping("/listStudentApply") - public ResultBean> listApply(ListStudentApplyDTO dto) { - Page page = new Page<>(); - page.setCurrent(dto.getPageNum()); - page.setSize(dto.getPageSize()); - return ResultBean.buildSuccess(eduStudentApplyService.listStudentApply(dto, page)); - } - - @ApiOperation("获取开通应用详情") - @GetMapping("/getStudentApply") - public ResultBean getStudentApply(@ApiParam("主键ID") Long id) { - return ResultBean.buildSuccess(eduStudentApplyService.getById(id)); - } - - @ApiOperation("获取开通应用详情") - @GetMapping("/getStudentApplyByIdAndCode") - public ResultBean getStudentApplyByIdAndCode( - @RequestParam("studentId") Long studentId, - @RequestParam("applyCode") String applyCode) { - List list = eduStudentApplyService.list(Wrappers.lambdaQuery(new EduStudentApply()) - .eq(EduStudentApply::getStudentId, studentId) - .eq(EduStudentApply::getApplyCode, applyCode) - .ge(EduStudentApply::getEndTime, LocalDateTime.now()) - .le(EduStudentApply::getStartTime, LocalDateTime.now()) - .orderByDesc(EduStudentApply::getEndTime) - ); - EduStudentApply eduStudentApply = null; - if (CollUtil.isNotEmpty(list)) { - eduStudentApply = list.get(0); - } - return ResultBean.buildSuccess(eduStudentApply); - } - - @ApiOperation("删除开通应用") - @GetMapping("/deleteStudentApply") - @OperationLog(module = ModuleName.TRANSATION, methods = "删除学生开通应用", type = OperationLogTypeEnum.DELETE) - public ResultBean deleteStudentApply(@ApiParam("主键ID") Long id) { - eduStudentApplyService.update(Wrappers.lambdaUpdate(new EduStudentApply()) - .eq(EduStudentApply::getId, id) - .set(EduStudentApply::getDelFlag, 1)); - return ResultBean.buildSuccess(); - } - - @ApiOperation("保存学生开通应用") - @PostMapping("/saveStudentApply") - @OperationLog(module = ModuleName.TRANSATION, methods = "保存学生开通应用", type = OperationLogTypeEnum.INSERT) - public ResultBean insertApply(@ApiParam("开通应用") @RequestBody EduStudentApply eduStudentApply) { - eduStudentApplyService.saveStudentApply(eduStudentApply); - return ResultBean.buildSuccess(); - } - - - @ApiOperation("查询学生是否拥有该应用权限") - @GetMapping("/hasApply") - public ResultBean listApplyCode(@ApiParam("学生id") Long studentId, - @ApiParam("应用编码") String applyCode) { - return ResultBean.buildSuccess(eduStudentApplyService.count(Wrappers.lambdaQuery(new EduStudentApply()) - .eq(EduStudentApply::getStudentId, studentId) - .eq(EduStudentApply::getApplyCode, applyCode) - .ge(EduStudentApply::getEndTime, LocalDateTime.now()) - .le(EduStudentApply::getStartTime, LocalDateTime.now())) > 0); - } - - @ApiOperation("查询学生的应用状态") - @GetMapping("/getApplyStatus") - public ResultBean getApplyStatus(@ApiParam("学生id") Long studentId, - @ApiParam("应用编码") String applyCode) { - return ResultBean.buildSuccess(eduStudentApplyService.getStudentApplyStatus(studentId, applyCode)); - } - - - @ApiOperation("下载学生开通应用导入模板") - @PostMapping("/downloadTemplate") - public void downloadTemplate(HttpServletResponse response) throws Exception { - eduStudentApplyService.downloadTemplate(response); - } - - - @ApiOperation("导入学生开通应用信息") - @PostMapping("/importStudentApplyInfo") - public ResultBean importStudentApplyInfo(@RequestParam(value = "file") MultipartFile file) - throws Exception { - String redisKey = UUID.randomUUID().toString(); - StudentApplyImportProgressVO progressVO = new StudentApplyImportProgressVO(); - progressVO.setRedisKey(redisKey); - progressVO.setFinish(0); - progressVO.setTotalNum(0); - progressVO.setCurrentNum(0); - redisService.hset(CachePrefixConstant.IMPORT_STUDENT_APPLY_PROGRESS, redisKey, progressVO); - eduStudentApplyService.importStudentApplyInfo(file, redisKey); - return ResultBean.buildSuccess(progressVO); - } - - @ApiOperation("获取导入学生开通应用信息进度") - @GetMapping("/getImportStudentApplyInfoProgress") - public ResultBean getImportStudentApplyInfoProgress(@RequestParam("redisKey") String redisKey) { - return ResultBean.buildSuccess(eduStudentApplyService.getImportStudentApplyInfoProgress(redisKey)); - } - - @ApiOperation("删除缓存导入进度") - @GetMapping("/deleteRedisStudentApplyImportProgress") - public ResultBean deleteRedisStudentApplyImportProgress(@RequestParam("redisKey") String redisKey) { - redisService.hdel(CachePrefixConstant.IMPORT_STUDENT_APPLY_PROGRESS, redisKey); - return ResultBean.buildSuccess(); - } - -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStudentApplyForController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStudentApplyForController.java deleted file mode 100644 index 42ee8ad..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStudentApplyForController.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.yida.data.user.controller; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; -import com.yida.data.common.core.entity.user.EduStudentApply; -import com.yida.data.common.core.entity.user.EduStudentApplyFor; -import com.yida.data.log.annotation.OperationLog; -import com.yida.data.user.dto.ListStudentApplyDTO; -import com.yida.data.user.dto.ListStudentApplyForDTO; -import com.yida.data.user.service.EduStudentApplyForService; -import com.yida.data.user.service.EduStudentApplyService; -import com.yida.data.user.vo.StudentApplyImportProgressVO; -import com.yida.data.user.vo.StudentApplyStatusVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import java.time.LocalDateTime; -import java.util.List; -import java.util.UUID; -import javax.servlet.http.HttpServletResponse; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.multipart.MultipartFile; - -@Api(tags = "交易-学生应用关系") -@RequiredArgsConstructor -@RequestMapping("/transaction/studentApplyFor") -@RestController -public class EduStudentApplyForController { - - private final EduStudentApplyForService eduStudentApplyForService; - - private final RedisService redisService; - - @ApiOperation("分页查询申请学生开通应用") - @GetMapping("/listStudentApplyFor") - public ResultBean> listApply(ListStudentApplyForDTO dto) { - Page page = new Page<>(); - page.setCurrent(dto.getPageNum()); - page.setSize(dto.getPageSize()); - return ResultBean.buildSuccess(eduStudentApplyForService.listStudentApplyFor(dto, page)); - } - - - @ApiOperation("查询申请详情") - @GetMapping("/getStudentApplyFor") - public ResultBean getStudentApplyFor(@RequestParam("studentId") Long studentId, - @RequestParam("applyCode") String applyCode) { - return ResultBean.buildSuccess(eduStudentApplyForService.getByStudentId(studentId, applyCode)); - } - - - @ApiOperation("学生申请开通应用") - @GetMapping("/saveStudentApplyFor") - @OperationLog(module = ModuleName.STUDENT, methods = "学生申请开通应用", type = OperationLogTypeEnum.INSERT) - public ResultBean insertApplyFor(@RequestParam("studentId") Long studentId, @RequestParam("applyCode") String applyCode) { - EduStudentApplyFor eduStudentApplyFor = new EduStudentApplyFor(); - eduStudentApplyFor.setStudentId(studentId); - eduStudentApplyFor.setApplyCode(applyCode); - eduStudentApplyForService.saveStudentApplyFor(eduStudentApplyFor); - return ResultBean.buildSuccess(); - } - - @ApiOperation("处理申请") - @GetMapping("/dealApplyFor") - @OperationLog(module = ModuleName.STUDENT, methods = "处理申请", type = OperationLogTypeEnum.UPDATE) - public ResultBean dealApplyFor(@RequestParam("id") Long id, @RequestParam("status") Integer status) { - eduStudentApplyForService.dealApplyFor(id, status); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStudentController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStudentController.java index 5e4802c..e0006af 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStudentController.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStudentController.java @@ -3,23 +3,19 @@ package com.yida.data.user.controller; import cc.mrbird.febs.common.redis.service.RedisService; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yida.data.common.core.annotation.ControllerLog; import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.CurrentUser; import com.yida.data.common.core.entity.constant.CachePrefixConstant; import com.yida.data.common.core.entity.system.Dept; import com.yida.data.common.core.entity.system.enums.DeptTypeEnum; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; import com.yida.data.common.core.entity.user.EduStudent; import com.yida.data.common.core.entity.user.EduTeacherDept; -import com.yida.data.common.core.enums.FileDealStatusEnum; import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.file.common.export.ExportExcelData; -import com.yida.data.common.core.file.common.export.ExportLargeData; import com.yida.data.common.core.utils.FebsUtil; import com.yida.data.common.core.utils.FileUtil; import com.yida.data.log.annotation.OperationLog; @@ -30,7 +26,11 @@ import com.yida.data.user.dto.PageStudentDTO; import com.yida.data.user.service.EduParentService; import com.yida.data.user.service.EduStaffService; import com.yida.data.user.service.EduStudentService; -import com.yida.data.user.vo.*; +import com.yida.data.user.vo.DownLoadPicVO; +import com.yida.data.user.vo.ListParentByStudentIdsVO; +import com.yida.data.user.vo.ParentInfoVO; +import com.yida.data.user.vo.StaStudentVO; +import com.yida.data.user.vo.StudentClassInfoVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -65,24 +65,28 @@ public class EduStudentController { private final RedisService redisService; @ApiOperation("家长查询拥有的学生") + @OperationLog(module = ModuleName.USER, methods = "家长查询拥有的学生") @GetMapping("/listStudentByParent") + @ControllerLog(operation = "查询家长拥有的学生") public ResultBean> listStudentByParent(@ApiParam("家长id") @RequestParam Long parentId, - @ApiParam("应用编码") @RequestParam(required = false) String applyCode) { + @ApiParam("应用编码") @RequestParam(required = false) String applyCode) { return ResultBean.buildSuccess(parentId != null ? eduStudentService.listStudentByParent(parentId, applyCode) - : new ArrayList<>()); + : new ArrayList<>()); } @ApiOperation("查询学生列表数据") @GetMapping("/listStudentPage") + @ControllerLog(operation = "分页查询学生列表") @PreAuthorize("hasAuthority('student:view')") public ResultBean> listStudentPage(PageStudentDTO dto) { + dto.setSchoolId(FebsUtil.getTopDeptId()); IPage list = eduStudentService.findStudentPage(dto); return ResultBean.buildSuccess(list); } @ApiOperation("保存学生信息 新增或编辑") @PostMapping("/saveStudent") - @OperationLog(module = ModuleName.STUDENT, methods = "新增、修改学生", type = OperationLogTypeEnum.SAVE) + @ControllerLog(operation = "新增、修改学生") @PreAuthorize("hasAuthority('student:edit')") public ResultBean saveStudent(@RequestBody EduStudent eduStudent) { eduStudentService.saveStudent(eduStudent, FebsUtil.getCurrentUser(), false); @@ -91,6 +95,7 @@ public class EduStudentController { @ApiOperation("根据学生id查询学生详情") @GetMapping("/getStudent") + @ControllerLog(operation = "按id查询学生详情") public ResultBean getStudent(@ApiParam("学生id") @RequestParam("id") Long id) { EduStudent eduStudent = eduStudentService.getStudent(id); return ResultBean.buildSuccess(eduStudent); @@ -98,9 +103,9 @@ public class EduStudentController { @ApiOperation("批量删除学生") @PostMapping("/delStudentBatch") - @OperationLog(module = ModuleName.STUDENT, methods = "批量删除学生", type = OperationLogTypeEnum.DELETE) + @ControllerLog(operation = "批量删除学生") @PreAuthorize("hasAuthority('student:delete')") - public ResultBean delStudentBatch(@RequestBody List ids) { + public ResultBean delTeacherBatchIds(@RequestBody List ids) { //批量删除学生信息 eduStudentService.delStudentBatchIds(ids, false); return ResultBean.buildSuccess(); @@ -108,8 +113,9 @@ public class EduStudentController { @ApiOperation("导入学生(压缩包导入)") @PostMapping("/import") + @ControllerLog(operation = "导入学生") public ResultBean importStudent(@RequestParam("file") MultipartFile file, - @RequestParam("schoolId") Long schoolId) { + @RequestParam("schoolId") Long schoolId) { long key = System.currentTimeMillis(); CurrentUser currentUser = FebsUtil.getCurrentUser(); Map map = redisService.hmget(CachePrefixConstant.IMPORT_STUDENT_KEY + currentUser.getUsername()); @@ -118,9 +124,9 @@ public class EduStudentController { } redisService.hset(CachePrefixConstant.IMPORT_STUDENT_KEY + currentUser.getUsername(), Long.toString(key), 0); redisService.hset(CachePrefixConstant.IMPORT_STUDENT_FILE + currentUser.getUsername(), Long.toString(key), - file.getOriginalFilename()); + file.getOriginalFilename()); eduStudentService.importStudent(FileUtil.uploadMultipartFile(file), currentUser, - schoolId, System.currentTimeMillis(), file.getName()); + schoolId, System.currentTimeMillis(), file.getName()); return ResultBean.buildSuccess(); } @@ -142,38 +148,17 @@ public class EduStudentController { eduStudentService.downloadTemplate(response, FebsUtil.getCurrentUser()); } - @ApiOperation("校园卡号导入") - @PostMapping("/importCard") - public ResultBean importCard(@RequestParam("file") MultipartFile file, - @RequestParam("schoolId") Long schoolId) { - long key = System.currentTimeMillis(); - CurrentUser currentUser = FebsUtil.getCurrentUser(); - Map map = redisService.hmget(CachePrefixConstant.IMPORT_STUDENT_CARD_NUMBER_KEY + - currentUser.getUsername()); - if (CollUtil.size(map) >= 5) { - throw new FebsException("上传文件已达最大值,请稍后重试"); - } - redisService.hset(CachePrefixConstant.IMPORT_STUDENT_CARD_NUMBER_KEY + currentUser.getUsername(), Long.toString(key), 0); - eduStudentService.importCard(FileUtil.uploadMultipartFile(file), currentUser, - schoolId, System.currentTimeMillis(), file.getName()); - return ResultBean.buildSuccess(); - } - - @ApiOperation("下载导入模板(校园卡号)") - @GetMapping("/downloadCardTemplate") - public void downloadCardTemplate(HttpServletResponse response) { - eduStudentService.downloadCardTemplate(response, FebsUtil.getCurrentUser()); - } - @ApiOperation("统计班上学生数量") @GetMapping("/countStudentNum") + @ControllerLog(operation = "统计班级学生数量") public ResultBean countStudentNum(@ApiParam("班级id") Long classId) { return ResultBean.buildSuccess( - eduStudentService.count(Wrappers.lambdaQuery(new EduStudent()).eq(EduStudent::getClassId, classId))); + eduStudentService.count(Wrappers.lambdaQuery(new EduStudent()).eq(EduStudent::getClassId, classId))); } @ApiOperation("根据企业微信通讯录初始化学生") @PostMapping("/initStudent") + @ControllerLog(operation = "根据企业微信通讯录初始化学生") @PreAuthorize("hasAuthority('student:edit')") public ResultBean initStudent(@RequestBody List student) { eduStudentService.initStudent(student); @@ -183,18 +168,18 @@ public class EduStudentController { @ApiOperation("查询学生班级信息") @GetMapping("/getClassInfoByStudent") public ResultBean getClassInfoByStudent(@ApiParam("学生id") Long studentId, - @ApiParam("家长手机号") String parentMobile) { + @ApiParam("家长手机号") String parentMobile) { return ResultBean.buildSuccess(eduStudentService.getClassInfoByStudent(studentId, parentMobile)); } @ApiOperation("根据教师查询家长列表") @GetMapping("/listParentByTeacher") public ResultBean listParentByTeacher(@ApiParam("教师id") Long teacherId, - @ApiParam("家长名称") String parentName) { + @ApiParam("家长名称") String parentName) { List teacherRole = eduStaffService.listTeacherDept(teacherId); if (CollUtil.isNotEmpty(teacherRole)) { List classIds = teacherRole.stream().map(EduTeacherDept::getClassId).filter(Objects::nonNull) - .collect(Collectors.toList()); + .collect(Collectors.toList()); if (CollUtil.isNotEmpty(classIds)) { List parentInfoVOList = eduParentService.listParentByClass(classIds, parentName); return ResultBean.buildSuccess(parentInfoVOList); @@ -234,35 +219,16 @@ public class EduStudentController { @ApiOperation("导出学生数据") @PostMapping("/exportStudent") - public ResultBean exportStudent(@RequestBody PageStudentDTO dto) { - - String key = IdUtil.simpleUUID(); - ExportExcelData vo = ExportExcelData.builder() - .key(key) - .exportStatus(FileDealStatusEnum.DEALING.getStatus()) - // 初始化数据 - .total(1) - .finish(0) - .build(); - - redisService.hset(CachePrefixConstant.EXPORT_STUDENT_DATA, key, vo); - // 异步导出学生数据 - eduStudentService.exportStudent(dto, key); - return ResultBean.buildSuccess(vo); - } - - @ApiOperation("查询导出学生详情") - @GetMapping("/getStudentExportInfo") - public ResultBean getExportRosterPicInfo(@RequestParam String key) { - return ResultBean.buildSuccess(eduStudentService.getStudentExportInfo(key)); + public void exportStudent(@RequestBody PageStudentDTO dto, HttpServletResponse response) { + eduStudentService.exportStudent(dto, response); } @ApiOperation("解除学生与宿舍的绑定") @PostMapping("/unbindDormRoom") public ResultBean unbindDormRoom(@RequestBody List dormIds) { eduStudentService.update(Wrappers.lambdaUpdate() - .in(EduStudent::getDormRoomId, dormIds) - .set(EduStudent::getDormRoomId, null)); + .in(EduStudent::getDormRoomId, dormIds) + .set(EduStudent::getDormRoomId, null)); return ResultBean.buildSuccess(); } @@ -270,7 +236,7 @@ public class EduStudentController { @PostMapping("/staStudentDistribu") public ResultBean staStudentDistribu() { List schoolIds = remoteDeptService.getSchoolByArea(null, null).getData().stream().map(Dept::getDeptId).collect( - Collectors.toList()); + Collectors.toList()); return ResultBean.buildSuccess(eduStudentService.staStudentDistribu(schoolIds)); } @@ -289,27 +255,5 @@ public class EduStudentController { return ResultBean.buildSuccess(dto); } - @ApiOperation("批量导入学生类型") - @PostMapping("/importStudentUpdateType") - public ResultBean importStudentUpdateType(@RequestParam("file") MultipartFile file, - @RequestParam("schoolId") Long schoolId) { - eduStudentService.importStudentUpdateType(file, schoolId); - return ResultBean.buildSuccess(); - } - @ApiOperation("批量导入学生类型:导入进度") - @GetMapping("/importStudentDormPercent") - public ResultBean importStudenrTypePercent() { - CurrentUser currentUser = FebsUtil.getCurrentUser(); - return ResultBean.buildSuccess(redisService.hget(CachePrefixConstant.IMPORT_STUDENT_TYPE, - currentUser.getUserId().toString())); - } - - @ApiOperation("根据班级ID查询学生") - @GetMapping("/listStudentByClassId") - public ResultBean> listStudentByClassId( - @ApiParam(required = true, value = "班级ID") @RequestParam Long classId) { - List studentList = eduStudentService.listStudentByClassId(ListStudentDTO.builder().classId(classId).build()); - return ResultBean.buildSuccess(studentList); - } } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStudentDormController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStudentDormController.java index 1357985..11df8fd 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStudentDormController.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduStudentDormController.java @@ -1,15 +1,12 @@ package com.yida.data.user.controller; import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.CurrentUser; import com.yida.data.common.core.entity.constant.CachePrefixConstant; import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.enums.FileDealStatusEnum; import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.file.common.export.ExportExcelData; import com.yida.data.common.core.utils.Asserts; import com.yida.data.common.core.utils.ExcelUtil; import com.yida.data.common.core.utils.FebsUtil; @@ -17,7 +14,6 @@ import com.yida.data.common.core.utils.FileUtil; import com.yida.data.common.core.vo.ImportPercentVO; import com.yida.data.user.dto.ExchangeDormDTO; import com.yida.data.user.dto.ImportStudentDormDTO; -import com.yida.data.user.dto.PageStudentDTO; import com.yida.data.user.dto.PageStudentDormDTO; import com.yida.data.user.service.EduStudentDormService; import com.yida.data.user.service.EduStudentService; @@ -30,7 +26,11 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; @Api(tags = "学生住宿管理") @@ -119,29 +119,4 @@ public class EduStudentDormController { throw new FebsException("下载住宿学生导入模板失败"); } } - - @ApiOperation("导出宿舍数据") - @PostMapping("/exportStudentDorm") - public ResultBean exportStudentDorm(@RequestBody PageStudentDormDTO dto) { - - String key = IdUtil.simpleUUID(); - ExportExcelData vo = ExportExcelData.builder() - .key(key) - .exportStatus(FileDealStatusEnum.DEALING.getStatus()) - // 初始化数据 - .total(1) - .finish(0) - .build(); - - redisService.hset(CachePrefixConstant.EXPORT_STUDENT_DORM_DATA, key, vo); - // 异步导出宿舍数据 - eduStudentDormService.exportStudentDorm(dto, key); - return ResultBean.buildSuccess(vo); - } - - @ApiOperation("查询导出学生宿舍详情") - @GetMapping("/getStudentDormExportInfo") - public ResultBean getStudentDormExportInfo(@RequestParam String key) { - return ResultBean.buildSuccess(eduStudentDormService.getStudentDormExportInfo(key)); - } } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduUserDeptController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduUserDeptController.java index e90cb3e..98907ed 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduUserDeptController.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduUserDeptController.java @@ -7,7 +7,6 @@ import com.yida.data.common.core.entity.QueryRequest; import com.yida.data.common.core.entity.system.Dept; import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; import com.yida.data.common.core.entity.user.EduCollectData; -import com.yida.data.common.core.entity.user.EduStudent; import com.yida.data.common.core.entity.user.EduUserDept; import com.yida.data.common.core.entity.user.EduUserDeptStandardGrade; import com.yida.data.common.core.entity.user.enums.SectionTypeEnum; @@ -15,17 +14,12 @@ import com.yida.data.common.core.enums.IncludeTypeEnum; import com.yida.data.log.annotation.OperationLog; import com.yida.data.system.vo.ClassInfoVO; import com.yida.data.user.dto.*; -import com.yida.data.user.dto.h5.ListUserDeptAttendanceDTO; import com.yida.data.user.service.EduUserDeptService; import com.yida.data.user.vo.AllDeptInfoVO; -import com.yida.data.user.vo.ClassAttendanceDataVO; import com.yida.data.user.vo.CollectDataVO; -import com.yida.data.user.vo.TeacherDeptVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.MediaType; @@ -60,6 +54,7 @@ public class EduUserDeptController { */ @ApiOperation("查询父级家校部门") @GetMapping("/getParent") + @OperationLog(module = ModuleName.USER, methods = "查询父级家校部门") public ResultBean getParent(@ApiParam("家校部门id") @RequestParam Long deptId) { return ResultBean.buildSuccess(this.eduUserDeptService.getById(this.eduUserDeptService.getById(deptId).getParentId())); } @@ -74,6 +69,7 @@ public class EduUserDeptController { */ @ApiOperation("查询所有子节点") @GetMapping("/findListByParent") + @OperationLog(module = ModuleName.USER, methods = "查询所有子节点") public ResultBean> findListByParent(@ApiParam("家校部门id") @RequestParam Long deptId) { return ResultBean.buildSuccess(this.eduUserDeptService.findListByParent(Collections.singletonList(deptId))); } @@ -88,6 +84,7 @@ public class EduUserDeptController { */ @ApiOperation("查询直接子节点") @GetMapping("/findChildByParent") + @OperationLog(module = ModuleName.USER, methods = "查询子节点") public ResultBean> findChildByParent(@ApiParam("家校部门父节点id,不能为空") @RequestParam Long deptId) { return ResultBean.buildSuccess(this.eduUserDeptService.findChildByParent(deptId)); } @@ -95,7 +92,7 @@ public class EduUserDeptController { /** * 向下查询指定家校部门类型的家校部门数据(可查询非直接子家校部门) * - * @param parentId 父节点id schoolId 为 负数 + * @param parentId 父节点id * @param type 子节点类型, 1表示班级,2表示年级,3表示学段,4表示校区, 默认所有直接子节点 * @return com.yida.data.common.core.common.ResultBean> * @author ZYJ @@ -103,34 +100,20 @@ public class EduUserDeptController { */ @ApiOperation("向下查询指定家校部门类型的家校部门数据(可查询非直接子家校部门)") @GetMapping("/findChildByParentAndType") + @OperationLog(module = ModuleName.USER, methods = "向下查询到要查询的家校部门类别的子家校部门") public ResultBean> findChildByParentAndType(@ApiParam("父节点id,不能为空") @RequestParam Long parentId, @ApiParam("子节点类型, 1表示班级,2表示年级,3表示学段,4表示校区, 默认所有直接子节点") Integer type) { return ResultBean .buildSuccess(this.eduUserDeptService.findChildByParentAndType(Collections.singletonList(parentId), type)); } - @ApiOperation("根据用户ID查询可见班级采集数据统计") @GetMapping("/findClassChildByParent") + @OperationLog(module = ModuleName.USER, methods = "根据用户ID查询可见班级采集数据统计") public ResultBean> findVisibleClassByUserId(@ApiParam("用户主键ID") @RequestParam Long staffId) { return ResultBean.buildSuccess(this.eduUserDeptService.findVisibleClassByUserId(staffId)); } - @ApiOperation("根据用户ID查询可见班级考勤统计数据") - @PostMapping("/findClassAttendanceByUserId") - public ResultBean> findClassAttendanceByUserId(@RequestBody ListUserDeptAttendanceDTO dto) { - return ResultBean.buildSuccess(this.eduUserDeptService - .findClassAttendanceByUserId(dto.getStaffId(), dto.getDate())); - } - - @ApiOperation("查询班级详细宿舍考勤数据") - @PostMapping("/findClassAttendanceDetailByDeptId") - public ResultBean> findClassAttendanceDetailByDeptId(@RequestBody ListUserDeptAttendanceDTO dto) { - return ResultBean.buildSuccess(this.eduUserDeptService - .findClassAttendanceDetailByDeptId(dto.getDeptId(), dto.getType(), dto.getDate())); - } - - /** * 根据家校部门id查询所属学校 * @@ -141,6 +124,7 @@ public class EduUserDeptController { */ @ApiOperation("根据家校部门id查询所属学校") @GetMapping("findSchoolByDept") + @OperationLog(module = ModuleName.USER, methods = "根据家校部门id查询所属学校") public ResultBean findSchoolByDept(@ApiParam("父节点id,不能为空") @RequestParam Long deptId) { return ResultBean.buildSuccess(this.eduUserDeptService.findSchoolByDept(deptId)); } @@ -157,6 +141,7 @@ public class EduUserDeptController { */ @ApiOperation("查询家校部门") @GetMapping("/userDeptList") + @OperationLog(module = ModuleName.USER, methods = "查询家校部门") public FebsResponse userDeptList(QueryRequest request, EduUserDept dept, @ApiParam("是否包含班级. 0:包含, 1:不包含.不传默认查询全部") String includeType) { Map deptList = this.eduUserDeptService.findDeptList(request, dept, includeType); @@ -173,6 +158,7 @@ public class EduUserDeptController { */ @ApiOperation("根据id查询家校部门") @GetMapping("/getInfoById") + @OperationLog(module = ModuleName.USER, methods = "根据id查询家校部门") public ResultBean getInfoById(@ApiParam("家校部门id") @RequestParam Long deptId) { return ResultBean.buildSuccess(this.eduUserDeptService.getById(deptId)); } @@ -187,6 +173,7 @@ public class EduUserDeptController { */ @ApiOperation("家校部门树(若当前登陆角色是学校负责人则不用传递参数)") @GetMapping("/getUserDeptTree") + @OperationLog(module = ModuleName.USER, methods = "家校部门树") public ResultBean getUserDeptTree(@ApiParam("根节点Id") Long deptId) { return ResultBean.buildSuccess(this.eduUserDeptService.getUserDeptTree(deptId)); } @@ -206,6 +193,7 @@ public class EduUserDeptController { */ @ApiOperation("根据各层名称查询班级信息") @GetMapping("/findClassInfoByName") + @OperationLog(module = ModuleName.USER, methods = "根据各层名称查询班级信息") public ResultBean> findClassInfoByName( Long schoolId, String campusName, String sectionName, String gradeName, String className) { @@ -223,6 +211,7 @@ public class EduUserDeptController { */ @ApiOperation("查询班级信息") @GetMapping("/getClassInfo") + @OperationLog(module = ModuleName.USER, methods = "查询班级信息") public ResultBean getClassInfo(Long classId) { return ResultBean.buildSuccess(this.eduUserDeptService.getClassInfo(classId)); } @@ -237,7 +226,7 @@ public class EduUserDeptController { */ @ApiOperation(value = "新增学区信息(包含学段、年级和班级)", consumes = MediaType.APPLICATION_JSON_VALUE) @PostMapping(value = "addCampus", consumes = MediaType.APPLICATION_JSON_VALUE) - @OperationLog(module = ModuleName.USER_DEPT, methods = "新增学区信息(包含学段、年级和班级)", type = OperationLogTypeEnum.INSERT) + @OperationLog(module = ModuleName.USER, methods = "新增学区信息(包含学段、年级和班级)", type = OperationLogTypeEnum.INSERT) public ResultBean addCampus(@RequestBody SaveCampusDTO saveCampusDTO) { this.eduUserDeptService.addCampus(saveCampusDTO); return ResultBean.buildSuccess(); @@ -253,7 +242,7 @@ public class EduUserDeptController { */ @ApiOperation(value = "新增学段信息(包含年级和班级)", consumes = MediaType.APPLICATION_JSON_VALUE) @PostMapping(value = "addSection", consumes = MediaType.APPLICATION_JSON_VALUE) - @OperationLog(module = ModuleName.USER_DEPT, methods = "新增学段信息(包含年级和班级)", type = OperationLogTypeEnum.INSERT) + @OperationLog(module = ModuleName.USER, methods = "新增学段信息(包含年级和班级)", type = OperationLogTypeEnum.INSERT) public ResultBean addSection(@RequestBody SectionDTO sectionDTO) { this.eduUserDeptService.addSection(sectionDTO, true, false, null, false); return ResultBean.buildSuccess(); @@ -269,7 +258,7 @@ public class EduUserDeptController { */ @ApiOperation(value = "新增年级信息(包含班级)", consumes = MediaType.APPLICATION_JSON_VALUE) @PostMapping(value = "addGrade", consumes = MediaType.APPLICATION_JSON_VALUE) - @OperationLog(module = ModuleName.USER_DEPT, methods = "新增年级信息(包含班级)", type = OperationLogTypeEnum.INSERT) + @OperationLog(module = ModuleName.USER, methods = "新增年级信息(包含班级)", type = OperationLogTypeEnum.INSERT) public ResultBean addGrade(@RequestBody SaveGradeDTO saveGradeDTO) { this.eduUserDeptService.addGrade(saveGradeDTO); return ResultBean.buildSuccess(); @@ -285,7 +274,7 @@ public class EduUserDeptController { */ @ApiOperation(value = "页面添加家校部门", consumes = MediaType.APPLICATION_JSON_VALUE) @PostMapping(value = "addUserDept", consumes = MediaType.APPLICATION_JSON_VALUE) - @OperationLog(module = ModuleName.USER_DEPT, methods = "添加家校部门", type = OperationLogTypeEnum.INSERT) + @OperationLog(module = ModuleName.USER, methods = "添加家校部门", type = OperationLogTypeEnum.INSERT) public ResultBean addUserDept(@RequestBody AddUserDeptDTO addUserDeptDTO) { this.eduUserDeptService.addUserDept(addUserDeptDTO); return ResultBean.buildSuccess(); @@ -301,7 +290,7 @@ public class EduUserDeptController { */ @ApiOperation(value = "编辑家校部门", consumes = MediaType.APPLICATION_JSON_VALUE) @PostMapping(value = "editUserDept", consumes = MediaType.APPLICATION_JSON_VALUE) - @OperationLog(module = ModuleName.USER_DEPT, methods = "编辑家校部门", type = OperationLogTypeEnum.UPDATE) + @OperationLog(module = ModuleName.USER, methods = "编辑家校部门", type = OperationLogTypeEnum.UPDATE) public ResultBean editUserDept(@RequestBody EditUserDeptDTO editUserDeptDTO) { this.eduUserDeptService.editUserDept(editUserDeptDTO); return ResultBean.buildSuccess(); @@ -317,7 +306,7 @@ public class EduUserDeptController { */ @ApiOperation(value = "批量删除家校部门") @GetMapping("/deleteUserDeptBatch") - @OperationLog(module = ModuleName.USER_DEPT, methods = "批量删除家校部门", type = OperationLogTypeEnum.DELETE) + @OperationLog(module = ModuleName.USER, methods = "批量删除家校部门", type = OperationLogTypeEnum.DELETE) public ResultBean deleteUserDeptBatch( @ApiParam(value = "家校部门id字符串", required = true) @RequestParam String deptIds, @ApiParam(value = "学校id", required = true) @RequestParam Long schoolId) { @@ -335,6 +324,7 @@ public class EduUserDeptController { */ @ApiOperation(value = "根据学段类型查询对应的标准年级") @GetMapping("/listStandardGradeBySectionType") + @OperationLog(module = ModuleName.USER, methods = "根据学段类型查询对应的标准年级") public ResultBean> listStandardGradeBySectionType( @ApiParam(value = "学段类型", required = true) @RequestParam String sectionType) { return ResultBean.buildSuccess(this.eduUserDeptService.listStandardGradeBySectionType(sectionType)); @@ -343,16 +333,9 @@ public class EduUserDeptController { @ApiOperation("向上查询父级部门") @GetMapping("/findParentUp") + @OperationLog(module = ModuleName.USER, methods = "向上查询父级部门") public ResultBean findParentUp(@ApiParam("部门id") Long deptId, @ApiParam("最上级部门类型,1表示班级,2表示年级,3表示学段,4表示校区") Integer type) { return ResultBean.buildSuccess(eduUserDeptService.findParentUp(deptId, type)); } - - - @ApiOperation("查询职工管理班级,包含班级学生人数") - @GetMapping("/listClassByStaffId") - public ResultBean> listClassByStaffId(@RequestParam Long staffId) { - return ResultBean.buildSuccess(eduUserDeptService.listClassByStaffId(staffId)); - } - } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduUserDeviceController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduUserDeviceController.java index becf056..68792fd 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduUserDeviceController.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduUserDeviceController.java @@ -1,11 +1,8 @@ package com.yida.data.user.controller; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; import com.yida.data.common.core.entity.user.EduUserDevice; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.user.service.EduUserDeviceService; import org.springframework.web.bind.annotation.PostMapping; @@ -27,7 +24,7 @@ public class EduUserDeviceController { @ApiOperation("保存、更新用户设备联系信息") @PostMapping("/saveUserDevice") - @OperationLog(module = ModuleName.USER, methods = "保存、更新用户和厂商的关联信息", type = OperationLogTypeEnum.SAVE) + @ControllerLog(operation = "保存、更新用户和厂商的关联信息") public ResultBean saveUserDevice(@RequestBody EduUserDevice userDevice) { eduUserDeviceService.saveUserDevice(userDevice); return ResultBean.buildSuccess(); diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduUserFaceController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduUserFaceController.java index 448ae49..69734be 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduUserFaceController.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/EduUserFaceController.java @@ -1,6 +1,7 @@ package com.yida.data.user.controller; import cc.mrbird.febs.common.redis.service.RedisService; +import cn.hutool.core.util.ArrayUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yida.data.common.core.common.ResultBean; @@ -32,6 +33,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; import java.util.List; /** @@ -55,17 +57,15 @@ public class EduUserFaceController { @ApiOperation("分页查询人脸组列表") @GetMapping("/listFaceGroupPage") - public ResultBean> listFaceGroupPage( - @ApiParam("组名") @RequestParam(required = false) String groupName, - @ApiParam("组id") @RequestParam(required = false) Long groupId, - @ApiParam("当前页码") @RequestParam(defaultValue = "1") Integer pageNum, - @ApiParam("页面大小") @RequestParam(defaultValue = "10") Integer pageSize) { + public ResultBean> listFaceGroupPage(@ApiParam("组名") @RequestParam(required = false) String groupName, + @ApiParam("当前页码") @RequestParam(defaultValue = "1") Integer pageNum, + @ApiParam("页面大小") @RequestParam(defaultValue = "10") Integer pageSize) { Long schoolId = null; CurrentUser currentUser = FebsUtil.getCurrentUser(); if (currentUser.getDeptType() == 0) { schoolId = currentUser.getDeptId(); } - return ResultBean.buildSuccess(eduFaceGroupService.listFaceGroupPage(new Page(pageNum, pageSize), groupName, schoolId, groupId)); + return ResultBean.buildSuccess(eduFaceGroupService.listFaceGroupPage(new Page(pageNum, pageSize), groupName, schoolId)); } @ApiOperation("保存、修改人脸组") @@ -109,10 +109,9 @@ public class EduUserFaceController { Long schoolId, Long groupId, @ApiParam("当前页码") @RequestParam(defaultValue = "1") Integer pageNum, @ApiParam("页面大小") @RequestParam(defaultValue = "10") Integer pageSize, - Long dormId, Long dormRoomId, - Long campusId, Long sectionId, Long gradeId, Long classId) { + Long dormId, Long dormRoomId) { return ResultBean.buildSuccess(eduFaceGroupUserService.listStudentNotImport(new Page(pageNum, - pageSize), depId, type, sex, keyword, schoolId, groupId, dormId, dormRoomId, campusId, sectionId, gradeId, classId)); + pageSize), depId, type, sex, keyword, schoolId, groupId, dormId, dormRoomId)); } @@ -131,14 +130,14 @@ public class EduUserFaceController { @ApiOperation("学生全部导入") @GetMapping("/saveAllStudent") public ResultBean saveAllStudent( + @RequestParam(required = false) Long[] classId, @ApiParam("0-走读,1-寄宿") @RequestParam(required = false) Integer type, @ApiParam("0-男,1-女") @RequestParam(required = false) Integer sex, @RequestParam(required = false) String keyword, Long schoolId, Long groupId, - Long dormId, Long dormRoomId, - Long campusId, Long sectionId, Long gradeId, Long classId) { - eduFaceGroupUserService.saveAllStudent(type, sex, keyword, schoolId, groupId, dormId, dormRoomId, - campusId, sectionId, gradeId, classId); + Long dormId, Long dormRoomId) { + eduFaceGroupUserService.saveAllStudent(ArrayUtil.isNotEmpty(classId) ? Arrays.asList(classId) + : null, type, sex, keyword, schoolId, groupId, dormId, dormRoomId); return ResultBean.buildSuccess(); } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/InEduUserDeptController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/InEduUserDeptController.java index 331d309..5300aa3 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/InEduUserDeptController.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/InEduUserDeptController.java @@ -1,10 +1,8 @@ package com.yida.data.user.controller; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.user.EduUserDept; import com.yida.data.common.core.entity.user.enums.UserDeptTypeEnum; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.user.dto.DeleteUserDeptDTO; import com.yida.data.user.service.DaHuaSyncService; import com.yida.data.user.service.EduUserDeptService; @@ -15,7 +13,6 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; -import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -47,15 +44,7 @@ public class InEduUserDeptController { @GetMapping("/syncUserDept") public ResultBean syncUserDept() { log.info("同步企业微信家校部门数据"); - this.eduUserDeptService.syncUserDept(null); - return ResultBean.buildSuccess(); - } - - @ApiOperation("同步指定学校企业微信家校部门") - @GetMapping("/syncSchoolUserDept") - public ResultBean syncSchoolUserDept(@RequestParam Long schoolId) { - log.info("同步企业微信家校部门数据: schoolId: [{}]", schoolId); - eduUserDeptService.syncUserDept(schoolId); + this.eduUserDeptService.syncUserDept(); return ResultBean.buildSuccess(); } @@ -139,13 +128,6 @@ public class InEduUserDeptController { return ResultBean.buildSuccess(this.eduUserDeptService.getParentByDeptId(deptId)); } - - @ApiOperation("根据家校部门id查询全部上级家校部门信息") - @GetMapping("/getParentListByDeptId") - public ResultBean> getParentListByDeptId(@RequestParam Long deptId) { - return ResultBean.buildSuccess(this.eduUserDeptService.getParentListByDeptId(deptId)); - } - /** * 批量保存家校部门 * @@ -195,7 +177,8 @@ public class InEduUserDeptController { } /** - * 向下查询指定家校部门类型的家校部门id(可查询非直接子家校部门) 未毕业家校部门 + * 向下查询指定家校部门类型的家校部门id(可查询非直接子家校部门) + * 未毕业家校部门 * * @param parentId 父节点id * @param type 家校部门类型 {@link UserDeptTypeEnum} @@ -206,32 +189,7 @@ public class InEduUserDeptController { @ApiOperation("向下查询指定家校部门类型的家校部门数据(可查询非直接子家校部门)") @GetMapping("/findChildIdByParentAndType") public ResultBean> findChildIdByParentAndType(@ApiParam("父节点id,不能为空") @RequestParam Long parentId, - @ApiParam("子节点类型. 默认所有直接子节点") Integer type) { - List resultList = new ArrayList<>(); - return ResultBean.buildSuccess( - eduUserDeptService.findChildIdByParentAndType(Collections.singletonList(parentId), type, resultList)); + @ApiParam("子节点类型. 默认所有直接子节点") Integer type) { + return ResultBean.buildSuccess(eduUserDeptService.findChildIdByParentAndType(Collections.singletonList(parentId), type)); } - - @ApiOperation("查询所有子节点") - @GetMapping("/findListByParent") - public ResultBean> findListByParent(@RequestParam Long deptId) { - return ResultBean.buildSuccess( - eduUserDeptService.findListByParent(Collections.singletonList(deptId))); - } - - - /** - * 家校部门树 - * - * @param deptIds 根节点Id集合 - * @return - */ - @ApiOperation("家校部门树(根节点多个)") - @PostMapping("/getUserDeptTree") - @OperationLog(module = ModuleName.USER, methods = "家校部门树") - public ResultBean getUserDeptTree(@ApiParam("根节点Id") @RequestBody List deptIds) { - return ResultBean.buildSuccess(this.eduUserDeptService.getUserDeptTree(deptIds)); - } - - } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/InEduUserDeviceController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/InEduUserDeviceController.java index faa65a0..f292c0c 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/InEduUserDeviceController.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/InEduUserDeviceController.java @@ -1,15 +1,19 @@ package com.yida.data.user.controller; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.user.EduUserDevice; import com.yida.data.user.service.EduUserDeviceService; + +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import java.util.List; @Api(tags = "人脸下发记录(不鉴权)") @RestController @@ -20,33 +24,8 @@ public class InEduUserDeviceController { @ApiOperation("批量保存") @PostMapping("/batchSave") - public ResultBean batchSave(@RequestBody List list) { + public ResultBean batchSave(@RequestBody List list) { eduUserDeviceService.batchSaveUserDevice(list); return ResultBean.buildSuccess(); } - - @ApiOperation("获取设备和人员关联信息") - @GetMapping("/listUserDevice") - public ResultBean> listUserDevice(@RequestParam Long userId, @RequestParam Integer type, - @RequestParam Long deviceId, @RequestParam Long faceGroupId) { - List list = eduUserDeviceService.list(Wrappers.lambdaQuery(new EduUserDevice()) - .eq(EduUserDevice::getUserId, userId) - .eq(EduUserDevice::getUserType, type) - .eq(EduUserDevice::getDeviceId, deviceId) - .eq(EduUserDevice::getFaceGroupId, faceGroupId) - ); - return ResultBean.buildSuccess(list); - } - - @ApiOperation("删除设备和人员关联信息") - @PostMapping("/deleteRelation") - public ResultBean deleteRelation(@RequestBody EduUserDevice userDevice) { - eduUserDeviceService.remove(Wrappers.lambdaQuery(new EduUserDevice()) - .eq(EduUserDevice::getUserId, userDevice.getUserId()) - .eq(EduUserDevice::getUserType, userDevice.getUserType()) - .eq(EduUserDevice::getDeviceId, userDevice.getDeviceId()) - .eq(EduUserDevice::getFaceGroupId, userDevice.getFaceGroupId()) - ); - return ResultBean.buildSuccess(); - } } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/InEduUserFaceController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/InEduUserFaceController.java index 8701f5c..514cf9c 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/InEduUserFaceController.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/InEduUserFaceController.java @@ -1,37 +1,41 @@ package com.yida.data.user.controller; -import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.user.EduUserFace; import com.yida.data.user.dto.UpdateFaceGroupUserStatusDTO; import com.yida.data.user.service.EduFaceGroupUserService; import com.yida.data.user.service.EduUserFaceService; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import cn.hutool.core.collection.CollUtil; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; @ApiOperation("人脸管理(不鉴权)") @RestController @RequestMapping("/in/face") @RequiredArgsConstructor public class InEduUserFaceController { - private final EduUserFaceService eduUserFaceService; private final EduFaceGroupUserService eduFaceGroupUserService; @GetMapping("/getFaceByUser") public ResultBean getFaceByUser(@RequestParam("userId") Long userId, - @RequestParam("type") Integer type) { - return ResultBean.buildSuccess(eduUserFaceService.getOne( - Wrappers.lambdaQuery(new EduUserFace()).eq(EduUserFace::getUserId, userId).eq(EduUserFace::getUserType, type))); + @RequestParam("type") Integer type) { + return ResultBean.buildSuccess(eduUserFaceService.getOne(Wrappers.lambdaQuery(new EduUserFace()).eq(EduUserFace::getUserId, userId).eq(EduUserFace::getUserType, type))); } @GetMapping("/delFaceByUser") public ResultBean delFaceByUser(@RequestParam("userId") Long userId, - @RequestParam("type") Integer type) { - eduUserFaceService.remove( - Wrappers.lambdaQuery(new EduUserFace()).eq(EduUserFace::getUserId, userId).eq(EduUserFace::getUserType, type)); + @RequestParam("type") Integer type) { + eduUserFaceService.remove(Wrappers.lambdaQuery(new EduUserFace()).eq(EduUserFace::getUserId, userId).eq(EduUserFace::getUserType, type)); return ResultBean.buildSuccess(); } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/InStaffController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/InStaffController.java index b1086a5..e3a5ed8 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/InStaffController.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/InStaffController.java @@ -14,7 +14,6 @@ import com.yida.data.user.dto.ListStaffDTO; import com.yida.data.user.service.EduStaffService; import com.yida.data.user.service.EduTeacherDeptService; import com.yida.data.user.service.QywxSyncService; -import com.yida.data.user.vo.TeacherClassVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -43,8 +42,8 @@ public class InStaffController { @ApiOperation("处理企业微信更改教师信息") @PostMapping("/dealWxTeacherChange") public ResultBean dealWxTeacherChange(Long schoolId, Long campusId, Long sectionId, Long gradeId, - Long classId, @RequestBody List teacherList, Long deptWxId) { - eduStaffService.dealWxTeacherChange(schoolId, campusId, sectionId, gradeId, classId, teacherList, deptWxId); + Long classId, @RequestBody List teacherList) { + eduStaffService.dealWxTeacherChange(schoolId, campusId, sectionId, gradeId, classId, teacherList); return ResultBean.buildSuccess(); } @@ -104,15 +103,7 @@ public class InStaffController { @GetMapping("/syncQywxStaff") public ResultBean syncQywxStaff() { // eduStaffService.syncQywxStaff(); - qywxSyncService.syncQywxStaff(null); - return ResultBean.buildSuccess(); - } - - @ApiOperation("同步指定学校企业微信职工数据") - @GetMapping("/syncSchoolQywxStaff") - public ResultBean syncSchoolQywxStaff(@RequestParam Long schoolId) { -// eduStudentService.syncQywxStudent(); - qywxSyncService.syncQywxStaff(schoolId); + qywxSyncService.syncQywxStaff(); return ResultBean.buildSuccess(); } @@ -124,8 +115,8 @@ public class InStaffController { } @ApiOperation("查询职工列表") - @PostMapping("/listStaff") - ResultBean> listStaff(@RequestBody ListStaffDTO dto) { + @GetMapping("/listStaff") + ResultBean> listStaff(ListStaffDTO dto) { return ResultBean.buildSuccess(eduStaffService.listStaff(dto)); } @@ -149,44 +140,18 @@ public class InStaffController { @ApiOperation("根据家校部门id和类型查询对应教师信息") @GetMapping("/listTeacherByDeptId") public ResultBean> listTeacherByDeptId(@RequestParam("deptId") Long deptId, - @RequestParam("type") String type) { + @RequestParam("type") String type) { return ResultBean.buildSuccess(eduTeacherDeptService.listTeacherDept(deptId, type)); } @ApiOperation("保存职工openId") @GetMapping("/saveWxPublicOpenId") ResultBean saveWxPublicOpenId(@RequestParam("staffId") Long staffId, - @RequestParam("openId") String openId) { + @RequestParam("openId") String openId) { EduStaff staff = new EduStaff(); staff.setId(staffId); staff.setWxPublicOpenId(openId); eduStaffService.updateById(staff); return ResultBean.buildSuccess(); } - - @ApiOperation("根据员工id获取企业微信密文用户id") - @GetMapping("/getWxIdByStaffId") - public ResultBean getWxIdByStaffId(@RequestParam Long staffId) { - eduStaffService.getWxIdByStaffId(staffId); - return ResultBean.buildSuccess(); - } - - @ApiOperation("根据StaffID查询教师家校沟通部门信息") - @GetMapping("/listDeptByTeacher") - public ResultBean> listDeptByTeacher(@RequestParam Long teacherId, Integer type) { - List teacherClassVOS = eduStaffService.listDeptByTeacher(teacherId, type); - return ResultBean.buildSuccess(teacherClassVOS); - } - - @ApiOperation("查询职工角色") - @GetMapping("/listStaffRolesByStaffId") - public ResultBean> listStaffRolesByStaffId(@RequestParam Long staffId) { - return ResultBean.buildSuccess(eduStaffService.listStaffRolesByStaffId(staffId)); - } - - @ApiOperation("查询职工管理班级") - @GetMapping("/listClassIdByStaffId") - public ResultBean> listClassIdByStaffId() { - return ResultBean.buildSuccess(eduStaffService.listClassIdByStaffId()); - } } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InEduFaceGroupDeviceController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InEduFaceGroupDeviceController.java deleted file mode 100644 index 14f9cdb..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InEduFaceGroupDeviceController.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.yida.data.user.controller.in; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.user.EduFaceGroupDevice; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.user.dto.BatchIssueDTO; -import com.yida.data.user.service.EduFaceGroupDeviceService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 人脸设备 Controller(不鉴权) - * - * @author ZYJ - * @date 2023/9/28 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@RequestMapping("in/groupDevice") -public class InEduFaceGroupDeviceController { - - private final EduFaceGroupDeviceService eduFaceGroupDeviceService; - - /** - * 查询人脸组设备id集合 - */ - @GetMapping("/listFaceGroupOnlineDevice") - public ResultBean> listFaceGroupOnlineDevice(@RequestParam Long faceGroupId) { - return ResultBean.buildSuccess(eduFaceGroupDeviceService.listFaceGroupOnlineDevice(faceGroupId)); - } - -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InEduFaceGroupStrategyController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InEduFaceGroupStrategyController.java deleted file mode 100644 index d3e140b..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InEduFaceGroupStrategyController.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yida.data.user.controller.in; - -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategy; -import com.yida.data.user.dto.StrategySaveDTO; -import com.yida.data.user.service.EduFaceGroupStrategyService; -import com.yida.data.user.vo.StrategyInfoVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -/** - * 人脸组-策略Controller(不鉴权) - * - * @author ZYJ - * @date 2022-12-12 11:04:39 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@RequestMapping("in/eduFaceGroupStrategy") -@Api(tags = "人脸组-策略api(不鉴权)") -public class InEduFaceGroupStrategyController { - - private final EduFaceGroupStrategyService eduFaceGroupStrategyService; - - @GetMapping(value = "getStrategyInfo") - @ApiOperation(value = "获取人脸组策略信息") - public ResultBean getStrategyInfo(@RequestParam Long faceGroupId) { - return ResultBean.buildSuccess(eduFaceGroupStrategyService.getOne(Wrappers.lambdaQuery(new EduFaceGroupStrategy()) - .eq(EduFaceGroupStrategy::getFaceGroupId, faceGroupId))); - } -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InEduStaffController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InEduStaffController.java deleted file mode 100644 index d4607ed..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InEduStaffController.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.yida.data.user.controller.in; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStaffDept; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.entity.user.EduTeacherDept; -import com.yida.data.common.core.entity.user.EduUserDept; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.common.core.utils.FileUtil; -import com.yida.data.system.feign.RemoteDeptService; -import com.yida.data.user.dto.ListStaffDTO; -import com.yida.data.user.dto.PageTeacherDTO; -import com.yida.data.user.mapper.EduTeacherDeptMapper; -import com.yida.data.user.service.EduStaffDeptService; -import com.yida.data.user.service.EduStaffService; -import com.yida.data.user.service.EduStudentService; -import com.yida.data.user.vo.StaStaffDistributeVO; -import com.yida.data.user.vo.StaffPageVO; -import com.yida.data.user.vo.StaffWithDeptVO; -import com.yida.data.user.vo.TeacherClassAndGradeVO; -import com.yida.data.user.vo.TeacherClassVO; -import com.yida.data.user.vo.TeacherCourseInfoVO; -import com.yida.data.user.vo.TeacherDetailVO; -import com.yida.data.user.vo.TeacherListVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiModelProperty; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import javax.servlet.http.HttpServletResponse; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.multipart.MultipartFile; - -@Api(tags = "教师管理 仅学校管理员有权限") -@Slf4j -@Validated -@RestController -@RequestMapping("in/staff") -@RequiredArgsConstructor -public class InEduStaffController { - - - private final EduStaffService eduStaffService; - private final RedisService redisService; - private final EduStudentService eduStudentService; - private final EduTeacherDeptMapper eduTeacherDeptMapper; - private final EduStaffDeptService eduStaffDeptService; - - private final RemoteDeptService remoteDeptService; - - @ApiOperation("根据根据部门id查询对应教职工") - @GetMapping("/listStaffByDeptId") - public ResultBean> listStaffByDeptId(@RequestParam(required = false) Long deptId, - @RequestParam(required = false) String nameOrPhone, - @RequestParam(required = false) Long schoolId) { - - return ResultBean.buildSuccess(eduStaffService.listStaffByDeptId(deptId, nameOrPhone, schoolId)); - } - - @ApiOperation("查询职工部门信息") - @PostMapping("/getStaffDeptByStaffIds") - public ResultBean> getStaffDeptByStaffIds(@ApiParam("职工id") @RequestBody List staffIds) { - return ResultBean.buildSuccess(eduStaffDeptService.getStaffDeptByStaffIds(staffIds)); - } - - @ApiOperation("更新教职工信息缓存") - @GetMapping("/updateStaffCache") - public ResultBean updateStaffCache() { - eduStaffService.updateStaffCache(); - return ResultBean.buildSuccess(); - } -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InEduStudentApplyController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InEduStudentApplyController.java deleted file mode 100644 index cec6d66..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InEduStudentApplyController.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.yida.data.user.controller.in; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.user.EduStudentApply; -import com.yida.data.user.service.EduStudentApplyService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import java.time.LocalDateTime; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -@Api(tags = "交易-学生应用关系(不鉴权)") -@RequiredArgsConstructor -@RequestMapping("/in/transaction/studentApply") -@RestController -public class InEduStudentApplyController { - - private final EduStudentApplyService eduStudentApplyService; - private final RedisService redisService; - - @ApiOperation("查询学生的应用编码列表") - @GetMapping("/listApply") - public ResultBean>> listApplyCode(@RequestParam("studentIds") Long[] studentIds) { - List applyCodeList = eduStudentApplyService.list(Wrappers.lambdaQuery(new EduStudentApply()) - .in(EduStudentApply::getStudentId, studentIds) - .ge(EduStudentApply::getEndTime, LocalDateTime.now()) - .le(EduStudentApply::getStartTime, LocalDateTime.now())); - Map> res = new HashMap<>(); - if (CollUtil.isNotEmpty(applyCodeList)) { - Map> collect = applyCodeList.stream() - .collect(Collectors.groupingBy(EduStudentApply::getStudentId)); - for (Map.Entry> entry : collect.entrySet()) { - List applyCode = entry.getValue().stream().map(x -> x.getApplyCode()).distinct() - .collect(Collectors.toList()); - res.put(entry.getKey(), applyCode); - redisService.hset(CachePrefixConstant.STUDENT_APPLY, entry.getKey().toString(), applyCode); - } - } - return ResultBean.buildSuccess(res); - } - -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InStudentController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InStudentController.java index 4f3aeb2..b88ca79 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InStudentController.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/in/InStudentController.java @@ -3,25 +3,18 @@ package com.yida.data.user.controller.in; import cc.mrbird.febs.common.redis.service.RedisService; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.constant.CachePrefixConstant; import com.yida.data.common.core.entity.user.EduParent; import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.entity.user.EduTeacherDept; import com.yida.data.common.core.entity.user.EduUserDept; -import com.yida.data.common.core.entity.user.enums.DeptVisibleTypeEnum; -import com.yida.data.common.core.entity.user.enums.UserDeptTypeEnum; -import com.yida.data.common.core.utils.Asserts; import com.yida.data.school.dto.transaction.ListBuyStudentDTO; import com.yida.data.user.dto.ListStudentDTO; import com.yida.data.user.mapper.EduParentMapper; import com.yida.data.user.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @@ -43,8 +36,6 @@ public class InStudentController { private final QywxSyncService qywxSyncService; private final DaHuaSyncService daHuaSyncService; private final RedisService redisService; - private final EduTeacherDeptService eduTeacherDeptService; - private final EduStudentDormService eduStudentDormService; @ApiOperation("处理企业微信 改变学生事件") @PostMapping("/dealWxStudentChange") @@ -226,7 +217,11 @@ public class InStudentController { student.setStatus(status); student.setDormStatus(dormStatus); eduStudentService.updateById(student); - redisService.hdel(CachePrefixConstant.STUDENT_DATA, studentId.toString()); + //更新缓存信息 + if (redisService.hHasKey(CachePrefixConstant.STUDENT_DATA, studentId.toString())) { + redisService.hdel(CachePrefixConstant.STUDENT_DATA, studentId.toString()); + } + redisService.hset(CachePrefixConstant.STUDENT_DATA, studentId.toString(), student); return ResultBean.buildSuccess(); } @@ -273,40 +268,4 @@ public class InStudentController { public ResultBean> listDormIdsByDeptId(@RequestBody ListStudentDTO dto) { return ResultBean.buildSuccess(eduStudentService.listDormIdsByDeptId(dto)); } - - @ApiOperation("查询校园大数据的人员统计数据") - @GetMapping("/countUserDashboardNum") - public ResultBean countUserDashboardNum(@RequestParam Long schoolId) { - JSONObject jsonObject = JSONUtil.createObj(); - // 学生数量 - long studentNum = eduStudentService.count(Wrappers.lambdaQuery(new EduStudent()) - .eq(EduStudent::getSchoolId, schoolId)); - jsonObject.set("studentNum", studentNum); - // 班级数量 - long classNum = eduUserDeptService.count(Wrappers.lambdaQuery(new EduUserDept()) - .eq(EduUserDept::getSchoolId, schoolId) - .eq(EduUserDept::getDeptType, UserDeptTypeEnum.CLASS_TYPE.getValue()) - .eq(EduUserDept::getVisible, DeptVisibleTypeEnum.VISIBLE_TYPE.getValue()) - ); - jsonObject.set("classNum", classNum); - // 教师数量 - jsonObject.set("teacherNum", eduTeacherDeptService.countTeacherNumber(schoolId)); - return ResultBean.buildSuccess(jsonObject); - } - - - @ApiOperation("新增住宿生") - @PostMapping("/saveStudentDorm") - public ResultBean saveStudentDorm(@RequestBody EduStudent eduStudent) { - Asserts.isNotNull(eduStudent, "学生不存在"); - eduStudentDormService.saveStudentDorm(eduStudent.getId(), eduStudent.getDormRoomId(), eduStudent.getDormId()); - return ResultBean.buildSuccess(); - } - - @ApiOperation("更新学生信息缓存") - @GetMapping("/updateStudentCache") - public ResultBean updateStudentCache() { - eduStudentService.updateStudentCache(); - return ResultBean.buildSuccess(); - } } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/out/OutEduStudentController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/out/OutEduStudentController.java index b9ea9db..79f13b4 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/out/OutEduStudentController.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/out/OutEduStudentController.java @@ -1,37 +1,24 @@ package com.yida.data.user.controller.out; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.log.annotation.OperationLog; -import com.yida.data.user.dto.OutPageStudentDTO; import com.yida.data.user.service.EduStudentService; -import com.yida.data.user.vo.OutPageStudentVO; import com.yida.data.user.vo.StaStudentVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import java.util.Arrays; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletRequest; -import java.util.Arrays; - @Api(tags = "家长管理") @Slf4j @RequiredArgsConstructor @RestController @RequestMapping(value = "/out/student") public class OutEduStudentController { - private final EduStudentService eduStudentService; @ApiOperation("统计学生分布数据") @@ -39,17 +26,4 @@ public class OutEduStudentController { public ResultBean staStudentDistribu(Long[] schoolIds) { return ResultBean.buildSuccess(eduStudentService.staStudentDistribu(Arrays.asList(schoolIds))); } - - @ApiOperation("分页查询学生列表数据") - @GetMapping("/listStudentPage") - public ResultBean> listStudentOutPage(OutPageStudentDTO dto, HttpServletRequest request) { - return ResultBean.buildSuccess(eduStudentService.listStudentOutPage(dto, request)); - } - - @ApiOperation("保存学生信息 新增或编辑") - @PostMapping("/saveStudent") - @OperationLog(module = ModuleName.STUDENT, methods = "新增、修改学生", type = OperationLogTypeEnum.SAVE) - public ResultBean saveStudent(@RequestBody EduStudent eduStudent) { - return ResultBean.buildSuccess(eduStudentService.saveStudent(eduStudent, null, false)); - } } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/out/OutEduUserDeptController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/out/OutEduUserDeptController.java deleted file mode 100644 index 2b0ade7..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/out/OutEduUserDeptController.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.yida.data.user.controller.out; - -import cn.hutool.json.JSONArray; -import cn.hutool.json.JSONObject; -import com.yida.data.common.core.common.ModuleName; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.user.EduUserDept; -import com.yida.data.log.annotation.OperationLog; -import com.yida.data.user.service.EduParentService; -import com.yida.data.user.service.EduUserDeptService; -import com.yida.data.user.vo.StaParentDistributeVO; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -/** - * 家校部门外部Controller (不鉴权) - * - * @author ZYJ - * @date 2023/4/25 - */ -@Api(tags = "家校部门API") -@Slf4j -@RestController -@RequiredArgsConstructor -@RequestMapping(value = "/out/userDept") -public class OutEduUserDeptController { - - private final EduUserDeptService eduUserDeptService; - - @ApiOperation("查询学校年级分布") - @GetMapping("/getGradeDistribution") - public ResultBean getGradeDistribution(@ApiParam("学校id") @RequestParam Long schoolId) { - return ResultBean.buildSuccess(eduUserDeptService.getGradeDistribution(schoolId)); - } -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/web/WebEduSchoolWelcomeStudentController.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/web/WebEduSchoolWelcomeStudentController.java index 9dbbb6a..ab61c17 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/web/WebEduSchoolWelcomeStudentController.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/controller/web/WebEduSchoolWelcomeStudentController.java @@ -184,7 +184,8 @@ public class WebEduSchoolWelcomeStudentController { } /** - * 导入学生基础信息 + * 导入一键邀请数据 + * 学生基础信息 * * @param file 导入的excel文件 * @param schoolId 学校id @@ -192,7 +193,7 @@ public class WebEduSchoolWelcomeStudentController { * @author ZYJ * @date 2021/8/24 17:12 */ - @ApiOperation("导入学生基础信息") + @ApiOperation("导入一键邀请数据(学生基础信息)") @PostMapping(value = "/importWelcomeInviteData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public ResultBean importWelcomeInviteData( @ApiParam(value = "导入的excel文件", required = true) @RequestParam("file") MultipartFile file, diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/excel/CardDataDataExcelListener.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/excel/CardDataDataExcelListener.java deleted file mode 100644 index 1c96921..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/excel/CardDataDataExcelListener.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.yida.data.user.excel; - -import cn.hutool.core.collection.CollUtil; -import com.alibaba.excel.context.AnalysisContext; -import com.alibaba.excel.event.AnalysisEventListener; -import com.alibaba.fastjson.JSON; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.user.dto.CardErrorExportDTO; -import com.yida.data.user.dto.CardImportDTO; -import com.yida.data.user.service.ImportWelcomeStudentService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.ehcache.impl.internal.concurrent.ConcurrentHashMap; - -import java.util.List; - -/** - * 校园卡号导入监听类 - * - * @author ZYJ - * @date 2021/8/24 - */ -@Slf4j -@RequiredArgsConstructor -public class CardDataDataExcelListener extends AnalysisEventListener { - - private final ImportWelcomeStudentService importWelcomeStudentService; - - /** - * 错误信息集合 - */ - private final List errorList; - - /** - * 学校id - */ - private final Long schoolId; - - /** - * 当前登录用户信息 - */ - private final CurrentUser currentUser; - - /** - * 每次存储条数 - * 每隔5条存储数据库, 实际使用中可以3000条, 然后清理list, 方便内存回收 - */ - private static final int BATCH_COUNT = 3000; - - /** - * 需要保存的数据集合 - */ - ConcurrentHashMap concurrentHashMap = new ConcurrentHashMap<>(); - - /** - * 解析成功一条数据调用一次 - * - * @param dto 导入类 - * @param analysisContext analysisContext类型 - * @author ZYJ - * @date 2021/8/23 16:12 - */ - @Override - public void invoke(CardImportDTO dto, AnalysisContext analysisContext) { - // 获取读取的第几条数据 - Integer i = analysisContext.readRowHolder().getRowIndex(); - log.info("解析到第: {}条数据: {}", i, JSON.toJSONString(dto)); - concurrentHashMap.put(i, dto); - // 达到BATCH_COUNT了, 需要去存储一次数据库, 防止数据几万条数据在内存, 容易OOM - if (concurrentHashMap.size() >= BATCH_COUNT) { - saveData(); - // 存储完成清理集合 - concurrentHashMap.clear(); - } - } - - /** - * 所有数据解析完成调用 - * - * @param analysisContext analysisContext类 - * @author ZYJ - * @date 2021/8/23 16:18 - */ - @Override - public void doAfterAllAnalysed(AnalysisContext analysisContext) { - // 这里也要保存数据, 确保最后遗留的数据也存储到数据库 - saveData(); - log.info("所有数据解析完成!"); - if (CollUtil.isNotEmpty(errorList)) { - log.error("错误数据有: {}条", errorList.size()); - } - } - - /** - * 保存导入数据 - * - * @author ZYJ - * @date 2021/8/23 16:20 - */ - private void saveData() { - log.info("{}条数据,开始存储数据库!", concurrentHashMap.size()); - importWelcomeStudentService.saveCardExcelData(concurrentHashMap, errorList, schoolId, currentUser); - log.info("存储数据库成功!"); - } -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/excel/SelectStudentDormExportData.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/excel/SelectStudentDormExportData.java deleted file mode 100644 index 8ca65ae..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/excel/SelectStudentDormExportData.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.yida.data.user.excel; - -import com.yida.data.common.core.file.common.export.SelectExportData; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; -import java.util.List; - -/** - * 导出学生宿舍查询类 - * - * @author ZYJ - * @date 2023/12/13 16:41 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class SelectStudentDormExportData extends SelectExportData implements Serializable { - - private static final long serialVersionUID = 1138422440767435262L; - - @ApiModelProperty("学校id") - private Long schoolId; - - @ApiModelProperty("宿舍楼") - private Long dormId; - - @ApiModelProperty("楼层") - private Integer floor; - - @ApiModelProperty("寝室id") - private Long dormRoomId; - - @ApiModelProperty("班级id") - private Long classId; - - @ApiModelProperty("关键词") - private String keyword; -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/excel/SelectStudentExportData.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/excel/SelectStudentExportData.java deleted file mode 100644 index 4fae92c..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/excel/SelectStudentExportData.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.yida.data.user.excel; - -import com.yida.data.common.core.file.common.export.SelectExportData; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; -import java.util.List; - -/** - * 导出学生查询类 - * - * @author ZYJ - * @date 2023/12/12 15:41 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class SelectStudentExportData extends SelectExportData implements Serializable { - - private static final long serialVersionUID = -7368186456144813899L; - - @ApiModelProperty("区域id") - private Long areaId; - - @ApiModelProperty("学校id") - private Long schoolId; - - @ApiModelProperty("学生类型id") - private Integer type; - - @ApiModelProperty("校区id") - private Long campusId; - - @ApiModelProperty("校区id") - private List campusIdList; - - @ApiModelProperty("学段id") - private Long sectionId; - private List sectionIdList; - - @ApiModelProperty("年级id") - private Long gradeId; - private List gradeIdList; - - @ApiModelProperty("班级id") - private Long classId; - private List classIdList; - - @ApiModelProperty("学号id") - private String stuNumber; - - @ApiModelProperty("名字") - private String name; - - @ApiModelProperty("家庭类型 字典值") - private String familyType; - - @ApiModelProperty("是否采集人脸:0否,1是") - private String collectType; -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/excel/StaffDataExcelListener.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/excel/StaffDataExcelListener.java deleted file mode 100644 index 57f780a..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/excel/StaffDataExcelListener.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.yida.data.user.excel; - -import com.alibaba.excel.context.AnalysisContext; -import com.alibaba.excel.event.AnalysisEventListener; -import com.alibaba.fastjson.JSON; -import com.yida.data.user.dto.StaffImportDTO; -import com.yida.data.user.dto.WelcomeStudentImportDTO; -import com.yida.data.user.service.EduStaffService; -import com.yida.data.user.service.ImportWelcomeStudentService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.ehcache.impl.internal.concurrent.ConcurrentHashMap; - -/** - * Excel 职工信息监听类 - */ -@Slf4j -@RequiredArgsConstructor -public class StaffDataExcelListener extends AnalysisEventListener { - - private final EduStaffService eduStaffService; - - /** - * 错误信息集合 - */ - private final ConcurrentHashMap errorMap; - - /** - * 学校id - */ - private final Long schoolId; - - /** - * 时间戳 - */ - private final long timestamp; - - /** - * 每次存储条数 每隔5条存储数据库, 实际使用中可以3000条, 然后清理list, 方便内存回收 - */ - private static final int BATCH_COUNT = 3000; - - /** - * 需要保存的数据集合 - */ - ConcurrentHashMap concurrentHashMap = new ConcurrentHashMap<>(); - - /** - * 解析成功一条数据调用一次 - */ - @Override - public void invoke(StaffImportDTO staffImportDTO, AnalysisContext analysisContext) { - // 获取读取的第几条数据 - Integer i = analysisContext.readRowHolder().getRowIndex(); - log.info("解析到第: {}条数据: {}", i, JSON.toJSONString(staffImportDTO)); - concurrentHashMap.put(i, staffImportDTO); - // 达到BATCH_COUNT了, 需要去存储一次数据库, 防止数据几万条数据在内存, 容易OOM - if (concurrentHashMap.size() >= BATCH_COUNT) { - saveData(); - // 存储完成清理集合 - concurrentHashMap.clear(); - } - } - - /** - * 所有数据解析完成调用 - * - * @param analysisContext analysisContext类 - * @author ZYJ - * @date 2021/8/23 16:18 - */ - @Override - public void doAfterAllAnalysed(AnalysisContext analysisContext) { - // 这里也要保存数据, 确保最后遗留的数据也存储到数据库 - saveData(); - log.info("所有数据解析完成!"); - if (errorMap.size() > 0) { - log.error("错误数据有: {}条", errorMap.size()); - } - } - - /** - * 保存导入数据 - */ - private void saveData() { - log.info("{}条数据,开始存储数据库!", concurrentHashMap.size()); - eduStaffService.saveExcelData(concurrentHashMap, errorMap, schoolId, timestamp); - log.info("存储数据库成功!"); - } -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/listener/ImportStudentTypeListener.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/listener/ImportStudentTypeListener.java deleted file mode 100644 index 8a245ec..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/listener/ImportStudentTypeListener.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.yida.data.user.listener; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import com.alibaba.excel.context.AnalysisContext; -import com.alibaba.excel.event.AnalysisEventListener; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.entity.attendance.EduAttendanceRule; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.school.EduDormitory; -import com.yida.data.common.core.entity.school.EduDormitoryRoom; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.vo.ImportPercentVO; -import com.yida.data.school.dto.index.EditPersonNumDTO; -import com.yida.data.school.feign.facility.RemoteDormitoryService; -import com.yida.data.user.dto.ImportStudentTypeDTO; -import com.yida.data.user.dto.ImportStudentTypeDTO; -import com.yida.data.user.mapper.EduStudentMapper; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -@Slf4j -@RequiredArgsConstructor -public class ImportStudentTypeListener extends AnalysisEventListener { - - private final RedisService redisService; - private final EduStudentMapper eduStudentMapper; - - private final ImportPercentVO res; - private final Long schoolId; - private final String key; - - private final static Integer BATCH_COUNT = 100; - - // 最后一行用作保存数据的进度 - private Integer rowNum = -1; - private List list = new ArrayList<>(BATCH_COUNT); - - /** - * 这个每一条数据解析都会来调用 - * - * @param data one row value. Is is same as {@link AnalysisContext#readRowHolder()} - * @param context - */ - @Override - public void invoke(ImportStudentTypeDTO data, AnalysisContext context) { - // 达到BATCH_COUNT了,需要去存储一次数据库,防止数据几万条数据在内存,容易OOM - list.add(data); - //if (list.size() >= BATCH_COUNT) { - // saveData(); - // // 存储完成清理 list - // list = new ArrayList<>(BATCH_COUNT); - //} - } - - /** - * 所有数据解析完成了 都会来调用 - * - * @param context - */ - @Override - public void doAfterAllAnalysed(AnalysisContext context) { - // 这里也要保存数据,确保最后遗留的数据也存储到数据库 - saveData(); - res.setFinish(1); - redisService.hset(CachePrefixConstant.IMPORT_STUDENT_TYPE, key, res); - } - - /** - * 加上存储数据库 - */ - private void saveData() { - log.info("{}条数据,开始存储数据库!", list.size()); - res.setTotal((long) list.size()); - if (list.size() > 0) { - // 错误数据 - List errorData = new ArrayList<>(); - for (ImportStudentTypeDTO dto : list) { - // 学生是否存在 - EduStudent student = eduStudentMapper.selectOne(Wrappers.lambdaQuery() - .eq(EduStudent::getStuNumber, dto.getStudentNum()) - .eq(EduStudent::getSchoolId, schoolId)); - - if (student == null) { - dto.setError("学生不存在"); - errorData.add(dto); - continue; - } - eduStudentMapper.update(null, - Wrappers.lambdaUpdate().eq(EduStudent::getStuNumber, dto.getStudentNum()) - .set(EduStudent::getType, Integer.valueOf(dto.getType()))); - - rowNum++; - if (rowNum * 100 / res.getTotal() != res.getPercent()) { - res.setPercent((int) (rowNum * 100 / res.getTotal())); - redisService.hset(CachePrefixConstant.IMPORT_STUDENT_TYPE, key, res); - } - } - // 错误数据 - res.setError(errorData); - } - } -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/listener/importStudentApplyListener.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/listener/importStudentApplyListener.java deleted file mode 100644 index 6183ed2..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/listener/importStudentApplyListener.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.yida.data.user.listener; - -import com.alibaba.excel.context.AnalysisContext; -import com.alibaba.excel.event.AnalysisEventListener; -import com.yida.data.user.service.EduStudentApplyService; -import com.yida.data.user.vo.StudentApplyImportVO; -import java.util.ArrayList; -import java.util.List; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -@Slf4j -@RequiredArgsConstructor -public class importStudentApplyListener extends AnalysisEventListener { - - - private EduStudentApplyService eduStudentApplyService; - - - private List list = new ArrayList<>(); - - private String key; - - - public importStudentApplyListener(EduStudentApplyService eduStudentApplyService, String key) { - this.eduStudentApplyService = eduStudentApplyService; - this.key = key; - } - - @Override - public void invoke(StudentApplyImportVO data, AnalysisContext context) { - if (null == data) { - log.info("excel导入失败:{}", data.toString()); - } - list.add(data); - } - - @Override - public void doAfterAllAnalysed(AnalysisContext context) { - saveData(); - } - - public void saveData() { - eduStudentApplyService.insertStudentApplyData(list, key); - } - -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupMapper.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupMapper.java index 9ba6d45..0155567 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupMapper.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupMapper.java @@ -16,6 +16,5 @@ import org.apache.ibatis.annotations.Param; public interface EduFaceGroupMapper extends BaseMapper { IPage listFaceGroupPage(Page page, @Param("groupName") String groupName, - @Param("schoolId") Long schoolId, - @Param("groupId") Long groupId); + @Param("schoolId") Long schoolId); } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategyMapper.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategyMapper.java deleted file mode 100644 index 97585fb..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategyMapper.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.yida.data.user.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategy; - -/** - * 人脸组-策略Mapper - * - * @author ZYJ - * @date 2022-12-12 11:04:39 - */ -public interface EduFaceGroupStrategyMapper extends BaseMapper { - - /** - * 处理一周的通行计划 - * - * @param groupStrategy 人脸组-策略Entity - * @author ZYJ - * @date 2022/12/12 17:59 - */ - void updateWeekPlan(EduFaceGroupStrategy groupStrategy); -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategyPlanMapper.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategyPlanMapper.java deleted file mode 100644 index aef0726..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategyPlanMapper.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.yida.data.user.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategyPlan; -import com.yida.data.user.vo.StrategyPlanVO; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 人脸组-策略-通行计划Mapper - * - * @author ZYJ - * @date 2022-12-12 11:36:19 - */ -public interface EduFaceGroupStrategyPlanMapper extends BaseMapper { - - /** - * 查询人脸组-策略-通行计划 - * - * @param strategyId 策略id - * @return java.util.List - * @author ZYJ - * @date 2022/12/12 14:43 - */ - List listStrategyPlan(@Param("strategyId") Long strategyId); -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategyPlanTimeMapper.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategyPlanTimeMapper.java deleted file mode 100644 index 867aeee..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategyPlanTimeMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.user.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategyPlanTime; - -/** - * 人脸组-策略-通行计划-时间Mapper - * - * @author ZYJ - * @date 2022-12-12 11:36:19 - */ -public interface EduFaceGroupStrategyPlanTimeMapper extends BaseMapper { - -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategySpecialDateMapper.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategySpecialDateMapper.java deleted file mode 100644 index 6de8e1c..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategySpecialDateMapper.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.yida.data.user.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategySpecialDate; -import com.yida.data.user.vo.StrategySpecialDateVO; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 人脸组-策略-特殊日期Mapper - * - * @author ZYJ - * @date 2022-12-26 13:57:32 - */ -public interface EduFaceGroupStrategySpecialDateMapper extends BaseMapper { - - /** - * 查询特殊日期 - * - * @param strategyId 策略id - * @return java.util.List - * @author ZYJ - * @date 2022/12/26 17:14 - */ - List listStrategySpecialDate(@Param("strategyId") Long strategyId); -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategySpecialTimeMapper.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategySpecialTimeMapper.java deleted file mode 100644 index a803398..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupStrategySpecialTimeMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.user.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategySpecialTime; - -/** - * 人脸组-策略-特殊日期-时间Mapper - * - * @author ZYJ - * @date 2022-12-26 13:57:32 - */ -public interface EduFaceGroupStrategySpecialTimeMapper extends BaseMapper { - -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupUserMapper.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupUserMapper.java index 558e2f7..3fb3fc7 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupUserMapper.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduFaceGroupUserMapper.java @@ -28,14 +28,13 @@ public interface EduFaceGroupUserMapper extends BaseMapper { IPage listStudentNotImport( @Param("page") Page page, + @Param("classId") List classId, @Param("type") Integer type, @Param("sex") Integer sex, @Param("keyword") String keyword, @Param("schoolId") Long schoolId, @Param("groupId") Long groupId, - @Param("dormId") Long dormId, @Param("dormRoomId") Long dormRoomId, - @Param("campusId") Long campusId, @Param("sectionId") Long sectionId, - @Param("gradeId") Long gradeId, @Param("classId") Long classId); + @Param("dormId") Long dormId, @Param("dormRoomId") Long dormRoomId); IPage listStaffNotImport( Page page, @@ -45,14 +44,13 @@ public interface EduFaceGroupUserMapper extends BaseMapper { @Param("groupId") Long groupId); List listStudentNotImport( + @Param("classId") List classId, @Param("type") Integer type, @Param("sex") Integer sex, @Param("keyword") String keyword, @Param("schoolId") Long schoolId, @Param("groupId") Long groupId, - @Param("dormId") Long dormId, @Param("dormRoomId") Long dormRoomId, - @Param("campusId") Long campusId, @Param("sectionId") Long sectionId, - @Param("gradeId") Long gradeId, @Param("classId") Long classId); + @Param("dormId") Long dormId, @Param("dormRoomId") Long dormRoomId); List listStaffNotImport( @Param("sex") Integer sex, diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduStaffMapper.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduStaffMapper.java index d6d288f..c2cfbd4 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduStaffMapper.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduStaffMapper.java @@ -7,6 +7,7 @@ import com.yida.data.common.core.entity.user.EduStaff; import com.yida.data.user.dto.ListStaffDTO; import com.yida.data.user.dto.PageTeacherDTO; import com.yida.data.user.vo.*; + import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -48,8 +49,6 @@ public interface EduStaffMapper extends BaseMapper { EduStaff getStaffById(Long staffId); - EduStaff getStaff(@Param("id") Long staffId); - List listStaff(@Param("dto") ListStaffDTO dto); List listStaffByDeptId(@Param("deptId") Long deptId, @Param("staffIds") List staffIds); diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduStudentApplyForMapper.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduStudentApplyForMapper.java deleted file mode 100644 index c0789c5..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduStudentApplyForMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.yida.data.user.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.user.EduStudentApplyFor; -import com.yida.data.user.dto.ListStudentApplyForDTO; -import org.apache.ibatis.annotations.Param; - -public interface EduStudentApplyForMapper extends BaseMapper { - - - IPage listStudentApplyFor(@Param("dto") ListStudentApplyForDTO dto, Page page); - - -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduStudentApplyMapper.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduStudentApplyMapper.java deleted file mode 100644 index f3ea8d5..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduStudentApplyMapper.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.yida.data.user.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.user.EduStudentApply; -import com.yida.data.user.dto.ListStudentApplyDTO; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -public interface EduStudentApplyMapper extends BaseMapper { - - List getStudentApplyStatus(@Param("studentId") Long studentId, - @Param("applyCode") String applyCode); - - IPage listStudentApply(@Param("dto") ListStudentApplyDTO dto, Page page); - - EduStudentApply getStudentApply(@Param("studentId") Long studentId, - @Param("applyCode") String applyCode); -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduStudentMapper.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduStudentMapper.java index a5db540..71a10ed 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduStudentMapper.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduStudentMapper.java @@ -8,14 +8,14 @@ import com.yida.data.common.core.entity.user.EduStudent; import com.yida.data.common.core.entity.user.EduTeacherDept; import com.yida.data.school.dto.transaction.ListBuyStudentDTO; import com.yida.data.user.dto.ListStudentDTO; -import com.yida.data.user.dto.OutPageStudentDTO; import com.yida.data.user.dto.PageStudentDTO; import com.yida.data.user.dto.PageStudentDormDTO; -import com.yida.data.user.excel.SelectStudentDormExportData; import com.yida.data.user.vo.ListParentByStudentIdsVO; -import com.yida.data.user.vo.OutPageStudentVO; import com.yida.data.user.vo.StudentClassInfoVO; import com.yida.data.user.vo.StudentDormInfoVO; + +import java.util.List; + import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -34,17 +34,12 @@ public interface EduStudentMapper extends BaseMapper { List selectStudent(@Param("dto") PageStudentDTO dto); EduStudent getStudentWithParent(@Param("studentId") Long studentId, @Param("wxId") String wxId, - @Param("schoolId") Long schoolId); - - - List getStudentListWithParent(@Param("studentIdList") List studentIdList, @Param("wxId") String wxId, @Param("schoolId") Long schoolId); - List listStudentByParent(Long parentId); StudentClassInfoVO getStudentInfo(@Param("studentId") Long studentId, - @Param("parentMobile") String parentMobile); + @Param("parentMobile") String parentMobile); List getParentByPhoneAndSchoolId(@Param("phone") List phone, @Param("schoolId") Long schoolId); @@ -99,11 +94,8 @@ public interface EduStudentMapper extends BaseMapper { * @return */ IPage listStudentDormPage(Page page, - @Param("dormRoomIds") List dormRoomIds, - @Param("dto") PageStudentDormDTO dto); - - List listStudentDorm(@Param("dormRoomIds") List dormRoomIds, - @Param("dto") SelectStudentDormExportData selectStudentDormExportData); + @Param("dormRoomIds") List dormRoomIds, + @Param("dto") PageStudentDormDTO dto); /** * 查询学生对应教师 @@ -137,17 +129,4 @@ public interface EduStudentMapper extends BaseMapper { List listDormIdsByDeptId(ListStudentDTO dto); List listBaseStudentNoJoin(EduStudent eduStudent); - - IPage listStudentOutPage(Page page, - @Param("dto") OutPageStudentDTO dto); - - /** - * 查询年级人数 - * - * @param gradeId 年级id - * @return long - * @author ZYJ - * @date 2023/4/25 11:47 - */ - long selectGradeStudentNumber(@Param("gradeId") Long gradeId); } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduTeacherDeptMapper.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduTeacherDeptMapper.java index a2a290c..6c9c761 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduTeacherDeptMapper.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/mapper/EduTeacherDeptMapper.java @@ -7,9 +7,7 @@ import com.yida.data.common.core.entity.user.EduTeacherDept; import com.yida.data.common.core.entity.user.EduUserDept; import com.yida.data.user.vo.TeacherClassVO; import com.yida.data.user.vo.TeacherCourseInfoVO; - import java.util.List; - import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -20,10 +18,10 @@ public interface EduTeacherDeptMapper extends BaseMapper { List listPermissionDeptByTeacher(Long teacherSysId); List listTeacherByClass(@Param("classIds") List classIds, - @Param("teacherName") String teacherName); + @Param("teacherName") String teacherName); List listTeacherBySchool(@Param("schoolId") Long schoolId, - @Param("name") String name); + @Param("name") String name); List findType(@Param("teacherId") Long teacherId); @@ -41,18 +39,18 @@ public interface EduTeacherDeptMapper extends BaseMapper { List selectCoursetList(@Param("teacherId") Long teacherId, @Param("schoolId") Long schoolId, - @Param("classId") Long classId); + @Param("classId") Long classId); List findClassId(@Param("teacherId") Long teacherId); List listTeacherCourseByGrade(@Param("gradeId") Long gradeId, - @Param("classId") Long classId); + @Param("classId") Long classId); /** * 根据班级和名称查询教师 */ List listTeacherByClassAndName(@Param("classId") Long classId, - @Param("name") String name); + @Param("name") String name); /** * 查询教师管辖班级 @@ -70,14 +68,4 @@ public interface EduTeacherDeptMapper extends BaseMapper { * @return */ List listTeacherDept(List teacherIds); - - /** - * 教师数量 - * - * @param schoolId 学校id - * @return long - * @author ZYJ - * @date 2023/4/24 16:59 - */ - long countTeacherNumber(@Param("schoolId") Long schoolId); } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupDeviceService.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupDeviceService.java index 2651222..2038677 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupDeviceService.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupDeviceService.java @@ -22,9 +22,4 @@ public interface EduFaceGroupDeviceService extends IService * 查询人脸组关联的设备(设备组查询出设备) */ List listDeviceByFaceGroup(Long faceGroupId); - - /** - * 查询人脸组关联的在线设备(设备组查询出设备) - */ - List listFaceGroupOnlineDevice(Long faceGroupId); } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupService.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupService.java index 9fe5d82..bd90527 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupService.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupService.java @@ -13,7 +13,7 @@ import com.yida.data.common.core.entity.user.EduFaceGroup; */ public interface EduFaceGroupService extends IService { - IPage listFaceGroupPage(Page page, String groupName, Long schoolId, Long groupId); + IPage listFaceGroupPage(Page page, String groupName, Long schoolId); void removeFaceGroup(Long groupId); } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategyPlanService.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategyPlanService.java deleted file mode 100644 index cc146f9..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategyPlanService.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.user.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategyPlan; -import com.yida.data.user.vo.StrategyPlanVO; - -import java.util.List; - -/** - * 人脸组-策略Service接口 - * - * @author ZYJ - * @date 2022-12-12 11:36:19 - */ -public interface EduFaceGroupStrategyPlanService extends IService { - - /** - * 查询人脸组-策略-通行计划 - * - * @param strategyId 策略id - * @return java.util.List - * @author ZYJ - * @date 2022/12/12 14:42 - */ - List listStrategyPlan(Long strategyId); -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategyPlanTimeService.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategyPlanTimeService.java deleted file mode 100644 index 782cd2a..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategyPlanTimeService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.user.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategyPlanTime; - -/** -* 人脸组-策略-通行计划-时间Service接口 -* -* @author ZYJ -* @date 2022-12-12 11:36:19 -*/ -public interface EduFaceGroupStrategyPlanTimeService extends IService { - -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategyService.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategyService.java deleted file mode 100644 index a4e914b..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategyService.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.yida.data.user.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategy; -import com.yida.data.user.dto.StrategySaveDTO; -import com.yida.data.user.vo.StrategyInfoVO; - -/** - * 人脸组-策略Service接口 - * - * @author ZYJ - * @date 2022-12-12 11:04:39 - */ -public interface EduFaceGroupStrategyService extends IService { - - /** - * 获取人脸组策略信息 - * - * @param faceGroupId 人脸组id - * @return com.yida.data.user.vo.StrategyInfoVO - * @author ZYJ - * @date 2022/12/12 14:11 - */ - StrategyInfoVO getStrategyInfo(Long faceGroupId); - - /** - * 保存人脸组策略信息 - * - * @param strategySaveDTO 人脸组-策略信息保存类 - * @author ZYJ - * @date 2022/12/12 15:17 - */ - void saveStrategyInfo(StrategySaveDTO strategySaveDTO); -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategySpecialDateService.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategySpecialDateService.java deleted file mode 100644 index 2eaaf65..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategySpecialDateService.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.user.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategySpecialDate; -import com.yida.data.user.vo.StrategySpecialDateVO; - -import java.util.List; - -/** - * 人脸组-策略-特殊日期Service接口 - * - * @author ZYJ - * @date 2022-12-26 13:57:32 - */ -public interface EduFaceGroupStrategySpecialDateService extends IService { - - /** - * 查询特殊日期 - * - * @param strategyId 策略id - * @return java.util.List - * @author ZYJ - * @date 2022/12/26 17:11 - */ - List listStrategySpecialDate(Long strategyId); -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategySpecialTimeService.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategySpecialTimeService.java deleted file mode 100644 index 592524c..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupStrategySpecialTimeService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.yida.data.user.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategySpecialTime; - -/** -* 人脸组-策略-特殊日期-时间Service接口 -* -* @author ZYJ -* @date 2022-12-26 13:57:32 -*/ -public interface EduFaceGroupStrategySpecialTimeService extends IService { -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupUserService.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupUserService.java index 137dc13..55210b9 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupUserService.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduFaceGroupUserService.java @@ -7,9 +7,15 @@ import com.yida.data.common.core.entity.CurrentUser; import com.yida.data.common.core.entity.user.EduFaceGroupUser; import com.yida.data.common.core.entity.user.EduStaff; import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.user.dto.*; +import com.yida.data.user.dto.BatchIssueDTO; +import com.yida.data.user.dto.DelFaceGroupUserDTO; +import com.yida.data.user.dto.FaceGroupUserPageDTO; +import com.yida.data.user.dto.SaveFaceGroupUserDTO; +import com.yida.data.user.dto.UpdateFaceGroupUserStatusDTO; import com.yida.data.user.vo.UserFacePageVO; +import java.util.List; + /** * 人脸、人脸组关联信息 Service接口 * @@ -21,15 +27,13 @@ public interface EduFaceGroupUserService extends IService { IPage listStudentNotImport(Page page, Long deptId, Integer type, Integer sex, String keyword, Long schoolId, Long groupId, - Long dormId, Long dormRoomId, - Long campusId, Long sectionId, Long gradeId, Long classId); + Long dormId, Long dormRoomId); IPage listStaffNotImport(Page page, Integer sex, String keyword, Long schoolId, Long groupId); - void saveAllStudent(Integer type, Integer sex, String keyword, Long schoolId, - Long groupId, Long dormId, Long dormRoomId, - Long campusId, Long sectionId, Long gradeId, Long classId); + void saveAllStudent(List classId, Integer type, Integer sex, + String keyword, Long schoolId, Long groupId, Long dormId, Long dormRoomId); void saveAllStaff(Integer sex, String keyword, Long schoolId, Long groupId); diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduSchoolStudentInformationService.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduSchoolStudentInformationService.java index 464d920..1225fc0 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduSchoolStudentInformationService.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduSchoolStudentInformationService.java @@ -86,7 +86,7 @@ public interface EduSchoolStudentInformationService extends IService { - /** * 查询教师列表数据 */ @@ -46,14 +41,7 @@ public interface EduStaffService extends IService { TeacherDetailVO findTeacher(Long teacherId); List listClassByTeacher(Long teacherId); - - List listDeptByTeacher(Long teacherId, Integer type); - - List listClassIdByStaffId(); - - List listStaffRolesByStaffId(Long staffId); - - List listDeptByStaffId(Long staffId); + List listDeptByTeacher(Long teacherId,Integer type); /** * 批量删除教师信息 @@ -65,18 +53,15 @@ public interface EduStaffService extends IService { */ void delTeacherBatch(List teacherIds); - void dealWxTeacherChange(Long schoolId, Long campusId, Long sectionId, Long gradeId, - Long classId, List teacherList, Long deptWxId); + void dealWxTeacherChange(Long schoolId, Long campusId, Long sectionId, Long gradeId, Long classId, List teacherList); void initStaff(List teacherList); - ResultBean> importStaff(MultipartFile file, Long schoolId, long timestamp); - //@Async(FebsConstant.ASYNC_POOL) //void importTeacher(String path, Long schoolId, CurrentUser currentUser, Long key, String fileName); @Async(FebsConstant.ASYNC_POOL) -// void importStaff(String path, Long schoolId, CurrentUser currentUser, Long key, String fileName); + void importStaff(String path, Long schoolId, CurrentUser currentUser, Long key, String fileName); Integer importTeacherHeartbeat(String username, Long key); @@ -96,10 +81,10 @@ public interface EduStaffService extends IService { * 分页查询职工列表数据 */ IPage listStaffPage(Page page, CurrentUser currentUser, - Long areaId, Long schoolId, Long deptId, - Integer isLeader, - String position, String name, String mobile, Integer sex, - Integer collectType); + Long areaId, Long schoolId, Long deptId, + Integer isLeader, + String position, String name, String mobile, Integer sex, + Integer collectType); /** * 添加、修改职工 @@ -115,7 +100,7 @@ public interface EduStaffService extends IService { * @param teacherId * @return */ - List findTeacherRole(Long teacherId); + List findTeacherRole(Long teacherId); /*** * 根据班级查询关联的老师 @@ -135,8 +120,6 @@ public interface EduStaffService extends IService { List listTeacherCourseByGrade(Long gradeId, Long classId); - List listClassByGradeIdAndTeacherId(Long gradeId, Long staffId); - /** * 根据班级和名称查询教师 * @@ -152,7 +135,7 @@ public interface EduStaffService extends IService { * @param nameOrPhone * @return */ - List listStaffByDeptId(Long deptId, String nameOrPhone, Long schoolId); + List listStaffByDeptId(Long deptId, String nameOrPhone,Long schoolId); /** @@ -171,7 +154,6 @@ public interface EduStaffService extends IService { /** * 查询教职工分布情况 - * * @return */ StaStaffDistributeVO staStaffDistribute(List schoolIds); @@ -179,24 +161,8 @@ public interface EduStaffService extends IService { StaStaffDistributeVO staStaffNum(List schoolIds); void exportStaff(Long areaId, Long schoolId, Long deptId, Integer isLeader, String position, - String name, String mobile, Integer sex, Integer collectType, - HttpServletResponse response); + String name, String mobile, Integer sex, Integer collectType, + HttpServletResponse response); SystemUser saveSystemUser(EduStaff eduStaff); - - void getWxIdByStaffId(Long staffId); - - void saveExcelData(ConcurrentHashMap concurrentHashMap, - ConcurrentHashMap errorMap, - Long schoolId, - long timestamp); - - List getDeptManager(List deptIdList, Long ruleId); - - - /** - * 更新学生缓存信息 - */ - @Async - void updateStaffCache(); } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduStudentApplyForService.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduStudentApplyForService.java deleted file mode 100644 index 3ecce0f..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduStudentApplyForService.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.yida.data.user.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.user.EduStudentApply; -import com.yida.data.common.core.entity.user.EduStudentApplyFor; -import com.yida.data.user.dto.ListStudentApplyDTO; -import com.yida.data.user.dto.ListStudentApplyForDTO; -import com.yida.data.user.vo.StudentApplyImportProgressVO; -import com.yida.data.user.vo.StudentApplyImportVO; -import com.yida.data.user.vo.StudentApplyStatusVO; -import java.io.IOException; -import java.util.List; -import javax.servlet.http.HttpServletResponse; -import org.springframework.scheduling.annotation.Async; -import org.springframework.web.multipart.MultipartFile; - -public interface EduStudentApplyForService extends IService { - - - /** - * 分页查询 - */ - IPage listStudentApplyFor(ListStudentApplyForDTO dto, Page page); - - - void saveStudentApplyFor(EduStudentApplyFor eduStudentApplyFor); - - void dealApplyFor(Long id, Integer status); - - EduStudentApplyFor getByStudentId(Long studentId, String appCode); -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduStudentApplyService.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduStudentApplyService.java deleted file mode 100644 index 1e9f71b..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduStudentApplyService.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.yida.data.user.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.user.EduStudentApply; -import com.yida.data.user.dto.ListStudentApplyDTO; -import com.yida.data.user.vo.StudentApplyImportProgressVO; -import com.yida.data.user.vo.StudentApplyImportVO; -import com.yida.data.user.vo.StudentApplyStatusVO; -import java.io.IOException; -import java.util.List; -import javax.servlet.http.HttpServletResponse; -import org.springframework.scheduling.annotation.Async; -import org.springframework.web.multipart.MultipartFile; - -public interface EduStudentApplyService extends IService { - - /** - * 获取详情 - */ - StudentApplyStatusVO getStudentApplyStatus(Long studentId, String applyCode); - - /** - * 分页查询 - */ - IPage listStudentApply(ListStudentApplyDTO dto, Page page); - - void saveStudentApply(EduStudentApply eduStudentApply); - - /** - * 下载学生开通应用模板 - * - * @param response - * @throws Exception - */ - void downloadTemplate(HttpServletResponse response) throws Exception; - - /** - * 导入 - */ - @Async - void importStudentApplyInfo(MultipartFile file, String redisKey) throws IOException; - - /** - * 插入 - */ - void insertStudentApplyData(List studentApplyImportVOList, String redisKey); - - /** - * 获取导入进度 - */ - StudentApplyImportProgressVO getImportStudentApplyInfoProgress(String redisKey); - -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduStudentDormService.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduStudentDormService.java index 01c6302..bc67a55 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduStudentDormService.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduStudentDormService.java @@ -1,13 +1,10 @@ package com.yida.data.user.service; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.common.core.entity.school.EduDormitory; -import com.yida.data.common.core.entity.school.EduDormitoryRoom; import com.yida.data.user.dto.ExchangeDormDTO; import com.yida.data.user.dto.PageStudentDormDTO; import com.yida.data.user.vo.StudentDormInfoVO; -import org.springframework.scheduling.annotation.Async; import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -53,17 +50,4 @@ public interface EduStudentDormService { * @param key */ void importDormRoom(MultipartFile file, Long schoolId, String key); - - @Async - void exportStudentDorm(PageStudentDormDTO dto, String key); - - /** - * 查询导出进度 - * - * @param key 导出唯一标识 - * @return java.lang.Object - * @author ZYJ - * @date 2023/12/14 16:25 - */ - Object getStudentDormExportInfo(String key); } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduStudentService.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduStudentService.java index 2ccd8cd..bd90453 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduStudentService.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduStudentService.java @@ -9,15 +9,14 @@ import com.yida.data.common.core.entity.user.EduStudent; import com.yida.data.common.core.entity.user.EduTeacherDept; import com.yida.data.school.dto.transaction.ListBuyStudentDTO; import com.yida.data.user.dto.ListStudentDTO; -import com.yida.data.user.dto.OutPageStudentDTO; import com.yida.data.user.dto.PageStudentDTO; import com.yida.data.user.dto.h5.BindStudentDTO; -import com.yida.data.user.excel.SelectStudentDormExportData; -import com.yida.data.user.vo.*; +import com.yida.data.user.vo.DownLoadPicVO; +import com.yida.data.user.vo.ListParentByStudentIdsVO; +import com.yida.data.user.vo.StaStudentVO; +import com.yida.data.user.vo.StudentClassInfoVO; import org.springframework.scheduling.annotation.Async; -import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; @@ -58,13 +57,8 @@ public interface EduStudentService extends IService { @Async(FebsConstant.ASYNC_POOL) void importStudent(String path, CurrentUser currentUser, Long schoolId, Long key, String filename); - @Async(FebsConstant.ASYNC_POOL) - void importCard(String path, CurrentUser currentUser, Long schoolId, Long key, String filename); - Integer importStaffHeartbeat(String username, Long key); - void importStudentUpdateType(MultipartFile file, Long schoolId); - List> listImportKey(String username); List listStudentByParent(Long parentId, String applyCode); @@ -78,8 +72,6 @@ public interface EduStudentService extends IService { void downloadTemplate(HttpServletResponse response, CurrentUser currentUser); - void downloadCardTemplate(HttpServletResponse response, CurrentUser currentUser); - List getParentByPhoneAndSchoolId(List phone, Long schoolId); /** @@ -127,18 +119,7 @@ public interface EduStudentService extends IService { List listStudentByClassId(ListStudentDTO dto); - @Async - void exportStudent(PageStudentDTO dto, String key); - - /** - * 查询导出进度 - * - * @param key 导出唯一标识 - * @return java.lang.Object - * @author ZYJ - * @date 2023/12/13 14:42 - */ - Object getStudentExportInfo(String key); + void exportStudent(PageStudentDTO dto, HttpServletResponse response); DownLoadPicVO exportStudentPic(PageStudentDTO dto); @@ -197,34 +178,5 @@ public interface EduStudentService extends IService { * @return */ List listBaseStudentNoJoin(EduStudent eduStudent); - - /** - * 分页查询学生列表数据 - * - * @param dto 分页查询学生列表数据请求类 - * @param request request - * @return com.baomidou.mybatisplus.core.metadata.IPage - * @author ZYJ - * @date 2023/2/20 16:41 - */ - IPage listStudentOutPage(OutPageStudentDTO dto, HttpServletRequest request); - - /** - * 更新学生缓存信息 - */ - @Async - void updateStudentCache(); - - List selectStudent(PageStudentDTO dto); - - /** - * 查询学生宿舍信息 - * - * @param dormRoomIds 宿舍id集合 - * @param selectStudentDormExportData 查询条件 - * @return java.util.List - * @author ZYJ - * @date 2023/12/13 18:17 - */ - List listStudentDorm(List dormRoomIds, SelectStudentDormExportData selectStudentDormExportData); + } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduTeacherDeptService.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduTeacherDeptService.java index d3411eb..f51e54d 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduTeacherDeptService.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduTeacherDeptService.java @@ -34,14 +34,4 @@ public interface EduTeacherDeptService extends IService { * @date 2022/7/15 17:49 */ List listTeacherDept(Long deptId, String type); - - /** - * 教师数量 - * - * @param schoolId 学校id - * @return long - * @author ZYJ - * @date 2023/4/24 16:58 - */ - long countTeacherNumber(Long schoolId); } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduUserDeptService.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduUserDeptService.java index f639d5c..d1b2448 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduUserDeptService.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/EduUserDeptService.java @@ -1,12 +1,11 @@ package com.yida.data.user.service; -import cn.hutool.json.JSONArray; -import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import com.yida.data.common.core.entity.QueryRequest; import com.yida.data.common.core.entity.constant.FebsConstant; import com.yida.data.common.core.entity.system.Dept; import com.yida.data.common.core.entity.system.EduApp; +import com.yida.data.common.core.entity.user.EduCollectData; import com.yida.data.common.core.entity.user.EduUserDept; import com.yida.data.common.core.entity.user.EduUserDeptStandardGrade; import com.yida.data.common.core.entity.user.enums.SectionTypeEnum; @@ -15,12 +14,9 @@ import com.yida.data.common.core.enums.IncludeTypeEnum; import com.yida.data.system.vo.ClassInfoVO; import com.yida.data.user.dto.*; import com.yida.data.user.vo.AllDeptInfoVO; -import com.yida.data.user.vo.ClassAttendanceDataVO; import com.yida.data.user.vo.CollectDataVO; -import com.yida.data.user.vo.TeacherDeptVO; import org.springframework.scheduling.annotation.Async; -import java.time.LocalDate; import java.util.List; import java.util.Map; @@ -66,11 +62,6 @@ public interface EduUserDeptService extends IService { List findVisibleClassByUserId(Long staffId); - - List findClassAttendanceByUserId(Long staffId, LocalDate date); - - List findClassAttendanceDetailByDeptId(Long deptId, Integer type, LocalDate date); - /** * 向下查询指定家校部门类型的家校部门id(可查询非直接子家校部门) 未毕业家校部门 * @@ -80,7 +71,7 @@ public interface EduUserDeptService extends IService { * @author ZYJ * @date 2022/7/11 16:08 */ - List findChildIdByParentAndType(List userDeptIdList, Integer type, List resultList); + List findChildIdByParentAndType(List userDeptIdList, Integer type); /** * 根据家校部门id查询所属学校 @@ -114,17 +105,6 @@ public interface EduUserDeptService extends IService { */ List getUserDeptTree(Long deptId); - - /** - * 家校部门树 - * - * @param deptIds 根节点Id - * @return java.util.List - * @author ZYJ - * @date 2021/11/11 13:40 - */ - List getUserDeptTree(List deptIds); - /** * 根据各层名称查询班级信息 * @@ -251,8 +231,6 @@ public interface EduUserDeptService extends IService { */ EduUserDept getParentByDeptId(Long deptId); - List getParentListByDeptId(Long deptId); - /** * 批量保存家校部门 * @@ -278,7 +256,7 @@ public interface EduUserDeptService extends IService { * @date 2021/11/30 13:47 */ @Async(FebsConstant.ASYNC_POOL) - void syncUserDept(Long schoolId); + void syncUserDept(); /** * 处理挂在学校下的家校部门 @@ -323,17 +301,4 @@ public interface EduUserDeptService extends IService { * @return */ AllDeptInfoVO findParentUp(Long deptId, Integer type); - - - List listClassByStaffId(Long staffId); - - /** - * 查询学校年级分布 - * - * @param schoolId 学校id - * @return cn.hutool.json.JSONArray - * @author ZYJ - * @date 2023/4/25 10:26 - */ - JSONArray getGradeDistribution(Long schoolId); } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/ImportWelcomeStudentService.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/ImportWelcomeStudentService.java index fc8bf40..dd618d8 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/ImportWelcomeStudentService.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/ImportWelcomeStudentService.java @@ -1,7 +1,9 @@ package com.yida.data.user.service; import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.user.dto.*; +import com.yida.data.user.dto.StudentErrorExportDTO; +import com.yida.data.user.dto.WelcomeInviteImportDTO; +import com.yida.data.user.dto.WelcomeStudentImportDTO; import org.ehcache.impl.internal.concurrent.ConcurrentHashMap; import java.util.List; @@ -45,19 +47,4 @@ public interface ImportWelcomeStudentService { Long schoolId, String uuid, CurrentUser currentUser); - - /** - * 保存校园卡号导入数据 - * - * @param concurrentHashMap 需要保存的用户数据 - * @param errorList 导入错误数据集合 - * @param schoolId 学校id - * @param currentUser 当前登录用户信息 - * @author ZYJ - * @date 2023/2/19 14:45 - */ - void saveCardExcelData(ConcurrentHashMap concurrentHashMap, - List errorList, - Long schoolId, - CurrentUser currentUser); } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/QywxSyncService.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/QywxSyncService.java index b131065..0f95a15 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/QywxSyncService.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/QywxSyncService.java @@ -21,5 +21,5 @@ public interface QywxSyncService { * 同步企业微信职工数据 */ @Async(FebsConstant.ASYNC_POOL) - void syncQywxStaff(Long schoolId); + void syncQywxStaff(); } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupDeviceServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupDeviceServiceImpl.java index 388900a..d7c845d 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupDeviceServiceImpl.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupDeviceServiceImpl.java @@ -4,27 +4,18 @@ import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yida.data.attendance.feign.RemoteAttendanceDeviceService; -import com.yida.data.attendance.feign.RemoteAttendanceStrategyService; import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; import com.yida.data.common.core.entity.user.EduFaceGroupDevice; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategy; -import com.yida.data.common.core.entity.user.EduFaceGroupUser; import com.yida.data.user.dto.BindFaceGroupDeviceDTO; import com.yida.data.user.mapper.EduFaceGroupDeviceMapper; import com.yida.data.user.service.EduFaceGroupDeviceService; -import com.yida.data.user.service.EduFaceGroupStrategyService; -import com.yida.data.user.service.EduFaceGroupUserService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.context.annotation.Lazy; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; -import java.util.Objects; import java.util.stream.Collectors; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; /** * 人脸组、设备组关系 Service实现 @@ -32,23 +23,13 @@ import java.util.stream.Collectors; * @author zhanghaijun * @date 2021-06-16 14:15:08 */ -@Slf4j @Service @RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) +@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public class EduFaceGroupDeviceServiceImpl extends ServiceImpl - implements EduFaceGroupDeviceService { - - @Lazy - @Resource - private EduFaceGroupUserService eduFaceGroupUserService; - - @Lazy - @Resource - private EduFaceGroupStrategyService eduFaceGroupStrategyService; + implements EduFaceGroupDeviceService { private final RemoteAttendanceDeviceService remoteAttendanceDeviceService; - private final RemoteAttendanceStrategyService remoteAttendanceStrategyService; @Override @Transactional @@ -59,44 +40,18 @@ public class EduFaceGroupDeviceServiceImpl extends ServiceImpl return x; }).collect(Collectors.toList()); saveBatch(saveList); - // 查询是否有策略信息 - EduFaceGroupStrategy groupStrategy = eduFaceGroupStrategyService.getOne(Wrappers.lambdaQuery(new EduFaceGroupStrategy()) - .eq(EduFaceGroupStrategy::getFaceGroupId, dto.getFaceGroupId())); - if (Objects.isNull(groupStrategy)) { - return; - } - // 处理设备策略信息 - groupStrategy.setFaceGroupId(dto.getFaceGroupId()); - // 查询关联的设备信息 - List list = list(Wrappers.lambdaQuery(new EduFaceGroupDevice()) - .eq(EduFaceGroupDevice::getFaceGroupId, dto.getFaceGroupId())); - if (CollUtil.isEmpty(list)) { - log.info("当前人脸组策略没有对应的设备信息: {}", dto.getFaceGroupId()); - return; - } - // 设置设备信息 - groupStrategy.setGroupDeviceList(list); - List groupUserList = eduFaceGroupUserService.list(Wrappers.lambdaQuery(new EduFaceGroupUser()) - .eq(EduFaceGroupUser::getFaceGroupId, groupStrategy.getFaceGroupId()) - // 已下发人脸 - .eq(EduFaceGroupUser::getStatus, 1) - ); - groupStrategy.setGroupUserList(groupUserList); - // 设置人员信息 - remoteAttendanceStrategyService.deleteAndSaveStrategy(groupStrategy); } @Override public List listFaceGroupDevice(Long faceGroupId) { List list = list( - Wrappers.lambdaQuery(new EduFaceGroupDevice()).eq(EduFaceGroupDevice::getFaceGroupId, faceGroupId)); + Wrappers.lambdaQuery(new EduFaceGroupDevice()).eq(EduFaceGroupDevice::getFaceGroupId, faceGroupId)); if (CollUtil.isNotEmpty(list)) { list = list.stream().map(x -> { EduFaceGroupDevice device = new EduFaceGroupDevice(); device.setDeviceId(x.getDeviceId()); device.setDeviceName(x.getDeviceName()); device.setType(x.getType()); - device.setState(x.getState()); return device; }).collect(Collectors.toList()); } @@ -108,15 +63,15 @@ public class EduFaceGroupDeviceServiceImpl extends ServiceImpl List res = new ArrayList<>(); List deviceAndGroup = listFaceGroupDevice(faceGroupId); if (CollUtil.isNotEmpty(deviceAndGroup)) { - List deviceIds = deviceAndGroup.stream().filter(x -> x.getType() == 0).map(EduFaceGroupDevice::getDeviceId) - .collect(Collectors.toList()); - List deviceGroupIds = deviceAndGroup.stream().filter(x -> x.getType() == 1).map(EduFaceGroupDevice::getDeviceId) - .collect(Collectors.toList()); + List deviceIds = deviceAndGroup.stream().filter(x -> x.getType() == 0).map(x -> x.getDeviceId()) + .collect(Collectors.toList()); + List deviceGroupIds = deviceAndGroup.stream().filter(x -> x.getType() == 1).map(x -> x.getDeviceId()) + .collect(Collectors.toList()); if (CollUtil.isNotEmpty(deviceGroupIds)) { // 根据设备组查询设备 List deviceListByGroup = remoteAttendanceDeviceService - .listDeviceByGroup(deviceGroupIds.toArray(new Long[0])).getData(); - res.addAll(deviceListByGroup.stream().map(EduAttendanceDevice::getId).collect(Collectors.toList())); + .listDeviceByGroup(deviceGroupIds.toArray(new Long[0])).getData(); + res.addAll(deviceListByGroup.stream().map(x -> x.getId()).collect(Collectors.toList())); } if (CollUtil.isNotEmpty(deviceIds)) { res.addAll(deviceIds); @@ -124,11 +79,4 @@ public class EduFaceGroupDeviceServiceImpl extends ServiceImpl } return res; } - - @Override - public List listFaceGroupOnlineDevice(Long faceGroupId) { - List res = new ArrayList<>(); - - return res; - } } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupServiceImpl.java index 9f30722..1d59710 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupServiceImpl.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupServiceImpl.java @@ -1,28 +1,28 @@ package com.yida.data.user.service.impl; -import cc.mrbird.febs.common.redis.service.RedisService; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yida.data.attendance.feign.RemoteAttendanceDeviceService; -import com.yida.data.attendance.feign.RemoteAttendanceStrategyService; import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; import com.yida.data.common.core.entity.attendance.EduAttendanceDeviceGroup; -import com.yida.data.common.core.entity.user.*; +import com.yida.data.common.core.entity.user.EduFaceGroup; +import com.yida.data.common.core.entity.user.EduFaceGroupDevice; +import com.yida.data.common.core.entity.user.EduFaceGroupUser; import com.yida.data.user.dto.DelFaceGroupUserDTO; +import com.yida.data.user.mapper.EduFaceGroupDeviceMapper; import com.yida.data.user.mapper.EduFaceGroupMapper; -import com.yida.data.user.service.*; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - +import com.yida.data.user.service.EduFaceGroupService; +import com.yida.data.user.service.EduFaceGroupUserService; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; /** * 人脸组信息 Service实现 @@ -30,27 +30,19 @@ import java.util.stream.Collectors; * @author zhanghaijun * @date 2021-06-16 14:09:44 */ -@Slf4j @Service @RequiredArgsConstructor @Transactional public class EduFaceGroupServiceImpl extends ServiceImpl - implements EduFaceGroupService { + implements EduFaceGroupService { private final EduFaceGroupUserService eduFaceGroupUserService; - private final EduFaceGroupDeviceService eduFaceGroupDeviceService; - private final EduFaceGroupStrategyService eduFaceGroupStrategyService; - private final EduFaceGroupStrategyPlanService eduFaceGroupStrategyPlanService; - private final EduFaceGroupStrategyPlanTimeService eduFaceGroupStrategyPlanTimeService; - + private final EduFaceGroupDeviceMapper eduFaceGroupDeviceMapper; private final RemoteAttendanceDeviceService remoteAttendanceDeviceService; - private final RemoteAttendanceStrategyService remoteAttendanceStrategyService; - - private final RedisService redisService; @Override - public IPage listFaceGroupPage(Page page, String groupName, Long schoolId, Long groupId) { - IPage res = baseMapper.listFaceGroupPage(page, groupName, schoolId, groupId); + public IPage listFaceGroupPage(Page page, String groupName, Long schoolId) { + IPage res = baseMapper.listFaceGroupPage(page, groupName, schoolId); // 获取所有设备和设备组id List deviceIds = new ArrayList<>(); List groupIds = new ArrayList<>(); @@ -67,25 +59,25 @@ public class EduFaceGroupServiceImpl extends ServiceImpl } // 查出所有的设备和设备组 List devices = remoteAttendanceDeviceService.listDeviceById(deviceIds.toArray(new Long[0])) - .getData(); + .getData(); List groups = remoteAttendanceDeviceService.listDeviceGroupById(groupIds.toArray(new Long[0])) - .getData(); + .getData(); // 按id分组方便拿数据 Map> deviceMap = devices.stream() - .collect(Collectors.groupingBy(EduAttendanceDevice::getId)); + .collect(Collectors.groupingBy(EduAttendanceDevice::getId)); Map> groupMap = groups.stream() - .collect(Collectors.groupingBy(EduAttendanceDeviceGroup::getId)); + .collect(Collectors.groupingBy(EduAttendanceDeviceGroup::getId)); for (EduFaceGroup record : res.getRecords()) { if (CollUtil.isNotEmpty(record.getDeviceList())) { for (EduFaceGroupDevice groupDevice : record.getDeviceList()) { if (groupDevice.getType() == 0 - && CollUtil.isNotEmpty(deviceMap) - && deviceMap.containsKey(groupDevice.getDeviceId())) { + && CollUtil.isNotEmpty(deviceMap) + && deviceMap.containsKey(groupDevice.getDeviceId())) { groupDevice.setDeviceName(deviceMap.get(groupDevice.getDeviceId()).get(0).getName()); groupDevice.setState(deviceMap.get(groupDevice.getDeviceId()).get(0).getState()); } else if (groupDevice.getType() == 1 - && CollUtil.isNotEmpty(groupMap) - && groupMap.containsKey(groupDevice.getDeviceId())) { + && CollUtil.isNotEmpty(groupMap) + && groupMap.containsKey(groupDevice.getDeviceId())) { groupDevice.setDeviceName(groupMap.get(groupDevice.getDeviceId()).get(0).getGroupName()); } } @@ -94,50 +86,21 @@ public class EduFaceGroupServiceImpl extends ServiceImpl return res; } + @Override public void removeFaceGroup(Long groupId) { // 删除人脸关联信息 删除下发记录 删除设备上的人脸 List faceGroupUserList = - eduFaceGroupUserService - .list(Wrappers.lambdaQuery(new EduFaceGroupUser()).eq(EduFaceGroupUser::getFaceGroupId, groupId)); + eduFaceGroupUserService + .list(Wrappers.lambdaQuery(new EduFaceGroupUser()).eq(EduFaceGroupUser::getFaceGroupId, groupId)); if (CollUtil.isNotEmpty(faceGroupUserList)) { // 删除人脸相关信息 DelFaceGroupUserDTO dto = new DelFaceGroupUserDTO(); dto.setFaceGroupId(groupId); - dto.setFaceIds(faceGroupUserList.stream().map(EduFaceGroupUser::getId).collect(Collectors.toList())); + dto.setFaceIds(faceGroupUserList.stream().map(x -> x.getId()).collect(Collectors.toList())); eduFaceGroupUserService.delUserBatch(dto); } - // 删除组 + //删除组 removeById(groupId); - // TODO 2022/12/21 此处需要删除对应通行策略以及人员绑定关系,附带对应的人员对应策略缓存信息 - // 删除策略 - eduFaceGroupStrategyService.remove(Wrappers.lambdaQuery(new EduFaceGroupStrategy()) - .eq(EduFaceGroupStrategy::getFaceGroupId, groupId)); - // 删除策略附表信息 - eduFaceGroupStrategyPlanService.remove(Wrappers.lambdaQuery(new EduFaceGroupStrategyPlan()) - .eq(EduFaceGroupStrategyPlan::getFaceGroupId, groupId)); - eduFaceGroupStrategyPlanTimeService.remove(Wrappers.lambdaQuery(new EduFaceGroupStrategyPlanTime()) - .eq(EduFaceGroupStrategyPlanTime::getFaceGroupId, groupId)); - // 查询关联的设备信息 - List list = eduFaceGroupDeviceService.list( - Wrappers.lambdaQuery(new EduFaceGroupDevice()).eq(EduFaceGroupDevice::getFaceGroupId, groupId)); - if (CollUtil.isEmpty(list)) { - return; - } - EduFaceGroupStrategy eduFaceGroupStrategy = new EduFaceGroupStrategy(); - eduFaceGroupStrategy.setFaceGroupId(groupId); - eduFaceGroupStrategy.setGroupDeviceList(list); - remoteAttendanceStrategyService.deleteStrategy(eduFaceGroupStrategy); -// // 移除对应的缓存 -// if (CollUtil.isNotEmpty(faceGroupUserList)) { -// for (EduFaceGroupDevice device : list) { -// for (EduFaceGroupUser groupUser : faceGroupUserList) { -// log.info("删除的用户数据===device: {}, user: {}", device, groupUser); -// redisService.hdel(CachePrefixConstant.USER_ATTENDANCE_STRATEGY + -// groupUser.getUserId().toString() + groupUser.getUserType().toString(), String.valueOf(groupId)); -// } -// } -// -// } } } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategyPlanServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategyPlanServiceImpl.java deleted file mode 100644 index 69c1898..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategyPlanServiceImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.yida.data.user.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategyPlan; -import com.yida.data.user.mapper.EduFaceGroupStrategyPlanMapper; -import com.yida.data.user.service.EduFaceGroupStrategyPlanService; -import com.yida.data.user.vo.StrategyPlanVO; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 人脸组-策略-通行计划Service实现 - * - * @author ZYJ - * @date 2022-12-12 11:36:19 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduFaceGroupStrategyPlanServiceImpl extends ServiceImpl - implements EduFaceGroupStrategyPlanService { - - @Override - public List listStrategyPlan(Long strategyId) { - return baseMapper.listStrategyPlan(strategyId); - } -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategyPlanTimeServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategyPlanTimeServiceImpl.java deleted file mode 100644 index e83ebad..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategyPlanTimeServiceImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.user.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategyPlanTime; -import com.yida.data.user.mapper.EduFaceGroupStrategyPlanTimeMapper; -import com.yida.data.user.service.EduFaceGroupStrategyPlanTimeService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 人脸组-策略-通行计划-时间Service实现 - * - * @author ZYJ - * @date 2022-12-12 11:36:19 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduFaceGroupStrategyPlanTimeServiceImpl extends ServiceImpl - implements EduFaceGroupStrategyPlanTimeService { - - -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategyServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategyServiceImpl.java deleted file mode 100644 index a50738f..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategyServiceImpl.java +++ /dev/null @@ -1,241 +0,0 @@ -package com.yida.data.user.service.impl; - -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.feign.RemoteAttendanceStrategyService; -import com.yida.data.common.core.entity.user.*; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.user.dto.*; -import com.yida.data.user.mapper.EduFaceGroupStrategyMapper; -import com.yida.data.user.service.*; -import com.yida.data.user.vo.StrategyInfoVO; -import com.yida.data.user.vo.StrategyPlanVO; -import com.yida.data.user.vo.StrategySpecialDateVO; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.context.annotation.Lazy; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; - -/** - * 人脸组-策略Service实现 - * - * @author ZYJ - * @date 2022-12-12 11:04:39 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduFaceGroupStrategyServiceImpl extends ServiceImpl - implements EduFaceGroupStrategyService { - - @Lazy - @Resource - private EduFaceGroupUserService eduFaceGroupUserService; - - private final EduFaceGroupDeviceService eduFaceGroupDeviceService; - private final EduFaceGroupStrategyPlanService eduFaceGroupStrategyPlanService; - private final EduFaceGroupStrategyPlanTimeService eduFaceGroupStrategyPlanTimeService; - private final EduFaceGroupStrategySpecialDateService eduFaceGroupStrategySpecialDateService; - private final EduFaceGroupStrategySpecialTimeService eduFaceGroupStrategySpecialTimeService; - - private final RemoteAttendanceStrategyService remoteAttendanceStrategyService; - - @Override - public StrategyInfoVO getStrategyInfo(Long faceGroupId) { - EduFaceGroupStrategy groupStrategy = getOne(Wrappers.lambdaQuery(new EduFaceGroupStrategy()) - .eq(EduFaceGroupStrategy::getFaceGroupId, faceGroupId)); - // 返回数据 - StrategyInfoVO strategyInfoVO = new StrategyInfoVO(); - if (Objects.nonNull(groupStrategy)) { - BeanUtils.copyProperties(groupStrategy, strategyInfoVO); - strategyInfoVO.setStrategyId(groupStrategy.getId()); - // 查询人脸组-策略-通行计划 - List planList = eduFaceGroupStrategyPlanService.listStrategyPlan(groupStrategy.getId()); - strategyInfoVO.setPlanList(planList); - // 查询特殊日期 - List specialDateList = eduFaceGroupStrategySpecialDateService.listStrategySpecialDate(groupStrategy.getId()); - strategyInfoVO.setSpecialList(specialDateList); - // 处理周一到周日的唯一编码 - if (Objects.nonNull(groupStrategy.getMondayPlanId())) { - // 周一 - strategyInfoVO.setMondayUniqueCode( - eduFaceGroupStrategyPlanService.getById(groupStrategy.getMondayPlanId()).getUniqueCode()); - } - if (Objects.nonNull(groupStrategy.getTuesdayPlanId())) { - // 周二 - strategyInfoVO.setTuesdayUniqueCode( - eduFaceGroupStrategyPlanService.getById(groupStrategy.getTuesdayPlanId()).getUniqueCode()); - } - if (Objects.nonNull(groupStrategy.getWednesdayPlanId())) { - // 周三 - strategyInfoVO.setWednesdayUniqueCode( - eduFaceGroupStrategyPlanService.getById(groupStrategy.getWednesdayPlanId()).getUniqueCode()); - } - if (Objects.nonNull(groupStrategy.getThursdayPlanId())) { - // 周四 - strategyInfoVO.setThursdayUniqueCode( - eduFaceGroupStrategyPlanService.getById(groupStrategy.getThursdayPlanId()).getUniqueCode()); - } - if (Objects.nonNull(groupStrategy.getFridayPlanId())) { - // 周五 - strategyInfoVO.setFridayUniqueCode( - eduFaceGroupStrategyPlanService.getById(groupStrategy.getFridayPlanId()).getUniqueCode()); - } - if (Objects.nonNull(groupStrategy.getSaturdayPlanId())) { - // 周六 - strategyInfoVO.setSaturdayUniqueCode( - eduFaceGroupStrategyPlanService.getById(groupStrategy.getSaturdayPlanId()).getUniqueCode()); - } - if (Objects.nonNull(groupStrategy.getSundayPlanId())) { - // 周日 - strategyInfoVO.setSundayUniqueCode( - eduFaceGroupStrategyPlanService.getById(groupStrategy.getSundayPlanId()).getUniqueCode()); - } - } - return strategyInfoVO; - } - - @Override - public void saveStrategyInfo(StrategySaveDTO strategySaveDTO) { - // 查询关联的设备信息 - List list = eduFaceGroupDeviceService.list( - Wrappers.lambdaQuery(new EduFaceGroupDevice()).eq(EduFaceGroupDevice::getFaceGroupId, strategySaveDTO.getFaceGroupId())); - if (CollUtil.isEmpty(list)) { - throw new FebsException("请关联对应的设备信息"); - } - - EduFaceGroupStrategy groupStrategy = new EduFaceGroupStrategy(); - BeanUtils.copyProperties(strategySaveDTO, groupStrategy); - groupStrategy.setId(strategySaveDTO.getStrategyId()); - - if (Objects.isNull(strategySaveDTO.getStrategyId())) { - // 新增 - } else { - // 编辑, 需要删除对应的附表数据 - eduFaceGroupStrategyPlanService.remove(Wrappers.lambdaQuery(new EduFaceGroupStrategyPlan()) - .eq(EduFaceGroupStrategyPlan::getFaceGroupStrategyId, strategySaveDTO.getStrategyId())); - eduFaceGroupStrategyPlanTimeService.remove(Wrappers.lambdaQuery(new EduFaceGroupStrategyPlanTime()) - .eq(EduFaceGroupStrategyPlanTime::getFaceGroupStrategyId, strategySaveDTO.getStrategyId())); - - eduFaceGroupStrategySpecialDateService.remove(Wrappers.lambdaQuery(new EduFaceGroupStrategySpecialDate()) - .eq(EduFaceGroupStrategySpecialDate::getFaceGroupStrategyId, strategySaveDTO.getStrategyId())); - eduFaceGroupStrategySpecialTimeService.remove(Wrappers.lambdaQuery(new EduFaceGroupStrategySpecialTime()) - .eq(EduFaceGroupStrategySpecialTime::getFaceGroupStrategyId, strategySaveDTO.getStrategyId())); - } - saveOrUpdate(groupStrategy); - - if (CollUtil.isNotEmpty(strategySaveDTO.getPlanList())) { - // 处理通行计划 - for (StrategyPlanSaveDTO planDTO : strategySaveDTO.getPlanList()) { - EduFaceGroupStrategyPlan strategyPlan = new EduFaceGroupStrategyPlan(); - strategyPlan.setFaceGroupId(strategySaveDTO.getFaceGroupId()); - strategyPlan.setFaceGroupStrategyId(groupStrategy.getId()); - strategyPlan.setUniqueCode(planDTO.getUniqueCode()); - eduFaceGroupStrategyPlanService.save(strategyPlan); - - List planTimeList = new ArrayList<>(); - // 处理时间 - for (StrategyPlanTimeSaveDTO timeDTO : planDTO.getPlanTimeList()) { - EduFaceGroupStrategyPlanTime strategyPlanTime = new EduFaceGroupStrategyPlanTime(); - strategyPlanTime.setFaceGroupId(strategySaveDTO.getFaceGroupId()); - strategyPlanTime.setFaceGroupStrategyId(groupStrategy.getId()); - strategyPlanTime.setFaceGroupStrategyPlanId(strategyPlan.getId()); - strategyPlanTime.setPlanStartTime(timeDTO.getPlanStartTime()); - strategyPlanTime.setPlanEndTime(timeDTO.getPlanEndTime()); - planTimeList.add(strategyPlanTime); - - eduFaceGroupStrategyPlanTimeService.save(strategyPlanTime); - } - - // 处理一周的通行计划 - if (strategyPlan.getUniqueCode().equals(strategySaveDTO.getMondayUniqueCode())) { - // 周一 - groupStrategy.setMondayPlanId(strategyPlan.getId()); - groupStrategy.setMondayTimeList(planTimeList); - } - if (strategyPlan.getUniqueCode().equals(strategySaveDTO.getTuesdayUniqueCode())) { - // 周二 - groupStrategy.setTuesdayPlanId(strategyPlan.getId()); - groupStrategy.setTuesdayTimeList(planTimeList); - } - if (strategyPlan.getUniqueCode().equals(strategySaveDTO.getWednesdayUniqueCode())) { - // 周三 - groupStrategy.setWednesdayPlanId(strategyPlan.getId()); - groupStrategy.setWednesdayTimeList(planTimeList); - } - if (strategyPlan.getUniqueCode().equals(strategySaveDTO.getThursdayUniqueCode())) { - // 周四 - groupStrategy.setThursdayPlanId(strategyPlan.getId()); - groupStrategy.setThursdayTimeList(planTimeList); - } - if (strategyPlan.getUniqueCode().equals(strategySaveDTO.getFridayUniqueCode())) { - // 周五 - groupStrategy.setFridayPlanId(strategyPlan.getId()); - groupStrategy.setFridayTimeList(planTimeList); - } - if (strategyPlan.getUniqueCode().equals(strategySaveDTO.getSaturdayUniqueCode())) { - // 周六 - groupStrategy.setSaturdayPlanId(strategyPlan.getId()); - groupStrategy.setSaturdayTimeList(planTimeList); - } - if (strategyPlan.getUniqueCode().equals(strategySaveDTO.getSundayUniqueCode())) { - // 周日 - groupStrategy.setSundayPlanId(strategyPlan.getId()); - groupStrategy.setSundayTimeList(planTimeList); - } - } - } - List specialDateList = new ArrayList<>(); - if (CollUtil.isNotEmpty(strategySaveDTO.getSpecialList())) { - // 处理特殊日期 - for (StrategySpecialDateSaveDTO specialDateSaveDTO : strategySaveDTO.getSpecialList()) { - if (Objects.isNull(specialDateSaveDTO.getSpecialStartDate())) { - continue; - } - EduFaceGroupStrategySpecialDate specialDate = new EduFaceGroupStrategySpecialDate(); - specialDate.setFaceGroupId(strategySaveDTO.getFaceGroupId()); - specialDate.setFaceGroupStrategyId(groupStrategy.getId()); - specialDate.setSpecialStartDate(specialDateSaveDTO.getSpecialStartDate()); - specialDate.setSpecialEndDate(specialDateSaveDTO.getSpecialEndDate()); - eduFaceGroupStrategySpecialDateService.save(specialDate); - // 处理特殊日期时间 - List specialTimeList = new ArrayList<>(); - for (StrategySpecialTimeSaveDTO specialTimeSaveDTO : specialDateSaveDTO.getSpecialTimeList()) { - EduFaceGroupStrategySpecialTime specialTime = new EduFaceGroupStrategySpecialTime(); - specialTime.setFaceGroupId(strategySaveDTO.getFaceGroupId()); - specialTime.setFaceGroupStrategyId(groupStrategy.getId()); - specialTime.setFaceGroupStrategySpecialDateId(specialDate.getId()); - specialTime.setSpecialStartTime(specialTimeSaveDTO.getSpecialStartTime()); - specialTime.setSpecialEndTime(specialTimeSaveDTO.getSpecialEndTime()); - eduFaceGroupStrategySpecialTimeService.save(specialTime); - specialTimeList.add(specialTime); - } - specialDate.setSpecialTimeList(specialTimeList); - specialDateList.add(specialDate); - } - } - groupStrategy.setSpecialDateList(specialDateList); - // 处理一周的通行计划 - baseMapper.updateWeekPlan(groupStrategy); - // 设置设备信息 - groupStrategy.setGroupDeviceList(list); - // 设置人员信息 - List groupUserList = eduFaceGroupUserService.list(Wrappers.lambdaQuery(new EduFaceGroupUser()) - .eq(EduFaceGroupUser::getFaceGroupId, groupStrategy.getFaceGroupId()) - // 查询已下发人脸 - .eq(EduFaceGroupUser::getStatus, 1) - ); - groupStrategy.setGroupUserList(groupUserList); - // 保存策略并绑定人员信息 - remoteAttendanceStrategyService.saveStrategyAndUser(groupStrategy); - } -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategySpecialDateServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategySpecialDateServiceImpl.java deleted file mode 100644 index 5d7eaf7..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategySpecialDateServiceImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.yida.data.user.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategySpecialDate; -import com.yida.data.user.mapper.EduFaceGroupStrategySpecialDateMapper; -import com.yida.data.user.service.EduFaceGroupStrategySpecialDateService; -import com.yida.data.user.vo.StrategySpecialDateVO; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -/** - * 人脸组-策略-特殊日期Service实现 - * - * @author ZYJ - * @date 2022-12-26 13:57:32 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduFaceGroupStrategySpecialDateServiceImpl extends ServiceImpl - implements EduFaceGroupStrategySpecialDateService { - - @Override - public List listStrategySpecialDate(Long strategyId) { - return baseMapper.listStrategySpecialDate(strategyId); - } -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategySpecialTimeServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategySpecialTimeServiceImpl.java deleted file mode 100644 index 6e857c9..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupStrategySpecialTimeServiceImpl.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.yida.data.user.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.user.EduFaceGroupStrategySpecialTime; -import com.yida.data.user.mapper.EduFaceGroupStrategySpecialTimeMapper; -import com.yida.data.user.service.EduFaceGroupStrategySpecialTimeService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 人脸组-策略-特殊日期-时间Service实现 - * - * @author ZYJ - * @date 2022-12-26 13:57:32 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduFaceGroupStrategySpecialTimeServiceImpl extends ServiceImpl - implements EduFaceGroupStrategySpecialTimeService { - - - -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupUserServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupUserServiceImpl.java index f0465cf..78043d6 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupUserServiceImpl.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduFaceGroupUserServiceImpl.java @@ -2,7 +2,6 @@ package com.yida.data.user.service.impl; import cc.mrbird.febs.common.redis.service.RedisService; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -11,40 +10,28 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yida.data.attendance.dto.IssuedFaceDTO; import com.yida.data.attendance.dto.RemoveFaceDTO; import com.yida.data.attendance.feign.RemoteAttendanceDeviceService; -import com.yida.data.attendance.feign.RemoteAttendanceStrategyService; import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.Dict; import com.yida.data.common.core.entity.attendance.EduAttendanceDevice; import com.yida.data.common.core.entity.constant.CachePrefixConstant; import com.yida.data.common.core.entity.constant.LockPrefixConstant; import com.yida.data.common.core.entity.user.*; import com.yida.data.common.core.enums.DeviceType; -import com.yida.data.common.core.enums.IssuedTypeEnum; -import com.yida.data.common.core.exception.FebsException; import com.yida.data.common.core.utils.Asserts; -import com.yida.data.common.service.CommonService; import com.yida.data.user.dto.*; import com.yida.data.user.mapper.EduFaceGroupUserMapper; -import com.yida.data.user.mapper.EduStudentApplyMapper; -import com.yida.data.user.mapper.EduStudentMapper; import com.yida.data.user.mapper.EduUserDeviceMapper; import com.yida.data.user.service.EduFaceGroupDeviceService; -import com.yida.data.user.service.EduFaceGroupStrategyService; import com.yida.data.user.service.EduFaceGroupUserService; -import com.yida.data.user.service.EduStudentService; import com.yida.data.user.service.EduUserDeptService; -import com.yida.data.user.vo.OutPageStudentVO; import com.yida.data.user.vo.UserFacePageVO; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import javax.annotation.Resource; import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -53,7 +40,6 @@ import java.util.stream.Collectors; * @author zhanghaijun * @date 2021-06-16 14:13:31 */ -@Slf4j @Service @RequiredArgsConstructor @Transactional @@ -66,31 +52,20 @@ public class EduFaceGroupUserServiceImpl extends ServiceImpl private final RemoteAttendanceDeviceService remoteAttendanceDeviceService; private final EduUserDeptService eduUserDeptService; - private final EduFaceGroupStrategyService eduFaceGroupStrategyService; - private final RemoteAttendanceStrategyService remoteAttendanceStrategyService; - - private final EduStudentMapper eduStudentMapper; - private final EduStudentApplyMapper eduStudentApplyMapper; - private final CommonService commonService; - - @Override public IPage listUserFacePage(FaceGroupUserPageDTO dto) { return baseMapper.listUserFacePage(dto.toPage(), dto); } @Override - public IPage listStudentNotImport( - Page page, Long deptId, Integer type, Integer sex, - String keyword, Long schoolId, Long groupId, Long dormId, Long dormRoomId, - Long campusId, Long sectionId, Long gradeId, Long classId) { -// List classIds = null; -// if (deptId != null) { -// Long[] deptIds = new Long[]{deptId}; -// classId = eduUserDeptService.listClassByDept(Arrays.asList(deptIds)); -// } - return baseMapper.listStudentNotImport(page, type, sex, keyword, schoolId, groupId, dormId, dormRoomId, - campusId, sectionId, gradeId, classId); + public IPage listStudentNotImport(Page page, Long deptId, Integer type, Integer sex, + String keyword, Long schoolId, Long groupId, Long dormId, Long dormRoomId) { + List classId = null; + if (deptId != null) { + Long[] deptIds = new Long[]{deptId}; + classId = this.eduUserDeptService.listClassByDept(Arrays.asList(deptIds)); + } + return baseMapper.listStudentNotImport(page, classId, type, sex, keyword, schoolId, groupId, dormId, dormRoomId); } @Override @@ -100,12 +75,9 @@ public class EduFaceGroupUserServiceImpl extends ServiceImpl } @Override - public void saveAllStudent(Integer type, Integer sex, String keyword, Long schoolId, Long groupId, - Long dormId, Long dormRoomId, - Long campusId, Long sectionId, Long gradeId, Long classId) { - List studentList = baseMapper - .listStudentNotImport(type, sex, keyword, schoolId, groupId, dormId, dormRoomId, - campusId, sectionId, gradeId, classId); + public void saveAllStudent(List classId, Integer type, Integer sex, String keyword, Long schoolId, Long groupId, + Long dormId, Long dormRoomId) { + List studentList = baseMapper.listStudentNotImport(classId, type, sex, keyword, schoolId, groupId, dormId, dormRoomId); if (CollUtil.isNotEmpty(studentList)) { List saveUser = new ArrayList<>(); for (Long userId : studentList.stream().map(EduStudent::getId).collect(Collectors.toList())) { @@ -125,7 +97,7 @@ public class EduFaceGroupUserServiceImpl extends ServiceImpl List staffList = baseMapper.listStaffNotImport(sex, keyword, schoolId, groupId); if (CollUtil.isNotEmpty(staffList)) { List saveUser = new ArrayList<>(); - for (Long userId : staffList.stream().map(EduStaff::getId).collect(Collectors.toList())) { + for (Long userId : staffList.stream().map(x -> x.getId()).collect(Collectors.toList())) { EduFaceGroupUser eduFaceGroupUser = new EduFaceGroupUser(); eduFaceGroupUser.setUserId(userId); eduFaceGroupUser.setUserType(1); @@ -158,8 +130,6 @@ public class EduFaceGroupUserServiceImpl extends ServiceImpl List alreadyIssued = list( Wrappers.lambdaQuery(new EduFaceGroupUser()).in(EduFaceGroupUser::getId, dto.getFaceIds()) .eq(EduFaceGroupUser::getStatus, 1)); - List userList = list( - Wrappers.lambdaQuery(new EduFaceGroupUser()).in(EduFaceGroupUser::getId, dto.getFaceIds())); // 删除和人脸组的关联关系 removeByIds(dto.getFaceIds()); // 已下发的人要删除下发记录 @@ -175,7 +145,7 @@ public class EduFaceGroupUserServiceImpl extends ServiceImpl // 删除用户在此人脸组的下发记录 for (Map.Entry> entry : issuedMap.entrySet()) { Integer userType = entry.getKey(); - List userIds = entry.getValue().stream().map(EduFaceGroupUser::getUserId).collect(Collectors.toList()); + List userIds = entry.getValue().stream().map(x -> x.getUserId()).collect(Collectors.toList()); LambdaQueryWrapper condition = Wrappers.lambdaQuery(new EduUserDevice()) .in(EduUserDevice::getUserId, userIds) .eq(EduUserDevice::getUserType, userType); @@ -192,26 +162,6 @@ public class EduFaceGroupUserServiceImpl extends ServiceImpl remoteAttendanceDeviceService.removeFace(removeFaceDTO); } } - // 查询关联的设备信息 - List list = eduFaceGroupDeviceService.list( - Wrappers.lambdaQuery(new EduFaceGroupDevice()).eq(EduFaceGroupDevice::getFaceGroupId, dto.getFaceGroupId())); - if (CollUtil.isEmpty(list)) { - return; - } - - if (CollUtil.isNotEmpty(alreadyIssued)) { - // 删除对应的人员-策略关系 - EduFaceGroupStrategy eduFaceGroupStrategy = new EduFaceGroupStrategy(); - eduFaceGroupStrategy.setFaceGroupId(dto.getFaceGroupId()); - eduFaceGroupStrategy.setGroupDeviceList(list); - eduFaceGroupStrategy.setGroupUserList(userList); - remoteAttendanceStrategyService.unBindUserStrategy(eduFaceGroupStrategy); -// // 移除对应的缓存 -// for (EduFaceGroupUser groupUser : userList) { -// redisService.hdel(CachePrefixConstant.USER_ATTENDANCE_STRATEGY + -// groupUser.getUserId().toString() + groupUser.getUserType().toString(), String.valueOf(dto.getFaceGroupId())); -// } - } } @Override @@ -253,59 +203,18 @@ public class EduFaceGroupUserServiceImpl extends ServiceImpl ? baseMapper.listUserFace(dto.getIds()) : baseMapper.listUserFaceByGroup(dto.getFaceGroupId()); Asserts.isTrue(CollUtil.isNotEmpty(faceList), "请上传人脸!"); - // 更新下发状态 update(Wrappers.lambdaUpdate(new EduFaceGroupUser()) - .in(EduFaceGroupUser::getId, faceList.stream().map(EduUserFace::getFaceGroupUserId).collect(Collectors.toList())) + .in(EduFaceGroupUser::getId, faceList.stream().map(x -> x.getFaceGroupUserId()).collect(Collectors.toList())) .set(EduFaceGroupUser::getStatus, EduFaceGroupUser.ISSUING)); - Dict dict = commonService.getDictByTypeAndValueOrLabel("apply_type", null, "食堂消费"); - DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); for (EduUserFace face : faceList) { -// log.info("下发人脸信息:{}", face); face.setFaceGroupUserId(dto.getFaceGroupId()); - //添加学生IC卡号,是否是会员 - if (face.getUserType() == 0) { -// EduStudent student = (EduStudent) redisService -// .hget(CachePrefixConstant.STUDENT_DATA, face.getUserId().toString()); -// if (ObjectUtil.isNull(student)) { -// student = eduStudentMapper.selectById(face.getUserId()); -// } - EduStudent student = eduStudentMapper.selectById(face.getUserId()); - log.info("下发学生信息:{}", student); - if (ObjectUtil.isNotNull(student)) { - face.setRfidCard(student.getStuCardNumber()); - } - //查询会员信息 - if (Objects.isNull(dict)) { - throw new FebsException("当前学校暂不支持此功能"); - } - // 查询是否是会员 - EduStudentApply studentApply = eduStudentApplyMapper - .getStudentApply(face.getUserId(), dict.getValue()); - if (ObjectUtil.isNotNull(studentApply)) { - face.setNotes(1); - face.setCardValidBegin(studentApply.getStartTime().format(fmt)); - face.setCardValidEnd(studentApply.getEndTime().format(fmt)); - } else { - face.setNotes(0); - } - } else { - face.setNotes(1); - face.setCardValidBegin("2023-01-01 00:00:00"); - face.setCardValidEnd("2123-01-01 00:00:00"); - } } IssuedFaceDTO issuedFaceDTO = new IssuedFaceDTO(); issuedFaceDTO.setUserFaceList(faceList); issuedFaceDTO.setDeviceList(deviceIds); -// issuedFaceDTO.setType(0); + issuedFaceDTO.setType(0); issuedFaceDTO.setGroupId(dto.getFaceGroupId()); - // 判断是否有策略信息 - EduFaceGroupStrategy groupStrategy = eduFaceGroupStrategyService.getOne(Wrappers.lambdaQuery(new EduFaceGroupStrategy()) - .eq(EduFaceGroupStrategy::getFaceGroupId, dto.getFaceGroupId())); - issuedFaceDTO.setGroupStrategy(groupStrategy); - // 人脸组下发 - issuedFaceDTO.setIssuedTypeEnum(IssuedTypeEnum.FACE_GROUP); // 调用设备进行下发 remoteAttendanceDeviceService.issuedFace(issuedFaceDTO); } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduSchoolStudentInformationServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduSchoolStudentInformationServiceImpl.java index 73f3b4e..57a3515 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduSchoolStudentInformationServiceImpl.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduSchoolStudentInformationServiceImpl.java @@ -221,7 +221,7 @@ public class EduSchoolStudentInformationServiceImpl extends public void downloadTemplate(Integer type, HttpServletResponse response) throws Exception { String fileName = - type.equals(ImportTemplateTypeEnum.WELCOME_STUDENT_TEMPLATE.getType()) ? "智慧迎新数据导入模板.xls" : "学生基础信息导入模板.xls"; + type.equals(ImportTemplateTypeEnum.WELCOME_STUDENT_TEMPLATE.getType()) ? "智慧迎新数据导入模板.xls" : "一键邀请导入模板.xls"; // 获取导入文件模板 ClassPathResource classPathResource = new ClassPathResource("template/" + fileName); InputStream inputStream = classPathResource.getInputStream(); @@ -229,7 +229,7 @@ public class EduSchoolStudentInformationServiceImpl extends } /** - * 导入学生基础信息 + * 导入一键邀请数据(导入学生基本信息) * * @param fileUrl 导入的excel文件地址 * @param schoolId 学校id diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStaffServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStaffServiceImpl.java index 0f73a13..2ad200e 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStaffServiceImpl.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStaffServiceImpl.java @@ -2,6 +2,7 @@ package com.yida.data.user.service.impl; import cc.mrbird.febs.common.redis.service.RedisService; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.file.FileWriter; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.ObjectUtil; @@ -10,30 +11,22 @@ import cn.hutool.core.util.ZipUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; -import com.alibaba.excel.EasyExcel; import com.alibaba.excel.support.ExcelTypeEnum; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.common.ResultMsgType; -import com.yida.data.common.core.common.ResultStatusType; import com.yida.data.common.core.entity.CurrentUser; import com.yida.data.common.core.entity.constant.AppConstant; import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.constant.FebsConstant; -import com.yida.data.common.core.entity.school.EduSchoolStudentInformation; import com.yida.data.common.core.entity.school.EduYidaAppAccount; import com.yida.data.common.core.entity.system.Dept; import com.yida.data.common.core.entity.system.EduApp; import com.yida.data.common.core.entity.system.EduYidaApp; import com.yida.data.common.core.entity.system.SystemUser; import com.yida.data.common.core.entity.system.enums.DeptTypeEnum; -import com.yida.data.common.core.entity.system.enums.RoleEnum; import com.yida.data.common.core.entity.user.*; -import com.yida.data.common.core.entity.user.enums.UserDeptTypeEnum; import com.yida.data.common.core.enums.RoleName; import com.yida.data.common.core.exception.FebsException; import com.yida.data.common.core.utils.*; @@ -46,10 +39,6 @@ import com.yida.data.user.dto.DelFaceGroupUserDTO; import com.yida.data.user.dto.ListStaffDTO; import com.yida.data.user.dto.PageTeacherDTO; import com.yida.data.user.dto.StaffExportDTO; -import com.yida.data.user.dto.StaffImportDTO; -import com.yida.data.user.dto.WelcomeStudentImportDTO; -import com.yida.data.user.excel.StaffDataExcelListener; -import com.yida.data.user.excel.WelcomeStudentDataExcelListener; import com.yida.data.user.feign.RemoteUserDeptService; import com.yida.data.user.mapper.EduCourseMapper; import com.yida.data.user.mapper.EduStaffDeptMapper; @@ -58,23 +47,17 @@ import com.yida.data.user.mapper.EduTeacherDeptMapper; import com.yida.data.user.service.*; import com.yida.data.user.vo.*; import io.seata.spring.annotation.GlobalTransactional; -import java.io.InputStream; -import java.time.LocalDateTime; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import org.ehcache.impl.internal.concurrent.ConcurrentHashMap; import org.springframework.beans.BeanUtils; -import org.springframework.core.io.ClassPathResource; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; import org.springframework.util.StopWatch; import javax.servlet.http.HttpServletResponse; @@ -85,7 +68,6 @@ import java.net.URLEncoder; import java.util.*; import java.util.Map.Entry; import java.util.stream.Collectors; -import org.springframework.web.multipart.MultipartFile; @Slf4j @Service @@ -111,7 +93,6 @@ public class EduStaffServiceImpl extends ServiceImpl i private final PasswordEncoder passwordEncoder; private final RedisService redisService; private final WxUtil wxUtil; - private final WxServiceProviderUtil wxServiceProviderUtil; private final EduTeacherDeptMapper eduTeacherDeptMapper; private final CommonService commonService; @@ -195,7 +176,7 @@ public class EduStaffServiceImpl extends ServiceImpl i @GlobalTransactional public void saveTeacher(Integer operation, EduStaff eduStaff) { List existDeptList = eduTeacherDeptService.list( - Wrappers.lambdaQuery(new EduTeacherDept()).eq(EduTeacherDept::getTeacherId, eduStaff.getId())); + Wrappers.lambdaQuery(new EduTeacherDept()).eq(EduTeacherDept::getTeacherId, eduStaff.getId())); if (operation == 0) { Asserts.isTrue(CollUtil.isEmpty(existDeptList), "该教师已存在"); } @@ -204,11 +185,6 @@ public class EduStaffServiceImpl extends ServiceImpl i Dept school = commonService.getDept(staff.getSchoolId()); // 绑定了微信 String accessToken = null; - // 明文userId - // 当代开发情况下,此处的职工(教师id)需要转换成明文才能调用 - String plainUserId = null; - EduApp appSelect = commonService.getAppContactUsedBySelect(staff.getSchoolId()); - if (school.getSchoolType().contains(Dept.TYPE_QYWX)) { EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SCHOOL, null, staff.getSchoolId()); accessToken = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); @@ -233,14 +209,9 @@ public class EduStaffServiceImpl extends ServiceImpl i break; } if (deptId != null) { - EduUserDept userDept = eduUserDeptService.getById(deptId); - if (Objects.nonNull(userDept)) { - // 删除企业微信已有关联部门数据 - eduTeacherDept.setDeptWxId(userDept.getWxId()); - plainUserId = commonService.getPlainUserId(staff.getWxId(), school.getDeptId(), appSelect); - eduTeacherDept.setTeacherWxId(plainUserId); - wxUtil.deleteSchoolDeptUser(accessToken, eduTeacherDept); - } + eduTeacherDept.setDeptWxId(eduUserDeptService.getById(deptId).getWxId()); + eduTeacherDept.setTeacherWxId(staff.getWxId()); + wxUtil.deleteSchoolDeptUser(accessToken, eduTeacherDept); } } } @@ -278,10 +249,7 @@ public class EduStaffServiceImpl extends ServiceImpl i break; } teacherDept.setDeptWxId(eduUserDeptService.getById(deptId).getWxId()); - if (StringUtils.isEmpty(plainUserId)) { - plainUserId = commonService.getPlainUserId(staff.getWxId(), school.getDeptId(), appSelect); - } - teacherDept.setTeacherWxId(plainUserId); + teacherDept.setTeacherWxId(staff.getWxId()); wxUtil.updateUserDeptTeacherInfo(accessToken, teacherDept); } teacherDept.setTeacherId(staff.getId()); @@ -354,166 +322,18 @@ public class EduStaffServiceImpl extends ServiceImpl i return teacherClassVOS; } - @Override - public List listClassIdByStaffId() { - CurrentUser currentUser = FebsUtil.getCurrentUser(); - List resultList = new ArrayList<>(); - List parentIdList = new ArrayList<>(); - //根据sysUserId查询staffId - EduStaff staff = this.getOne(Wrappers.lambdaQuery(new EduStaff()) - .eq(EduStaff::getSchoolId, FebsUtil.getTopDeptId()) - .eq(EduStaff::getSysUserId, currentUser.getUserId())); - - //任课老师 - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_TEACHER.getValue())) { - resultList.addAll( - baseMapper.listDeptByTeacher(staff.getId(), 4).stream().map(TeacherDeptVO::getClassId) - .collect(Collectors.toList())); - } - //班主任 - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_CLASS_PRINCIPAL.getValue())) { - resultList.addAll( - baseMapper.listDeptByTeacher(staff.getId(), 3).stream().map(TeacherDeptVO::getClassId) - .collect(Collectors.toList())); - } - //年级主任 - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_GRADE_PRINCIPAL.getValue())) { - List gradeIdList = baseMapper.listDeptByTeacher(staff.getId(), 2).stream() - .map(TeacherDeptVO::getGradeId) - .collect(Collectors.toList()); - parentIdList.addAll(gradeIdList); - } - //学段主任 - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_SECTION_PRINCIPAL.getValue())) { - List sectionIdList = baseMapper.listDeptByTeacher(staff.getId(), 5).stream() - .map(TeacherDeptVO::getSectionId) - .collect(Collectors.toList()); - parentIdList.addAll(sectionIdList); - - } - //学区主任 - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_CAMPUS_PRINCIPAL.getValue())) { - List campusIdList = baseMapper.listDeptByTeacher(staff.getId(), 1).stream() - .map(TeacherDeptVO::getCampusId) - .collect(Collectors.toList()); - parentIdList.addAll(campusIdList); - } - - List resultDeptList = new ArrayList<>(); - if (CollUtil.isNotEmpty(parentIdList)) { - List childIdByParentAndType = eduUserDeptService - .findChildIdByParentAndType(parentIdList, 1, resultDeptList); - resultList.addAll(childIdByParentAndType.stream().map(EduUserDept::getDeptId).collect(Collectors.toList())); - } - return resultList; - } - - @Override - public List listStaffRolesByStaffId(Long staffId) { - return eduTeacherDeptMapper.findType(staffId); - } - - @Override - public List listDeptByStaffId(Long staffId) { - CurrentUser currentUser = FebsUtil.getCurrentUser(); - List resultList = new ArrayList<>(); - //班主任 - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_CLASS_PRINCIPAL.getValue())) { - List classList = baseMapper.listDeptByTeacher(staffId, 3); - resultList.addAll(classList); - } - //年级主任 - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_GRADE_PRINCIPAL.getValue())) { - List gradeList = baseMapper.listDeptByTeacher(staffId, 2); - resultList.addAll(gradeList); - } - //学段主任 - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_SECTION_PRINCIPAL.getValue())) { - List sectionList = baseMapper.listDeptByTeacher(staffId, 5); - resultList.addAll(sectionList); - } - //学区主任 - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_CAMPUS_PRINCIPAL.getValue())) { - List campusList = baseMapper.listDeptByTeacher(staffId, 1); - resultList.addAll(campusList); - } -// List teacherClassVOS = new ArrayList<>(); -// List teacherDeptVOS = baseMapper.listDeptByTeacher(staffId, type); - - resultList.forEach(teacherDeptVO -> { - Integer type = teacherDeptVO.getType(); - switch (type) { - case 1: - EduUserDept campus = remoteUserDeptService.getByDeptId(teacherDeptVO.getCampusId()).getData(); - teacherDeptVO.setCampusName(campus.getDeptName()); - break; - case 2: - EduUserDept campus_g = remoteUserDeptService.getByDeptId(teacherDeptVO.getCampusId()).getData(); - teacherDeptVO.setCampusName(campus_g.getDeptName()); - EduUserDept grade = remoteUserDeptService.getByDeptId(teacherDeptVO.getGradeId()).getData(); - teacherDeptVO.setGradeName(grade.getDeptName()); - break; - case 3: - EduUserDept campus_c = remoteUserDeptService.getByDeptId(teacherDeptVO.getCampusId()).getData(); - teacherDeptVO.setCampusName(campus_c.getDeptName()); - EduUserDept grade_c = remoteUserDeptService.getByDeptId(teacherDeptVO.getGradeId()).getData(); - teacherDeptVO.setGradeName(grade_c.getDeptName()); - EduUserDept clazz = remoteUserDeptService.getByDeptId(teacherDeptVO.getClassId()).getData(); - teacherDeptVO.setClassName(clazz.getDeptName()); - break; - case 5: - EduUserDept campus_s = remoteUserDeptService.getByDeptId(teacherDeptVO.getCampusId()).getData(); - teacherDeptVO.setCampusName(campus_s.getDeptName()); - -// EduUserDept campus_s = remoteUserDeptService.getByDeptId(teacherDeptVO.getCampusId()).getData(); -// teacherDeptVO.setCampusName(campus_s.getDeptName()); - - } - }); - - for (TeacherDeptVO dept : resultList) { -// TeacherClassVO teacherClassVO = new TeacherClassVO(); -// teacherClassVO.setType(dept.getType()); - Long deptId = null; - if (dept.getType() == 1) { - //校区 - deptId = dept.getCampusId(); - } else if (dept.getType() == 2) { - deptId = dept.getGradeId(); - } else if (dept.getType() == 3) { - deptId = dept.getClassId(); - } else if (dept.getType() == 5) { - deptId = dept.getSectionId(); - } -// EduUserDept eduUserDept = remoteUserDeptService.getByDeptId(deptId).getData(); -// teacherClassVO.setDeptId(eduUserDept.getDeptId()); -// teacherClassVO.setDeptName(eduUserDept.getDeptName()); -// teacherClassVOS.add(teacherClassVO); - } - return null; - } - @Override public void delStaffBatch(List staffIds) { List staffList = list(Wrappers.lambdaQuery(new EduStaff()).in(EduStaff::getId, staffIds)); // 删除人脸相关信息 List faceList = - eduFaceGroupUserService.list(Wrappers.lambdaQuery() - .eq(EduFaceGroupUser::getUserType, 1) - .in(EduFaceGroupUser::getUserId, staffIds)); + eduFaceGroupUserService.list(Wrappers.lambdaQuery() + .eq(EduFaceGroupUser::getUserType, 1) + .in(EduFaceGroupUser::getUserId, staffIds)); if (CollUtil.isNotEmpty(faceList)) { -// eduFaceGroupUserService.delUserBatch(DelFaceGroupUserDTO.builder() -// .faceIds(faceList.stream().map(EduFaceGroupUser::getId).collect(Collectors.toList())).build()); - // 分组处理数据 - Map> faceGroupMap = faceList.stream().collect( - Collectors.groupingBy(EduFaceGroupUser::getFaceGroupId)); - faceGroupMap.forEach((faceGroupId, userList) -> - eduFaceGroupUserService.delUserBatch(DelFaceGroupUserDTO.builder() - .faceGroupId(faceGroupId) - .faceIds(userList.stream().map(EduFaceGroupUser::getId).collect(Collectors.toList())) - .build()) - ); + eduFaceGroupUserService.delUserBatch(DelFaceGroupUserDTO.builder() + .faceIds(faceList.stream().map(EduFaceGroupUser::getId).collect(Collectors.toList())).build()); } removeByIds(staffIds); @@ -527,20 +347,18 @@ public class EduStaffServiceImpl extends ServiceImpl i // boolean containsDahua = school.getSchoolType().contains(Dept.TYPE_DAHUA); // 绑定了微信 if (containsWx) { - List staffWxIdList = staffList.stream().filter(x -> StrUtil.isNotBlank(x.getWxId()) && x.getWxPath() == 0) - .map(EduStaff::getWxId) - .collect(Collectors.toList()); - if (CollUtil.isNotEmpty(staffWxIdList)) { - String wxAccessToken = commonService.getAddressListToken(schoolId); - wxUtil.deleteUser(wxAccessToken, staffWxIdList); - } + EduApp eduApp = commonService.getAppByCodeAndSchool(AppConstant.CONTACT, null, schoolId); + String wxAccessToken = wxUtil.getAccessToken(eduApp.getWxCorpId(), eduApp.getWxSecret()); + wxUtil.deleteUser(wxAccessToken, + staffList.stream().filter(x -> StrUtil.isNotBlank(x.getWxId()) && x.getWxPath() == 0).map(EduStaff::getWxId) + .collect(Collectors.toList())); } // 绑定了易达app if (containsYida) { EduYidaApp yidaApp = commonService.getYidaApp(schoolId); EduYidaAppAccount yidaAppAccount = commonService.getYidaAppAccount(schoolId, 1); staffList.stream().map(EduStaff::getYidaAppUserId).filter(StrUtil::isNotBlank) - .forEach(x -> AppUtil.subscribeUnFollow(yidaAppAccount.getYidaAppAccountId(), x, yidaApp)); + .forEach(x -> AppUtil.subscribeUnFollow(yidaAppAccount.getYidaAppAccountId(), x, yidaApp)); } // // 绑定了大华 // if (containsDahua) { @@ -557,12 +375,10 @@ public class EduStaffServiceImpl extends ServiceImpl i eduTeacherDeptService.remove(Wrappers.lambdaQuery(new EduTeacherDept()).in(EduTeacherDept::getTeacherId, teacherIds)); for (EduStaff teacher : listByIds(teacherIds)) { remoteUserService.updateUserRoleByRoleName(teacher.getSysUserId(), - Collections.singletonList(RoleName.STAFF.getName())); + Collections.singletonList(RoleName.STAFF.getName())); } - + log.info("处理微信"); if (school.getSchoolType().contains(Dept.TYPE_QYWX) && CollUtil.isNotEmpty(teacherDepts)) { - log.info("处理企业微信删除教师信息"); - EduApp appSelect = commonService.getAppContactUsedBySelect(school.getDeptId()); // TODO: 2021/10/28 删除学校部门与教师关联信息 EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SCHOOL, null, schoolId); String accessToken = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); @@ -585,9 +401,6 @@ public class EduStaffServiceImpl extends ServiceImpl i default: break; } - String plainUserId = commonService.getPlainUserId(teacherDept.getTeacherWxId(), school.getDeptId(), appSelect); - teacherDept.setTeacherWxId(plainUserId); - EduUserDept userDept = eduUserDeptService.getById(deptId); teacherDept.setDeptWxId(userDept.getWxId()); wxUtil.deleteSchoolDeptUser(accessToken, teacherDept); @@ -599,98 +412,82 @@ public class EduStaffServiceImpl extends ServiceImpl i @Override public void dealWxTeacherChange(Long schoolId, Long campusId, Long sectionId, Long gradeId, Long classId, - List teacherList, Long deptWxId) { + List teacherList) { // 删除部门关联信息 if (CollUtil.isNotEmpty(teacherList)) { LambdaQueryWrapper delTeacherDeptCondition = Wrappers.lambdaQuery(new EduTeacherDept()); - // 删除单个部门负责人 if (classId != null) { delTeacherDeptCondition.eq(EduTeacherDept::getClassId, classId); } else if (gradeId != null) { delTeacherDeptCondition.eq(EduTeacherDept::getGradeId, gradeId); - delTeacherDeptCondition.isNull(EduTeacherDept::getClassId); } else if (sectionId != null) { delTeacherDeptCondition.eq(EduTeacherDept::getSectionId, sectionId); - delTeacherDeptCondition.isNull(EduTeacherDept::getGradeId); - delTeacherDeptCondition.isNull(EduTeacherDept::getClassId); } else if (campusId != null) { delTeacherDeptCondition.eq(EduTeacherDept::getCampusId, campusId); - delTeacherDeptCondition.isNull(EduTeacherDept::getSectionId); - delTeacherDeptCondition.isNull(EduTeacherDept::getGradeId); - delTeacherDeptCondition.isNull(EduTeacherDept::getClassId); } else { - // 未满足条件不删除关联关系 + // 为满足条件不删除关联关系 delTeacherDeptCondition.eq(EduTeacherDept::getSchoolId, -1L); } - eduTeacherDeptService.remove(delTeacherDeptCondition); List eduTeacherDeptList = new ArrayList<>(); for (Map teacher : teacherList) { - try { - EduTeacherDept eduTeacherDept = new EduTeacherDept(); - eduTeacherDept.setSchoolId(schoolId); - eduTeacherDept.setCampusId(campusId); - eduTeacherDept.setSectionId(sectionId); - eduTeacherDept.setGradeId(gradeId); - eduTeacherDept.setClassId(classId); + EduTeacherDept eduTeacherDept = new EduTeacherDept(); + eduTeacherDept.setSchoolId(schoolId); + eduTeacherDept.setCampusId(campusId); + eduTeacherDept.setSectionId(sectionId); + eduTeacherDept.setGradeId(gradeId); + eduTeacherDept.setClassId(classId); - String teacherWxId = (String) teacher.get("userid"); - // 根据通讯录应用情况获取对应用户密文id - teacherWxId = commonService.getSecretUserId(teacherWxId, schoolId); - int teacherType = Integer.parseInt(teacher.get("type").toString()); - String subject = ObjectUtil.toString(teacher.get("subject")); + String teacherWxId = (String) teacher.get("userid"); + int teacherType = Integer.parseInt(teacher.get("type").toString()); + String subject = ObjectUtil.toString(teacher.get("subject")); - EduStaff teacherInfo = getOne( - Wrappers.lambdaQuery(new EduStaff()).eq(EduStaff::getWxId, teacherWxId) - .eq(EduStaff::getSchoolId, schoolId)); - if (teacherInfo == null) { - continue; - } - eduTeacherDept.setTeacherId(teacherInfo.getId()); - // 教师类型 - switch (teacherType) { - case 1: - eduTeacherDept.setType(1); - remoteUserService.bindRoleByUser(teacherInfo.getSysUserId(), "校区负责人"); - break; - case 2: - eduTeacherDept.setType(2); - remoteUserService.bindRoleByUser(teacherInfo.getSysUserId(), "年级负责人"); - break; - case 3: - remoteUserService.bindRoleByUser(teacherInfo.getSysUserId(), "班主任"); - eduTeacherDept.setType(3); - break; - case 4: - remoteUserService.bindRoleByUser(teacherInfo.getSysUserId(), "任课老师"); - eduTeacherDept.setType(4); - break; - case 5: - remoteUserService.bindRoleByUser(teacherInfo.getSysUserId(), "学段负责人"); - eduTeacherDept.setType(5); - break; - default: - break; - } - // 填充部门信息 - if (StrUtil.isNotBlank(subject) && !"null".equals(subject)) { - // 科目信息 - EduCourse course = eduCourseMapper.selectOne( - Wrappers.lambdaQuery(new EduCourse()).eq(EduCourse::getSchoolId, schoolId) - .eq(EduCourse::getCourseName, subject)); - if (course == null) { - course = new EduCourse(); - course.setCourseName(subject); - course.setSchoolId(schoolId); - eduCourseMapper.insert(course); - } - eduTeacherDept.setCourseId(course.getId()); - } - eduTeacherDeptList.add(eduTeacherDept); - } catch (Exception e) { - log.error("处理家校沟通教师数据失败: schoolId:{}, campusId: {}, sectionId:{}, gradeId:{}, classId:{}, teacher:{}", - schoolId, campusId, sectionId, gradeId, classId, teacher, e); + EduStaff teacherInfo = getOne( + Wrappers.lambdaQuery(new EduStaff()).eq(EduStaff::getWxId, teacherWxId).eq(EduStaff::getSchoolId, schoolId)); + if (teacherInfo == null) { + continue; } + eduTeacherDept.setTeacherId(teacherInfo.getId()); + // 教师类型 + switch (teacherType) { + case 1: + eduTeacherDept.setType(1); + remoteUserService.bindRoleByUser(teacherInfo.getSysUserId(), "校区负责人"); + break; + case 2: + eduTeacherDept.setType(2); + remoteUserService.bindRoleByUser(teacherInfo.getSysUserId(), "年级负责人"); + break; + case 3: + remoteUserService.bindRoleByUser(teacherInfo.getSysUserId(), "班主任"); + eduTeacherDept.setType(3); + break; + case 4: + remoteUserService.bindRoleByUser(teacherInfo.getSysUserId(), "任课老师"); + eduTeacherDept.setType(4); + break; + case 5: + remoteUserService.bindRoleByUser(teacherInfo.getSysUserId(), "学段负责人"); + eduTeacherDept.setType(5); + break; + default: + break; + } + // 填充部门信息 + if (StrUtil.isNotBlank(subject) && !"null".equals(subject)) { + // 科目信息 + EduCourse course = eduCourseMapper.selectOne( + Wrappers.lambdaQuery(new EduCourse()).eq(EduCourse::getSchoolId, schoolId) + .eq(EduCourse::getCourseName, subject)); + if (course == null) { + course = new EduCourse(); + course.setCourseName(subject); + course.setSchoolId(schoolId); + eduCourseMapper.insert(course); + } + eduTeacherDept.setCourseId(course.getId()); + } + eduTeacherDeptList.add(eduTeacherDept); } eduTeacherDeptService.saveBatch(eduTeacherDeptList); } @@ -707,7 +504,7 @@ public class EduStaffServiceImpl extends ServiceImpl i String cardNum = DaHuaUtil.generateCardNum(); staff.setDahuaCode(staff.getMobile()); staff.setDahuaId( - DaHuaUtil.addUser(staff.getName(), staff.getDahuaCode(), 1, 1, cardNum, null, null, null, null, null, "")); + DaHuaUtil.addUser(staff.getName(), staff.getDahuaCode(), 1, 1, cardNum, null, null, null, null, null, "")); } List eduStaffDeptList = staff.getStaffDept(); if (CollUtil.isNotEmpty(eduStaffDeptList)) { @@ -724,211 +521,165 @@ public class EduStaffServiceImpl extends ServiceImpl i } @Override - public ResultBean> importStaff(MultipartFile file, Long schoolId, long timestamp) { - // 验证文件类型 - if (!FileUtil.checkMultipartFile(file, FebsConstant.EXCEL_FILE_TYPE)) { - return ResultBean.buildError(ResultMsgType.FILE_TYPE_ERROR.getValue()); - } - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - // 调用导入方法 - ConcurrentHashMap errorMap = new ConcurrentHashMap<>(16); + public void importStaff(String path, Long schoolId, CurrentUser currentUser, Long key, String fileName) { try { - EasyExcel.read(file.getInputStream(), StaffImportDTO.class, - new StaffDataExcelListener(this, errorMap, schoolId, timestamp)) - .sheet().headRowNumber(8).doRead(); - } catch (IOException exception) { - exception.printStackTrace(); - } - stopWatch.stop(); - log.info("导入职工数据总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); - // 判断是否有错误数据 - if (errorMap.size() > 0) { - return ResultBean - .buildError(ResultStatusType.IMPORT_FAIL.getValue(), ResultMsgType.IMPORT_EXCEL_FAIL.getValue(), errorMap); - } - return ResultBean.buildSuccess(ResultMsgType.IMPORT_EXCEL_SUCCESS.getValue(), null); - } + Dept school = commonService.getDept(schoolId); + // 解压文件到本地 + File zipFile = new File(path); + String zipPath = ZipUtil.unzip(zipFile, CharsetUtil.CHARSET_GBK).getAbsolutePath(); + Map cacheDept = new HashMap<>(); + // 循环拿到数据 + List face = FileUtil.loopFiles(zipPath, x -> { + String suffix = FileUtil.getSuffix(x); + return (!"txt".equals(suffix)) && (!"xlsx".equals(suffix)); + }); + List excel = FileUtil.loopFiles(zipPath, x -> { + String suffix = FileUtil.getSuffix(x); + return "xlsx".equals(suffix); + }); + int count = 0; + int complete = 0; + int percent = 0; + EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT, null, schoolId); + ; + String token = wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()); + for (File file : excel) { + Workbook workbook; + try { + workbook = com.yida.data.common.core.utils.ExcelUtil.readExcel(file, "xlsx"); + } catch (IOException e) { + e.printStackTrace(); + throw new FebsException("读取职工名单失败,请重新上传"); + } + Sheet campusSheet = workbook.getSheetAt(0); + List> staffList = ExcelUtil.readData(campusSheet, 9); +// Role staffRole = remoteRoleService.getRoleByNameNoPermission("职工").getData(); + count = face.size() + staffList.size(); + List> errorData = new ArrayList<>(); + for (int i = 0; i < staffList.size(); i++) { + Map staff = staffList.get(i); + String name = ExcelUtil.getCellValue(staff.get(1)); + if (StrUtil.isBlankIfStr(name)) { + continue; + } + String alias = ExcelUtil.getCellValue(staff.get(2)); + String sex = ExcelUtil.getCellValue(staff.get(3)); + String phone = ExcelUtil.getCellValue(staff.get(4)); + String landLine = ExcelUtil.getCellValue(staff.get(5)); + String email = ExcelUtil.getCellValue(staff.get(6)); + String addr = ExcelUtil.getCellValue(staff.get(7)); + String deptName = ExcelUtil.getCellValue(staff.get(8)); + String identity = ExcelUtil.getCellValue(staff.get(9)); + String position = ExcelUtil.getCellValue(staff.get(10)); + String companyAbbre = ExcelUtil.getCellValue(staff.get(11)); + String foreignPosition = ExcelUtil.getCellValue(staff.get(12)); -// @Override -// public void importStaff(String path, Long schoolId, CurrentUser currentUser, Long key, String fileName) { -// -// -// -//// try { -//// Dept school = commonService.getDept(schoolId); -//// // 解压文件到本地 -//// File zipFile = new File(path); -//// String zipPath = ZipUtil.unzip(zipFile, CharsetUtil.CHARSET_GBK).getAbsolutePath(); -//// Map cacheDept = new HashMap<>(); -//// // 循环拿到数据 -//// List face = FileUtil.loopFiles(zipPath, x -> { -//// String suffix = FileUtil.getSuffix(x); -//// return (!"txt".equals(suffix)) && (!"xlsx".equals(suffix)); -//// }); -//// List excel = FileUtil.loopFiles(zipPath, x -> { -//// String suffix = FileUtil.getSuffix(x); -//// return "xlsx".equals(suffix); -//// }); -//// int count = 0; -//// int complete = 0; -//// int percent = 0; -//// -//// String token = commonService.getAddressListToken(schoolId); -//// -//// for (File file : excel) { -//// Workbook workbook; -//// try { -//// workbook = com.yida.data.common.core.utils.ExcelUtil.readExcel(file, "xlsx"); -//// } catch (IOException e) { -//// e.printStackTrace(); -//// throw new FebsException("读取职工名单失败,请重新上传"); -//// } -//// Sheet campusSheet = workbook.getSheetAt(0); -//// List> staffList = ExcelUtil.readData(campusSheet, 9); -////// Role staffRole = remoteRoleService.getRoleByNameNoPermission("职工").getData(); -//// count = face.size() + staffList.size(); -//// List> errorData = new ArrayList<>(); -//// for (int i = 0; i < staffList.size(); i++) { -//// Map staff = staffList.get(i); -//// String name = ExcelUtil.getCellValue(staff.get(1)); -//// if (StrUtil.isBlankIfStr(name)) { -//// continue; -//// } -//// //别名 -//// String alias = ExcelUtil.getCellValue(staff.get(2)); -//// //性别 -//// String sex = ExcelUtil.getCellValue(staff.get(3)); -//// //联系电话 -//// String phone = ExcelUtil.getCellValue(staff.get(4)); -//// //座机 -//// String landLine = ExcelUtil.getCellValue(staff.get(5)); -//// //邮箱 -//// String email = ExcelUtil.getCellValue(staff.get(6)); -//// //地址 -//// String addr = ExcelUtil.getCellValue(staff.get(7)); -//// //部门名称 -//// String deptName = ExcelUtil.getCellValue(staff.get(8)); -//// //是否是上级 -//// String identity = ExcelUtil.getCellValue(staff.get(9)); -//// //职务 -//// String position = ExcelUtil.getCellValue(staff.get(10)); -//// //?? -//// String companyAbbre = ExcelUtil.getCellValue(staff.get(11)); -//// //?? -//// String foreignPosition = ExcelUtil.getCellValue(staff.get(12)); -//// //是否同步到企业微信 -//// String wxPath = ExcelUtil.getCellValue(staff.get(13)); -//// -//// try { -//// EduStaff eduStaff = new EduStaff(); -//// //职工已存在跳过 -//// EduStaff existStaff = getOne(Wrappers.lambdaQuery(new EduStaff()).eq(EduStaff::getMobile, phone) -//// .eq(EduStaff::getSchoolId, schoolId)); -//// if (existStaff != null) { -//// eduStaff = existStaff; -//// } else { -//// Dept dept = cacheDept.containsKey(deptName) ? cacheDept.get(deptName) -//// : remoteDeptService.getDeptBySchoolAndName(schoolId, deptName).getData(); -//// cacheDept.put(deptName, dept); -//// eduStaff.setName(name); -//// eduStaff.setSex("男".equals(sex) ? "0" : "女".equals(sex) ? "1" : "2"); -//// eduStaff.setMobile(phone); -//// eduStaff.setSchoolId(school.getDeptId()); -//// eduStaff.setSchoolName(school.getDeptName()); -//// -//// eduStaff.setAlias(alias); -//// eduStaff.setLandLine(landLine); -//// eduStaff.setEmail(email); -//// eduStaff.setAddress(addr); -//// eduStaff.setPosition(position); -//// eduStaff.setIsLeader("上级".equals(identity) ? 1 : 0); -//// eduStaff.setCompanyAbbre(companyAbbre); -//// eduStaff.setForeignPosition(foreignPosition); -//// eduStaff.setWxPath(Integer.parseInt(wxPath)); -//// -//// eduStaff.setWxId(StrUtil.isNotBlank(phone) ? phone : StrUtil.uuid().replace("-", "")); -//// save(eduStaff); -//// -//// EduStaffDept staffDept = new EduStaffDept(); -//// staffDept.setStaffId(eduStaff.getId()); -//// staffDept.setStaffName(eduStaff.getName()); -//// staffDept.setDeptId(dept.getDeptId()); -//// staffDept.setDeptName(dept.getDeptName()); -//// staffDept.setDeptWxId(dept.getWxId()); -//// staffDept.setIsLeader("下级".equals(identity) ? 1 : 0); -//// staffDept.setIsMain(1); -//// eduStaffDeptService.save(staffDept); -//// -//// eduStaff.setStaffDept(Collections.singletonList(staffDept)); -//// // 微信教师信息新增 -//// if ("0".equals(wxPath)) { -//// wxUtil.createUser(token, eduStaff); -//// } -//// //添加系统账号 -//// saveSystemUser(eduStaff); -//// updateById(eduStaff); -//// } -//// } catch (Exception e) { -//// errorData.add(new HashMap() {{ -//// put("name", name); -//// put("alias", alias); -//// put("wxId", phone); -//// put("sex", sex); -//// put("phone", phone); -//// put("landLine", landLine); -//// put("email", email); -//// put("addr", addr); -//// put("deptName", deptName); -//// put("identity", identity); -//// put("position", position); -//// put("companyAbbre", companyAbbre); -//// put("foreignPosition", foreignPosition); -//// }}); -//// } -//// -//// complete++; -//// if (complete / count != percent) { -//// percent = complete / count; -//// redisService.hset(CachePrefixConstant.IMPORT_STAFF_KEY + currentUser.getUsername(), key.toString(), -//// percent); -//// } -//// } -//// // 新增通知 -//// Long noticeId = null; -//// -//// //EduNoticeSystem eduNoticeSystem = new EduNoticeSystem(); -//// //eduNoticeSystem.setContent("文档" + file.getName() + "已经上传完成,共上传" + staffList.size() + "条数据,其中错误" + errorData.size() + "条。"); -//// //noticeId = eduNoticeSystemService.insertNotice(eduNoticeSystem); -//// // -//// //EduNoticeSystemUser eduNoticeSystemUser = new EduNoticeSystemUser(); -//// //eduNoticeSystemUser.setNoticeId(noticeId); -//// //eduNoticeSystemUser.setUserId(currentUser.getUserId()); -//// //if (CollUtil.isNotEmpty(errorData)) { -//// // redisService.set(CachePrefixConstant.IMPORT_ERROR + noticeId.toString(), JSONUtil.toJsonStr(errorData), 3600L); -//// //} -//// } -//// -//// // 保存人脸 -//// for (File pic : face) { -//// String name = FileUtil.getName(pic); -//// String mobile = name.split("\\.")[0]; -//// EduStaff staff = getOne(Wrappers.lambdaQuery(new EduStaff()).eq(EduStaff::getSchoolId, school.getDeptId()) -//// .eq(EduStaff::getMobile, mobile)); -//// if (staff != null) { -//// eduUserFaceService.uploadImage(pic, staff.getId(), staff.getName(), 1); -//// } -//// complete++; -//// if (complete / count != percent) { -//// percent = complete / count; -//// redisService.hset(CachePrefixConstant.IMPORT_STAFF_KEY + currentUser.getUsername(), key.toString(), percent); -//// } -//// } -//// } finally { -//// redisService.hdel(CachePrefixConstant.IMPORT_STAFF_KEY + currentUser.getUsername(), key.toString()); -//// redisService.hdel(CachePrefixConstant.IMPORT_STAFF_FILE + currentUser.getUsername(), key.toString()); -//// } -// } + try { + EduStaff eduStaff = new EduStaff(); + //职工已存在跳过 + EduStaff existStaff = getOne(Wrappers.lambdaQuery(new EduStaff()).eq(EduStaff::getMobile, phone) + .eq(EduStaff::getSchoolId, schoolId)); + if (existStaff != null) { + eduStaff = existStaff; + } else { + Dept dept = cacheDept.containsKey(deptName) ? cacheDept.get(deptName) + : remoteDeptService.getDeptBySchoolAndName(schoolId, deptName).getData(); + cacheDept.put(deptName, dept); + eduStaff.setName(name); + eduStaff.setSex("男".equals(sex) ? "0" : "女".equals(sex) ? "1" : "2"); + eduStaff.setMobile(phone); + eduStaff.setSchoolId(school.getDeptId()); + eduStaff.setSchoolName(school.getDeptName()); + + eduStaff.setAlias(alias); + eduStaff.setLandLine(landLine); + eduStaff.setEmail(email); + eduStaff.setAddress(addr); + eduStaff.setPosition(position); + eduStaff.setIsLeader("上级".equals(identity) ? 1 : 0); + eduStaff.setCompanyAbbre(companyAbbre); + eduStaff.setForeignPosition(foreignPosition); + + eduStaff.setWxId(StrUtil.isNotBlank(phone) ? phone : StrUtil.uuid().replace("-", "")); + save(eduStaff); + + EduStaffDept staffDept = new EduStaffDept(); + staffDept.setStaffId(eduStaff.getId()); + staffDept.setStaffName(eduStaff.getName()); + staffDept.setDeptId(dept.getDeptId()); + staffDept.setDeptName(dept.getDeptName()); + staffDept.setDeptWxId(dept.getWxId()); + staffDept.setIsLeader("下级".equals(identity) ? 1 : 0); + staffDept.setIsMain(1); + eduStaffDeptService.save(staffDept); + + eduStaff.setStaffDept(Collections.singletonList(staffDept)); + // 微信教师信息新增 + wxUtil.createUser(token, eduStaff); + //添加系统账号 + saveSystemUser(eduStaff); + updateById(eduStaff); + } + } catch (Exception e) { + errorData.add(new HashMap() {{ + put("name", name); + put("alias", alias); + put("wxId", phone); + put("sex", sex); + put("phone", phone); + put("landLine", landLine); + put("email", email); + put("addr", addr); + put("deptName", deptName); + put("identity", identity); + put("position", position); + put("companyAbbre", companyAbbre); + put("foreignPosition", foreignPosition); + }}); + } + + complete++; + if (complete / count != percent) { + percent = complete / count; + redisService.hset(CachePrefixConstant.IMPORT_STAFF_KEY + currentUser.getUsername(), key.toString(), + percent); + } + } + // 新增通知 + Long noticeId = null; + + //EduNoticeSystem eduNoticeSystem = new EduNoticeSystem(); + //eduNoticeSystem.setContent("文档" + file.getName() + "已经上传完成,共上传" + staffList.size() + "条数据,其中错误" + errorData.size() + "条。"); + //noticeId = eduNoticeSystemService.insertNotice(eduNoticeSystem); + // + //EduNoticeSystemUser eduNoticeSystemUser = new EduNoticeSystemUser(); + //eduNoticeSystemUser.setNoticeId(noticeId); + //eduNoticeSystemUser.setUserId(currentUser.getUserId()); + //if (CollUtil.isNotEmpty(errorData)) { + // redisService.set(CachePrefixConstant.IMPORT_ERROR + noticeId.toString(), JSONUtil.toJsonStr(errorData), 3600L); + //} + } + + // 保存人脸 + for (File pic : face) { + String name = FileUtil.getName(pic); + String mobile = name.split("\\.")[0]; + EduStaff staff = getOne(Wrappers.lambdaQuery(new EduStaff()).eq(EduStaff::getSchoolId, school.getDeptId()) + .eq(EduStaff::getMobile, mobile)); + if (staff != null) { + eduUserFaceService.uploadImage(pic, staff.getId(), staff.getName(), 1); + } + complete++; + if (complete / count != percent) { + percent = complete / count; + redisService.hset(CachePrefixConstant.IMPORT_STAFF_KEY + currentUser.getUsername(), key.toString(), percent); + } + } + } finally { + redisService.hdel(CachePrefixConstant.IMPORT_STAFF_KEY + currentUser.getUsername(), key.toString()); + redisService.hdel(CachePrefixConstant.IMPORT_STAFF_FILE + currentUser.getUsername(), key.toString()); + } + } @Override public Integer importTeacherHeartbeat(String username, Long key) { @@ -952,15 +703,15 @@ public class EduStaffServiceImpl extends ServiceImpl i public List> listImportKey(String username, Integer type) { List> list = new ArrayList<>(); Map keyList = redisService.hmget( - (type == 0 ? CachePrefixConstant.IMPORT_TEACHER_KEY : CachePrefixConstant.IMPORT_STAFF_KEY) + username); + (type == 0 ? CachePrefixConstant.IMPORT_TEACHER_KEY : CachePrefixConstant.IMPORT_STAFF_KEY) + username); if (CollUtil.isNotEmpty(keyList)) { for (Map.Entry objectEntry : keyList.entrySet()) { Map res = new HashMap<>(); Object key = objectEntry.getKey(); Object value = objectEntry.getValue(); Object filename = redisService.hget( - (type == 0 ? CachePrefixConstant.IMPORT_TEACHER_FILE : CachePrefixConstant.IMPORT_STAFF_FILE) + username, - key.toString()); + (type == 0 ? CachePrefixConstant.IMPORT_TEACHER_FILE : CachePrefixConstant.IMPORT_STAFF_FILE) + username, + key.toString()); if (filename != null && StrUtil.isNotBlank(filename.toString())) { res.put("percent", value.toString()); res.put("filename", filename.toString()); @@ -999,7 +750,7 @@ public class EduStaffServiceImpl extends ServiceImpl i @Override public void saveStaffBySchoolAndWx(EduStaff staff) { EduStaff exist = getOne(Wrappers.lambdaQuery(new EduStaff()).eq(EduStaff::getSchoolId, staff.getSchoolId()) - .eq(EduStaff::getWxId, staff.getWxId())); + .eq(EduStaff::getWxId, staff.getWxId())); if (exist != null) { staff.setId(exist.getId()); eduStaffDeptService.remove(Wrappers.lambdaQuery(new EduStaffDept()).eq(EduStaffDept::getStaffId, staff.getId())); @@ -1016,10 +767,10 @@ public class EduStaffServiceImpl extends ServiceImpl i @Override public void dealWxUserDelete(String wxId, Long schoolId) { EduStaff staff = getOne( - Wrappers.lambdaQuery(new EduStaff()).eq(EduStaff::getWxId, wxId).eq(EduStaff::getSchoolId, schoolId)); + Wrappers.lambdaQuery(new EduStaff()).eq(EduStaff::getWxId, wxId).eq(EduStaff::getSchoolId, schoolId)); if (staff != null) { eduTeacherDeptService.remove( - Wrappers.lambdaQuery(new EduTeacherDept()).eq(EduTeacherDept::getTeacherId, staff.getId())); + Wrappers.lambdaQuery(new EduTeacherDept()).eq(EduTeacherDept::getTeacherId, staff.getId())); eduStaffDeptService.remove(Wrappers.lambdaQuery(new EduStaffDept()).eq(EduStaffDept::getStaffId, staff.getId())); removeById(staff.getId()); } @@ -1027,35 +778,24 @@ public class EduStaffServiceImpl extends ServiceImpl i @Override public void downloadTemplate(HttpServletResponse response, Integer type) { + // 根据树形结构建造文件夹 + String tempDir = StrUtil.uuid().replace("-", ""); + File dir = FileUtil.mkdir(tempDir); + FileWriter.create(FileUtil.newFile(dir.getAbsolutePath() + "\\" + "请阅读我!!!.txt")) + .writeFromStream(this.getClass().getClassLoader().getResourceAsStream("template/staff.txt"), true); + + FileWriter.create(FileUtil.newFile(dir.getAbsolutePath() + "\\" + "人员信息.xlsx")).writeFromStream( + this.getClass().getClassLoader().getResourceAsStream(type == 0 ? "template/teacher.xlsx" : "template/staff.xlsx"), + true); + File file = ZipUtil.zip(tempDir); + + System.out.println(file.getAbsolutePath()); try { - String fileName = "staff.xlsx"; - // 获取导入文件模板 - ClassPathResource classPathResource = new ClassPathResource("template/" + fileName); - InputStream inputStream = classPathResource.getInputStream(); - com.yida.data.common.core.utils.FileUtil - .download(com.yida.data.common.core.utils.FileUtil.inputStreamToFile(inputStream), fileName, false, response); + com.yida.data.common.core.utils.FileUtil.download(file, "导入模板.zip", true, response); } catch (Exception e) { - throw new FebsException("教职工信息导入模板失败"); + e.printStackTrace(); + log.error("student import template download fail,msg:[{}]", e.getMessage()); } -// -// // 根据树形结构建造文件夹 -// String tempDir = StrUtil.uuid().replace("-", ""); -// File dir = FileUtil.mkdir(tempDir); -// FileWriter.create(FileUtil.newFile(dir.getAbsolutePath() + "\\" + "请阅读我!!!.txt")) -// .writeFromStream(this.getClass().getClassLoader().getResourceAsStream("template/staff.txt"), true); -// -// FileWriter.create(FileUtil.newFile(dir.getAbsolutePath() + "\\" + "人员信息.xlsx")).writeFromStream( -// this.getClass().getClassLoader().getResourceAsStream(type == 0 ? "template/teacher.xlsx" : "template/staff.xlsx"), -// true); -// File file = ZipUtil.zip(tempDir); -// -// System.out.println(file.getAbsolutePath()); -// try { -// com.yida.data.common.core.utils.FileUtil.download(file, "导入模板.zip", true, response); -// } catch (Exception e) { -// e.printStackTrace(); -// log.error("student import template download fail,msg:[{}]", e.getMessage()); -// } } @Override @@ -1063,7 +803,7 @@ public class EduStaffServiceImpl extends ServiceImpl i Workbook workbook = null; try { workbook = new XSSFWorkbook(this.getClass().getClassLoader() - .getResourceAsStream("template" + (type == 0 ? "/老师信息上传表" + ".xlsx" : "/staff.xlsx"))); + .getResourceAsStream("template" + (type == 0 ? "/老师信息上传表" + ".xlsx" : "/staff.xlsx"))); } catch (Exception e) { e.printStackTrace(); log.error("eerror:{}", e.getMessage()); @@ -1233,8 +973,8 @@ public class EduStaffServiceImpl extends ServiceImpl i @Override public IPage listStaffPage(Page page, CurrentUser currentUser, Long areaId, Long schoolId, Long deptId, - Integer isLeader, String position, String name, String mobile, Integer sex, - Integer collectType) { + Integer isLeader, String position, String name, String mobile, Integer sex, + Integer collectType) { List schoolIds = new ArrayList<>(); if (DeptTypeEnum.COMPANY_TYPE.getValue().equals(currentUser.getDeptType())) { if (schoolId != null) { @@ -1249,18 +989,16 @@ public class EduStaffServiceImpl extends ServiceImpl i schoolIds.add(currentUser.getDeptId()); } IPage staffPage = baseMapper.listStaffPage(page, schoolIds, deptId, isLeader, - position, name, mobile, sex, collectType); + position, name, mobile, sex, collectType); if (CollUtil.isNotEmpty(staffPage.getRecords())) { // 查询系统用户 List sysUserIds = staffPage.getRecords().stream().map(StaffPageVO::getSysUserId).filter(Objects::nonNull) - .collect(Collectors.toList()); - List systemUsers = new ArrayList<>(); + .collect(Collectors.toList()); + List systemUsers = null; sysUserIds.addAll( - staffPage.getRecords().stream().map(StaffPageVO::getCreateId).filter(Objects::nonNull) - .collect(Collectors.toList())); + staffPage.getRecords().stream().map(StaffPageVO::getCreateId).filter(Objects::nonNull).collect(Collectors.toList())); if (CollUtil.isNotEmpty(sysUserIds)) { - // TODO: 2023/9/18 注释职工列表调用查询用户信息接口 -// systemUsers = remoteUserService.listInfoById(sysUserIds.toArray(new Long[sysUserIds.size()])).getData(); + systemUsers = remoteUserService.listInfoById(sysUserIds.toArray(new Long[sysUserIds.size()])).getData(); } for (StaffPageVO record : staffPage.getRecords()) { if (CollUtil.isNotEmpty(systemUsers)) { @@ -1285,7 +1023,7 @@ public class EduStaffServiceImpl extends ServiceImpl i Dept dept = commonService.getDept(staffDept.getDeptId()); if (dept != null) { sb.append(dept.getDeptName()).append("-").append(staffDept.getIsLeader() == 1 ? "上级" : "普通成员") - .append(","); + .append(","); } } if (sb.length() > 0) { @@ -1300,15 +1038,8 @@ public class EduStaffServiceImpl extends ServiceImpl i @Override public void saveStaff(EduStaff eduStaff, CurrentUser currentUser) { Dept school = commonService.getDept(eduStaff.getSchoolId()); - - EduStaff existStaff = null; - if (eduStaff.getId() != null) { - existStaff = getById(eduStaff.getId()); - } - log.info("保存前的职工数据==================before: {}", existStaff); - SystemUser systemUser = saveSystemUser(eduStaff); - // 判断是新增还是修改 + //判断是新增还是修改 if (eduStaff.getId() == null) { //新增 eduStaff.setWxId(StrUtil.uuid().replace("-", "")); @@ -1318,7 +1049,11 @@ public class EduStaffServiceImpl extends ServiceImpl i //修改 eduStaff.setUpdateId(currentUser.getUserId()); } - // 保存职工信息 + EduStaff existStaff = null; + if (eduStaff.getId() != null) { + existStaff = getById(eduStaff.getId()); + } + //保存职工信息 saveOrUpdate(eduStaff); // 保存教师人脸 @@ -1347,27 +1082,18 @@ public class EduStaffServiceImpl extends ServiceImpl i EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT, null, eduStaff.getSchoolId()); // 当前为要同步到企业微信 if (eduStaff.getWxPath() == 0) { - log.info("保存后的职工数据-------------------------after: {}", existStaff); // 之前已经创建进行修改 否则新增 if (existStaff != null && existStaff.getWxPath() == 0) { eduStaff.setWxId(existStaff.getWxId()); - wxUtil.updateUser(commonService.getAddressListToken(school.getDeptId()), eduStaff); + wxUtil.updateUser(wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()), eduStaff); } else { - wxUtil.createUser(commonService.getAddressListToken(school.getDeptId()), eduStaff); - // 判断是否需要转换成加密用户id - if (Objects.nonNull(app.getTemplateId())) { - // 转换用户id保存到数据库 - String convertUserId = commonService.getSecretUserId(eduStaff.getWxId(), school.getDeptId()); - eduStaff.setWxId(convertUserId); - } + wxUtil.createUser(wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()), eduStaff); } } else { // 之前同步现在不同步 删除在企业微信中的数据 if (existStaff != null && existStaff.getWxPath() == 0) { - wxUtil.deleteUser(commonService.getAddressListToken(school.getDeptId()), - Collections.singletonList(existStaff.getWxId())); - // 重新生成wxId - eduStaff.setWxId(StrUtil.uuid().replace("-", "")); + wxUtil.deleteUser(wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()), + Collections.singletonList(existStaff.getWxId())); } } } @@ -1384,13 +1110,13 @@ public class EduStaffServiceImpl extends ServiceImpl i sex = sex > 2 ? 1 : sex; if (existStaff != null) { DaHuaUtil.updateUser(eduStaff.getDahuaId(), eduStaff.getName(), eduStaff.getDahuaCode(), 1, sex, null, null, null, - null, null, eduStaff.getAvatar()); + null, null, eduStaff.getAvatar()); } else { String cardNum = DaHuaUtil.generateCardNum(); eduStaff.setDahuaCode(eduStaff.getMobile()); eduStaff.setDahuaId( - DaHuaUtil.addUser(eduStaff.getName(), eduStaff.getMobile(), 1, sex, cardNum, null, null, - null, null, null, eduStaff.getAvatar())); + DaHuaUtil.addUser(eduStaff.getName(), eduStaff.getMobile(), 1, sex, cardNum, null, null, + null, null, null, eduStaff.getAvatar())); } } updateById(eduStaff); @@ -1401,9 +1127,7 @@ public class EduStaffServiceImpl extends ServiceImpl i EduStaff staff = baseMapper.getStaffById(staffId); if (staff != null) { Dept dept = commonService.getDept(staff.getSchoolId()); - if (ObjectUtil.isNotNull(dept)) { - staff.setSchoolName(dept.getDeptName()); - } + staff.setSchoolName(dept.getDeptName()); if (CollUtil.isNotEmpty(staff.getStaffDept())) { for (EduStaffDept staffDept : staff.getStaffDept()) { Dept staffD = commonService.getDept(staffDept.getDeptId()); @@ -1418,93 +1142,54 @@ public class EduStaffServiceImpl extends ServiceImpl i } @Override - public List findTeacherRole(Long teacherId) { - List teacherDeptVOList = new ArrayList<>(); - //查询教师管理的部门, 班主任到班,其他角色到年级 + public List findTeacherRole(Long teacherId) { + List type = eduTeacherDeptMapper.findType(teacherId); - if (type.contains(1)) { //校区负责人 + if (type.contains(1)) { //查询教师对应年级 List deptType = new ArrayList<>(); List teacherDepts = eduTeacherDeptMapper.selectList( - Wrappers.lambdaQuery(new EduTeacherDept()).eq(EduTeacherDept::getTeacherId, teacherId) - .eq(EduTeacherDept::getType, 1)); + Wrappers.lambdaQuery(new EduTeacherDept()).eq(EduTeacherDept::getTeacherId, teacherId) + .eq(EduTeacherDept::getType, 1)); for (EduTeacherDept teacherDept : teacherDepts) { - EduUserDept campusDept = eduUserDeptService.getById(teacherDept.getCampusId()); List data = eduUserDeptService.findListByParent( - Collections.singletonList(teacherDept.getCampusId())); + Collections.singletonList(teacherDept.getCampusId())); for (EduUserDept datum : data) { - EduUserDept sectionDept = eduUserDeptService.getById(datum.getDeptId()); List data1 = eduUserDeptService.findListByParent(Collections.singletonList(datum.getDeptId())); for (EduUserDept dept : data1) { - TeacherDeptVO teacherDeptVO = new TeacherDeptVO(); - teacherDeptVO.setCampusId(teacherDept.getCampusId()); - teacherDeptVO.setCampusName(campusDept.getDeptName()); - teacherDeptVO.setSectionId(datum.getDeptId()); - teacherDeptVO.setSectionName(sectionDept.getDeptName()); - teacherDeptVO.setGradeId(dept.getDeptId()); - teacherDeptVO.setGradeName(dept.getDeptName()); - teacherDeptVO.setType(1); - teacherDeptVOList.add(teacherDeptVO); + List data2 = eduUserDeptService.findListByParent( + Collections.singletonList(dept.getDeptId())); + deptType.addAll(data2); } } } - } else if (type.contains(5)) { //学段负责人 + return deptType; + } else if (type.contains(5)) { List deptType = new ArrayList<>(); List teacherDepts = eduTeacherDeptMapper.selectList( - Wrappers.lambdaQuery(new EduTeacherDept()).eq(EduTeacherDept::getTeacherId, teacherId) - .eq(EduTeacherDept::getType, 5)); + Wrappers.lambdaQuery(new EduTeacherDept()).eq(EduTeacherDept::getTeacherId, teacherId) + .eq(EduTeacherDept::getType, 5)); for (EduTeacherDept teacherDept : teacherDepts) { - EduUserDept sectionDept = eduUserDeptService.getById(teacherDept.getSectionId()); - AllDeptInfoVO parentUp = eduUserDeptService.findParentUp(teacherDept.getSectionId(), 4); List data = eduUserDeptService.findListByParent( - Collections.singletonList(teacherDept.getSectionId())); + Collections.singletonList(teacherDept.getCampusId())); for (EduUserDept datum : data) { - TeacherDeptVO teacherDeptVO = new TeacherDeptVO(); - teacherDeptVO.setCampusId(parentUp.getCampusId()); - teacherDeptVO.setCampusName(parentUp.getCampusName()); - teacherDeptVO.setSectionId(teacherDept.getSectionId()); - teacherDeptVO.setSectionName(sectionDept.getDeptName()); - teacherDeptVO.setGradeId(datum.getDeptId()); - teacherDeptVO.setGradeName(datum.getDeptName()); - teacherDeptVO.setType(5); - teacherDeptVOList.add(teacherDeptVO); + List data1 = eduUserDeptService.findListByParent(Collections.singletonList(datum.getDeptId())); + deptType.addAll(data1); } } - } else if (type.contains(2)) { //年级负责人 + return deptType; + } else if (type.contains(2)) { List deptType = new ArrayList<>(); List teacherDepts = eduTeacherDeptMapper.selectList( - Wrappers.lambdaQuery(new EduTeacherDept()).eq(EduTeacherDept::getTeacherId, teacherId) - .eq(EduTeacherDept::getType, 2)); + Wrappers.lambdaQuery(new EduTeacherDept()).eq(EduTeacherDept::getTeacherId, teacherId) + .eq(EduTeacherDept::getType, 2)); for (EduTeacherDept teacherDept : teacherDepts) { - AllDeptInfoVO parentUp = eduUserDeptService.findParentUp(teacherDept.getSectionId(), 4); - log.info("上级部门信息:{}", parentUp); - TeacherDeptVO teacherDeptVO = new TeacherDeptVO(); - teacherDeptVO.setCampusId(parentUp.getCampusId()); - teacherDeptVO.setCampusName(parentUp.getCampusName()); - teacherDeptVO.setSectionId(parentUp.getSectionId()); - teacherDeptVO.setSectionName(parentUp.getSectionName()); - teacherDeptVO.setGradeId(teacherDept.getGradeId()); EduUserDept data = eduUserDeptService.getById(teacherDept.getGradeId()); - teacherDeptVO.setGradeName(data.getDeptName()); - teacherDeptVO.setType(2); - teacherDeptVOList.add(teacherDeptVO); + deptType.add(data); } - } else { - List deptList = eduTeacherDeptMapper.selectDeptList(teacherId); //班主任或者任课老师 - deptList.forEach(eduUserDept -> { - AllDeptInfoVO parentUp = eduUserDeptService.findParentUp(eduUserDept.getDeptId(), 4); - TeacherDeptVO teacherDeptVO = new TeacherDeptVO(); - teacherDeptVO.setCampusId(parentUp.getCampusId()); - teacherDeptVO.setCampusName(parentUp.getCampusName()); - teacherDeptVO.setSectionId(parentUp.getSectionId()); - teacherDeptVO.setSectionName(parentUp.getSectionName()); - teacherDeptVO.setGradeId(parentUp.getGradeId()); - teacherDeptVO.setGradeName(parentUp.getGradeName()); - teacherDeptVO.setType(3); - teacherDeptVOList.add(teacherDeptVO); - }); + return deptType; } - return teacherDeptVOList; + return eduTeacherDeptMapper.selectDeptList(teacherId); } @Override @@ -1520,7 +1205,7 @@ public class EduStaffServiceImpl extends ServiceImpl i @Override public List listTeacherDept(Long teacherId) { List teacherDeptList = eduTeacherDeptMapper.selectList( - Wrappers.lambdaQuery(new EduTeacherDept()).eq(EduTeacherDept::getTeacherId, teacherId)); + Wrappers.lambdaQuery(new EduTeacherDept()).eq(EduTeacherDept::getTeacherId, teacherId)); if (CollUtil.isNotEmpty(teacherDeptList)) { for (EduTeacherDept teacherDept : teacherDeptList) { Long deptId = null; @@ -1540,11 +1225,7 @@ public class EduStaffServiceImpl extends ServiceImpl i break; } if (deptId != null) { - EduUserDept userDept = eduUserDeptService.getById(deptId); - if (Objects.nonNull(userDept)) { - teacherDept.setDeptWxId(userDept.getWxId()); - } - + teacherDept.setDeptWxId(eduUserDeptService.getById(deptId).getWxId()); } } } @@ -1566,30 +1247,6 @@ public class EduStaffServiceImpl extends ServiceImpl i return eduTeacherDeptMapper.listTeacherCourseByGrade(gradeId, classId); } - @Override - public List listClassByGradeIdAndTeacherId(Long gradeId, Long staffId) { - List type = eduTeacherDeptMapper.findType(staffId); - if (CollUtil.isEmpty(type)) { - return new ArrayList<>(); - } - if (type.contains(1) || type.contains(2) || type.contains(5)) { - return eduUserDeptService.findChildByParent(gradeId); - } else { - List typeList = new ArrayList(); - typeList.add(3); - typeList.add(4); - List teacherDepts = eduTeacherDeptMapper.selectList( - Wrappers.lambdaQuery(new EduTeacherDept()) - .eq(EduTeacherDept::getTeacherId, staffId) - .eq(EduTeacherDept::getGradeId, gradeId) - .in(EduTeacherDept::getType, typeList)); - List list = eduUserDeptService.list(Wrappers.lambdaQuery(new EduUserDept()) - .in(EduUserDept::getDeptId, teacherDepts.stream().map(EduTeacherDept::getClassId).collect( - Collectors.toList()))); - return list; - } - } - @Override public List listTeacherByClassAndName(Long classId, String name) { return eduTeacherDeptMapper.listTeacherByClassAndName(classId, name); @@ -1637,7 +1294,7 @@ public class EduStaffServiceImpl extends ServiceImpl i String staffWxId = staffJson.getStr("userid"); // 职工是否存在 EduStaff existStaff = getOne(Wrappers.lambdaQuery().eq(EduStaff::getWxId, staffWxId) - .eq(EduStaff::getSchoolId, school.getDeptId())); + .eq(EduStaff::getSchoolId, school.getDeptId())); EduStaff eduStaff = existStaff != null ? existStaff : new EduStaff(); eduStaff.setWxId(staffWxId); @@ -1663,16 +1320,14 @@ public class EduStaffServiceImpl extends ServiceImpl i int sex = Integer.parseInt(eduStaff.getSex()) + 1; sex = sex > 2 ? 1 : sex; if (Objects.nonNull(eduStaff.getDahuaId())) { - DaHuaUtil - .updateUser(eduStaff.getDahuaId(), eduStaff.getName(), eduStaff.getDahuaCode(), 1, sex, null, null, - null, + DaHuaUtil.updateUser(eduStaff.getDahuaId(), eduStaff.getName(), eduStaff.getDahuaCode(), 1, sex, null, null, null, null, null, ""); } else { String cardNum = DaHuaUtil.generateCardNum(); eduStaff.setDahuaCode(eduStaff.getMobile()); eduStaff.setDahuaId( - DaHuaUtil.addUser(eduStaff.getName(), eduStaff.getMobile(), 1, sex, cardNum, - null, null, null, null, null, "")); + DaHuaUtil.addUser(eduStaff.getName(), eduStaff.getMobile(), 1, sex, cardNum, + null, null, null, null, null, "")); } } saveOrUpdate(eduStaff); @@ -1682,7 +1337,7 @@ public class EduStaffServiceImpl extends ServiceImpl i JSONArray isLeader = staffJson.getJSONArray("is_leader_in_dept"); if (CollUtil.isNotEmpty(department)) { eduStaffDeptService.remove( - Wrappers.lambdaQuery().eq(EduStaffDept::getStaffId, eduStaff.getId())); + Wrappers.lambdaQuery().eq(EduStaffDept::getStaffId, eduStaff.getId())); List staffDeptList = new ArrayList<>(); for (int i = 0; i < department.size(); i++) { // 成员的每个部门信息 @@ -1691,7 +1346,7 @@ public class EduStaffServiceImpl extends ServiceImpl i staffDept.setStaffName(eduStaff.getName()); staffDept.setDeptWxId(Long.valueOf(department.get(i).toString())); Dept dept = deptCache.containsKey(staffDept.getDeptWxId()) ? deptCache.get(staffDept.getDeptWxId()) - : (department.getLong(i) == 1L ? school : remoteDeptService.getDeptBySchoolAndWxId(school.getDeptId(), + : (department.getLong(i) == 1L ? school : remoteDeptService.getDeptBySchoolAndWxId(school.getDeptId(), Long.valueOf(department.get(i).toString())).getData()); staffDept.setDeptId(dept.getDeptId()); staffDept.setDeptName(dept.getDeptName()); @@ -1735,15 +1390,15 @@ public class EduStaffServiceImpl extends ServiceImpl i NameValueVO male = new NameValueVO<>(); male.setName("男"); male.setValue( - (int) count(Wrappers.lambdaQuery().eq(EduStaff::getSex, 0).in(EduStaff::getSchoolId, schoolIds))); + (int) count(Wrappers.lambdaQuery().eq(EduStaff::getSex, 0).in(EduStaff::getSchoolId, schoolIds))); NameValueVO female = new NameValueVO<>(); female.setName("女"); female.setValue( - (int) count(Wrappers.lambdaQuery().eq(EduStaff::getSex, 1).in(EduStaff::getSchoolId, schoolIds))); + (int) count(Wrappers.lambdaQuery().eq(EduStaff::getSex, 1).in(EduStaff::getSchoolId, schoolIds))); NameValueVO secret = new NameValueVO<>(); secret.setName("未知"); secret.setValue( - (int) count(Wrappers.lambdaQuery().notIn(EduStaff::getSex, 0, 1).in(EduStaff::getSchoolId, schoolIds))); + (int) count(Wrappers.lambdaQuery().notIn(EduStaff::getSex, 0, 1).in(EduStaff::getSchoolId, schoolIds))); genderList.add(male); genderList.add(female); genderList.add(secret); @@ -1758,21 +1413,21 @@ public class EduStaffServiceImpl extends ServiceImpl i List deptList = teacher.getDeptVOList(); // 学段 Map> sectionName = deptList.stream() - .filter(x -> StrUtil.isNotBlank(x.getSectionName())) - .collect(Collectors.groupingBy(TeacherDeptVO::getSectionName)); + .filter(x -> StrUtil.isNotBlank(x.getSectionName())) + .collect(Collectors.groupingBy(TeacherDeptVO::getSectionName)); for (Entry> section : sectionName.entrySet()) { sectionCount.put(section.getKey(), sectionCount.getOrDefault(section.getKey(), 0) + 1); } // 科目 Map> courseName = deptList.stream() - .filter(x -> StrUtil.isNotBlank(x.getCourseName())) - .collect(Collectors.groupingBy(TeacherDeptVO::getCourseName)); + .filter(x -> StrUtil.isNotBlank(x.getCourseName())) + .collect(Collectors.groupingBy(TeacherDeptVO::getCourseName)); for (Entry> course : courseName.entrySet()) { courseCount.put(course.getKey(), courseCount.getOrDefault(course.getKey(), 0) + 1); } // 类型 List typeList = deptList.stream() - .map(TeacherDeptVO::getType).collect(Collectors.toList()); + .map(TeacherDeptVO::getType).collect(Collectors.toList()); for (Integer type : typeList) { String s = null; switch (type) { @@ -1802,8 +1457,8 @@ public class EduStaffServiceImpl extends ServiceImpl i List> sectionList = new ArrayList<>(); for (Entry section : sectionCount.entrySet()) { sectionList - .add(new NameValueVO(Optional.ofNullable(section.getKey()).orElse("未知"), - section.getValue())); + .add(new NameValueVO(Optional.ofNullable(section.getKey()).orElse("未知"), + section.getValue())); } vo.setSection(sectionList); } @@ -1812,8 +1467,8 @@ public class EduStaffServiceImpl extends ServiceImpl i List> courseList = new ArrayList<>(); for (Entry course : courseCount.entrySet()) { courseList.add( - new NameValueVO(course.getKey() == null ? "未知" : course.getKey(), - course.getValue())); + new NameValueVO(course.getKey() == null ? "未知" : course.getKey(), + course.getValue())); } vo.setCourse(courseList); } @@ -1822,7 +1477,7 @@ public class EduStaffServiceImpl extends ServiceImpl i List> typeList = new ArrayList<>(); for (Entry type : typeCount.entrySet()) { typeList - .add(new NameValueVO(type.getKey() == null ? "未知" : type.getKey(), type.getValue())); + .add(new NameValueVO(type.getKey() == null ? "未知" : type.getKey(), type.getValue())); } vo.setType(typeList); } @@ -1844,8 +1499,8 @@ public class EduStaffServiceImpl extends ServiceImpl i @Override public void exportStaff(Long areaId, Long schoolId, Long deptId, Integer isLeader, String position, - String name, String mobile, Integer sex, Integer collectType, - HttpServletResponse response) { + String name, String mobile, Integer sex, Integer collectType, + HttpServletResponse response) { StopWatch stopWatch = new StopWatch(); stopWatch.start(); @@ -1865,7 +1520,7 @@ public class EduStaffServiceImpl extends ServiceImpl i } // 查询职工导出数据 List staffList = baseMapper.listExportStaff(schoolIds, deptId, isLeader, - position, name, mobile, sex, collectType); + position, name, mobile, sex, collectType); List list = new ArrayList<>(); if (CollUtil.isNotEmpty(staffList)) { for (StaffPageVO vo : staffList) { @@ -1881,7 +1536,7 @@ public class EduStaffServiceImpl extends ServiceImpl i Dept dept = commonService.getDept(staffDept.getDeptId()); if (dept != null) { sb.append(dept.getDeptName()).append("-").append(staffDept.getIsLeader() == 1 ? "上级" : "普通成员") - .append(","); + .append(","); } } if (sb.length() > 0) { @@ -1902,179 +1557,8 @@ public class EduStaffServiceImpl extends ServiceImpl i // 导出Excel EasyExcelUtil.exportExcelData(list, StaffExportDTO.class, "职工导出数据", - ExcelTypeEnum.XLS, response); + ExcelTypeEnum.XLS, response); stopWatch.stop(); log.info("导出职工数据总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); } - - @Override - public void getWxIdByStaffId(Long staffId) { - EduStaff eduStaff = getById(staffId); - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, eduStaff.getSchoolId()); - if (Objects.nonNull(app.getTemplateId())) { - // 转换用户id保存到数据库 - String convertUserId = wxServiceProviderUtil - .convertUserIdToSecret(wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()), eduStaff.getWxId()); - EduStaff changeStaff = new EduStaff(); - changeStaff.setId(eduStaff.getId()); - changeStaff.setWxId(convertUserId); - updateById(changeStaff); - } - } - - @Override - public void saveExcelData(ConcurrentHashMap concurrentHashMap, - ConcurrentHashMap errorMap, Long schoolId, long timestamp) { - - // 当前登录用户信息 - CurrentUser currentUser = FebsUtil.getCurrentUser(); - // 当前时间 - LocalDateTime now = LocalDateTime.now(); - - if (!CollectionUtils.isEmpty(concurrentHashMap)) { - // 保存前判断是否已存在 - for (Map.Entry entry : concurrentHashMap.entrySet()) { - // 获取对应key-value值 - Integer i = entry.getKey(); - StaffImportDTO staffImportDTO = entry.getValue(); - // 验证导入信息是否为空 -// if (!checkStudentImportInfo(errorMap, welcomeStudentDTO, i)) { -// continue; -// } - // 验证身份证号码在当前学校的迎新表中是否重复 -// List studentList = -// this.eduSchoolStudentInformationMapper.selectList(Wrappers.lambdaQuery(new EduSchoolStudentInformation()) -// .eq(EduSchoolStudentInformation::getStudentIdCard, welcomeStudentDTO.getStudentIdCard()) -// .eq(EduSchoolStudentInformation::getSchoolId, schoolId) -// ); -// if (!studentList.isEmpty()) { -// log.error("身份证号码已存在: {}", welcomeStudentDTO.toString()); -// errorMap.put(i, "第" + i + "行:" + ResultMsgType.ID_CARD_EXIST.getValue()); -// continue; -// } -// // 验证学区是否存在 -// EduUserDept campus = commonService.getUserDeptBySchoolIdAndNameAndType( -// welcomeStudentDTO.getCampusName(), UserDeptTypeEnum.CAMPUS_TYPE.getValue(), -// schoolId, String.valueOf(timestamp), schoolId); -// if (!Optional.ofNullable(campus).isPresent()) { -// log.error("学区名称错误: {}", welcomeStudentDTO.toString()); -// errorMap.put(i, "第" + i + "行:" + ResultMsgType.CAMPUS_NAME_ERROR.getValue()); -// continue; -// } -// // 验证学段是否存在 -// EduUserDept section = commonService.getUserDeptBySchoolIdAndNameAndType( -// welcomeStudentDTO.getSectionName(), UserDeptTypeEnum.SECTION_TYPE.getValue(), -// schoolId, String.valueOf(timestamp), campus.getDeptId()); -// if (!Optional.ofNullable(section).isPresent()) { -// log.error("学段名称错误: {}", welcomeStudentDTO.toString()); -// errorMap.put(i, "第" + i + "行:" + ResultMsgType.SECTION_NAME_ERROR.getValue()); -// continue; -// } -// // 验证年级是否存在 -// EduUserDept grade = commonService.getUserDeptBySchoolIdAndNameAndType( -// welcomeStudentDTO.getGradeName(), UserDeptTypeEnum.GRADE_TYPE.getValue(), -// schoolId, String.valueOf(timestamp), section.getDeptId()); -// if (!Optional.ofNullable(grade).isPresent()) { -// log.error("年级名称错误: {}", welcomeStudentDTO.toString()); -// errorMap.put(i, "第" + i + "行:" + ResultMsgType.GRADE_NAME_ERROR.getValue()); -// continue; -// } -// // 验证班级是否存在 -// EduUserDept classDept = commonService.getUserDeptBySchoolIdAndNameAndType( -// welcomeStudentDTO.getClassName(), UserDeptTypeEnum.CLASS_TYPE.getValue(), -// schoolId, String.valueOf(timestamp), grade.getDeptId()); -// if (!Optional.ofNullable(classDept).isPresent()) { -// log.error("班级名称错误: {}", welcomeStudentDTO.toString()); -// errorMap.put(i, "第" + i + "行:" + ResultMsgType.CLASS_NAME_ERROR.getValue()); -// continue; -// } - // 保存数据 - EduStaff saveInfo = new EduStaff(); - BeanUtils.copyProperties(staffImportDTO, saveInfo); - saveInfo.setWxPath(1); - saveInfo.setSchoolId(FebsUtil.getDeptId()); - if (StringUtils.isNotEmpty(saveInfo.getMobile())) { - saveStaff(saveInfo, FebsUtil.getCurrentUser()); - } - } - } - } - - @Override - public List getDeptManager(List deptIdList, Long ruleId) { - List teacherDeptList = eduTeacherDeptService.list(Wrappers.lambdaQuery(new EduTeacherDept()) - .eq(EduTeacherDept::getSchoolId, FebsUtil.getTopDeptId())); - List deptManagetVOList = new ArrayList<>(); - for (Long deptId : deptIdList) { - DeptManagetVO vo = new DeptManagetVO(); - vo.setDeptId(deptId); - //班级 - List classDept = teacherDeptList.stream().filter(t -> deptId.equals(t.getClassId())) - .collect(Collectors.toList()); - List managerVoList = new ArrayList<>(); - List staffIdList = new ArrayList<>(); - if (CollUtil.isEmpty(classDept)) { - List gradeDept = teacherDeptList.stream() - .filter(t -> deptId.equals(t.getGradeId()) && ObjectUtil.isNull(t.getClassId())) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(gradeDept)) { - List sectionDept = teacherDeptList.stream().filter( - t -> deptId.equals(t.getSectionId()) && ObjectUtil.isNull(t.getGradeId()) && ObjectUtil - .isNull(t.getClassId())) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(sectionDept)) { - List campusDept = teacherDeptList.stream().filter( - t -> deptId.equals(t.getCampusId()) && ObjectUtil.isNull(t.getSectionId()) && ObjectUtil - .isNull(t.getGradeId()) && ObjectUtil.isNull(t.getClassId())) - .collect(Collectors.toList()); - if (CollUtil.isEmpty(campusDept)) { - List schoolDept = teacherDeptList.stream() - .filter(t -> deptId.equals(-t.getSchoolId()) && ObjectUtil.isNull(t.getCampusId()) && ObjectUtil - .isNull(t.getSectionId()) && ObjectUtil - .isNull(t.getGradeId()) && ObjectUtil.isNull(t.getClassId())) - .collect(Collectors.toList()); - if (CollUtil.isNotEmpty(schoolDept)) { - staffIdList = schoolDept.stream().map(EduTeacherDept::getTeacherId).collect(Collectors.toList()); - } - } else { - staffIdList = campusDept.stream().map(EduTeacherDept::getTeacherId).collect(Collectors.toList()); - } - } else { - staffIdList = sectionDept.stream().map(EduTeacherDept::getTeacherId).collect(Collectors.toList()); - } - } else { - staffIdList = gradeDept.stream().map(EduTeacherDept::getTeacherId).collect(Collectors.toList()); - } - - } else { - staffIdList = classDept.stream().map(EduTeacherDept::getTeacherId).collect(Collectors.toList()); - } - for (Long staffId : staffIdList) { - ManagerVo managerVo = new ManagerVo(); - managerVo.setUserId(staffId); - managerVo.setUserName(commonService.getStaffById(staffId).getName()); - managerVoList.add(managerVo); - } - vo.setManagerVoList(managerVoList); - deptManagetVOList.add(vo); - } - return deptManagetVOList; - } - - @Override - public void updateStaffCache() { - log.info("开始更新教职工信息缓存"); - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - redisService.del(CachePrefixConstant.STAFF_DATA); - List staffList = list(); - for (EduStaff staff : staffList) { - EduStaff staffById = getStaffById(staff.getId()); - if (ObjectUtil.isNotNull(staffById)) { - redisService.hset(CachePrefixConstant.STAFF_DATA, staffById.getId().toString(), staffById); - } - } - stopWatch.stop(); - log.info("更新教职工信息缓存结束,总共耗时:[{}]", stopWatch.getTotalTimeSeconds() + "秒"); - } } \ No newline at end of file diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStudentApplyServiceForImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStudentApplyServiceForImpl.java deleted file mode 100644 index 9d6c69d..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStudentApplyServiceForImpl.java +++ /dev/null @@ -1,137 +0,0 @@ -package com.yida.data.user.service.impl; - -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.enums.RoleEnum; -import com.yida.data.common.core.entity.user.EduParent; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.entity.user.EduStudentApplyFor; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.common.service.CommonService; -import com.yida.data.system.feign.RemoteDeptService; -import com.yida.data.user.dto.ListStudentApplyForDTO; -import com.yida.data.user.mapper.EduStudentApplyForMapper; -import com.yida.data.user.service.EduStudentApplyForService; -import com.yida.data.user.service.EduStudentService; -import com.yida.data.user.service.EduUserDeptService; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.stream.Collectors; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang.StringUtils; -import org.springframework.stereotype.Service; - -@Slf4j -@Service -@RequiredArgsConstructor -public class EduStudentApplyServiceForImpl extends ServiceImpl implements - EduStudentApplyForService { - - private final CommonService commonService; - - private final RemoteDeptService remoteDeptService; - - private final EduUserDeptService eduUserDeptService; - - - private final EduStudentService eduStudentService; - - - /** - * 分页查询学生会员申请记录 - * - * @param dto - * @param page - * @return - */ - @Override - public IPage listStudentApplyFor(ListStudentApplyForDTO dto, Page page) { - List schoolIds = new ArrayList<>(); - CurrentUser currentUser = FebsUtil.getCurrentUser(); - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_SCHOOL_PRINCIPAL.getValue())) { - schoolIds = Collections.singletonList(currentUser.getDeptId()); - } else { - schoolIds = remoteDeptService.getSchoolByArea(null, null).getData().stream().map(Dept::getDeptId) - .collect(Collectors.toList()); - } - dto.setSchoolIdList(schoolIds); - return this.baseMapper.listStudentApplyFor(dto, page); - } - - /** - * 保存会员申请 - * - * @param eduStudentApplyFor - */ - @Override - public void saveStudentApplyFor(EduStudentApplyFor eduStudentApplyFor) { - //判断是否已申请 - EduStudentApplyFor applyFor = getOne( - Wrappers.lambdaQuery(new EduStudentApplyFor()).eq(EduStudentApplyFor::getApplyCode, eduStudentApplyFor.getApplyCode()) - .eq(EduStudentApplyFor::getStudentId, eduStudentApplyFor.getStudentId()) - .eq(EduStudentApplyFor::getStatus, 0)); - if (ObjectUtil.isNotNull(applyFor)) { - throw new FebsException("用户已申请,请等待管理联系处理!"); - } - eduStudentApplyFor.setApplyName( - commonService.getDictByTypeAndValueOrLabel("apply_type", eduStudentApplyFor.getApplyCode(), null).getLabel()); - EduStudent student = eduStudentService.getStudent(eduStudentApplyFor.getStudentId()); - log.info("学生信息:【{}】", student); - eduStudentApplyFor.setStudentName(student.getStuName()); - eduStudentApplyFor.setStudentNumber(student.getStuNumber()); - eduStudentApplyFor.setStudentMobile( - StringUtils.join(student.getParents().stream().map(EduParent::getMobile).collect(Collectors.toList()), ",")); - eduStudentApplyFor.setSchoolName(remoteDeptService.getInfoById(student.getSchoolId()).getData().getDeptName()); - eduStudentApplyFor.setSchoolId(student.getSchoolId()); - eduStudentApplyFor.setCampusId(student.getCampusId()); - eduStudentApplyFor.setCampusName(student.getCampusName()); - eduStudentApplyFor.setSectionId(student.getSectionId()); - eduStudentApplyFor.setSectionName(student.getSectionName()); - eduStudentApplyFor.setGradeId(student.getGradeId()); - eduStudentApplyFor.setGradeName(student.getGradeName()); - eduStudentApplyFor.setClassId(student.getClassId()); - eduStudentApplyFor.setClassName(student.getClassName()); - this.save(eduStudentApplyFor); - } - - /** - * 处理会员申请 - * - * @param id - * @param status - */ - @Override - public void dealApplyFor(Long id, Integer status) { - CurrentUser currentUser = FebsUtil.getCurrentUser(); - - update(Wrappers.lambdaUpdate(new EduStudentApplyFor()).eq(EduStudentApplyFor::getId, id) - .set(EduStudentApplyFor::getStatus, status) - .set(EduStudentApplyFor::getDealStaffId, currentUser.getUserId()) - .set(EduStudentApplyFor::getDealStaffName, currentUser.getUsername())); - } - - /** - * 根据应用编码,用户ID,查询申请详情 - * - * @param studentId - * @param appCode - * @return - */ - @Override - public EduStudentApplyFor getByStudentId(Long studentId, String appCode) { - return getOne( - Wrappers.lambdaQuery(new EduStudentApplyFor()).eq(EduStudentApplyFor::getApplyCode, appCode) - .eq(EduStudentApplyFor::getStudentId, studentId) - .eq(EduStudentApplyFor::getStatus, 0)); - } - - -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStudentApplyServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStudentApplyServiceImpl.java deleted file mode 100644 index 224c935..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStudentApplyServiceImpl.java +++ /dev/null @@ -1,426 +0,0 @@ -package com.yida.data.user.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.date.LocalDateTimeUtil; -import cn.hutool.core.util.ObjectUtil; -import com.alibaba.excel.EasyExcel; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.attendance.dto.IssuedFaceDTO; -import com.yida.data.attendance.feign.RemoteAttendanceDeviceService; -import com.yida.data.common.core.entity.CurrentUser; -import com.yida.data.common.core.entity.Dict; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.enums.RoleEnum; -import com.yida.data.common.core.entity.user.EduStudent; -import com.yida.data.common.core.entity.user.EduStudentApply; -import com.yida.data.common.core.entity.user.EduUserDept; -import com.yida.data.common.core.entity.user.EduUserDevice; -import com.yida.data.common.core.entity.user.EduUserFace; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.common.core.utils.FileUtil; -import com.yida.data.common.service.CommonService; -import com.yida.data.school.dto.transaction.ListApplyFunctionDTO; -import com.yida.data.system.feign.RemoteDeptService; -import com.yida.data.user.dto.ListStudentApplyDTO; -import com.yida.data.user.dto.ListStudentDTO; -import com.yida.data.user.feign.RemoteStudentService; -import com.yida.data.user.listener.importStudentApplyListener; -import com.yida.data.user.mapper.EduStudentApplyMapper; -import com.yida.data.user.mapper.EduUserDeviceMapper; -import com.yida.data.user.service.EduStudentApplyService; -import com.yida.data.user.service.EduStudentService; -import com.yida.data.user.service.EduUserDeptService; -import com.yida.data.user.service.EduUserFaceService; -import com.yida.data.user.vo.StudentApplyImportErrorVO; -import com.yida.data.user.vo.StudentApplyImportProgressVO; -import com.yida.data.user.vo.StudentApplyImportVO; -import com.yida.data.user.vo.StudentApplyStatusVO; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.UUID; -import java.util.stream.Collectors; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Lazy; -import org.springframework.core.io.ClassPathResource; -import org.springframework.stereotype.Service; -import org.springframework.util.StopWatch; -import org.springframework.web.multipart.MultipartFile; - -@Slf4j -@Service -@RequiredArgsConstructor -public class EduStudentApplyServiceImpl extends ServiceImpl implements - EduStudentApplyService { - - private final CommonService commonService; - - private final RedisService redisService; - - private final RemoteStudentService remoteStudentService; - - private final RemoteDeptService remoteDeptService; - - private final EduUserDeptService eduUserDeptService; - - private final EduStudentService eduStudentService; - - private final EduUserFaceService eduUserFaceService; - - private final EduUserDeviceMapper eduUserDeviceMapper; - - private final RemoteAttendanceDeviceService remoteAttendanceDeviceService; - - @Value("${febs.uploadUrl}") - private String uploadUrl; - - @Override - public StudentApplyStatusVO getStudentApplyStatus(Long studentId, String applyCode) { - StudentApplyStatusVO applyStatus = new StudentApplyStatusVO(); - List list = list(Wrappers.lambdaQuery(new EduStudentApply()).eq(EduStudentApply::getStudentId, - studentId) - .eq(EduStudentApply::getApplyCode, applyCode) - .ge(EduStudentApply::getEndTime, LocalDateTime.now()) - .le(EduStudentApply::getStartTime, LocalDateTime.now())); - if (CollUtil.isEmpty(list)) { - List applyList = baseMapper.getStudentApplyStatus(studentId, applyCode); - if (CollUtil.isNotEmpty(applyList)) { - applyStatus.setStatus(2); - applyStatus.setDeadLine(applyList.get(0).getEndTime().toLocalDate().plusDays(1L)); - } else { - applyStatus.setStatus(0); - } - } else { - applyStatus.setStatus(1); - } - return applyStatus; - } - - @Override - public IPage listStudentApply(ListStudentApplyDTO dto, Page page) { - List schoolIds = new ArrayList<>(); - CurrentUser currentUser = FebsUtil.getCurrentUser(); - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_SCHOOL_PRINCIPAL.getValue())) { - schoolIds = Collections.singletonList(currentUser.getDeptId()); - } else { - schoolIds = remoteDeptService.getSchoolByArea(null, null).getData().stream().map(Dept::getDeptId) - .collect(Collectors.toList()); - } - dto.setSchoolIdList(schoolIds); - IPage eduStudentApplyIPage = this.baseMapper.listStudentApply(dto, page); - return eduStudentApplyIPage; - } - - @Override - public void saveStudentApply(EduStudentApply eduStudentApply) { - eduStudentApply.setApplyName( - commonService.getDictByTypeAndValueOrLabel("apply_type", eduStudentApply.getApplyCode(), null).getLabel()); - eduStudentApply.setStudentName(eduStudentService.getById(eduStudentApply.getStudentId()).getStuName()); - eduStudentApply.setStudentNumber(eduStudentService.getById(eduStudentApply.getStudentId()).getStuNumber()); - eduStudentApply.setSchoolName(commonService.getDept(eduStudentApply.getSchoolId()).getDeptName()); - eduStudentApply.setCampusName(eduUserDeptService.getById(eduStudentApply.getCampusId()).getDeptName()); - eduStudentApply.setSectionName(eduUserDeptService.getById(eduStudentApply.getSectionId()).getDeptName()); - eduStudentApply.setGradeName(eduUserDeptService.getById(eduStudentApply.getGradeId()).getDeptName()); - eduStudentApply.setClassName(eduUserDeptService.getById(eduStudentApply.getClassId()).getDeptName()); - this.save(eduStudentApply); - - //编辑再次下发人脸 - UpdateUserToHaiQing(eduStudentApply); - - } - - - /** - * 更新面板机会员 - * - * @param eduStudentApply - */ - public void UpdateUserToHaiQing(EduStudentApply eduStudentApply) { - EduUserFace userFace = eduUserFaceService.getOne( - Wrappers.lambdaQuery(new EduUserFace()).eq(EduUserFace::getUserId, eduStudentApply.getStudentId()) - .eq(EduUserFace::getUserType, 0)); - if (userFace == null) { - userFace = new EduUserFace(); - userFace.setUserId(eduStudentApply.getStudentId()); - userFace.setName(eduStudentApply.getStudentName()); - userFace.setUserType(0); - - EduStudent student = (EduStudent) redisService.hget(CachePrefixConstant.STUDENT_DATA, - eduStudentApply.getStudentId().toString()); - if (student == null) { - student = eduStudentService.getStudent(eduStudentApply.getStudentId()); - } - if (ObjectUtil.isNull(student) || ObjectUtil.isNull(student.getAvatar())) { - log.info("无匹配学生信息或者导入学生信息无头像,无法下发 === {}", student.getId()); - return; - } - } - userFace.setNotes(1); - userFace.setCardValidBegin(eduStudentApply.getStartTime().toString()); - userFace.setCardValidEnd(eduStudentApply.getEndTime().toString()); - eduUserFaceService.saveOrUpdate(userFace); - //用户原来存在的设备 - List userDeviceList = eduUserDeviceMapper.selectList( - Wrappers.lambdaQuery(new EduUserDevice()).eq(EduUserDevice::getUserId, eduStudentApply.getStudentId()) - .eq(EduUserDevice::getUserType, 0)); - if (CollUtil.isNotEmpty(userDeviceList)) { - // 用户已经被下发到设备,更新设备上的图像 - Map> userDeviceMap = userDeviceList.stream().collect( - Collectors.groupingBy(EduUserDevice::getFaceGroupId)); - for (Map.Entry> entry : userDeviceMap.entrySet()) { - Long faceGroupId = entry.getKey(); - List eduUserDevices = entry.getValue(); - // 设备id - List deviceIds = eduUserDevices.stream().map(EduUserDevice::getDeviceId).distinct() - .collect(Collectors.toList()); - IssuedFaceDTO dto = new IssuedFaceDTO(); - dto.setDeviceList(deviceIds); - dto.setGroupId(faceGroupId); - dto.setUserFaceList(Collections.singletonList(userFace)); - remoteAttendanceDeviceService.issuedFace(dto); - } - } - } - - @Override - public void downloadTemplate(HttpServletResponse response) throws Exception { - - String fileName = "学生开通应用导入模板.xls"; - // 获取导入文件模板 - ClassPathResource classPathResource = new ClassPathResource("template/" + fileName); - InputStream inputStream = classPathResource.getInputStream(); - FileUtil.download(FileUtil.inputStreamToFile(inputStream), fileName, false, response); - } - - @Override - public void importStudentApplyInfo(MultipartFile file, String redisKey) throws IOException { - log.info("开始导入学生开通应用数据"); - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - EasyExcel.read(file.getInputStream(), StudentApplyImportVO.class, - new importStudentApplyListener(this, redisKey)) - .sheet(0).headRowNumber(1).doRead(); - stopWatch.stop(); - log.info("导入学生开通应用数据总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); - } - - @Override - public void insertStudentApplyData(List studentApplyImportVOList, String redisKey) { - StudentApplyImportProgressVO progressVO = new StudentApplyImportProgressVO(); - progressVO.setFinish(0); - progressVO.setTotalNum(studentApplyImportVOList.size()); - progressVO.setCurrentNum(0); - progressVO.setRedisKey(redisKey); - redisService.hset(CachePrefixConstant.IMPORT_STUDENT_APPLY_PROGRESS, redisKey, progressVO); - - List errorVOList = new ArrayList<>(); - List saveData = new ArrayList<>(); - Integer index = 1; - - for (StudentApplyImportVO studentApplyImportVO : studentApplyImportVOList) { - index++; - String baseMag = "第" + index + "行,"; - StudentApplyImportErrorVO studentApplyImportErrorVO = checkImportDataIsNull(index, studentApplyImportVO); - if (studentApplyImportErrorVO != null) { - progressVO.setCurrentNum(index - 1); - errorVOList.add(studentApplyImportErrorVO); - continue; - } - Dept dept = commonService.getSchoolByName(studentApplyImportVO.getSchoolName()); - if (ObjectUtil.isNull(dept)) { - StudentApplyImportErrorVO errorVO = new StudentApplyImportErrorVO(); - errorVO.setErrorMsg(baseMag + "学校名称不匹配"); - errorVOList.add(errorVO); - progressVO.setCurrentNum(index - 1); - continue; - } - // 根据学校ID、学号查询学生信息 检测学号与学生姓名是否匹配 - EduStudent student = new EduStudent(); - student.setSchoolId(dept.getDeptId()); - student.setStuNumber(studentApplyImportVO.getStudentNumber()); - List currentStudentList = remoteStudentService.listBaseStudentNoJoin(student).getData(); - EduStudentApply eduStudentApply = new EduStudentApply(); - eduStudentApply.setCampusName(studentApplyImportVO.getCampusName()); - eduStudentApply.setSectionName(studentApplyImportVO.getSectionName()); - eduStudentApply.setGradeName(studentApplyImportVO.getGradeName()); - eduStudentApply.setClassName(studentApplyImportVO.getClassName()); - - eduStudentApply.setSchoolName(dept.getDeptName()); - eduStudentApply.setSchoolId(dept.getDeptId()); - - if (CollUtil.isEmpty(currentStudentList)) { - StudentApplyImportErrorVO errorVO = new StudentApplyImportErrorVO(); - errorVO.setErrorMsg(baseMag + "学生学号有误"); - errorVOList.add(errorVO); - progressVO.setCurrentNum(index - 1); - continue; - } - eduStudentApply.setStudentNumber(currentStudentList.get(0).getStuNumber()); - if (!ObjectUtil.equal(studentApplyImportVO.getStudentName(), currentStudentList.get(0).getStuName())) { - StudentApplyImportErrorVO errorVO = new StudentApplyImportErrorVO(); - errorVO.setErrorMsg(baseMag + "学生姓名与学号不匹配"); - errorVOList.add(errorVO); - progressVO.setCurrentNum(index - 1); - continue; - } - eduStudentApply.setStudentName(currentStudentList.get(0).getStuName()); - - EduUserDept campus = eduUserDeptService.getById(currentStudentList.get(0).getCampusId()); - if (campus.getDeptName().equals(studentApplyImportVO.getCampusName())) { - eduStudentApply.setCampusId(currentStudentList.get(0).getCampusId()); - } else { - StudentApplyImportErrorVO errorVO = new StudentApplyImportErrorVO(); - errorVO.setErrorMsg(baseMag + "学区名称与学区名称不匹配"); - errorVOList.add(errorVO); - progressVO.setCurrentNum(index - 1); - continue; - } - - EduUserDept section = eduUserDeptService.getById(currentStudentList.get(0).getSectionId()); - if (section.getDeptName().equals(studentApplyImportVO.getSectionName())) { - eduStudentApply.setSectionId(currentStudentList.get(0).getSectionId()); - } else { - StudentApplyImportErrorVO errorVO = new StudentApplyImportErrorVO(); - errorVO.setErrorMsg(baseMag + "学段名称与学段名称不匹配"); - errorVOList.add(errorVO); - progressVO.setCurrentNum(index - 1); - continue; - } - - EduUserDept grade = eduUserDeptService.getById(currentStudentList.get(0).getGradeId()); - if (grade.getDeptName().equals(studentApplyImportVO.getGradeName())) { - eduStudentApply.setGradeId(currentStudentList.get(0).getGradeId()); - } else { - StudentApplyImportErrorVO errorVO = new StudentApplyImportErrorVO(); - errorVO.setErrorMsg(baseMag + "学生年级名称与年级名称不匹配"); - errorVOList.add(errorVO); - progressVO.setCurrentNum(index - 1); - continue; - } - - EduUserDept clazz = eduUserDeptService.getById(currentStudentList.get(0).getClassId()); - if (clazz.getDeptName().equals(studentApplyImportVO.getClassName())) { - eduStudentApply.setClassId(currentStudentList.get(0).getClassId()); - } else { - StudentApplyImportErrorVO errorVO = new StudentApplyImportErrorVO(); - errorVO.setErrorMsg(baseMag + "学生班级名称与班级名称不匹配"); - errorVOList.add(errorVO); - progressVO.setCurrentNum(index - 1); - continue; - } - - log.info("行数据:{}", studentApplyImportVO); - Dict dict = commonService.getDictByTypeAndValueOrLabel("apply_type", null, studentApplyImportVO.getApplyName()); - log.info("获取字典信息:{}", dict); - if (ObjectUtil.isNull(dict)) { - StudentApplyImportErrorVO errorVO = new StudentApplyImportErrorVO(); - errorVO.setErrorMsg(baseMag + "无此应用"); - errorVOList.add(errorVO); - progressVO.setCurrentNum(index - 1); - continue; - } else { - eduStudentApply.setApplyCode(dict.getValue()); - eduStudentApply.setApplyName(studentApplyImportVO.getApplyName()); - } - eduStudentApply.setStudentId(currentStudentList.get(0).getId()); - String startTime = studentApplyImportVO.getStartTime(); - if (startTime.contains("/")) { - startTime = startTime.replaceAll("/", "-"); - } - - String endTime = studentApplyImportVO.getEndTime(); - if (endTime.contains("/")) { - endTime = endTime.replaceAll("/", "-"); - } - - eduStudentApply - .setStartTime(LocalDateTimeUtil - .parse(startTime + " 00:00:00", "yyyy-MM-dd HH:mm:ss")); - eduStudentApply - .setEndTime(LocalDateTimeUtil - .parse(endTime + " 00:00:00", "yyyy-MM-dd HH:mm:ss")); - - saveData.add(eduStudentApply); - - progressVO.setCurrentNum(index - 1); - redisService.hset(CachePrefixConstant.IMPORT_STUDENT_APPLY_PROGRESS, redisKey, progressVO); - } - if (CollUtil.isNotEmpty(saveData)) { - super.saveBatch(saveData); - } - - productErrorExcel(errorVOList, progressVO); - } - - @Override - public StudentApplyImportProgressVO getImportStudentApplyInfoProgress(String redisKey) { - return (StudentApplyImportProgressVO) redisService - .hget(CachePrefixConstant.IMPORT_STUDENT_APPLY_PROGRESS, redisKey); - } - - - public void productErrorExcel(List errorVOList, StudentApplyImportProgressVO progressVO) { - // 错误信息文件名称 - if (CollUtil.isNotEmpty(errorVOList)) { - String fileName = FileUtil.getLocalUploadAddress() + UUID.randomUUID().toString() + ".xlsx"; - EasyExcel.write(fileName, StudentApplyImportErrorVO.class) - .sheet("错误信息") - .doWrite(errorVOList); - // 上传到媒资 - String url = FileUtil.uploadFileToMediaServer(uploadUrl, new File(fileName)); - progressVO.setErrorPageUrl(url); - } - progressVO.setFinish(1); - redisService.hset(CachePrefixConstant.IMPORT_STUDENT_APPLY_PROGRESS, progressVO.getRedisKey(), progressVO); - } - - /** - * 检测插入数据是否为空 - * - * @return - */ - public StudentApplyImportErrorVO checkImportDataIsNull(Integer index, StudentApplyImportVO studentApplyImportVO) { - StudentApplyImportErrorVO studentApplyImportErrorVO = null; - String baseMag = "第" + index + "行,"; - if (ObjectUtil.isNull(studentApplyImportVO.getSchoolName())) { - studentApplyImportErrorVO = new StudentApplyImportErrorVO(); - studentApplyImportErrorVO.setErrorMsg(baseMag + "学校名称为空"); - } - if (ObjectUtil.isNull(studentApplyImportVO.getStudentName())) { - studentApplyImportErrorVO = new StudentApplyImportErrorVO(); - studentApplyImportErrorVO.setErrorMsg(baseMag + "学生姓名为空"); - } - if (ObjectUtil.isNull(studentApplyImportVO.getStudentNumber())) { - studentApplyImportErrorVO = new StudentApplyImportErrorVO(); - studentApplyImportErrorVO.setErrorMsg(baseMag + "学生学号为空"); - } - if (ObjectUtil.isNull(studentApplyImportVO.getApplyName())) { - studentApplyImportErrorVO = new StudentApplyImportErrorVO(); - studentApplyImportErrorVO.setErrorMsg(baseMag + "开通应用为空"); - } - if (ObjectUtil.isNull(studentApplyImportVO.getStartTime())) { - studentApplyImportErrorVO = new StudentApplyImportErrorVO(); - studentApplyImportErrorVO.setErrorMsg(baseMag + "有效开始时间为空"); - } - if (ObjectUtil.isNull(studentApplyImportVO.getStartTime())) { - studentApplyImportErrorVO = new StudentApplyImportErrorVO(); - studentApplyImportErrorVO.setErrorMsg(baseMag + "有效结束时间为空"); - } - return studentApplyImportErrorVO; - } -} diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStudentDormServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStudentDormServiceImpl.java index ec8a082..3e25b32 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStudentDormServiceImpl.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStudentDormServiceImpl.java @@ -17,12 +17,9 @@ import com.yida.data.common.service.CommonService; import com.yida.data.school.dto.index.EditPersonNumDTO; import com.yida.data.school.dto.index.ListDormRoomDTO; import com.yida.data.school.feign.facility.RemoteDormitoryService; -import com.yida.data.user.config.ExportStudentDormClient; import com.yida.data.user.dto.ExchangeDormDTO; import com.yida.data.user.dto.ImportStudentDormDTO; import com.yida.data.user.dto.PageStudentDormDTO; -import com.yida.data.user.excel.SelectStudentDormExportData; -import com.yida.data.user.excel.SelectStudentExportData; import com.yida.data.user.listener.ImportStudentDormListener; import com.yida.data.user.mapper.EduStudentMapper; import com.yida.data.user.service.EduStudentDormService; @@ -30,35 +27,29 @@ import com.yida.data.user.service.EduUserDeptService; import com.yida.data.user.vo.StudentDormInfoVO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; -import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; -import javax.annotation.Resource; import java.io.IOException; import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; +@Transactional @Slf4j @Service @RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) public class EduStudentDormServiceImpl implements EduStudentDormService { private final EduStudentMapper eduStudentMapper; private final RemoteDormitoryService remoteDormitoryService; + private final CommonService commonService; private final RedisService redisService; private final EduUserDeptService eduUserDeptService; - @Lazy - @Resource - private ExportStudentDormClient exportStudentDormClient; - @Override public IPage listStudentDormPage(PageStudentDormDTO dto) { List dormIds = new ArrayList<>(); @@ -66,19 +57,18 @@ public class EduStudentDormServiceImpl implements EduStudentDormService { // 查询匹配的宿舍 if (dto.getDormRoomId() == null) { List dormRooms = remoteDormitoryService.listDormRoom(ListDormRoomDTO.builder() - .schoolId(dto.getSchoolId()) - .floor(dto.getFloor()) - .dormIds(dto.getDormId() != null ? Collections.singletonList(dto.getDormId()) : null).build()).getData(); + .schoolId(dto.getSchoolId()) + .floor(dto.getFloor()) + .dormIds(dto.getDormId() != null ? Arrays.asList(dto.getDormId()) : null).build()).getData(); if (CollUtil.isNotEmpty(dormRooms)) { dormRoomGroup = dormRooms.stream().collect(Collectors.groupingBy(EduDormitoryRoom::getDormId)); dormIds = dormRooms.stream().map(EduDormitoryRoom::getId).collect(Collectors.toList()); } } else { - dormIds = Collections.singletonList(dto.getDormRoomId()); + dormIds = Arrays.asList(dto.getDormRoomId()); } // 宿舍为空 不查询数据 if (CollUtil.isEmpty(dormIds)) { - dormIds = new ArrayList<>(); dormIds.add(-1L); } IPage page = eduStudentMapper.listStudentDormPage(dto.toPage(), dormIds, dto); @@ -103,15 +93,16 @@ public class EduStudentDormServiceImpl implements EduStudentDormService { } else { dormRoom = remoteDormitoryService.getDormRoom(record.getDormRoomId()).getData(); if (dormRoom != null) { - dormRoomGroup.put(dormRoom.getId(), Collections.singletonList(dormRoom)); + dormRoomGroup.put(dormRoom.getId(), Arrays.asList(dormRoom)); } } // 查询到了寝室信息 if (dormRoom != null) { - String dormRoomName = dormRoom.getDormName() + - dormRoom.getFloor() + "层" + - dormRoom.getName(); - record.setDormRoomName(dormRoomName); + StringBuilder dormRoomName = new StringBuilder(); + dormRoomName.append(dormRoom.getDormName()) + .append(dormRoom.getFloor()).append("层") + .append(dormRoom.getName()); + record.setDormRoomName(dormRoomName.toString()); } } } @@ -120,7 +111,7 @@ public class EduStudentDormServiceImpl implements EduStudentDormService { @Override public void saveStudentDorm(Long studentId, Long dormRoomId, Long dormId) { - EduDormitoryRoom dormRoom = remoteDormitoryService.getDormRoomNoPermission(dormRoomId).getData(); + EduDormitoryRoom dormRoom = remoteDormitoryService.getDormRoom(dormRoomId).getData(); // 满员 Asserts.isTrue(dormRoom.getCheckInNum() < dormRoom.getBedNum(), "该宿舍已满员"); EduStudent student = new EduStudent(); @@ -156,9 +147,9 @@ public class EduStudentDormServiceImpl implements EduStudentDormService { } //List roomIds = students.stream().map(x -> x.getDormRoomId()).collect(Collectors.toList()); eduStudentMapper.update(null, Wrappers.lambdaUpdate() - .in(EduStudent::getId, studentIds) - .set(EduStudent::getDormRoomId, null) - .set(EduStudent::getDormId, null)); + .in(EduStudent::getId, studentIds) + .set(EduStudent::getDormRoomId, null) + .set(EduStudent::getDormId, null)); // 添加 remoteDormitoryService.editPersonNum(dtoMap.values().stream().collect(Collectors.toList())); } @@ -171,21 +162,21 @@ public class EduStudentDormServiceImpl implements EduStudentDormService { EduStudent targetStudent = eduStudentMapper.selectById(dto.getTargetStudentId()); // 相互交换寝室 eduStudentMapper.update(null, Wrappers.lambdaUpdate() - .eq(EduStudent::getId, dto.getStudentId()) - .set(EduStudent::getDormRoomId, targetStudent.getDormRoomId()) - .set(EduStudent::getDormId, targetStudent.getDormId()) - .set(EduStudent::getCheckInTime, LocalDateTime.now())); + .eq(EduStudent::getId, dto.getStudentId()) + .set(EduStudent::getDormRoomId, targetStudent.getDormRoomId()) + .set(EduStudent::getDormId, targetStudent.getDormId()) + .set(EduStudent::getCheckInTime, LocalDateTime.now())); eduStudentMapper.update(null, Wrappers.lambdaUpdate() - .eq(EduStudent::getId, dto.getTargetStudentId()) - .set(EduStudent::getDormRoomId, student.getDormRoomId()) - .set(EduStudent::getDormId, student.getDormId()) - .set(EduStudent::getCheckInTime, LocalDateTime.now())); + .eq(EduStudent::getId, dto.getTargetStudentId()) + .set(EduStudent::getDormRoomId, student.getDormRoomId()) + .set(EduStudent::getDormId, student.getDormId()) + .set(EduStudent::getCheckInTime, LocalDateTime.now())); } else if (dto.getTargetDormId() != null) { eduStudentMapper.update(null, Wrappers.lambdaUpdate() - .eq(EduStudent::getId, dto.getStudentId()) - .set(EduStudent::getDormRoomId, dto.getTargetDormRoomId()) - .set(EduStudent::getDormId, dto.getTargetDormId()) - .set(EduStudent::getCheckInTime, LocalDateTime.now())); + .eq(EduStudent::getId, dto.getStudentId()) + .set(EduStudent::getDormRoomId, dto.getTargetDormRoomId()) + .set(EduStudent::getDormId, dto.getTargetDormId()) + .set(EduStudent::getCheckInTime, LocalDateTime.now())); // 添加新寝室 删除原寝室 EditPersonNumDTO editNew = new EditPersonNumDTO(); EditPersonNumDTO editOld = new EditPersonNumDTO(); @@ -200,33 +191,19 @@ public class EduStudentDormServiceImpl implements EduStudentDormService { @Override public void importDormRoom(MultipartFile file, Long schoolId, String key) { ImportPercentVO percent = - (ImportPercentVO) redisService.hget(CachePrefixConstant.IMPORT_STUDENT_DORM, key); + (ImportPercentVO) redisService.hget(CachePrefixConstant.IMPORT_STUDENT_DORM, key); Asserts.isTrue(percent == null || percent.getFinish() == 1, "有文件正在导入,请稍后重试"); try { int rowNum = ExcelUtil.readExcel(file.getInputStream(), "xlsx").getSheetAt(0).getLastRowNum(); ImportPercentVO percentVO = new ImportPercentVO(); percentVO.setTotal(Long.valueOf(rowNum)); EasyExcel.read(file.getInputStream(), ImportStudentDormDTO.class, - new ImportStudentDormListener(redisService, eduStudentMapper, remoteDormitoryService, percentVO, schoolId, - key)).sheet().doRead(); + new ImportStudentDormListener(redisService, eduStudentMapper, remoteDormitoryService, percentVO, schoolId, + key)).sheet().doRead(); } catch (IOException e) { log.error("导入失败", e); throw new FebsException("导入失败"); } } - - @Override - public void exportStudentDorm(PageStudentDormDTO dto, String key) { - SelectStudentDormExportData data = new SelectStudentDormExportData(); - BeanUtils.copyProperties(dto, data); - data.setKey(key); - data.setFunctionName("学生宿舍导出"); - exportStudentDormClient.exportExcelData(data); - } - - @Override - public Object getStudentDormExportInfo(String key) { - return exportStudentDormClient.selectExportInfo(key); - } } \ No newline at end of file diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStudentServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStudentServiceImpl.java index 3cc44b6..9fb63ff 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStudentServiceImpl.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduStudentServiceImpl.java @@ -6,14 +6,15 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.file.FileWriter; -import cn.hutool.core.lang.UUID; import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.*; -import cn.hutool.extra.servlet.ServletUtil; +import cn.hutool.core.util.CharsetUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.core.util.ZipUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; -import com.alibaba.excel.EasyExcel; import com.alibaba.excel.support.ExcelTypeEnum; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -29,37 +30,38 @@ import com.yida.data.common.core.entity.message.EduMessageStrategy; import com.yida.data.common.core.entity.notice.app.AppNotice; import com.yida.data.common.core.entity.notice.app.inside.PushMessage; import com.yida.data.common.core.entity.school.EduYidaAppAccount; -import com.yida.data.common.core.entity.system.*; -import com.yida.data.common.core.entity.system.enums.RoleEnum; -import com.yida.data.common.core.entity.system.enums.SysFunctionEnum; +import com.yida.data.common.core.entity.system.Dept; +import com.yida.data.common.core.entity.system.EduApp; +import com.yida.data.common.core.entity.system.EduYidaApp; import com.yida.data.common.core.entity.user.*; import com.yida.data.common.core.enums.DictType; -import com.yida.data.common.core.enums.UserTypeEnum; import com.yida.data.common.core.exception.FebsException; import com.yida.data.common.core.utils.*; -import com.yida.data.common.core.vo.ImportPercentVO; import com.yida.data.common.core.vo.NameValueVO; import com.yida.data.common.service.CommonService; -import com.yida.data.school.dto.news.SysNoticeSaveDTO; import com.yida.data.school.dto.transaction.ListBuyStudentDTO; -import com.yida.data.school.feign.news.RemoteNoticeSystemService; import com.yida.data.system.feign.RemoteCommonService; import com.yida.data.system.feign.RemoteDeptService; import com.yida.data.system.vo.ClassInfoVO; -import com.yida.data.user.config.ExportStudentClient; -import com.yida.data.user.dto.*; +import com.yida.data.user.dto.DelFaceGroupUserDTO; +import com.yida.data.user.dto.ListStudentDTO; +import com.yida.data.user.dto.PageStudentDTO; +import com.yida.data.user.dto.StudentExportDTO; import com.yida.data.user.dto.h5.BindStudentDTO; -import com.yida.data.user.excel.CardDataDataExcelListener; -import com.yida.data.user.excel.SelectStudentDormExportData; -import com.yida.data.user.excel.SelectStudentExportData; -import com.yida.data.user.listener.ImportStudentTypeListener; import com.yida.data.user.mapper.EduParentMapper; import com.yida.data.user.mapper.EduParentStudentMapper; -import com.yida.data.user.mapper.EduStaffMapper; -import com.yida.data.user.mapper.EduStudentApplyMapper; import com.yida.data.user.mapper.EduStudentMapper; import com.yida.data.user.service.*; -import com.yida.data.user.vo.*; +import com.yida.data.user.vo.DownLoadPicVO; +import com.yida.data.user.vo.ListParentByStudentIdsVO; +import com.yida.data.user.vo.StaStudentVO; +import com.yida.data.user.vo.StudentClassInfoVO; +import java.io.FileOutputStream; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLEncoder; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -67,21 +69,16 @@ import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Lazy; -import org.springframework.core.io.ClassPathResource; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StopWatch; -import org.springframework.web.multipart.MultipartFile; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.*; -import java.net.HttpURLConnection; -import java.net.URL; -import java.time.LocalDateTime; +import java.io.BufferedInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; import java.util.*; import java.util.Map.Entry; import java.util.concurrent.ExecutorService; @@ -89,8 +86,6 @@ import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; @Slf4j @Service @@ -99,26 +94,17 @@ import java.util.zip.ZipOutputStream; public class EduStudentServiceImpl extends ServiceImpl implements EduStudentService { private final EduParentMapper eduParentMapper; + private final EduParentStudentMapper eduParentStudentMapper; private final EduUserFaceService eduUserFaceService; private final EduUserDeptService eduUserDeptService; private final EduParentTypeService eduParentTypeService; private final EduStudentDormService eduStudentDormService; private final EduFaceGroupUserService eduFaceGroupUserService; - private final EduParentStudentService eduParentStudentService; private final EduMessageStrategyService eduMessageStrategyService; - private final EduParentStudentMapper eduParentStudentMapper; - private final EduStudentApplyMapper eduStudentApplyMapper; - private final EduStaffService eduStaffService; - - @Lazy - @Resource - private ImportWelcomeStudentService importWelcomeStudentService; - private final RemoteDeptService remoteDeptService; private final RemoteCommonService remoteCommonService; - private final RemoteNoticeSystemService remoteNoticeSystemService; private final WxUtil wxUtil; private final CommonService commonService; @@ -127,28 +113,11 @@ public class EduStudentServiceImpl extends ServiceImpl()); @Override public IPage findStudentPage(PageStudentDTO dto) { - //查询后台用户身份 - CurrentUser currentUser = FebsUtil.getCurrentUser(); - String rolePerms = FebsUtil.getCurrentUser().getRolePerms(); - //学校管理员 - if (rolePerms.contains(RoleEnum.ROLE_SCHOOL_PRINCIPAL.getValue())) { - dto.setSchoolId(FebsUtil.getTopDeptId()); - } else { - if (ObjectUtil.isNull(dto.getClassId())) { - dto.setClassIdList(eduStaffService.listClassIdByStaffId()); - } else { - dto.setClassIdList(Collections.singletonList(dto.getClassId())); - } - } IPage studentPage = baseMapper.selectStudentPage(dto.toPage().setOptimizeCountSql(false), dto); if (CollUtil.isNotEmpty(studentPage.getRecords())) { studentPage.setRecords(fillStudentDept(studentPage.getRecords())); @@ -158,29 +127,19 @@ public class EduStudentServiceImpl extends ServiceImpl 0, "学号已存在"); - Dept school = commonService.getDept(student.getSchoolId()); EduStudent existStudent = null; if (student.getId() != null) { existStudent = getById(student.getId()); - //清除小程序url缓存链接 - if (!ObjectUtil.equals(student.getAvatar(), existStudent.getAvatar())) { - commonService.delUserGenerateUrlLinkCache(student.getSchoolId(), student.getId(), UserTypeEnum.PARENT_USER_TYPE - .getType()); - } } - + //判断学生是否已经存在 + Asserts.isFalse(student.getId() == null && + count(Wrappers.lambdaQuery(new EduStudent()) + .eq(EduStudent::getSchoolId, student.getSchoolId()) + .eq(EduStudent::getStuNumber, student.getStuNumber())) > 0, "学生已存在"); //只有当前孩子作为家长的家长 List lateParent = null; // 微信app与token @@ -249,7 +208,6 @@ public class EduStudentServiceImpl extends ServiceImpl> faceGroupMap = faceList.stream().collect( - Collectors.groupingBy(EduFaceGroupUser::getFaceGroupId)); - faceGroupMap.forEach((faceGroupId, userList) -> - eduFaceGroupUserService.delUserBatch(DelFaceGroupUserDTO.builder() - .faceGroupId(faceGroupId) - .faceIds(userList.stream().map(EduFaceGroupUser::getId).collect(Collectors.toList())) - .build()) - ); + eduFaceGroupUserService.delUserBatch(DelFaceGroupUserDTO.builder() + .faceIds(faceList.stream().map(EduFaceGroupUser::getId).collect(Collectors.toList())).build()); } // 所有学生的家长 List parentList = eduParentMapper.listParentByStudent(studentIds); @@ -484,15 +436,6 @@ public class EduStudentServiceImpl extends ServiceImpl { - log.info("删除class学生数据:{}", s); - redisService - .del(CachePrefixConstant.CLASS_STUDENT_DATA + s.getClassId()); - - //删除学生缓存小程序链接 - commonService.delUserGenerateUrlLinkCache(s.getSchoolId(), s.getId(), UserTypeEnum.PARENT_USER_TYPE.getType()); - }); } @Override @@ -696,57 +639,6 @@ public class EduStudentServiceImpl extends ServiceImpl errorList = new ArrayList<>(); - EasyExcel.read(new File(path), CardImportDTO.class, - new CardDataDataExcelListener(importWelcomeStudentService, errorList, schoolId, currentUser)) - .sheet().headRowNumber(1).doRead(); - stopWatch.stop(); - log.info("导入校园卡号数据总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); - // 判断是否有错误数据 - if (CollUtil.isNotEmpty(errorList)) { - // 错误信息文件名称 - String fileName = com.yida.data.common.core.utils.FileUtil.getLocalUploadAddress() + UUID.randomUUID() + ".xlsx"; - EasyExcel.write(fileName, CardErrorExportDTO.class) - .sheet("错误信息") - .doWrite(errorList); - // 上传到媒资 - String url = com.yida.data.common.core.utils.FileUtil.uploadFileToMediaServer(uploadUrl, new File(fileName)); - // 保存导入不成功的数据和原因 - remoteNoticeSystemService.sendNotice( - SysNoticeSaveDTO.builder() - .userId(Collections.singletonList(currentUser.getUserId())) - .content("校园卡号部分数据导入失败. 详情信息请点击下载 错误信息.xlsx") - .createDate(LocalDateTime.now()) - .build()); - } else { - remoteNoticeSystemService.sendNotice( - SysNoticeSaveDTO.builder() - .userId(Collections.singletonList(currentUser.getUserId())) - .content("校园卡号导入成功") - .createDate(LocalDateTime.now()) - .build()); - } - } catch (Exception e) { - log.error("导入校园卡号数据失败: {}", e.getMessage(), e); - remoteNoticeSystemService.sendNotice( - SysNoticeSaveDTO.builder() - .userId(Collections.singletonList(currentUser.getUserId())) - .content("校园卡号导入失败") - .createDate(LocalDateTime.now()) - .build()); - } finally { - // 清空当前导入的redis学校数据 - redisService.hdel(CachePrefixConstant.IMPORT_STUDENT_KEY + currentUser.getUsername(), key.toString()); - FileUtil.del(path); - } - } - @Override public Integer importStaffHeartbeat(String username, Long key) { Object value = redisService.hget(CachePrefixConstant.IMPORT_STUDENT_KEY + username, key.toString()); @@ -756,25 +648,6 @@ public class EduStudentServiceImpl extends ServiceImpl> listImportKey(String username) { List> list = new ArrayList<>(); @@ -903,20 +776,6 @@ public class EduStudentServiceImpl extends ServiceImpl getParentByPhoneAndSchoolId(List phone, Long schoolId) { return baseMapper.getParentByPhoneAndSchoolId(phone, schoolId); @@ -1217,17 +1076,28 @@ public class EduStudentServiceImpl extends ServiceImpl studentList = baseMapper.selectStudent(dto); + List list = new ArrayList<>(); + for (EduStudent eduStudent : studentList) { + StudentExportDTO exportDTO = new StudentExportDTO(); + BeanUtils.copyProperties(eduStudent, exportDTO); - @Override - public Object getStudentExportInfo(String key) { - return exportStudentClient.selectExportInfo(key); + String collectStatus = "未采集"; + if (Objects.nonNull(eduStudent.getCollectType()) && eduStudent.getCollectType() == 1) { + collectStatus = "已采集"; + } + exportDTO.setCollectStatus(collectStatus); + list.add(exportDTO); + } + // 导出Excel + EasyExcelUtil.exportExcelData(list, StudentExportDTO.class, "学生导出数据", + ExcelTypeEnum.XLS, response); + stopWatch.stop(); + log.info("导出学生数据总共耗时: {}", stopWatch.getTotalTimeSeconds() + "秒"); } @Override @@ -1498,64 +1368,5 @@ public class EduStudentServiceImpl extends ServiceImpl listStudentOutPage(OutPageStudentDTO dto, HttpServletRequest request) { - // 判断是否在白名单 - WhiteList whiteList = commonService.getWhiteList(SysFunctionEnum.HAI_PU_TIAN.getValue()); - // 当前请求ip地址 -// String ipAddress = FebsUtil.getHttpServletRequestIpAddress(); - String ipAddress = ServletUtil.getClientIP(request, ""); - log.info("当前ip地址: {}", ipAddress); - if (Objects.isNull(whiteList) || StrUtil.isEmpty(whiteList.getRequestIp()) - || !whiteList.getRequestIp().contains(ipAddress)) { - throw new FebsException("非法ip地址"); - } - // 判断当前学校是否开通了此功能 - EduDeptFunction function = commonService.getDeptFunction(SysFunctionEnum.HAI_PU_TIAN.getValue(), dto.getSchoolId()); - if (Objects.isNull(function)) { - throw new FebsException("当前学校暂不支持此功能"); - } - // TODO 2023/3/8 需要处理请求次数 - - Dict dict = commonService.getDictByTypeAndValueOrLabel("apply_type", null, "食堂消费"); - if (Objects.isNull(dict)) { - throw new FebsException("当前学校暂不支持此功能"); - } - IPage page = baseMapper.listStudentOutPage(new Page<>(dto.getPageNum(), dto.getPageSize()), dto); - page.getRecords().forEach(outPageStudentVO -> { - // 查询是否是会员 - EduStudentApply studentApply = eduStudentApplyMapper - .getStudentApply(outPageStudentVO.getStudentId(), dict.getValue()); - if (Objects.isNull(studentApply)) { - // 非会员需要设备头像为空 - outPageStudentVO.setAvatar(""); - } - }); - return page; - } - - @Override - public void updateStudentCache() { - log.info("开始更新学生信息缓存"); - StopWatch stopWatch = new StopWatch(); - stopWatch.start(); - redisService.del(CachePrefixConstant.STUDENT_DATA); - List studentList = baseMapper.getStudentListWithParent(null, null, null); - for (EduStudent student : studentList) { - redisService.hset(CachePrefixConstant.STUDENT_DATA, student.getId().toString(), student); - } - stopWatch.stop(); - log.info("更新学生信息缓存结束,总共耗时:[{}]", stopWatch.getTotalTimeSeconds() + "秒"); - } - - @Override - public List selectStudent(PageStudentDTO dto) { - return baseMapper.selectStudent(dto); - } - - @Override - public List listStudentDorm(List dormRoomIds, SelectStudentDormExportData selectStudentDormExportData) { - return baseMapper.listStudentDorm(dormRoomIds, selectStudentDormExportData); - } } \ No newline at end of file diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduTeachDeptServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduTeachDeptServiceImpl.java index 5d554d4..e0dbc11 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduTeachDeptServiceImpl.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduTeachDeptServiceImpl.java @@ -59,13 +59,10 @@ public class EduTeachDeptServiceImpl extends ServiceImpl listTeacherDept(Long deptId, String type) { List teacherDeptList = list(Wrappers.lambdaQuery(new EduTeacherDept()) - // 教师类型 1表示校区负责人,2表示年级负责人,3表示班主任,4表示任课老师,5表示学段负责人,6表示学校负责人 - .eq(EduTeacherDept::getType, type) - .eq("3".equals(type), EduTeacherDept::getClassId, deptId) - .eq("2".equals(type), EduTeacherDept::getGradeId, deptId) - .eq("1".equals(type), EduTeacherDept::getCampusId, deptId) - .eq("5".equals(type), EduTeacherDept::getSectionId, deptId) - .eq("6".equals(type), EduTeacherDept::getSchoolId, deptId) + // 教师类型 1表示校区负责人,2表示年级负责人,3表示班主任,4表示任课老师,5表示学段负责人 + .eq(EduTeacherDept::getType, type) + .eq("3".equals(type), EduTeacherDept::getClassId, deptId) + .eq("2".equals(type), EduTeacherDept::getGradeId, deptId) ); if (CollUtil.isEmpty(teacherDeptList)) { return new ArrayList<>(); @@ -74,9 +71,4 @@ public class EduTeachDeptServiceImpl extends ServiceImpl staffIds = teacherDeptList.stream().map(EduTeacherDept::getTeacherId).distinct().collect(Collectors.toList()); return eduStaffMapper.selectList(Wrappers.lambdaQuery(new EduStaff()).in(EduStaff::getId, staffIds)); } - - @Override - public long countTeacherNumber(Long schoolId) { - return baseMapper.countTeacherNumber(schoolId); - } } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduUserDeptServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduUserDeptServiceImpl.java index 480320b..15d7c2c 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduUserDeptServiceImpl.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduUserDeptServiceImpl.java @@ -1,39 +1,28 @@ package com.yida.data.user.service.impl; -import static com.yida.data.common.core.entity.constant.CachePrefixConstant.STAFF_DATA; - import cc.mrbird.febs.common.redis.service.RedisService; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.json.JSONUtil; -import cn.hutool.json.JSONArray; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -//import com.yida.data.attendance.feign.RemoteAttendanceResultService; -//import com.yida.data.attendance.vo.AttendanceRuleCacheVO; -//import com.yida.data.attendance.vo.RuleListVO; import com.yida.data.common.core.common.ResultMsgType; import com.yida.data.common.core.entity.CurrentUser; import com.yida.data.common.core.entity.QueryRequest; import com.yida.data.common.core.entity.Tree; import com.yida.data.common.core.entity.UserDeptTree; -import com.yida.data.common.core.entity.attendance.EduAttendanceRuleTime; import com.yida.data.common.core.entity.constant.AppConstant; import com.yida.data.common.core.entity.constant.CachePrefixConstant; import com.yida.data.common.core.entity.constant.FebsConstant; import com.yida.data.common.core.entity.constant.PageConstant; -import com.yida.data.common.core.entity.school.EduDormitory; import com.yida.data.common.core.entity.system.Dept; import com.yida.data.common.core.entity.system.EduApp; import com.yida.data.common.core.entity.system.enums.DeptTypeEnum; import com.yida.data.common.core.entity.system.enums.RoleEnum; -import com.yida.data.common.core.entity.user.EduStaff; +import com.yida.data.common.core.entity.user.EduCollectData; +import com.yida.data.common.core.entity.user.EduCollectData.EduCollectDataBuilder; import com.yida.data.common.core.entity.user.EduStaffWork; import com.yida.data.common.core.entity.user.EduStudent; import com.yida.data.common.core.entity.user.EduUserDept; @@ -45,31 +34,31 @@ import com.yida.data.common.core.entity.user.enums.UserDeptTypeEnum; import com.yida.data.common.core.enums.IncludeTypeEnum; import com.yida.data.common.core.exception.FebsException; import com.yida.data.common.core.utils.*; -import com.yida.data.school.feign.facility.RemoteDormitoryService; import com.yida.data.system.feign.RemoteDeptService; import com.yida.data.system.vo.ClassInfoVO; import com.yida.data.system.vo.SchoolClassInfoVO; import com.yida.data.user.dto.*; -import com.yida.data.user.mapper.*; +import com.yida.data.user.mapper.EduStaffMapper; +import com.yida.data.user.mapper.EduStudentMapper; +import com.yida.data.user.mapper.EduUserDeptMapper; +import com.yida.data.user.mapper.EduUserDeptStandardGradeMapper; +import com.yida.data.user.mapper.QywxAppMapper; import com.yida.data.user.service.EduStaffService; import com.yida.data.user.service.EduStaffWorkService; import com.yida.data.user.service.EduUserDeptService; import com.yida.data.user.vo.AllDeptInfoVO; -import com.yida.data.user.vo.ClassAttendanceDataVO; import com.yida.data.user.vo.CollectDataVO; +import com.yida.data.user.vo.TeacherClassVO; import com.yida.data.user.vo.TeacherDeptVO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; -import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StopWatch; -import javax.annotation.Resource; -import java.time.LocalDate; import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -87,22 +76,21 @@ import java.util.stream.Collectors; public class EduUserDeptServiceImpl extends ServiceImpl implements EduUserDeptService { - @Lazy - @Resource - private EduStaffService eduStaffService; - private final EduStaffWorkService eduStaffWorkService; + private final RemoteDeptService remoteDeptService; private final QywxAppMapper appMapper; - private final EduStaffMapper eduStaffMapper; - private final EduStudentMapper eduStudentMapper; private final EduUserDeptStandardGradeMapper eduUserDeptStandardGradeMapper; - private final RemoteDeptService remoteDeptService; - private final RemoteDormitoryService remoteDormitoryService; - private final WxUtil wxUtil; private final RedisService redisService; + private final EduStaffWorkService eduStaffWorkService; + + private final EduStaffMapper eduStaffMapper; + + private final EduStudentMapper eduStudentMapper; + + /** * 查询所有子节点 * @@ -192,6 +180,15 @@ public class EduUserDeptServiceImpl extends ServiceImpl EduUserDept eduUserDeptGrade = this .getOne(Wrappers.lambdaQuery(new EduUserDept()).eq(EduUserDept::getDeptId, teacherDeptVO.getGradeId())); + //查询当前班级学生采集人数 +// Long totalNum = eduStudentMapper.selectCount(Wrappers.lambdaQuery(new EduStudent()) +// .eq(EduStudent::getSchoolId, currentUser.getDeptId()) +// .eq(EduStudent::getClassId, teacherDeptVO.getClassId())); +// +// Long collectNum = eduStudentMapper.selectCount(Wrappers.lambdaQuery(new EduStudent()) +// .eq(EduStudent::getSchoolId, currentUser.getDeptId()) +// .eq(EduStudent::getClassId, teacherDeptVO.getClassId()) +// .eq(EduStudent::getCollectType, 1)); //根据班级查询学生信息 List studentList = eduStudentMapper.selectList( Wrappers.lambdaQuery(new EduStudent()).eq(EduStudent::getClassId, teacherDeptVO.getClassId()) @@ -199,31 +196,37 @@ public class EduUserDeptServiceImpl extends ServiceImpl collectDataVO.add(CollectDataVO.builder().classId(eduUserDeptClass.getDeptId()) .className(eduUserDeptClass.getDeptName()).gradeName(eduUserDeptGrade.getDeptName()) - .totalNum((long) studentList.size()) + .totalNum(new Long(studentList.size())) .collectNum(studentList.stream().filter(student -> - ObjectUtil.isNotNull(student.getAvatar()) && student.getAvatar().contains("zbz.yd-data.com") + student.getCollectType() == 1 ).count()).studentList(studentList).build()); }); } } else { //包含年级 List gradeList = findChildByParentAndType(Collections.singletonList(one.getPDeptId()), 2); + log.info("user:[{}]", gradeList); gradeList.forEach(eduUserDept -> { List childByParent = findChildByParent(eduUserDept.getDeptId()); childByParent.forEach(eduUserDeptClass -> { + //查询当前班级学生采集人数 +// Long totalNum = eduStudentMapper.selectCount(Wrappers.lambdaQuery(new EduStudent()) +// .eq(EduStudent::getSchoolId, currentUser.getDeptId()) +// .eq(EduStudent::getClassId, eduUserDeptClass.getDeptId())); +// +// Long collectNum = eduStudentMapper.selectCount(Wrappers.lambdaQuery(new EduStudent()) +// .eq(EduStudent::getSchoolId, currentUser.getDeptId()) +// .eq(EduStudent::getClassId, eduUserDeptClass.getDeptId()) +// .eq(EduStudent::getCollectType, 1)); //根据班级查询学生信息 List studentList = eduStudentMapper.selectList( Wrappers.lambdaQuery(new EduStudent()).eq(EduStudent::getClassId, eduUserDeptClass.getDeptId()) .orderByAsc(EduStudent::getCollectType)); + collectDataVO.add(CollectDataVO.builder().classId(eduUserDeptClass.getDeptId()) .className(eduUserDeptClass.getDeptName()) - .gradeName(eduUserDept.getDeptName()) - .totalNum((long) studentList.size()) - .collectNum( - studentList.stream().filter( - student -> ObjectUtil.isNotNull(student.getAvatar()) && student.getAvatar() - .contains("zbz.yd-data.com")) - .count()) + .gradeName(eduUserDept.getDeptName()).totalNum(new Long(studentList.size())) + .collectNum(studentList.stream().filter(student -> student.getCollectType() == 1).count()) .studentList(studentList) .build()); }); @@ -232,312 +235,11 @@ public class EduUserDeptServiceImpl extends ServiceImpl return collectDataVO; } - @Override - public List findClassAttendanceByUserId(Long staffId, LocalDate date) { - - List returnList = new ArrayList<>(); - //判断当前用户角色 - CurrentUser currentUser = FebsUtil.getCurrentUser(); - //取缓存 - List classAttendanceDataVOList = redisService - .lGet(CachePrefixConstant.STAFF_MANGE_DEPT + staffId, 0L, -1L); - -// log.info("缓存数据【{}】", classAttendanceDataVOList); - - if (CollUtil.isEmpty(classAttendanceDataVOList)) { - classAttendanceDataVOList = new ArrayList<>(); - //宿管 - List eduDormitoryList = remoteDormitoryService.listDormByMaster(staffId) - .getData(); - if (CollUtil.isNotEmpty(eduDormitoryList)) { - for (EduDormitory dormitory : eduDormitoryList) { - classAttendanceDataVOList.add( - ClassAttendanceDataVO.builder().classId(dormitory.getId()).name(dormitory.getName()).type(1).build()); - } - } - //班主任、年级主任、学段主任、学区主任 - //班主任 - List totalClassDeptList = new ArrayList<>(); - log.info("用户【{}】角色【{}】", staffId, currentUser.getRolePerms()); - - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_CLASS_PRINCIPAL.getValue())) { - List teacherDeptVOS = eduStaffMapper.listDeptByTeacher(staffId, 3); - for (TeacherDeptVO teacherDeptVO : teacherDeptVOS) { - teacherDeptVO.setClassName(this.getById(teacherDeptVO.getClassId()).getDeptName()); - teacherDeptVO.setGradeName(this.getById(teacherDeptVO.getGradeId()).getDeptName()); - teacherDeptVO - .setCampusName(this.getById(teacherDeptVO.getCampusId()).getDeptName()); - totalClassDeptList.add(teacherDeptVO); - } - } - //年级主任 - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_GRADE_PRINCIPAL.getValue())) { - List teacherDeptVOS = eduStaffMapper.listDeptByTeacher(staffId, 2); - teacherDeptVOS.forEach(teacherDeptVO -> { - String gradeName = this.getById(teacherDeptVO.getGradeId()).getDeptName(); - String campusName = this.getById(teacherDeptVO.getCampusId()).getDeptName(); - List childByParent = findChildByParent(teacherDeptVO.getGradeId()); - childByParent.forEach(eduUserDept -> { - TeacherDeptVO teacherDeptVO1 = new TeacherDeptVO(); - teacherDeptVO1.setGradeId(teacherDeptVO.getGradeId()); - teacherDeptVO1.setClassId(eduUserDept.getDeptId()); - teacherDeptVO1 - .setClassName(this.getById(eduUserDept.getDeptId()).getDeptName()); - teacherDeptVO1.setGradeName(gradeName); - teacherDeptVO1.setCampusName(campusName); - totalClassDeptList.add(teacherDeptVO1); - }); - }); - } - - //学段主任 - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_SECTION_PRINCIPAL.getValue())) { - List sectionList = eduStaffMapper.listDeptByTeacher(staffId, 5); - sectionList.forEach(section -> { - String campusName = this.getById(section.getCampusId()).getDeptName(); - List gradeList = findChildByParentAndType(Collections.singletonList(section.getSectionId()), 2); - gradeList.forEach(grade -> { - String gradeName = this.getById(grade.getDeptId()).getDeptName(); - List classList = findChildByParent(grade.getDeptId()); - classList.forEach(clazz -> { - TeacherDeptVO teacherDeptVO = new TeacherDeptVO(); - teacherDeptVO.setGradeId(grade.getDeptId()); - teacherDeptVO.setClassId(clazz.getDeptId()); - teacherDeptVO - .setClassName(this.getById(clazz.getDeptId()).getDeptName()); - teacherDeptVO.setGradeName(gradeName); - teacherDeptVO.setCampusName(campusName); - totalClassDeptList.add(teacherDeptVO); - }); - }); - }); - } - - //学区主任 - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_CAMPUS_PRINCIPAL.getValue())) { - List campusList = eduStaffMapper.listDeptByTeacher(staffId, 1); - campusList.forEach(campus -> { - String campusName = this.getById(campus.getCampusId()).getDeptName(); - List gradeList = findChildByParentAndType(Collections.singletonList(campus.getCampusId()), 2); - gradeList.forEach(grade -> { - String gradeName = this.getById(grade.getDeptId()).getDeptName(); - List classList = findChildByParent(grade.getDeptId()); - classList.forEach(clazz -> { - TeacherDeptVO teacherDeptVO = new TeacherDeptVO(); - teacherDeptVO.setGradeId(grade.getDeptId()); - teacherDeptVO.setClassId(clazz.getDeptId()); - teacherDeptVO - .setClassName(this.getById(clazz.getDeptId()).getDeptName()); - teacherDeptVO.setGradeName(gradeName); - teacherDeptVO.setCampusName(campusName); - totalClassDeptList.add(teacherDeptVO); - }); - }); - }); - } - //查询学校负责人,即校领导 - List schoolList = eduStaffMapper.listDeptByTeacher(staffId, 6); - if (CollUtil.isNotEmpty(schoolList)) { - schoolList.forEach(school -> { - List campusList = findChildByParentAndType( - Collections.singletonList(-school.getSchoolId()), 4); - campusList.forEach(campus -> { - String campusName = this.getById(campus.getDeptId()).getDeptName(); - List gradeList = findChildByParentAndType(Collections.singletonList(campus.getDeptId()), - 2); - gradeList.forEach(grade -> { - String gradeName = this.getById(grade.getDeptId()).getDeptName(); - List classList = findChildByParent(grade.getDeptId()); - classList.forEach(clazz -> { - TeacherDeptVO teacherDeptVO = new TeacherDeptVO(); - teacherDeptVO.setGradeId(grade.getDeptId()); - teacherDeptVO.setClassId(clazz.getDeptId()); - teacherDeptVO - .setClassName(this.getById(clazz.getDeptId()).getDeptName()); - teacherDeptVO.setGradeName(gradeName); - teacherDeptVO.setCampusName(campusName); - totalClassDeptList.add(teacherDeptVO); - }); - }); - }); - }); - } - -// log.info("去重前用户所有班级:【{}】", classAttendanceDataVOList); - if (CollUtil.isNotEmpty(totalClassDeptList)) { - for (TeacherDeptVO teacherDeptVO : totalClassDeptList) { - classAttendanceDataVOList - .add(ClassAttendanceDataVO.builder().classId(teacherDeptVO.getClassId()).name( - teacherDeptVO.getCampusName() + "/" + teacherDeptVO.getGradeName() + "/" + teacherDeptVO - .getClassName()).type(0).build()); - } - } - //去重 - classAttendanceDataVOList = classAttendanceDataVOList.stream().distinct().collect(Collectors.toList()); - -// log.info("去重后用户所有班级:【{}】", classAttendanceDataVOList); - - if (CollUtil.isNotEmpty(classAttendanceDataVOList)) { - redisService.llSet(CachePrefixConstant.STAFF_MANGE_DEPT + staffId, classAttendanceDataVOList); - } - } - EduStaff staff = (EduStaff) redisService.hget(STAFF_DATA, staffId.toString()); - if (ObjectUtil.isEmpty(staff)) { - staff = eduStaffMapper.getStaff(staffId); - } - -// AttendanceRuleCacheVO attendanceRuleCacheVO = (AttendanceRuleCacheVO) redisService -// .hget(CachePrefixConstant.SCHOOL_RULE_DATA, staff.getSchoolId().toString()); -// if (ObjectUtil.isNull(attendanceRuleCacheVO) || CollUtil.isEmpty(attendanceRuleCacheVO.getRuleListVOList())) { -// return new ArrayList<>(); -// } -// RuleListVO ruleListVO = attendanceRuleCacheVO.getRuleListVOList().get(0); -// -// List todayRuleTimeList = ruleListVO.getTimeList().stream() -// .filter(r -> r.getDayOfWeek() == LocalDate.now().getDayOfWeek().getValue()).collect( -// Collectors.toList()); - -// Long ruleTimeId = todayRuleTimeList.get(0).getId(); - - String ruleTimeId = ""; - -// log.info("今日考勤时段ruleTimeID:【{}】", ruleTimeId); - for (Object o : classAttendanceDataVOList) { - //统计数据 - //默认一个规则,一个考勤时段 - ClassAttendanceDataVO classAttendanceDataVO = (ClassAttendanceDataVO) o; - ClassAttendanceDataVO redisData = new ClassAttendanceDataVO(); - if (classAttendanceDataVO.getType() == 0) { - redisData = (ClassAttendanceDataVO) redisService - .hget(CachePrefixConstant.ATTENDANCE_DORMITORY_CLASS + date, - classAttendanceDataVO.getClassId().toString() + ruleTimeId); - } else { - redisData = (ClassAttendanceDataVO) redisService - .hget(CachePrefixConstant.ATTENDANCE_DORMITORY_DORM + date, - classAttendanceDataVO.getClassId().toString() + ruleTimeId); - } -// -// Integer type = classAttendanceDataVO.getType(); -// List studentList = new ArrayList<>(); -// if (type == 0) { -// //班级 -// //根据班级查询学生信息 -// studentList = eduStudentMapper.selectList( -// Wrappers.lambdaQuery(new EduStudent()).eq(EduStudent::getClassId, classAttendanceDataVO.getClassId()) -// .eq(EduStudent::getType, 1)); -// } else { -// //宿舍 -// //查询宿舍总人数、异常人数 -// ListStudentDTO dto = new ListStudentDTO(); -// dto.setDormIds(Collections.singletonList(classAttendanceDataVO.getClassId())); -// dto.setType(1); -// studentList = eduStudentMapper.listStudent(dto); -// } -// -// ListResultDTO paramDto = new ListResultDTO(); -// paramDto.setDate(date); -// paramDto.setStudentIdList(studentList.stream().map(EduStudent::getId).collect(Collectors.toList())); -// paramDto.setType(1); //类型:0异常,1正常 -// Integer abnormalNum = 0; -// if (CollUtil.isNotEmpty(studentList)) { -// abnormalNum = remoteAttendanceResultService -// .getAbnormalStudentList(paramDto) -// .getData().size(); -// } -// classAttendanceDataVO.setTotalNum(studentList.size()); -// classAttendanceDataVO.setAbnormalNum(studentList.size() - abnormalNum); - if (ObjectUtil.isNotNull(redisData)) { - returnList.add(redisData); - } - } - return returnList; - } @Override - public List findClassAttendanceDetailByDeptId(Long deptId, Integer type, LocalDate date) { - if (type == 0) { - ClassAttendanceDataVO redisData = (ClassAttendanceDataVO) redisService - .hget(CachePrefixConstant.ATTENDANCE_DORMITORY_DORM + date, - deptId.toString()); - if (ObjectUtil.isNull(redisData)) { - return new ArrayList<>(); - } else { - return redisData.getStudentList(); - } - } else { - ClassAttendanceDataVO redisData = (ClassAttendanceDataVO) redisService - .hget(CachePrefixConstant.ATTENDANCE_DORMITORY_CLASS + date, - deptId.toString()); - if (ObjectUtil.isNull(redisData)) { - return new ArrayList<>(); - } else { - return redisData.getStudentList(); - } - } - -// -// List studentList = new ArrayList<>(); -// if (type == 0) { -// //班级 -// //根据班级查询学生信息 -// ListStudentDTO dto = new ListStudentDTO(); -// dto.setClassId(deptId); -// dto.setType(1); -// studentList = eduStudentMapper.listStudentByCondition(dto); -//// studentList = eduStudentMapper.selectList( -//// Wrappers.lambdaQuery(new EduStudent()).eq(EduStudent::getClassId, deptId).eq(EduStudent::getType, 1) -//// .orderByAsc(EduStudent::getCollectType)); -// } else { -// //宿舍 -// //查询宿舍总人数、异常人数 -// ListStudentDTO dto = new ListStudentDTO(); -// dto.setDormIds(Collections.singletonList(deptId)); -// dto.setIsQueryUserDept(true); -// dto.setType(1); -// studentList = eduStudentMapper.listStudent(dto); -// } -// -// ListResultDTO paramDto = new ListResultDTO(); -// paramDto.setDate(date); -// paramDto.setStudentIdList(studentList.stream().map(EduStudent::getId).collect(Collectors.toList())); -// paramDto.setType(0); //类型:0异常,1正常 -// -// List abnormalStudentList = remoteAttendanceResultService -// .getAbnormalStudentList(paramDto) -// .getData(); -// -// log.info("异常数据【{}】", abnormalStudentList); -// -// Map> listMap = abnormalStudentList.stream() -// .collect(Collectors.groupingBy(EduAttendanceResult::getStudentId)); -// -// for (EduStudent student : studentList) { -// List eduAttendanceResultList = listMap.get(student.getId()); -// log.info("eduAttendanceResultList========【{}】", eduAttendanceResultList); -// -// if (CollUtil.isEmpty(eduAttendanceResultList)) { -// student.setDormAttStatus(0); -// } else { -// EduAttendanceResult eduAttendanceResult = listMap.get(student.getId()).get(0); -// if (ObjectUtil.isNotNull(eduAttendanceResult)) { -// if (ObjectUtil.isNull(eduAttendanceResult.getBeginStatus())) { -// student.setDormAttStatus(4); -// } else { -// student.setDormAttStatus(eduAttendanceResult.getBeginStatus()); -// } -// } else { -// student.setDormAttStatus(0); -// } -// } -// } -// return studentList; - } - - - @Override - public List findChildIdByParentAndType(List userDeptIdList, Integer type, List resultList) { + public List findChildIdByParentAndType(List userDeptIdList, Integer type) { List result = list(Wrappers.lambdaQuery().in(EduUserDept::getParentId, userDeptIdList) - .eq(ObjectUtil.isNotNull(type), EduUserDept::getDeptType, type) + .eq(EduUserDept::getDeptType, type) .eq(EduUserDept::getVisible, DeptVisibleTypeEnum.VISIBLE_TYPE.getValue()) .eq(EduUserDept::getGraduatedStatus, GraduatedStatusEnum.UNDERGRADUATE_STATUS.getValue()) .orderByDesc(EduUserDept::getOrderNum)); @@ -548,12 +250,10 @@ public class EduUserDeptServiceImpl extends ServiceImpl .orderByDesc(EduUserDept::getOrderNum)) .stream().map(EduUserDept::getDeptId).collect(Collectors.toList()); if (CollUtil.isNotEmpty(child)) { - findChildIdByParentAndType(child, type, resultList); + result = findChildIdByParentAndType(child, type); } - } else { - resultList.addAll(result); } - return resultList; + return result; } /** @@ -763,34 +463,6 @@ public class EduUserDeptServiceImpl extends ServiceImpl return TreeUtil.build(trees); } - @Override - public List getUserDeptTree(List deptIds) { - // 返回的树结构 - List allDeptList = new ArrayList<>(); - // 根节点集合 - List rootIdList = new ArrayList<>(); - - if (CollUtil.isNotEmpty(deptIds)) { - for (Long deptId : deptIds) { - // 添加根节点 - EduUserDept root = this.getById(deptId); - if (ObjectUtil.isNotNull(root)) { - if (root.getParentId() != null) { - root.setParentId(null); - root.setParentWxId(null); - } - allDeptList.add(root); - rootIdList.add(deptId); - } - } - } - // 循环查询子节点 - allDeptList.addAll(findListByParent(rootIdList)); - List trees = new ArrayList<>(); - buildTrees(trees, allDeptList, false); - return TreeUtil.build(trees); - } - /** * 根据各层名称查询班级信息 * @@ -878,7 +550,7 @@ public class EduUserDeptServiceImpl extends ServiceImpl if (school.getSchoolType().contains(Dept.TYPE_QYWX)) { bindFlag = true; eduApp = appMapper.selectOne(Wrappers.lambdaQuery(new EduApp()).eq(EduApp::getDeptId, - school.getDeptId()).eq(EduApp::getCode, AppConstant.CONTACT_SCHOOL)); + school.getDeptId()).eq(EduApp::getName, AppConstant.CONTACT_SCHOOL)); if (eduApp != null) { Long wxId = wxUtil.createUserDept(wxUtil.getAccessToken(eduApp.getWxCorpId(), eduApp.getWxSecret()), campus); @@ -956,7 +628,7 @@ public class EduUserDeptServiceImpl extends ServiceImpl if (school.getSchoolType().contains(Dept.TYPE_QYWX)) { bindFlag = true; eduApp = appMapper.selectOne(Wrappers.lambdaQuery(new EduApp()).eq(EduApp::getDeptId, - school.getDeptId()).eq(EduApp::getCode, AppConstant.CONTACT_SCHOOL)); + school.getDeptId()).eq(EduApp::getName, AppConstant.CONTACT_SCHOOL)); } // 学校绑定了大华 if (school.getSchoolType().contains(Dept.TYPE_DAHUA)) { @@ -1037,8 +709,6 @@ public class EduUserDeptServiceImpl extends ServiceImpl this.save(classDept); } }); - - updateSchoolClassData(sectionDTO.getSchoolId()); } /** @@ -1083,7 +753,7 @@ public class EduUserDeptServiceImpl extends ServiceImpl if (school.getSchoolType().contains(Dept.TYPE_QYWX)) { bindFlag = true; eduApp = appMapper.selectOne(Wrappers.lambdaQuery(new EduApp()).eq(EduApp::getDeptId, - school.getDeptId()).eq(EduApp::getCode, AppConstant.CONTACT_SCHOOL)); + school.getDeptId()).eq(EduApp::getName, AppConstant.CONTACT_SCHOOL)); if (eduApp != null) { Long wxId = wxUtil.createUserDept(wxUtil.getAccessToken(eduApp.getWxCorpId(), eduApp.getWxSecret()), grade); @@ -1126,8 +796,6 @@ public class EduUserDeptServiceImpl extends ServiceImpl } // 批量保存班级数据 this.saveBatch(classList); - - updateSchoolClassData(saveGradeDTO.getSchoolId()); } /** @@ -1181,7 +849,7 @@ public class EduUserDeptServiceImpl extends ServiceImpl // 学校绑定了企业微信 if (school.getSchoolType().contains(Dept.TYPE_QYWX)) { EduApp eduApp = appMapper.selectOne(Wrappers.lambdaQuery(new EduApp()).eq(EduApp::getDeptId, - school.getDeptId()).eq(EduApp::getCode, AppConstant.CONTACT_SCHOOL)); + school.getDeptId()).eq(EduApp::getName, AppConstant.CONTACT_SCHOOL)); if (eduApp != null) { Long wxId = wxUtil.createUserDept(wxUtil.getAccessToken(eduApp.getWxCorpId(), eduApp.getWxSecret()), eduUserDept); @@ -1200,8 +868,6 @@ public class EduUserDeptServiceImpl extends ServiceImpl } } this.save(eduUserDept); - - updateSchoolClassData(addUserDeptDTO.getSchoolId()); } /** @@ -1234,7 +900,7 @@ public class EduUserDeptServiceImpl extends ServiceImpl // 学校绑定了企业微信 if (school.getSchoolType().contains(Dept.TYPE_QYWX)) { EduApp eduApp = appMapper.selectOne(Wrappers.lambdaQuery(new EduApp()).eq(EduApp::getDeptId, - school.getDeptId()).eq(EduApp::getCode, AppConstant.CONTACT_SCHOOL)); + school.getDeptId()).eq(EduApp::getName, AppConstant.CONTACT_SCHOOL)); if (eduApp != null) { wxUtil.updateUserDept(wxUtil.getAccessToken(eduApp.getWxCorpId(), eduApp.getWxSecret()), eduUserDept); } @@ -1254,8 +920,6 @@ public class EduUserDeptServiceImpl extends ServiceImpl } } this.saveOrUpdate(eduUserDept); - - updateSchoolClassData(editUserDeptDTO.getSchoolId()); } /** @@ -1281,7 +945,7 @@ public class EduUserDeptServiceImpl extends ServiceImpl if (school.getSchoolType().contains(Dept.TYPE_QYWX)) { bindFlag = true; eduApp = appMapper.selectOne(Wrappers.lambdaQuery(new EduApp()).eq(EduApp::getDeptId, - school.getDeptId()).eq(EduApp::getCode, AppConstant.CONTACT_SCHOOL)); + school.getDeptId()).eq(EduApp::getName, AppConstant.CONTACT_SCHOOL)); } // 学校绑定了大华 if (school.getSchoolType().contains(Dept.TYPE_DAHUA)) { @@ -1311,8 +975,6 @@ public class EduUserDeptServiceImpl extends ServiceImpl } // 删除部门缓存 redisService.hdel(CachePrefixConstant.USER_DEPT_DATA, ids); - - updateSchoolClassData(schoolId); } /** @@ -1406,26 +1068,7 @@ public class EduUserDeptServiceImpl extends ServiceImpl @Override public EduUserDept getParentByDeptId(Long deptId) { EduUserDept eduUserDept = this.getById(deptId); - if (ObjectUtil.isNotNull(eduUserDept.getParentId())) { - return this.getById(eduUserDept.getParentId()); - } else { - return null; - } - } - - @Override - public List getParentListByDeptId(Long deptId) { - List result = new ArrayList<>(); - if (ObjectUtil.isNotNull(deptId)) { - EduUserDept currentDept = getById(deptId); - result.add(currentDept); - if (ObjectUtil.isNotNull(currentDept) && ObjectUtil.isNotNull(currentDept.getParentId())) { - result.addAll(getParentListByDeptId(currentDept.getParentId())); - } - return result; - } else { - return null; - } + return this.getById(eduUserDept.getParentId()); } /** @@ -1469,7 +1112,7 @@ public class EduUserDeptServiceImpl extends ServiceImpl } this.removeByIds(deptIdList); // 删除家校部门缓存 - redisService.hdel(CachePrefixConstant.USER_DEPT_DATA, deptIdList.stream().map(Object::toString).toArray(String[]::new)); + redisService.hdel(CachePrefixConstant.USER_DEPT_DATA, deptIdList.stream().map(x -> x.toString()).toArray(String[]::new)); } /** @@ -1480,28 +1123,20 @@ public class EduUserDeptServiceImpl extends ServiceImpl */ @Override @Transactional - public void syncUserDept(Long schoolId) { + public void syncUserDept() { // 查询所有和企业微信关联的学校信息 - List schoolList = new ArrayList<>(); - if (Objects.isNull(schoolId)) { - // 查询所有绑定了企业微信的学校信息 - schoolList = remoteDeptService.listSchoolBySchoolType(Dept.TYPE_QYWX).getData(); - } else { - Dept school = remoteDeptService.getInfoByIdNoPermission(schoolId).getData(); - schoolList.add(school); - } - + List schoolList = this.remoteDeptService.listSchoolBySchoolType(Dept.TYPE_QYWX).getData(); if (CollectionUtils.isNotEmpty(schoolList)) { for (Dept school : schoolList) { log.info("[{}], schoolId:[{}]开始同步家校部门", school.getDeptName(), school.getDeptId()); log.info("当前学校信息: {}", school); EduApp contactSchoolApp = appMapper.selectOne(Wrappers.lambdaQuery(new EduApp()).eq(EduApp::getDeptId, - school.getDeptId()).eq(EduApp::getCode, AppConstant.CONTACT_SCHOOL)); + school.getDeptId()).eq(EduApp::getName, AppConstant.CONTACT_SCHOOL)); // 判断学校是否绑定了大华 boolean bindDaHuaFlag = false; -// if (school.getSchoolType().contains(Dept.TYPE_DAHUA)) { -// bindDaHuaFlag = true; -// } + if (school.getSchoolType().contains(Dept.TYPE_DAHUA)) { + bindDaHuaFlag = true; + } // 查询家校部门列表 List schoolDeptList = wxUtil.listSchoolDept(wxUtil.getAccessToken(contactSchoolApp.getWxCorpId(), contactSchoolApp.getWxSecret()), null); @@ -1525,22 +1160,11 @@ public class EduUserDeptServiceImpl extends ServiceImpl if (wxId == 1) { continue; } - // 判断错误数据. 放在根节点下的非校区数据不同步 - if (parentWxId == 1 && !UserDeptTypeEnum.CAMPUS_TYPE.getValue().equals(type)) { - continue; - } + Long parentId = wxIdAndDeptIdCache.get(parentWxId); - EduUserDept existParent = this.getOne(Wrappers.lambdaQuery() - .eq(EduUserDept::getWxId, parentWxId) - .eq(EduUserDept::getSchoolId, school.getDeptId())); - if (Objects.isNull(existParent) && parentWxId != 1) { - log.error("没有父级部门数据: {}", parentWxId); - continue; - } // 查询已存在的数据 log.info("家校部门查询已存在的数据, wxId: {}, parentWxId: {}, schoolId: {}", wxId, parentWxId, school.getDeptId()); - Long parentId = wxIdAndDeptIdCache.get(parentWxId); EduUserDept exist = this.getOne(Wrappers.lambdaQuery() .eq(EduUserDept::getWxId, wxId) .eq(EduUserDept::getParentWxId, parentWxId) @@ -1566,7 +1190,6 @@ public class EduUserDeptServiceImpl extends ServiceImpl exist.setVisible(DeptVisibleTypeEnum.VISIBLE_TYPE.getValue()); exist.setUpdateDate(LocalDateTime.now()); } - // 设置排序 Integer oldOrder = wxIdAndOrderCache.get(parentWxId); if (Objects.isNull(order) && Objects.isNull(exist.getOrderNum())) { order = SortUtil.getOrderNumber(oldOrder, -1000); @@ -1595,47 +1218,6 @@ public class EduUserDeptServiceImpl extends ServiceImpl wxIdAndOrderCache.put(wxId, 0); wxIdAndOrderCache.put(parentWxId, oldOrder + 1); - Long campusId = null; - Long sectionId = null; - Long gradeId = null; - Long classId = null; - switch (exist.getDeptType()) { - case 1: - /// 班级 - classId = exist.getDeptId(); - gradeId = exist.getParentId(); - // 查询学段信息 - EduUserDept section = getParentByDeptId(gradeId); - sectionId = section.getDeptId(); - campusId = section.getParentId(); - break; - case 2: - // 年级 - gradeId = exist.getDeptId(); - sectionId = exist.getParentId(); - campusId = getById(sectionId).getParentId(); - break; - case 3: - // 学段 - sectionId = exist.getDeptId(); - campusId = exist.getParentId(); - break; - case 4: - // 学区 - campusId = exist.getDeptId(); - break; - default: - log.error("家校部门类型错误, 部门信息:{}", dept); - break; - } - // 获取老师列表 - List teacherList = (List) dept.get("department_admins"); - log.info("teachers:{},dept:{}", teacherList, dept); - if (CollUtil.isNotEmpty(teacherList)) { - eduStaffService.dealWxTeacherChange(school.getDeptId(), campusId, sectionId, gradeId, classId, - teacherList, wxId); - } - // 判断是否调用大华接口 if (bindDaHuaFlag) { // 查询当前部门 @@ -1810,230 +1392,4 @@ public class EduUserDeptServiceImpl extends ServiceImpl } return vo; } - - @Override - public List listClassByStaffId(Long staffId) { - CurrentUser currentUser = FebsUtil.getCurrentUser(); - //取缓存 - String staffMangeClassData = (String) redisService - .get(CachePrefixConstant.STAFF_MANGE_CLASS + staffId); - - if (ObjectUtil.isNull(staffMangeClassData)) { - //任课老师、班主任、年级主任、学段主任、学区主任 - List totalClassDeptList = new ArrayList<>(); - //任课老师 - List teacherDeptVOS = eduStaffMapper.listDeptByTeacher(currentUser.getIdentityId(), 4); - //班主任 - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_CLASS_PRINCIPAL.getValue())) { - List teacherDeptVOList = eduStaffMapper.listDeptByTeacher(staffId, 3); - teacherDeptVOS.addAll(teacherDeptVOList); - } - for (TeacherDeptVO teacherDeptVO : teacherDeptVOS) { - teacherDeptVO.setClassName(this.getById(teacherDeptVO.getClassId()).getDeptName()); - teacherDeptVO.setGradeName(this.getById(teacherDeptVO.getGradeId()).getDeptName()); - teacherDeptVO.setSectionName(this.getById(teacherDeptVO.getSectionId()).getDeptName()); - teacherDeptVO.setCampusName(this.getById(teacherDeptVO.getCampusId()).getDeptName()); - Long studentNum = eduStudentMapper.selectCount(Wrappers.lambdaQuery(new EduStudent()) - .eq(EduStudent::getClassId, teacherDeptVO.getClassId())); - //班级人数 - teacherDeptVO.setClassStudentNum(studentNum); - totalClassDeptList.add(teacherDeptVO); - } - - //年级主任 - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_GRADE_PRINCIPAL.getValue())) { - List teacherDeptVOList_grade = eduStaffMapper.listDeptByTeacher(staffId, 2); - for (TeacherDeptVO teacherDeptVO : teacherDeptVOList_grade) { - String gradeName = this.getById(teacherDeptVO.getGradeId()).getDeptName(); - String sectionName = this.getById(teacherDeptVO.getSectionId()).getDeptName(); - String campusName = this.getById(teacherDeptVO.getCampusId()).getDeptName(); - List childByParent = findChildByParent(teacherDeptVO.getGradeId()); - for (EduUserDept eduUserDept : childByParent) { - TeacherDeptVO teacherDeptVO1 = new TeacherDeptVO(); - teacherDeptVO1.setGradeId(teacherDeptVO.getGradeId()); - teacherDeptVO1.setClassId(eduUserDept.getDeptId()); - teacherDeptVO1 - .setClassName(this.getById(eduUserDept.getDeptId()).getDeptName()); - teacherDeptVO1.setGradeName(gradeName); - teacherDeptVO1.setSectionName(sectionName); - teacherDeptVO1.setCampusName(campusName); - - Long studentNum = eduStudentMapper.selectCount(Wrappers.lambdaQuery(new EduStudent()) - .eq(EduStudent::getClassId, eduUserDept.getDeptId())); - //班级人数 - teacherDeptVO1.setClassStudentNum(studentNum); - totalClassDeptList.add(teacherDeptVO1); - } - } - } - - //学段主任 - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_SECTION_PRINCIPAL.getValue())) { - List sectionList = eduStaffMapper.listDeptByTeacher(staffId, 5); - for (TeacherDeptVO section : sectionList) { - String campusName = this.getById(section.getCampusId()).getDeptName(); - String sectionName = this.getById(section.getSectionId()).getDeptName(); - List gradeList = findChildByParentAndType(Collections.singletonList(section.getSectionId()), 2); - for (EduUserDept grade : gradeList) { - String gradeName = this.getById(grade.getDeptId()).getDeptName(); - List classList = findChildByParent(grade.getDeptId()); - for (EduUserDept clazz : classList) { - TeacherDeptVO teacherDeptVO = new TeacherDeptVO(); - teacherDeptVO.setGradeId(grade.getDeptId()); - teacherDeptVO.setClassId(clazz.getDeptId()); - teacherDeptVO - .setClassName(this.getById(clazz.getDeptId()).getDeptName()); - teacherDeptVO.setGradeName(gradeName); - teacherDeptVO.setCampusName(campusName); - Long studentNum = eduStudentMapper.selectCount(Wrappers.lambdaQuery(new EduStudent()) - .eq(EduStudent::getClassId, clazz.getDeptId())); - //班级人数 - teacherDeptVO.setClassStudentNum(studentNum); - totalClassDeptList.add(teacherDeptVO); - } - } - } - } - //学区主任 - if (currentUser.getRolePerms().contains(RoleEnum.ROLE_CAMPUS_PRINCIPAL.getValue())) { - List campusList = eduStaffMapper.listDeptByTeacher(staffId, 1); - for (TeacherDeptVO campus : campusList) { - String campusName = this.getById(campus.getCampusId()).getDeptName(); - List gradeList = findChildByParentAndType(Collections.singletonList(campus.getCampusId()), 2); - for (EduUserDept grade : gradeList) { - String gradeName = this.getById(grade.getDeptId()).getDeptName(); - List classList = findChildByParent(grade.getDeptId()); - for (EduUserDept clazz : classList) { - TeacherDeptVO teacherDeptVO = new TeacherDeptVO(); - teacherDeptVO.setGradeId(grade.getDeptId()); - teacherDeptVO.setClassId(clazz.getDeptId()); - teacherDeptVO - .setClassName(this.getById(clazz.getDeptId()).getDeptName()); - teacherDeptVO.setGradeName(gradeName); - teacherDeptVO.setCampusName(campusName); - - Long studentNum = eduStudentMapper.selectCount(Wrappers.lambdaQuery(new EduStudent()) - .eq(EduStudent::getClassId, clazz.getDeptId())); - //班级人数 - teacherDeptVO.setClassStudentNum(studentNum); - - totalClassDeptList.add(teacherDeptVO); - } - } - } - } - //查询学校负责人,即校领导 - List schoolList = eduStaffMapper.listDeptByTeacher(staffId, 6); - if (CollUtil.isNotEmpty(schoolList)) { - for (TeacherDeptVO school : schoolList) { - List campusList = findChildByParentAndType( - Collections.singletonList(-school.getSchoolId()), 4); - for (EduUserDept campus : campusList) { - String campusName = this.getById(campus.getDeptId()).getDeptName(); - List gradeList = findChildByParentAndType(Collections.singletonList(campus.getDeptId()), - 2); - for (EduUserDept grade : gradeList) { - String gradeName = this.getById(grade.getDeptId()).getDeptName(); - List classList = findChildByParent(grade.getDeptId()); - for (EduUserDept clazz : classList) { - TeacherDeptVO teacherDeptVO = new TeacherDeptVO(); - teacherDeptVO.setGradeId(grade.getDeptId()); - teacherDeptVO.setClassId(clazz.getDeptId()); - teacherDeptVO - .setClassName(this.getById(clazz.getDeptId()).getDeptName()); - teacherDeptVO.setGradeName(gradeName); - teacherDeptVO.setCampusName(campusName); - Long studentNum = eduStudentMapper.selectCount(Wrappers.lambdaQuery(new EduStudent()) - .eq(EduStudent::getClassId, clazz.getDeptId())); - //班级人数 - teacherDeptVO.setClassStudentNum(studentNum); - totalClassDeptList.add(teacherDeptVO); - } - } - } - } - } - //去重 - totalClassDeptList = totalClassDeptList.stream().distinct().collect(Collectors.toList()); - - if (CollUtil.isNotEmpty(totalClassDeptList)) { - redisService - .set(CachePrefixConstant.STAFF_MANGE_CLASS + staffId, JSONUtil.toJsonStr(totalClassDeptList)); - } - return totalClassDeptList; - } else { - List teacherDeptVOList = JSONUtil.toList(staffMangeClassData, TeacherDeptVO.class); - return teacherDeptVOList; - } - } - - - /** - * 更新学校缓存班级数据信息 - * - * @param schoolId - */ - public void updateSchoolClassData(Long schoolId) { - if (ObjectUtil.isNull(schoolId)) { - return; - } - //查询学校下的所有班级 -// List classList = new ArrayList<>(); -// List campusList = this.findChildByParentAndType(Collections.singletonList(-schoolId), 4); -// for (EduUserDept campus : campusList) { -// List gradeList = this.findChildByParentAndType(Collections.singletonList(campus.getDeptId()), 2); -// for (EduUserDept grade : gradeList) { -// List nowList = this.findChildByParentAndType(Collections.singletonList(grade.getDeptId()), 1); -// for (EduUserDept classDept : nowList) { -// classList.add(ClassAttendanceDataVO.builder().type(0).classId(classDept.getDeptId()) -// .name(campus.getDeptName() + "/" + grade.getDeptName() + "/" + classDept -// .getDeptName()).build()); -// } -// } -// } - redisService - .del(CachePrefixConstant.SCHOOL_CLASS_DATA + schoolId); - } - - @Override - public JSONArray getGradeDistribution(Long schoolId) { - JSONArray jsonArray = JSONUtil.createArray(); - // 查询学校总人数 - long studentNum = eduStudentMapper.selectCount(Wrappers.lambdaQuery(new EduStudent()) - .eq(EduStudent::getSchoolId, schoolId)); - // 查询年级信息 - List gradeList = list(Wrappers.lambdaQuery(new EduUserDept()) - .eq(EduUserDept::getDeptType, UserDeptTypeEnum.GRADE_TYPE.getValue()) - .eq(EduUserDept::getVisible, DeptVisibleTypeEnum.VISIBLE_TYPE.getValue()) - .eq(EduUserDept::getGraduatedStatus, GraduatedStatusEnum.UNDERGRADUATE_STATUS.getValue()) - .eq(EduUserDept::getSchoolId, schoolId) - ); - for (EduUserDept grade : gradeList) { - JSONObject jsonObject = JSONUtil.createObj() - .set("gardeName", grade.getDeptName()); - // 查询学段名称 - EduUserDept section = getById(grade.getParentId()); - jsonObject.set("sectionName", section.getDeptName()); - // 查询学区名称 - EduUserDept campus = getById(section.getParentId()); - jsonObject.set("campusName", campus.getDeptName()); - if (studentNum == 0) { - jsonObject.set("gradeStudentNumber", 0); - jsonObject.set("percentage", "0%"); - } else { - // 查询年级人数 - long gradeStudentNumber = eduStudentMapper.selectGradeStudentNumber(grade.getDeptId()); - if (gradeStudentNumber == 0) { - jsonObject.set("gradeStudentNumber", 0); - jsonObject.set("percentage", "0%"); - } else { - jsonObject.set("gradeStudentNumber", gradeStudentNumber); - jsonObject.set("percentage", NumberUtil.div(gradeStudentNumber * 100, studentNum, 2) + "%"); - } - } - - jsonArray.add(jsonObject); - } - return jsonArray; - } } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduUserDeviceFactoryServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduUserDeviceFactoryServiceImpl.java index 1fe2bbb..5a10c8e 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduUserDeviceFactoryServiceImpl.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduUserDeviceFactoryServiceImpl.java @@ -8,13 +8,15 @@ import com.yida.data.user.mapper.EduStudentMapper; import com.yida.data.user.mapper.EduUserDeviceFactoryMapper; import com.yida.data.user.service.EduUserDeviceFactoryService; import com.yida.data.user.vo.UserDeviceInfoVO; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; + import org.springframework.stereotype.Service; import java.util.List; import java.util.stream.Collectors; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + @RequiredArgsConstructor @Slf4j @Service @@ -26,7 +28,7 @@ public class EduUserDeviceFactoryServiceImpl extends ServiceImpl userDeviceFactoryList) { List exist = baseMapper.existUserDeviceFactory(userDeviceFactoryList); List res = - userDeviceFactoryList.stream().filter(x -> !exist.contains(x.getTypeFlag())).collect(Collectors.toList()); + userDeviceFactoryList.stream().filter(x -> !exist.contains(x.getUserId().toString() + x.getUserType().toString())).collect(Collectors.toList()); saveBatch(res); } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduUserFaceServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduUserFaceServiceImpl.java index c1242a1..d0f996d 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduUserFaceServiceImpl.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/EduUserFaceServiceImpl.java @@ -11,7 +11,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yida.data.attendance.dto.IssuedFaceDTO; import com.yida.data.attendance.feign.RemoteAttendanceDeviceService; import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.user.*; +import com.yida.data.common.core.entity.user.EduStaff; +import com.yida.data.common.core.entity.user.EduStudent; +import com.yida.data.common.core.entity.user.EduUserDevice; +import com.yida.data.common.core.entity.user.EduUserFace; import com.yida.data.common.core.exception.FebsException; import com.yida.data.common.core.utils.Asserts; import com.yida.data.common.core.utils.FileUtil; @@ -36,7 +39,10 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.File; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -50,7 +56,7 @@ import java.util.stream.Collectors; @RequiredArgsConstructor @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public class EduUserFaceServiceImpl extends ServiceImpl - implements EduUserFaceService { + implements EduUserFaceService { private final EduStudentMapper eduStudentMapper; private final EduStaffMapper eduStaffMapper; @@ -64,7 +70,7 @@ public class EduUserFaceServiceImpl extends ServiceImpl @Override public String uploadUserFace(MultipartFile file, Long id, String name, - Long schoolId, Integer type) { + Long schoolId, Integer type) { //处理图片到100k String path; try { @@ -98,7 +104,7 @@ public class EduUserFaceServiceImpl extends ServiceImpl public void updateUserUpLoadFace(String picPath, Long id, String name, Integer type) { // 新增更新人脸 EduUserFace userFace = getOne( - Wrappers.lambdaQuery(new EduUserFace()).eq(EduUserFace::getUserId, id).eq(EduUserFace::getUserType, type)); + Wrappers.lambdaQuery(new EduUserFace()).eq(EduUserFace::getUserId, id).eq(EduUserFace::getUserType, type)); if (userFace == null) { userFace = new EduUserFace(); userFace.setUserId(id); @@ -122,26 +128,19 @@ public class EduUserFaceServiceImpl extends ServiceImpl eduStaffMapper.updateById(staff); } List userDeviceList = eduUserDeviceMapper.selectList( - Wrappers.lambdaQuery(new EduUserDevice()).eq(EduUserDevice::getUserId, id).eq(EduUserDevice::getUserType, type)); + Wrappers.lambdaQuery(new EduUserDevice()).eq(EduUserDevice::getUserId, id).eq(EduUserDevice::getUserType, type)); if (CollUtil.isNotEmpty(userDeviceList)) { // 用户已经被下发到设备,更新设备上的图像 - Map> userDeviceMap = userDeviceList.stream().collect( - Collectors.groupingBy(EduUserDevice::getFaceGroupId)); - for (Map.Entry> entry : userDeviceMap.entrySet()) { - Long faceGroupId = entry.getKey(); - List eduUserDevices = entry.getValue(); - // 设备id - List deviceIds = eduUserDevices.stream().map(EduUserDevice::getDeviceId).distinct() - .collect(Collectors.toList()); - IssuedFaceDTO dto = new IssuedFaceDTO(); -// dto.setType(1); - dto.setDeviceList(deviceIds); - dto.setGroupId(faceGroupId); - dto.setUserFaceList(Collections.singletonList(userFace)); - remoteAttendanceDeviceService.issuedFace(dto); - } + List deviceIds = userDeviceList.stream().map(x -> x.getDeviceId()).distinct().collect(Collectors.toList()); + IssuedFaceDTO dto = new IssuedFaceDTO(); + dto.setType(1); + dto.setDeviceList(deviceIds); + dto.setUserFaceList(Arrays.asList(userFace)); + remoteAttendanceDeviceService.issuedFace(dto); } - // TODO 2023/3/1 异步同步大华 + //异步同步大华 + + } @Override @@ -174,28 +173,28 @@ public class EduUserFaceServiceImpl extends ServiceImpl if (importType == 0) { if (type == 0) { EduStudent student = eduStudentMapper.selectOne( - Wrappers.lambdaQuery(new EduStudent()).eq(EduStudent::getStuNumber, userFlag) - .eq(EduStudent::getSchoolId, schoolId)); + Wrappers.lambdaQuery(new EduStudent()).eq(EduStudent::getStuNumber, userFlag) + .eq(EduStudent::getSchoolId, schoolId)); userId = student != null ? student.getId() : null; userName = student != null ? student.getStuName() : null; } else { EduStaff staff = - eduStaffMapper.selectOne(Wrappers.lambdaQuery(new EduStaff()).eq(EduStaff::getMobile, userFlag) - .eq(EduStaff::getSchoolId, schoolId)); + eduStaffMapper.selectOne(Wrappers.lambdaQuery(new EduStaff()).eq(EduStaff::getMobile, userFlag) + .eq(EduStaff::getSchoolId, schoolId)); userId = staff != null ? staff.getId() : null; userName = staff != null ? staff.getName() : null; } } else { // 按名称导入 if (type == 0) { List studentList = eduStudentMapper.selectList(Wrappers.lambdaQuery(new EduStudent()) - .eq(EduStudent::getStuName, userFlag) - .eq(EduStudent::getSchoolId, schoolId)); + .eq(EduStudent::getStuName, userFlag) + .eq(EduStudent::getSchoolId, schoolId)); userId = CollUtil.isNotEmpty(studentList) && studentList.size() == 1 ? studentList.get(0).getId() : null; userName = userId != null ? studentList.get(0).getStuName() : null; } else { List staffList = eduStaffMapper.selectList(Wrappers.lambdaQuery(new EduStaff()) - .eq(EduStaff::getMobile, userFlag) - .eq(EduStaff::getSchoolId, schoolId)); + .eq(EduStaff::getMobile, userFlag) + .eq(EduStaff::getSchoolId, schoolId)); userId = CollUtil.isNotEmpty(staffList) && staffList.size() == 1 ? staffList.get(0).getId() : null; userName = userId != null ? staffList.get(0).getName() : null; } @@ -208,20 +207,12 @@ public class EduUserFaceServiceImpl extends ServiceImpl // 压缩图片至1000KB File compressImg = null; try { - compressImg = FileUtil.compressImg(img, 100L); + compressImg = FileUtil.compressImg(img, 1000L); } catch (Exception e) { log.error("压缩图片失败", e); - errorFiles.add(img); - continue; } imgPath = FileUtil.uploadFileToMediaServer(uploadUrl, compressImg); - try { - updateUserFace(imgPath, userId, userName, type); - } catch (Exception e) { - log.error("人脸识别失败, 图片名称: {}", img.getName(), e); - errorFiles.add(img); - continue; - } + updateUserFace(imgPath, userId, userName, type); // 进度增加更新进度 if (finish * 100 / total > percent) { faceVO.setPercent(finish * 100 / total); @@ -253,79 +244,46 @@ public class EduUserFaceServiceImpl extends ServiceImpl Integer total = (Integer) redisService.get(CachePrefixConstant.ISSUE_FACE_TOTAL + faceGroupId); Integer error = (Integer) redisService.get(CachePrefixConstant.ISSUE_FACE_ERROR + faceGroupId); Integer finish = (Integer) redisService.get(CachePrefixConstant.ISSUE_FACE_FINISH + faceGroupId); - // 错误信息 - List objects = new ArrayList<>(); - // 错误信息键值集合 - Set keys = redisService.keys(CachePrefixConstant.ISSUE_FACE_ERROR_MSG + faceGroupId); - if (CollUtil.isNotEmpty(keys)) { - keys.forEach(key -> objects.addAll(redisService.lGet(key, 0L, -1L))); - } - + List objects = redisService.lGet(CachePrefixConstant.ISSUE_FACE_ERROR_MSG + faceGroupId, 0L, -1L); IssueFacePercentVO vo = null; if (total != null) { vo = new IssueFacePercentVO(); vo.setErrorNum(error); - // TODO: 2023/9/18 后续优化百分比信息,此处修改为最大100 - int percent = 0; - if (Objects.nonNull(finish)) { - if (total <= finish) { - percent = 100; - } else { - percent = finish * 100 / total; - } - } -// vo.setPercent(total != null && finish != null ? finish * 100 / total : 100); - vo.setPercent(percent); + vo.setPercent(total != null && finish != null ? finish * 100 / total : 100); vo.setFinish(vo.getPercent() < 100 ? 0 : 1); if (CollUtil.isNotEmpty(objects)) { List msgList = new ArrayList<>(); Map> userGroup = objects.stream().map(x -> (EduUserFace) x) - .collect(Collectors.groupingBy(EduUserFace::getUserType)); + .collect(Collectors.groupingBy(EduUserFace::getUserType)); // 查询学生信息 if (userGroup.containsKey(0)) { - // 学生人脸信息 - List studentFaces = userGroup.get(0); - // 学生信息 + List studentIds = userGroup.get(0).stream().map(x -> x.getUserId()).collect(Collectors.toList()); List studentList = eduStudentMapper - .listStudent(ListStudentDTO.builder().studentIds( - studentFaces.stream().map(EduUserFace::getUserId).collect(Collectors.toList())) - .build()); + .listStudent(ListStudentDTO.builder().studentIds(studentIds).build()); msgList.addAll(studentList.stream().map(x -> { UserInfoVO infoVO = new UserInfoVO(); infoVO.setName(x.getStuName()); infoVO.setDept(x.getGradeName() + x.getClassName()); infoVO.setNumber(x.getStuNumber()); - infoVO.setDeviceName(studentFaces.stream() - .filter(userFace -> userFace.getUserId().equals(x.getId())) - .collect(Collectors.toList()) - .get(0).getDeviceName()); return infoVO; }).collect(Collectors.toList())); } // 查询职工信息 if (userGroup.containsKey(1)) { - // 职工人脸信息 - List staffFaces = userGroup.get(1); - // 职工信息 - List staffList = eduStaffMapper.listStaff(ListStaffDTO.builder().ids( - staffFaces.stream().map(EduUserFace::getUserId).collect(Collectors.toList())) - .build()); + List staffIds = userGroup.get(1).stream().map(x -> x.getUserId()).collect(Collectors.toList()); + List staffList = eduStaffMapper.listStaff(ListStaffDTO.builder().ids(staffIds).build()); msgList.addAll(staffList.stream().map(x -> { UserInfoVO infoVO = new UserInfoVO(); infoVO.setName(x.getName()); infoVO.setDept(CollUtil.isNotEmpty(x.getStaffDept()) - ? x.getStaffDept().stream().map(EduStaffDept::getDeptName).collect(Collectors.joining(",")) - : null); + ? x.getStaffDept().stream().map(y -> y.getDeptName()).collect(Collectors.joining(",")) + : null); infoVO.setNumber(x.getMobile()); - infoVO.setDeviceName(staffFaces.stream() - .filter(userFace -> userFace.getUserId().equals(x.getId())) - .collect(Collectors.toList()) - .get(0).getDeviceName()); return infoVO; }).collect(Collectors.toList())); } - vo.setMsgList(msgList.stream().distinct().collect(Collectors.toList())); + vo.setMsgList(msgList); } } return vo; @@ -342,7 +300,7 @@ public class EduUserFaceServiceImpl extends ServiceImpl Asserts.isTrue(containsFace, "未检测到人脸,请重新上传图片"); // 新增更新人脸 EduUserFace userFace = getOne( - Wrappers.lambdaQuery(new EduUserFace()).eq(EduUserFace::getUserId, id).eq(EduUserFace::getUserType, type)); + Wrappers.lambdaQuery(new EduUserFace()).eq(EduUserFace::getUserId, id).eq(EduUserFace::getUserType, type)); if (userFace == null) { userFace = new EduUserFace(); userFace.setUserId(id); @@ -366,24 +324,15 @@ public class EduUserFaceServiceImpl extends ServiceImpl eduStaffMapper.updateById(staff); } List userDeviceList = eduUserDeviceMapper.selectList( - Wrappers.lambdaQuery(new EduUserDevice()).eq(EduUserDevice::getUserId, id).eq(EduUserDevice::getUserType, type)); + Wrappers.lambdaQuery(new EduUserDevice()).eq(EduUserDevice::getUserId, id).eq(EduUserDevice::getUserType, type)); if (CollUtil.isNotEmpty(userDeviceList)) { // 用户已经被下发到设备,更新设备上的图像 - Map> userDeviceMap = userDeviceList.stream().collect( - Collectors.groupingBy(EduUserDevice::getFaceGroupId)); - for (Map.Entry> entry : userDeviceMap.entrySet()) { - Long faceGroupId = entry.getKey(); - List eduUserDevices = entry.getValue(); - // 设备id - List deviceIds = eduUserDevices.stream().map(EduUserDevice::getDeviceId).distinct() - .collect(Collectors.toList()); - IssuedFaceDTO dto = new IssuedFaceDTO(); -// dto.setType(1); - dto.setDeviceList(deviceIds); - dto.setGroupId(faceGroupId); - dto.setUserFaceList(Collections.singletonList(userFace)); - remoteAttendanceDeviceService.issuedFace(dto); - } + List deviceIds = userDeviceList.stream().map(x -> x.getDeviceId()).distinct().collect(Collectors.toList()); + IssuedFaceDTO dto = new IssuedFaceDTO(); + dto.setType(1); + dto.setDeviceList(deviceIds); + dto.setUserFaceList(Arrays.asList(userFace)); + remoteAttendanceDeviceService.issuedFace(dto); } } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/ImportWelcomeStudentServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/ImportWelcomeStudentServiceImpl.java index eb0f947..d8dad64 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/ImportWelcomeStudentServiceImpl.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/ImportWelcomeStudentServiceImpl.java @@ -1,32 +1,28 @@ package com.yida.data.user.service.impl; -import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.LocalDateTimeUtil; -import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yida.data.common.core.common.ResultMsgType; import com.yida.data.common.core.entity.CurrentUser; import com.yida.data.common.core.entity.Dict; import com.yida.data.common.core.entity.constant.StringConstant; -import com.yida.data.common.core.entity.consume.EduStudentConsumeCard; import com.yida.data.common.core.entity.school.EduSchoolStudentInformation; import com.yida.data.common.core.entity.user.EduParent; +import com.yida.data.common.core.entity.user.EduParentStudent; import com.yida.data.common.core.entity.user.EduStudent; import com.yida.data.common.core.entity.user.EduUserDept; -import com.yida.data.common.core.entity.user.enums.StudentTypeEnum; import com.yida.data.common.core.entity.user.enums.UserDeptTypeEnum; import com.yida.data.common.core.enums.DictType; -import com.yida.data.common.core.utils.EasyExcelUtil; import com.yida.data.common.core.utils.FebsUtil; +import com.yida.data.common.core.utils.WxUtil; import com.yida.data.common.service.CommonService; -import com.yida.data.device.feign.consume.RemoteConsumeCardService; import com.yida.data.system.feign.RemoteCommonService; -import com.yida.data.user.dto.*; +import com.yida.data.user.dto.StudentErrorExportDTO; +import com.yida.data.user.dto.WelcomeInviteImportDTO; +import com.yida.data.user.dto.WelcomeStudentImportDTO; +import com.yida.data.user.feign.RemoteStudentService; import com.yida.data.user.mapper.EduSchoolStudentInformationMapper; -import com.yida.data.user.service.EduStudentService; -import com.yida.data.user.service.ImportWelcomeStudentService; +import com.yida.data.user.service.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -35,7 +31,6 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import javax.annotation.Resource; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.*; @@ -52,14 +47,16 @@ import java.util.stream.Collectors; @RequiredArgsConstructor public class ImportWelcomeStudentServiceImpl implements ImportWelcomeStudentService { - private final EduStudentService eduStudentService; private final EduSchoolStudentInformationMapper eduSchoolStudentInformationMapper; - - private final CommonService commonService; + private final EduStudentService eduStudentService; + private final EduParentService eduParentService; + private final EduParentStudentService eduParentStudentService; + private final EduUserDeptService eduUserDeptService; + private final RemoteStudentService remoteStudentService; private final RemoteCommonService remoteCommonService; - @Resource - private RemoteConsumeCardService remoteConsumeCardService; + private final WxUtil wxUtil; + private final CommonService commonService; /** @@ -74,9 +71,9 @@ public class ImportWelcomeStudentServiceImpl implements ImportWelcomeStudentServ */ @Override public void saveExcelData(ConcurrentHashMap concurrentHashMap, - ConcurrentHashMap errorMap, - Long schoolId, - long timestamp) { + ConcurrentHashMap errorMap, + Long schoolId, + long timestamp) { // 当前登录用户信息 CurrentUser currentUser = FebsUtil.getCurrentUser(); // 当前时间 @@ -94,10 +91,10 @@ public class ImportWelcomeStudentServiceImpl implements ImportWelcomeStudentServ } // 验证身份证号码在当前学校的迎新表中是否重复 List studentList = - this.eduSchoolStudentInformationMapper.selectList(Wrappers.lambdaQuery(new EduSchoolStudentInformation()) - .eq(EduSchoolStudentInformation::getStudentIdCard, welcomeStudentDTO.getStudentIdCard()) - .eq(EduSchoolStudentInformation::getSchoolId, schoolId) - ); + this.eduSchoolStudentInformationMapper.selectList(Wrappers.lambdaQuery(new EduSchoolStudentInformation()) + .eq(EduSchoolStudentInformation::getStudentIdCard, welcomeStudentDTO.getStudentIdCard()) + .eq(EduSchoolStudentInformation::getSchoolId, schoolId) + ); if (!studentList.isEmpty()) { log.error("身份证号码已存在: {}", welcomeStudentDTO.toString()); errorMap.put(i, "第" + i + "行:" + ResultMsgType.ID_CARD_EXIST.getValue()); @@ -105,8 +102,8 @@ public class ImportWelcomeStudentServiceImpl implements ImportWelcomeStudentServ } // 验证学区是否存在 EduUserDept campus = commonService.getUserDeptBySchoolIdAndNameAndType( - welcomeStudentDTO.getCampusName(), UserDeptTypeEnum.CAMPUS_TYPE.getValue(), - schoolId, String.valueOf(timestamp), schoolId); + welcomeStudentDTO.getCampusName(), UserDeptTypeEnum.CAMPUS_TYPE.getValue(), + schoolId, String.valueOf(timestamp), schoolId); if (!Optional.ofNullable(campus).isPresent()) { log.error("学区名称错误: {}", welcomeStudentDTO.toString()); errorMap.put(i, "第" + i + "行:" + ResultMsgType.CAMPUS_NAME_ERROR.getValue()); @@ -114,8 +111,8 @@ public class ImportWelcomeStudentServiceImpl implements ImportWelcomeStudentServ } // 验证学段是否存在 EduUserDept section = commonService.getUserDeptBySchoolIdAndNameAndType( - welcomeStudentDTO.getSectionName(), UserDeptTypeEnum.SECTION_TYPE.getValue(), - schoolId, String.valueOf(timestamp), campus.getDeptId()); + welcomeStudentDTO.getSectionName(), UserDeptTypeEnum.SECTION_TYPE.getValue(), + schoolId, String.valueOf(timestamp), campus.getDeptId()); if (!Optional.ofNullable(section).isPresent()) { log.error("学段名称错误: {}", welcomeStudentDTO.toString()); errorMap.put(i, "第" + i + "行:" + ResultMsgType.SECTION_NAME_ERROR.getValue()); @@ -123,8 +120,8 @@ public class ImportWelcomeStudentServiceImpl implements ImportWelcomeStudentServ } // 验证年级是否存在 EduUserDept grade = commonService.getUserDeptBySchoolIdAndNameAndType( - welcomeStudentDTO.getGradeName(), UserDeptTypeEnum.GRADE_TYPE.getValue(), - schoolId, String.valueOf(timestamp), section.getDeptId()); + welcomeStudentDTO.getGradeName(), UserDeptTypeEnum.GRADE_TYPE.getValue(), + schoolId, String.valueOf(timestamp), section.getDeptId()); if (!Optional.ofNullable(grade).isPresent()) { log.error("年级名称错误: {}", welcomeStudentDTO.toString()); errorMap.put(i, "第" + i + "行:" + ResultMsgType.GRADE_NAME_ERROR.getValue()); @@ -132,8 +129,8 @@ public class ImportWelcomeStudentServiceImpl implements ImportWelcomeStudentServ } // 验证班级是否存在 EduUserDept classDept = commonService.getUserDeptBySchoolIdAndNameAndType( - welcomeStudentDTO.getClassName(), UserDeptTypeEnum.CLASS_TYPE.getValue(), - schoolId, String.valueOf(timestamp), grade.getDeptId()); + welcomeStudentDTO.getClassName(), UserDeptTypeEnum.CLASS_TYPE.getValue(), + schoolId, String.valueOf(timestamp), grade.getDeptId()); if (!Optional.ofNullable(classDept).isPresent()) { log.error("班级名称错误: {}", welcomeStudentDTO.toString()); errorMap.put(i, "第" + i + "行:" + ResultMsgType.CLASS_NAME_ERROR.getValue()); @@ -172,7 +169,7 @@ public class ImportWelcomeStudentServiceImpl implements ImportWelcomeStudentServ * @date 2021/8/23 17:30 */ private boolean checkStudentImportInfo(ConcurrentHashMap errorMap, - WelcomeStudentImportDTO welcomeStudentDTO, Integer i) { + WelcomeStudentImportDTO welcomeStudentDTO, Integer i) { // 判断学生名称是否为空 if (!StringUtils.isNotBlank(welcomeStudentDTO.getStudentName())) { errorMap.put(i, "第" + i + "行:学生姓名为空"); @@ -219,8 +216,8 @@ public class ImportWelcomeStudentServiceImpl implements ImportWelcomeStudentServ */ @Override public void saveInviteExcelData(ConcurrentHashMap concurrentHashMap, - List errorList, - Long schoolId, String uuid, CurrentUser currentUser) { + List errorList, + Long schoolId, String uuid, CurrentUser currentUser) { if (!CollectionUtils.isEmpty(concurrentHashMap)) { // 保存前判断是否已存在 for (Map.Entry entry : concurrentHashMap.entrySet()) { @@ -237,12 +234,12 @@ public class ImportWelcomeStudentServiceImpl implements ImportWelcomeStudentServ } // 验证学号在当前学校的学生表中是否重复 EduStudent studentNumberEntity = eduStudentService.getOne( - Wrappers.lambdaQuery(new EduStudent()) - .eq(EduStudent::getStuNumber, welcomeInviteImportDTO.getStudentNumber()) - .eq(EduStudent::getSchoolId, schoolId)); + Wrappers.lambdaQuery(new EduStudent()) + .eq(EduStudent::getStuNumber, welcomeInviteImportDTO.getStudentNumber()) + .eq(EduStudent::getSchoolId, schoolId)); if (Objects.nonNull(studentNumberEntity)) { - log.error("学号已存在: {}", JSONUtil.toJsonStr(welcomeInviteImportDTO)); + log.error("学号已存在: {}", welcomeInviteImportDTO.toString()); dto.setErrorMessage(ResultMsgType.STUDENT_NUMBER_EXIST.getValue()); errorList.add(dto); continue; @@ -257,11 +254,10 @@ public class ImportWelcomeStudentServiceImpl implements ImportWelcomeStudentServ // 整理家长数据 List parentList = setParentInfo(welcomeInviteImportDTO, schoolId); eduStudent.setParents(parentList); - // 保存学生信息 eduStudentService.saveStudent(eduStudent, currentUser, false); } catch (Exception e) { - log.error("导入学生信息失败: {}", JSONUtil.toJsonStr(welcomeInviteImportDTO), e); + log.error("导入学生信息失败: {}", welcomeInviteImportDTO.toString(), e); dto.setErrorMessage("数据异常!"); errorList.add(dto); } @@ -335,52 +331,40 @@ public class ImportWelcomeStudentServiceImpl implements ImportWelcomeStudentServ * @date 2021/8/25 15:39 */ private EduStudent checkDeptInfo(StudentErrorExportDTO dto, WelcomeInviteImportDTO welcomeInviteImportDTO, - Long schoolId, String uuid) { + Long schoolId, String uuid) { // 验证学区是否存在 EduUserDept campus = this.commonService.getUserDeptBySchoolIdAndNameAndType( - welcomeInviteImportDTO.getCampusName(), UserDeptTypeEnum.CAMPUS_TYPE.getValue(), schoolId, uuid, schoolId); + welcomeInviteImportDTO.getCampusName(), UserDeptTypeEnum.CAMPUS_TYPE.getValue(), schoolId, uuid, schoolId); if (!Optional.ofNullable(campus).isPresent()) { - log.error("学区名称错误: {}", JSONUtil.toJsonStr(welcomeInviteImportDTO)); + log.error("学区名称错误: {}", welcomeInviteImportDTO.toString()); dto.setErrorMessage(ResultMsgType.CAMPUS_NAME_ERROR.getValue()); return null; } // 验证学段是否存在 EduUserDept section = this.commonService.getUserDeptBySchoolIdAndNameAndType( - welcomeInviteImportDTO.getSectionName(), UserDeptTypeEnum.SECTION_TYPE.getValue(), schoolId, uuid, - campus.getDeptId()); + welcomeInviteImportDTO.getSectionName(), UserDeptTypeEnum.SECTION_TYPE.getValue(), schoolId, uuid, + campus.getDeptId()); if (!Optional.ofNullable(section).isPresent()) { - log.error("学段名称错误: {}", JSONUtil.toJsonStr(welcomeInviteImportDTO)); + log.error("学段名称错误: {}", welcomeInviteImportDTO.toString()); dto.setErrorMessage(ResultMsgType.SECTION_NAME_ERROR.getValue()); return null; } // 验证年级是否存在 EduUserDept grade = this.commonService.getUserDeptBySchoolIdAndNameAndType( - welcomeInviteImportDTO.getGradeName(), UserDeptTypeEnum.GRADE_TYPE.getValue(), schoolId, uuid, section.getDeptId()); + welcomeInviteImportDTO.getGradeName(), UserDeptTypeEnum.GRADE_TYPE.getValue(), schoolId, uuid, section.getDeptId()); if (!Optional.ofNullable(grade).isPresent()) { - log.error("年级名称错误: {}", JSONUtil.toJsonStr(welcomeInviteImportDTO)); + log.error("年级名称错误: {}", welcomeInviteImportDTO.toString()); dto.setErrorMessage(ResultMsgType.GRADE_NAME_ERROR.getValue()); return null; } // 验证班级是否存在 EduUserDept classDept = this.commonService.getUserDeptBySchoolIdAndNameAndType( - welcomeInviteImportDTO.getClassName(), UserDeptTypeEnum.CLASS_TYPE.getValue(), schoolId, uuid, grade.getDeptId()); + welcomeInviteImportDTO.getClassName(), UserDeptTypeEnum.CLASS_TYPE.getValue(), schoolId, uuid, grade.getDeptId()); if (!Optional.ofNullable(classDept).isPresent()) { - log.error("班级名称错误: {}", JSONUtil.toJsonStr(welcomeInviteImportDTO)); + log.error("班级名称错误: {}", welcomeInviteImportDTO.toString()); dto.setErrorMessage(ResultMsgType.CLASS_NAME_ERROR.getValue()); return null; } - LocalDate startDate = null; - // 处理入学时间 - if (StrUtil.isNotBlank(welcomeInviteImportDTO.getStartDate())) { - try { - startDate = LocalDateTimeUtil.parseDate(welcomeInviteImportDTO.getStartDate(), DatePattern.NORM_DATE_PATTERN); - } catch (Exception e) { - log.error("时间格式错误: {}", JSONUtil.toJsonStr(welcomeInviteImportDTO)); - dto.setErrorMessage(ResultMsgType.START_DATE_ERROR.getValue()); - return null; - } - } - String familyType; // 判断家庭类型 if (StringUtils.isNotBlank(welcomeInviteImportDTO.getFamilyName())) { @@ -388,51 +372,11 @@ public class ImportWelcomeStudentServiceImpl implements ImportWelcomeStudentServ } else { familyType = "0"; } - // 判断政治面貌 - if (StrUtil.isNotBlank(welcomeInviteImportDTO.getPoliticsStatus())) { - Dict dict = commonService.getDictByTypeAndValueOrLabel("politics_status", null, welcomeInviteImportDTO.getPoliticsStatus()); - if (Objects.nonNull(dict)) { - welcomeInviteImportDTO.setPoliticsStatus(dict.getValue()); - } else { - welcomeInviteImportDTO.setPoliticsStatus(""); - } - } - // 判断性别 - if (StrUtil.isNotBlank(welcomeInviteImportDTO.getStuSex())) { - Dict dict = commonService.getDictByTypeAndValueOrLabel("gender", null, welcomeInviteImportDTO.getStuSex()); - if (Objects.nonNull(dict)) { - welcomeInviteImportDTO.setStuSex(dict.getValue()); - } else { - welcomeInviteImportDTO.setStuSex(""); - } - } - // 判断民族 - if (StrUtil.isNotBlank(welcomeInviteImportDTO.getNation())) { - Dict dict = commonService.getDictByTypeAndValueOrLabel("nation", null, welcomeInviteImportDTO.getNation()); - if (Objects.nonNull(dict)) { - welcomeInviteImportDTO.setNation(dict.getValue()); - } else { - welcomeInviteImportDTO.setNation(""); - } - } - // 判断学籍 - if (StrUtil.isNotBlank(welcomeInviteImportDTO.getStudentStatus())) { - Dict dict = commonService.getDictByTypeAndValueOrLabel("student_status", null, welcomeInviteImportDTO.getStudentStatus()); - if (Objects.nonNull(dict)) { - welcomeInviteImportDTO.setStudentStatus(dict.getValue()); - } else { - welcomeInviteImportDTO.setStudentStatus("zaidu"); - } - } - // 保存数据 EduStudent eduStudent = new EduStudent(); BeanUtils.copyProperties(welcomeInviteImportDTO, eduStudent); // 设置无法拷贝属性 eduStudent.setFamilyType(familyType); - if (Objects.nonNull(startDate)) { - eduStudent.setStartDate(startDate); - } eduStudent.setStuName(welcomeInviteImportDTO.getStudentName()); eduStudent.setSchoolId(schoolId); eduStudent.setSchoolName(commonService.getDept(schoolId).getDeptName()); @@ -443,15 +387,7 @@ public class ImportWelcomeStudentServiceImpl implements ImportWelcomeStudentServ // 设置学号和企业微信id eduStudent.setStuNumber(welcomeInviteImportDTO.getStudentNumber()); // 设置创建信息 -// eduStudent.setStartDate(LocalDate.now()); - - // 设置住宿类型 - if (ObjectUtil.isNotNull(welcomeInviteImportDTO.getType()) && ObjectUtil.equal(StudentTypeEnum.DORM_TYPE.getName(), welcomeInviteImportDTO.getType())) { - eduStudent.setType(StudentTypeEnum.DORM_TYPE.getValue()); - } else { - eduStudent.setType(StudentTypeEnum.SCHOOL_TYPE.getValue()); - } - + eduStudent.setStartDate(LocalDate.now()); return eduStudent; } @@ -487,129 +423,61 @@ public class ImportWelcomeStudentServiceImpl implements ImportWelcomeStudentServ List list = new ArrayList<>(); // 设置家长一数据 list.add(EduParent.builder() - .mobile(welcomeInviteImportDTO.getParentTelephone()) - .parentType(welcomeInviteImportDTO.getParentTypeName()) - .schoolId(schoolId) - .build()); + .mobile(welcomeInviteImportDTO.getParentTelephone()) + .parentType(welcomeInviteImportDTO.getParentTypeName()) + .schoolId(schoolId) + .build()); // 判断家长二数据是否存在 if (StringUtils.isNotBlank(welcomeInviteImportDTO.getParentTypeNameSecond()) - && StringUtils.isNotBlank(welcomeInviteImportDTO.getParentTelephoneSecond())) { + && StringUtils.isNotBlank(welcomeInviteImportDTO.getParentTelephoneSecond())) { list.add(EduParent.builder() - .mobile(welcomeInviteImportDTO.getParentTelephoneSecond()) - .parentType(welcomeInviteImportDTO.getParentTypeNameSecond()) - .schoolId(schoolId) - .build()); + .mobile(welcomeInviteImportDTO.getParentTelephoneSecond()) + .parentType(welcomeInviteImportDTO.getParentTypeNameSecond()) + .schoolId(schoolId) + .build()); } // 判断家长三数据是否存在 if (StringUtils.isNotBlank(welcomeInviteImportDTO.getParentTypeNameThird()) - && StringUtils.isNotBlank(welcomeInviteImportDTO.getParentTelephoneThird())) { + && StringUtils.isNotBlank(welcomeInviteImportDTO.getParentTelephoneThird())) { list.add(EduParent.builder() - .mobile(welcomeInviteImportDTO.getParentTelephoneThird()) - .parentType(welcomeInviteImportDTO.getParentTypeNameThird()) - .schoolId(schoolId) - .build()); + .mobile(welcomeInviteImportDTO.getParentTelephoneThird()) + .parentType(welcomeInviteImportDTO.getParentTypeNameThird()) + .schoolId(schoolId) + .build()); } // 判断家长四数据是否存在 if (StringUtils.isNotBlank(welcomeInviteImportDTO.getParentTypeNameFourth()) - && StringUtils.isNotBlank(welcomeInviteImportDTO.getParentTelephoneFourth())) { + && StringUtils.isNotBlank(welcomeInviteImportDTO.getParentTelephoneFourth())) { list.add(EduParent.builder() - .mobile(welcomeInviteImportDTO.getParentTelephoneFourth()) - .parentType(welcomeInviteImportDTO.getParentTypeNameFourth()) - .schoolId(schoolId) - .build()); + .mobile(welcomeInviteImportDTO.getParentTelephoneFourth()) + .parentType(welcomeInviteImportDTO.getParentTypeNameFourth()) + .schoolId(schoolId) + .build()); } return list; } /** - * 保存校园卡号导入数据 + * 保存家长和学生关系数据 * - * @param concurrentHashMap 需要保存的用户数据 - * @param errorList 导入错误数据集合 - * @param schoolId 学校id - * @param currentUser 当前登录用户信息 + * @param eduParent 家长信息 + * @param eduStudent 学生信息 * @author ZYJ - * @date 2023/2/19 14:45 + * @date 2021/8/25 16:55 */ - @Override - public void saveCardExcelData(ConcurrentHashMap concurrentHashMap, - List errorList, Long schoolId, CurrentUser currentUser) { - if (!CollectionUtils.isEmpty(concurrentHashMap)) { - // 保存前判断是否已存在 - for (Map.Entry entry : concurrentHashMap.entrySet()) { - CardErrorExportDTO dto = new CardErrorExportDTO(); - CardImportDTO cardImportDTO = new CardImportDTO(); - try { - cardImportDTO = entry.getValue(); - BeanUtils.copyProperties(cardImportDTO, dto); - // 验证导入信息是否为空 - if (!checkCardImportInfo(dto, cardImportDTO)) { - errorList.add(dto); - continue; - } - // 验证学号在当前学校的学生表中是否存在 - EduStudent studentNumberEntity = eduStudentService.getOne( - Wrappers.lambdaQuery(new EduStudent()) - .eq(EduStudent::getStuNumber, cardImportDTO.getStuNumber().trim()) - .eq(EduStudent::getSchoolId, schoolId)); - - if (Objects.isNull(studentNumberEntity)) { - log.error("学号不存在: {}", cardImportDTO.toString()); - dto.setErrorMessage(ResultMsgType.STUDENT_NUMBER_NOT_EXIST.getValue()); - errorList.add(dto); - continue; - } - // 验证部门信息是否重复 - EduStudent eduStudent = eduStudentService.getOne( - Wrappers.lambdaQuery(new EduStudent()) - .eq(EduStudent::getStuCardNumber, cardImportDTO.getStuCardNumber().trim()) - .eq(EduStudent::getSchoolId, schoolId)); - if (Objects.nonNull(eduStudent)) { - log.error("校园卡号已存在: {}", cardImportDTO.toString()); - dto.setErrorMessage(ResultMsgType.STUDENT_CARD_NUMBER_EXIST.getValue()); - errorList.add(dto); - continue; - } - // 保存校园卡号 - studentNumberEntity.setStuCardNumber(cardImportDTO.getStuCardNumber().trim()); - eduStudentService.saveOrUpdate(studentNumberEntity); - // 保存学生消费机信息管理 - remoteConsumeCardService.saveConsumeCard( - EduStudentConsumeCard.builder() - .deptId(schoolId) - .studentId(studentNumberEntity.getId()) - .build()); - - } catch (Exception e) { - log.error("导入校园卡号信息失败: {}", cardImportDTO.toString(), e); - dto.setErrorMessage("数据异常!"); - errorList.add(dto); - } - } + private void saveParentStudent(EduParent eduParent, EduStudent eduStudent) { + // 查询学生和家长是否存在关系数据 + EduParentStudent eduParentStudent = eduParentStudentService.getOne(Wrappers.lambdaQuery(new EduParentStudent()) + .eq(EduParentStudent::getParentId, eduParent.getId()) + .eq(EduParentStudent::getStudentId, eduStudent.getId())); + if (!Optional.ofNullable(eduParentStudent).isPresent()) { + eduParentStudent = new EduParentStudent(); + eduParentStudent.setParentId(eduParent.getId()); + eduParentStudent.setStudentId(eduStudent.getId()); + eduParentStudent.setParentTypeId(eduParent.getParentTypeId()); + // 保存本地家长和学生类型关系数据 + this.eduParentStudentService.save(eduParentStudent); } } - /** - * 验证校园卡好导入信息是否为空 - * - * @param dto 返回的错误信息实体类 - * @param cardImportDTO 当前行导入数据 - * @return boolean - * @author ZYJ - * @date 2023/2/19 14:53 - */ - private boolean checkCardImportInfo(CardErrorExportDTO dto, CardImportDTO cardImportDTO) { - BeanUtils.copyProperties(cardImportDTO, dto); - // 判断学生学号是否为空 - if (!StringUtils.isNotBlank(cardImportDTO.getStuNumber())) { - dto.setErrorMessage("学生学号为空"); - return false; - } - // 判断校园卡号是否为空 - if (!StringUtils.isNotBlank(cardImportDTO.getStuCardNumber())) { - dto.setErrorMessage("校园卡号为空"); - return false; - } - return true; - } } diff --git a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/QywxSyncServiceImpl.java b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/QywxSyncServiceImpl.java index bdf6bdf..9449cc5 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/QywxSyncServiceImpl.java +++ b/febs-server/edu-user/edu-user-biz/src/main/java/com/yida/data/user/service/impl/QywxSyncServiceImpl.java @@ -4,17 +4,13 @@ import cc.mrbird.febs.common.redis.service.RedisService; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.LocalDateTimeUtil; import cn.hutool.core.lang.UUID; -import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yida.data.common.core.entity.constant.AppConstant; import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.notice.qywx.BaseStaffNotice; -import com.yida.data.common.core.entity.notice.qywx.inside.Text; import com.yida.data.common.core.entity.school.EduYidaAppAccount; import com.yida.data.common.core.entity.system.Dept; import com.yida.data.common.core.entity.system.EduApp; @@ -60,8 +56,8 @@ public class QywxSyncServiceImpl implements QywxSyncService { private final EduParentStudentMapper eduParentStudentMapper; private final EduStaffService eduStaffService; - private final EduUserDeptService eduUserDeptService; private final EduStaffDeptService eduStaffDeptService; + private final EduUserDeptService eduUserDeptService; private final EduParentTypeService eduParentTypeService; private final EduParentStudentService eduParentStudentService; @@ -75,9 +71,6 @@ public class QywxSyncServiceImpl implements QywxSyncService { @Value("${febs.uploadUrl}") private String uploadUrl; - @Value("${febs.authRedirectUrl}") - private String authRedirectUrl; - /** * 同步企业微信学生数据 */ @@ -104,9 +97,9 @@ public class QywxSyncServiceImpl implements QywxSyncService { String accessToken = wxUtil.getAccessToken(qywxApp.getWxCorpId(), qywxApp.getWxSecret()); // 判断学校是否绑定了大华 boolean bindDaHuaFlag = false; -// if (school.getSchoolType().contains(Dept.TYPE_DAHUA)) { -// bindDaHuaFlag = true; -// } + if (school.getSchoolType().contains(Dept.TYPE_DAHUA)) { + bindDaHuaFlag = true; + } // 所有的学生 JSONArray studentList = wxUtil.getStudentList(accessToken, school.getWxId()); Set studentWxIds = new HashSet<>(); @@ -363,19 +356,19 @@ public class QywxSyncServiceImpl implements QywxSyncService { } @Override - public void syncQywxStaff(Long schoolId) { + public void syncQywxStaff() { log.info("开始同步职工数据"); - List schoolList = new ArrayList<>(); - if (Objects.isNull(schoolId)) { - // 查询所有绑定了企业微信的学校信息 - schoolList = remoteDeptService.listSchoolBySchoolType(Dept.TYPE_QYWX).getData(); - } else { - Dept school = remoteDeptService.getInfoByIdNoPermission(schoolId).getData(); - schoolList.add(school); - } - + // 查询所有绑定了企业微信的学校 + List schoolList = remoteDeptService.listSchoolBySchoolType(Dept.TYPE_QYWX).getData(); for (Dept school : schoolList) { log.info("[{}], schoolId:[{}]开始同步职工数据", school.getDeptName(), school.getDeptId()); + EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT, null, school.getDeptId()); + String accessToken = wxUtil.getAccessToken(school.getCorpId(), app.getWxSecret()); + // 判断学校是否绑定了大华 + boolean bindDaHuaFlag = false; + if (school.getSchoolType().contains(Dept.TYPE_DAHUA)) { + bindDaHuaFlag = true; + } // 判断学校是否绑定了app boolean bindAppFlag = false; EduYidaAppAccount yidaAppAccount = commonService.getYidaAppAccount(school.getDeptId(), 1); @@ -384,68 +377,78 @@ public class QywxSyncServiceImpl implements QywxSyncService { bindAppFlag = true; } - String accessToken = commonService.getAddressListToken(school.getDeptId()); - // 获取学校通讯录应用 - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT, null, school.getDeptId()); - if (Objects.isNull(app.getTemplateId())) { - // 自建应用, 查询企业通讯录的成员列表 - JSONArray userList = wxUtil.getUserList(accessToken, 1L); - for (Object staff : userList) { - Map deptCache = new HashMap<>(); - // 遍历企业微信成员 - JSONObject staffJson = (JSONObject) staff; - String staffWxId = staffJson.getStr("userid"); - // 职工是否存在 - EduStaff existStaff = eduStaffService.getOne(Wrappers.lambdaQuery().eq(EduStaff::getWxId, staffWxId) - .eq(EduStaff::getSchoolId, school.getDeptId())); - EduStaff eduStaff = existStaff != null ? existStaff : new EduStaff(); + JSONArray userList = wxUtil.getUserList(accessToken, 1L); + for (Object staff : userList) { + Map deptCache = new HashMap<>(); + // 遍历企业微信成员 + JSONObject staffJson = (JSONObject) staff; + String staffWxId = staffJson.getStr("userid"); + // 职工是否存在 + EduStaff existStaff = eduStaffService.getOne(Wrappers.lambdaQuery().eq(EduStaff::getWxId, staffWxId) + .eq(EduStaff::getSchoolId, school.getDeptId())); + EduStaff eduStaff = existStaff != null ? existStaff : new EduStaff(); - eduStaff.setWxId(staffWxId); - eduStaff.setName(staffJson.get("name").toString()); - eduStaff.setMobile(staffJson.get("mobile").toString()); - // 教师性别 0:男, 1:女, 2:保密 - String sexStr = staffJson.getStr("gender"); - eduStaff.setSex("1".equals(sexStr) ? "0" : "2".equals(sexStr) ? "1" : "2"); - eduStaff.setSchoolId(school.getDeptId()); - eduStaff.setSchoolName(school.getDeptName()); -// eduStaff.setAvatar(eduStaff.getAvatar() == null ? staffJson.getStr("avatar") : null); - eduStaff.setPosition(staffJson.getStr("position")); - eduStaff.setEmail(staffJson.getStr("email")); - eduStaff.setAddress(staffJson.getStr("address")); + eduStaff.setWxId(staffWxId); + eduStaff.setName(staffJson.get("name").toString()); + eduStaff.setMobile(staffJson.get("mobile").toString()); + // 教师性别 0:男, 1:女, 2:保密 + String sexStr = staffJson.getStr("gender"); + eduStaff.setSex("1".equals(sexStr) ? "0" : "2".equals(sexStr) ? "1" : "2"); + eduStaff.setSchoolId(school.getDeptId()); + eduStaff.setSchoolName(school.getDeptName()); + eduStaff.setAvatar(eduStaff.getAvatar() == null ? staffJson.getStr("avatar") : null); + eduStaff.setPosition(staffJson.getStr("position")); + eduStaff.setEmail(staffJson.getStr("email")); + eduStaff.setAddress(staffJson.getStr("address")); - // 学校绑定了易达app - if (bindAppFlag) { - eduStaff.setYidaAppUserId(AppUtil.userSave(eduStaff.getMobile(), eduStaff.getName(), yidaApp)); - AppUtil.subscribeFollow(yidaAppAccount.getYidaAppAccountId(), eduStaff.getYidaAppUserId(), yidaApp); + // 学校绑定了易达app + if (bindAppFlag) { + eduStaff.setYidaAppUserId(AppUtil.userSave(eduStaff.getMobile(), eduStaff.getName(), yidaApp)); + AppUtil.subscribeFollow(yidaAppAccount.getYidaAppAccountId(), eduStaff.getYidaAppUserId(), yidaApp); + } + // 绑定了大华 + if (bindDaHuaFlag) { + int sex = Integer.parseInt(eduStaff.getSex()) + 1; + sex = sex > 2 ? 1 : sex; + if (Objects.nonNull(eduStaff.getDahuaId())) { + DaHuaUtil.updateUser(eduStaff.getDahuaId(), eduStaff.getName(), eduStaff.getDahuaCode(), 1, sex, null, null, null, + null, null, ""); + } else { + String cardNum = DaHuaUtil.generateCardNum(); + eduStaff.setDahuaCode(eduStaff.getMobile()); + eduStaff.setDahuaId( + DaHuaUtil.addUser(eduStaff.getName(), eduStaff.getMobile(), 1, sex, cardNum, null, + null, null, null, null, "")); } - eduStaffService.saveOrUpdate(eduStaff); + } + eduStaffService.saveOrUpdate(eduStaff); - // 成员部门信息 - JSONArray department = staffJson.getJSONArray("department"); - JSONArray isLeader = staffJson.getJSONArray("is_leader_in_dept"); - if (CollUtil.isNotEmpty(department)) { - eduStaffDeptService.remove( - Wrappers.lambdaQuery().eq(EduStaffDept::getStaffId, eduStaff.getId())); - List staffDeptList = new ArrayList<>(); - for (int i = 0; i < department.size(); i++) { - // 成员的每个部门信息 - EduStaffDept staffDept = new EduStaffDept(); - staffDept.setStaffId(eduStaff.getId()); - staffDept.setStaffName(eduStaff.getName()); - staffDept.setDeptWxId(Long.valueOf(department.get(i).toString())); - Dept dept = deptCache.containsKey(staffDept.getDeptWxId()) ? deptCache.get(staffDept.getDeptWxId()) - : (department.getLong(i) == 1L ? school : remoteDeptService.getDeptBySchoolAndWxId(school.getDeptId(), - Long.valueOf(department.get(i).toString())).getData()); - staffDept.setDeptId(dept.getDeptId()); - staffDept.setDeptName(dept.getDeptName()); - staffDept.setIsLeader(isLeader.getInt(i)); - staffDept.setIsMain(ObjectUtil.equal(staffJson.get("main_department"), department.get(i)) ? 0 : 1); - staffDeptList.add(staffDept); - } - eduStaffDeptService.saveBatch(staffDeptList); + // 成员部门信息 + JSONArray department = staffJson.getJSONArray("department"); + JSONArray isLeader = staffJson.getJSONArray("is_leader_in_dept"); + if (CollUtil.isNotEmpty(department)) { + eduStaffDeptService.remove( + Wrappers.lambdaQuery().eq(EduStaffDept::getStaffId, eduStaff.getId())); + List staffDeptList = new ArrayList<>(); + for (int i = 0; i < department.size(); i++) { + // 成员的每个部门信息 + EduStaffDept staffDept = new EduStaffDept(); + staffDept.setStaffId(eduStaff.getId()); + staffDept.setStaffName(eduStaff.getName()); + staffDept.setDeptWxId(Long.valueOf(department.get(i).toString())); + Dept dept = deptCache.containsKey(staffDept.getDeptWxId()) ? deptCache.get(staffDept.getDeptWxId()) + : (department.getLong(i) == 1L ? school : remoteDeptService.getDeptBySchoolAndWxId(school.getDeptId(), + Long.valueOf(department.get(i).toString())).getData()); + staffDept.setDeptId(dept.getDeptId()); + staffDept.setDeptName(dept.getDeptName()); + staffDept.setIsLeader(isLeader.getInt(i)); + staffDept.setIsMain(ObjectUtil.equal(staffJson.get("main_department"), department.get(i)) ? 0 : 1); + staffDeptList.add(staffDept); } - // 保存系统用户信息 - eduStaffService.saveSystemUser(eduStaff); + eduStaffDeptService.saveBatch(staffDeptList); + } + // 保存系统用户信息 + eduStaffService.saveSystemUser(eduStaff); // SystemUser systemUser = remoteUserService.getInfoByUsernameNoPermission(eduStaff.getMobile()).getData(); // if (ObjectUtil.isNull(systemUser)) { // systemUser = saveSystemUser(eduStaff); @@ -453,79 +456,7 @@ public class QywxSyncServiceImpl implements QywxSyncService { // } // eduStaff.setSysUserId(systemUser.getUserId()); // saveOrUpdate(eduStaff); - } - } else { - // 代开发应用调用获取成员ID列表接口 - JSONArray jsonArray = JSONUtil.createArray(); - JSONArray userIdList = wxUtil.getUserIdList(accessToken, "", "100", jsonArray); - log.info("成员id列表数据====================: {}", userIdList); - - if (CollUtil.isNotEmpty(userIdList)) { - // 此处获取对应学校通讯录(人力资源)应用 - EduApp contactSelectApp = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, school.getDeptId()); - - for (int x = 0; x < userIdList.size(); x++) { - JSONObject wxUser = JSONUtil.parseObj(userIdList.get(x)); - String userId = wxUser.getStr("open_userid"); - // 查询是否有职工数据 - EduStaff eduStaff = eduStaffService.getOne(Wrappers.lambdaQuery(new EduStaff()) - .eq(EduStaff::getWxId, userId)); - if (Objects.isNull(eduStaff)) { - // 新增职工 - String authUrl = commonService.setAuthUrl(school.getCorpId(), authRedirectUrl + "?schoolId=" + school.getDeptId(), contactSelectApp.getWxAgentId()); - // 发送授权消息给创建人员 - BaseStaffNotice textSchoolNotice = new BaseStaffNotice(); - Text text = new Text(); - textSchoolNotice.setText(text); - textSchoolNotice.setAgentid(contactSelectApp.getWxAgentId()); - text.setContent("智慧校园系统信息授权:请点击授权(请务必授权手机号!)"); - textSchoolNotice.setTouser(userId); - // 此处获取对应学校通讯录(人力资源)应用 - wxUtil.pushStaffNotice(wxUtil.getAccessToken(contactSelectApp.getWxCorpId(), contactSelectApp.getWxSecret()), textSchoolNotice); - } else { - // 编辑职工 - // 查询用户详细信息 - JSONObject userDetail = wxUtil.getUserDetail( - wxUtil.getAccessToken(contactSelectApp.getWxCorpId(), contactSelectApp.getWxSecret()), userId); - // 姓名 - String name = userDetail.getStr("name"); - eduStaff.setName(name); - // 职位 - eduStaff.setPosition(userDetail.getStr("position")); - - // 成员部门信息 - JSONArray departmentList = userDetail.getJSONArray("department"); - JSONArray leaderInDept = userDetail.getJSONArray("is_leader_in_dept"); - // 主部门信息 - String mainDepartment = userDetail.getStr("main_department"); - if (ArrayUtil.isNotEmpty(departmentList)) { - List staffDeptList = new ArrayList<>(); - for (int i = 0; i < departmentList.size(); i++) { - // 部门id - String deptId = String.valueOf(departmentList.get(i)); - // 成员的每个部门信息 - EduStaffDept staffDept = new EduStaffDept(); - staffDept.setStaffName(eduStaff.getName()); - staffDept.setDeptWxId(Long.valueOf(deptId)); - Dept sysDept = ("1".equals(deptId) - ? school - : remoteDeptService.getDeptBySchoolAndWxId(school.getDeptId(), staffDept.getDeptWxId()).getData()); - staffDept.setDeptId(sysDept.getDeptId()); - staffDept.setDeptName(sysDept.getDeptName()); - staffDept.setIsLeader(Integer.valueOf(String.valueOf(leaderInDept.get(i)))); - staffDept.setIsMain(ObjectUtil.equal(mainDepartment, deptId) ? 0 : 1); - staffDeptList.add(staffDept); - } - eduStaff.setStaffDept(staffDeptList); - } - eduStaffService.saveStaffBySchoolAndWx(eduStaff); - // 保存系统用户信息 - eduStaffService.saveSystemUser(eduStaff); - } - } - } } } - log.info("结束同步职工数据"); } } diff --git a/febs-server/edu-user/edu-user-biz/src/main/resources/bootstrap.yml b/febs-server/edu-user/edu-user-biz/src/main/resources/bootstrap.yml index 63280df..40de55a 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/resources/bootstrap.yml +++ b/febs-server/edu-user/edu-user-biz/src/main/resources/bootstrap.yml @@ -6,7 +6,6 @@ spring: connection-timeout: 100 profiles: active: "@env-name@" - # active: "dev" cloud: nacos: config: diff --git a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupMapper.xml b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupMapper.xml index 28c2f80..95f52d5 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupMapper.xml +++ b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupMapper.xml @@ -8,16 +8,6 @@ - - - - - - @@ -28,93 +18,18 @@ where face_group_id=#{id} - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategyMapper.xml b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategyMapper.xml deleted file mode 100644 index f3d51d6..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategyMapper.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - update edu_face_group_strategy - set monday_plan_id = #{mondayPlanId}, - tuesday_plan_id = #{tuesdayPlanId}, - wednesday_plan_id = #{wednesdayPlanId}, - thursday_plan_id = #{thursdayPlanId}, - friday_plan_id = #{fridayPlanId}, - saturday_plan_id = #{saturdayPlanId}, - sunday_plan_id = #{sundayPlanId} - where id = #{id} - - - diff --git a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategyPlanMapper.xml b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategyPlanMapper.xml deleted file mode 100644 index d419d19..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategyPlanMapper.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategyPlanTimeMapper.xml b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategyPlanTimeMapper.xml deleted file mode 100644 index e4f26b8..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategyPlanTimeMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategySpecialDateMapper.xml b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategySpecialDateMapper.xml deleted file mode 100644 index e5912dc..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategySpecialDateMapper.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategySpecialTimeMapper.xml b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategySpecialTimeMapper.xml deleted file mode 100644 index 666a0fd..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupStrategySpecialTimeMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupUserMapper.xml b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupUserMapper.xml index f99b468..554fa9c 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupUserMapper.xml +++ b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduFaceGroupUserMapper.xml @@ -1,58 +1,58 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -63,141 +63,126 @@ - + + javaType="java.lang.String" jdbcType="VARCHAR" + column="{userId=user_id,userType=user_type}" /> - + - + select a.* from edu_staff a - where a.del_flag = 0 - and a.school_id = #{schoolId} - and a.id not in (select IFNULL(b.user_id, 0) - from edu_face_group_user b - inner join edu_face_group c on b.face_group_id = c.id - where c.id = #{groupId}) + where a.del_flag = 0 + and a.school_id = #{schoolId} + and a.id not in (select IFNULL(b.user_id, 0) + from edu_face_group_user b + inner join edu_face_group c on b.face_group_id = c.id + where c.id = #{groupId}) and ( - (a.name like concat('%', #{keyword}, '%')) - or (a.mobile like concat('%', #{keyword}, '%')) - ) + (a.name like concat('%', #{keyword}, '%')) + or (a.mobile like concat('%', #{keyword}, '%')) + ) and a.sex = #{sex} @@ -237,12 +222,12 @@ @@ -262,13 +247,13 @@ update edu_face_group_user set status=#{status} - where + where ( - user_id = #{item.userId} - and user_type = #{item.userType} - and face_group_id = #{item.faceGroupId} - ) + user_id = #{item.userId} + and user_type = #{item.userType} + and face_group_id = #{item.faceGroupId} + ) diff --git a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStaffDeptMapper.xml b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStaffDeptMapper.xml index d1b4d95..8080d53 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStaffDeptMapper.xml +++ b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStaffDeptMapper.xml @@ -33,7 +33,6 @@ GROUP_CONCAT(a.dept_name) as dept_name, a.staff_id, a.staff_name, - b.avatar, b.mobile FROM edu_staff_dept a diff --git a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStaffMapper.xml b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStaffMapper.xml index ea44754..8a4c330 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStaffMapper.xml +++ b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStaffMapper.xml @@ -1,401 +1,386 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - + - + - + - + - + SELECT et.id AS id, + et.avatar, + et.name, + et.sex, + et.mobile, + et.school_name, + etd.course_name, + etd.type, + concat(etd.grade_name, etd.class_name) grade_class + FROM edu_staff et + LEFT JOIN edu_teacher_dept etd ON et.id = etd.teacher_id - where et.del_flag = 0 - and (etd.del_flag = 0 or etd.del_flag is null) - and et.id = #{teacherId} - + where et.del_flag = 0 + and (etd.del_flag = 0 or etd.del_flag is null) + and et.id = #{teacherId} + - - + + - - SELECT DISTINCT etd.class_id classId, - concat(td.DEPT_NAME, td2.DEPT_NAME) className - FROM edu_teacher_dept etd - LEFT JOIN edu_user_dept td ON etd.grade_id = td.DEPT_ID - LEFT JOIN edu_user_dept td2 ON etd.class_id = td2.DEPT_ID - WHERE etd.teacher_id = #{teacherId} - AND etd.type = 3 - AND etd.del_flag = 0 - + SELECT DISTINCT etd.class_id classId, + concat(td.DEPT_NAME, td2.DEPT_NAME) className + FROM edu_teacher_dept etd + LEFT JOIN edu_user_dept td ON etd.grade_id = td.DEPT_ID + LEFT JOIN edu_user_dept td2 ON etd.class_id = td2.DEPT_ID + WHERE etd.teacher_id = #{teacherId} + AND etd.type = 3 + AND etd.del_flag = 0 + - + - - select distinct es.id, - es.school_id, - es.school_name, - es.name, - es.sex, - es.position, - es.create_date, - es.create_id, - es.sys_user_id, - es.mobile, - es.avatar, - es.collect_type - from edu_staff es - left join edu_staff_dept esd on es.id = esd.staff_id - where es.del_flag = 0 - - and es.school_id in - - #{item} - - - - and esd.dept_id = #{deptId} - - - and esd.is_leader = #{isLeader} - - - and es.mobile = #{mobile} - - - and es.name like concat('%', #{name}, '%') - - - and es.position like concat('%', #{position}, '%') - - - and es.sex = #{sex} - - - and es.collect_type = #{collectType} - - group by es.id, es.school_name, es.name, es.sex, es.position, es.create_date, es.sys_user_id, es.avatar - order by es.create_date desc - + + select distinct es.id, + es.school_id, + es.school_name, + es.name, + es.sex, + es.position, + es.create_date, + es.create_id, + es.sys_user_id, + es.mobile, + es.avatar, + es.collect_type + from edu_staff es + left join edu_staff_dept esd on es.id = esd.staff_id + where es.del_flag = 0 + + and es.school_id in + + #{item} + + + + and esd.dept_id = #{deptId} + + + and esd.is_leader = #{isLeader} + + + and es.mobile = #{mobile} + + + and es.name like concat('%', #{name}, '%') + + + and es.position like concat('%', #{position}, '%') + + + and es.sex = #{sex} + + + and es.collect_type = #{collectType} + + group by es.id, es.school_name, es.name, es.sex, es.position, es.create_date, es.sys_user_id, es.avatar + order by es.create_date desc + - + - + - + - + + + + - select distinct a.* - from edu_staff a - left join edu_staff_dept b on a.id = b.staff_id - where del_flag = 0 - - and a.school_id = #{dto.schoolId} - - - and b.dept_id = #{dto.deptId} - - - and a.id in - - #{item} - - - - and a.name like concat('%', #{dto.name}, '%') - - - and a.name = #{dto.accurateName} - - - and a.mobile = #{dto.mobile} - - - and a.wx_path = #{dto.wxPath} - - ORDER BY CONVERT(a.name using gbk) - - - - + WHERE teacher_id = #{teacherId} + AND type IN (3, 4) + AND del_flag = 0 + \ No newline at end of file diff --git a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStudentApplyForMapper.xml b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStudentApplyForMapper.xml deleted file mode 100644 index 5c1f3d2..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStudentApplyForMapper.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStudentApplyMapper.xml b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStudentApplyMapper.xml deleted file mode 100644 index 61cc2f7..0000000 --- a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStudentApplyMapper.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStudentMapper.xml b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStudentMapper.xml index eb9e0fd..5967b1a 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStudentMapper.xml +++ b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduStudentMapper.xml @@ -4,24 +4,11 @@ - - - - - - - - - - - - - @@ -31,9 +18,7 @@ - - @@ -41,7 +26,6 @@ - @@ -80,12 +64,6 @@ and es.class_id=#{dto.classId} - - AND es.class_id IN - - #{item} - - and es.stu_number like concat('%',#{dto.stuNumber},'%') @@ -98,10 +76,10 @@ and es.type =#{dto.type} - + and es.avatar is not null and es.avatar != '' - + and (es.avatar is null or es.avatar = '') @@ -132,9 +110,7 @@ campus.DEPT_NAME campus_name, section.DEPT_NAME section_name, grade.DEPT_NAME grade_name, - class.DEPT_NAME class_name, - dorm.name dorm_name, - dormRoom.name dorm_room_name + class.DEPT_NAME class_name from edu_student es left join edu_parent_student eps on es.id = eps.student_id left join edu_parent ep on eps.parent_id = ep.id @@ -143,8 +119,6 @@ left join edu_user_dept section on es.section_id = section.DEPT_ID left join edu_user_dept grade on es.grade_id = grade.DEPT_ID left join edu_user_dept class on es.class_id = class.DEPT_ID - left join edu_dormitory dorm on es.dorm_id = dorm.id - left join edu_dormitory_room dormRoom on es.dorm_room_id = dormRoom.id where es.del_flag = 0 and es.id = #{studentId} @@ -157,49 +131,6 @@ - - - - - SELECT es.id, - es.type, - es.avatar, - es.stu_name stuName, - ed.`name` dormName, - edr.`name` dormRoomName + es.type, + es.stu_name stuName, + ed.`name` dormName, + edr.`name` dormRoomName FROM edu_student es - LEFT JOIN edu_dormitory ed ON es.dorm_id = ed.id - LEFT JOIN edu_dormitory_room edr ON es.dorm_room_id = edr.id + LEFT JOIN edu_dormitory ed ON es.dorm_id = ed.id + LEFT JOIN edu_dormitory_room edr ON es.dorm_room_id = edr.id WHERE es.del_flag = 0 - - and es.type=#{type} - - AND es.class_id = #{classId} + AND es.class_id = #{classId} + @@ -695,28 +589,4 @@ - - - - - - - \ No newline at end of file diff --git a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduTeacherDeptMapper.xml b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduTeacherDeptMapper.xml index e3a9ffc..2c44676 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduTeacherDeptMapper.xml +++ b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduTeacherDeptMapper.xml @@ -146,16 +146,4 @@ #{item} - - - - \ No newline at end of file diff --git a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduUserDeviceFactoryMapper.xml b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduUserDeviceFactoryMapper.xml index 655fb5f..a23f6fe 100644 --- a/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduUserDeviceFactoryMapper.xml +++ b/febs-server/edu-user/edu-user-biz/src/main/resources/mapper/EduUserDeviceFactoryMapper.xml @@ -3,12 +3,12 @@ \ No newline at end of file diff --git a/febs-server/edu-user/edu-user-biz/src/main/resources/template/学生基础信息导入模板.xls b/febs-server/edu-user/edu-user-biz/src/main/resources/template/学生基础信息导入模板.xls deleted file mode 100644 index f84a2f56f94e9d665d40532155d11aa1ae49926d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36352 zcmeHw2UHYU)9CFX%^(OUf`G_~C@5(N0xK#gh^R0_lCUT!Fn|k!f}pMLXh?lM^0nxs!EwSN z`dmWl;kr?GKb#4<18FcBNel?d7pLZlN9XhZuN-}79fnb;!#;4lo^VHzYQUNiD_XNw z^tm;C-aymsrq4Y|DTdDlzuq<K@Tmip>yz+VTsZ1kw784G{Jn`^-L(17p7il;~bi=L>DH!Ge1 zzHxgYJx>F@AuBzHShC_N@Y}|Ig7xLG(6hB~d)>A~kF+Mlezko^myR6;{%|wcmA-AS zYYTHhTcy0jC~?{lWrFrFNLVQd+yu(y0cx+?5maoiN}}rt33?_CiC0tx{)sM2St_3b>%A;>dIFs5kOo>cU57ago3@as0t1k1OzCA z`VeR0p(IpBE0?Q4sFk#awrm3ftOHZYF8+g^r1yinwAZx*ds{2#(#BFD;e*9(onkh(STpC0l!oOeuD=5ZyNC5Yrt1% zz-!V+6aUQ`_$F^0K;O-~CMAGv*grS*a7PO7Jw8KWnozoinMsTb2Pz)%dmoKG#yr!jtp2K){U zc*YMK^I`n3F@7t}M?OARo0(a(umJlnq49d4Cq2%tf4v)&H4??iweL<{bdEv!M{iXcI_`JfPMIj3ScK|vOsUO{(!Ta zj^_TLOLr7;I=UPz=3%+c=NEC+nc!5|3?}G?nwj9d*$gJ=nwpv5B-;!o=&qWX;0)Ug zCg{SNnc(!@3?}H-nwj7n_peOq!kTU!ocNl-r0LedS+yBVnrDJ*lk4e+5)1i4x zR9i=Vrnd(sO%8?X1v;t}z*$*&X+Sj|_8e5yR4>5cN*5VTw|}SRFp&f_&7^a4n5cWA zdi@=NiNauws?)gsPI9TZ=BXz75@myNaPGhi$i_!nYq=4z zI!IhxTr82Pj@41e@sw~tP9KIWxFW8)Qf@%YD1~l-2W!i&UcI`JQUL)0jg(Tx$&^AI z!x>jR{hIpWK1Y~UsnT;hSl)T!Fr9u$& z%Us6m-wLQNx4c!`F=M7Rzh)Ki?VD&Fw2Ux5mzZ8BLGSe$8Xj^fdof^O!U}&3A7elcuM6|K>4i zdYbRiJSM8syt>Qu1SX21s?i87^J9smu93^s)YLQ@s+4guKSmr#p%2+mrHm`$I;jon zfj~>i2X*Cn!YB#KF=LnG$s)&|RSu4mQaO6! z^w-y~vCC=2F2{>SPG?p*IJ`>b=!?^zyt>IQr!~7AZx%USS>-UJGHo{lar(VmPub;| zv&-qmBFBwY4i4PX`f$bRSD(LOm(zw_jt`3*PgXfN7E9&u#Oa^^y238U0_AwKcu`}2 zvjaJ7lyW(`bz$4a)%!hXN`h+U2iyBs!u^J0~w>~D2p zpDt`+m(vdA_%zGk_#lUkQsHl&UJEu~VwYpfE{DzE99ZQj`J zta6n7&C~19rKRk0?AYb7`I`%?9A$s=^xCxID7zd!yBs!u6R^rr_BT(jxhJo)%jv)_ zht1!-S>-7Eo2S>uy|dZm=o0%9J;_{dI~X=$Jd_@ko}NU9Of1xoI-iB8c^n?;2$MKv zkXcnVm+P!btYaeK5X`}Oo}No#xoFqFh@MNSc^qTn0EP(WT2{F8Z!I z4~_xs05E{{r)bh1s04ECq~M4itIp9(&XMs_4ICu_Yxd%Fi5xpCIHGT=b8IE&$oQiM zj!cK+&>S5V9MKEi)oR^Z&JjJYvE^VDVnCc=p+Y?$GM9_~g-yX66lEi!$nznxp00;W zFbG4SR(OxG3h7D)%vM66h1D7jHg<7{U(%uJa?z>_AOmw-}V+JaCO+~ldE3qH5%(-uTs7)YiI1Ict@Ak@Vjb-6qJk2#J*r-@xM=5ldy zOIi-F(8KFqSgU8EuaI)a+P_2o-z+Ife`_8`Dgy> zRGD1@)O2YJx+wBx!w2djZx{3*L||Nl@gL6;9q^3ys;u;MK%t=MaFKr0{DoLk^dYYj zeV}wuqture$SGC*$Q%8LQ|T(4%k@<)M70Ay!W`wEBY_x(%#Se8A@4cekk7o?A0r$4 zV;kUuIm$ku?2p)xjeJ1ikC=_y@)(;ikg^X@P;VZrD`@#*7WwA1e6fmrj9AF(5fD(Q zD*wy-gE8?%-%&i;`K#Je*A|*emMgQTVupanIcPq4U%=trPr(l-40V1Tij(9{FIj+gfuJ+VdKXmJ<-1&W&bf}E;kAI(E|&8 zqBw@&UzkI%>r2O53~$JWR}4)k+?j!7?#w_kcV?hj+;}oeNkS#aF@wJtn5t4pHW8C( zGMbE|@4^8}Bg07n83Cb#2)HXGxsa=%2m@RO$poASbdsU;PVFhMyIZF(s;@_-C)yR% zi*ko%mM`J9B}!>wlgi5Mr?_N40N;6Y z$S1Ooi$N~5G*~DresSdZs{3QCC60vhfQiId__@R>&Lu-k#*$R1Pd3RccNKm}lxa3I zW?N$M0@QK*1m`HOBtJT{+&h6MSr)${iW2an(iT#J=c2E~96=ODTHFX0JeOb`LkR*? zoZ_D4ubD^*5NDdy5KRe?S$^c-6BxDwQ@Up~ME8s9EjWl;mtit2VA!?UVddKrJ7g};wyrdiSVfUVlcwtrmeHX4pDVNC z4TT(mC!xGRO__4mlEca4tNs+O9Irn*KBl%Jr?@Dgtgu67_h?tB%GNAbGCFC^L|1|p zshh*A{40ecU}#@NJH;76g*s$fS8k{nlx!?;6`~s9b8?C~0(*=DxDi=>QA}36k;Gk0 zrT!@_tE#PV6(TbuNwV-o^nKyH+2Y8@la?g*7ov5HB$E>Y7CuVg2wVx(P0EHbmW&ZH zW-zF~`yc{Us}N02u$B;ES0Ng)tk5sdFK=c{c|v)DF)d_Nq*DRrGUYgeU_$uc>F&(J!KHAXi3-;`O4PV^%~pKt2A5{v5k4Q4rTX zni^{)>5*xY+h%ZiLQdka?tnsgRMxqrd}Jz+TXnU4?OpC$lKQNO4>uCD<|2 z2};A0fZ$YQL$njnbRiZgErhM2_D*yn$p9UiXbRm2eW|Pvjb$5kBB8coNn*DHC5#QD3IvFZd;J|fZH#HRS9 z6JtFH9pleC+=$C~A`B~U$4BAV9=80lLUdF2bl=Phk&&dK0tdmj=^Mo@W4?0$OXq$E4KE6WqWZ9CF}U^t>PT%F+B zMf!lEY-a<;fd8aB6&S~8va*y&r^K!RTbaEnq?Ud^KdgLMv}Q7WM&SC&P2)9jl8TEY zkwh~eDbf1mdXZ)#sZQd^^hE5-ngmM80>rzrQx?sf`7dPaD+9z9#nf0$WYQXjPjLTE z6Nyy$jrk%`phn-8@^KvM9Hohml*BCilvoo9kFoc!vpx&=SHOI%QEjPC9WtNA4*R!8 zPEQP+cE9ud&_=Yi%yoBpnxQ4*u*$Dy|yJ3;K4Bq-ZfF;i{Sc<1|Eg;E;5<)EG zw+p$8jTS29U`E719bI#x5Aq1oUEvKO8ONjs3&8m@^!xjCc7Iir(f#*Gx`4{;ki zBKx;FCxizDrhOYiKb78h9Z+2p$nEskRY~|E9+vXPqJ>?W7ukws<%69cRTq` zE9pOdN!04`4@PE$)%2WInP*qI>g-29&WUb?ol8EKv^-f5dA;qE>2v(<9uK;7UuWA! z+xVW(?|-OrxKp`hXMm6Jw*f)i(#`wko`1UbL&$N9K5l>PaD3;s%6awMl%6Sy zJbSQhr$YDDl|k-57Lj_V;!Jy+Yc@}=iH_XwQ27jJO6-&Z%s zcYfILdnqf|y5Ei7Q@K|B%lY=Fw{HJ%@iSDVaYeJnEwm_w3eJFpJKsiUibsgumCoVA za)xDy^Uy<#>cR~V@=XKli&l=QyyBa>%c*Zl&58B9-jkqe>)uCKoLzqH(*3)ozJJ~_ zzp!+mae_;=f$ZXuHEM+4V=;JosyD+v8ilYkjN#vHZxQju$GY ztlN5ne{rkxg$^%VZY1q+_@-w?zqm)|8oJ!+`^34kA;*thd4WlJmKpSno3PyudxMhN zOcgv(?WYN%T${e;dpo|e4H=)C>R4#qui%%5-o0nKQzB1n0 z&%q(M_u$IyqXGk0$KHwR6~2Ny7Wf2fMRr*NvXP-?hkxcajtQ#d>b2^uV zoxI!qd*QBV*SA)rWzfs>SEDW_Jjsbk-0^3tWB*iNy0QMeb2rQ6vwM9q@_)SW%>|pq zuCYH;SC()6>Qjh#&$c~}ZyO)G^CbU2UuW&Qku>I|e%dPlo-a7^?a9M75r;DK1k)~3 z&kDVs>7^aIV(dOa=eErPqh3M1eax?{Ueoqfu zcgOObF1EfMK6zm7(+H=BQ{N5_ojUoaU#xa7Pgz^OxHj(8-lBJ(x_tZY)A8d6GaOBd z{l>k0bg#Z4c2UQ%I*xa1ZlBl?@Zs|blQX%Zz2AQLk5@p_!dC&s4QE6F6CWG&(L3q# z?W+&-l9%-y_v-M`y%XPD*12UdHezbS@Gys+;j>Qnn!VpQXlB+|R^@N{zwH=i%WF3& zXZGV+GuqvL)+N2y;EL_{ZnQq#W5T{C^9*LK+Y=gQ{;qC<*9_a+ZV!JuJY`YI(r?$d zI{3N2=X;S`XYuu3N2b;8xaK#i&$Y#?PIr5=YV`Kpeuq5rXV(YUd-N~w^U*edf9URw zq5-x^V}?6zzt?ff^XT&j&JXOryk&Lp65fp!9*4w_-&pl|HgfZLldXPl#_b7eImE$S zH@*GczstVzPCD9pO6u}Idd*5${4z1VZ?BHyqs%RkI`c;x5wJ=_NO>@)sj=RP%CJL5yA$0MdqytcAbGGSU$%n8d| zi!#==-MQsv<>fuwu8cd{!uMv!KjKB>}E{v#&l-yT>}SQ|jWM+Yg+d$9ve<>*>7nVhuN-1` zO~{;f>Fvmg*PYI{{q@L$u%)6cKeci3zjAd!SeO62?>ukN*2saUV!Qpc_@_s8vD<&^ z;`1D`Yn8hWt0vL&~@2xa8t6#_@Qmxv4}T0sq?2D4zAz8i+r%Pz~MkpO3*!{ zMVEhDa`}E2?}y6^PdzyH;j&A-&e=bG4y-zS=TpMmdxQ7SOf&5dDiawpPFD^@{_$f4_z3-=lK~qjt=;_^^KdS4h ztNT4`JiIs5L~IH^mG&%o-KEhrLuTqMORuSJlVwwBFR5x{`i<|FG;jNrT@7}5|FC28 z>;%Vqt@{SMTen|HEiErHsy7gB4G8L5f8c=mmWd_Tx}DrM?*99Wznz=^VvEtAvr-p^ z_&r(pv9R+7zZSlqS8d$iV?mwHt=-#f9{%}a#`^zM`=YRxy>-o`I*iB9wUC2f7!x+^+)q4CKL`wDK9>X`TbWogdbtyHQ1 z_r=fiV|$lwy7}Y$Cnx_(JA8I{*6kNJw_i@tUn6|hY4kr2K3R6Q`1SAXcbi{_^hoY_ zV%8(e%|oJGHyCET%JQ!H`R3^|vBmAPUuXGWtUmhdyX$`CcXl5Y#6Qi5+HTP2qg}jY zEqC$fq?MNEd)=CLbH?pArT0yG$0na0V(b~}8~S$^`MbS;=DhyD)|^lGw>$ZDZG7^} zkgZh>=2x!Pi0>2$YbwI$`+px@VcEa%$i{3!!Ea~ zNe+GOTGKnrj=NZ+hvyEON=Z{xQ>F z?6tIYmv(N?`zii)hEw8!u>sb{Gab$ieBiUckiTQ`w8{tZD%F* zJXbvI%%;UTQH4)TV2W(K0x&*PxqKVs*ueV0QEd`smOb>est^f|;1K!rneloTuG_R>wTp-ETJ-(#)~TL1Ju-i>=63&U z!KfwsM{IvOD=^AJIQ@!$+Qy-iXXW}nYm+f&pi_8fhbSjEkE*!uU(8MxKos;@1NWtkM8z*{Aq|QU#2^2hRAP%FfO%pB=F;EXTDMENwj|_p@ z!>=6SSPDVkrAiMckU?ewZl)3r=|B!)K7nGY@(Gj{9COU34}5GImTGyQL_ji)$M>-WJ`8~8$uy>fek=kIj!y8ti;$MoB*@th zk4ywV13*e?>N5J=8K~3g<3WI<(!GgZo55#~DX5Eh5O$A-DwG`O0;CseTJ@f?Vok$TbgiH*zt zw-{_2Jn)Lv!YjT|>eoLS-@wR^;Qqov_T(6G&~Y&f7&5*|4RG@-e)vMhTh2s#^S{Od zU()u+z$(${9+D-IVk2Kx={KSYRcwhxi~yH}Q`HvCVjn z7k!)ykX_-E)7;LGH1q3$yUyuj5b)qaya(gO@U<-~j1LnUHi7u*a}xz@3L%vA)(RN6 zNY|Mv;8w87x!g3_R zEUV1l3cuT{B+nW?r8q`OKO6YQYT3j86u`6{PM&H$O z7&BJK;j0C89R5H-9fuC0j>C@)bRhmJI^+8WbsWC1=m75m-~x6qA)o2D5`=`(h+6Pc zG*4&~e=X@U$RHFb3BfYx)Bj!u?G-}%36{YKe@GL5j2yIQC>;^RGWb5=-{qjaLt)cB zqZ@44ZAKYvk5G84!<4}vDEzw|Y_AZ)mzIHD$xYNI1bQjj8r!oMyqqI6ge}jnrv{>MNZfUv(XkPblDix>!gwu7NsDWnGw1c#-NK0vMH zkO4rrL60fNg%6wK8z~0j0fg_S7|2j1uZ2pUkxHJiN?uEdpm&gSF#)Kf95RJ?c_%q! z22f`?)CwScKg>vP4Um%@G6$%O9BKm)MynZ03(_Cr?=r{|BJ|F3s4YM)a>$B~-peSh z0dkY)*#HFlCZ#;v0VI$^wgACiN@-qufbi!`jC4DIa9Us>K0x>)3n6S@6MEYi1L2!B z{HPuSaR9=v<1vs9Krk*#Azgs*dv#2n9zgivIR?@P2&4QAWB?HCO_M@gfbg4cOdby) zJ2})6AbWr=LFp9eXxBkc<-eBTTa(G3R4+~|vJE;&Yw#07NA=OmD&T!;1$GztVF+?f zh>js$CH#K?aA&y~hZo*``27$3o|Ep*%m9y*Bo0z|gp-X$b=b4izn-Yhkx+ z3Ec=gk{*4R7<6jQV@w!l@q$3r5U}k zpAh`X2O++BzIlWcCKSTGMM8EYoQT6v9e!aA`{+>&1;r#1Tq4v`>sX6T!(x3XSK+A0uOs7Q2*JCuDuV#gaUrRZ>osM3>>K4UTa0gh)@*342HenO8xa?juUT?i0=5#E^scc{*Vt$Ok^PkJ`Tpsa; zhSKQrc?F2Oykrzz;&{s7aR__UdbSe|6C$*EV)1mm=B7`p!t09+^T7in2h+0b;t*3i zd!?As{)sS~<~y?(@j6MC8F-zWc02{I*RpCC;`-R>G>1z8WYcp zVKi?w6yY%8;6&#r26IRhSG+-tSk9a-ISj7Lkj2Xpb3-(p*6Kp}N7}Z((fY^4$HX(* zJmB_Az#I|Q#c^O@_%xQ`VGGfgb>4O|b_Qaf0EV;=fODCHD~ zec(ctHFySrpILzO!jISBzZ68^*%*EUL`d%u9^gIaCL&E)37)fOrzdhH+3<^89&9Wh zpS2QjH$({qxH~@hyB?W90WSM7@-x1tOio(}`>2II%Z!CB(-}J4Y|oV(h+ayU@0zhX z1%7xZRX(qP@lQVClMJpUB;X-EU}1zqh)yuGV?>7j|KR!$*wK(4eN`)i!`1C6%U^#G zWt#pvhfACtH($ZYZv`Y=FkyZmBpjzhA)&EgjGz}4&Ik$ zoaKFTmBK}-_Rv~DYXPkVv=-1>Kx+Z51+*5>T0m<7tp&6e&{{xi0d@;$dj7}fbk2p7 z7pmQCOy@0v=YN+E>mm9<^we-~0k;tnKFecFAQTb?v?Cy4up46n_#8hJ62<^9Hedm1 zBqWRtjD>_ROlL!q#RiyXc~iPPpfz6G17nnla?Y$d{_*tTQ$K8aMvMTBtT4oYp^6== zE;Rrexgs?LG9h8y0uLuhh>eDXg&^!iQ)0}OwgFs`wtrA8jmJ6+j21=Y<)#&+j_y-1 zJUcB`oF`WuWja9W(>o|Q*w@F;!>ey^Z*R}uex6<-eFXyFuRJ`xeS3R{012(1Ib1yj z-8@}AJls6o1a2MzUx5HKwTIRMS_^0`ptXS30$K}bEugi4)&g1!Xf2?%fYt*4lNP{d zUwqERr(=B1)q{jPrSQQSpXqVm6>dSqXKZ{<$7lAIkZ_9+JZIBe3UQ|uJ{RM|EN&IV z=X;C+w1s2^3Ae4;K*B9*xG@bMl5rCnA5sTM_K-S4!UyM0kUB$hgoMxLxWNy%^*KYr zO?$48+#tC_!UtvCg69dz3(`NZMFThe`9Q+YpZY=i3KD+7*&h<-_k?RNNCA)nA@zpT z2T~9u%>N7tum4+)DEOg1esvo+DdHzW@CWx_a#+B3xMj9NKjL%oOvpa^47+bx4z#Zf z9Y=pCAPaT}q8?c?bhEFm2uCg-^=NLvZW#=v9z=fd3*;l`QFG5I}aRsjXtIDW%~I27xnLff~E5R59`^7=Kufz diff --git a/febs-server/edu-user/edu-user-biz/src/main/resources/template/学生开通应用导入模板.xls b/febs-server/edu-user/edu-user-biz/src/main/resources/template/学生开通应用导入模板.xls deleted file mode 100644 index 9c3bb5b906c5753c1868efac8d85539cbf7be1d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19968 zcmeG^2Ut|c*0ak33yO3^5ZDC-L_n%wWkIZIIXDOIF;c;R5Fy-P{i24x01&AR;BZ$TjO(2>=G=tb2qB+DC5G^2DLTm}q3ZgYc z8;Amk=sOtg;J%ey{%@qhzcs7qb z?sP(5N5rhryV&nG#}=|8bTkNqp!EbYo{XaS7*7Mg;A%v;9HxCt8-t1*>U5%Ob|VoW zc``^IL`K4OWMc@()iHtgaSX)%)7bVAeJHIa&|WzChD?OtNJ{s;zzVUHP7pGgjD`D2 zh@c`k)yt24x3TSGe|}g`Plpe^SWA->=v~x4k40R>KywV@qMtxFYJ_nm35Fh9A|Ks%8+bssSuhMLGpc)Iqfzw76`%Hf&6F zJ-T6ka9tS{My@fW4e?-;OOc$ibZj-$HPsgSpef-DBlZof)EcZbj5tA*hYtg7Tl3n3 zXIikM$b3WQo8MK(6T@sx;hTz2?@zAcvj`4z#|R*&}ul*Vj2U# zjzmQ6QxC0#yp`a?EE9?Z21T97jvG`l{eam975&XE=viG@yhSXgw1cPAEOR zqoE8OpAaedK0-tSk$~`YD7)bDgn}Bj11^0jxYU1W`cOdu-bMvKHY)gWS5eB((t?yon+3*afgw{!Pg1&4N)MSrn7@CL6jslaqGagzjAW%Djg(B02zC;h2*pY9&(c;I zPV$JB6sCd`>^Tf4o?dL6Km}>2C*rE0W88`2!u}O4KdzP;3>65tWhFyMC+Ug^sR}K$ z1OzRq75D7fBSm1WC=X+-C=X+-C=ZibQBo?Ur$SG-xhB&S_HQOIzR2V;RUtO+&e3Ay zo(4uHs6eoRa+#ihM@2RjEg_I1G_nPu6hX0js8ED0AZWl+2RkLbuL%hi7)7wirRchL zfbc&iVowpFhX+qD=?DW*h7*dd`ily2T2Vx3aU}k1L>eKE14V@4L|d*|HJm68RE~fq z8>syK{iU{MTwET;xVSuwadCMVzoda^O~K2^!d z6`5+?fGK%t{|Zgz=jSVFN`CuKg(EowQ_KJ%j>QL5CNMsLiykJZAkqfP86xz70fWF0 zVe*)&AmRc=bmyYxg>;URI4n9IpfKRN0udhgqjEP_*Yz7Aq8r5>$XD%{77(A2}kWA%BucJ2@isxfuYcz*vXLW2!>2zEH#{mOgl6 zkiLM3pBxc!EZgYb2%WT-BT^djCy8{BBSN1c{t0n9$`L6I`IBznNsfr87aI|VGfY)j zr?VUp`Z$z9`U2~8kt0$X@+Ze#e>ozaUTj1d&M>9K$>Bm5ODB@Wd<(KzP62RaCE*gk z;iuFqkGrEH*h9xu!A)KzOUXgzzi+~J^)4x$IA256X5wpcEW0X+1O#p={rBQUi-#}KRqa>?_KFEqCbX9#K zgrzj6V($4xjw5LLf`%+{eI%MhR?aYGE0e>6MGgb095`vxqT9((P)EYv@O)D8U*c%nOF_LnFb1e!WBo6AiL3=84cfUD*tRIHa?F76u3??x7V{Nt+Z=2w zE2q(fu#XH{S3MN9W0BJnl9XLFpgs(7SGCrXXyVD@l z=Oy{0RS9JdLdnXJBx=|d)z)J|#}P_u(`W%|!xFlxHgUtTEOm(TSY`oZS?UmmVq2uh z&35gpM3K`HC}Ig+RS4spT8;X!Xw*%uM)9!=}NkPQBH0jc%pb8*SBc&A6D5_^9WajkKLwt{Kv%FoP+X z3x^*?bG1@37c&f*5?^H!IP@rzXstwo8E%BcPrdHgMlxr$x|5M^uU>a-q}!;~9Yfj_ z4w;p7hdoD8a91V4ncgCV!%DUO$kq|ts^v~bx)YLC{eZ$o+8s!%!(jS&XJx^05LOi2 zLrHL4SkZG=7xjX(jp<%$1(%WbS1&jlX>YZH)1*i9&B$oES;35w1ux6^7n?4VD?wOj zum%rL{s@`f_kjpgCg48z$HL3eP zBPWdiWvhbqhPdQu>&+8ibenUqW~$3Z%T2%ZYkHu%}GMKMq9JZ-fPba~*AWE9kUUdzo<6+qKcL z-TX4&iF5FvgR#+wv?=8W`kk2KoMFLtvT@#+Y-QPZysq%ky5Pf8vf_$ow+Kw~JgJ}m zGR)q-Q}w$6pQ;8W?TonGcVtkdR^+KkYbCk`Ck1(v9=A{Nc5~c*)AH@3;g6#=HVrF& z8~G`=aLD^>#Dur&YF_5!y}R$-ed(jSjdR|=!_?ZL$DZeA_3^*)# zZ!yiiI?%-Rs8;2>vlhpP$4~s`soC(E2~!jG?rnMT_K7Rh@@VyVvR>3g?}G)IWy`X4 z)@%1oE(o*PcR;r)*d(Iskf?F243=O`laaNmzissq(>fHWP4No()Fe<2Ih4IVm zpxqJI)>>s{Rn>(GZhU_|Yc=1mB&N7vzVgkh zifcXmtB$*z(pb`cL;2R1h3`Jx>36Jfb!zRCl0lP>y1y!vyty4;IPJ04$u2`ZzpZ=J^B1ec0P{U(TUnNuwuRIoc=8Ic!$AOXs&)eLRx3z33twIBa3h zqLm|zAOGffw~Ou1*;(gqIscS@h0{yWHnDj?&;6#W)_-@m%laJyYHN1SpQSf_)69?j z@HSaDFNdrSIm93d#rEwUXM;T>t(U(*1|I;y-iXMuAF>g;fiBjuTMFr(c5>! z2kR39k6bdFQLr}8AzwUwlcU#*bCo`&+umFK{Fpa#yQkpUvf+;Qox_j*tHs?5NyYan zP9IKbHt_Vf#xMMxu5|Vejvsx?^r`EUV}XT(;v{K1FR%LjHH-`SCNq0)JvCz5gBw*Z zV=7*K7wBYlzWtfmfoqC1z1Mz4W}fdG-QnvLs|%yvZA$VC8BuP#VBh@Wl^jKoGJ@OvtBHXovz_~;Y-xVGtYqq{m3K`-wsN=B^k2UzUA*DWyr*X? zH!1#q|ZDj*&rj$#teZSI580bP7J3@l0q~ z#ksjIXKO&9{UhsEy^052XnRc*zFn9bIk5?^{D)RIwT7hJJQr~FxqU?mPy1>}fyX-A zAJQ~4F6}>A7qKe3y8c7(m zLk}kObt>TTj%KY{|8(_wq51V?IYX|SRD9E7U~W{_FULmjF7n#+!^U3bTkZ`z6g4;U zwq4$}6ZbPZ_}|(-(6wnFv#Q=!V?UkBsB5BO=}%r&pD6gX#Zueme7#>jX{(;^a88U) z5Kl;?=0w?)k$+=j)e$Ib2fLj3z6@Q*4QpmByfp5Vd(+u3Gmg!?k{WjPlzFS9w)xpz z+pbR~Ooik3vuO1oeR@u zlw|z0u@yfu`K#~Oe|Kkp^wH2O>pNZau*~myz;A-z~cf3d0 zr)^yHb@WY}6{}m^Zx?dyty%w@z9V)l+*Bgjd&<3Zb-xp7J6$Tf@h15$2^srv)Q_9m zR)inR-Xz{~-TLzWLv=UkS&{wGz(`?MWK)UWmFzV;p`InE1dr|HXHmMo;v+!4y87sz zbT^q*J7WqzKK|MfgGCO%&AGh&y2h-BK6>r^?Zciu*W2O3cbh%(_{y;b%YP^_9_@M8 zBW{ZYzr*9DU+12fc<9*zQGc_(b8mNy*)?Luf_UHOrehWbJN0p}@9*U1u_B?FWAB{2 z%kv`Y(s%f+UpVlg?fMM?=L#x5nk(7+$f7=@1w+ZSEvd&=FQTW!yeGb>$t=j{>kTRompyr6j9)S`1M?afMV?b$fsLv6^_ zh`>z(vk5M@D-KsB58F{&u{Oy(=U)+z2MmwPh)J#3wDrx0N39FWoIOG{W;$+r!^s(b zb9wX1M+WY#A8&|wyt@6bEpjF-wEO8-ZTrppx-2N#Gyeyj5&mntCPta~p8a-|{m;qg zFMm^)?m9tx;KJ|PcgYQExp-i0ai;Oss|F|UyX;z#Yvps#>2~0`{KVrq-!{LxG%hZ2 znfrigS}v(OJ#(uqBH|6|G`nAMcUgFP=Tm1%=cifQ;v>iGewEbmyx?{F*AL%2KJv=W z^7^cwqSH}lMP2;Uexbn}t_hr!G0%pIs)7R8JrKavAGVfR6h{+a_ea?)8TfLT37i}- z9@(%_#cm3f>l^ix;!s}L_{NX~?b_;a@Hv?d$e=w$`RHi zh)?S_m=&M3BhpOC45s*0EF-E3JzSnC>YjQ=R-~c0Adu0(9Umnca?69zU`@)%I`Dpr zKlH9R$`P{Q>ya#l1>mI9KpfU;tX)(PTt777AG9a#PGv%gulXrum*5X3Z9C` zQVrlBZYC02;(}?x&7lIH+lHR zX^=cmq>^hx^dhL5wc)U%PNFTcmkf9M20n<<8PiitqAv{jUHoQgefHY4=rNepCY;JC zdVMRWtd7je#WtjXA>uvh^{wd-i;dI(ihb+b^B~U?p`JVJvv|T@R%T*Y|7Nk!vPSyD z{u1~O(1;|%b`Hvg=BK|MGHCGaP!kwrn1DKI1^wC^PB`^&&k-=W@Zz;Tb#F-N%m9|E zA2+|c+GkX#e>4Smrr>R;>kJB#4t1E&3Qx3%A7?t0oS@c>rjVaW)t*IN9i+9Z{T=1* zouv0Q{;lQieb8*1Jdp~qaa7}%JFwDrqK2f%$zvv`{&T+s-SdY$eDT^^V4ani^Msyhua%d4c zrwKVcN~d#Lki)(}=d>XQ&QPD@Lk`tRm+24@$j0P!p$z?N8dsO%0$)U~@yD8IA${rr zkIo@y=#6v^Im4Hn=^S!~I-zsO8PcJ1$Qf!!1GL5guCRpXs99zdNS7mbh5$PT9?t>J zL}cy#N|A`%cdQcWlAFN!P*9Hv$tBOoPf(XzlLxiImupZa^dU`93h1e37Tkk|YMdYi zN;R}iAR`yJM3=%tMWXhweh8$Co6>Nkg$nV4F$KquG{WQXIEBCkpA>>A&{76e35U`t zR!42pFEtp}z%6`B)E&M7F#?|95JHF$CNu>Y6R;OxKrb<_hl9?+i0IQjsj@CyBXWS6 z3q+8Qp5G1~Q9{ALn!? zGdb9K=sc6+Th+~Vsga0~>ZQ|D2)Va{J9y5-_Vb~HsxEh9ENdl$C(-jQJhEc|1;pG3eL1RzhWL|OdK?Emc%&;SKBy`VA((6 z@1p^HhKKoGKbKpECZ}xvLBAO{YEs170Q`>v;2=fyFRuQlQ{;!4Q0~Jmw7x=d0V47{6(WvTb0FdvwFDv)aLn5UNH}is0LcbY z9Q&Amasjs#4C&I#U_wL)3|hM;CFClu=SljEo_zd&CWwpU;~?0<2qyy45B`HkEbLp1 zhJA@Y3aaEs{H+ygoj5^+kdC@So^U$^$7vBn zMVYZ&lLWzz%V=r`Moj$&m@oT(Bz{0uezXIUe;9C8HV2vgi^7+-{}(kYCG&T0AN>Hs zM~K)5FrfdSi6&zP{0aLK`p+zg_^hz2K94Z$L&4zr{lNbdz?)*gn??g>Af#iVH^#s| znixtjFwYsiNLPR=`y}=y?5p@ro)27IVPDS!UTnkYPNiP(9+5k&h3Wn&gcR#_hlrb2 ofuuc@xkKI?e!kF30KmJ!wJZEQD2Ojyec-+ulmx-9;(v4aH${q=H2?qr diff --git a/febs-server/edu-user/edu-user-biz/src/main/resources/template/校园卡号导入模板.xls b/febs-server/edu-user/edu-user-biz/src/main/resources/template/校园卡号导入模板.xls deleted file mode 100644 index aaf10a9db4ca2a9d07398d8029bca19d28d1cfa7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19456 zcmeHP30xG%((hdsSVR;QkwaiX1Vlh?Py>sACnze28bm-`1TPFCVj=;r7!(mT@g&|v z)OcU<3V0$B<9!h0fd+5!cpAi@`&G^C?9R^467s&h_j~!iH`ue&)z$y1uCDH`?w$4g zIg>kUcUo2x&J{#-$OpLr(PPmC@QjJNj0q9K1Li--<#L)x2t5Ax`Wso`J?PqA(T5`V zbby3?t`A8J$pBI_NQRJ_Lo$NY0#Zvz-~z-1QY%QUA(=vI1IY|hTS(@REFf7zvVznO zk~Jh7NVbq9knAAYLqZ>7(%;B@e|uF2ku>}3J{9vh^ACU z{-NDy&K@KhTAl?h4>qqB9qB@_)Da0-v@dj znX(B|GDs>sPiO?m8RVl}9J@`GkK_5W0uyydRZxG#K-+M~KaNZG_{Y4q@sDLV{_*p_ z*MGhR48+DnphsG+5MIG4pPKW3Z)qmX&)9q+1U(8Iq)g$}|L#xJhY2{=z$3_CwUPc* z(mCZs!KW-&=DGFgJcS33s(K6`|EDpI5zvGAWa@GAjGo+2hM)Ol>Y3x1L;J4zkNRxL zxkKp_26xo2t|i6*2IOdWLT0%Wf_VWaFJ$F$rfK~80BvqY%|PmWI4|9qz4}#sWQy^Y zg<{glX?K+e&^ACqN5%4BNZ22}Az`eN010D}iI7mwS&%SZDTIXaNf9KR>q=me%JbK*bBNGnh3`y&{1c!3EBc!iJmU`IP$E11z1N9fU4nhhv+C}tGmE69Js;e3X@3wEmsJo zL!tofPzDVPgh@&OG#%(gAw-=Ply*6D#}Cp%H`PKn z;H8Ve{}Ern(O(3u;G?7e@aZEUe&jHkn1h33R+B#kA|ZZ$A^4;wzpEC0krw(d&>ktT zJ_6#Sg>Jx0C%~_%58{ip@SE`R6Y>!cU7P>x(ds{%a&1KB5R1WxwJ)}B@7lh-M>lvF z?nXV@h^&bo?yi(&v4doz;@Au}FkoTp#W1*guq4gM&h``4bo7MM%5^ z7+oZk_;^V-MOLAYieT?%Pi2DRB{m{=(h>fkD!ZPGgk8x+qEZ!hkHobN~huK+ql}V6}(-K90%@j0F$KlJzuZ@nV zeEk2H=>lqv#1`U3+fx^wC_CV=#Y<#G*22%>0yC7m-K^%;Jp|F}_l;)xocJ{Yx8bR|FC?-;Eq zfXR}gbJ}YGGd3R`qd$uNm5Iqx!=;8qMBCp~Nl#8LwJo(JB7aIx+~HIF zoOWT<$VbPMKZ<^tBm_%>VX~y{V*xWVMc2@?BQG5qNYj;ep#1?OdkP2ir}d=u$DI>H zr`tvQ8}2>=~w?Z~Yf)py~!J)mP+o>LtSIQYzV0vuVu3gHu zGChVgrWctWW7C)(LmDcNm!_TY%wOG3&`Om8v@d#j=~Iy5FV5X}k@ z1+oka>dF70LVIO}CQ9&7R$x4yBZ2F64p2d52#q$N)scv28Y)9@K|1^uAox{`N)yPa zTa)RM#x-$N1JTkPxwLT*TQv|=M9qkdCi*~E*@Qb$`9UdrqLQljHG*Ily?XUZ>Eevr zOQlk!i!*M|rZH}hG=QKk#_icO&Dj&q$5=|e%jP&>V@myXvnSV5oz;}W^JxupqosdPG0 zu(%8OLy*dd#zFAAO%(`a_zkNbm~b`usA(YT6EhbCHytWXw2th?LGT@dKLn|aXdEO^ z4Fod$Hfh{rVN=r-O&SN0sDVI+PZKZi#zBIb0z$vOp?v`27NZGu zj=XZbp}C6o=*g0wJ$uG4r!~JEA09a_ymEY0a`a`%@>iAoa!mQ<`0~hc=aoY*OqAWk zvgE4jSNw9?@XPVzk>kZH2ZKe0-3(;Occ1^vFUJh!`0#jfx7_P5Fi z`TgbmaxD4f@cCP3UO8-ktBlxl>H)tTD}FhA{^rdqhwX2b5vT6#;g{16<@hzp-y|T1 zk5lDuUfwH@-KXV%w_}*EoZqbZ@cEk$uN=0& zd3kR-U%=NM5wXwJl`j&vgJ}~qP+S6CUAYeVJX3Gb<*`UwEHohPVPO{Nrz~5xNZd)C zS*N93NU#LgZfY%sZB1D87{=F(;B8V7U6)>`13C4L;k7lakEQ6l8W{R;Y^4uTckIe5 zAZoGD2o`@OB6=(r(L{+zdubC89aV_vn_R?JN<`WpwIIr+-&HI6i>XssD8%C(T5Dvbb7DN9Rpt!Ta*Ks6NoO#Epe&_k^x&w_ zfghzT5>Mu6(H7*X%GtW$VGg5+r26OVfzR@%aXP^iTVW2RjYz)wo!DtC_ zKInpe%GgE9(Zw8eQI#{(3^rETFX%r=z+)ZSf4p;bz%y*rp>%aXq0p#)k$Qu^T0;AU zi1_5{0jC3pQ%|n1@HTn1*5z`L* zB1ujDpC1n*5|C>EcIV8FLIbe-tGLp6wO`N5)SSL@;mZ=G^L0VzQ|%$Usdt9R8v2?k zWjchJaj+qH+MpavxH5HB;o-`}#j{i5vEwH~o@IMdhS9+5rozK@iHp}kiN}tU=#yJs z{XSCR;i|;N>!`$I$3xJ@GQzK4pb8Irfs5y+#AC-j5FezU;KvJ6;bE-9#q(6+vEv(f zk#TD;K0E_>Qw#>k!*M?@TqGU=c3VdH@_GbiHLS*r0s=a}(8=a}(8 z=L*C_NdZejAqX>pzi3$NMv`$v1~2(%zz-|%sUM_K@LE5<^zQ|)X{M4)c*Q@1#SsCt z(eR>X2F#CsB!PN4aW;&<0BksXlNXgDlVx}!#TCB`WGG%pIo5?m@m?V|Co5Qb(JLtZ z1=D(X@pC<^4D01X7sSBdQGpl|A@hBNqyc`zfoI{EU?IliR=bpEF^N%iQD{0#mL8a`t~(J4*tC^;$n12iNtK2Yn6B1s&4nvkJ#$(J-)1HW8dwsLOMA- zvFa69eA_>=YHLj1bW8J(5{p|ddwuYS!_NM5a{J`17*zb({fVO^b_Es`rrQ>7xcDwW zc*Zx=G539Li?fpl{$lU?k-z& z`Dsag&kC~;_a6^9y>Z{rDR1rBVaKBDEp|K{A@jZ9TXIYC$}qpx@g2?c;?IqiSh(FU z?Y1iK>5Z$y#vQ&{u&ZF2--ycoN9CpoZ=?@fU#iTB%>j$ZA#_u>SMk-256Zw!e$c1* zx|9(J+If98sdmmuvA4Qm_2fom zxn8qF;#nJ>*KG>?ux(y_^;ZuhW-B)99lskYJ(E(M8CaS#qhj`kjUB|XSrfll|JjYb z@rMUoSpU&kPpjhI`#ipG)$+@#$isuSg^apTVSKS~j~hNC9db4<{3QOG?Xp!Ccl;tQ zy)hef%|Bt=f|3gP?&BVnt0Ir)Y?1rm4DJ9 z=N=<>o!NHiHxgQ8*}Z(t#nm^i)!duu|I=;LD=Wi|hPf8$8_kuSb^mhzi)pSKtxA6G z-R`98xa#sY_a9}MSL~VJ`gWhwlLltDzfw4R>)xA^t9v_Lv3u@%bHo9MF@f`X4S9H} zuH)SvPdYg^69(`r|Jd=|>Su7U?`J`e2A0}%6FgDvr^EWCS@|0uY5Oo|=+h$$M?Gop zWv{<4=&oaCtFXRv+ii*)v(#kD0ZGSh2isKa44%F&^+NdcTc0}rtk*kt#Krh~emzzS z>kX~bhjbdWZcO=UJGYVX4z(+*?^V7qI&d)kO=8HAq)Oey)bj0do8Q^=*D+h<^Z4zQ zUNaZC|Guiw*~moJvG(mG*M=>JY(Jl<`|Py2({-KSqo1xRunk}SEZW6BH_^d;XY-9O z#vRL=;V`XcV258HiW(gE>>9k)uaklOrsu`Zg8lm)TenKcnNqzk^5_(o*_L8wTbGSl z)>i$;HnY3GF8sih{FL%J79p8l$66LYAL!ul(Zjcc-#-|Vxjp)P|HQBwz1ZUu*2tS3 zIwmQa@TkjFA9ts%*R0;$AMq$&r(}5fo7nfsrNiD`BBr7p7mMaS+P(Akt>?bYz7zZ? z?K-XQ<0H>j%=T|c+y2R|u_ZZ%+q)l-zq9<@<6(%Y+hM($x2G(B7?C!9@)NTWGt;L{ zGP=FF_RV8A;PUM7D8ndjywCna^R6r@G+3|SKkLvy+dcc5JqS0A4jmRZX0Aba&9@(i zpVv91PX+|fb?6h=<=hLA?ts#`u!?1^pBIMhjJ~wSIzRtG{Q$|;FD~b=5(iX_Dlc7S zcikj>`}X*Tx9?7RKYufC#UAhDC@x+<;o^GABefA zMIP?vI(_e>vg?&Emz6F*>D=?gu3*o%ncvr*xh}j_)c*0YXGz_%>H>OyX_z(sx3ark z^Xns8l~?-TJt4I5>{(|qMeoiRE6#lRB4tU>+KT$h6F0j*yzV=tZE?()-*-3Pv-tbr znMva=9PT&JW#FtR*T6UV{X8?js|~V?8NQ%*+46+ek8V2M3bOyHF#q&*mkq@i1brl( zC$;U~dvBYS>p!~{w0_&*x)(d=&oY``GP6M()hYkl`G|EVYSL%58l%@>TyecedccF} zc~1-tmKS))Mo3SDd_Qi&CquU{d~GGMt=(gLVd}{C2OOf7o(ny(Ebr;gRR5lR?jLK> z$8zQM1t(4WnoixnJmctsWk*6UPdTmA*ZfsR+s7eteHq={@6dh z>nBsK&y0LqlIazZP;FnZXMXwehFPbx%-1*X|J*meOI}!Y*H$A=iGHzsv*XhKW0!`d zpE%ZVb=a0oR>|%*!it)#y#ou5&+mT!Ve;6ii(PJx-M8?Em+oTc8~%2Q5y^|MXBMWo z=?yM?{oZoMeaYG(zr_sQW9{nRscv5M)}3UGEauLvUymNxe9!-Jg0Sbr@gb&jTq37# zZd-MwV%o~(w@f3p2sghNw7w))_U(8e|Sr8HHke|N0&%@IXZ5&6M-d)%A z%EPHChf}xRIP=xVucMvk4mJ1rc&U8;$sUu8GPnF392M0upq z%sR-?;&QfK^_S%etU%dJxY`1wE>yxJc zXt%BS@P_rJUweA|&}Qrxxt4YvEvo|t8C`9@`AWYt+ZIl`etq&ezd;MV!zNXEyA2)~ zcWLX$tIg;6?Pzsop6}F|SL{!mcR$-=b$H$8U-z~Bcz=3-=R+dV;r!L>pR8JMXMTCf z;$fFf?@hLdSrM22^O2;TW!@#GiEKZq56dJ?Lwl z`u_OrdP5y6DS7$u=%HUMz7E;g>T~HGaf`6fY{!nW(3Q0x;2=$Nbu+q9xOyL~YF4oJ zIdN7udP%324AvT_SmOINJLX|Jt8T^=aa!7?gT@OTZ+>}x>t&r;zxo>aNgW10eP*=H zRqQ?|@rUK9hn9X*(K^ZNmS@UlOL5mnUw^XV==krS76cD6>z`NEZPbp083k$n&)SS$ z81CH9(P5CYyXUg>7EXN^7oDFQU7x!xVEuxaU+vd_+x_&R^S$dPXRmp=QZVhL!;z83 zpIspqO9rfv?|vU(nK!z#ty$cMf!!xn&DM2ZcdGJE`<0s`L_fwJJb2mS#K;n42?GIaneUOZBCk8>k5H>z7sb>>vJ7Emre8Z-f7yFGIAdRQ!E)*RP z1qqo!QF5t}pT_I}M|SW&iC{XE9EI%w{l5*&q_}5McSj}nL#Y$%*;)DgLfVn_yq4I* z(Z(py4*yUp1jzdm;NKl7^C=)jVn;|+A@6NR0z)1Q7-Eu5ZE)ashgR5Hcq0<>h`+{+ z&J!WNlTN>tOK+^iLflv3b2l^`6tyJpDLWGq3^j=&Cx9GY*I-z9P)|X^R%9R5m%)%9 zMbQYE2fa3rrST|0wg%h7w1Qv?8G_}gp22efqqlLR#cj!GRyF80JmSy^Ypl;{%@u-4 z5NtsIzx6lMpNtI%p?ZbN2E)Axy@I@SuMqMt=#|Uxa@>D=<=@#W*r9)iOP7Sf@lz6Y z93`Xv2arGa|4{_M6oPXEb2X*SIQx|-yj?&-LH>C7g>fVtm5pgibu}LR1u!EUKh+Ag zWZD2dRZH1FL;kb!{}~yL)%oAZ&jMgPj#~=}*DCyNJp6;pm^v!LCpHkp8h?7Mf)Xy|LH^r0wU}K?*Dy* zzk4w6mztEGHYqJRL((HFNj6U6<>BEiQ5XQ%?U2;urwr*HKwfv*^@(<| Ie_6@@073EO(EtDd diff --git a/febs-server/febs-server-generator/Dockerfile b/febs-server/febs-server-generator/Dockerfile deleted file mode 100644 index 6e81a71..0000000 --- a/febs-server/febs-server-generator/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM openjdk:8u212-jre -MAINTAINER MrBird 852252810@qq.com - -COPY ./target/febs-server-generator-2.2-RELEASE.jar /febs/febs-server-generator-2.2-RELEASE.jar -ADD agent/ /agent - -ENTRYPOINT ["java", "-javaagent:/agent/skywalking-agent.jar", "-Dskywalking.agent.service_name=febs-generator", "-Dskywalking.collector.backend_service=skywalkingIp:11800", "-jar", "/febs/febs-server-generator-2.2-RELEASE.jar"] \ No newline at end of file diff --git a/febs-server/febs-server-generator/pom.xml b/febs-server/febs-server-generator/pom.xml deleted file mode 100644 index 084bc35..0000000 --- a/febs-server/febs-server-generator/pom.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - 4.0.0 - - com.yida.data - febs-server - 2.2-RELEASE - - - febs-server-generator - FEBS-Server-Generator - FEBS-Server-Generator代码生成器 - - - - - org.freemarker - freemarker - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - ../../febs-jar - - - - - - diff --git a/febs-server/febs-server-generator/run.sh b/febs-server/febs-server-generator/run.sh deleted file mode 100644 index 50090e7..0000000 --- a/febs-server/febs-server-generator/run.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -mvn package - -docker build -t febs-server-generator . \ No newline at end of file diff --git a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/FebsServerGeneratorApplication.java b/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/FebsServerGeneratorApplication.java deleted file mode 100644 index 9eed671..0000000 --- a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/FebsServerGeneratorApplication.java +++ /dev/null @@ -1,24 +0,0 @@ -package cc.mrbird.febs.server.generator; - -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.boot.WebApplicationType; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; - -import cc.mrbird.febs.common.security.starter.annotation.EnableFebsCloudResourceServer; - -/** - * @author MrBird - */ -@SpringBootApplication -@EnableFebsCloudResourceServer -@MapperScan("cc.mrbird.febs.server.generator.mapper") -public class FebsServerGeneratorApplication { - - public static void main(String[] args) { - new SpringApplicationBuilder(FebsServerGeneratorApplication.class) - .web(WebApplicationType.SERVLET) - .run(args); - } - -} diff --git a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/controller/GeneratorConfigController.java b/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/controller/GeneratorConfigController.java deleted file mode 100644 index df38901..0000000 --- a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/controller/GeneratorConfigController.java +++ /dev/null @@ -1,45 +0,0 @@ -package cc.mrbird.febs.server.generator.controller; - -import com.yida.data.common.core.entity.FebsResponse; -import com.yida.data.common.core.entity.system.GeneratorConfig; -import com.yida.data.common.core.exception.FebsException; - -import org.apache.commons.lang3.StringUtils; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.validation.Valid; - -import cc.mrbird.febs.server.generator.service.GeneratorConfigService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -/** - * @author MrBird - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@RequestMapping("config") -public class GeneratorConfigController { - - private final GeneratorConfigService generatorConfigService; - - @GetMapping - @PreAuthorize("hasAuthority('gen:config')") - public FebsResponse getGeneratorConfig() { - return new FebsResponse().data(generatorConfigService.findGeneratorConfig()); - } - - @PostMapping - @PreAuthorize("hasAuthority('gen:config:update')") - public void updateGeneratorConfig(@Valid GeneratorConfig generatorConfig) throws FebsException { - if (StringUtils.isBlank(generatorConfig.getId())) { - throw new FebsException("配置id不能为空"); - } - this.generatorConfigService.updateGeneratorConfig(generatorConfig); - } -} diff --git a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/controller/GeneratorController.java b/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/controller/GeneratorController.java deleted file mode 100644 index 44d14ff..0000000 --- a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/controller/GeneratorController.java +++ /dev/null @@ -1,111 +0,0 @@ -package cc.mrbird.febs.server.generator.controller; - -import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty; -import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties; -import com.yida.data.common.core.entity.FebsResponse; -import com.yida.data.common.core.entity.QueryRequest; -import com.yida.data.common.core.entity.constant.GeneratorConstant; -import com.yida.data.common.core.entity.system.Column; -import com.yida.data.common.core.entity.system.GeneratorConfig; -import com.yida.data.common.core.entity.system.Table; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.common.core.utils.FileUtil; - -import org.apache.commons.lang3.RegExUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.util.FileSystemUtils; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -import javax.servlet.http.HttpServletResponse; -import javax.validation.constraints.NotBlank; - -import cc.mrbird.febs.server.generator.helper.GeneratorHelper; -import cc.mrbird.febs.server.generator.service.GeneratorConfigService; -import cc.mrbird.febs.server.generator.service.GeneratorService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -/** - * @author MrBird - */ -@Slf4j -@Validated -@RestController -@RequiredArgsConstructor -public class GeneratorController { - - private static final String SUFFIX = "_code.zip"; - - private final GeneratorService generatorService; - private final GeneratorConfigService generatorConfigService; - private final GeneratorHelper generatorHelper; - private final DynamicDataSourceProperties properties; - - @GetMapping("datasources") - @PreAuthorize("hasAuthority('gen:generate')") - public FebsResponse datasources() { - Map datasources = properties.getDatasource(); - List datasourcesName = new ArrayList<>(); - datasources.forEach((k, v) -> { - String datasourceName = StringUtils.substringBefore(StringUtils.substringAfterLast(v.getUrl(), "/"), "?"); - datasourcesName.add(datasourceName); - }); - return new FebsResponse().data(datasourcesName); - } - - @GetMapping("tables") - @PreAuthorize("hasAuthority('gen:generate')") - public FebsResponse tablesInfo(String tableName, String datasource, QueryRequest request) { - Map dataTable = FebsUtil.getDataTable(generatorService.getTables(tableName, request, GeneratorConstant.DATABASE_TYPE, datasource)); - return new FebsResponse().data(dataTable); - } - - @PostMapping - //@PreAuthorize("hasAuthority('gen:generate:gen')") - public void generate(String[] name, - @NotBlank(message = "{required}") String datasource, - String remark, HttpServletResponse response) throws Exception { - GeneratorConfig generatorConfig = generatorConfigService.findGeneratorConfig(); - if (generatorConfig == null) { - throw new FebsException("代码生成配置为空"); - } - - for (String name1 : name) { - String className = name1; - if (GeneratorConfig.TRIM_YES.equals(generatorConfig.getIsTrim())) { - className = RegExUtils.replaceFirst(name1, generatorConfig.getTrimValue(), StringUtils.EMPTY); - } - - generatorConfig.setTableName(name1); - generatorConfig.setClassName(FebsUtil.underscoreToCamel(className)); - Table table = generatorService.getTable(GeneratorConstant.DATABASE_TYPE, datasource, name1); - generatorConfig.setTableComment(Objects.nonNull(table) ? table.getRemark() : remark); - // 生成代码到临时目录 - List columns = generatorService.getColumns(GeneratorConstant.DATABASE_TYPE, datasource, name1); - generatorHelper.generateEntityFile(columns, generatorConfig); - generatorHelper.generateMapperFile(columns, generatorConfig); - generatorHelper.generateMapperXmlFile(columns, generatorConfig); - generatorHelper.generateServiceFile(columns, generatorConfig); - generatorHelper.generateServiceImplFile(columns, generatorConfig); - generatorHelper.generateControllerFile(columns, generatorConfig); - } - // 打包 - String zipFile = System.currentTimeMillis() + SUFFIX; - FileUtil.compress(GeneratorConstant.TEMP_PATH + "src", zipFile); - // 下载 - FileUtil.download(zipFile, "generate" + SUFFIX, true, response); - // 删除临时目录 - FileSystemUtils.deleteRecursively(new File(GeneratorConstant.TEMP_PATH)); - } -} diff --git a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/entity/FieldType.java b/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/entity/FieldType.java deleted file mode 100644 index 6196e90..0000000 --- a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/entity/FieldType.java +++ /dev/null @@ -1,13 +0,0 @@ -package cc.mrbird.febs.server.generator.entity; - -/** - * @author MrBird - */ -public class FieldType { - - public static final String DATE = "date"; - public static final String DATETIME = "datetime"; - public static final String TIMESTAMP = "timestamp"; - public static final String DECIMAL = "decimal"; - public static final String NUMERIC = "numeric"; -} diff --git a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/helper/GeneratorHelper.java b/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/helper/GeneratorHelper.java deleted file mode 100644 index 3d131dc..0000000 --- a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/helper/GeneratorHelper.java +++ /dev/null @@ -1,149 +0,0 @@ -package cc.mrbird.febs.server.generator.helper; - -import com.google.common.io.Files; - -import com.alibaba.fastjson.JSONObject; -import com.yida.data.common.core.annotation.Helper; -import com.yida.data.common.core.entity.constant.FebsConstant; -import com.yida.data.common.core.entity.constant.GeneratorConstant; -import com.yida.data.common.core.entity.system.Column; -import com.yida.data.common.core.entity.system.GeneratorConfig; -import com.yida.data.common.core.utils.FebsUtil; - -import freemarker.template.Configuration; -import freemarker.template.Template; -import freemarker.template.TemplateExceptionHandler; - -import org.apache.commons.io.FileUtils; -import org.apache.commons.lang3.StringUtils; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileOutputStream; -import java.io.OutputStreamWriter; -import java.io.Writer; -import java.nio.charset.StandardCharsets; -import java.util.List; -import java.util.Objects; - -import cc.mrbird.febs.server.generator.entity.FieldType; -import lombok.extern.slf4j.Slf4j; - -/** - * 代码生成器工具类 - * - * @author MrBird - */ -@Slf4j -@Helper -public class GeneratorHelper { - - private static String getFilePath(GeneratorConfig configure, String packagePath, String suffix, boolean serviceInterface) { - String filePath = GeneratorConstant.TEMP_PATH + configure.getJavaPath() + - packageConvertPath(configure.getBasePackage() + "." + packagePath); - filePath += configure.getClassName() + suffix; - return filePath; - } - - private static String packageConvertPath(String packageName) { - return String.format("/%s/", packageName.contains(".") ? packageName.replaceAll("\\.", "/") : packageName); - } - - public void generateEntityFile(List columns, GeneratorConfig configure) throws Exception { - String suffix = GeneratorConstant.JAVA_FILE_SUFFIX; - String path = getFilePath(configure, configure.getEntityPackage(), suffix, false); - String templateName = GeneratorConstant.ENTITY_TEMPLATE; - File entityFile = new File(path); - JSONObject data = toJsonObject(configure); - data.put("hasDate", false); - data.put("hasBigDecimal", false); - columns.forEach(c -> { - c.setField(FebsUtil.underscoreToCamel(StringUtils.lowerCase(c.getName()))); - if (StringUtils.containsAny(c.getType(), FieldType.DATE, FieldType.DATETIME, FieldType.TIMESTAMP)) { - data.put("hasDate", true); - } - if (StringUtils.containsAny(c.getType(), FieldType.DECIMAL, FieldType.NUMERIC)) { - data.put("hasBigDecimal", true); - } - }); - data.put("columns", columns); - this.generateFileByTemplate(templateName, entityFile, data); - } - - public void generateMapperFile(List columns, GeneratorConfig configure) throws Exception { - String suffix = GeneratorConstant.MAPPER_FILE_SUFFIX; - String path = getFilePath(configure, configure.getMapperPackage(), suffix, false); - String templateName = GeneratorConstant.MAPPER_TEMPLATE; - File mapperFile = new File(path); - generateFileByTemplate(templateName, mapperFile, toJsonObject(configure)); - } - - public void generateServiceFile(List columns, GeneratorConfig configure) throws Exception { - String suffix = GeneratorConstant.SERVICE_FILE_SUFFIX; - String path = getFilePath(configure, configure.getServicePackage(), suffix, true); - String templateName = GeneratorConstant.SERVICE_TEMPLATE; - File serviceFile = new File(path); - generateFileByTemplate(templateName, serviceFile, toJsonObject(configure)); - } - - public void generateServiceImplFile(List columns, GeneratorConfig configure) throws Exception { - String suffix = GeneratorConstant.SERVICEIMPL_FILE_SUFFIX; - String path = getFilePath(configure, configure.getServiceImplPackage(), suffix, false); - String templateName = GeneratorConstant.SERVICEIMPL_TEMPLATE; - File serviceImplFile = new File(path); - generateFileByTemplate(templateName, serviceImplFile, toJsonObject(configure)); - } - - public void generateControllerFile(List columns, GeneratorConfig configure) throws Exception { - String suffix = GeneratorConstant.CONTROLLER_FILE_SUFFIX; - String path = getFilePath(configure, configure.getControllerPackage(), suffix, false); - String templateName = GeneratorConstant.CONTROLLER_TEMPLATE; - File controllerFile = new File(path); - generateFileByTemplate(templateName, controllerFile, toJsonObject(configure)); - } - - public void generateMapperXmlFile(List columns, GeneratorConfig configure) throws Exception { - String suffix = GeneratorConstant.MAPPERXML_FILE_SUFFIX; - String path = getFilePath(configure, configure.getMapperXmlPackage(), suffix, false); - String templateName = GeneratorConstant.MAPPERXML_TEMPLATE; - File mapperXmlFile = new File(path); - JSONObject data = toJsonObject(configure); - columns.forEach(c -> c.setField(FebsUtil.underscoreToCamel(StringUtils.lowerCase(c.getName())))); - data.put("columns", columns); - generateFileByTemplate(templateName, mapperXmlFile, data); - } - - @SuppressWarnings("all") - private void generateFileByTemplate(String templateName, File file, Object data) throws Exception { - Template template = getTemplate(templateName); - Files.createParentDirs(file); - FileOutputStream fileOutputStream = new FileOutputStream(file); - try (Writer out = new BufferedWriter(new OutputStreamWriter(fileOutputStream, StandardCharsets.UTF_8), 10240)) { - template.process(data, out); - } catch (Exception e) { - String message = "代码生成异常"; - log.error(message, e); - throw new Exception(message); - } - } - - private JSONObject toJsonObject(Object o) { - return JSONObject.parseObject(JSONObject.toJSON(o).toString()); - } - - private Template getTemplate(String templateName) throws Exception { - Configuration configuration = new Configuration(Configuration.VERSION_2_3_23); - String templatePath = GeneratorHelper.class.getResource("/generator/templates/").getPath(); - File file = new File(templatePath); - if (!file.exists()) { - templatePath = System.getProperties().getProperty(FebsConstant.JAVA_TEMP_DIR); - file = new File(templatePath + File.separator + templateName); - FileUtils.copyInputStreamToFile(Objects.requireNonNull(GeneratorHelper.class.getClassLoader().getResourceAsStream("classpath:generator/templates/" + templateName)), file); - } - configuration.setDirectoryForTemplateLoading(new File(templatePath)); - configuration.setDefaultEncoding(FebsConstant.UTF8); - configuration.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER); - return configuration.getTemplate(templateName); - - } -} diff --git a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/mapper/GeneratorConfigMapper.java b/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/mapper/GeneratorConfigMapper.java deleted file mode 100644 index bab4528..0000000 --- a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/mapper/GeneratorConfigMapper.java +++ /dev/null @@ -1,11 +0,0 @@ -package cc.mrbird.febs.server.generator.mapper; - -import com.yida.data.common.core.entity.system.GeneratorConfig; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * @author MrBird - */ -public interface GeneratorConfigMapper extends BaseMapper { - -} diff --git a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/mapper/GeneratorMapper.java b/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/mapper/GeneratorMapper.java deleted file mode 100644 index deb2c6d..0000000 --- a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/mapper/GeneratorMapper.java +++ /dev/null @@ -1,60 +0,0 @@ -package cc.mrbird.febs.server.generator.mapper; - - -import com.yida.data.common.core.entity.system.Column; -import com.yida.data.common.core.entity.system.Table; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * @author MrBird - */ -public interface GeneratorMapper { - - /** - * 获取数据列表 - * - * @param databaseType databaseType - * @return 数据库列表 - */ - List getDatabases(@Param("databaseType") String databaseType); - - /** - * 获取数据表 - * - * @param page page - * @param tableName tableName - * @param databaseType databaseType - * @param schemaName schemaName - * @param Type - * @return 数据表分页数据 - */ - IPage getTables(Page page, @Param("tableName") String tableName, @Param("databaseType") String databaseType, @Param("schemaName") String schemaName); - - /** - * 获取数据表列信息 - * - * @param databaseType databaseType - * @param schemaName schemaName - * @param tableName tableName - * @return 数据表列信息 - */ - List getColumns(@Param("databaseType") String databaseType, @Param("schemaName") String schemaName, @Param("tableName") String tableName); - - /** - * 获取单个数据表 - * - * @param databaseType databaseType - * @param schemaName schemaName - * @param tableName tableName - * @return com.yida.data.common.core.entity.system.Table - * @author ZYJ - * @date 2023/5/19 11:12 - */ - Table getTable(@Param("databaseType") String databaseType, - @Param("schemaName") String schemaName, - @Param("tableName") String tableName); -} diff --git a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/service/GeneratorConfigService.java b/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/service/GeneratorConfigService.java deleted file mode 100644 index fa02c25..0000000 --- a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/service/GeneratorConfigService.java +++ /dev/null @@ -1,25 +0,0 @@ -package cc.mrbird.febs.server.generator.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.system.GeneratorConfig; - -/** - * @author MrBird - */ -public interface GeneratorConfigService extends IService { - - /** - * 查询 - * - * @return GeneratorConfig - */ - GeneratorConfig findGeneratorConfig(); - - /** - * 修改 - * - * @param generatorConfig generatorConfig - */ - void updateGeneratorConfig(GeneratorConfig generatorConfig); - -} diff --git a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/service/GeneratorService.java b/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/service/GeneratorService.java deleted file mode 100644 index 056ba8f..0000000 --- a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/service/GeneratorService.java +++ /dev/null @@ -1,55 +0,0 @@ -package cc.mrbird.febs.server.generator.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yida.data.common.core.entity.QueryRequest; -import com.yida.data.common.core.entity.system.Column; -import com.yida.data.common.core.entity.system.Table; - -import java.util.List; - -/** - * @author MrBird - */ -public interface GeneratorService { - - /** - * 获取数据库列表 - * - * @param databaseType databaseType - * @return 数据库列表 - */ - List getDatabases(String databaseType); - - /** - * 获取数据表 - * - * @param tableName tableName - * @param request request - * @param databaseType databaseType - * @param schemaName schemaName - * @return 数据表分页数据 - */ - IPage
getTables(String tableName, QueryRequest request, String databaseType, String schemaName); - - /** - * 获取数据表列信息 - * - * @param databaseType databaseType - * @param schemaName schemaName - * @param tableName tableName - * @return 数据表列信息 - */ - List getColumns(String databaseType, String schemaName, String tableName); - - /** - * 获取单个数据表 - * - * @param databaseType databaseType - * @param schemaName schemaName - * @param tableName tableName - * @return com.yida.data.common.core.entity.system.Table - * @author ZYJ - * @date 2023/5/19 11:18 - */ - Table getTable(String databaseType, String schemaName, String tableName); -} diff --git a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/service/impl/GeneratorConfigServiceImpl.java b/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/service/impl/GeneratorConfigServiceImpl.java deleted file mode 100644 index 3dc06ce..0000000 --- a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/service/impl/GeneratorConfigServiceImpl.java +++ /dev/null @@ -1,34 +0,0 @@ -package cc.mrbird.febs.server.generator.service.impl; - -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.system.GeneratorConfig; - -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; - -import cc.mrbird.febs.server.generator.mapper.GeneratorConfigMapper; -import cc.mrbird.febs.server.generator.service.GeneratorConfigService; - -/** - * @author MrBird - */ -@Service -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class GeneratorConfigServiceImpl extends ServiceImpl implements GeneratorConfigService { - - @Override - public GeneratorConfig findGeneratorConfig() { - List generatorConfigs = this.baseMapper.selectList(null); - return CollectionUtils.isNotEmpty(generatorConfigs) ? generatorConfigs.get(0) : null; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void updateGeneratorConfig(GeneratorConfig generatorConfig) { - this.saveOrUpdate(generatorConfig); - } -} diff --git a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/service/impl/GeneratorServiceImpl.java b/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/service/impl/GeneratorServiceImpl.java deleted file mode 100644 index 795724a..0000000 --- a/febs-server/febs-server-generator/src/main/java/cc/mrbird/febs/server/generator/service/impl/GeneratorServiceImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package cc.mrbird.febs.server.generator.service.impl; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.yida.data.common.core.entity.QueryRequest; -import com.yida.data.common.core.entity.constant.FebsConstant; -import com.yida.data.common.core.entity.system.Column; -import com.yida.data.common.core.entity.system.Table; -import com.yida.data.common.core.utils.SortUtil; - -import org.springframework.stereotype.Service; - -import java.util.List; - -import cc.mrbird.febs.server.generator.mapper.GeneratorMapper; -import cc.mrbird.febs.server.generator.service.GeneratorService; -import lombok.RequiredArgsConstructor; - -/** - * @author MrBird - */ -@Service -@RequiredArgsConstructor -public class GeneratorServiceImpl implements GeneratorService { - - private final GeneratorMapper generatorMapper; - - @Override - public List getDatabases(String databaseType) { - return generatorMapper.getDatabases(databaseType); - } - - @Override - public IPage
getTables(String tableName, QueryRequest request, String databaseType, String schemaName) { - Page
page = new Page<>(request.getPageNum(), request.getPageSize()); - SortUtil.handlePageSort(request, page, "createTime", FebsConstant.ORDER_ASC, false); - return generatorMapper.getTables(page, tableName, databaseType, schemaName); - } - - @Override - public List getColumns(String databaseType, String schemaName, String tableName) { - return generatorMapper.getColumns(databaseType, schemaName, tableName); - } - - @Override - public Table getTable(String databaseType, String schemaName, String tableName) { - return generatorMapper.getTable(databaseType, schemaName, tableName); - } -} diff --git a/febs-server/febs-server-generator/src/main/resources/ValidationMessages.properties b/febs-server/febs-server-generator/src/main/resources/ValidationMessages.properties deleted file mode 100644 index 24dfc21..0000000 --- a/febs-server/febs-server-generator/src/main/resources/ValidationMessages.properties +++ /dev/null @@ -1,6 +0,0 @@ -required=\u4E0D\u80FD\u4E3A\u7A7A -range=\u6709\u6548\u957f\u5ea6{min}\u5230{max}\u4e2a\u5b57\u7b26 -email=\u90ae\u7bb1\u683c\u5f0f\u4e0d\u5408\u6cd5 -mobile=\u624b\u673a\u53f7\u4e0d\u5408\u6cd5 -noMoreThan=\u957f\u5ea6\u4e0d\u80fd\u8d85\u8fc7{max}\u4e2a\u5b57\u7b26 -invalid=\u503c\u4e0d\u5408\u6cd5 \ No newline at end of file diff --git a/febs-server/febs-server-generator/src/main/resources/banner.txt b/febs-server/febs-server-generator/src/main/resources/banner.txt deleted file mode 100644 index af17941..0000000 --- a/febs-server/febs-server-generator/src/main/resources/banner.txt +++ /dev/null @@ -1,9 +0,0 @@ - ████████ ██████ ████████ ████████ ███████ ██ ██ -░░░░░░██ ░█░░░░██ ░░░░░░██ ░██░░░░░ ░██░░░░██ ░██ ░██ - ██ ░█ ░██ ██ ░██ ░██ ░██░██ ░██ - ██ ░██████ ██ █████░███████ ░██ ░██░██ ░██ - ██ ░█░░░░ ██ ██ ░░░░░ ░██░░░░ ░██ ░██░██ ░██ - ██ ░█ ░██ ██ ░██ ░██ ██ ░██ ░██ - ████████░███████ ████████ ░████████░███████ ░░███████ -░░░░░░░░ ░░░░░░░ ░░░░░░░░ ░░░░░░░░ ░░░░░░░ ░░░░░░░ - ${spring.application.name} \ No newline at end of file diff --git a/febs-server/febs-server-generator/src/main/resources/bootstrap.yml b/febs-server/febs-server-generator/src/main/resources/bootstrap.yml deleted file mode 100644 index acb2e7f..0000000 --- a/febs-server/febs-server-generator/src/main/resources/bootstrap.yml +++ /dev/null @@ -1,27 +0,0 @@ -spring: - application: - name: FEBS-Server-Generator - cloud: - nacos: - config: - server-addr: ${nacos.url} - group: DEFAULT_GROUP - prefix: febs-server-generator - file-extension: yaml - discovery: - server-addr: ${nacos.url} - -logging: - level: - org: - springframework: - boot: - actuate: - endpoint: - EndpointId: error - com: - alibaba: - cloud: - nacos: - client: - NacosPropertySourceBuilder: error \ No newline at end of file diff --git a/febs-server/febs-server-generator/src/main/resources/generator/templates/controller.ftl b/febs-server/febs-server-generator/src/main/resources/generator/templates/controller.ftl deleted file mode 100644 index 25d8279..0000000 --- a/febs-server/febs-server-generator/src/main/resources/generator/templates/controller.ftl +++ /dev/null @@ -1,33 +0,0 @@ -package ${basePackage}.${controllerPackage}; - -import ${basePackage}.${entityPackage}.${className}; -import ${basePackage}.${servicePackage}.I${className}Service; -import com.yida.data.common.core.entity.FebsResponse; -import com.yida.data.common.core.entity.QueryRequest; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.common.core.utils.FebsUtil; -import lombok.extern.slf4j.Slf4j; -import lombok.RequiredArgsConstructor; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.Map; - -/** -* ${tableComment} Controller -* -* @author ${author} -* @date ${date} -*/ -@Slf4j -@Validated -@RestController -@RequestMapping("${className?uncap_first}") -@RequiredArgsConstructor -public class ${className}Controller { - -private final ${className}Service ${className?uncap_first}Service; - -} diff --git a/febs-server/febs-server-generator/src/main/resources/generator/templates/entity.ftl b/febs-server/febs-server-generator/src/main/resources/generator/templates/entity.ftl deleted file mode 100644 index c505d6e..0000000 --- a/febs-server/febs-server-generator/src/main/resources/generator/templates/entity.ftl +++ /dev/null @@ -1,100 +0,0 @@ -package ${basePackage}.${entityPackage}; - -<#if hasDate = true> - import java.util.Date; - -<#if hasBigDecimal = true> - import java.math.BigDecimal; - -import lombok.Data; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; -import java.time.LocalDate; -import java.time.LocalTime; - -/** -* ${tableComment} Entity -* -* @author ${author} -* @date ${date} -*/ -@Data -@TableName("${tableName}") -public class ${className} { - -<#if columns??> - <#list columns as column> - /** - * ${column.remark} - */ - @ApiModelProperty(value = "${column.remark}") - <#if column.isKey = true> - @TableId(value = "${column.name}", type = IdType.AUTO) - <#else> - <#if (column.name='create_date' || column.name='create_id') || column.name='create_name'> - @TableField(value ="${column.name}", fill = FieldFill.INSERT) - <#elseif (column.name='update_date' || column.name='update_id') || column.name='update_name'> - @TableField(value ="${column.name}", fill = FieldFill.UPDATE) - <#else> - @TableField("${column.name}") - - - <#if column.name='del_flag'> - @TableLogic(value = "0", delval = "1") - - <#if (column.type = 'varchar' || column.type = 'text' || column.type = 'uniqueidentifier' - || column.type = 'varchar2' || column.type = 'nvarchar' || column.type = 'VARCHAR2' - || column.type = 'VARCHAR'|| column.type = 'CLOB' || column.type = 'char')> - private String ${column.field?uncap_first}; - - - <#if column.type = 'timestamp' || column.type = 'datetime'||column.type = 'TIMESTAMP' || column.type = 'DATETIME'> - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime ${column.field?uncap_first}; - - - <#if column.type = 'date' || column.type = 'DATE'> - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") - private LocalDate ${column.field?uncap_first}; - - - <#if column.type = 'TIME' || column.type = 'time'> - @DateTimeFormat(pattern = "HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "HH:mm:ss") - private LocalTime ${column.field?uncap_first}; - - - <#if column.type = 'int' || column.type = 'smallint'> - private Integer ${column.field?uncap_first}; - - - <#if column.type = 'double'> - private Double ${column.field?uncap_first}; - - - <#if column.type = 'bigint'> - private Long ${column.field?uncap_first}; - - - <#if column.type = 'tinyint'> - private Integer ${column.field?uncap_first}; - - - <#if column.type = 'decimal' || column.type = 'numeric'> - private BigDecimal ${column.field?uncap_first}; - - - -} \ No newline at end of file diff --git a/febs-server/febs-server-generator/src/main/resources/generator/templates/mapper.ftl b/febs-server/febs-server-generator/src/main/resources/generator/templates/mapper.ftl deleted file mode 100644 index 578193a..0000000 --- a/febs-server/febs-server-generator/src/main/resources/generator/templates/mapper.ftl +++ /dev/null @@ -1,14 +0,0 @@ -package ${basePackage}.${mapperPackage}; - -import ${basePackage}.${entityPackage}.${className}; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; - -/** - * ${tableComment} Mapper - * - * @author ${author} - * @date ${date} - */ -public interface ${className}Mapper extends BaseMapper<${className}> { - -} diff --git a/febs-server/febs-server-generator/src/main/resources/generator/templates/mapperXml.ftl b/febs-server/febs-server-generator/src/main/resources/generator/templates/mapperXml.ftl deleted file mode 100644 index 6d80987..0000000 --- a/febs-server/febs-server-generator/src/main/resources/generator/templates/mapperXml.ftl +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/febs-server-generator/src/main/resources/generator/templates/service.ftl b/febs-server/febs-server-generator/src/main/resources/generator/templates/service.ftl deleted file mode 100644 index b6ea406..0000000 --- a/febs-server/febs-server-generator/src/main/resources/generator/templates/service.ftl +++ /dev/null @@ -1,18 +0,0 @@ -package ${basePackage}.${servicePackage}; - -import ${basePackage}.${entityPackage}.${className}; - -import com.yida.data.common.core.entity.QueryRequest; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.service.IService; - -import java.util.List; - -/** -* ${tableComment} Service接口 -* -* @author ${author} -* @date ${date} -*/ -public interface ${className}Service extends IService<${className}> { -} diff --git a/febs-server/febs-server-generator/src/main/resources/generator/templates/serviceImpl.ftl b/febs-server/febs-server-generator/src/main/resources/generator/templates/serviceImpl.ftl deleted file mode 100644 index 2e1009e..0000000 --- a/febs-server/febs-server-generator/src/main/resources/generator/templates/serviceImpl.ftl +++ /dev/null @@ -1,32 +0,0 @@ -package ${basePackage}.${serviceImplPackage}; - -import ${basePackage}.${entityPackage}.${className}; -import ${basePackage}.${mapperPackage}.${className}Mapper; -import ${basePackage}.${servicePackage}.${className}Service; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.annotation.Propagation; -import lombok.RequiredArgsConstructor; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.QueryRequest; - -import java.util.List; - -/** -* ${tableComment} Service实现 -* -* @author ${author} -* @date ${date} -*/ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class ${className}ServiceImpl extends ServiceImpl -<${className}Mapper, ${className}> implements ${className}Service { - - - -} diff --git a/febs-server/febs-server-generator/src/main/resources/mapper/GeneratorMapper.xml b/febs-server/febs-server-generator/src/main/resources/mapper/GeneratorMapper.xml deleted file mode 100644 index 8facccd..0000000 --- a/febs-server/febs-server-generator/src/main/resources/mapper/GeneratorMapper.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/febs-server/febs-server-job/febs-server-job-biz/pom.xml b/febs-server/febs-server-job/febs-server-job-biz/pom.xml index 32724d6..51b2f1c 100644 --- a/febs-server/febs-server-job/febs-server-job-biz/pom.xml +++ b/febs-server/febs-server-job/febs-server-job-biz/pom.xml @@ -41,7 +41,7 @@ com.yida.data.attendance - attendance-api + edu-attendance-api ${febs-cloud.version} compile diff --git a/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/AttendanceTask.java b/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/AttendanceTask.java index 3412d60..264dd01 100644 --- a/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/AttendanceTask.java +++ b/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/AttendanceTask.java @@ -3,7 +3,7 @@ package com.yida.data.job.task; import com.yida.data.attendance.feign.RemoteAttendanceDeviceService; import com.yida.data.attendance.feign.RemoteAttendanceResultService; -import com.yida.data.attendance.feign.RemoteUserStrategyService; +import com.yida.data.attendance.feign.RemoteAttendanceRuleService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -16,9 +16,23 @@ import org.springframework.stereotype.Component; @RequiredArgsConstructor public class AttendanceTask { - private final RemoteUserStrategyService remoteUserStrategyService; private final RemoteAttendanceResultService remoteAttendanceResultService; private final RemoteAttendanceDeviceService remoteAttendanceDeviceService; + private final RemoteAttendanceRuleService remoteAttendanceRuleService; + + /** + * 定时推送未到消息 + */ + public void pushNotArriveMsg() { + remoteAttendanceResultService.pushNotArriveMsg(); + } + + /** + * 定时保存未到记录 + */ + public void dealResult() { + remoteAttendanceResultService.dealAttendanceResult(); + } /** * 更新设备在线状态 @@ -27,6 +41,26 @@ public class AttendanceTask { remoteAttendanceDeviceService.updateDeviceStatus(); } + /** + * 更新规则状态 + */ + public void updateRuleStatus() { + remoteAttendanceRuleService.updateRuleStatus(); + } + + /** + * 提醒打卡 + */ + public void remindStaff() { + remoteAttendanceRuleService.remindStaff(); + } + + /** + * 处理记录到结果表 + */ + public void staffRecord() { + remoteAttendanceRuleService.staffRecord(); + } /** * 校时所有设备 @@ -34,27 +68,4 @@ public class AttendanceTask { public void timingAllDevice() { remoteAttendanceDeviceService.timingAllDevice(); } - - - /** - * 初始化考勤结果 - */ - public void initAttendanceData() { - remoteAttendanceResultService.initAttendanceResult(); - } - - - /** - * 考勤报告推送 - */ - public void attendanceNotice() { - remoteAttendanceResultService.attendanceNotice(); - } - - /** - * 处理超时用户策略 - */ - public void checkOverTimeUserStrategy() { - remoteUserStrategyService.checkOverTimeUserStrategy(); - } } diff --git a/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/BillTask.java b/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/BillTask.java index db3843c..b0cd880 100644 --- a/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/BillTask.java +++ b/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/BillTask.java @@ -9,7 +9,7 @@ import org.springframework.stereotype.Component; * 账单模块相关定时任务 * * @author ZYJ - * @date 2022/4/14 + * @date 2023/4/14 */ @Component @AllArgsConstructor diff --git a/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/ConsumeTask.java b/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/ConsumeTask.java deleted file mode 100644 index cd24096..0000000 --- a/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/ConsumeTask.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.yida.data.job.task; - -import com.yida.data.device.feign.consume.RemoteConsumeOrderService; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Component; - -/** - * 消费订单模块相关定时任务 - * - * @author ZYJ - * @date 2023/4/13 - */ -@Component -@AllArgsConstructor -public class ConsumeTask { - - private final RemoteConsumeOrderService remoteConsumeOrderService; - - /** - * 更新超时订单状态 - */ - public void updateOrderStatus() { - remoteConsumeOrderService.updateOrderStatus(); - } - - /** - * 更新退款订单状态 - */ - public void updateRefundStatus() { - remoteConsumeOrderService.updateRefundStatus(); - } -} diff --git a/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/GuideTask.java b/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/GuideTask.java deleted file mode 100644 index bb05107..0000000 --- a/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/GuideTask.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.yida.data.job.task; - -import com.yida.data.mall.feign.RemoteBillOrderService; -import com.yida.data.mall.feign.RemoteBillStatisticsService; -import com.yida.data.school.feign.smart.RemoteSmartWelcomeService; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Component; - -/** - * 迎新指南模块相关定时任务 - * - * @author ZYJ - * @date 2023/6/21 - */ -@Component -@AllArgsConstructor -public class GuideTask { - - private final RemoteSmartWelcomeService remoteSmartWelcomeService; - - /** - * 更新超时迎新订单状态 - */ - public void updateGuideRosterOrderStatus() { - remoteSmartWelcomeService.updateGuideRosterOrderStatus(); - } -} diff --git a/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/ProductUpdateTask.java b/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/ProductUpdateTask.java index 6540f62..20f64e2 100644 --- a/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/ProductUpdateTask.java +++ b/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/ProductUpdateTask.java @@ -13,7 +13,6 @@ import org.springframework.stereotype.Component; @Slf4j @RequiredArgsConstructor public class ProductUpdateTask { - private final RemoteProductService remoteProductService; public void productUpdate(String id) { @@ -29,7 +28,6 @@ public class ProductUpdateTask { /** * 监测商品是否失效任务 - * * @param */ public void productMonitor() { diff --git a/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/UserTask.java b/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/UserTask.java index a4fc352..11236cd 100644 --- a/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/UserTask.java +++ b/febs-server/febs-server-job/febs-server-job-biz/src/main/java/com/yida/data/job/task/UserTask.java @@ -15,7 +15,6 @@ import org.springframework.stereotype.Component; @Component @AllArgsConstructor public class UserTask { - private final RemoteStudentService remoteStudentService; private final RemoteStaffService remoteStaffService; private final RemoteUserDeptService remoteUserDeptService; @@ -47,21 +46,4 @@ public class UserTask { public void dealNoParentUserDept() { remoteUserDeptService.dealNoParentUserDept(); } - - - /** - * 定时更新学生数据缓存 - */ - public void updateStudentCache() { - remoteStudentService.updateStudentCache(); - } - - - /** - * 定时更新教职工数据缓存 - */ - public void updateStaffCache() { - remoteStaffService.updateStaffCache(); - } - } diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/dto/ListLogDTO.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/dto/ListLogDTO.java index 0747a81..e44605a 100644 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/dto/ListLogDTO.java +++ b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/dto/ListLogDTO.java @@ -18,11 +18,6 @@ public class ListLogDTO extends BaseDTO { private String method; - /** - * 操作时请求参数 - */ - private String operateParams; - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime startTime; diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/dto/QywxCallbackHandleDTO.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/dto/QywxCallbackHandleDTO.java deleted file mode 100644 index 80feb64..0000000 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/dto/QywxCallbackHandleDTO.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.yida.data.system.dto; - -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.EduQywxServiceProvider; -import com.yida.data.common.core.entity.system.EduQywxServiceProviderSchool; -import com.yida.data.common.core.enums.QywxCallbackTypeEnum; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.w3c.dom.Element; - -import java.io.Serializable; - -/** - * 企业微信回调处理类 - * - * @author ZYJ - * @date 2023/10/27 16:25 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class QywxCallbackHandleDTO implements Serializable { - - private static final long serialVersionUID = 820667804126969451L; - - /** - * 回调返回的节点信息 - */ - private Element root; - - /** - * 对应的企业微信corpId - */ - private String corpId; - - /** - * 学校信息 - */ - private Dept school; - - /** - * 企业微信服务商信息 - */ - private EduQywxServiceProvider eduQywxServiceProvider; - - /** - * 企业微信服务商-学校密文corpId对照信息 - */ - private EduQywxServiceProviderSchool providerSchool; - - /** - * 回调类型枚举 - */ - private QywxCallbackTypeEnum qywxCallbackTypeEnum; -} diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/dto/SchoolInformationDTO.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/dto/SchoolInformationDTO.java index 3d7b7bb..69057ae 100644 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/dto/SchoolInformationDTO.java +++ b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/dto/SchoolInformationDTO.java @@ -12,7 +12,7 @@ import java.util.List; @Data public class SchoolInformationDTO { - @ApiModelProperty("") + @ApiModelProperty("主键id") private Long id; @ApiModelProperty("学校id") diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteAppServiceFallback.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteAppServiceFallback.java index af39386..8462dcc 100644 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteAppServiceFallback.java +++ b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteAppServiceFallback.java @@ -3,8 +3,6 @@ package com.yida.data.system.fallback; import com.yida.data.common.core.annotation.Fallback; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.system.EduApp; -import com.yida.data.common.core.entity.system.EduAppTemplate; -import com.yida.data.common.core.entity.system.EduQywxServiceProvider; import com.yida.data.system.feign.RemoteAppService; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; @@ -28,16 +26,6 @@ public class RemoteAppServiceFallback implements FallbackFactory getAppBySchoolOrCorpIdAndCode(Long schoolId, String corpId, String code) { return null; } - - @Override - public ResultBean getAppTemplateByTemplateId(String templateId, String serviceCorpId) { - return null; - } - - @Override - public ResultBean getServiceProviderByServiceCorpId(String serviceCorpId) { - return null; - } }; } } diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteBaiDuApiConfigServiceFallback.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteBaiDuApiConfigServiceFallback.java deleted file mode 100644 index ee46a17..0000000 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteBaiDuApiConfigServiceFallback.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.yida.data.system.fallback; - -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.BaiduApiConfig; -import com.yida.data.common.core.entity.system.ConstructionPayConfig; -import com.yida.data.system.feign.RemoteBaiDuApiConfigService; -import com.yida.data.system.feign.RemoteConstructionPayConfigService; -import feign.hystrix.FallbackFactory; -import lombok.extern.slf4j.Slf4j; - -/** - * RemoteBaiDuApiConfigService fallback处理类 - * - * @author ZYJ - * @date 2023/6/20 - */ -@Slf4j -@Fallback -public class RemoteBaiDuApiConfigServiceFallback implements FallbackFactory { - - @Override - public RemoteBaiDuApiConfigService create(Throwable throwable) { - log.error("RemoteBaiDuApiConfigService fallback reason:{}", throwable.getMessage()); - - return new RemoteBaiDuApiConfigService() { - @Override - public ResultBean getBaiDuApiConfigByDept(Long deptId, String moduleName) { - return null; - } - }; - } -} diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteBaseAppServiceFallback.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteBaseAppServiceFallback.java deleted file mode 100644 index c112f5c..0000000 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteBaseAppServiceFallback.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.system.fallback; - -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.EduBaseApp; -import com.yida.data.system.feign.RemoteBaseAppService; -import feign.hystrix.FallbackFactory; -import lombok.extern.slf4j.Slf4j; - -@Slf4j -@Fallback -public class RemoteBaseAppServiceFallback implements FallbackFactory { - - @Override - public RemoteBaseAppService create(Throwable throwable) { - log.error("RemoteBaseAppService fallback reason:{}", throwable.getMessage()); - return new RemoteBaseAppService() { - @Override - public ResultBean getById(Long id) { - return null; - } - }; - } -} diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteConstructionPayConfigServiceFallback.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteConstructionPayConfigServiceFallback.java deleted file mode 100644 index 1234ec1..0000000 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteConstructionPayConfigServiceFallback.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.yida.data.system.fallback; - -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.ConstructionPayConfig; -import com.yida.data.common.core.entity.system.UnionPayConfig; -import com.yida.data.system.feign.RemoteConstructionPayConfigService; -import com.yida.data.system.feign.RemoteUnionPayConfigService; -import feign.hystrix.FallbackFactory; -import lombok.extern.slf4j.Slf4j; - -/** - * RemoteConstructionPayConfigService fallback处理类 - * - * @author ZYJ - * @date 2023/6/19 - */ -@Slf4j -@Fallback -public class RemoteConstructionPayConfigServiceFallback implements FallbackFactory { - - @Override - public RemoteConstructionPayConfigService create(Throwable throwable) { - log.error("RemoteConstructionPayConfigService fallback reason:{}", throwable.getMessage()); - - return new RemoteConstructionPayConfigService() { - @Override - public ResultBean getConstructionPayConfigByDept(Long deptId) { - return null; - } - }; - } -} diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteConsumeConfigServiceFallback.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteConsumeConfigServiceFallback.java deleted file mode 100644 index d38fb70..0000000 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteConsumeConfigServiceFallback.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.system.fallback; - -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.consume.EduConsumeConfig; -import com.yida.data.system.feign.RemoteConsumeConfigService; -import feign.hystrix.FallbackFactory; -import lombok.extern.slf4j.Slf4j; - -/** - * RemoteConsumeConfigService fallback处理类 - * - * @author ZYJ - * @date 2023/4/6 - */ -@Slf4j -@Fallback -public class RemoteConsumeConfigServiceFallback implements FallbackFactory { - - @Override - public RemoteConsumeConfigService create(Throwable throwable) { - log.error("RemoteConsumeConfigService fallback reason:{}", throwable.getMessage()); - - return new RemoteConsumeConfigService() { - @Override - public ResultBean getConsumeConfigByDept(Long deptId) { - return null; - } - }; - } -} diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteDeptFunctionServiceFallback.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteDeptFunctionServiceFallback.java deleted file mode 100644 index 1b781ad..0000000 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteDeptFunctionServiceFallback.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.system.fallback; - -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.EduDeptFunction; -import com.yida.data.system.feign.RemoteDeptFunctionService; -import feign.hystrix.FallbackFactory; -import lombok.extern.slf4j.Slf4j; - -/** - * RemoteDeptFunctionService fallback处理类 - * - * @author ZYJ - * @date 2023/2/21 - */ -@Slf4j -@Fallback -public class RemoteDeptFunctionServiceFallback implements FallbackFactory { - - @Override - public RemoteDeptFunctionService create(Throwable throwable) { - log.error("RemoteDeptFunctionService fallback reason:{}", throwable.getMessage()); - - return new RemoteDeptFunctionService() { - @Override - public ResultBean getDeptFunction(String functionName, Long deptId) { - return null; - } - }; - } -} diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteDeptUserviceFallback.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteDeptUserviceFallback.java index 715b680..088d3a5 100644 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteDeptUserviceFallback.java +++ b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteDeptUserviceFallback.java @@ -122,16 +122,6 @@ public class RemoteDeptUserviceFallback implements FallbackFactory> listDept(List ids) { return null; } - - @Override - public ResultBean> listParentDeptByChild(List ids) { - return null; - } - - @Override - public ResultBean getDeptTree(List deptIds) { - return null; - } }; } } diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteQywxServiceFallback.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteQywxServiceFallback.java deleted file mode 100644 index b1b66ea..0000000 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteQywxServiceFallback.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.yida.data.system.fallback; - -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.EduDeptPayType; -import com.yida.data.common.core.entity.system.EduQywxServiceProviderSchool; -import com.yida.data.system.feign.RemotePayTypeService; -import com.yida.data.system.feign.RemoteQywxService; -import feign.hystrix.FallbackFactory; -import lombok.extern.slf4j.Slf4j; - -/** - * RemoteQywxService fallback处理类 - * - * @author ZYJ - * @date 2023/8/26 - */ -@Slf4j -@Fallback -public class RemoteQywxServiceFallback implements FallbackFactory { - - @Override - public RemoteQywxService create(Throwable throwable) { - log.error("RemoteQywxService fallback reason:{}", throwable.getMessage()); - - return new RemoteQywxService() { - @Override - public ResultBean getCorpByOriginalData(String providerCorpId, String deptOriginalCorpId) { - return null; - } - - @Override - public ResultBean getCorpByEncryptionData(String providerCorpId, String deptEncryptionCorpId) { - return null; - } - }; - } -} diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteUPayConfigServiceFallback.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteUPayConfigServiceFallback.java deleted file mode 100644 index 0652e29..0000000 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteUPayConfigServiceFallback.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.system.fallback; - -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.UPayConfig; -import com.yida.data.system.feign.RemoteUPayConfigService; -import feign.hystrix.FallbackFactory; -import lombok.extern.slf4j.Slf4j; - -/** - * RemoteUPayConfigService fallback处理类 - * - * @author ZYJ - * @date 2023/3/21 - */ -@Slf4j -@Fallback -public class RemoteUPayConfigServiceFallback implements FallbackFactory { - - @Override - public RemoteUPayConfigService create(Throwable throwable) { - log.error("RemoteUPayConfigService fallback reason:{}", throwable.getMessage()); - - return new RemoteUPayConfigService() { - @Override - public ResultBean getUPayConfigByDept(Long deptId) { - return null; - } - }; - } -} diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteWhiteListServiceFallback.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteWhiteListServiceFallback.java deleted file mode 100644 index 8d1db6d..0000000 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/fallback/RemoteWhiteListServiceFallback.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yida.data.system.fallback; - -import com.yida.data.common.core.annotation.Fallback; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.WhiteList; -import com.yida.data.system.feign.RemoteWhiteListService; -import feign.hystrix.FallbackFactory; -import lombok.extern.slf4j.Slf4j; - -/** - * RemoteWhiteListService fallback处理类 - * - * @author ZYJ - * @date 2022/8/26 - */ -@Slf4j -@Fallback -public class RemoteWhiteListServiceFallback implements FallbackFactory { - - @Override - public RemoteWhiteListService create(Throwable throwable) { - log.error("RemoteWhiteListService fallback reason:{}", throwable.getMessage()); - - return new RemoteWhiteListService() { - @Override - public ResultBean getWhiteList(String functionName) { - return null; - } - }; - } -} diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteAppService.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteAppService.java index 1b11842..4e5d20c 100644 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteAppService.java +++ b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteAppService.java @@ -3,8 +3,6 @@ package com.yida.data.system.feign; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.constant.FebsServerConstant; import com.yida.data.common.core.entity.system.EduApp; -import com.yida.data.common.core.entity.system.EduAppTemplate; -import com.yida.data.common.core.entity.system.EduQywxServiceProvider; import com.yida.data.system.fallback.RemoteAppServiceFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; @@ -18,11 +16,4 @@ public interface RemoteAppService { ResultBean getAppBySchoolOrCorpIdAndCode(@RequestParam("schoolId") Long schoolId, @RequestParam("corpId") String corpId, @RequestParam("code") String code); - - @GetMapping("/in/app/getAppTemplateByTemplateId") - ResultBean getAppTemplateByTemplateId(@RequestParam("templateId") String templateId, - @RequestParam("serviceCorpId") String serviceCorpId); - - @GetMapping("/in/app/getServiceProviderByServiceCorpId") - ResultBean getServiceProviderByServiceCorpId(@RequestParam("serviceCorpId") String serviceCorpId); } diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteBaiDuApiConfigService.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteBaiDuApiConfigService.java deleted file mode 100644 index 388a822..0000000 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteBaiDuApiConfigService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.yida.data.system.feign; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import com.yida.data.common.core.entity.system.BaiduApiConfig; -import com.yida.data.common.core.entity.system.ConstructionPayConfig; -import com.yida.data.system.fallback.RemoteBaiDuApiConfigServiceFallback; -import com.yida.data.system.fallback.RemoteConstructionPayConfigServiceFallback; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; - -@FeignClient(value = FebsServerConstant.FEBS_SERVER_SYSTEM, contextId = "baiDuApiConfigServiceClient", - fallbackFactory = RemoteBaiDuApiConfigServiceFallback.class) -public interface RemoteBaiDuApiConfigService { - - /** - * 根据学校id查询百度api配置 - */ - @GetMapping("/in/baiDuApiConfig/getBaiDuApiConfigByDept") - ResultBean getBaiDuApiConfigByDept(@RequestParam("deptId") Long deptId, - @RequestParam("moduleName") String moduleName); -} diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteBaseAppService.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteBaseAppService.java deleted file mode 100644 index b062789..0000000 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteBaseAppService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.yida.data.system.feign; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import com.yida.data.common.core.entity.system.EduBaseApp; -import com.yida.data.system.fallback.RemoteBaseAppServiceFallback; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; - -@FeignClient(value = FebsServerConstant.FEBS_SERVER_SYSTEM, contextId = "baseAppServiceClient", - fallbackFactory = RemoteBaseAppServiceFallback.class) -public interface RemoteBaseAppService { - - @GetMapping("/in/deptHomeApp/getById") - ResultBean getById(@RequestParam("id") Long id); -} diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteConstructionPayConfigService.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteConstructionPayConfigService.java deleted file mode 100644 index c804082..0000000 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteConstructionPayConfigService.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.yida.data.system.feign; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import com.yida.data.common.core.entity.system.ConstructionPayConfig; -import com.yida.data.common.core.entity.system.UnionPayConfig; -import com.yida.data.system.fallback.RemoteConstructionPayConfigServiceFallback; -import com.yida.data.system.fallback.RemoteUnionPayConfigServiceFallback; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; - -@FeignClient(value = FebsServerConstant.FEBS_SERVER_SYSTEM, contextId = "constructionPayConfigServiceClient", - fallbackFactory = RemoteConstructionPayConfigServiceFallback.class) -public interface RemoteConstructionPayConfigService { - - @GetMapping("/in/constructionPayConfig/getConstructionPayConfigByDept") - ResultBean getConstructionPayConfigByDept(@RequestParam("deptId") Long deptId); -} diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteConsumeConfigService.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteConsumeConfigService.java deleted file mode 100644 index b0f7425..0000000 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteConsumeConfigService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.yida.data.system.feign; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import com.yida.data.common.core.entity.consume.EduConsumeConfig; -import com.yida.data.system.fallback.RemoteConsumeConfigServiceFallback; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; - -@FeignClient(value = FebsServerConstant.FEBS_SERVER_SYSTEM, contextId = "consumeConfigServiceClient", - fallbackFactory = RemoteConsumeConfigServiceFallback.class) -public interface RemoteConsumeConfigService { - - @GetMapping("/in/consumeConfig/getConsumeConfigByDept") - ResultBean getConsumeConfigByDept(@RequestParam("deptId") Long deptId); -} diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteDeptFunctionService.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteDeptFunctionService.java deleted file mode 100644 index 66cb56d..0000000 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteDeptFunctionService.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.yida.data.system.feign; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import com.yida.data.common.core.entity.system.EduDeptFunction; -import com.yida.data.system.fallback.RemoteDeptFunctionServiceFallback; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; - -@FeignClient(value = FebsServerConstant.FEBS_SERVER_SYSTEM, contextId = "deptFunctionServiceClient", fallbackFactory = - RemoteDeptFunctionServiceFallback.class) -public interface RemoteDeptFunctionService { - - /** - * 获取部门是否开通当前功能 - * - * @param functionName 功能名称 - * @param deptId 部门id - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2023/2/21 15:06 - */ - @GetMapping("/in/function/getDeptFunction") - ResultBean getDeptFunction(@RequestParam("functionName") String functionName, - @RequestParam("deptId") Long deptId); -} diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteDeptService.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteDeptService.java index 8c45bca..03850f4 100644 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteDeptService.java +++ b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteDeptService.java @@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; @FeignClient(value = FebsServerConstant.FEBS_SERVER_SYSTEM, contextId = "deptServiceClient", fallbackFactory = - RemoteDeptUserviceFallback.class) + RemoteDeptUserviceFallback.class) public interface RemoteDeptService { /** @@ -50,7 +50,7 @@ public interface RemoteDeptService { */ @GetMapping("/dept/getSchoolByArea") ResultBean> getSchoolByArea(@RequestParam("areaId") Long areaId, - @RequestParam("schoolName") String schoolName); + @RequestParam("schoolName") String schoolName); /** * 根据corpid获取学校 @@ -78,7 +78,7 @@ public interface RemoteDeptService { */ @GetMapping("/in/dept/getDeptBySchoolAndName") ResultBean getDeptBySchoolAndName(@RequestParam("schoolId") Long schoolId, - @RequestParam("deptName") String deptName); + @RequestParam("deptName") String deptName); /** * 获取学校和区域信息 @@ -91,9 +91,9 @@ public interface RemoteDeptService { */ @GetMapping("/dept/getPageSchoolByArea") ResultBean> getPageSchoolByArea(@ApiParam("类型") @RequestParam(required = false) Long areaId, - @ApiParam("搜索关键词 学校名") @RequestParam(required = false) String schoolName, - @ApiParam("当前页码") @RequestParam(defaultValue = "1") Integer pageNum, - @ApiParam("页面大小") @RequestParam(defaultValue = "10") Integer pageSize); + @ApiParam("搜索关键词 学校名") @RequestParam(required = false) String schoolName, + @ApiParam("当前页码") @RequestParam(defaultValue = "1") Integer pageNum, + @ApiParam("页面大小") @RequestParam(defaultValue = "10") Integer pageSize); /** * 获取学校地区 @@ -106,7 +106,7 @@ public interface RemoteDeptService { @GetMapping("/dept/findChildByParent") ResultBean> findChildByParent(@RequestParam("deptId") Long deptId, - @RequestParam("type") Integer type); + @RequestParam("type") Integer type); /** * 根据学校类型查询学校 @@ -135,7 +135,7 @@ public interface RemoteDeptService { */ @GetMapping("/in/dept/getDeptBySchoolAndWxId") ResultBean getDeptBySchoolAndWxId(@RequestParam("schoolId") Long schoolId, - @RequestParam("wxId") Long wxId); + @RequestParam("wxId") Long wxId); /** * 查询部门列表 @@ -145,17 +145,4 @@ public interface RemoteDeptService { */ @PostMapping("/in/dept/listDept") ResultBean> listDept(@RequestBody List ids); - - /** - * 向上查询父级部门集合,包含子部门 - * - * @param ids - * @return - */ - @PostMapping("/in/dept/findParentDeptByChilds") - ResultBean> listParentDeptByChild(@RequestBody List ids); - - - @PostMapping("/in/dept/getDeptTree") - ResultBean getDeptTree(@RequestBody List deptIds); } diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteDictService.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteDictService.java deleted file mode 100644 index 5f70d8e..0000000 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteDictService.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.system.feign; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.Dict; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import com.yida.data.system.fallback.RemoteAreaServiceFallback; -import java.util.List; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; - -@FeignClient(value = FebsServerConstant.FEBS_SERVER_SYSTEM, contextId = "dictServiceClient", - fallbackFactory = RemoteAreaServiceFallback.class) -public interface RemoteDictService { - - @GetMapping("/in/dict/selectDict") - ResultBean> selectDict(@RequestParam String type); - - - @GetMapping("/in/dict/getDictByTypeAndValueOrLabel") - ResultBean getDictByTypeAndValueOrLabel(@RequestParam String type, @RequestParam String value, - @RequestParam String label); - -} \ No newline at end of file diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteQywxService.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteQywxService.java deleted file mode 100644 index 916d292..0000000 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteQywxService.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.yida.data.system.feign; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import com.yida.data.common.core.entity.system.EduQywxServiceProviderSchool; -import com.yida.data.system.fallback.RemoteQywxServiceFallback; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; - -@FeignClient(value = FebsServerConstant.FEBS_SERVER_SYSTEM, contextId = "qywxServiceClient", - fallbackFactory = RemoteQywxServiceFallback.class) -public interface RemoteQywxService { - - /** - * 服务商对应学校加密corpId数据(原始值为key) - * - * @param providerCorpId 服务商corpId - * @param deptOriginalCorpId 部门原始corpId - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2023/9/25 17:48 - */ - @GetMapping("/in/qywx/getCorpByOriginalData") - ResultBean getCorpByOriginalData(@RequestParam("providerCorpId") String providerCorpId, - @RequestParam("deptOriginalCorpId") String deptOriginalCorpId); - - /** - * 服务商对应学校加密corpId数据(加密值为key) - * - * @param providerCorpId 服务商corpId - * @param deptEncryptionCorpId 部门加密corpId - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2023/9/25 17:48 - */ - @GetMapping("/in/qywx/getCorpByEncryptionData") - ResultBean getCorpByEncryptionData(@RequestParam("providerCorpId") String providerCorpId, - @RequestParam("deptEncryptionCorpId") String deptEncryptionCorpId); -} diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteUPayConfigService.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteUPayConfigService.java deleted file mode 100644 index f8a8c81..0000000 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteUPayConfigService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.yida.data.system.feign; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import com.yida.data.common.core.entity.system.UPayConfig; -import com.yida.data.system.fallback.RemoteUnionPayConfigServiceFallback; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; - -@FeignClient(value = FebsServerConstant.FEBS_SERVER_SYSTEM, contextId = "uPayConfigServiceClient", - fallbackFactory = RemoteUnionPayConfigServiceFallback.class) -public interface RemoteUPayConfigService { - - @GetMapping("/in/uPayConfig/getUPayConfigByDept") - ResultBean getUPayConfigByDept(@RequestParam("deptId") Long deptId); -} diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteWhiteListService.java b/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteWhiteListService.java deleted file mode 100644 index 58764ff..0000000 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/java/com/yida/data/system/feign/RemoteWhiteListService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.system.feign; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.constant.FebsServerConstant; -import com.yida.data.common.core.entity.system.WhiteList; -import com.yida.data.system.fallback.RemoteWhiteListServiceFallback; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; - -@FeignClient(value = FebsServerConstant.FEBS_SERVER_SYSTEM, contextId = "whiteListServiceClient", fallbackFactory = - RemoteWhiteListServiceFallback.class) -public interface RemoteWhiteListService { - - /** - * 根据功能名称获取对应的白名单信息 - * - * @param functionName 功能名称 - * @return com.yida.data.common.core.common.ResultBean - * @author ZYJ - * @date 2023/2/21 15:05 - */ - @GetMapping("/in/whiteList/getWhiteList") - ResultBean getWhiteList(@RequestParam("functionName") String functionName); -} diff --git a/febs-server/febs-server-system/febs-server-system-api/src/main/resources/META-INF/spring.factories b/febs-server/febs-server-system/febs-server-system-api/src/main/resources/META-INF/spring.factories index dfa3e8b..792b375 100644 --- a/febs-server/febs-server-system/febs-server-system-api/src/main/resources/META-INF/spring.factories +++ b/febs-server/febs-server-system/febs-server-system-api/src/main/resources/META-INF/spring.factories @@ -11,12 +11,5 @@ com.yida.data.system.fallback.RemotePayWxConfigServiceFallback,\ com.yida.data.system.fallback.RemoteRoleServiceFallback,\ com.yida.data.system.fallback.RemoteUnionPayConfigServiceFallback,\ com.yida.data.system.fallback.RemoteUserUserviceFallback,\ -com.yida.data.system.fallback.RemoteWhiteListServiceFallback,\ com.yida.data.system.fallback.RemoteYidaAppAccountServiceFallback,\ -com.yida.data.system.fallback.RemoteYidaAppServiceFallback,\ -com.yida.data.system.fallback.RemoteDeptFunctionServiceFallback,\ -com.yida.data.system.fallback.RemoteUPayConfigServiceFallback,\ -com.yida.data.system.fallback.RemoteConsumeConfigServiceFallback,\ -com.yida.data.system.fallback.RemoteConstructionPayConfigServiceFallback,\ -com.yida.data.system.fallback.RemoteBaiDuApiConfigServiceFallback,\ -com.yida.data.system.fallback.RemoteQywxServiceFallback \ No newline at end of file +com.yida.data.system.fallback.RemoteYidaAppServiceFallback \ No newline at end of file diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/aes/WXBizMsgCrypt.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/aes/WXBizMsgCrypt.java index 564e5dd..3a2436e 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/aes/WXBizMsgCrypt.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/aes/WXBizMsgCrypt.java @@ -86,10 +86,6 @@ * 针对org.apache.commons.codec.binary.Base64, * 需要导入架包commons-codec-1.9(或commons-codec-1.8等其他版本) * 官方下载地址:http://commons.apache.org/proper/commons-codec/download_codec.cgi - *

- * 针对org.apache.commons.codec.binary.Base64, - * 需要导入架包commons-codec-1.9(或commons-codec-1.8等其他版本) - * 官方下载地址:http://commons.apache.org/proper/commons-codec/download_codec.cgi */ // ------------------------------------------------------------------------ @@ -153,11 +149,11 @@ public class WXBizMsgCrypt { } public static void main(String[] args) { -// WXBizMsgCrypt wxcpt = new WXBizMsgCrypt("yta6ad", "n0KuvcacrFw761RqgNTsN3UwHFw3KYptFij2XWrWW4s", "wxfc7961cd4039bc6d"); -// wxcpt.DecryptMsg("dd57e9c2b26b073d5777497e8dd43f940d90d8e2", "1635322300", "203081013", "\n" + -// " \n" + -// " \n" + -// ""); + WXBizMsgCrypt wxcpt = new WXBizMsgCrypt("yta6ad", "n0KuvcacrFw761RqgNTsN3UwHFw3KYptFij2XWrWW4s", "wxfc7961cd4039bc6d"); + wxcpt.DecryptMsg("dd57e9c2b26b073d5777497e8dd43f940d90d8e2", "1635322300", "203081013", "\n" + + " \n" + + " \n" + + ""); } // 生成4个字节的网络字节序 @@ -239,10 +235,6 @@ public class WXBizMsgCrypt { } } - String decrypt(String text) throws AesException { - return decrypt(text, true); - } - /** * 对密文进行解密. * 应用消息回调时receiveid应该为corpid,应对比receiveid与corpid是否一致 @@ -256,7 +248,7 @@ public class WXBizMsgCrypt { * @return 解密得到的明文 * @throws AesException aes解密失败 */ - String decrypt(String text, boolean flag) throws AesException { + String decrypt(String text) throws AesException { byte[] original; try { // 设置解密模式为AES的CBC模式 @@ -292,14 +284,12 @@ public class WXBizMsgCrypt { e.printStackTrace(); throw new AesException(AesException.IllegalBuffer); } + log.info("解密后的密文, encrypt: {}", xmlContent); log.info("解密后的from_receiveid: {}", from_receiveid); - // 判断是否对比receiveid - if (flag) { - // receiveid不相同的情况 - if (!from_receiveid.equals(receiveid)) { - throw new AesException(AesException.ValidateCorpidError); - } + // receiveid不相同的情况 + if (!from_receiveid.equals(receiveid) && !xmlContent.contains("SuiteId")) { + throw new AesException(AesException.ValidateCorpidError); } return xmlContent; @@ -337,12 +327,7 @@ public class WXBizMsgCrypt { return result; } - public String DecryptMsg(String msgSignature, String timeStamp, String nonce, String postData) { - return DecryptMsg(msgSignature, timeStamp, nonce, postData, true); - } - /** - * 服务商待开发应用回调验证 * 检验消息的真实性,并且获取解密后的明文. *

    *
  1. 利用收到的密文生成安全签名,进行签名验证
  2. @@ -358,7 +343,7 @@ public class WXBizMsgCrypt { * @return 解密后的原文 * @throws AesException 执行失败,请查看该异常的错误码和具体的错误信息 */ - public String DecryptMsg(String msgSignature, String timeStamp, String nonce, String postData, boolean flag) + public String DecryptMsg(String msgSignature, String timeStamp, String nonce, String postData) throws AesException { // 密钥,公众账号的app secret @@ -376,16 +361,11 @@ public class WXBizMsgCrypt { } // 解密 - return decrypt(encrypt[1].toString(), flag); - } - - public String VerifyURL(String msgSignature, String timeStamp, String nonce, String echoStr) - throws AesException { - return VerifyURL(msgSignature, timeStamp, nonce, echoStr, true); + String result = decrypt(encrypt[1].toString()); + return result; } /** - * 服务商待开发应用回调验证 * 验证URL * @param msgSignature 签名串,对应URL参数的msg_signature * @param timeStamp 时间戳,对应URL参数的timestamp @@ -395,7 +375,7 @@ public class WXBizMsgCrypt { * @return 解密之后的echostr * @throws AesException 执行失败,请查看该异常的错误码和具体的错误信息 */ - public String VerifyURL(String msgSignature, String timeStamp, String nonce, String echoStr, boolean flag) + public String VerifyURL(String msgSignature, String timeStamp, String nonce, String echoStr) throws AesException { String signature = SHA1.getSHA1(token, timeStamp, nonce, echoStr); @@ -403,7 +383,8 @@ public class WXBizMsgCrypt { throw new AesException(AesException.ValidateSignatureError); } - return decrypt(echoStr, flag); + String result = decrypt(echoStr); + return result; } } \ No newline at end of file diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/configure/InitializeRunner.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/configure/InitializeRunner.java index 3469cc5..12e3728 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/configure/InitializeRunner.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/configure/InitializeRunner.java @@ -1,21 +1,9 @@ package com.yida.data.system.configure; -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.constant.QywxServiceProviderConstant; import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.EduQywxServiceProvider; -import com.yida.data.common.core.entity.system.EduQywxServiceProviderSchool; -import com.yida.data.common.core.utils.WxServiceProviderUtil; -import com.yida.data.common.service.CommonService; -import com.yida.data.system.service.EduQywxServiceProviderSchoolService; -import com.yida.data.system.service.EduQywxServiceProviderService; import com.yida.data.system.service.IDeptService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; + import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.core.annotation.Order; @@ -24,7 +12,10 @@ import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Objects; + +import cc.mrbird.febs.common.redis.service.RedisService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; @RequiredArgsConstructor @Component @@ -33,14 +24,10 @@ import java.util.Objects; public class InitializeRunner implements ApplicationRunner { private final RedisService redisService; - private final WxServiceProviderUtil wxServiceProviderUtil; - private final IDeptService deptService; - private final EduQywxServiceProviderService eduQywxServiceProviderService; - private final EduQywxServiceProviderSchoolService eduQywxServiceProviderSchoolService; @Override - public void run(ApplicationArguments args) { + public void run(ApplicationArguments args) throws Exception { log.info("初始化部门缓存"); List allDept = deptService.list(); Map items = new HashMap<>(); @@ -49,54 +36,5 @@ public class InitializeRunner implements ApplicationRunner { items.put(dept.getDeptId().toString(), dept); } redisService.hmset(CachePrefixConstant.SYS_DEPT_DATA, items); -// initProviderSchool(); } - - /** - * 初始化服务商对应学校加密corpId - * - * @author ZYJ - * @date 2022/11/10 9:13 - */ -// public void initProviderSchool() { -// // 查询所有服务商 -// List providerList = eduQywxServiceProviderService.list(); -// // 查询所有企业微信学校 -// List deptList = deptService.list(Wrappers.lambdaQuery(new Dept()).eq(Dept::getSchoolType, Dept.TYPE_QYWX)); -// // 加密key缓存map -// Map items = new HashMap<>(16); -// // 原始key缓存map -// Map originalItems = new HashMap<>(16); -// -// // 处理关联数据 -// for (EduQywxServiceProvider provider : providerList) { -// for (Dept dept : deptList) { -// // 查询是否有关联数据 -// EduQywxServiceProviderSchool providerSchool = eduQywxServiceProviderSchoolService -// .getOne(Wrappers.lambdaQuery(new EduQywxServiceProviderSchool()) -// .eq(EduQywxServiceProviderSchool::getProviderCorpId, provider.getCorpId()) -// .eq(EduQywxServiceProviderSchool::getDeptOriginalCorpId, dept.getCorpId())); -// if (Objects.isNull(providerSchool)) { -// continue; -// } -// if (StringUtils.isNotBlank(providerSchool.getDeptEncryptionCorpId())) { -// providerSchool = new EduQywxServiceProviderSchool(); -// providerSchool.setProviderCorpId(provider.getCorpId()); -// providerSchool.setDeptOriginalCorpId(dept.getCorpId()); -// // 转换corpId -// String providerToken = wxServiceProviderUtil -// .getProviderToken(provider.getCorpId(), provider.getServiceProviderSecret()); -// String convertCorpId = wxServiceProviderUtil.convertCorpId(providerToken, dept.getCorpId()); -// providerSchool.setDeptEncryptionCorpId(convertCorpId); -// eduQywxServiceProviderSchoolService.save(providerSchool); -// } -// items.put(provider.getCorpId() + "." + providerSchool.getDeptEncryptionCorpId(), providerSchool); -// originalItems.put(provider.getCorpId() + "." + providerSchool.getDeptOriginalCorpId(), providerSchool); -// } -// } -// if (CollUtil.isNotEmpty(items)) { -// redisService.hmset(QywxServiceProviderConstant.PROVIDER_SCHOOL_CORP_DATA, items); -// redisService.hmset(QywxServiceProviderConstant.PROVIDER_SCHOOL_CORP_ORIGINAL_DATA, originalItems); -// } -// } } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/configure/QywxHandleRabbitReceiver.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/configure/QywxHandleRabbitReceiver.java deleted file mode 100644 index dda57e9..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/configure/QywxHandleRabbitReceiver.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.yida.data.system.configure; - -import com.rabbitmq.client.Channel; -import com.yida.data.common.core.entity.WxPublicQr; -import com.yida.data.common.core.exception.FebsException; -import com.yida.data.rabbit.constant.RabbitConstant; -import com.yida.data.system.dto.QywxCallbackHandleDTO; -import com.yida.data.system.service.EduAgentWxPublicReceiverService; -import com.yida.data.system.service.QywxHandleService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.amqp.core.Message; -import org.springframework.amqp.rabbit.annotation.Exchange; -import org.springframework.amqp.rabbit.annotation.Queue; -import org.springframework.amqp.rabbit.annotation.QueueBinding; -import org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.stereotype.Component; - -import java.io.IOException; - -/** - * 企业微信回调mq处理类 - * - * @author ZYJ - * @date 2023/10/26 - */ -@Slf4j -@Component -@RequiredArgsConstructor -public class QywxHandleRabbitReceiver { - - private final QywxHandleService qywxHandleService; - - /** - * 企业微信处理接收者 - */ - @RabbitListener(bindings = @QueueBinding( - value = @Queue(RabbitConstant.QYWX_HANDLE_QUEUE), - exchange = @Exchange(RabbitConstant.QYWX_HANDLE_EXCHANGE) - )) - public void qywxHandleRabbitReceiver(QywxCallbackHandleDTO dto, Channel channel, Message message) throws IOException { - long deliveryTag = message.getMessageProperties().getDeliveryTag(); - try { - // 处理企业微信回调信息 - switch (dto.getQywxCallbackTypeEnum()) { - // 自开发回调 - case POST: - qywxHandleService.handlePostCallback(dto); - break; - // 代开发应用模板回调 - case POST_NORMAL: - qywxHandleService.handlePostNormalCallback(dto); - break; - // 处理企业微信代开发应用回调信息 - case POST_EVENT: - qywxHandleService.handlePostEventCallback(dto); - break; - default: - throw new FebsException("回调类型错误"); - } - } catch (Exception e) { - log.error("rabbitmq处理企业微信回调消息失败, msg: {}", dto, e); - // 重新回到队列 -// channel.basicNack(deliveryTag, false, true); - } finally { - // 确认收到消息,只确认当前消费者的一个消息收到 - channel.basicAck(deliveryTag, false); - } - } -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/configure/RabbitConfig.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/configure/RabbitConfig.java index 336a219..c5f9815 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/configure/RabbitConfig.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/configure/RabbitConfig.java @@ -9,9 +9,6 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import java.util.HashMap; -import java.util.Map; - @Configuration public class RabbitConfig { @@ -40,7 +37,7 @@ public class RabbitConfig { */ @Bean public Binding agentReceiveMsgBinding(@Qualifier("agentReceiveMsgQueue") Queue queue, - @Qualifier("wxPublicQrExchange") DirectExchange exchange) { + @Qualifier("wxPublicQrExchange") DirectExchange exchange) { return BindingBuilder.bind(queue).to(exchange).with(RabbitConstant.AGENT_RECEIVE_MSG_KEY); } @@ -59,26 +56,7 @@ public class RabbitConfig { */ @Bean public Binding visitorInviteCodeBinding(@Qualifier("visitorInviteCodeQueue") Queue queue, - @Qualifier("wxPublicQrExchange") DirectExchange exchange) { + @Qualifier("wxPublicQrExchange") DirectExchange exchange) { return BindingBuilder.bind(queue).to(exchange).with(RabbitConstant.VISITOR_INVITE_CODE_KEY); } - - @Bean - public DirectExchange qywxHandleExchange() { - return new DirectExchange(RabbitConstant.QYWX_HANDLE_EXCHANGE); - } - - @Bean - public Queue qywxHandleQueue() { - Map args = new HashMap<>(); - // 设置同时只能一个消费者进行消费 - args.put("x-single-active-consumer", true); - return new Queue(RabbitConstant.QYWX_HANDLE_QUEUE, true, false, false, args); - } - - @Bean - public Binding qywxHandleBinding(@Qualifier("qywxHandleQueue") Queue queue, - @Qualifier("qywxHandleExchange") DirectExchange exchange) { - return BindingBuilder.bind(queue).to(exchange).with(RabbitConstant.QYWX_HANDLE_KEY); - } } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/configure/SysRabbitReceiver.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/configure/SysRabbitReceiver.java index dd1f867..8a835a9 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/configure/SysRabbitReceiver.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/configure/SysRabbitReceiver.java @@ -23,6 +23,10 @@ public class SysRabbitReceiver { /** * 区域后台消息接收者 + * + * @param wxPublicQr + * @param channel + * @param message */ @RabbitListener(bindings = @QueueBinding( value = @Queue(RabbitConstant.AGENT_RECEIVE_MSG_QUEUE), diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/CommonController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/CommonController.java index 5e3dac0..2d90953 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/CommonController.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/CommonController.java @@ -6,14 +6,15 @@ import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.system.EduSysFile; import com.yida.data.common.core.exception.FebsException; import com.yida.data.log.annotation.OperationLog; -import com.yida.data.school.vo.smart.WxConfigVO; import com.yida.data.system.service.CommonService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import javax.annotation.Resource; - -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; @Api(tags = "通用接口") @@ -42,20 +43,4 @@ public class CommonController { } return ResultBean.buildSuccess(stringBuilder.toString()); } - - @GetMapping("/getWxJsConfig") - @ApiOperation("获取企业微信JS-SDK配置") - ResultBean getWxJsConfig( - @RequestParam @ApiParam(value = "部门id", required = true) Long deptId, - @RequestParam @ApiParam(value = "当前网页的URL,不包含#及其后面部分", required = true) String url) { - return ResultBean.buildSuccess(commonService.getWxJsConfig(deptId, url)); - } - - @GetMapping("/getWxPublicJsConfig") - @ApiOperation("获取微信JS-SDK配置") - ResultBean getWxPublicJsConfig( - @RequestParam @ApiParam(value = "部门id", required = true) Long deptId, - @RequestParam @ApiParam(value = "当前网页的URL,不包含#及其后面部分", required = true) String url) { - return ResultBean.buildSuccess(commonService.getWxPublicJsConfig(deptId, url)); - } } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/DeptController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/DeptController.java index 45b0606..41fc665 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/DeptController.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/DeptController.java @@ -57,45 +57,52 @@ public class DeptController { */ @ApiOperation("查询父级部门") @GetMapping("/getParent") + @OperationLog(module = ModuleName.SYSTEM, methods = "查询父级部门") public ResultBean getParent(@ApiParam("部门id") Long deptId) { return ResultBean.buildSuccess(deptService.getById(deptService.getById(deptId).getParentId())); } @ApiOperation("向上查询父级部门") @GetMapping("/findParentUp") + @OperationLog(module = ModuleName.SYSTEM, methods = "向上查询父级部门") public ResultBean findParentUp(@ApiParam("部门id") Long deptId, - @ApiParam("最上级部门类型,0表示学校,1表示班级,2表示年级,3表示学段,4表示校区,5公司,6" + - "学校部门") Integer type) { + @ApiParam("最上级部门类型,0表示学校,1表示班级,2表示年级,3表示学段,4表示校区,5公司,6" + + "学校部门") Integer type) { return ResultBean.buildSuccess(deptService.findParentUp(deptId, type)); } @GetMapping("/findListByParent") @ApiOperation("查询所有子节点") + @OperationLog(module = ModuleName.SYSTEM, methods = "查询所有子节点") public ResultBean> findListByParent(Long deptId) { return ResultBean.buildSuccess(deptService.findListByParent(Arrays.asList(deptId), 0)); } @ApiOperation("查询直接子节点") @GetMapping("/findChildByParent") + @OperationLog(module = ModuleName.SYSTEM, methods = "查询子节点") public ResultBean findChildByParent(@ApiParam("父节点id,不能为空") @RequestParam Long deptId, - @ApiParam("子节点类型,0表示学校,5公司,6部门,7教育局,默认所有直接子节点") Integer type) { + @ApiParam("子节点类型,0表示学校,5公司,6部门,7教育局,默认所有直接子节点") Integer type) { return ResultBean.buildSuccess(deptService.findChildByParent(deptId, type)); } @ApiOperation("向下查询到要查询的部门类别的子部门(可查询非直接子部门)") @GetMapping("/findChildByParentAndType") + @OperationLog(module = ModuleName.SYSTEM, methods = "向下查询到要查询的部门类别的子部门") public ResultBean> findChildByParentAndType(@ApiParam("父节点id,不能为空") Long parentId, - @ApiParam("子节点类型,0表示学校,5公司,6部门,7教育局,默认所有直接子节点") Integer type) { + @ApiParam("子节点类型,0表示学校,5公司,6部门,7教育局,默认所有直接子节点") Integer type) { return ResultBean.buildSuccess(deptService.findChildByParentAndType(Arrays.asList(parentId), type)); } @ApiOperation("根据部门id查询所属学校") @GetMapping("findSchoolByDept") + @OperationLog(module = ModuleName.SYSTEM, methods = "根据部门id查询所属学校") public ResultBean findSchoolByDept(Long deptId) { return ResultBean.buildSuccess(deptService.findSchooleByDept(deptId)); } @GetMapping + @OperationLog(module = ModuleName.SYSTEM, methods = "查询部门") public FebsResponse deptList(QueryRequest request, Dept dept) { Map depts = this.deptService.findDepts(request, dept); return new FebsResponse().data(depts); @@ -103,14 +110,14 @@ public class DeptController { @PostMapping @PreAuthorize("hasAuthority('dept:add')") - @OperationLog(module = ModuleName.DEPT, methods = "新增部门", type = OperationLogTypeEnum.INSERT) + @OperationLog(module = ModuleName.SYSTEM, methods = "新增部门", type = OperationLogTypeEnum.INSERT) public void addDept(@Valid Dept dept) { this.deptService.createDept(dept); } @DeleteMapping("/{deptIds}") @PreAuthorize("hasAuthority('dept:delete')") - @OperationLog(module = ModuleName.DEPT, methods = "删除部门", type = OperationLogTypeEnum.DELETE) + @OperationLog(module = ModuleName.SYSTEM, methods = "删除部门", type = OperationLogTypeEnum.DELETE) public void deleteDepts(@NotBlank(message = "{required}") @PathVariable String deptIds) { String[] ids = deptIds.split(StringConstant.COMMA); this.deptService.deleteDepts(ids); @@ -118,13 +125,14 @@ public class DeptController { @PutMapping @PreAuthorize("hasAuthority('dept:update')") - @OperationLog(module = ModuleName.DEPT, methods = "修改部门", type = OperationLogTypeEnum.UPDATE) + @OperationLog(module = ModuleName.SYSTEM, methods = "修改部门", type = OperationLogTypeEnum.UPDATE) public void updateDept(@Valid Dept dept) { this.deptService.updateDept(dept); } @PostMapping("excel") @PreAuthorize("hasAuthority('dept:export')") + @ControllerLog(operation = "导出部门数据", exceptionMessage = "导出Excel失败") public void export(Dept dept, QueryRequest request, HttpServletResponse response) { List depts = this.deptService.findDepts(dept, request); //ExcelKit.$Export(Dept.class, response).downXlsx(depts, false); @@ -138,17 +146,19 @@ public class DeptController { @ApiOperation("根据区域查询学校列表") @GetMapping("/getSchoolByArea") + @OperationLog(module = ModuleName.SYSTEM, methods = "根据区域查询学校列表") public ResultBean> getSchoolByArea(@ApiParam("区域id") @RequestParam(required = false) Long areaId, - @ApiParam("搜索关键词 学校名") @RequestParam(required = false) String schoolName) throws NoSuchMethodException { + @ApiParam("搜索关键词 学校名") @RequestParam(required = false) String schoolName) throws NoSuchMethodException { return ResultBean.buildSuccess(deptService.getSchoolByArea(areaId, schoolName)); } @ApiOperation("分页查询学校列表") @GetMapping("/getPageSchoolByArea") + @OperationLog(module = ModuleName.SYSTEM, methods = "分页查询学校列表") public ResultBean> getPageSchoolByArea(@ApiParam("类型") @RequestParam(required = false) Long areaId, - @ApiParam("搜索关键词 学校名") @RequestParam(required = false) String schoolName, - @ApiParam("当前页码") @RequestParam(defaultValue = "1") Integer pageNum, - @ApiParam("页面大小") @RequestParam(defaultValue = "10") Integer pageSize) { + @ApiParam("搜索关键词 学校名") @RequestParam(required = false) String schoolName, + @ApiParam("当前页码") @RequestParam(defaultValue = "1") Integer pageNum, + @ApiParam("页面大小") @RequestParam(defaultValue = "10") Integer pageSize) { Page page = new Page<>(); page.setSize(pageSize); page.setCurrent(pageNum); @@ -157,9 +167,10 @@ public class DeptController { @ApiOperation("部门树") @GetMapping("/getDeptTree") + @OperationLog(module = ModuleName.SYSTEM, methods = "部门树") public ResultBean getDeptTree(@ApiParam("根节点Id") Long deptId, - @ApiParam("0-包含学校的企业部门(后勤部等)与学校部门(校区学段等),1-仅学校部门,2-仅企业部门,默认0") @RequestParam(defaultValue = - "0") Integer type) { + @ApiParam("0-包含学校的企业部门(后勤部等)与学校部门(校区学段等),1-仅学校部门,2-仅企业部门,默认0") @RequestParam(defaultValue = + "0") Integer type) { if (deptId == null) { deptId = FebsUtil.getCurrentUser().getDeptId(); } @@ -174,6 +185,7 @@ public class DeptController { @ApiOperation("查询部门区域") @GetMapping("/findAreaById") + @OperationLog(module = ModuleName.SYSTEM, methods = "查询部门区域") public ResultBean findAreaById(@RequestParam Long id) { Long byId = deptService.getById(id).getAreaId(); return ResultBean.buildSuccess(eduAreaMapper.findAreaById(byId)); @@ -183,15 +195,14 @@ public class DeptController { * 查询代理商管理的学校列表数据 * * @param agentSchoolSelectPageDTO 查询代理商管理的学校列表数据请求类 - * @return com.yida.data.common.core.common.ResultBean> + * @return com.yida.data.common.core.common.ResultBean> * @author ZYJ * @date 2021/9/27 17:03 */ @GetMapping(value = "/listAgentSchoolPage") @ApiOperation(value = "查询代理商管理的学校列表数据", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) public ResultBean> listAgentSchoolPage( - @Valid AgentSchoolSelectPageDTO agentSchoolSelectPageDTO) { + @Valid AgentSchoolSelectPageDTO agentSchoolSelectPageDTO) { return this.deptService.listAgentSchoolPage(agentSchoolSelectPageDTO); } @@ -207,7 +218,7 @@ public class DeptController { @PostMapping(value = "/saveAgentSchool", consumes = MediaType.APPLICATION_JSON_VALUE) @ApiOperation(value = "代理商保存学校数据", consumes = MediaType.APPLICATION_JSON_VALUE) public ResultBean saveAgentSchool( - @Valid @RequestBody AgentSchoolSaveDTO agentSchoolSaveDTO) { + @Valid @RequestBody AgentSchoolSaveDTO agentSchoolSaveDTO) { return this.deptService.saveAgentSchool(agentSchoolSaveDTO); } @@ -223,7 +234,7 @@ public class DeptController { @PostMapping(value = "/getAgentSchoolInfo") @ApiOperation(value = "查询学校信息", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) public ResultBean getAgentSchoolInfo( - @ApiParam(value = "学校id", required = true) @RequestParam Long schoolId) { + @ApiParam(value = "学校id", required = true) @RequestParam Long schoolId) { return this.deptService.getAgentSchoolInfo(schoolId); } @@ -239,10 +250,9 @@ public class DeptController { // @PreAuthorize("hasRole('role:agent:admin')") @PostMapping(value = "/updateEnableStatus") @ApiOperation(value = "启用或停用学校", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) - @OperationLog(module = ModuleName.DEPT, methods = "启用或停用学校", type = OperationLogTypeEnum.UPDATE) public ResultBean updateEnableStatus( - @ApiParam(value = "学校id", required = true) @RequestParam Long schoolId, - @ApiParam(value = "需要设置的启用或停用状态. 启用: 1, 停用: 0", required = true) @RequestParam Integer enableStatus) { + @ApiParam(value = "学校id", required = true) @RequestParam Long schoolId, + @ApiParam(value = "需要设置的启用或停用状态. 启用: 1, 停用: 0", required = true) @RequestParam Integer enableStatus) { return this.deptService.updateEnableStatus(schoolId, enableStatus); } @@ -252,15 +262,14 @@ public class DeptController { * 代理商查询学校管理员账号列表数据 * * @param schoolAdminAccountSelectPageDTO 代理商查询学校管理员账号列表数据请求类 - * @return com.yida.data.common.core.common.ResultBean> + * @return com.yida.data.common.core.common.ResultBean> * @author ZYJ * @date 2021/9/29 17:34 */ @PostMapping(value = "/listSchoolAdminAccountPage") @ApiOperation(value = "查询学校管理员账号列表数据", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) public ResultBean> listSchoolAdminAccountPage( - @Valid SchoolAdminAccountSelectPageDTO schoolAdminAccountSelectPageDTO) { + @Valid SchoolAdminAccountSelectPageDTO schoolAdminAccountSelectPageDTO) { return ResultBean.buildSuccess(this.userService.listSchoolAdminAccountPage(schoolAdminAccountSelectPageDTO)); } @@ -275,9 +284,8 @@ public class DeptController { // @PreAuthorize("hasRole('role:agent:admin')") @PostMapping(value = "/saveSchoolAdminAccount", consumes = MediaType.APPLICATION_JSON_VALUE) @ApiOperation(value = "保存学校负责人账号", consumes = MediaType.APPLICATION_JSON_VALUE) - @OperationLog(module = ModuleName.DEPT, methods = "保存学校负责人账号", type = OperationLogTypeEnum.UPDATE) public ResultBean saveSchoolAdminAccount( - @Valid @RequestBody SchoolAdminAccountSaveDTO schoolAdminAccountSaveDTO) { + @Valid @RequestBody SchoolAdminAccountSaveDTO schoolAdminAccountSaveDTO) { return this.userService.saveSchoolAdminAccount(schoolAdminAccountSaveDTO); } } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/DictController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/DictController.java index 08da446..2bf929d 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/DictController.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/DictController.java @@ -1,6 +1,5 @@ package com.yida.data.system.controller; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yida.data.common.core.common.ModuleName; @@ -46,8 +45,8 @@ public class DictController { @ApiOperation("分页查询字典类型") @GetMapping("/listDictTypePage") public ResultBean> listDictGroup(@RequestParam(required = false) String typeName, - @RequestParam(defaultValue = "1") Integer pageNum, - @RequestParam(defaultValue = "10") Integer pageSize) { + @RequestParam(defaultValue = "1") Integer pageNum, + @RequestParam(defaultValue = "10") Integer pageSize) { return ResultBean.buildSuccess(dictService.listDictTypePage(typeName, pageNum, pageSize)); } @@ -56,7 +55,7 @@ public class DictController { @OperationLog(module = ModuleName.SYSTEM, methods = "查询字典") public ResultBean> selectDict(@ApiParam("类型") @RequestParam String type) { return ResultBean.buildSuccess(dictService.list(Wrappers.lambdaQuery(new Dict()) - .eq(Dict::getType, type).orderByAsc(Dict::getSort))); + .eq(Dict::getType, type).orderByAsc(Dict::getSort))); } @PostMapping("/insertDict") @@ -77,22 +76,7 @@ public class DictController { @GetMapping("/delDictByType") public ResultBean delDictByType(String type) { dictService.remove(Wrappers.lambdaQuery() - .eq(Dict::getType, type)); - return ResultBean.buildSuccess(); - } - - @GetMapping("/getDictByTypeAndValueOrLabel") - public ResultBean getDictCode(String type, String value, String Label) { - if (ObjectUtil.isNotNull(value)) { - return ResultBean - .buildSuccess( - dictService.getOne(Wrappers.lambdaQuery(new Dict()).eq(Dict::getType, type).eq(Dict::getValue, value))); - } - if (ObjectUtil.isNotNull(Label)) { - return ResultBean - .buildSuccess( - dictService.getOne(Wrappers.lambdaQuery(new Dict()).eq(Dict::getType, type).eq(Dict::getLabel, Label))); - } + .eq(Dict::getType, type)); return ResultBean.buildSuccess(); } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/EduBaseAppController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/EduBaseAppController.java deleted file mode 100644 index 0aff0d5..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/EduBaseAppController.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.yida.data.system.controller; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.EduBaseApp; -import com.yida.data.system.service.EduBaseAppService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -/** - * 基础应用信息(本地配置) Controller - * - * @author ZYJ - * @date 2023-06-28 14:57:58 - */ -@RestController -@RequiredArgsConstructor -@RequestMapping("eduBaseApp") -@Api(tags = "基础应用信息配置信息") -public class EduBaseAppController { - - private final EduBaseAppService eduBaseAppService; - - @PostMapping(value = "listBaseApp") - @ApiOperation(value = "查询基础应用列表数据") - public ResultBean> listBaseApp() { - return ResultBean.buildSuccess(eduBaseAppService.list()); - } -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/EduInstructionsContentController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/EduInstructionsContentController.java index 5d7574a..9da3b4a 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/EduInstructionsContentController.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/EduInstructionsContentController.java @@ -3,13 +3,10 @@ package com.yida.data.system.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.common.ResultMsgType; import com.yida.data.common.core.entity.instructions.EduInstructionsContent; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.system.service.EduInstructionsContentService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -40,15 +37,15 @@ public class EduInstructionsContentController { @ApiOperation("分页获取系统指南内容LIST") @GetMapping("/findPageList") + @ControllerLog(operation = "分页获取系统指南内容LIST") public ResultBean> findPageList( - @ApiParam("指南类型") @RequestParam(required = false) String typeCode, - @ApiParam("指南标题") @RequestParam(required = false) String title, - @ApiParam("当前页码,默认1") @RequestParam(defaultValue = "1") Integer pageNum, - @ApiParam("分页大小,默认10") @RequestParam(defaultValue = "10") Integer pageSize + @ApiParam("指南类型") @RequestParam(required = false) String typeCode, + @ApiParam("指南标题") @RequestParam(required = false) String title, + @ApiParam("当前页码,默认1") @RequestParam(defaultValue = "1") Integer pageNum, + @ApiParam("分页大小,默认10") @RequestParam(defaultValue = "10") Integer pageSize ) { try { - return ResultBean.buildSuccess( - eduInstructionsContentService.listPageEduInstructionsContent(new Page(pageNum, pageSize), typeCode, title)); + return ResultBean.buildSuccess(eduInstructionsContentService.listPageEduInstructionsContent(new Page(pageNum, pageSize), typeCode, title)); } catch (Exception e) { log.error("分页获取系统指南内容LIST失败: {}", e.getMessage(), e); return ResultBean.buildError(ResultMsgType.QUERY_FAIL.getValue()); @@ -57,8 +54,9 @@ public class EduInstructionsContentController { @ApiOperation("根据typeCode或者Id获取单条指南内容") @PostMapping("/getOneEduInstructionsContent") + @ControllerLog(operation = "根据typeCode或者Id获取单条指南内容") public ResultBean getOneEduInstructionsContent(@RequestParam(required = false) String typeCode, - @RequestParam(required = false) Integer id + @RequestParam(required = false) Integer id ) { try { return ResultBean.buildSuccess(eduInstructionsContentService.getOneEduInstructionsContent(typeCode, id)); @@ -71,7 +69,7 @@ public class EduInstructionsContentController { @ApiOperation("新增或修改系统指南内容") @PostMapping("/saveOrUpdateInstructions") - @OperationLog(module = ModuleName.INSTRUCTION, methods = "新增或修改系统指南内容", type = OperationLogTypeEnum.SAVE) + @ControllerLog(operation = "新增或修改系统指南内容") public ResultBean saveOrUpdateInstructions(@RequestBody EduInstructionsContent eduInstructionsContent) { try { boolean b = eduInstructionsContentService.saveInstructionsContent(eduInstructionsContent, FebsUtil.getCurrentUser()); @@ -89,7 +87,7 @@ public class EduInstructionsContentController { @ApiOperation("删除系统指南内容") @PostMapping("/removeBatch") - @OperationLog(module = ModuleName.INSTRUCTION, methods = "删除系统指南内容", type = OperationLogTypeEnum.DELETE) + @ControllerLog(operation = "删除系统指南内容") public ResultBean selectProduct(@ApiParam("系统指南内容id") @RequestBody List ids) { try { eduInstructionsContentService.deleteByIds(ids); diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/EduInstructionsTypeController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/EduInstructionsTypeController.java index 07c37bb..5c891c8 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/EduInstructionsTypeController.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/EduInstructionsTypeController.java @@ -1,13 +1,10 @@ package com.yida.data.system.controller; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.common.ResultMsgType; import com.yida.data.common.core.entity.instructions.EduInstructionsType; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.system.service.EduInstructionsTypeService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -38,6 +35,7 @@ public class EduInstructionsTypeController { @ApiOperation("系统指南类型列表") @GetMapping("/findList") + @ControllerLog(operation = "系统指南类型列表") public ResultBean> selectInstructionsList() { try { return ResultBean.buildSuccess(eduInstructionsTypeService.selectInstructionsTypeList()); @@ -50,7 +48,7 @@ public class EduInstructionsTypeController { @ApiOperation("新增或修改系统指南类型") @PostMapping("/save") - @OperationLog(module = ModuleName.INSTRUCTION, methods = "新增或修改系统指南类型", type = OperationLogTypeEnum.SAVE) + @ControllerLog(operation = "新增或修改系统指南类型") public ResultBean insertInstructionsList(@RequestBody EduInstructionsType eduInstructionsType) { try { eduInstructionsTypeService.saveData(eduInstructionsType, FebsUtil.getCurrentUser()); @@ -64,7 +62,7 @@ public class EduInstructionsTypeController { @ApiOperation("删除系统指南类型") @PostMapping("/removeBatch") - @OperationLog(module = ModuleName.INSTRUCTION, methods = "删除系统指南类型", type = OperationLogTypeEnum.DELETE) + @ControllerLog(operation = "删除系统指南类型") public ResultBean removeBatch(@ApiParam("系统指南类型id") @RequestBody List ids) { try { eduInstructionsTypeService.removeByIds(ids); diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InBaiDuApiConfigController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InBaiDuApiConfigController.java deleted file mode 100644 index 2196c75..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InBaiDuApiConfigController.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.yida.data.system.controller; - -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.BaiduApiConfig; -import com.yida.data.common.core.entity.system.UnionPayConfig; -import com.yida.data.common.core.utils.Asserts; -import com.yida.data.system.service.BaiduApiConfigService; -import com.yida.data.system.service.UnionPayConfigService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -/** - * 百度api配置信息 Controller - * - * @author ZYJ - * @date 2023/6/20 - */ -@RestController -@RequiredArgsConstructor -@Api(tags = "百度api配置信息(无鉴权)") -@RequestMapping("/in/baiDuApiConfig") -public class InBaiDuApiConfigController { - - private final BaiduApiConfigService baiduApiConfigService; - - @ApiOperation("根据学校id查询百度api配置") - @GetMapping("/getBaiDuApiConfigByDept") - public ResultBean getBaiDuApiConfigByDept(@RequestParam Long deptId, @RequestParam String moduleName) { - Asserts.isNotNull(deptId, "部门不能为空"); - return ResultBean.buildSuccess(baiduApiConfigService.getOne(Wrappers.lambdaQuery(new BaiduApiConfig()) - .eq(BaiduApiConfig::getSchoolId, deptId) - .eq(BaiduApiConfig::getModuleName, moduleName) - )); - } - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InBaseDeptHomeAppController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InBaseDeptHomeAppController.java deleted file mode 100644 index 5508871..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InBaseDeptHomeAppController.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yida.data.system.controller; - -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.EduBaseApp; -import com.yida.data.system.service.EduBaseAppService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -/** - * 基础app管理(无鉴权) - * - * @author ZYJ - * @date 2023-06-28 15:24:25 - */ -@Slf4j -@Api(tags = "基础app管理(无鉴权)") -@RestController -@RequestMapping("/in/deptHomeApp") -@RequiredArgsConstructor -public class InBaseDeptHomeAppController { - - private final EduBaseAppService eduBaseAppService; - - @ApiOperation("根据id查询基础应用") - @GetMapping("/getById") - public ResultBean getById(@RequestParam Long id) { - return ResultBean.buildSuccess(eduBaseAppService.getById(id)); - } - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InConstructionPayConfigController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InConstructionPayConfigController.java deleted file mode 100644 index 826a478..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InConstructionPayConfigController.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.yida.data.system.controller; - -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.ConstructionPayConfig; -import com.yida.data.common.core.entity.system.UnionPayConfig; -import com.yida.data.common.core.utils.Asserts; -import com.yida.data.system.service.ConstructionPayConfigService; -import com.yida.data.system.service.UnionPayConfigService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 建行学习支付配置信息 Controller - * - * @author ZYJ - * @date 2023/6/19 - */ -@RestController -@RequiredArgsConstructor -@Api(tags = "建行学习支付配置信息(无鉴权)") -@RequestMapping("/in/constructionPayConfig") -public class InConstructionPayConfigController { - - private final ConstructionPayConfigService constructionPayConfigService; - - @ApiOperation("根据部门查询建行支付配置") - @GetMapping("/getConstructionPayConfigByDept") - public ResultBean getConstructionPayConfigByDept(Long deptId) { - Asserts.isNotNull(deptId, "部门不能为空"); - return ResultBean.buildSuccess(constructionPayConfigService.getOne(Wrappers.lambdaQuery(new ConstructionPayConfig()) - .eq(ConstructionPayConfig::getDeptId, deptId))); - } - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InConsumeConfigController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InConsumeConfigController.java deleted file mode 100644 index c4ce20b..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InConsumeConfigController.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.yida.data.system.controller; - -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.consume.EduConsumeConfig; -import com.yida.data.common.core.utils.Asserts; -import com.yida.data.system.service.EduConsumeConfigService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 学校消费机服务器信息 Controller - * - * @author ZYJ - * @date 2023/4/6 - */ -@RestController -@RequiredArgsConstructor -@Api(tags = "学校消费机服务器信息(无鉴权)") -@RequestMapping("/in/consumeConfig") -public class InConsumeConfigController { - - private final EduConsumeConfigService eduConsumeConfigService; - - @ApiOperation("根据部门查询收钱吧支付配置信息") - @GetMapping("/getConsumeConfigByDept") - public ResultBean getConsumeConfigByDept(Long deptId) { - Asserts.isNotNull(deptId, "部门不能为空"); - return ResultBean.buildSuccess(eduConsumeConfigService.getOne(Wrappers.lambdaQuery(new EduConsumeConfig()) - .eq(EduConsumeConfig::getDeptId, deptId)) - ); - } - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InDeptController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InDeptController.java index e5652f5..06edd06 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InDeptController.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InDeptController.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yida.data.common.core.common.ResultBean; +import com.yida.data.common.core.entity.constant.CachePrefixConstant; import com.yida.data.common.core.entity.system.Dept; import com.yida.data.common.core.entity.system.EduDeptWxPublic; import com.yida.data.common.core.entity.system.EduHotWord; @@ -20,6 +21,7 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.cache.annotation.Cacheable; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -67,7 +69,7 @@ public class InDeptController { @GetMapping("/getSchoolByName") public ResultBean getSchoolByName(String schoolName) { return ResultBean.buildSuccess(deptService - .getOne(Wrappers.lambdaQuery(new Dept()).eq(Dept::getDeptName, schoolName))); + .getOne(Wrappers.lambdaQuery(new Dept()).eq(Dept::getDeptName, schoolName).eq(Dept::getDeptType, 0))); } /** @@ -97,15 +99,7 @@ public class InDeptController { @GetMapping("/syncQywxDept") public ResultBean syncQywxDept() { log.info("进入同步企业微信"); - deptService.syncQywxDept(null); - return ResultBean.buildSuccess(); - } - - @ApiOperation("同步指定学校企业微信部门") - @GetMapping("/syncSchoolDept") - public ResultBean syncSchoolDept(@RequestParam Long schoolId) { - log.info("同步企业微信部门数据: schoolId: [{}]", schoolId); - deptService.syncQywxDept(schoolId); + deptService.syncQywxDept(); return ResultBean.buildSuccess(); } @@ -183,12 +177,29 @@ public class InDeptController { @ApiOperation("根据名称和类型查询教育局学校列表") @PostMapping("/listSchoolPage") -// @Cacheable(value = CachePrefixConstant.SCHOOL_LIST_SEARCH, key = "#dto.deptId + '-' + #dto.schoolName") public ResultBean> listSchoolPage(@RequestBody SchoolPageDTO dto) { IPage page = deptService.listSchoolPage(dto); return ResultBean.buildSuccess(page); } + @ApiOperation("根据名称查询教育局缴费学校列表") + @GetMapping("/listPaySchool") + public ResultBean> listPaySchool( + @ApiParam(value = "教育局或代理商id", required = true) @RequestParam Long deptId, + @ApiParam(value = "学校名称") String schoolName) { + List list = deptService.listPaySchool(deptId, schoolName); + return ResultBean.buildSuccess(list); + } + + @ApiOperation("查询:1幼儿园,2小学,3初中,4高中,5大学") + @PostMapping("/listSchoolPageByNature") + @Cacheable(value = CachePrefixConstant.SCHOOL_LIST_SEARCH, key = "#dto.deptId + '-' + #dto.natureType + '-' + #dto.schoolName") + public ResultBean> listSchoolPageByNature(@RequestBody SchoolPageDTO dto) { + IPage page = deptService.listSchoolPage(dto); + return ResultBean.buildSuccess(page); + } + + @ApiOperation("根据住所查询对应可读学校") @GetMapping("/findSchoolByAddress") public ResultBean> findSchoolByAddress( @@ -246,20 +257,4 @@ public class InDeptController { return ResultBean.buildSuccess(deptService.findHotWord(num, type, deptId)); } - - - @ApiOperation("查询父级部门集合") - @PostMapping("/findParentDeptByChilds") - public ResultBean> findParentDeptByChilds(@RequestBody List deptIds) { - return ResultBean.buildSuccess(deptService.findParentDeptByChild(deptIds)); - } - - - @ApiOperation("获取部门树") - @PostMapping("/getDeptTree") - public ResultBean getDeptTree(@RequestBody List deptIds) { - return ResultBean.buildSuccess(deptService.getDeptTree(deptIds)); - } - - } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InDeptFunctionController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InDeptFunctionController.java deleted file mode 100644 index a0c5eb2..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InDeptFunctionController.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.yida.data.system.controller; - -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.EduDeptFunction; -import com.yida.data.system.service.EduDeptFunctionService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 系统功能 Controller - * - * @author ZYJ - * @date 2023/2/21 - */ -@RestController -@RequiredArgsConstructor -@Api(tags = "系统功能(无鉴权)") -@RequestMapping("/in/function") -public class InDeptFunctionController { - - private final EduDeptFunctionService eduDeptFunctionService; - - @ApiOperation("获取部门是否开通当前功能") - @GetMapping("/getDeptFunction") - public ResultBean getDeptFunction(String functionName, Long deptId) { - return ResultBean.buildSuccess(eduDeptFunctionService.getOne(Wrappers.lambdaQuery(new EduDeptFunction()) - .eq(EduDeptFunction::getFunctionName, functionName) - .eq(EduDeptFunction::getDeptId, deptId) - )); - } - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InDictController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InDictController.java deleted file mode 100644 index 0994e8d..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InDictController.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.yida.data.system.controller; - -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.common.ModuleName; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.Dict; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; -import com.yida.data.log.annotation.OperationLog; -import com.yida.data.system.service.DictService; -import com.yida.data.system.vo.DictTypePageVO; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import java.util.List; -import javax.annotation.Resource; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -/** - * 字典crud - * - * @return - */ -@Slf4j -@Validated -@RestController -@RequiredArgsConstructor -@RequestMapping("/in/dict") -public class InDictController { - - @Resource - private DictService dictService; - - @GetMapping("/selectDict") - @OperationLog(module = ModuleName.SYSTEM, methods = "查询字典") - public ResultBean> selectDict(@ApiParam("类型") @RequestParam String type) { - return ResultBean.buildSuccess(dictService.list(Wrappers.lambdaQuery(new Dict()) - .eq(Dict::getType, type).orderByAsc(Dict::getSort))); - } - - @GetMapping("/getDictByTypeAndValueOrLabel") - public ResultBean getDictCode(String type, String value, String label) { - log.info("参数信息: {},{},{}", type, value, label); - if (ObjectUtil.isNotNull(value)) { - return ResultBean - .buildSuccess( - dictService.getOne(Wrappers.lambdaQuery(new Dict()).eq(Dict::getType, type).eq(Dict::getValue, value))); - } - if (ObjectUtil.isNotNull(label)) { - return ResultBean - .buildSuccess( - dictService.getOne(Wrappers.lambdaQuery(new Dict()).eq(Dict::getType, type).eq(Dict::getLabel, label))); - } - return ResultBean.buildSuccess(); - } - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InEduAppController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InEduAppController.java index 97e5811..5ef69b6 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InEduAppController.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InEduAppController.java @@ -1,14 +1,9 @@ package com.yida.data.system.controller; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.system.EduApp; -import com.yida.data.common.core.entity.system.EduAppTemplate; -import com.yida.data.common.core.entity.system.EduQywxServiceProvider; import com.yida.data.system.service.EduAppService; -import com.yida.data.system.service.EduAppTemplateService; -import com.yida.data.system.service.EduQywxServiceProviderService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -22,26 +17,9 @@ import lombok.RequiredArgsConstructor; @RequiredArgsConstructor public class InEduAppController { private final EduAppService eduAppService; - private final EduAppTemplateService eduAppTemplateService; - private final EduQywxServiceProviderService eduQywxServiceProviderService; @GetMapping("/getAppBySchoolOrCorpIdAndCode") public ResultBean getAppBySchoolOrCorpIdAndCode(Long schoolId, String corpId, String code) { return ResultBean.buildSuccess(eduAppService.getAppBySchoolOrCorpIdAndCode(schoolId, corpId, code)); } - - @GetMapping("/getAppTemplateByTemplateId") - public ResultBean getAppTemplateByTemplateId(String templateId, String serviceCorpId) { - return ResultBean.buildSuccess(eduAppTemplateService.getOne(Wrappers.lambdaQuery(new EduAppTemplate()) - .eq(EduAppTemplate::getTemplateId, templateId) - .eq(EduAppTemplate::getServiceCorpId, serviceCorpId) - )); - } - - @GetMapping("/getServiceProviderByServiceCorpId") - public ResultBean getServiceProviderByServiceCorpId(String serviceCorpId) { - return ResultBean.buildSuccess(eduQywxServiceProviderService.getOne(Wrappers.lambdaQuery(new EduQywxServiceProvider()) - .eq(EduQywxServiceProvider::getCorpId, serviceCorpId) - )); - } } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InQywxController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InQywxController.java index 066b19c..c962dd8 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InQywxController.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InQywxController.java @@ -1,17 +1,19 @@ package com.yida.data.system.controller; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.EduQywxServiceProviderSchool; -import com.yida.data.system.service.EduQywxServiceProviderSchoolService; import com.yida.data.system.service.QywxCallbackService; -import com.yida.data.system.service.QywxServiceProviderService; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + import io.swagger.annotations.Api; import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; -@Slf4j @Api(tags = "企业微信同步") @RestController @RequiredArgsConstructor @@ -19,8 +21,6 @@ import org.springframework.web.bind.annotation.*; public class InQywxController { private final QywxCallbackService qywxCallbackService; - private final QywxServiceProviderService qywxServiceProviderService; - private final EduQywxServiceProviderSchoolService eduQywxServiceProviderSchoolService; @GetMapping("/callback/{corpId}") public String get(@PathVariable String corpId, @@ -33,124 +33,13 @@ public class InQywxController { } @PostMapping("/callback/{corpId}") - public String post(@PathVariable String corpId, + public Object post(@PathVariable String corpId, @RequestParam("msg_signature") String msgSignature, @RequestParam("timestamp") String timestamp, @RequestParam("nonce") String nonce, @RequestBody String body) { - return qywxCallbackService.post(corpId, msgSignature, timestamp, nonce, body); - } - - /** - * 服务商代开发应用模板验证URL回调 - */ - @GetMapping("/normal/callback/{corpId}") - public String getNormal(@PathVariable String corpId, - @RequestParam("msg_signature") String msgSignature, - @RequestParam("timestamp") String timestamp, - @RequestParam("nonce") String nonce, - @RequestParam("echostr") String echostr) { - return qywxCallbackService.getNormal(corpId, msgSignature, timestamp, nonce, echostr); - } - - /** - * 服务商代开发应用模板接口回调 - */ - @PostMapping("/normal/callback/{corpId}") - public String postNormal(@PathVariable String corpId, - @RequestParam("msg_signature") String msgSignature, - @RequestParam("timestamp") String timestamp, - @RequestParam("nonce") String nonce, - @RequestBody String body) { - return qywxCallbackService.postNormal(corpId, msgSignature, timestamp, nonce, body); - } - - /** - * 服务商代开发应用客户验证URL回调 - */ - @GetMapping("/normal/customer/callback/{providerCorpId}/{corpId}") - public String getNormalCustomer(@PathVariable String providerCorpId, - @PathVariable String corpId, - @RequestParam("msg_signature") String msgSignature, - @RequestParam("timestamp") String timestamp, - @RequestParam("nonce") String nonce, - @RequestParam("echostr") String echostr) { - return qywxCallbackService.getNormalCustomer(providerCorpId, corpId, msgSignature, timestamp, nonce, echostr); - } - - /** - * 服务商代开发应用客户接口回调 - * 此回调暂不做任何处理 - */ - @PostMapping("/normal/customer/callback/{providerCorpId}/{corpId}") - public String postNormalCustomer( - @PathVariable String providerCorpId, - @PathVariable String corpId, - @RequestParam("msg_signature") String msgSignature, - @RequestParam("timestamp") String timestamp, - @RequestParam("nonce") String nonce, - @RequestBody String body) { - return qywxCallbackService.postNormalCustomer(providerCorpId, corpId, msgSignature, timestamp, nonce, body); - } - - /** - * 服务商代开发应用验证URL回调 - */ - @GetMapping("/event/callback/{providerCorpId}/{corpId}") - public String getEvent(@PathVariable String providerCorpId, - @PathVariable String corpId, - @RequestParam("msg_signature") String msgSignature, - @RequestParam("timestamp") String timestamp, - @RequestParam("nonce") String nonce, - @RequestParam("echostr") String echostr) { - return qywxCallbackService.getEvent(providerCorpId, corpId, msgSignature, timestamp, nonce, echostr); - } - - /** - * 服务商代开发应用回调 - */ - @PostMapping("/event/callback/{providerCorpId}/{corpId}") - public String postEvent( - @PathVariable String providerCorpId, - @PathVariable String corpId, - @RequestParam("msg_signature") String msgSignature, - @RequestParam("timestamp") String timestamp, - @RequestParam("nonce") String nonce, - @RequestBody String body) { - return qywxCallbackService.postEvent(providerCorpId, corpId, msgSignature, timestamp, nonce, body); - } - - /** - * 加密对应服务商的学校corpId - */ - @GetMapping("/changeCorpId/{providerCorpId}/{corpId}") - public ResultBean changeCorpId(@PathVariable String providerCorpId, @PathVariable String corpId) { - qywxServiceProviderService.changeCorpId(providerCorpId, corpId); + qywxCallbackService.post(corpId, msgSignature, timestamp, nonce, body); return ResultBean.buildSuccess(); } - /** - * 服务商对应学校加密corpId数据(原始值为key) - */ - @GetMapping("/getCorpByOriginalData") - public ResultBean getCorpByOriginalData(@RequestParam String providerCorpId, - @RequestParam String deptOriginalCorpId) { - EduQywxServiceProviderSchool providerSchool = eduQywxServiceProviderSchoolService.getOne(Wrappers.lambdaQuery(new EduQywxServiceProviderSchool()) - .eq(EduQywxServiceProviderSchool::getProviderCorpId, providerCorpId) - .eq(EduQywxServiceProviderSchool::getDeptOriginalCorpId, deptOriginalCorpId)); - return ResultBean.buildSuccess(providerSchool); - } - - /** - * 服务商对应学校加密corpId数据(加密值为key) - */ - @GetMapping("/getCorpByEncryptionData") - public ResultBean getCorpByEncryptionData(@RequestParam String providerCorpId, - @RequestParam String deptEncryptionCorpId) { - EduQywxServiceProviderSchool providerSchool = eduQywxServiceProviderSchoolService.getOne(Wrappers.lambdaQuery(new EduQywxServiceProviderSchool()) - .eq(EduQywxServiceProviderSchool::getProviderCorpId, providerCorpId) - .eq(EduQywxServiceProviderSchool::getDeptEncryptionCorpId, deptEncryptionCorpId)); - return ResultBean.buildSuccess(providerSchool); - } - } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InUPayConfigController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InUPayConfigController.java deleted file mode 100644 index 451db85..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InUPayConfigController.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.yida.data.system.controller; - -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.UPayConfig; -import com.yida.data.common.core.utils.Asserts; -import com.yida.data.system.service.UPayConfigService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 收钱吧支付配置信息 Controller - * - * @author ZYJ - * @date 2023/3/21 - */ -@RestController -@RequiredArgsConstructor -@Api(tags = "收钱吧支付配置信息(无鉴权)") -@RequestMapping("/in/uPayConfig") -public class InUPayConfigController { - - private final UPayConfigService uPayConfigService; - - @ApiOperation("根据部门查询收钱吧支付配置信息") - @GetMapping("/getUPayConfigByDept") - public ResultBean getUPayConfigByDept(Long deptId) { - Asserts.isNotNull(deptId, "部门不能为空"); - return ResultBean.buildSuccess(uPayConfigService.getOne(Wrappers.lambdaQuery(new UPayConfig()) - .eq(UPayConfig::getDeptId, deptId)) - ); - } - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InUserController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InUserController.java index 2eb14f5..88e8f3d 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InUserController.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InUserController.java @@ -6,12 +6,16 @@ import com.yida.data.system.service.IUserRoleService; import com.yida.data.system.service.IUserService; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import java.util.List; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; @Slf4j @Validated @@ -64,12 +68,4 @@ public class InUserController { userService.updateUserRoleByRoleName(userId, roleNames); return ResultBean.buildSuccess(); } - - @ApiOperation("获取企业微信用户授权后创建职工用户信息") - @GetMapping("createStaff") - public ResultBean createStaff(@ApiParam("学校Id") Long schoolId, - @ApiParam("通过成员授权获取到的code") String code) { - userService.createStaff(schoolId, code); - return ResultBean.buildSuccess(); - } } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InWhiteListController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InWhiteListController.java deleted file mode 100644 index df23666..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/InWhiteListController.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.yida.data.system.controller; - -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.common.ResultBean; -import com.yida.data.common.core.entity.system.WhiteList; -import com.yida.data.system.service.WhiteListService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 白名单 Controller - * - * @author ZYJ - * @date 2023/2/21 - */ -@RestController -@RequiredArgsConstructor -@Api(tags = "白名单(无鉴权)") -@RequestMapping("/in/whiteList") -public class InWhiteListController { - - private final WhiteListService whiteListService; - - @ApiOperation("根据功能名称获取对应的白名单信息") - @GetMapping("/getWhiteList") - public ResultBean getWhiteList(String functionName) { - return ResultBean.buildSuccess(whiteListService.getOne(Wrappers.lambdaQuery(new WhiteList()) - .eq(WhiteList::getFunctionName, functionName))); - } - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/LoginLogController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/LoginLogController.java index 8019807..c80b0d7 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/LoginLogController.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/LoginLogController.java @@ -1,14 +1,11 @@ package com.yida.data.system.controller; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.entity.FebsResponse; import com.yida.data.common.core.entity.QueryRequest; import com.yida.data.common.core.entity.constant.StringConstant; import com.yida.data.common.core.entity.system.LoginLog; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.system.service.ILoginLogService; import org.springframework.security.access.prepost.PreAuthorize; @@ -54,7 +51,7 @@ public class LoginLogController { @DeleteMapping("{ids}") @PreAuthorize("hasAuthority('loginlog:delete')") - @OperationLog(module = ModuleName.SYSTEM, methods = "删除登录日志", type = OperationLogTypeEnum.DELETE) + @ControllerLog(operation = "删除登录日志", exceptionMessage = "删除登录日志失败") public void deleteLogs(@NotBlank(message = "{required}") @PathVariable String ids) { String[] loginLogIds = ids.split(StringConstant.COMMA); this.loginLogService.deleteLoginLogs(loginLogIds); @@ -62,6 +59,7 @@ public class LoginLogController { @PostMapping("excel") @PreAuthorize("hasAuthority('loginlog:export')") + @ControllerLog(operation = "导出登录日志数据", exceptionMessage = "导出Excel失败") public void export(QueryRequest request, LoginLog loginLog, HttpServletResponse response) { List loginLogs = this.loginLogService.findLoginLogs(loginLog, request).getRecords(); //ExcelKit.$Export(LoginLog.class, response).downXlsx(loginLogs, false); diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/MenuController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/MenuController.java index 229abc7..bd0e581 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/MenuController.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/MenuController.java @@ -1,14 +1,11 @@ package com.yida.data.system.controller; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.entity.FebsResponse; import com.yida.data.common.core.entity.constant.StringConstant; import com.yida.data.common.core.entity.router.VueRouter; import com.yida.data.common.core.entity.system.Menu; import com.yida.data.common.core.entity.system.Role; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.system.service.IMenuService; import com.yida.data.system.service.IRoleService; import io.swagger.annotations.ApiOperation; @@ -42,7 +39,6 @@ public class MenuController { private final IMenuService menuService; private final IRoleService roleService; - @GetMapping("/{username}") public FebsResponse getUserRouters(@NotBlank(message = "{required}") @PathVariable String username) { Map result = new HashMap<>(4); @@ -60,9 +56,9 @@ public class MenuController { String[] roleArray = new String[0]; if (!CollectionUtils.isEmpty(userRoleList)) { String userRoles = userRoleList.stream() - .filter(role -> Objects.nonNull(role) && StringUtils.isNotBlank(role.getRolePerms())) - .map(Role::getRolePerms) - .collect(Collectors.joining(StringConstant.COMMA)); + .filter(role -> Objects.nonNull(role) && StringUtils.isNotBlank(role.getRolePerms())) + .map(Role::getRolePerms) + .collect(Collectors.joining(StringConstant.COMMA)); if (StringUtils.isNoneBlank(userPermissions)) { roleArray = StringUtils.splitByWholeSeparatorPreserveAllTokens(userRoles, StringConstant.COMMA); } @@ -71,9 +67,9 @@ public class MenuController { String[] mainRoleArray = new String[0]; if (!CollectionUtils.isEmpty(mainRoleList)) { String mainRoles = mainRoleList.stream() - .filter(role -> Objects.nonNull(role) && StringUtils.isNotBlank(role.getRolePerms())) - .map(Role::getRolePerms) - .collect(Collectors.joining(StringConstant.COMMA)); + .filter(role -> Objects.nonNull(role) && StringUtils.isNotBlank(role.getRolePerms())) + .map(Role::getRolePerms) + .collect(Collectors.joining(StringConstant.COMMA)); if (StringUtils.isNoneBlank(mainRoles)) { mainRoleArray = StringUtils.splitByWholeSeparatorPreserveAllTokens(mainRoles, StringConstant.COMMA); } @@ -99,14 +95,14 @@ public class MenuController { @PostMapping @PreAuthorize("hasAuthority('menu:add')") - @OperationLog(module = ModuleName.SYSTEM, methods = "新增菜单/按钮", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "新增菜单/按钮", exceptionMessage = "新增菜单/按钮失败") public void addMenu(@Valid Menu menu) { this.menuService.createMenu(menu); } @DeleteMapping("/{menuIds}") @PreAuthorize("hasAuthority('menu:delete')") - @OperationLog(module = ModuleName.SYSTEM, methods = "删除菜单/按钮", type = OperationLogTypeEnum.DELETE) + @ControllerLog(operation = "删除菜单/按钮", exceptionMessage = "删除菜单/按钮失败") public void deleteMenus(@NotBlank(message = "{required}") @PathVariable String menuIds) { String[] ids = menuIds.split(StringConstant.COMMA); this.menuService.deleteMeuns(ids); @@ -114,13 +110,14 @@ public class MenuController { @PutMapping @PreAuthorize("hasAuthority('menu:update')") - @OperationLog(module = ModuleName.SYSTEM, methods = "修改菜单/按钮", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "修改菜单/按钮", exceptionMessage = "修改菜单/按钮失败") public void updateMenu(@Valid Menu menu) { this.menuService.updateMenu(menu); } @PostMapping("excel") @PreAuthorize("hasAuthority('menu:export')") + @ControllerLog(operation = "导出菜单数据", exceptionMessage = "导出Excel失败") public void export(Menu menu, HttpServletResponse response) { List menus = this.menuService.findMenuList(menu); //ExcelKit.$Export(Menu.class, response).downXlsx(menus, false); diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/OutDeptController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/OutDeptController.java index 9a1193c..3b38379 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/OutDeptController.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/OutDeptController.java @@ -4,17 +4,22 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.system.Dept; import com.yida.data.common.core.entity.system.EduDeptWxPublic; +import com.yida.data.system.dto.SchoolInformationDTO; import com.yida.data.system.mapper.EduDeptWxPublicMapper; import com.yida.data.system.service.IDeptService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + @Slf4j @Validated @Api(tags = "部门管理(无鉴权 外部使用)") @@ -37,4 +42,13 @@ public class OutDeptController { } return ResultBean.buildSuccess(school); } + + @ApiOperation("根据名称查询教育局缴费学校列表") + @GetMapping("/listPaySchool") + public ResultBean> listPaySchool( + @ApiParam(value = "教育局或代理商id", required = true) @RequestParam Long deptId, + @ApiParam(value = "学校名称") String schoolName) { + List list = deptService.listPaySchool(deptId, schoolName); + return ResultBean.buildSuccess(list); + } } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/RoleController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/RoleController.java index 285cf77..2dd62f1 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/RoleController.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/RoleController.java @@ -1,15 +1,12 @@ package com.yida.data.system.controller; import com.yida.data.common.core.annotation.ControllerLog; -import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.FebsResponse; import com.yida.data.common.core.entity.QueryRequest; import com.yida.data.common.core.entity.constant.StringConstant; import com.yida.data.common.core.entity.system.Role; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; import com.yida.data.common.core.utils.FebsUtil; -import com.yida.data.log.annotation.OperationLog; import com.yida.data.system.service.IRoleService; import org.springframework.security.access.prepost.PreAuthorize; @@ -67,14 +64,14 @@ public class RoleController { @PostMapping @PreAuthorize("hasAuthority('role:add')") - @OperationLog(module = ModuleName.SYSTEM, methods = "新增角色", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "新增角色", exceptionMessage = "新增角色失败") public void addRole(@Valid Role role) { this.roleService.createRole(role); } @DeleteMapping("/{roleIds}") @PreAuthorize("hasAuthority('role:delete')") - @OperationLog(module = ModuleName.SYSTEM, methods = "删除角色失败", type = OperationLogTypeEnum.DELETE) + @ControllerLog(operation = "删除角色", exceptionMessage = "删除角色失败") public void deleteRoles(@NotBlank(message = "{required}") @PathVariable String roleIds) { String[] ids = roleIds.split(StringConstant.COMMA); this.roleService.deleteRoles(ids); @@ -82,13 +79,14 @@ public class RoleController { @PutMapping @PreAuthorize("hasAuthority('role:update')") - @OperationLog(module = ModuleName.SYSTEM, methods = "修改角色", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "修改角色", exceptionMessage = "修改角色失败") public void updateRole(@Valid Role role) { this.roleService.updateRole(role); } @PostMapping("excel") @PreAuthorize("hasAuthority('role:export')") + @ControllerLog(operation = "导出角色数据", exceptionMessage = "导出Excel失败") public void export(QueryRequest queryRequest, Role role, HttpServletResponse response) { List roles = this.roleService.findRoles(role, queryRequest).getRecords(); //ExcelKit.$Export(Role.class, response).downXlsx(roles, false); diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/UserController.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/UserController.java index f751823..5aeb28e 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/UserController.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/controller/UserController.java @@ -1,6 +1,7 @@ package com.yida.data.system.controller; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.yida.data.common.core.annotation.ControllerLog; import com.yida.data.common.core.common.ModuleName; import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.entity.FebsResponse; @@ -11,7 +12,6 @@ import com.yida.data.common.core.entity.system.LoginLog; import com.yida.data.common.core.entity.system.SystemUser; import com.yida.data.common.core.entity.system.SystemUserMenu; import com.yida.data.common.core.entity.system.UserRole; -import com.yida.data.common.core.entity.system.enums.OperationLogTypeEnum; import com.yida.data.common.core.exception.FebsException; import com.yida.data.common.core.utils.ExcelUtil; import com.yida.data.common.core.utils.FebsUtil; @@ -116,14 +116,14 @@ public class UserController { @PostMapping @PreAuthorize("hasAuthority('user:add')") - @OperationLog(module = ModuleName.USER, methods = "新增用户", type = OperationLogTypeEnum.INSERT) + @ControllerLog(operation = "新增用户", exceptionMessage = "新增用户失败") public void addUser(@Valid SystemUser user) { userService.createUser(user); } @PutMapping @PreAuthorize("hasAuthority('user:update')") - @OperationLog(module = ModuleName.USER, methods = "修改用户", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "修改用户", exceptionMessage = "修改用户失败") public void updateUser(@Valid SystemUser user) { userService.updateUser(user); } @@ -137,32 +137,33 @@ public class UserController { @DeleteMapping("/{userIds}") @PreAuthorize("hasAuthority('user:delete')") - @OperationLog(module = ModuleName.USER, methods = "删除用户", type = OperationLogTypeEnum.DELETE) + @ControllerLog(operation = "删除用户", exceptionMessage = "删除用户失败") public void deleteUsers(@NotBlank(message = "{required}") @PathVariable String userIds) { String[] ids = userIds.split(StringConstant.COMMA); userService.deleteUsers(ids); } @GetMapping("/updatePassword") - @OperationLog(module = ModuleName.USER, methods = "修改密码", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "修改密码", exceptionMessage = "修改密码失败") public void updatePassword(String password, String newPassword, String repeatPassword) { userService.updatePassword(password, newPassword, repeatPassword, FebsUtil.getCurrentUsername()); } @GetMapping("/validatePassword") + @ControllerLog(operation = "校验密码", exceptionMessage = "密码校验失败") public ResultBean validatePassword(String password) { userService.validatePassword(password, FebsUtil.getCurrentUsername()); return ResultBean.buildSuccess(); } @PutMapping("profile") - @OperationLog(module = ModuleName.USER, methods = "修改个人信息", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(exceptionMessage = "修改个人信息失败") public void updateProfile(@Valid SystemUser user) throws FebsException { userService.updateProfile(user); } @PutMapping("avatar") - @OperationLog(module = ModuleName.USER, methods = "修改头像", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(exceptionMessage = "修改头像失败") public void updateAvatar(@NotBlank(message = "{required}") String avatar) { userService.updateAvatar(avatar); } @@ -175,14 +176,14 @@ public class UserController { } @PutMapping("password") - @OperationLog(module = ModuleName.USER, methods = "修改密码", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(exceptionMessage = "修改密码失败") public void updatePassword(@NotBlank(message = "{required}") String password) { userService.updatePassword(password); } @PutMapping("password/reset") @PreAuthorize("hasAuthority('user:reset')") - @OperationLog(module = ModuleName.USER, methods = "重置用户密码", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(exceptionMessage = "重置用户密码失败") public void resetPassword(@NotBlank(message = "{required}") String usernames) { String[] usernameArr = usernames.split(StringConstant.COMMA); userService.resetPassword(usernameArr); @@ -190,6 +191,8 @@ public class UserController { @PostMapping("excel") @PreAuthorize("hasAuthority('user:export')") + @ControllerLog(operation = "导出用户数据", exceptionMessage = "导出Excel失败") + @OperationLog(module = ModuleName.SYSTEM, methods = "导出用户数据") public void export(QueryRequest queryRequest, SystemUser user, HttpServletResponse response) { List users = userService.findUserDetailList(user, queryRequest).getRecords(); List userInfoVOS = users.stream().map(x -> { @@ -219,7 +222,6 @@ public class UserController { @ApiOperation("锁定或解锁用户") @GetMapping("/lockUser") - @OperationLog(module = ModuleName.USER, methods = "锁定或解锁用户", type = OperationLogTypeEnum.UPDATE) public ResultBean lockUser(Long id) { userService.lockUser(id); return ResultBean.buildSuccess(); @@ -227,7 +229,6 @@ public class UserController { @ApiOperation("重置密码") @GetMapping("/resetPwd") - @OperationLog(module = ModuleName.USER, methods = "重置密码", type = OperationLogTypeEnum.UPDATE) public ResultBean resetPwd(Long id) { userService.resetPwd(id); return ResultBean.buildSuccess(); @@ -235,13 +236,12 @@ public class UserController { @ApiOperation("添加用户") @PostMapping("/add") - @OperationLog(module = ModuleName.USER, methods = "添加用户", type = OperationLogTypeEnum.INSERT) public ResultBean add(@RequestBody SystemUser systemUser) { return ResultBean.buildSuccess(userService.createUser(systemUser)); } @PostMapping("/update") - @OperationLog(module = ModuleName.USER, methods = "修改用户", type = OperationLogTypeEnum.UPDATE) + @ControllerLog(operation = "修改用户", exceptionMessage = "修改用户失败") public ResultBean updateUserWithName(@RequestBody SystemUser user) { userService.updateUserWithName(user); return ResultBean.buildSuccess(); @@ -249,7 +249,6 @@ public class UserController { @ApiOperation("批量删除用户") @PostMapping("/delUser") - @OperationLog(module = ModuleName.USER, methods = "批量删除用户", type = OperationLogTypeEnum.DELETE) public ResultBean delUser(@RequestBody String[] ids) { userService.deleteUsers(ids); return ResultBean.buildSuccess(); @@ -257,7 +256,6 @@ public class UserController { @ApiOperation("添加用户角色") @PostMapping("/addUserRole") - @OperationLog(module = ModuleName.USER, methods = "添加用户角色", type = OperationLogTypeEnum.UPDATE) public ResultBean addUserRole(@RequestBody UserRole[] userRole) { userRoleService.bindRoleByRoleName(userRole); return ResultBean.buildSuccess(); @@ -276,7 +274,6 @@ public class UserController { @ApiOperation("新增用户对应菜单") @PostMapping("/saveUserMenu") - @OperationLog(module = ModuleName.USER, methods = "新增用户对应菜单", type = OperationLogTypeEnum.UPDATE) public ResultBean saveUserMenu(@RequestBody MenuForUserDTO menuForUserDTO) { systemUserMenuService.saveUserMenu(menuForUserDTO); return ResultBean.buildSuccess(); @@ -284,7 +281,6 @@ public class UserController { @ApiOperation("修改用户对应菜单") @PostMapping("/updateUserMenu") - @OperationLog(module = ModuleName.USER, methods = "修改用户对应菜单", type = OperationLogTypeEnum.UPDATE) public ResultBean updateUserMenu(@RequestBody MenuForUserDTO menuForUserDTO) { systemUserMenuService.updateUserMenu(menuForUserDTO); return ResultBean.buildSuccess(); @@ -292,7 +288,6 @@ public class UserController { @ApiOperation("删除用户对应菜单") @GetMapping("/removeUserMenu") - @OperationLog(module = ModuleName.USER, methods = "删除用户对应菜单", type = OperationLogTypeEnum.UPDATE) public ResultBean removeUserMenu(@ApiParam("用户id") @RequestParam Long userId) { systemUserMenuService.remove(Wrappers.lambdaQuery(new SystemUserMenu()) .eq(SystemUserMenu::getUserId, userId)); @@ -313,7 +308,6 @@ public class UserController { @ApiOperation("保存logo") @PostMapping("/saveLogo") - @OperationLog(module = ModuleName.USER, methods = "保存logo", type = OperationLogTypeEnum.INSERT) public ResultBean saveLogo(@RequestBody EduUserLogo logo) { eduUserLogoService.saveOrUpdate(logo); return ResultBean.buildSuccess(); diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/BaiduApiConfigMapper.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/BaiduApiConfigMapper.java deleted file mode 100644 index 209405a..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/BaiduApiConfigMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.system.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.system.BaiduApiConfig; - -/** - * 百度api配置信息 Mapper - * - * @author ZYJ - * @date 2023-06-20 20:42:47 - */ -public interface BaiduApiConfigMapper extends BaseMapper { - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/ConstructionPayConfigMapper.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/ConstructionPayConfigMapper.java deleted file mode 100644 index 87de1ff..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/ConstructionPayConfigMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.system.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.system.ConstructionPayConfig; - -/** - * 建行学校信息配置 Mapper - * - * @author ZYJ - * @date 2023-06-19 16:30:18 - */ -public interface ConstructionPayConfigMapper extends BaseMapper { - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/DeptSchoolInformationMapper.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/DeptSchoolInformationMapper.java index 2b31fa0..824a944 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/DeptSchoolInformationMapper.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/DeptSchoolInformationMapper.java @@ -18,12 +18,13 @@ public interface DeptSchoolInformationMapper extends BaseMapper findSchoolListByDeptId(@Param("deptId") Long deptId, @Param("schoolName") String schoolName, @@ -41,4 +42,16 @@ public interface DeptSchoolInformationMapper extends BaseMapper findDeptSchoolId(@Param("tags") String[] tags); IPage listSchoolPage(Page page, @Param("dto") SchoolPageDTO dto); + + /** + * 根据名称查询教育局缴费学校列表 + * + * @param deptId 教育局或代理商id + * @param schoolName 学校名称 + * @return java.util.List + * @author ZYJ + * @date 2023/8/30 14:23 + */ + List listPaySchool(@Param("deptId") Long deptId, + @Param("schoolName") String schoolName); } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduAppTemplateMapper.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduAppTemplateMapper.java deleted file mode 100644 index 768c171..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduAppTemplateMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.system.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.system.EduAppTemplate; - -/** - * 企业微信服务商代开发应用模板dao - * - * @author ZYJ - * @date 2022/11/3 - */ -public interface EduAppTemplateMapper extends BaseMapper { - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduBaseAppMapper.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduBaseAppMapper.java deleted file mode 100644 index 83ac26f..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduBaseAppMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.system.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.system.EduBaseApp; - -/** - * 基础应用信息(本地配置) Mapper - * - * @author ZYJ - * @date 2023-06-28 14:57:58 - */ -public interface EduBaseAppMapper extends BaseMapper { - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduConsumeConfigMapper.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduConsumeConfigMapper.java deleted file mode 100644 index 6b25028..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduConsumeConfigMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.system.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.consume.EduConsumeConfig; - -/** - * 学校消费机服务器信息Mapper - * - * @author ZYJ - * @date 2023-04-06 17:31:11 - */ -public interface EduConsumeConfigMapper extends BaseMapper { - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduDeptFunctionMapper.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduDeptFunctionMapper.java deleted file mode 100644 index dd7320b..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduDeptFunctionMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.system.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.system.EduDeptFunction; - -/** - * 部门对应的第三方系统功能Mapper - * - * @author ZYJ - * @date 2023-02-20 15:29:05 - */ -public interface EduDeptFunctionMapper extends BaseMapper { - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduQywxServiceProviderMapper.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduQywxServiceProviderMapper.java deleted file mode 100644 index 5f51344..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduQywxServiceProviderMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.system.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.system.EduQywxServiceProvider; - -/** - * 企业微信服务商dao - * - * @author ZYJ - * @date 2022/11/3 - */ -public interface EduQywxServiceProviderMapper extends BaseMapper { - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduQywxServiceProviderSchoolMapper.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduQywxServiceProviderSchoolMapper.java deleted file mode 100644 index b0a5b26..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/EduQywxServiceProviderSchoolMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.system.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.system.EduQywxServiceProviderSchool; - -/** - * 企业微信服务商-学校密文corpId对照表dao - * - * @author ZYJ - * @date 2022/11/9 - */ -public interface EduQywxServiceProviderSchoolMapper extends BaseMapper { - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/MenuMapper.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/MenuMapper.java index 9838b37..749133d 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/MenuMapper.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/MenuMapper.java @@ -28,15 +28,4 @@ public interface MenuMapper extends BaseMapper { */ List findUserRealMenus(@Param("username") String username, @Param("selectType") Integer selectType); - - - /** - * 查询用户绑定权限数据 - * - * @param username 用户名 - * @param selectType 查询类型 0菜单,1按钮,空查询所有 - * @return 用户菜单 - */ - List findUserMenus(@Param("username") String username, - @Param("selectType") Integer selectType); } \ No newline at end of file diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/UPayConfigMapper.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/UPayConfigMapper.java deleted file mode 100644 index 2dd840a..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/UPayConfigMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.system.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.system.UPayConfig; - -/** - * 收钱吧学校信息配置Mapper - * - * @author ZYJ - * @date 2023-03-20 17:53:13 - */ -public interface UPayConfigMapper extends BaseMapper { - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/UserMapper.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/UserMapper.java index 9ba7e0e..3e865b6 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/UserMapper.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/UserMapper.java @@ -38,8 +38,6 @@ public interface UserMapper extends BaseMapper { SystemUser findUserByUsername(String username); - SystemUser findUserByMobile(String mobile); - /** * 获取代理商管理员账号详情 * diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/WhiteListMapper.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/WhiteListMapper.java deleted file mode 100644 index 7682790..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/mapper/WhiteListMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.system.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.yida.data.common.core.entity.system.WhiteList; - -/** - * 白名单Mapper - * - * @author ZYJ - * @date 2023-02-20 14:15:49 - */ -public interface WhiteListMapper extends BaseMapper { - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/BaiduApiConfigService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/BaiduApiConfigService.java deleted file mode 100644 index b56cbea..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/BaiduApiConfigService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.yida.data.system.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.system.BaiduApiConfig; - -/** - * 百度api配置信息 Service接口 - * - * @author ZYJ - * @date 2023-06-20 20:42:47 - */ -public interface BaiduApiConfigService extends IService { -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/CommonService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/CommonService.java index dfc804d..a986fa1 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/CommonService.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/CommonService.java @@ -1,7 +1,6 @@ package com.yida.data.system.service; import com.yida.data.common.core.entity.system.EduSysFile; -import com.yida.data.school.vo.smart.WxConfigVO; import org.springframework.web.multipart.MultipartFile; public interface CommonService { @@ -11,24 +10,4 @@ public interface CommonService { String uploadImg(String code); void saveReceiveMsg(); - - /** - * 获取企业微信配置唤起扫码功能 - * - * @param deptId 部门id - * @param url 当前网页的URL,不包含#及其后面部分 - * @return com.yida.data.school.vo.smart.WxConfigVO - * @author ZYJ - * @date 2023/6/5 14:24 - */ - WxConfigVO getWxJsConfig(Long deptId, String url); - - /** - * 获取微信配置唤起扫码功能 - * - * @param deptId - * @param url - * @return - */ - WxConfigVO getWxPublicJsConfig(Long deptId, String url); } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/ConstructionPayConfigService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/ConstructionPayConfigService.java deleted file mode 100644 index d33ecd4..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/ConstructionPayConfigService.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.yida.data.system.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.system.ConstructionPayConfig; - -/** - * 建行学校信息配置 Service接口 - * - * @author ZYJ - * @date 2023-06-19 16:30:18 - */ -public interface ConstructionPayConfigService extends IService { - - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduAppTemplateService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduAppTemplateService.java deleted file mode 100644 index 7c50544..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduAppTemplateService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.system.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.system.EduAppTemplate; - -/** - * 企业微信服务商代开发应用模板service - * - * @author ZYJ - * @date 2022/11/3 - */ -public interface EduAppTemplateService extends IService { - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduBaseAppService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduBaseAppService.java deleted file mode 100644 index 8ec6570..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduBaseAppService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.yida.data.system.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.system.EduBaseApp; - -/** - * 基础应用信息(本地配置) Service接口 - * - * @author ZYJ - * @date 2023-06-28 14:57:58 - */ -public interface EduBaseAppService extends IService { -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduConsumeConfigService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduConsumeConfigService.java deleted file mode 100644 index 840b213..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduConsumeConfigService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.system.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.consume.EduConsumeConfig; - -/** -* 学校消费机服务器信息Service接口 -* -* @author ZYJ -* @date 2023-04-06 17:31:11 -*/ -public interface EduConsumeConfigService extends IService { - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduDeptFunctionService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduDeptFunctionService.java deleted file mode 100644 index 85e5052..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduDeptFunctionService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.yida.data.system.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.system.EduDeptFunction; - -/** -* 部门对应的第三方系统功能Service接口 -* -* @author ZYJ -* @date 2023-02-20 15:29:05 -*/ -public interface EduDeptFunctionService extends IService { -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduQywxServiceProviderSchoolService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduQywxServiceProviderSchoolService.java deleted file mode 100644 index 235d50c..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduQywxServiceProviderSchoolService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.system.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.system.EduQywxServiceProviderSchool; - -/** - * 企业微信服务商-学校密文corpId对照表service - * - * @author ZYJ - * @date 2022/11/9 - */ -public interface EduQywxServiceProviderSchoolService extends IService { - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduQywxServiceProviderService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduQywxServiceProviderService.java deleted file mode 100644 index 78c14b0..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/EduQywxServiceProviderService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.system.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.system.EduQywxServiceProvider; - -/** - * 企业微信服务商service - * - * @author ZYJ - * @date 2022/11/3 - */ -public interface EduQywxServiceProviderService extends IService { - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/IDeptService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/IDeptService.java index 7313944..0139fdb 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/IDeptService.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/IDeptService.java @@ -108,8 +108,6 @@ public interface IDeptService extends IService { List getDeptTree(Long deptId, Integer type); - List getDeptTree(List deptIds); - Dept getParentById(Long deptId); List listClassByDept(List ids); @@ -143,7 +141,7 @@ public interface IDeptService extends IService { * 同步企业微信部门 */ @Async(FebsConstant.ASYNC_POOL) - void syncQywxDept(Long schoolId); + void syncQywxDept(); /** * 处理挂在学校下的部门 @@ -155,7 +153,7 @@ public interface IDeptService extends IService { * * @param agentSchoolSelectPageDTO 查询代理商管理的学校列表数据请求类 * @return com.yida.data.common.core.common.ResultBean> + * com.yida.data.system.vo.AgentSchoolVO>> * @author ZYJ * @date 2021/9/27 17:05 */ @@ -195,10 +193,9 @@ public interface IDeptService extends IService { void saveOrUpdateDeptSchool(SchoolInformationDTO information); Page findSchoolListByDeptId(Long deptId, String schoolName, Integer schoolType, - Integer natureType, String address, String tag, Page page, Integer schoolOwnership); + Integer natureType, String address, String tag, Page page, Integer schoolOwnership); - Page findSchoolPageList(String schoolName, List schoolType, List natureType, - Page page, String tag, Long deptId, List schoolOwnership); + Page findSchoolPageList(String schoolName, List schoolType, List natureType, Page page, String tag, Long deptId, List schoolOwnership); Page findSchoolByAddress(Page page, String address, Long deptId); @@ -220,12 +217,14 @@ public interface IDeptService extends IService { */ IPage listSchoolPage(SchoolPageDTO dto); - /** - * 根据子部门查询父级IDList + * 根据名称查询教育局缴费学校列表 * - * @param deptIds - * @return + * @param deptId 教育局或代理商id + * @param schoolName 学校名称 + * @return java.util.List + * @author ZYJ + * @date 2023/8/30 14:21 */ - List findParentDeptByChild(List deptIds); + List listPaySchool(Long deptId, String schoolName); } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/IMenuService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/IMenuService.java index 2119fc4..a4fcdec 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/IMenuService.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/IMenuService.java @@ -75,7 +75,8 @@ public interface IMenuService extends IService { void deleteMeuns(String[] menuIds); /** - * 根据登录账号查询菜单数 角色相关菜单数据 + * 根据登录账号查询菜单数 + * 角色相关菜单数据 * * @param username 登录账号 * @return java.util.Map diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/IUserService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/IUserService.java index 9c3e29a..ca2a494 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/IUserService.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/IUserService.java @@ -25,14 +25,6 @@ public interface IUserService extends IService { */ SystemUser findByName(String username); - /** - * 通过手机号查找用户 - * - * @param mobile 手机号 - * @return 用户 - */ - SystemUser findByMobile(String mobile); - /** * 查找用户详细信息 * @@ -147,9 +139,4 @@ public interface IUserService extends IService { * 更新用户的角色 */ void updateUserRoleByRoleName(Long userId, List roleNames); - - /** - * 获取企业微信用户授权后创建职工用户信息 - */ - void createStaff(Long schoolId, String code); } \ No newline at end of file diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/LogService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/LogService.java index 5ef4ded..95c8924 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/LogService.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/LogService.java @@ -5,7 +5,6 @@ import com.yida.data.system.dto.ListLogDTO; import com.yida.data.system.repository.LogEsRepository; import org.apache.commons.lang3.StringUtils; -import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.sort.SortBuilders; import org.elasticsearch.search.sort.SortOrder; @@ -65,9 +64,8 @@ public class LogService { Pageable pageable = PageRequest.of(dto.getPageNum() - 1, dto.getPageSize()); //封装查询条件 NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder() - .withPageable(pageable) - .withSort(SortBuilders.fieldSort("createDate").order(SortOrder.DESC)); - + .withPageable(pageable) + .withSort(SortBuilders.fieldSort("createDate").order(SortOrder.DESC)); //日志类型 String logType = dto.getLogType(); if (StringUtils.isNotBlank(logType)) { @@ -83,24 +81,19 @@ public class LogService { if (StringUtils.isNotBlank(method)) { queryBuilder.withQuery(QueryBuilders.matchQuery("method", method)); } - - //操作参数 - String operateParams = dto.getOperateParams(); - if (StringUtils.isNotBlank(operateParams)) { - queryBuilder.withQuery(QueryBuilders.matchQuery("operateParams", operateParams)); - } //操作开始时间 LocalDateTime startTime = dto.getStartTime(); //操作结束时间 LocalDateTime endTime = dto.getEndTime(); if (Optional.ofNullable(startTime).isPresent()) { queryBuilder.withQuery(QueryBuilders.rangeQuery("createDate").gte(startTime.toInstant( - ZoneOffset.of("+8") + ZoneOffset.of("+8") ).toEpochMilli()).lte(endTime.toInstant( - ZoneOffset.of("+8") + ZoneOffset.of("+8") ).toEpochMilli())); } //查询列表数据 - return logEsRepository.search(queryBuilder.build()); + Page page = logEsRepository.search(queryBuilder.build().getQuery(), pageable); + return page; } } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/QywxCallbackService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/QywxCallbackService.java index 778312f..1ed8da4 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/QywxCallbackService.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/QywxCallbackService.java @@ -8,17 +8,6 @@ public interface QywxCallbackService { String get(String corpId, String msgSignature, String timestamp, String nonce, String echostr); - String post(String corpId, String msgSignature, String timestamp, String nonce, String body); - - String getNormal(String corpId, String msgSignature, String timestamp, String nonce, String echostr); - - String postNormal(String corpId, String msgSignature, String timestamp, String nonce, String body); - - String getNormalCustomer(String providerCorpId, String corpId, String msgSignature, String timestamp, String nonce, String echostr); - - String postNormalCustomer(String providerCorpId, String corpId, String msgSignature, String timestamp, String nonce, String body); - - String getEvent(String providerCorpId, String corpId, String msgSignature, String timestamp, String nonce, String echostr); - - String postEvent(String providerCorpId, String corpId, String msgSignature, String timestamp, String nonce, String body); + @Async(PoolConstant.QYWX_CALL_POOL) + void post(String corpId, String msgSignature, String timestamp, String nonce, String body); } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/QywxHandleService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/QywxHandleService.java deleted file mode 100644 index b1cc5fb..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/QywxHandleService.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.yida.data.system.service; - -import com.yida.data.system.dto.QywxCallbackHandleDTO; - -/** - * 企业微信回调mq处理类 - * - * @author ZYJ - * @date 2023/10/27 16:42 - */ -public interface QywxHandleService { - - /** - * 处理企业微信自开发回调信息 - * - * @param dto 企业微信回调处理类 - * @author ZYJ - * @date 2023/10/27 16:49 - */ - void handlePostCallback(QywxCallbackHandleDTO dto); - - /** - * 处理企业微信代开发应用模板回调信息 - * - * @param dto 企业微信回调处理类 - * @author ZYJ - * @date 2023/10/27 16:54 - */ - void handlePostNormalCallback(QywxCallbackHandleDTO dto); - - /** - * 处理企业微信代开发应用回调信息 - * - * @param dto 企业微信回调处理类 - * @author ZYJ - * @date 2023/10/27 16:54 - */ - void handlePostEventCallback(QywxCallbackHandleDTO dto); -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/QywxService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/QywxService.java index 326d90b..be169c3 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/QywxService.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/QywxService.java @@ -4,7 +4,6 @@ import com.yida.data.common.core.entity.CurrentUser; import com.yida.data.common.core.entity.constant.FebsConstant; import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.EduApp; import org.springframework.scheduling.annotation.Async; public interface QywxService { @@ -42,7 +41,6 @@ public interface QywxService { * @param deptId * @param school */ -// @Async(FebsConstant.ASYNC_POOL) void createSchoolDept(String corpId, String accessToken, Long deptId, Dept school); /** @@ -52,7 +50,6 @@ public interface QywxService { * @param deptId * @param school */ -// @Async(FebsConstant.ASYNC_POOL) void updateSchoolDept(String accessToken, Long deptId, Dept school); /** @@ -72,7 +69,6 @@ public interface QywxService { * @param order * @param school */ -// @Async(FebsConstant.ASYNC_POOL) void createDept(String deptId, String deptName, String parentId, String order, Dept school); /** @@ -83,7 +79,6 @@ public interface QywxService { * @param parentId * @param schoolId */ -// @Async(FebsConstant.ASYNC_POOL) void updateDept(String deptId, String deptName, String parentId, Long schoolId); /** @@ -176,9 +171,4 @@ public interface QywxService { * 家长关注事件 */ void sendParentSubscribeMessage(String parentId, Long schoolId); - - /** - * 修改职工部门信息 - */ - void updateUserInfo(String userId, Dept school, EduApp app); } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/QywxServiceProviderService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/QywxServiceProviderService.java deleted file mode 100644 index 352d8a8..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/QywxServiceProviderService.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.yida.data.system.service; - -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.EduQywxServiceProvider; -import com.yida.data.common.core.entity.system.EduQywxServiceProviderSchool; -import org.springframework.scheduling.annotation.Async; -import org.w3c.dom.Element; - -/** - * 企业微信服务商处理方法service - * - * @author ZYJ - * @date 2022/11/3 - */ -public interface QywxServiceProviderService { - - /** - * 授权安装模板应用 - * - * @param suiteId 模板id - * @param authCode 临时授权码 - * @param serviceProvider 企业微信服务商信息 - * @author ZYJ - * @date 2022/11/3 16:22 - */ - void installTemplateApp(String suiteId, String authCode, EduQywxServiceProvider serviceProvider); - - /** - * 处理服务商代开发应用模板ticket值 - * - * @param suiteId 模板id - * @param suiteTicket ticket值 - * @author ZYJ - * @date 2022/11/3 11:13 - */ - void handleTemplateSuiteTicket(String suiteId, String suiteTicket); - - /** - * 客户删除应用 - * - * @param suiteId 模板id - * @param authCorpId 授权企业微信id - * @param serviceProvider 企业微信服务商信息 - * @author ZYJ - * @date 2022/11/11 14:26 - */ - void deleteTemplateApp(String suiteId, String authCorpId, EduQywxServiceProvider serviceProvider); - - /** - * 代开发应用重置secret - * - * @param suiteId 模板id - * @param resetAuthCode 临时授权码 - * @param serviceProvider 企业微信服务商信息 - * @author ZYJ - * @date 2022/11/11 16:01 - */ - void resetTemplateAppAuthCode(String suiteId, String resetAuthCode, EduQywxServiceProvider serviceProvider); - - /** - * 处理通讯录事件 - * 通讯录授权编辑回调 - * - * @param root xml明文 - * @param serviceProvider 企业微信服务商信息 - * @param suiteId 模板id - * @author ZYJ - * @date 2022/11/21 16:10 - */ -// @Async - void handleConcat(Element root, EduQywxServiceProvider serviceProvider, String suiteId); - - /** - * 处理通讯录事件 - * 家校沟通应用回调 - * - * @param root xml明文 - * @param providerSchool 企业微信服务商-学校密文 - * @author ZYJ - * @date 2023/2/24 15:59 - */ - void handleConcat(Element root, EduQywxServiceProviderSchool providerSchool); - - /** - * 处理家校沟通通讯录事件 - * - * @param root xml明文 - * @param providerSchool 企业微信服务商-学校密文corpId - * @param school 学校信息 - * @author ZYJ - * @date 2022/12/6 10:57 - */ - void handleSchoolConcat(Element root, EduQywxServiceProviderSchool providerSchool, Dept school); - - /** - * 加密对应服务商的学校corpId - * - * @param providerCorpId 服务商企业微信id - * @param corpId 学校企业微信id - * @author ZYJ - * @date 2023/1/14 15:02 - */ - void changeCorpId(String providerCorpId, String corpId); -} \ No newline at end of file diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/UPayConfigService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/UPayConfigService.java deleted file mode 100644 index a5e6ff8..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/UPayConfigService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.system.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.system.UPayConfig; - -/** - * 收钱吧学校信息配置Service接口 - * - * @author ZYJ - * @date 2023-03-20 17:53:13 - */ -public interface UPayConfigService extends IService { - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/WhiteListService.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/WhiteListService.java deleted file mode 100644 index 27d2451..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/WhiteListService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yida.data.system.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.yida.data.common.core.entity.system.WhiteList; - -/** -* 白名单Service接口 -* -* @author ZYJ -* @date 2023-02-20 14:15:49 -*/ -public interface WhiteListService extends IService { - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/BaiduApiConfigServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/BaiduApiConfigServiceImpl.java deleted file mode 100644 index 87c690a..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/BaiduApiConfigServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.system.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.system.BaiduApiConfig; -import com.yida.data.system.mapper.BaiduApiConfigMapper; -import com.yida.data.system.service.BaiduApiConfigService; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** - * 百度api配置信息 Service实现 - * - * @author ZYJ - * @date 2023-06-20 20:42:47 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class BaiduApiConfigServiceImpl extends ServiceImpl - implements BaiduApiConfigService { - - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/CommonServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/CommonServiceImpl.java index 7fd1a55..6a5df4a 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/CommonServiceImpl.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/CommonServiceImpl.java @@ -1,45 +1,27 @@ package com.yida.data.system.service.impl; import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.NumberUtil; -import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.SecureUtil; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.google.common.base.Joiner; import com.yida.data.common.core.entity.ReceiveMsg; -import com.yida.data.common.core.entity.constant.AppConstant; import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.system.*; -import com.yida.data.common.core.exception.FebsException; +import com.yida.data.common.core.entity.system.EduSysFile; import com.yida.data.common.core.utils.FileUtil; -import com.yida.data.common.core.utils.WxPublicUtil; -import com.yida.data.common.core.utils.WxUtil; -import com.yida.data.school.vo.smart.WxConfigVO; import com.yida.data.system.mapper.EduSysFileMapper; import com.yida.data.system.repository.ReceiveMsgRepository; import com.yida.data.system.service.CommonService; -import com.yida.data.system.service.IDeptService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import net.coobird.thumbnailator.Thumbnails; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.io.File; -import java.math.BigDecimal; -import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; -import java.util.Objects; -import java.util.TreeMap; @Service @RefreshScope @@ -47,14 +29,8 @@ import java.util.TreeMap; @RequiredArgsConstructor public class CommonServiceImpl implements CommonService { - private final IDeptService deptService; - private final EduSysFileMapper eduSysFileMapper; private final ReceiveMsgRepository receiveMsgRepository; - private final com.yida.data.common.service.CommonService commonService; - - private final WxUtil wxUtil; - private final WxPublicUtil wxPublicUtil; private final RedisService redisService; @Value("${febs.uploadUrl}") @@ -147,69 +123,4 @@ public class CommonServiceImpl implements CommonService { log.info("保存{}条接收数据", saveSize); } } - - @Override - public WxConfigVO getWxJsConfig(Long deptId, String url) { - Dept dept = deptService.getById(deptId); - if (Objects.isNull(dept)) { - throw new FebsException("当前学校配置信息错误!"); - } - // 获取应用信息 - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, deptId); - String jsApiTicket = wxUtil.getJsApiTicket(wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()), deptId); - // 时间戳 - String timestamp = String.valueOf(System.currentTimeMillis() / 1000); - // 随机字符串 - String nonceStr = RandomUtil.randomString(32); - - // 请求参数 - JSONObject jsonObject = JSONUtil.createObj() - .set("jsapi_ticket", jsApiTicket) - .set("timestamp", timestamp) - .set("noncestr", nonceStr) - .set("url", url); - TreeMap paramMap = MapUtil.sort(jsonObject); - // 处理请求参数 - String paramsStr = Joiner.on("&").withKeyValueSeparator("=").join(paramMap); - // 签名 - String signature = SecureUtil.sha1(paramsStr); - return WxConfigVO.builder() - .appId(dept.getCorpId()) - .timestamp(timestamp) - .nonceStr(nonceStr) - .signature(signature) - .build(); - } - - @Override - public WxConfigVO getWxPublicJsConfig(Long deptId, String url) { - - Dept dept = deptService.getById(deptId); - if (Objects.isNull(dept)) { - throw new FebsException("当前学校配置信息错误!"); - } - String jsApiTicket = wxPublicUtil.getJsApiTicket(dept.getWxPublicAppId(), dept.getWxPublicSecret()); - // 时间戳 - String timestamp = String.valueOf(System.currentTimeMillis() / 1000); - // 随机字符串 - String nonceStr = RandomUtil.randomString(32); - - // 请求参数 - JSONObject jsonObject = JSONUtil.createObj() - .set("jsapi_ticket", jsApiTicket) - .set("timestamp", timestamp) - .set("noncestr", nonceStr) - .set("url", url); - TreeMap paramMap = MapUtil.sort(jsonObject); - // 处理请求参数 - String paramsStr = Joiner.on("&").withKeyValueSeparator("=").join(paramMap); - // 签名 - String signature = SecureUtil.sha1(paramsStr); - return WxConfigVO.builder() - .appId(dept.getWxPublicAppId()) - .timestamp(timestamp) - .nonceStr(nonceStr) - .signature(signature) - .build(); - } } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/ConstructionPayConfigServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/ConstructionPayConfigServiceImpl.java deleted file mode 100644 index 48f0cc9..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/ConstructionPayConfigServiceImpl.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.yida.data.system.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.system.ConstructionPayConfig; -import com.yida.data.system.mapper.ConstructionPayConfigMapper; -import com.yida.data.system.service.ConstructionPayConfigService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** - * 建行学校信息配置 Service实现 - * - * @author ZYJ - * @date 2023-06-19 16:30:18 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class ConstructionPayConfigServiceImpl extends ServiceImpl - implements ConstructionPayConfigService { - - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/DeptSchoolInformationServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/DeptSchoolInformationServiceImpl.java index 9852efb..6b4c68a 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/DeptSchoolInformationServiceImpl.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/DeptSchoolInformationServiceImpl.java @@ -29,18 +29,20 @@ import java.util.List; @RequiredArgsConstructor @Transactional(rollbackFor = Exception.class) public class DeptSchoolInformationServiceImpl extends ServiceImpl - implements DeptSchoolInformationService { + implements DeptSchoolInformationService { private final DeptSchoolLabelService labelService; private final CommonService commonService; @Override public Page findSchoolListByDeptId(Long deptId, String schoolName, Integer schoolType, - Integer natureType, String address, String tag, Page page, - Integer schoolOwnership) { - Page schoolListByDeptId = baseMapper.findSchoolListByDeptId(deptId, schoolName, schoolType, natureType, address, tag, page, schoolOwnership); + Integer natureType, String address, String tag, Page page, + Integer schoolOwnership) { + Page schoolListByDeptId = baseMapper + .findSchoolListByDeptId(deptId, schoolName, schoolType, natureType, address, tag, page, schoolOwnership); for (SchoolInformationDTO record : schoolListByDeptId.getRecords()) { - List list = labelService.list(Wrappers.query(new DeptSchoolLabel()).lambda().eq(DeptSchoolLabel::getDeptSchoolId, record.getId())); + List list = labelService + .list(Wrappers.query(new DeptSchoolLabel()).lambda().eq(DeptSchoolLabel::getDeptSchoolId, record.getId())); List tagList = new ArrayList<>(); for (DeptSchoolLabel deptSchoolLabel : list) { tagList.add(deptSchoolLabel.getLabel()); @@ -51,8 +53,9 @@ public class DeptSchoolInformationServiceImpl extends ServiceImpl findSchoolPageList(String schoolName, List schoolType, List natureType, Page page, - String[] tags, Long deptId, List schoolOwnership) { + public Page findSchoolPageList(String schoolName, List schoolType, List natureType, + Page page, + String[] tags, Long deptId, List schoolOwnership) { List deptSchoolId = new ArrayList<>(); if (tags != null && tags.length > 0) { deptSchoolId = baseMapper.findDeptSchoolId(tags); @@ -65,7 +68,6 @@ public class DeptSchoolInformationServiceImpl extends ServiceImpl findSchoolByAddress(Page page, String address, Long deptId) { - return baseMapper.findSchoolByAddress(page, address, deptId); } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/DeptServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/DeptServiceImpl.java index 9d4762c..e0f644e 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/DeptServiceImpl.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/DeptServiceImpl.java @@ -24,7 +24,6 @@ import com.yida.data.common.core.entity.system.*; import com.yida.data.common.core.entity.system.enums.DeptTypeEnum; import com.yida.data.common.core.entity.system.enums.RoleEnum; import com.yida.data.common.core.entity.system.enums.UserStatusEnum; -import com.yida.data.common.core.entity.user.enums.DeptVisibleTypeEnum; import com.yida.data.common.core.enums.EnableStatusEnum; import com.yida.data.common.core.exception.FebsException; import com.yida.data.common.core.utils.*; @@ -34,6 +33,7 @@ import com.yida.data.system.dto.AgentSchoolSelectPageDTO; import com.yida.data.system.dto.SchoolInformationDTO; import com.yida.data.system.dto.SchoolPageDTO; import com.yida.data.system.mapper.DeptMapper; +import com.yida.data.system.mapper.DeptSchoolInformationMapper; import com.yida.data.system.mapper.DeptSchoolRelateMapper; import com.yida.data.system.mapper.EduAppMapper; import com.yida.data.system.service.*; @@ -70,7 +70,6 @@ public class DeptServiceImpl extends ServiceImpl implements ID private final EduAppAccountService eduAppAccountService; private final CommonService commonService; private final EduPayWxConfigService eduPayWxConfigService; - private final EduAgentSchoolRelateService eduAgentSchoolRelateService; private final IUserService userService; private final RedisService redisService; private final DeptSchoolRelateMapper deptSchoolRelateMapper; @@ -82,13 +81,15 @@ public class DeptServiceImpl extends ServiceImpl implements ID private final DeptSchoolInformationService schoolInformationService; private final DeptSchoolInformationNatureService natureService; + private final DeptSchoolInformationMapper deptSchoolInformationMapper; + @Override public Dept getSchoolDeptByDeptAndWx(List deptId, Long wxId) { Dept exist = getOne(Wrappers.lambdaQuery(new Dept()).in(Dept::getParentId, deptId).eq(Dept::getWxId, - wxId).ne(Dept::getDeptType, 6)); + wxId).ne(Dept::getDeptType, 6)); if (exist == null) { List deptList = - list(Wrappers.lambdaQuery(new Dept()).in(Dept::getParentId, deptId).ne(Dept::getDeptType, 6)); + list(Wrappers.lambdaQuery(new Dept()).in(Dept::getParentId, deptId).ne(Dept::getDeptType, 6)); if (CollUtil.isNotEmpty(deptList)) { List deptIds = deptList.stream().map(x -> x.getDeptId()).collect(Collectors.toList()); exist = getSchoolDeptByDeptAndWx(deptIds, wxId); @@ -100,13 +101,12 @@ public class DeptServiceImpl extends ServiceImpl implements ID @Override public Dept getSysDeptByDeptAndWx(List deptId, Long wxId) { Dept exist = getOne(Wrappers.lambdaQuery(new Dept()).in(Dept::getParentId, deptId).eq(Dept::getWxId, - wxId).eq(Dept::getDeptType, DeptTypeEnum.DEPARTMENT_TYPE.getValue())); + wxId).eq(Dept::getDeptType, 6)); if (exist == null) { List deptList = - list(Wrappers.lambdaQuery(new Dept()).in(Dept::getParentId, deptId) - .eq(Dept::getDeptType, DeptTypeEnum.DEPARTMENT_TYPE.getValue())); + list(Wrappers.lambdaQuery(new Dept()).in(Dept::getParentId, deptId).eq(Dept::getDeptType, 6)); if (CollUtil.isNotEmpty(deptList)) { - List deptIds = deptList.stream().map(Dept::getDeptId).collect(Collectors.toList()); + List deptIds = deptList.stream().map(x -> x.getDeptId()).collect(Collectors.toList()); exist = getSysDeptByDeptAndWx(deptIds, wxId); } } @@ -135,9 +135,9 @@ public class DeptServiceImpl extends ServiceImpl implements ID } else { // 查询下级部门信息 List childIdList = findListByParent(Collections.singletonList(currentUser.getDeptId()), 0) - .stream().map(Dept::getDeptId).collect(Collectors.toList()); + .stream().map(Dept::getDeptId).collect(Collectors.toList()); if (RoleEnum.ROLE_EDUCATION_PRINCIPAL.equals(roleEnum) || - RoleEnum.ROLE_AGENT_ADMIN.equals(roleEnum)) { + RoleEnum.ROLE_AGENT_ADMIN.equals(roleEnum)) { childIdList.add(currentUser.getDeptId()); } // 具有创建账号的数据 自己创建的账号+当前登陆账号部门以下的账号 @@ -155,7 +155,7 @@ public class DeptServiceImpl extends ServiceImpl implements ID List res = new ArrayList<>(); // 查询直接子部门 LambdaQueryWrapper condition = Wrappers.lambdaQuery(new Dept()).in(Dept::getParentId, deptId) - .orderByDesc(Dept::getOrderNum); + .orderByDesc(Dept::getOrderNum); // if (type != null) { // if (type == 1) { // condition.ne(Dept::getDeptType, 6); @@ -187,12 +187,12 @@ public class DeptServiceImpl extends ServiceImpl implements ID @Override public List findChildByParentAndType(List deptId, Integer type) { List res = list(Wrappers.lambdaQuery().in(Dept::getParentId, deptId).eq(Dept::getDeptType, type) - .orderByDesc(Dept::getOrderNum)); + .orderByDesc(Dept::getOrderNum)); if (CollUtil.isEmpty(res)) { List child = list(Wrappers.lambdaQuery().in(Dept::getParentId, deptId)); if (CollUtil.isNotEmpty(child)) { res = findChildByParentAndType(child.stream().map(x -> x.getDeptId()).collect(Collectors.toList()), - type); + type); } } return res; @@ -220,8 +220,8 @@ public class DeptServiceImpl extends ServiceImpl implements ID private Dept findSchoolOrEducationByDept(Long deptId) { Dept now = this.baseMapper.selectById(deptId); if (now != null && - (DeptTypeEnum.SCHOOL_TYPE.getValue().equals(now.getDeptType()) - || DeptTypeEnum.EDUCATION_DEPT_TYPE.getValue().equals(now.getDeptType()))) { + (DeptTypeEnum.SCHOOL_TYPE.getValue().equals(now.getDeptType()) + || DeptTypeEnum.EDUCATION_DEPT_TYPE.getValue().equals(now.getDeptType()))) { return now; } else if (now != null) { return findSchoolOrEducationByDept(now.getParentId()); @@ -275,10 +275,10 @@ public class DeptServiceImpl extends ServiceImpl implements ID deptList.forEach(x -> { // 教育局、代理商查询对应的关联学校信息 if (DeptTypeEnum.EDUCATION_DEPT_TYPE.getValue().equals(x.getDeptType()) || - DeptTypeEnum.AGENT_TYPE.getValue().equals(x.getDeptType())) { + DeptTypeEnum.AGENT_TYPE.getValue().equals(x.getDeptType())) { x.setRelationSchoolList(this.deptSchoolRelateMapper.selectList(Wrappers.lambdaQuery(new DeptSchoolRelate()) - .eq(DeptSchoolRelate::getDeptId, x.getDeptId())).stream().map(DeptSchoolRelate::getSchoolId) - .collect(Collectors.toList())); + .eq(DeptSchoolRelate::getDeptId, x.getDeptId())).stream().map(DeptSchoolRelate::getSchoolId) + .collect(Collectors.toList())); } }); return deptList; @@ -322,11 +322,13 @@ public class DeptServiceImpl extends ServiceImpl implements ID Dept parent = findSchoolOrEducationByDept(dept.getParentId()); // 挂在学校的部门需要同步企业微信 if (parent != null && DeptTypeEnum.SCHOOL_TYPE.getValue().equals(parent.getDeptType()) - && parent.getSchoolType().contains(Dept.TYPE_QYWX) - && dept.getWxId() == null) { - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT, null, parent.getDeptId()); + && parent.getSchoolType().contains(Dept.TYPE_QYWX) + && dept.getWxId() == null) { + EduApp app = eduAppMapper.selectOne(Wrappers.lambdaQuery(new EduApp()).eq(EduApp::getDeptId, + parent.getDeptId()).eq(EduApp::getName, AppConstant.CONTACT)); if (app != null) { - Long wxId = wxUtil.createDept(commonService.getAddressListToken(app.getDeptId()), dept); + Long wxId = wxUtil.createDept(wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()), + dept); dept.setWxId(wxId); } } @@ -339,19 +341,19 @@ public class DeptServiceImpl extends ServiceImpl implements ID dept.setYidaAppColId(colId); } } else if (DeptTypeEnum.EDUCATION_DEPT_TYPE.getValue().equals(dept.getDeptType()) && - StrUtil.isNotBlank(dept.getSchoolType()) && dept.getSchoolType().contains(Dept.TYPE_YIDA_APP)) { + StrUtil.isNotBlank(dept.getSchoolType()) && dept.getSchoolType().contains(Dept.TYPE_YIDA_APP)) { dept.setYidaAppColId(yidaApp.getAppColId()); } this.save(dept); // 创建绑定易达的学校 if (DeptTypeEnum.SCHOOL_TYPE.getValue().equals(dept.getDeptType()) - && StrUtil.isNotBlank(dept.getSchoolType()) - && dept.getSchoolType().contains(Dept.TYPE_YIDA_APP)) { + && StrUtil.isNotBlank(dept.getSchoolType()) + && dept.getSchoolType().contains(Dept.TYPE_YIDA_APP)) { // 保存学校栏目到区域位下 List list = list(Wrappers.lambdaQuery(new Dept()) - .eq(Dept::getDeptType, 0) - .eq(Dept::getYidaAppId, yidaApp.getId()) - .like(Dept::getSchoolType, Dept.TYPE_YIDA_APP)); + .eq(Dept::getDeptType, 0) + .eq(Dept::getYidaAppId, yidaApp.getId()) + .like(Dept::getSchoolType, Dept.TYPE_YIDA_APP)); if (CollUtil.isNotEmpty(list)) { JSONArray content = new JSONArray(); for (Dept col : list) { @@ -363,8 +365,8 @@ public class DeptServiceImpl extends ServiceImpl implements ID }}); } String regionId = AppUtil.regionUpdate(yidaApp.getAppSchoolRegionId(), "热门学校", 0, - yidaApp.getAppColId(), - AppUtil.REGION_TYPE_HOT, content, yidaApp); + yidaApp.getAppColId(), + AppUtil.REGION_TYPE_HOT, content, yidaApp); if (StrUtil.isBlank(yidaApp.getAppSchoolRegionId())) { yidaApp.setAppSchoolRegionId(regionId); eduYidaAppService.updateById(yidaApp); @@ -382,22 +384,20 @@ public class DeptServiceImpl extends ServiceImpl implements ID eduAppAccountService.save(appAccount); } } else if (DeptTypeEnum.EDUCATION_DEPT_TYPE.getValue().equals(dept.getDeptType()) || - DeptTypeEnum.AGENT_TYPE.getValue().equals(dept.getDeptType())) { + DeptTypeEnum.AGENT_TYPE.getValue().equals(dept.getDeptType())) { CurrentUser currentUser = FebsUtil.getCurrentUser(); if (CollUtil.isNotEmpty(dept.getRelationSchoolList())) { // 处理关联学校数据 dept.getRelationSchoolList().forEach(schoolId -> { DeptSchoolRelate deptSchoolRelate = DeptSchoolRelate.builder() - .deptId(dept.getDeptId()) - .createDeptId(currentUser.getDeptId()) - .createId(currentUser.getUserId()) - .createDate(LocalDateTime.now()) - .schoolId(schoolId) - .build(); + .deptId(dept.getDeptId()) + .createDeptId(currentUser.getDeptId()) + .createId(currentUser.getUserId()) + .createDate(LocalDateTime.now()) + .schoolId(schoolId) + .build(); this.deptSchoolRelateMapper.insert(deptSchoolRelate); - List list = schoolInformationService.list( - Wrappers.query(new DeptSchoolInformation()).lambda() - .eq(DeptSchoolInformation::getSchoolId, deptSchoolRelate.getSchoolId())); + List list = schoolInformationService.list(Wrappers.query(new DeptSchoolInformation()).lambda().eq(DeptSchoolInformation::getSchoolId, deptSchoolRelate.getSchoolId())); if (CollectionUtil.isEmpty(list)) { DeptSchoolInformation deptSchoolInformation = new DeptSchoolInformation(); @@ -457,9 +457,9 @@ public class DeptServiceImpl extends ServiceImpl implements ID dept.setYidaAppColId(colId); // 保存栏目到订阅号下 List list = list(Wrappers.lambdaQuery(new Dept()) - .eq(Dept::getDeptType, 0) - .like(Dept::getSchoolType, Dept.TYPE_YIDA_APP) - .eq(Dept::getYidaAppId, original.getYidaAppId())); + .eq(Dept::getDeptType, 0) + .like(Dept::getSchoolType, Dept.TYPE_YIDA_APP) + .eq(Dept::getYidaAppId, original.getYidaAppId())); if (CollUtil.isNotEmpty(list)) { JSONArray content = new JSONArray(); for (Dept col : list) { @@ -471,8 +471,8 @@ public class DeptServiceImpl extends ServiceImpl implements ID }}); } String regionId = AppUtil.regionUpdate(yidaApp.getAppSchoolRegionId(), "热门学校", 0, - yidaApp.getAppColId(), - AppUtil.REGION_TYPE_HOT, content, yidaApp); + yidaApp.getAppColId(), + AppUtil.REGION_TYPE_HOT, content, yidaApp); if (StrUtil.isBlank(yidaApp.getAppSchoolRegionId())) { yidaApp.setAppSchoolRegionId(regionId); @@ -492,9 +492,9 @@ public class DeptServiceImpl extends ServiceImpl implements ID // } for (int i = 0; i < 2; i++) { EduYidaAppAccount appAccount = eduAppAccountService - .getOne(Wrappers.lambdaQuery(new EduYidaAppAccount()) - .eq(EduYidaAppAccount::getSchoolId, dept.getDeptId()) - .eq(EduYidaAppAccount::getType, i)); + .getOne(Wrappers.lambdaQuery(new EduYidaAppAccount()) + .eq(EduYidaAppAccount::getSchoolId, dept.getDeptId()) + .eq(EduYidaAppAccount::getType, i)); if (appAccount == null) { appAccount = new EduYidaAppAccount(); } @@ -512,23 +512,24 @@ public class DeptServiceImpl extends ServiceImpl implements ID Dept parent = findSchoolOrEducationByDept(dept.getParentId()); // 挂在学校的部门需要同步企业微信 if (Objects.nonNull(parent) && DeptTypeEnum.SCHOOL_TYPE.getValue().equals(parent.getDeptType()) - && parent.getSchoolType().contains(Dept.TYPE_QYWX)) { - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT, null, parent.getDeptId()); + && parent.getSchoolType().contains(Dept.TYPE_QYWX)) { + EduApp app = eduAppMapper.selectOne(Wrappers.lambdaQuery(new EduApp()).eq(EduApp::getDeptId, + parent.getDeptId()).eq(EduApp::getName, AppConstant.CONTACT)); if (app != null) { dept.setWxId(original.getWxId()); - wxUtil.updateDept(commonService.getAddressListToken(app.getDeptId()), dept); + wxUtil.updateDept(wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()), dept); } } } else if (DeptTypeEnum.EDUCATION_DEPT_TYPE.getValue().equals(dept.getDeptType()) || - DeptTypeEnum.AGENT_TYPE.getValue().equals(dept.getDeptType())) { + DeptTypeEnum.AGENT_TYPE.getValue().equals(dept.getDeptType())) { // 教育局、代理商 if (DeptTypeEnum.AGENT_TYPE.getValue().equals(dept.getDeptType()) && - CollectionUtils.isEmpty(dept.getRelationSchoolList())) { + CollectionUtils.isEmpty(dept.getRelationSchoolList())) { throw new FebsException("请选择关联的学校"); } // 删除关联学校数据 this.deptSchoolRelateMapper.delete(Wrappers.lambdaQuery(new DeptSchoolRelate()) - .eq(DeptSchoolRelate::getDeptId, dept.getDeptId())); + .eq(DeptSchoolRelate::getDeptId, dept.getDeptId())); // 绑定了易达app if (StrUtil.isNotBlank(dept.getSchoolType()) && dept.getSchoolType().contains(Dept.TYPE_YIDA_APP)) { // 设置教育局栏目id @@ -539,17 +540,15 @@ public class DeptServiceImpl extends ServiceImpl implements ID // 处理关联学校数据 dept.getRelationSchoolList().forEach(schoolId -> { DeptSchoolRelate deptSchoolRelate = DeptSchoolRelate.builder() - .deptId(original.getDeptId()) - .createDeptId(currentUser.getDeptId()) - .createId(currentUser.getUserId()) - .createDate(LocalDateTime.now()) - .schoolId(schoolId) - .build(); + .deptId(original.getDeptId()) + .createDeptId(currentUser.getDeptId()) + .createId(currentUser.getUserId()) + .createDate(LocalDateTime.now()) + .schoolId(schoolId) + .build(); this.deptSchoolRelateMapper.insert(deptSchoolRelate); //关联关系表学校放入学校信息表 - List list = schoolInformationService.list( - Wrappers.query(new DeptSchoolInformation()).lambda() - .eq(DeptSchoolInformation::getSchoolId, deptSchoolRelate.getSchoolId())); + List list = schoolInformationService.list(Wrappers.query(new DeptSchoolInformation()).lambda().eq(DeptSchoolInformation::getSchoolId, deptSchoolRelate.getSchoolId())); if (CollectionUtil.isEmpty(list)) { DeptSchoolInformation deptSchoolInformation = new DeptSchoolInformation(); deptSchoolInformation.setSchoolName(getById(schoolId).getDeptName()); @@ -569,60 +568,60 @@ public class DeptServiceImpl extends ServiceImpl implements ID public void deleteDepts(String[] deptIds) { // 删除企业微信部门信息 List deptList = - list(Wrappers.lambdaQuery(new Dept()).in(Dept::getDeptId, deptIds).notIn(Dept::getDeptType - , 0, 5)); + list(Wrappers.lambdaQuery(new Dept()).in(Dept::getDeptId, deptIds).notIn(Dept::getDeptType + , 0, 5)); for (Dept dept : deptList) { Dept school = findSchooleByDept(dept.getDeptId()); // 绑定了微信 if (Objects.nonNull(school) && school.getSchoolType().contains(Dept.TYPE_QYWX)) { - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT, null, - school.getDeptId()); + EduApp app = commonService.getAppByCodeAndSchool(dept.getDeptType() == 6 ? "通讯录" : "家校沟通", null, + school.getDeptId()); // 同步删除企业微信部门 if (dept.getDeptType() == 6) { - wxUtil.deleteDept(commonService.getAddressListToken(school.getDeptId()), dept.getWxId()); + wxUtil.deleteDept(wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()), dept.getWxId()); } } // 绑定了大华 if (Objects.nonNull(school) && school.getSchoolType().contains(Dept.TYPE_DAHUA)) { - DaHuaUtil.delDept(Collections.singletonList(dept.getDahuaId())); + DaHuaUtil.delDept(Arrays.asList(dept.getDahuaId())); } // 教育局、代理商 if (DeptTypeEnum.EDUCATION_DEPT_TYPE.getValue().equals(dept.getDeptType()) || - DeptTypeEnum.AGENT_TYPE.getValue().equals(dept.getDeptType())) { + DeptTypeEnum.AGENT_TYPE.getValue().equals(dept.getDeptType())) { // 删除关联学校数据 this.deptSchoolRelateMapper.delete(Wrappers.lambdaQuery(new DeptSchoolRelate()) - .eq(DeptSchoolRelate::getDeptId, dept.getDeptId())); + .eq(DeptSchoolRelate::getDeptId, dept.getDeptId())); } } List delYidaSchool = - list(Wrappers.lambdaQuery().in(Dept::getDeptId, deptIds).eq(Dept::getDeptType, 0) - .like(Dept::getSchoolType, "1")); + list(Wrappers.lambdaQuery().in(Dept::getDeptId, deptIds).eq(Dept::getDeptType, 0) + .like(Dept::getSchoolType, "1")); this.delete(Arrays.asList(deptIds)); // 更新学校列表 if (CollUtil.isNotEmpty(delYidaSchool)) { List yidaAppIds = - delYidaSchool.stream().map(Dept::getYidaAppId).distinct().collect(Collectors.toList()); + delYidaSchool.stream().map(x -> x.getYidaAppId()).distinct().collect(Collectors.toList()); for (Long yidaAppId : yidaAppIds) { EduYidaApp yidaApp = eduYidaAppService.getById(yidaAppId); List schoolList = list(Wrappers.lambdaQuery() - .eq(Dept::getYidaAppId, yidaAppId) - .eq(Dept::getDeptType, 0) - .like(Dept::getSchoolType, "1")); + .eq(Dept::getYidaAppId, yidaAppId) + .eq(Dept::getDeptType, 0) + .like(Dept::getSchoolType, "1")); AppUtil.regionUpdate(yidaApp.getAppSchoolRegionId(), "热门学校", 0, yidaApp.getAppColId(), - AppUtil.REGION_TYPE_HOT, - new JSONArray() {{ - for (Dept dept : schoolList) { - add( - new JSONObject() {{ - set("id", dept.getYidaAppColId()); - if (StrUtil.isNotBlank(dept.getIcon())) { - set("img", dept.getIcon()); - } - }}); - } - }} - , yidaApp); + AppUtil.REGION_TYPE_HOT, + new JSONArray() {{ + for (Dept dept : schoolList) { + add( + new JSONObject() {{ + set("id", dept.getYidaAppColId()); + if (StrUtil.isNotBlank(dept.getIcon())) { + set("img", dept.getIcon()); + } + }}); + } + }} + , yidaApp); } } @@ -645,7 +644,7 @@ public class DeptServiceImpl extends ServiceImpl implements ID removeByIds(deptId); // 删除部门缓存 redisService - .hdel(CachePrefixConstant.SYS_DEPT_DATA, deptId.stream().map(x -> x.toString()).toArray(String[]::new)); + .hdel(CachePrefixConstant.SYS_DEPT_DATA, deptId.stream().map(x -> x.toString()).toArray(String[]::new)); } private void buildTrees(List trees, List depts) { @@ -674,7 +673,7 @@ public class DeptServiceImpl extends ServiceImpl implements ID removeByIds(deptIds); userDataPermissionService.deleteByDeptIds(deptIds); this.deptSchoolRelateMapper.delete(Wrappers.lambdaQuery(new DeptSchoolRelate()) - .in(DeptSchoolRelate::getSchoolId, deptIds)); + .in(DeptSchoolRelate::getSchoolId, deptIds)); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(Dept::getParentId, deptIds); List depts = baseMapper.selectList(queryWrapper); @@ -710,41 +709,15 @@ public class DeptServiceImpl extends ServiceImpl implements ID return deptTree; } - @Override - public List getDeptTree(List deptIds) { - List allDepts = new ArrayList<>(); - List rootIdList = new ArrayList<>(); - if (CollUtil.isNotEmpty(deptIds)) { - for (Long deptId : deptIds) { - // 添加根节点 - Dept root = getById(deptId); - if (ObjectUtil.isNotNull(root)) { - if (root.getParentId() != null) { - root.setParentId(null); - root.setParentWxId(null); - } - allDepts.add(root); - rootIdList.add(deptId); - } - } - } - // 循环查询子节点 - allDepts.addAll(findListByParent(rootIdList, 2)); - List trees = new ArrayList<>(); - buildTrees(trees, allDepts); - List> deptTree = TreeUtil.build(trees); - return deptTree; - } - @Override public List listClassByDept(List ids) { List res = new ArrayList<>(); if (CollUtil.isNotEmpty(ids)) { List child = list(Wrappers.lambdaQuery(new Dept()).in(Dept::getParentId, ids)); res.addAll( - child.stream().filter(x -> x.getDeptType() == 1).map(x -> x.getDeptId()).collect(Collectors.toList())); + child.stream().filter(x -> x.getDeptType() == 1).map(x -> x.getDeptId()).collect(Collectors.toList())); res.addAll(listClassByDept( - child.stream().filter(x -> x.getDeptType() != 1).map(x -> x.getDeptId()).collect(Collectors.toList()))); + child.stream().filter(x -> x.getDeptType() != 1).map(x -> x.getDeptId()).collect(Collectors.toList()))); } return res; } @@ -752,12 +725,12 @@ public class DeptServiceImpl extends ServiceImpl implements ID @Override public Dept getDeptBySchoolAndName(List deptId, String deptName) { List deptList = list(Wrappers.lambdaQuery(new Dept()).eq(Dept::getDeptName, deptName).in(Dept - ::getParentId, deptId).eq(Dept::getDeptType, 6)); + ::getParentId, deptId).eq(Dept::getDeptType, 6)); if (CollUtil.isEmpty(deptList)) { List child = list(Wrappers.lambdaQuery(new Dept()).in(Dept::getParentId, deptId)); if (CollUtil.isNotEmpty(child)) { return getDeptBySchoolAndName(child.stream().map(x -> x.getDeptId()).collect(Collectors.toList()), - deptName); + deptName); } return null; } else { @@ -851,67 +824,56 @@ public class DeptServiceImpl extends ServiceImpl implements ID public Dept getClassBySchoolAndWx(Long schoolId, Long classWxId) { // 查询到学校年级层 List campusList = list( - Wrappers.lambdaQuery().eq(Dept::getParentId, schoolId).eq(Dept::getDeptType, 4)); + Wrappers.lambdaQuery().eq(Dept::getParentId, schoolId).eq(Dept::getDeptType, 4)); List sectionList = - list(Wrappers.lambdaQuery() - .in(Dept::getParentId, campusList.stream().map(x -> x.getDeptId()).collect(Collectors.toList())) - .eq(Dept::getDeptType, 3)); + list(Wrappers.lambdaQuery() + .in(Dept::getParentId, campusList.stream().map(x -> x.getDeptId()).collect(Collectors.toList())) + .eq(Dept::getDeptType, 3)); List gradeList = - list(Wrappers.lambdaQuery() - .in(Dept::getParentId, sectionList.stream().map(x -> x.getDeptId()).collect(Collectors.toList())) - .eq(Dept::getDeptType, 2)); + list(Wrappers.lambdaQuery() + .in(Dept::getParentId, sectionList.stream().map(x -> x.getDeptId()).collect(Collectors.toList())) + .eq(Dept::getDeptType, 2)); return getOne(Wrappers.lambdaQuery() - .in(Dept::getParentId, gradeList.stream().map(x -> x.getDeptId()).collect(Collectors.toList())) - .eq(Dept::getWxId, - classWxId)); + .in(Dept::getParentId, gradeList.stream().map(x -> x.getDeptId()).collect(Collectors.toList())) + .eq(Dept::getWxId, + classWxId)); } @Override - public void syncQywxDept(Long schoolId) { - // 查询所有和企业微信关联的学校信息 - List schoolList = new ArrayList<>(); - if (Objects.isNull(schoolId)) { - // 查询所有绑定了企业微信的学校信息 - schoolList = list(Wrappers.lambdaQuery() - .eq(Dept::getDeptType, DeptTypeEnum.SCHOOL_TYPE.getValue()) + public void syncQywxDept() { + // 绑定了企业微信的学校 + log.info("开始同步企业微信部门"); + List schoolList = list(Wrappers.lambdaQuery() + .eq(Dept::getDeptType, 0) .like(Dept::getSchoolType, Dept.TYPE_QYWX)); - } else { - Dept school = getById(schoolId); - schoolList.add(school); - } - if (CollUtil.isNotEmpty(schoolList)) { for (Dept school : schoolList) { - EduApp contactApp = commonService.getAppContactUsedBySelect(school.getDeptId()); + EduApp contactApp = commonService.getAppByCodeAndSchool(AppConstant.CONTACT, null, school.getDeptId()); // 获取办公部门 log.info("[{}]开始同步办公部门", school.getDeptName()); List deptList = wxUtil - .listSimpleDept(wxUtil.getAccessToken(contactApp.getWxCorpId(), contactApp.getWxSecret()), - school.getWxId()); + .listDept(wxUtil.getAccessToken(contactApp.getWxCorpId(), contactApp.getWxSecret()), + school.getWxId()); // 保存办公部门 Map idCache = new HashMap<>(); idCache.put(1L, school.getDeptId()); for (Map map : deptList) { Long wxId = Long.valueOf(map.get("id").toString()); Long parentWxId = Long.valueOf(map.get("parentid").toString()); -// String deptName = map.get("name").toString(); + String deptName = map.get("name").toString(); Integer order = Integer.valueOf(map.get("order").toString()); Long parentId = idCache.get(parentWxId); if (wxId == 1) { continue; } - // 获取单个部门详情 - JSONObject deptInfo = wxUtil.getDeptInfo( - wxUtil.getAccessToken(contactApp.getWxCorpId(), contactApp.getWxSecret()), String.valueOf(wxId)); - String deptName = deptInfo.get("name").toString(); Dept exist = getOne(Wrappers.lambdaQuery().eq(Dept::getParentId, parentId) - .eq(Dept::getWxId, wxId).eq(Dept::getDeptType, 6)); + .eq(Dept::getWxId, wxId).eq(Dept::getDeptType, 6)); if (exist == null) { exist = new Dept(); } exist.setParentId(parentId); exist.setDeptName(deptName); - exist.setDeptType(DeptTypeEnum.DEPARTMENT_TYPE.getValue()); + exist.setDeptType(6); exist.setAreaId(school.getAreaId()); exist.setWxId(wxId); exist.setParentWxId(parentWxId); @@ -927,22 +889,23 @@ public class DeptServiceImpl extends ServiceImpl implements ID @Override public void dealNoParentDept() { List schools = list(Wrappers.lambdaQuery(new Dept()) - .eq(Dept::getDeptType, DeptTypeEnum.SCHOOL_TYPE.getValue())); + .eq(Dept::getDeptType, 0)); if (CollUtil.isNotEmpty(schools)) { List schoolIds = schools.stream().map(Dept::getDeptId).collect(Collectors.toList()); schoolIds.forEach(schoolId -> { List depts = list(Wrappers.lambdaQuery(new Dept()) - .eq(Dept::getVisible, DeptVisibleTypeEnum.INVISIBLE_TYPE.getValue()) - .eq(Dept::getParentId, schoolId) - .ne(Dept::getDeptType, DeptTypeEnum.COMPANY_TYPE.getValue())); + .eq(Dept::getVisible, 1) + .eq(Dept::getParentId, schoolId) + .ne(Dept::getDeptType, 4) + .ne(Dept::getDeptType, 5)); for (Dept dept : depts) { if (StrUtil.isNotBlank(dept.getCorpId())) { Dept parent = getOne(Wrappers.lambdaQuery(new Dept()) - .eq(Dept::getCorpId, dept.getCorpId()) - .eq(Dept::getWxId, dept.getParentWxId())); + .eq(Dept::getCorpId, dept.getCorpId()) + .eq(Dept::getWxId, dept.getParentWxId())); if (parent != null) { dept.setParentId(parent.getDeptId()); - dept.setVisible(DeptVisibleTypeEnum.VISIBLE_TYPE.getValue()); + dept.setVisible(0); updateById(dept); } } @@ -972,25 +935,25 @@ public class DeptServiceImpl extends ServiceImpl implements ID * * @param agentSchoolSelectPageDTO 查询代理商管理的学校列表数据请求类 * @return com.yida.data.common.core.common.ResultBean> + * com.yida.data.system.vo.AgentSchoolVO>> * @author ZYJ * @date 2021/9/27 17:05 */ @Override public ResultBean> listAgentSchoolPage( - AgentSchoolSelectPageDTO agentSchoolSelectPageDTO) { + AgentSchoolSelectPageDTO agentSchoolSelectPageDTO) { CurrentUser currentUser = FebsUtil.getCurrentUser(); // 查询下级部门信息 List childIdList = findListByParent(Collections.singletonList(currentUser.getDeptId()), 0) - .stream().map(Dept::getDeptId).collect(Collectors.toList()); + .stream().map(Dept::getDeptId).collect(Collectors.toList()); // 代理商管理员查询当前代理商所有数据 if (RoleEnum.ROLE_AGENT_ADMIN.equals(RoleUtil.getMaxRole(currentUser))) { childIdList.add(currentUser.getDeptId()); } // 具有创建学校列表的数据 自己创建的学校+当前登陆账号部门以下的学校 IPage iPage = this.baseMapper - .listAgentSchoolPage(agentSchoolSelectPageDTO.toPage(), agentSchoolSelectPageDTO, - childIdList, currentUser); + .listAgentSchoolPage(agentSchoolSelectPageDTO.toPage(), agentSchoolSelectPageDTO, + childIdList, currentUser); return ResultBean.buildSuccess(iPage); } @@ -1027,7 +990,7 @@ public class DeptServiceImpl extends ServiceImpl implements ID } // 查询学校已有微信支付配置信息 EduPayWxConfig payWxConfig = this.eduPayWxConfigService.getOne(Wrappers.lambdaQuery(new EduPayWxConfig()) - .eq(EduPayWxConfig::getSchoolId, dept.getDeptId())); + .eq(EduPayWxConfig::getSchoolId, dept.getDeptId())); if (Objects.isNull(payWxConfig)) { payWxConfig = new EduPayWxConfig(); } @@ -1055,7 +1018,7 @@ public class DeptServiceImpl extends ServiceImpl implements ID BeanUtils.copyProperties(dept, agentSchoolDetailVO); // 查询支付配置信息 EduPayWxConfig payWxConfig = this.eduPayWxConfigService.getOne(Wrappers.lambdaQuery(new EduPayWxConfig()) - .eq(EduPayWxConfig::getSchoolId, dept.getDeptId())); + .eq(EduPayWxConfig::getSchoolId, dept.getDeptId())); if (Objects.nonNull(payWxConfig)) { // 配置支付数据 agentSchoolDetailVO.setWxPublicId(payWxConfig.getWxPublicId()); @@ -1087,7 +1050,7 @@ public class DeptServiceImpl extends ServiceImpl implements ID // 修改学校状态 this.deptSchoolRelateMapper.update(deptSchoolRelate, - Wrappers.lambdaUpdate(new DeptSchoolRelate()).eq(DeptSchoolRelate::getSchoolId, schoolId)); + Wrappers.lambdaUpdate(new DeptSchoolRelate()).eq(DeptSchoolRelate::getSchoolId, schoolId)); // 修改相关登陆账号信息 SystemUser systemUser = new SystemUser(); systemUser.setUpdateDate(LocalDateTime.now()); @@ -1100,7 +1063,7 @@ public class DeptServiceImpl extends ServiceImpl implements ID } // 修改学校相关账号状态 this.userService.update(systemUser, - Wrappers.lambdaUpdate(new SystemUser()).eq(SystemUser::getDeptId, schoolId)); + Wrappers.lambdaUpdate(new SystemUser()).eq(SystemUser::getDeptId, schoolId)); return ResultBean.buildSuccess(); } @@ -1171,8 +1134,7 @@ public class DeptServiceImpl extends ServiceImpl implements ID deptSchoolInformationNature.setNature(integer); list.add(deptSchoolInformationNature); } - natureService.remove(Wrappers.query(new DeptSchoolInformationNature()).lambda() - .eq(DeptSchoolInformationNature::getInformationId, deptSchoolInformation.getId())); + natureService.remove(Wrappers.query(new DeptSchoolInformationNature()).lambda().eq(DeptSchoolInformationNature::getInformationId, deptSchoolInformation.getId())); natureService.saveBatch(list); } @@ -1184,11 +1146,11 @@ public class DeptServiceImpl extends ServiceImpl implements ID schoolLabel.setDeptSchoolId(deptSchoolInformation.getId()); schoolLabelList.add(schoolLabel); } - schoolLabelService.remove(Wrappers.query(new DeptSchoolLabel()).lambda() - .eq(DeptSchoolLabel::getDeptSchoolId, deptSchoolInformation.getId())); + schoolLabelService.remove(Wrappers.query(new DeptSchoolLabel()).lambda().eq(DeptSchoolLabel::getDeptSchoolId, deptSchoolInformation.getId())); schoolLabelService.saveBatch(schoolLabelList); } + String studentRange = information.getStudentRange(); List list = new ArrayList<>(); //分割招生范围 @@ -1205,8 +1167,7 @@ public class DeptServiceImpl extends ServiceImpl implements ID range.setDeptSchoolId(deptSchoolInformation.getId()); list.add(range); } - rangeService.remove(Wrappers.query(new DeptSchoolStudentRange()).lambda() - .eq(DeptSchoolStudentRange::getDeptSchoolId, deptSchoolInformation.getId())); + rangeService.remove(Wrappers.query(new DeptSchoolStudentRange()).lambda().eq(DeptSchoolStudentRange::getDeptSchoolId, deptSchoolInformation.getId())); rangeService.saveBatch(list); } @@ -1214,16 +1175,15 @@ public class DeptServiceImpl extends ServiceImpl implements ID @Override public Page findSchoolListByDeptId(Long deptId, String schoolName, Integer schoolType, - Integer natureType, String address, String tag, Page page, - Integer schoolOwnership) { + Integer natureType, String address, String tag, Page page, + Integer schoolOwnership) { - return informationService - .findSchoolListByDeptId(deptId, schoolName, schoolType, natureType, address, tag, page, schoolOwnership); + return informationService.findSchoolListByDeptId(deptId, schoolName, schoolType, natureType, address, tag, page, schoolOwnership); } @Override - public Page findSchoolPageList(String schoolName, List schoolType, List natureType, - Page page, String tag, Long deptId, List schoolOwnership) { + public Page findSchoolPageList(String schoolName, List schoolType, List natureType, Page page, String tag, Long deptId, List schoolOwnership) { + String[] tags = null; if (ObjectUtil.isNotEmpty(tag)) { @@ -1285,23 +1245,17 @@ public class DeptServiceImpl extends ServiceImpl implements ID } @Override - public List findParentDeptByChild(List deptIds) { - List childList = list(Wrappers.lambdaQuery(new Dept()).in(Dept::getDeptId, deptIds)); - List allDeptList = list(); - List parentDeptList = new ArrayList<>(); - return getParentDeptList(allDeptList, childList, parentDeptList); - } - - - private List getParentDeptList(List depts, List childrenDeptList, List parentDeptList) { - if (CollectionUtils.isEmpty(childrenDeptList)) { - return parentDeptList; - } - parentDeptList.addAll(childrenDeptList); - List parentIds = childrenDeptList.stream().map(Dept::getParentId).filter(Objects::nonNull) - .collect(Collectors.toList()); - //查询父级部门 - List parentDepts = depts.stream().filter(x -> parentIds.contains(x.getDeptId())).collect(Collectors.toList()); - return getParentDeptList(depts, parentDepts, parentDeptList); + public List listPaySchool(Long deptId, String schoolName) { + List list = deptSchoolInformationMapper.listPaySchool(deptId, schoolName); +// // 返回数据 +// List returnList = new ArrayList<>(); +// // 判断是否包含缴费信息 +// list.forEach(schoolInformationDTO -> { +// EduDeptPayType deptPayType = commonService.getDeptPayWay(schoolInformationDTO.getSchoolId()); +// if (Objects.nonNull(deptPayType)) { +// returnList.add(schoolInformationDTO); +// } +// }); + return list; } } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduAppTemplateServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduAppTemplateServiceImpl.java deleted file mode 100644 index 143bc67..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduAppTemplateServiceImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.system.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.system.EduAppTemplate; -import com.yida.data.system.mapper.EduAppTemplateMapper; -import com.yida.data.system.service.EduAppTemplateService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 企业微信服务商代开发应用模板service - * - * @author ZYJ - * @date 2022/11/3 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduAppTemplateServiceImpl extends ServiceImpl implements EduAppTemplateService { -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduBaseAppServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduBaseAppServiceImpl.java deleted file mode 100644 index 3a911d5..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduBaseAppServiceImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.system.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.system.EduBaseApp; -import com.yida.data.system.mapper.EduBaseAppMapper; -import com.yida.data.system.service.EduBaseAppService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 基础应用信息(本地配置) Service实现 - * - * @author ZYJ - * @date 2023-06-28 14:57:58 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduBaseAppServiceImpl extends ServiceImpl - implements EduBaseAppService { - - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduConsumeConfigServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduConsumeConfigServiceImpl.java deleted file mode 100644 index fcbcd93..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduConsumeConfigServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.system.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.consume.EduConsumeConfig; -import com.yida.data.system.mapper.EduConsumeConfigMapper; -import com.yida.data.system.service.EduConsumeConfigService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 学校消费机服务器信息Service实现 - * - * @author ZYJ - * @date 2023-04-06 17:31:11 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduConsumeConfigServiceImpl extends ServiceImpl - implements EduConsumeConfigService { - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduDeptFunctionServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduDeptFunctionServiceImpl.java deleted file mode 100644 index 30f3f2c..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduDeptFunctionServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.system.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.system.EduDeptFunction; -import com.yida.data.system.mapper.EduDeptFunctionMapper; -import com.yida.data.system.service.EduDeptFunctionService; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** - * 部门对应的第三方系统功能Service实现 - * - * @author ZYJ - * @date 2023-02-20 15:29:05 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class EduDeptFunctionServiceImpl extends ServiceImpl - implements EduDeptFunctionService { - - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduQywxServiceProviderSchoolServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduQywxServiceProviderSchoolServiceImpl.java deleted file mode 100644 index 4106d19..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduQywxServiceProviderSchoolServiceImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.yida.data.system.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.system.EduQywxServiceProviderSchool; -import com.yida.data.system.mapper.EduQywxServiceProviderSchoolMapper; -import com.yida.data.system.service.EduQywxServiceProviderSchoolService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 企业微信服务商-学校密文corpId对照表service - * - * @author ZYJ - * @date 2022/11/9 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduQywxServiceProviderSchoolServiceImpl extends ServiceImpl implements EduQywxServiceProviderSchoolService { - - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduQywxServiceProviderServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduQywxServiceProviderServiceImpl.java deleted file mode 100644 index 8dd6370..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/EduQywxServiceProviderServiceImpl.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.yida.data.system.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.system.EduQywxServiceProvider; -import com.yida.data.system.mapper.EduQywxServiceProviderMapper; -import com.yida.data.system.service.EduQywxServiceProviderService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 企业微信服务商service - * - * @author ZYJ - * @date 2022/11/3 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class EduQywxServiceProviderServiceImpl extends ServiceImpl implements EduQywxServiceProviderService { -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/MenuServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/MenuServiceImpl.java index 3d26174..fad8e00 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/MenuServiceImpl.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/MenuServiceImpl.java @@ -54,25 +54,7 @@ public class MenuServiceImpl extends ServiceImpl implements IM @Override public List findUserRealMenus(String username, Integer selectType) { checkUser(username); - List permissions = baseMapper.findUserPermissions(username); - List userRealMenus = baseMapper.findUserMenus(username, selectType); - permissions.addAll(userRealMenus.stream().filter(x -> x.getUserMenuType() == 0).collect(Collectors.toList())); - Iterator iterator = permissions.iterator(); - while (iterator.hasNext()) { - Menu next = iterator.next(); - for (Menu realMenu : userRealMenus) { - if (realMenu.getUserMenuType() == 1 && realMenu.getMenuId().equals(next.getMenuId())) { - iterator.remove(); - } - } - } - if (Objects.nonNull(selectType)) { - permissions = permissions.stream().filter(x -> x.getType().equals(selectType.toString())) - .peek(x->x.setUserMenuType(null)) - .distinct() - .collect(Collectors.toList()); - } - return permissions; + return this.baseMapper.findUserRealMenus(username, selectType); } @Override diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/QywxCallbackServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/QywxCallbackServiceImpl.java index d9e669e..f589f85 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/QywxCallbackServiceImpl.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/QywxCallbackServiceImpl.java @@ -1,68 +1,67 @@ package com.yida.data.system.service.impl; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.yida.data.common.core.entity.constant.AppConstant; +import com.yida.data.common.core.entity.constant.QywxConstant; import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.EduQywxServiceProvider; -import com.yida.data.common.core.entity.system.EduQywxServiceProviderSchool; -import com.yida.data.common.core.entity.system.enums.DeptTypeEnum; -import com.yida.data.common.core.enums.QywxCallbackTypeEnum; -import com.yida.data.rabbit.constant.RabbitConstant; -import com.yida.data.rabbit.util.RabbitUtil; +import com.yida.data.common.core.entity.system.EduApp; +import com.yida.data.common.core.utils.WxUtil; +import com.yida.data.common.service.CommonService; import com.yida.data.system.aes.WXBizMsgCrypt; -import com.yida.data.system.dto.QywxCallbackHandleDTO; -import com.yida.data.system.service.*; +import com.yida.data.system.service.IDeptService; +import com.yida.data.system.service.IUserService; +import com.yida.data.system.service.QywxCallbackService; +import com.yida.data.system.service.QywxService; +import com.yida.data.user.feign.RemoteStudentService; +import com.yida.data.user.feign.RemoteTeacherService; import io.seata.spring.annotation.GlobalTransactional; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.w3c.dom.Document; import org.w3c.dom.Element; +import org.w3c.dom.NodeList; import org.xml.sax.InputSource; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import java.io.StringReader; -/** - * 企业微信回调类 - * - * @author ZYJ - * @date 2023/10/27 17:15 - */ @Slf4j @Service @RequiredArgsConstructor public class QywxCallbackServiceImpl implements QywxCallbackService { private final IDeptService deptService; - private final EduQywxServiceProviderService eduQywxServiceProviderService; - private final EduQywxServiceProviderSchoolService eduQywxServiceProviderSchoolService; + private final IUserService userService; + private final QywxService qywxService; - private final RabbitUtil rabbitUtil; + private final WxUtil wxUtil; + private final CommonService commonService; + private final RemoteTeacherService remoteTeacherService; + private final RemoteStudentService remoteStudentService; @Override public String get(String corpId, String msgSignature, String timestamp, String nonce, String echostr) { Dept school = - deptService.getOne(Wrappers.lambdaQuery(new Dept()).eq(Dept::getCorpId, corpId).eq(Dept::getDeptType, DeptTypeEnum.SCHOOL_TYPE.getValue())); - log.info("部门验证url回调params:{},{},{},{},{}", corpId, msgSignature, timestamp, nonce, echostr); - WXBizMsgCrypt wxCpt = new WXBizMsgCrypt(school.getWxCallToken(), school.getWxAesKey(), + deptService.getOne(Wrappers.lambdaQuery(new Dept()).eq(Dept::getCorpId, corpId).eq(Dept::getDeptType, 0)); + log.info("params:{},{},{},{},{}", corpId, msgSignature, timestamp, nonce, echostr); + WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(school.getWxCallToken(), school.getWxAesKey(), school.getCorpId()); - String result = wxCpt.VerifyURL(msgSignature, timestamp, nonce, echostr); - log.info("部门验证url回调call valid result:{}", result); + String result = wxcpt.VerifyURL(msgSignature, timestamp, nonce, echostr); + log.info("call valid result:{}", result); return result; } @Override @GlobalTransactional - public String post(String corpId, String msgSignature, String timestamp, String nonce, String body) { - Dept school = deptService.getOne(Wrappers.lambdaQuery(new Dept()) - .eq(Dept::getCorpId, corpId) - .eq(Dept::getDeptType, DeptTypeEnum.SCHOOL_TYPE.getValue()) - ); - log.info("部门回调params:{},{},{},{},{}", corpId, msgSignature, timestamp, nonce, body); - WXBizMsgCrypt wxCpt = new WXBizMsgCrypt(school.getWxCallToken(), school.getWxAesKey(), + public void post(String corpId, String msgSignature, String timestamp, String nonce, String body) { + Dept school = + deptService.getOne(Wrappers.lambdaQuery(new Dept()).eq(Dept::getCorpId, corpId).eq(Dept::getDeptType, 0)); + log.info("params:{},{},{},{},{}", corpId, msgSignature, timestamp, nonce, body); + WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(school.getWxCallToken(), school.getWxAesKey(), school.getCorpId()); - String msg = wxCpt.DecryptMsg(msgSignature, timestamp, nonce, body); + String msg = wxcpt.DecryptMsg(msgSignature, timestamp, nonce, body); log.info("msg:{}", msg); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); StringReader sr = new StringReader(msg); @@ -74,155 +73,135 @@ public class QywxCallbackServiceImpl implements QywxCallbackService { document = db.parse(is); } catch (Exception e) { log.error("解析微信回调信息失败,msg:{}", e.getMessage()); - return "fail"; - } - // 发送消息给rabbitmq - rabbitUtil.convertAndSendMsg(RabbitConstant.QYWX_HANDLE_EXCHANGE, RabbitConstant.QYWX_HANDLE_KEY, - QywxCallbackHandleDTO.builder() - .root(document.getDocumentElement()) - .corpId(corpId) - .school(school) - .qywxCallbackTypeEnum(QywxCallbackTypeEnum.POST) - .build() - ); - return "success"; - } - - @Override - public String getNormal(String corpId, String msgSignature, String timestamp, String nonce, String echostr) { - EduQywxServiceProvider serviceProvider = - eduQywxServiceProviderService.getOne(Wrappers.lambdaQuery(new EduQywxServiceProvider()) - .eq(EduQywxServiceProvider::getCorpId, corpId)); - log.info("服务商验证url回调params:{},{},{},{},{}", corpId, msgSignature, timestamp, nonce, echostr); - WXBizMsgCrypt wxCpt = new WXBizMsgCrypt(serviceProvider.getWxCallToken(), serviceProvider.getWxAesKey(), - serviceProvider.getCorpId()); - String result = wxCpt.VerifyURL(msgSignature, timestamp, nonce, echostr, false); - log.info("服务商验证url回调call valid result:{}", result); - return result; - } - - @Override - public String postNormal(String corpId, String msgSignature, String timestamp, String nonce, String body) { - EduQywxServiceProvider serviceProvider = - eduQywxServiceProviderService.getOne(Wrappers.lambdaQuery(new EduQywxServiceProvider()) - .eq(EduQywxServiceProvider::getCorpId, corpId)); - log.info("服务商代开发应用模板接口回调params:{},{},{},{},{}", corpId, msgSignature, timestamp, nonce, body); - WXBizMsgCrypt wxCpt = new WXBizMsgCrypt(serviceProvider.getWxCallToken(), serviceProvider.getWxAesKey(), - serviceProvider.getCorpId()); - String msg = wxCpt.DecryptMsg(msgSignature, timestamp, nonce, body, false); - log.info("msg:{}", msg); - DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); - StringReader sr = new StringReader(msg); - InputSource is = new InputSource(sr); - DocumentBuilder db = null; - Document document = null; - try { - db = dbf.newDocumentBuilder(); - document = db.parse(is); - } catch (Exception e) { - log.error("服务商代开发应用模板接口回调信息失败,msg:{}", e.getMessage()); - return "fail"; - } - - // 发送消息给rabbitmq - rabbitUtil.convertAndSendMsg(RabbitConstant.QYWX_HANDLE_EXCHANGE, RabbitConstant.QYWX_HANDLE_KEY, - QywxCallbackHandleDTO.builder() - .root(document.getDocumentElement()) - .eduQywxServiceProvider(serviceProvider) - .qywxCallbackTypeEnum(QywxCallbackTypeEnum.POST_NORMAL) - .build() - ); - return "success"; - } - - @Override - public String getNormalCustomer(String providerCorpId, String corpId, String msgSignature, String timestamp, - String nonce, String echostr) { - Dept school = deptService.getOne(Wrappers.lambdaQuery(new Dept()).eq(Dept::getCorpId, corpId).eq(Dept::getDeptType, 0)); - log.info("服务商代开发应用客户验证url回调params:{},{},{},{},{},{}", providerCorpId, corpId, msgSignature, timestamp, nonce, echostr); - - EduQywxServiceProviderSchool providerSchool = eduQywxServiceProviderSchoolService.getOne(Wrappers.lambdaQuery(new EduQywxServiceProviderSchool()) - .eq(EduQywxServiceProviderSchool::getProviderCorpId, providerCorpId) - .eq(EduQywxServiceProviderSchool::getDeptOriginalCorpId, corpId)); - - WXBizMsgCrypt wxCpt = new WXBizMsgCrypt(school.getWxCallToken(), school.getWxAesKey(), - providerSchool.getDeptEncryptionCorpId()); - String result = wxCpt.VerifyURL(msgSignature, timestamp, nonce, echostr); - log.info("服务商代开发应用客户验证url回调call valid result:{}", result); - return result; - } - - @Override - public String postNormalCustomer(String providerCorpId, String corpId, String msgSignature, String timestamp, String nonce, String body) { - Dept school = - deptService.getOne(Wrappers.lambdaQuery(new Dept()).eq(Dept::getCorpId, corpId).eq(Dept::getDeptType, DeptTypeEnum.SCHOOL_TYPE.getValue())); - log.info("服务商代开发应用客户接口回调params: {},{},{},{},{},{}", providerCorpId, corpId, msgSignature, timestamp, nonce, body); - EduQywxServiceProviderSchool providerSchool = eduQywxServiceProviderSchoolService.getOne(Wrappers.lambdaQuery(new EduQywxServiceProviderSchool()) - .eq(EduQywxServiceProviderSchool::getProviderCorpId, providerCorpId) - .eq(EduQywxServiceProviderSchool::getDeptOriginalCorpId, corpId)); - - WXBizMsgCrypt wxCpt = new WXBizMsgCrypt(school.getWxCallToken(), school.getWxAesKey(), - providerSchool.getDeptEncryptionCorpId()); - String msg = wxCpt.DecryptMsg(msgSignature, timestamp, nonce, body); - log.info("msg:{}", msg); - return "success"; - } - - @Override - public String getEvent(String providerCorpId, String corpId, String msgSignature, String timestamp, String nonce, String echostr) { - Dept school = deptService.getOne(Wrappers.lambdaQuery(new Dept()).eq(Dept::getCorpId, corpId).eq(Dept::getDeptType, DeptTypeEnum.SCHOOL_TYPE.getValue())); - log.info("服务商代开发家校沟通验证url回调params:{},{},{},{},{},{}", providerCorpId, corpId, msgSignature, timestamp, nonce, echostr); - - EduQywxServiceProviderSchool providerSchool = eduQywxServiceProviderSchoolService.getOne(Wrappers.lambdaQuery(new EduQywxServiceProviderSchool()) - .eq(EduQywxServiceProviderSchool::getProviderCorpId, providerCorpId) - .eq(EduQywxServiceProviderSchool::getDeptOriginalCorpId, corpId)); - - WXBizMsgCrypt wxCpt = new WXBizMsgCrypt(school.getWxCallToken(), school.getWxAesKey(), - providerSchool.getDeptEncryptionCorpId()); - String result = wxCpt.VerifyURL(msgSignature, timestamp, nonce, echostr); - log.info("服务商代开发应用家校沟通验证url回调call valid result:{}", result); - return result; - } - - @Override - public String postEvent(String providerCorpId, String corpId, String msgSignature, String timestamp, String nonce, String body) { - Dept school = deptService.getOne(Wrappers.lambdaQuery(new Dept()).eq(Dept::getCorpId, corpId).eq(Dept::getDeptType, DeptTypeEnum.SCHOOL_TYPE.getValue())); - log.info("服务商代开发家校沟通回调params: {},{},{},{},{},{}", providerCorpId, corpId, msgSignature, timestamp, nonce, body); - EduQywxServiceProviderSchool providerSchool = eduQywxServiceProviderSchoolService.getOne(Wrappers.lambdaQuery(new EduQywxServiceProviderSchool()) - .eq(EduQywxServiceProviderSchool::getProviderCorpId, providerCorpId) - .eq(EduQywxServiceProviderSchool::getDeptOriginalCorpId, corpId)); - - WXBizMsgCrypt wxCpt = new WXBizMsgCrypt(school.getWxCallToken(), school.getWxAesKey(), - providerSchool.getDeptEncryptionCorpId()); - String msg = wxCpt.DecryptMsg(msgSignature, timestamp, nonce, body); - log.info("msg:{}", msg); - - DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); - StringReader sr = new StringReader(msg); - InputSource is = new InputSource(sr); - DocumentBuilder db = null; - Document document = null; - try { - db = dbf.newDocumentBuilder(); - document = db.parse(is); - } catch (Exception e) { - log.error("解析服务商代开发家校沟通回调信息失败,msg:{}", e.getMessage()); - return "false"; } Element root = document.getDocumentElement(); - if (root.getElementsByTagName("Event").getLength() == 0) { - log.info("暂不处理当前回调数据"); - return "success"; + + NodeList nodelist1 = root.getElementsByTagName("ChangeType"); + String changeType = nodelist1.item(0).getTextContent(); + + NodeList nodelist2 = root.getElementsByTagName("Event"); + String event = nodelist2.item(0).getTextContent(); + + if (QywxConstant.SCHOOL_CONTACT_EVENT.equals(event)) { + + EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SCHOOL, null, school.getDeptId()); + String id = root.getElementsByTagName("Id").item(0).getTextContent(); + + switch (changeType) { + case QywxConstant.SCHOOL_DEPT_CREATE_TYPE: + qywxService.createSchoolDept(corpId, wxUtil.getAccessToken(app.getWxCorpId(), + app.getWxSecret()), Long.valueOf(id), school); + break; + case QywxConstant.SCHOOL_DEPT_UPDATE_TYPE: + qywxService.updateSchoolDept(wxUtil.getAccessToken(app.getWxCorpId(), + app.getWxSecret()), Long.valueOf(id), school); + break; + case QywxConstant.SCHOOL_DEPT_DELETE_TYPE: + qywxService.deleteSchoolDept(Long.valueOf(id), school); + break; + case QywxConstant.STUDENT_CREATE_TYPE: + case QywxConstant.STUDENT_UPDATE_TYPE: + qywxService.changeStudent(wxUtil.getAccessToken(app.getWxCorpId(), + app.getWxSecret()), id, school); + break; + case QywxConstant.STUDENT_DELETE_TYPE: + qywxService.deleteStudent(id, school.getDeptId()); + break; + case QywxConstant.PARENT_CREATE_TYPE: + // 新增家长可能是创建学生时创建,等待2s确保学生创建完成 + try { + Thread.sleep(2000); + } catch (Exception e) { + + } + case QywxConstant.PARENT_UPDATE_TYPE: + qywxService.updateParent(wxUtil.getAccessToken(app.getWxCorpId(), + app.getWxSecret()), id, school.getDeptId()); + break; + case QywxConstant.PARENT_DELETE_TYPE: + qywxService.deleteParent(id, school.getDeptId()); + break; + case QywxConstant.PARENT_SUBSCRIBE_TYPE: + log.info("进入家长关注事件回调"); + // 调用家长关注发送通知方法 + qywxService.sendParentSubscribeMessage(id, school.getDeptId()); + break; + case QywxConstant.PARENT_UNSUBSCRIBE_TYPE: + log.info("进入家长取消关注事件回调"); + break; + default: + break; + } + } + + if (QywxConstant.CONTACT_EVENT.equals(event)) { + String userid = null, phone = null, name = null, gender = null, avatar = null, department = null, + isLeader = null, mainDepartment = null, email = null; + if (root.getElementsByTagName("UserID").getLength() != 0) { + userid = root.getElementsByTagName("UserID").item(0).getTextContent(); + } + if (root.getElementsByTagName("Mobile").getLength() != 0) { + phone = root.getElementsByTagName("Mobile").item(0).getTextContent(); + } + if (root.getElementsByTagName("Name").getLength() != 0) { + name = root.getElementsByTagName("Name").item(0).getTextContent(); + } + if (root.getElementsByTagName("Gender").getLength() != 0) { + gender = root.getElementsByTagName("Gender").item(0).getTextContent(); + } + if (root.getElementsByTagName("Avatar").getLength() != 0) { + avatar = root.getElementsByTagName("Avatar").item(0).getTextContent(); + } + if (root.getElementsByTagName("Department").getLength() != 0) { + department = root.getElementsByTagName("Department").item(0).getTextContent(); + } + if (root.getElementsByTagName("IsLeaderInDept").getLength() != 0) { + isLeader = root.getElementsByTagName("IsLeaderInDept").item(0).getTextContent(); + } + if (root.getElementsByTagName("MainDepartment").getLength() != 0) { + mainDepartment = root.getElementsByTagName("MainDepartment").item(0).getTextContent(); + } + if (root.getElementsByTagName("Email").getLength() != 0) { + email = root.getElementsByTagName("Email").item(0).getTextContent(); + } + + + String deptId = null, deptName = null, deptParentId = null, order = null; + if (root.getElementsByTagName("Id").getLength() != 0) { + deptId = root.getElementsByTagName("Id").item(0).getTextContent(); + } + if (root.getElementsByTagName("Name").getLength() != 0) { + deptName = root.getElementsByTagName("Name").item(0).getTextContent(); + } + if (root.getElementsByTagName("ParentId").getLength() != 0) { + deptParentId = root.getElementsByTagName("ParentId").item(0).getTextContent(); + } + if (root.getElementsByTagName("Order").getLength() != 0) { + order = root.getElementsByTagName("Order").item(0).getTextContent(); + } + + switch (changeType) { + case QywxConstant.USER_CREATE_TYPE: + qywxService.createUser(name, userid, phone, email, gender, avatar, department, isLeader, + mainDepartment, school); + break; + case QywxConstant.USER_UPDATE_TYPE: + qywxService.updateUser(name, userid, phone, email, gender, avatar, department, isLeader, + mainDepartment, school); + break; + case QywxConstant.USER_DELETE_TYPE: + qywxService.deleteUser(userid, school.getDeptId()); + break; + case QywxConstant.DEPT_CREATE_TYPE: + qywxService.createDept(deptId, deptName, deptParentId, order, school); + break; + case QywxConstant.DEPT_UPDATE_TYPE: + qywxService.updateDept(deptId, deptName, deptParentId, school.getDeptId()); + break; + case QywxConstant.DEPT_DELETE_TYPE: + qywxService.deleteDept(deptId, school.getDeptId()); + break; + } } - // 发送消息给rabbitmq - rabbitUtil.convertAndSendMsg(RabbitConstant.QYWX_HANDLE_EXCHANGE, RabbitConstant.QYWX_HANDLE_KEY, - QywxCallbackHandleDTO.builder() - .root(root) - .school(school) - .providerSchool(providerSchool) - .qywxCallbackTypeEnum(QywxCallbackTypeEnum.POST_EVENT) - .build() - ); - return "success"; } } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/QywxHandleServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/QywxHandleServiceImpl.java deleted file mode 100644 index 2a0607c..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/QywxHandleServiceImpl.java +++ /dev/null @@ -1,246 +0,0 @@ -package com.yida.data.system.service.impl; - -import cn.hutool.core.thread.ThreadUtil; -import com.yida.data.common.core.entity.constant.AppConstant; -import com.yida.data.common.core.entity.constant.QywxConstant; -import com.yida.data.common.core.entity.constant.QywxServiceProviderConstant; -import com.yida.data.common.core.entity.system.Dept; -import com.yida.data.common.core.entity.system.EduApp; -import com.yida.data.common.core.entity.system.EduQywxServiceProvider; -import com.yida.data.common.core.entity.system.EduQywxServiceProviderSchool; -import com.yida.data.common.core.utils.WxUtil; -import com.yida.data.common.service.CommonService; -import com.yida.data.system.dto.QywxCallbackHandleDTO; -import com.yida.data.system.service.QywxHandleService; -import com.yida.data.system.service.QywxService; -import com.yida.data.system.service.QywxServiceProviderService; -import io.seata.spring.annotation.GlobalTransactional; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; - -/** - * 企业微信回调mq处理类 - * - * @author ZYJ - * @date 2023/10/27 16:43 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class QywxHandleServiceImpl implements QywxHandleService { - - private final QywxService qywxService; - private final QywxServiceProviderService qywxServiceProviderService; - - private final WxUtil wxUtil; - private final CommonService commonService; - - @Override - @GlobalTransactional - public void handlePostCallback(QywxCallbackHandleDTO dto) { - Element root = dto.getRoot(); - String corpId = dto.getCorpId(); - Dept school = dto.getSchool(); - - NodeList nodeList1 = root.getElementsByTagName("ChangeType"); - String changeType = nodeList1.item(0).getTextContent(); - - NodeList nodeList2 = root.getElementsByTagName("Event"); - String event = nodeList2.item(0).getTextContent(); - - if (QywxConstant.SCHOOL_CONTACT_EVENT.equals(event)) { - - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SCHOOL, null, school.getDeptId()); - String id = root.getElementsByTagName("Id").item(0).getTextContent(); - - switch (changeType) { - case QywxConstant.SCHOOL_DEPT_CREATE_TYPE: - qywxService.createSchoolDept(corpId, wxUtil.getAccessToken(app.getWxCorpId(), - app.getWxSecret()), Long.valueOf(id), school); - break; - case QywxConstant.SCHOOL_DEPT_UPDATE_TYPE: - qywxService.updateSchoolDept(wxUtil.getAccessToken(app.getWxCorpId(), - app.getWxSecret()), Long.valueOf(id), school); - break; - case QywxConstant.SCHOOL_DEPT_DELETE_TYPE: - qywxService.deleteSchoolDept(Long.valueOf(id), school); - break; - case QywxConstant.STUDENT_CREATE_TYPE: - case QywxConstant.STUDENT_UPDATE_TYPE: - qywxService.changeStudent(wxUtil.getAccessToken(app.getWxCorpId(), - app.getWxSecret()), id, school); - break; - case QywxConstant.STUDENT_DELETE_TYPE: - qywxService.deleteStudent(id, school.getDeptId()); - break; - case QywxConstant.PARENT_CREATE_TYPE: - // 新增家长可能是创建学生时创建,等待2s确保学生创建完成 - ThreadUtil.sleep(2000); - case QywxConstant.PARENT_UPDATE_TYPE: - qywxService.updateParent(wxUtil.getAccessToken(app.getWxCorpId(), - app.getWxSecret()), id, school.getDeptId()); - break; - case QywxConstant.PARENT_DELETE_TYPE: - qywxService.deleteParent(id, school.getDeptId()); - break; - case QywxConstant.PARENT_SUBSCRIBE_TYPE: - log.info("进入家长关注事件回调"); - // 调用家长关注发送通知方法 - qywxService.sendParentSubscribeMessage(id, school.getDeptId()); - break; - case QywxConstant.PARENT_UNSUBSCRIBE_TYPE: - log.info("进入家长取消关注事件回调"); - break; - default: - break; - } - } - - if (QywxConstant.CONTACT_EVENT.equals(event)) { - String userid = null, phone = null, name = null, gender = null, avatar = null, department = null, - isLeader = null, mainDepartment = null, email = null; - if (root.getElementsByTagName("UserID").getLength() != 0) { - userid = root.getElementsByTagName("UserID").item(0).getTextContent(); - } - if (root.getElementsByTagName("Mobile").getLength() != 0) { - phone = root.getElementsByTagName("Mobile").item(0).getTextContent(); - } - if (root.getElementsByTagName("Name").getLength() != 0) { - name = root.getElementsByTagName("Name").item(0).getTextContent(); - } - if (root.getElementsByTagName("Gender").getLength() != 0) { - gender = root.getElementsByTagName("Gender").item(0).getTextContent(); - } - if (root.getElementsByTagName("Avatar").getLength() != 0) { - avatar = root.getElementsByTagName("Avatar").item(0).getTextContent(); - } - if (root.getElementsByTagName("Department").getLength() != 0) { - department = root.getElementsByTagName("Department").item(0).getTextContent(); - } - if (root.getElementsByTagName("IsLeaderInDept").getLength() != 0) { - isLeader = root.getElementsByTagName("IsLeaderInDept").item(0).getTextContent(); - } - if (root.getElementsByTagName("MainDepartment").getLength() != 0) { - mainDepartment = root.getElementsByTagName("MainDepartment").item(0).getTextContent(); - } - if (root.getElementsByTagName("Email").getLength() != 0) { - email = root.getElementsByTagName("Email").item(0).getTextContent(); - } - - - String deptId = null, deptName = null, deptParentId = null, order = null; - if (root.getElementsByTagName("Id").getLength() != 0) { - deptId = root.getElementsByTagName("Id").item(0).getTextContent(); - } - if (root.getElementsByTagName("Name").getLength() != 0) { - deptName = root.getElementsByTagName("Name").item(0).getTextContent(); - } - if (root.getElementsByTagName("ParentId").getLength() != 0) { - deptParentId = root.getElementsByTagName("ParentId").item(0).getTextContent(); - } - if (root.getElementsByTagName("Order").getLength() != 0) { - order = root.getElementsByTagName("Order").item(0).getTextContent(); - } - - switch (changeType) { - case QywxConstant.USER_CREATE_TYPE: - qywxService.createUser(name, userid, phone, email, gender, avatar, department, isLeader, - mainDepartment, school); - break; - case QywxConstant.USER_UPDATE_TYPE: - qywxService.updateUser(name, userid, phone, email, gender, avatar, department, isLeader, - mainDepartment, school); - break; - case QywxConstant.USER_DELETE_TYPE: - qywxService.deleteUser(userid, school.getDeptId()); - break; - case QywxConstant.DEPT_CREATE_TYPE: - qywxService.createDept(deptId, deptName, deptParentId, order, school); - break; - case QywxConstant.DEPT_UPDATE_TYPE: - qywxService.updateDept(deptId, deptName, deptParentId, school.getDeptId()); - break; - case QywxConstant.DEPT_DELETE_TYPE: - qywxService.deleteDept(deptId, school.getDeptId()); - break; - default: - break; - } - } - } - - @Override - @GlobalTransactional - public void handlePostNormalCallback(QywxCallbackHandleDTO dto) { - Element root = dto.getRoot(); - EduQywxServiceProvider serviceProvider = dto.getEduQywxServiceProvider(); - - // 通知消息类型 - NodeList nodeList = root.getElementsByTagName("InfoType"); - String infoType = nodeList.item(0).getTextContent(); - // 模板id - NodeList nodeListSuiteId = root.getElementsByTagName("SuiteId"); - String suiteId = nodeListSuiteId.item(0).getTextContent(); - // 通讯录变更 - if (QywxConstant.CONTACT_EVENT.equals(infoType)) { - log.info("模板回调进入通讯录变更事件"); - qywxServiceProviderService.handleConcat(root, serviceProvider, suiteId); - } - switch (infoType) { - // 安装应用授权 - case QywxServiceProviderConstant.SERVICE_CREATE_AUTH: - // 临时授权码 - NodeList nodeListAuthCode = root.getElementsByTagName("AuthCode"); - String authCode = nodeListAuthCode.item(0).getTextContent(); - qywxServiceProviderService.installTemplateApp(suiteId, authCode, serviceProvider); - break; - // 客户删除应用 - case QywxServiceProviderConstant.SERVICE_CANCEL_AUTH: - // 授权企业加密corpId - NodeList nodeListAuthCorpId = root.getElementsByTagName("AuthCorpId"); - String authCorpId = nodeListAuthCorpId.item(0).getTextContent(); - qywxServiceProviderService.deleteTemplateApp(suiteId, authCorpId, serviceProvider); - break; - // 待开发应用模板suite_ticket - case QywxServiceProviderConstant.TEMPLATE_SUITE_TICKET: - // 模板id - NodeList nodeListTicket = root.getElementsByTagName("SuiteTicket"); - String suiteTicket = nodeListTicket.item(0).getTextContent(); - qywxServiceProviderService.handleTemplateSuiteTicket(suiteId, suiteTicket); - break; - // 代开发应用重置secret - case QywxServiceProviderConstant.RESET_PERMANENT_CODE: - // 临时授权码 - NodeList nodeListResetAuthCode = root.getElementsByTagName("AuthCode"); - String resetAuthCode = nodeListResetAuthCode.item(0).getTextContent(); - qywxServiceProviderService.resetTemplateAppAuthCode(suiteId, resetAuthCode, serviceProvider); - break; - default: - break; - } - } - - @Override - @GlobalTransactional - public void handlePostEventCallback(QywxCallbackHandleDTO dto) { - Element root = dto.getRoot(); - Dept school = dto.getSchool(); - EduQywxServiceProviderSchool providerSchool = dto.getProviderSchool(); - - NodeList nodeListEvent = root.getElementsByTagName("Event"); - String event = nodeListEvent.item(0).getTextContent(); - - if (QywxConstant.SCHOOL_CONTACT_EVENT.equals(event)) { - log.info("进入家校沟通通讯录处理事件"); - qywxServiceProviderService.handleSchoolConcat(root, providerSchool, school); - } - // 通讯录变更 - if (QywxConstant.CONTACT_EVENT.equals(event)) { - log.info("进入通讯录变更事件"); - qywxServiceProviderService.handleConcat(root, providerSchool); - } - } -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/QywxServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/QywxServiceImpl.java index 9a0cb35..700d239 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/QywxServiceImpl.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/QywxServiceImpl.java @@ -95,7 +95,7 @@ public class QywxServiceImpl implements QywxService { } EduApp app = eduAppMapper.selectOne(Wrappers.lambdaQuery(new EduApp()).eq(EduApp::getDeptId, - schoolId).eq(EduApp::getCode, AppConstant.CONTACT_SCHOOL)); + schoolId).eq(EduApp::getName, AppConstant.CONTACT_SCHOOL)); List deptList = wxUtil.listSchoolDept(wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()), null); List camps = new ArrayList<>(); List section = new ArrayList<>(); @@ -113,7 +113,7 @@ public class QywxServiceImpl implements QywxService { dept.setDeptType(Integer.valueOf(map.get("type").toString())); dept.setDeptName(map.get("name").toString()); dept.setSchoolId(schoolId); - dept.setParentId(-schoolId); + dept.setParentId(schoolId); switch (dept.getDeptType()) { case 1: // 班级 @@ -164,8 +164,7 @@ public class QywxServiceImpl implements QywxService { wxIdAndDaHuaId.put(dept.getWxId(), dept.getDaHuaId()); } if (CollUtil.isNotEmpty(teacherList.get(dept.getWxId()))) { - remoteTeacherService.dealWxTeacherChange(schoolId, dept.getDeptId(), null, null, null, - teacherList.get(dept.getWxId()), dept.getWxId()); + remoteTeacherService.dealWxTeacherChange(schoolId, dept.getDeptId(), null, null, null, teacherList.get(dept.getWxId())); } } for (EduUserDept dept : section) { @@ -182,8 +181,7 @@ public class QywxServiceImpl implements QywxService { for (EduUserDept dept : section) { wxIdAndId.put(dept.getWxId(), dept.getDeptId()); if (CollUtil.isNotEmpty(teacherList.get(dept.getWxId()))) { - remoteTeacherService.dealWxTeacherChange(schoolId, dept.getParentId(), dept.getDeptId(), null, null, - teacherList.get(dept.getWxId()), dept.getWxId()); + remoteTeacherService.dealWxTeacherChange(schoolId, dept.getParentId(), dept.getDeptId(), null, null, teacherList.get(dept.getWxId())); } } for (EduUserDept dept : grade) { @@ -206,7 +204,7 @@ public class QywxServiceImpl implements QywxService { dept.getParentId(), dept.getDeptId(), null, - teacherList.get(dept.getWxId()), dept.getWxId()); + teacherList.get(dept.getWxId())); } } for (EduUserDept dept : clazz) { @@ -226,7 +224,7 @@ public class QywxServiceImpl implements QywxService { deptParent.get(dept.getParentId()), dept.getParentId(), dept.getDeptId(), - teacherList.get(dept.getWxId()), dept.getWxId()); + teacherList.get(dept.getWxId())); } } } @@ -356,7 +354,7 @@ public class QywxServiceImpl implements QywxService { public void initUser(Long schoolId, CurrentUser currentUser) { Dept school = deptService.getById(schoolId); EduApp app = eduAppMapper.selectOne(Wrappers.lambdaQuery(new EduApp()).eq(EduApp::getDeptId, - schoolId).eq(EduApp::getCode, AppConstant.CONTACT_SCHOOL)); + schoolId).eq(EduApp::getName, AppConstant.CONTACT_SCHOOL)); JSONArray student = wxUtil.getStudentList(wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()), 1L); int size = 2; @@ -491,10 +489,8 @@ public class QywxServiceImpl implements QywxService { List saveDeptList = new ArrayList<>(); List deptList = wxUtil.listSchoolDept(accessToken, deptWxId); for (Map map : deptList) { - // 查询的家校部门数据的部门id - Long wxDeptId = Long.valueOf(map.get("id").toString()); - EduUserDept dept = remoteUserDeptService.getUserDeptByDeptAndWx( - Collections.singletonList(-school.getDeptId()), wxDeptId).getData(); + EduUserDept dept = remoteUserDeptService.getUserDeptByDeptAndWx(Collections.singletonList(-school.getDeptId()), + Long.valueOf(map.get("id").toString())).getData(); dept.setDeptName((String) map.get("name")); if (ObjectUtil.isNotNull(map.get("order"))) { dept.setOrderNum((Integer) map.get("order")); @@ -509,7 +505,7 @@ public class QywxServiceImpl implements QywxService { classId = dept.getDeptId(); gradeId = dept.getParentId(); // 查询学段信息 - EduUserDept section = remoteUserDeptService.getParentByDeptId(gradeId).getData(); + EduUserDept section = this.remoteUserDeptService.getParentByDeptId(gradeId).getData(); sectionId = section.getDeptId(); campusId = section.getParentId(); break; @@ -517,7 +513,7 @@ public class QywxServiceImpl implements QywxService { // 年级 gradeId = dept.getDeptId(); sectionId = dept.getParentId(); - campusId = remoteUserDeptService.getByDeptId(sectionId).getData().getParentId(); + campusId = this.remoteUserDeptService.getByDeptId(sectionId).getData().getParentId(); break; case 3: // 学段 @@ -529,18 +525,13 @@ public class QywxServiceImpl implements QywxService { campusId = dept.getDeptId(); break; default: - log.error("家校部门类型错误, 部门信息:{}", dept); + log.error("家校部门类型错误: {}", dept.getDeptType()); break; } - // 仅处理当前部门负责人 - if (deptWxId.equals(wxDeptId)) { - // 获取老师列表 - List teacherList = (List) map.get("department_admins"); - log.info("teachers:{},dept:{}", teacherList, dept); - if (CollUtil.isNotEmpty(teacherList)) { - remoteTeacherService.dealWxTeacherChange(school.getDeptId(), campusId, sectionId, gradeId, classId, teacherList, deptWxId); - } - } + // 获取老师列表 + List teacherList = (List) map.get("department_admins"); + log.info("teachers:{},dept:{}", teacherList, dept); + remoteTeacherService.dealWxTeacherChange(school.getDeptId(), campusId, sectionId, gradeId, classId, teacherList); saveDeptList.add(dept); // 更新大华部门 if (school.getSchoolType().contains(Dept.TYPE_DAHUA)) { @@ -548,15 +539,14 @@ public class QywxServiceImpl implements QywxService { if (UserDeptTypeEnum.CAMPUS_TYPE.getValue().equals(dept.getDeptType())) { // 学区的上级大华id是学校大华id parentDaHuaId = school.getDahuaId(); - } else { - EduUserDept parent = remoteUserDeptService.getByDeptId(dept.getParentId()).getData(); + } else { + EduUserDept parent = this.remoteUserDeptService.getByDeptId(dept.getParentId()).getData(); parentDaHuaId = parent.getDaHuaId(); } DaHuaUtil.updateDept(dept.getDaHuaId(), parentDaHuaId, dept.getDeptName()); } } - remoteUserDeptService.updateBatchUserDept(saveDeptList); - log.info("修改家校部门完成"); + this.remoteUserDeptService.updateBatchUserDept(saveDeptList); } /** @@ -569,7 +559,7 @@ public class QywxServiceImpl implements QywxService { log.info("params:{},{},{}", deptWxId, -school.getDeptId(), userDept); if (userDept != null) { // 未在其他删除回调事件中被删除 - remoteUserDeptService.deleteUserDeptRecur( + this.remoteUserDeptService.deleteUserDeptRecur( DeleteUserDeptDTO.builder() .deptIdList(Collections.singletonList(userDept.getDeptId())) .school(school) @@ -602,20 +592,14 @@ public class QywxServiceImpl implements QywxService { */ @Override public void updateDept(String deptId, String deptName, String parentId, Long schoolId) { - Dept dept = deptService.getSysDeptByDeptAndWx(Collections.singletonList(schoolId), Long.valueOf(deptId)); + Dept dept = deptService.getSysDeptByDeptAndWx(Arrays.asList(schoolId), Long.valueOf(deptId)); dept.setDeptName(deptName); // 部门类型 dept.setDeptType(DeptTypeEnum.DEPARTMENT_TYPE.getValue()); dept.setWxId(Long.valueOf(deptId)); - if (StrUtil.isNotBlank(parentId)) { - Dept parent; - Long parentWxId = Long.valueOf(parentId); - if (parentWxId == 1L) { - parent = deptService.getById(schoolId); - } else { - parent = deptService.getSysDeptByDeptAndWx(Collections.singletonList(schoolId), parentWxId); - } - dept.setParentWxId(parentWxId); + if (parentId != null) { + Dept parent = deptService.getSysDeptByDeptAndWx(Arrays.asList(schoolId), Long.valueOf(parentId)); + dept.setParentWxId(Long.valueOf(parentId)); dept.setParentId(parent.getDeptId()); dept.setAreaId(parent.getAreaId()); } @@ -685,7 +669,7 @@ public class QywxServiceImpl implements QywxService { log.info("学生所属部门,student:{},deptId:{},wxId:{}", student, Objects.requireNonNull(dept).getDeptId(), deptWxId); EduStudent eduStudent = new EduStudent(); -// eduStudent.setType(0); + eduStudent.setType(0); eduStudent.setStuName(student.get("name").toString()); // 班级信息 eduStudent.setClassId(dept.getDeptId()); @@ -825,88 +809,6 @@ public class QywxServiceImpl implements QywxService { remoteTeacherService.saveStaffBySchoolAndWx(eduStaff); } -// /** -// * 响应更新企业用户事件 -// */ -// @Override -// public void updateUser(String name, String wxId, String phone, String email, -// String gender, String avatar, String department, String isLeader, -// String mainDepartment, Dept school) { -// EduStaff eduStaff = new EduStaff(); -// if (StrUtil.isNotBlank(phone)) { -// SystemUser user = userService.findByName(phone); -// if (user == null) { -// user = new SystemUser(); -// user.setAvatar(avatar); -// user.setMobile(phone); -// user.setEmail(email); -// user.setUsername(StrUtil.isNotBlank(phone) ? phone : email); -// user.setNickname(name); -// user.setDeptId(school.getDeptId()); -// user.setStatus("1"); -// user.setSex("1".equals(gender) ? "0" : "2".equals(gender) ? "1" : "2"); -// user.setUserOrigin(0); -// user.setTeacherWxId(wxId); -// user.setUserType(1); -// userService.createUser(user); -// eduStaff.setYidaAppUserId(user.getYidaAppUserId()); -// } -// eduStaff.setSysUserId(user.getUserId()); -// } else { -// SystemUser user = -// userService.getOne(Wrappers.lambdaQuery(new SystemUser()).eq(SystemUser::getTeacherWxId -// , wxId).eq(SystemUser::getDeptId, school.getDeptId())); -// if (user == null) { -// user = new SystemUser(); -// user.setAvatar(avatar); -// user.setMobile(phone); -// user.setEmail(email); -// user.setUsername(StrUtil.isNotBlank(phone) ? phone : email); -// user.setNickname(name); -// user.setDeptId(school.getDeptId()); -// user.setStatus("1"); -// user.setSex("1".equals(gender) ? "0" : "2".equals(gender) ? "1" : "2"); -// user.setUserOrigin(0); -// user.setTeacherWxId(wxId); -// user.setUserType(1); -// userService.createUser(user); -// eduStaff.setYidaAppUserId(user.getYidaAppUserId()); -// } -// eduStaff.setSysUserId(user.getUserId()); -// } -// eduStaff.setWxId(wxId); -// eduStaff.setMobile(phone); -// eduStaff.setName(name); -// eduStaff.setAvatar(avatar); -// eduStaff.setSchoolId(school.getDeptId()); -// eduStaff.setSchoolName(school.getDeptName()); -// eduStaff.setSex("1".equals(gender) ? "0" : "2".equals(gender) ? "1" : "2"); -// -// // 成员部门信息 -// String[] departmentList = StrUtil.split(department, ","); -// String[] isLeaderList = StrUtil.split(isLeader, ","); -// if (ArrayUtil.isNotEmpty(departmentList)) { -// List staffDeptList = new ArrayList<>(); -// for (int i = 0; i < departmentList.length; i++) { -// // 成员的每个部门信息 -// EduStaffDept staffDept = new EduStaffDept(); -// staffDept.setStaffName(eduStaff.getName()); -// staffDept.setDeptWxId(Long.valueOf(departmentList[i])); -// Dept sysDept = ("1".equals(departmentList[i]) -// ? school -// : deptService.getSysDeptByDeptAndWx(Arrays.asList(school.getDeptId()), staffDept.getDeptWxId())); -// staffDept.setDeptId(sysDept.getDeptId()); -// staffDept.setDeptName(sysDept.getDeptName()); -// staffDept.setIsLeader(Integer.valueOf(isLeaderList[i])); -// staffDept.setIsMain(ObjectUtil.equal(mainDepartment, -// departmentList[i]) ? 0 : 1); -// staffDeptList.add(staffDept); -// } -// eduStaff.setStaffDept(staffDeptList); -// } -// remoteTeacherService.saveStaffBySchoolAndWx(eduStaff); -// } - /** * 响应更新企业用户事件 */ @@ -914,12 +816,9 @@ public class QywxServiceImpl implements QywxService { public void updateUser(String name, String wxId, String phone, String email, String gender, String avatar, String department, String isLeader, String mainDepartment, Dept school) { - EduStaff eduStaff = remoteStaffService.getStaffByWxOrMobileOrOpenId(wxId, null, null, school.getDeptId()).getData(); - if (Objects.isNull(eduStaff)) { - eduStaff = new EduStaff(); - } + EduStaff eduStaff = new EduStaff(); if (StrUtil.isNotBlank(phone)) { - SystemUser user = userService.findByMobile(phone); + SystemUser user = userService.findByName(phone); if (user == null) { user = new SystemUser(); user.setAvatar(avatar); @@ -935,14 +834,12 @@ public class QywxServiceImpl implements QywxService { user.setUserType(1); userService.createUser(user); eduStaff.setYidaAppUserId(user.getYidaAppUserId()); - eduStaff.setSysUserId(user.getUserId()); } - eduStaff.setMobile(phone); + eduStaff.setSysUserId(user.getUserId()); } else { - SystemUser user = null; - if (Objects.nonNull(eduStaff.getId())) { - user = userService.getById(eduStaff.getSysUserId()); - } + SystemUser user = + userService.getOne(Wrappers.lambdaQuery(new SystemUser()).eq(SystemUser::getTeacherWxId + , wxId).eq(SystemUser::getDeptId, school.getDeptId())); if (user == null) { user = new SystemUser(); user.setAvatar(avatar); @@ -958,21 +855,16 @@ public class QywxServiceImpl implements QywxService { user.setUserType(1); userService.createUser(user); eduStaff.setYidaAppUserId(user.getYidaAppUserId()); - eduStaff.setSysUserId(user.getUserId()); } + eduStaff.setSysUserId(user.getUserId()); } eduStaff.setWxId(wxId); - if (StrUtil.isNotBlank(name)) { - eduStaff.setName(name); - } - if (StrUtil.isNotBlank(avatar)) { - eduStaff.setAvatar(avatar); - } + eduStaff.setMobile(phone); + eduStaff.setName(name); + eduStaff.setAvatar(avatar); eduStaff.setSchoolId(school.getDeptId()); eduStaff.setSchoolName(school.getDeptName()); - if (StrUtil.isNotBlank(gender)) { - eduStaff.setSex("1".equals(gender) ? "0" : "2".equals(gender) ? "1" : "2"); - } + eduStaff.setSex("1".equals(gender) ? "0" : "2".equals(gender) ? "1" : "2"); // 成员部门信息 String[] departmentList = StrUtil.split(department, ","); @@ -1017,7 +909,7 @@ public class QywxServiceImpl implements QywxService { */ @Override public void sendParentSubscribeMessage(String parentId, Long schoolId) { - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.INDEX_PARENT, null, schoolId); + EduApp app = commonService.getAppByCodeAndSchool(AppConstant.SCORE_PARENT, null, schoolId); // 创建发送通知实体类 TextSchoolNotice textSchoolNotice = new TextSchoolNotice(); // 传入被通知的家长id @@ -1041,47 +933,4 @@ public class QywxServiceImpl implements QywxService { log.error("家长关注发送通知方法失败, 当前学校-->{} 没有默认消息数据: ", schoolId); } } - - @Override - public void updateUserInfo(String userId, Dept school, EduApp app) { - // 查询用户详细信息 - JSONObject userDetail = wxUtil.getUserDetail(wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()), userId); - // 查询职工数据 - EduStaff eduStaff = remoteStaffService.getStaffByWxOrMobileOrOpenId(userId, null, null, school.getDeptId()).getData(); - if (Objects.isNull(eduStaff)) { - log.error("职工信息错误, userId: {}, schoolId: {}", userId, school.getDeptId()); - return; - } - String name = userDetail.getStr("name"); - eduStaff.setName(name); - // 职位 - eduStaff.setPosition(userDetail.getStr("position")); - - // 成员部门信息 - JSONArray departmentList = userDetail.getJSONArray("department"); - JSONArray leaderInDept = userDetail.getJSONArray("is_leader_in_dept"); - // 主部门信息 - String mainDepartment = userDetail.getStr("main_department"); - if (ArrayUtil.isNotEmpty(departmentList)) { - List staffDeptList = new ArrayList<>(); - for (int i = 0; i < departmentList.size(); i++) { - // 部门id - String deptId = String.valueOf(departmentList.get(i)); - // 成员的每个部门信息 - EduStaffDept staffDept = new EduStaffDept(); - staffDept.setStaffName(eduStaff.getName()); - staffDept.setDeptWxId(Long.valueOf(deptId)); - Dept sysDept = ("1".equals(deptId) - ? school - : deptService.getSysDeptByDeptAndWx(Collections.singletonList(school.getDeptId()), staffDept.getDeptWxId())); - staffDept.setDeptId(sysDept.getDeptId()); - staffDept.setDeptName(sysDept.getDeptName()); - staffDept.setIsLeader(Integer.valueOf(String.valueOf(leaderInDept.get(i)))); - staffDept.setIsMain(ObjectUtil.equal(mainDepartment, deptId) ? 0 : 1); - staffDeptList.add(staffDept); - } - eduStaff.setStaffDept(staffDeptList); - } - remoteTeacherService.saveStaffBySchoolAndWx(eduStaff); - } } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/QywxServiceProviderServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/QywxServiceProviderServiceImpl.java deleted file mode 100644 index 28f43bf..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/QywxServiceProviderServiceImpl.java +++ /dev/null @@ -1,371 +0,0 @@ -package com.yida.data.system.service.impl; - -import cc.mrbird.febs.common.redis.service.RedisService; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.thread.ThreadUtil; -import cn.hutool.json.JSONArray; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.yida.data.common.core.entity.constant.AppConstant; -import com.yida.data.common.core.entity.constant.CachePrefixConstant; -import com.yida.data.common.core.entity.constant.QywxConstant; -import com.yida.data.common.core.entity.constant.QywxServiceProviderConstant; -import com.yida.data.common.core.entity.notice.qywx.BaseStaffNotice; -import com.yida.data.common.core.entity.notice.qywx.inside.Text; -import com.yida.data.common.core.entity.system.*; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.enums.QywxAppTypeEnum; -import com.yida.data.common.core.utils.WxServiceProviderUtil; -import com.yida.data.common.core.utils.WxUtil; -import com.yida.data.common.service.CommonService; -import com.yida.data.system.service.*; -import com.yida.data.user.feign.RemoteStaffService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; - -import java.util.Objects; - -/** - * 企业微信服务商处理方法service - * - * @author ZYJ - * @date 2022/11/3 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class QywxServiceProviderServiceImpl implements QywxServiceProviderService { - - private final QywxService qywxService; - private final IDeptService deptService; - private final EduAppService eduAppService; - private final EduQywxServiceProviderService eduQywxServiceProviderService; - private final EduQywxServiceProviderSchoolService eduQywxServiceProviderSchoolService; - - private final WxUtil wxUtil; - private final RedisService redisService; - private final CommonService commonService; - private final WxServiceProviderUtil wxServiceProviderUtil; - - private final RemoteStaffService remoteStaffService; - - @Value("${febs.authRedirectUrl}") - private String authRedirectUrl; - - @Override - public void installTemplateApp(String suiteId, String authCode, EduQywxServiceProvider serviceProvider) { - Object oSuiteTicket = redisService.get(QywxServiceProviderConstant.SERVICE_SUITE_TICKET + suiteId); - if (Objects.isNull(oSuiteTicket)) { - log.error("安装授权应用失败, suiteId: {}, authCode: {}", suiteId, authCode); - return; - } - // 处理授权的企业微信信息 - handleAuthQywx(suiteId, authCode, String.valueOf(oSuiteTicket), serviceProvider); - } - - /** - * 处理授权的企业微信信息 - */ - @Async - public void handleAuthQywx(String suiteId, String authCode, String suiteTicket, EduQywxServiceProvider serviceProvider) { - // 获取应用模板信息 - EduAppTemplate appTemplate = commonService.getAppTemplateByTemplateId(suiteId, serviceProvider.getCorpId()); - // 获取第三方应用凭证 - String suiteAccessToken = wxServiceProviderUtil.getSuiteAccessToken(appTemplate.getTemplateId(), - appTemplate.getTemplateSecret(), suiteTicket); - // 获取企业永久授权码 - JSONObject jsonObject = wxServiceProviderUtil.getPermanentCode(suiteAccessToken, authCode); - // 获取授权企业微信id密文 - String authCorpId = jsonObject.getJSONObject("auth_corp_info").getStr("corpid"); - // 获取企业微信信息 -// EduQywxServiceProviderSchool providerSchool = (EduQywxServiceProviderSchool) redisService.hget(QywxServiceProviderConstant.PROVIDER_SCHOOL_CORP_DATA, serviceProvider.getCorpId() + "." + authCorpId); - EduQywxServiceProviderSchool providerSchool = commonService.getCorpByEncryptionData(serviceProvider.getCorpId(), authCorpId); - log.info("匹配的corpId信息: {}", providerSchool); - // 查询对应的部门信息 - Dept dept = deptService.getOne(Wrappers.lambdaQuery(new Dept()).eq(Dept::getCorpId, providerSchool.getDeptOriginalCorpId())); - // 生成企业应用信息 - EduApp eduApp = new EduApp(); - eduApp.setDeptId(dept.getDeptId()); - eduApp.setName(appTemplate.getTemplateName()); - eduApp.setCode(appTemplate.getTemplateCode()); - eduApp.setWxCorpId(dept.getCorpId()); - eduApp.setAppType(QywxAppTypeEnum.SERVICE_PROVIDER_APPLICATION_TYPE.getType()); - eduApp.setTemplateId(appTemplate.getTemplateId()); - eduApp.setWxSecret(jsonObject.getStr("permanent_code")); - eduApp.setServiceCorpId(serviceProvider.getCorpId()); - // 应用信息 - JSONArray agentArray = jsonObject.getJSONObject("auth_info").getJSONArray("agent"); - if (CollUtil.isNotEmpty(agentArray)) { - Object object = agentArray.get(0); - JSONObject obj = JSONUtil.parseObj(object); - eduApp.setWxAgentId(obj.getStr("agentid")); - } - eduAppService.save(eduApp); - } - - @Override - public void handleTemplateSuiteTicket(String suiteId, String suiteTicket) { - redisService.set(QywxServiceProviderConstant.SERVICE_SUITE_TICKET + suiteId, suiteTicket); - } - - @Override - public void deleteTemplateApp(String suiteId, String authCorpId, EduQywxServiceProvider serviceProvider) { - // 获取企业微信信息 -// EduQywxServiceProviderSchool providerSchool = (EduQywxServiceProviderSchool) redisService.hget(QywxServiceProviderConstant.PROVIDER_SCHOOL_CORP_DATA, serviceProvider.getCorpId() + "." + authCorpId); - EduQywxServiceProviderSchool providerSchool = commonService.getCorpByEncryptionData(serviceProvider.getCorpId(), authCorpId); - // 查询对应的部门信息 - Dept dept = deptService.getOne(Wrappers.lambdaQuery(new Dept()).eq(Dept::getCorpId, providerSchool.getDeptOriginalCorpId())); - // 查询对应应用信息 - EduApp eduApp = eduAppService.getOne(Wrappers.lambdaQuery(new EduApp()) - .eq(EduApp::getDeptId, dept.getDeptId()) - .eq(EduApp::getWxCorpId, dept.getCorpId()) - .eq(EduApp::getTemplateId, suiteId)); - // 删除对应应用 - eduAppService.removeById(eduApp.getId()); - redisService.hdel(CachePrefixConstant.SYS_APP + dept.getDeptId(), eduApp.getCode()); - } - - @Override - public void resetTemplateAppAuthCode(String suiteId, String resetAuthCode, EduQywxServiceProvider serviceProvider) { - Object oSuiteTicket = redisService.get(QywxServiceProviderConstant.SERVICE_SUITE_TICKET + suiteId); - // 获取应用模板信息 - EduAppTemplate appTemplate = commonService.getAppTemplateByTemplateId(suiteId, serviceProvider.getCorpId()); - // 获取第三方应用凭证 - String suiteAccessToken = wxServiceProviderUtil.getSuiteAccessToken(appTemplate.getTemplateId(), - appTemplate.getTemplateSecret(), String.valueOf(oSuiteTicket)); - // 获取企业永久授权码 - JSONObject jsonObject = wxServiceProviderUtil.getPermanentCode(suiteAccessToken, resetAuthCode); - // 获取授权企业微信id密文 - String authCorpId = jsonObject.getJSONObject("auth_corp_info").getStr("corpid"); - // 获取企业微信信息 -// EduQywxServiceProviderSchool providerSchool = (EduQywxServiceProviderSchool) redisService.hget(QywxServiceProviderConstant.PROVIDER_SCHOOL_CORP_DATA, serviceProvider.getCorpId() + "." + authCorpId); - EduQywxServiceProviderSchool providerSchool = commonService.getCorpByEncryptionData(serviceProvider.getCorpId(), authCorpId); - - eduAppService.update(Wrappers.lambdaUpdate(new EduApp()) - .eq(EduApp::getWxCorpId, providerSchool.getDeptOriginalCorpId()) - .eq(EduApp::getTemplateId, suiteId) - .set(EduApp::getWxSecret, jsonObject.getStr("permanent_code"))); - - // 查询对应的部门信息 - Dept dept = deptService.getOne(Wrappers.lambdaQuery(new Dept()).eq(Dept::getCorpId, providerSchool.getDeptOriginalCorpId())); - // 处理应用缓存 - EduApp eduApp = eduAppService.getOne(Wrappers.lambdaQuery(new EduApp()) - .eq(EduApp::getDeptId, dept.getDeptId()) - .eq(EduApp::getWxCorpId, dept.getCorpId()) - .eq(EduApp::getTemplateId, suiteId)); - redisService.hset(CachePrefixConstant.SYS_APP + dept.getDeptId(), eduApp.getCode(), eduApp); - } - - @Override - public void handleConcat(Element root, EduQywxServiceProvider serviceProvider, String suiteId) { - // 授权企业加密corpId - NodeList nodeListAuthCorpId = root.getElementsByTagName("AuthCorpId"); - String authCorpId = nodeListAuthCorpId.item(0).getTextContent(); - // 获取企业微信信息 - EduQywxServiceProviderSchool providerSchool = commonService.getCorpByEncryptionData(serviceProvider.getCorpId(), authCorpId); - - // 查询对应的学校信息 - Dept school = deptService.getOne(Wrappers.lambdaQuery(new Dept()) - .eq(Dept::getCorpId, providerSchool.getDeptOriginalCorpId())); - // 此处获取对应学校通讯录(人力资源)应用 - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, school.getDeptId()); - - // 操作通讯录人员 - String userId = null; - if (root.getElementsByTagName("UserID").getLength() != 0) { - userId = root.getElementsByTagName("UserID").item(0).getTextContent(); - } - - // 操作通讯录部门 - String deptId = null; - String deptParentId = null; - if (root.getElementsByTagName("Id").getLength() != 0) { - deptId = root.getElementsByTagName("Id").item(0).getTextContent(); - } - if (root.getElementsByTagName("ParentId").getLength() != 0) { - deptParentId = root.getElementsByTagName("ParentId").item(0).getTextContent(); - } - - // 获取修改类型 - NodeList nodeListChangeType = root.getElementsByTagName("ChangeType"); - String changeType = nodeListChangeType.item(0).getTextContent(); - switch (changeType) { - case QywxConstant.USER_CREATE_TYPE: - // 查询用户数据是否已存在 - EduStaff eduStaff = remoteStaffService.getStaffByWxOrMobileOrOpenId(userId, null, null, school.getDeptId()).getData(); - if (Objects.nonNull(eduStaff)) { - break; - } - String authUrl = commonService.setAuthUrl(school.getCorpId(), authRedirectUrl + "?schoolId=" + school.getDeptId(), app.getWxAgentId()); - // 发送授权消息给创建人员 - BaseStaffNotice textSchoolNotice = new BaseStaffNotice(); - Text text = new Text(); - textSchoolNotice.setText(text); - textSchoolNotice.setAgentid(app.getWxAgentId()); - text.setContent("智慧校园系统信息授权:请点击授权(请务必授权手机号!)"); - textSchoolNotice.setTouser(userId); - wxUtil.pushStaffNotice(wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()), textSchoolNotice); - break; - case QywxConstant.USER_UPDATE_TYPE: - // 仅在成员修改部门时回调 -// qywxService.updateUserInfo(userId, school, app); - break; - case QywxConstant.USER_DELETE_TYPE: - qywxService.deleteUser(userId, school.getDeptId()); - break; - case QywxConstant.DEPT_CREATE_TYPE: - // 获取单个部门详情 - JSONObject deptInfo = wxUtil.getDeptInfo(wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()), deptId); - String deptName = deptInfo.get("name").toString(); - String order = deptInfo.get("order").toString(); - qywxService.createDept(deptId, deptName, deptParentId, order, school); - break; - case QywxConstant.DEPT_UPDATE_TYPE: - // 仅在变更父部门时回调,且部门属性仅回调Id/ParentId两个字段 - // 获取单个部门详情 -// JSONObject updateDeptInfo = wxUtil.getDeptInfo(wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()), deptId); -// qywxService.updateDept(deptId, updateDeptInfo.get("name").toString(), deptParentId, school.getDeptId()); - break; - case QywxConstant.DEPT_DELETE_TYPE: - qywxService.deleteDept(deptId, school.getDeptId()); - break; - default: - break; - } - } - - @Override - public void handleConcat(Element root, EduQywxServiceProviderSchool providerSchool) { - // 查询对应的学校信息 - Dept school = deptService.getOne(Wrappers.lambdaQuery(new Dept()) - .eq(Dept::getCorpId, providerSchool.getDeptOriginalCorpId())); - // 此处获取对应学校通讯录(人力资源)应用 - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, school.getDeptId()); - - // 操作通讯录人员 - String userId = null; - if (root.getElementsByTagName("UserID").getLength() != 0) { - userId = root.getElementsByTagName("UserID").item(0).getTextContent(); - } - - // 操作通讯录部门 - String deptId = null; - String deptParentId = null; - if (root.getElementsByTagName("Id").getLength() != 0) { - deptId = root.getElementsByTagName("Id").item(0).getTextContent(); - } - if (root.getElementsByTagName("ParentId").getLength() != 0) { - deptParentId = root.getElementsByTagName("ParentId").item(0).getTextContent(); - } - // 获取修改类型 - NodeList nodeListChangeType = root.getElementsByTagName("ChangeType"); - String changeType = nodeListChangeType.item(0).getTextContent(); - switch (changeType) { - case QywxConstant.USER_UPDATE_TYPE: - // 仅在成员修改部门时回调 - qywxService.updateUserInfo(userId, school, app); - break; - case QywxConstant.DEPT_UPDATE_TYPE: - // 仅在变更父部门时回调,且部门属性仅回调Id/ParentId两个字段 - // 获取单个部门详情 - JSONObject updateDeptInfo = wxUtil.getDeptInfo(wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()), deptId); - qywxService.updateDept(deptId, updateDeptInfo.get("name").toString(), deptParentId, school.getDeptId()); - break; - default: - break; - } - } - - @Override - public void handleSchoolConcat(Element root, EduQywxServiceProviderSchool providerSchool, Dept school) { - // 获取修改类型 - NodeList nodeListChangeType = root.getElementsByTagName("ChangeType"); - String changeType = nodeListChangeType.item(0).getTextContent(); - // 此处获取对应学校家校通讯录应用 - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SCHOOL, null, school.getDeptId()); - String id = root.getElementsByTagName("Id").item(0).getTextContent(); - // 学校对应corpId - String corpId = providerSchool.getDeptOriginalCorpId(); - - switch (changeType) { - case QywxConstant.SCHOOL_DEPT_CREATE_TYPE: - qywxService.createSchoolDept(corpId, wxUtil.getAccessToken(app.getWxCorpId(), - app.getWxSecret()), Long.valueOf(id), school); - break; - case QywxConstant.SCHOOL_DEPT_UPDATE_TYPE: - qywxService.updateSchoolDept(wxUtil.getAccessToken(app.getWxCorpId(), - app.getWxSecret()), Long.valueOf(id), school); - break; - case QywxConstant.SCHOOL_DEPT_DELETE_TYPE: - qywxService.deleteSchoolDept(Long.valueOf(id), school); - break; - case QywxConstant.STUDENT_CREATE_TYPE: - case QywxConstant.STUDENT_UPDATE_TYPE: - // 判断是否为修改学生唯一键. 修改id会返回NewId字段作为唯一键 - if (root.getElementsByTagName("NewId").getLength() != 0) { - id = root.getElementsByTagName("NewId").item(0).getTextContent(); - } - qywxService.changeStudent(wxUtil.getAccessToken(app.getWxCorpId(), - app.getWxSecret()), id, school); - break; - case QywxConstant.STUDENT_DELETE_TYPE: - qywxService.deleteStudent(id, school.getDeptId()); - break; - case QywxConstant.PARENT_CREATE_TYPE: - // 新增家长可能是创建学生时创建,等待2s确保学生创建完成 - ThreadUtil.sleep(2000); - case QywxConstant.PARENT_UPDATE_TYPE: - qywxService.updateParent(wxUtil.getAccessToken(app.getWxCorpId(), - app.getWxSecret()), id, school.getDeptId()); - break; - case QywxConstant.PARENT_DELETE_TYPE: - qywxService.deleteParent(id, school.getDeptId()); - break; - case QywxConstant.PARENT_SUBSCRIBE_TYPE: - log.info("进入家长关注事件回调"); - // 调用家长关注发送通知方法 - qywxService.sendParentSubscribeMessage(id, school.getDeptId()); - break; - case QywxConstant.PARENT_UNSUBSCRIBE_TYPE: - log.info("进入家长取消关注事件回调"); - break; - default: - break; - } - } - - @Override - public void changeCorpId(String providerCorpId, String corpId) { - // 查询是否有关联数据 - EduQywxServiceProviderSchool providerSchool = eduQywxServiceProviderSchoolService.getOne(Wrappers.lambdaQuery(new EduQywxServiceProviderSchool()) - .eq(EduQywxServiceProviderSchool::getProviderCorpId, providerCorpId) - .eq(EduQywxServiceProviderSchool::getDeptOriginalCorpId, corpId)); - if (Objects.isNull(providerSchool)) { - providerSchool = new EduQywxServiceProviderSchool(); - providerSchool.setProviderCorpId(providerCorpId); - providerSchool.setDeptOriginalCorpId(corpId); - - EduQywxServiceProvider provider = eduQywxServiceProviderService.getOne(Wrappers.lambdaQuery(new EduQywxServiceProvider()) - .eq(EduQywxServiceProvider::getCorpId, providerCorpId)); - - // 转换corpId - String providerToken = wxServiceProviderUtil.getProviderToken(provider.getCorpId(), provider.getServiceProviderSecret()); - String convertCorpId = wxServiceProviderUtil.convertCorpId(providerToken, corpId); - providerSchool.setDeptEncryptionCorpId(convertCorpId); - eduQywxServiceProviderSchoolService.save(providerSchool); - - redisService.hset(QywxServiceProviderConstant.PROVIDER_SCHOOL_CORP_DATA, - provider.getCorpId() + "." + providerSchool.getDeptEncryptionCorpId(), providerSchool); - redisService.hset(QywxServiceProviderConstant.PROVIDER_SCHOOL_CORP_ORIGINAL_DATA, - provider.getCorpId() + "." + providerSchool.getDeptOriginalCorpId(), providerSchool); - } - } -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/RoleServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/RoleServiceImpl.java index b1fc92e..670bbf8 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/RoleServiceImpl.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/RoleServiceImpl.java @@ -69,7 +69,7 @@ public class RoleServiceImpl extends ServiceImpl implements IR } else { // 查询下级部门信息 List childIdList = this.deptService.findListByParent(Collections.singletonList(currentUser.getDeptId()), 0) - .stream().map(Dept::getDeptId).collect(Collectors.toList()); + .stream().map(Dept::getDeptId).collect(Collectors.toList()); // 查询自己创建的角色+当前登陆账号部门以下的角色 return this.baseMapper.findRoleCheckPage(page, role, childIdList, currentUser); } @@ -90,7 +90,7 @@ public class RoleServiceImpl extends ServiceImpl implements IR if (!RoleEnum.ROLE_ADMIN.equals(roleEnum)) { // 查询下级部门信息 List childIdList = this.deptService.findListByParent(Collections.singletonList(currentUser.getDeptId()), 0) - .stream().map(Dept::getDeptId).collect(Collectors.toList()); + .stream().map(Dept::getDeptId).collect(Collectors.toList()); // 学校、教育局、代理商及以下具有创建账号的数据 自己创建的角色+当前登陆账号部门以下的角色 if (CollectionUtils.isNotEmpty(childIdList)) { queryWrapper.in(Role::getCreateDeptId, childIdList).or(); @@ -142,9 +142,6 @@ public class RoleServiceImpl extends ServiceImpl implements IR String[] menuIds = StringUtils.splitByWholeSeparatorPreserveAllTokens(role.getMenuIds(), StringConstant.COMMA); setRoleMenus(role, menuIds); } - - //TODO 变更用户对应菜单权限 - } @Override diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/SystemUserMenuServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/SystemUserMenuServiceImpl.java index 6ff3d25..76d60d1 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/SystemUserMenuServiceImpl.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/SystemUserMenuServiceImpl.java @@ -1,28 +1,21 @@ package com.yida.data.system.service.impl; -import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.system.Menu; -import com.yida.data.common.core.entity.system.SystemUser; import com.yida.data.common.core.entity.system.SystemUserMenu; -import com.yida.data.common.core.enums.system.MenuShowType; import com.yida.data.system.dto.MenuForUserDTO; -import com.yida.data.system.mapper.MenuMapper; import com.yida.data.system.mapper.SystemUserMenuMapper; -import com.yida.data.system.mapper.UserMapper; import com.yida.data.system.service.IMenuService; import com.yida.data.system.service.SystemUserMenuService; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.stream.Collectors; -import javax.annotation.Resource; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + /** * @author ccl */ @@ -30,43 +23,18 @@ import org.springframework.transaction.annotation.Transactional; @Service("systemUserMenuService") @RequiredArgsConstructor @Transactional(rollbackFor = Exception.class) -public class SystemUserMenuServiceImpl extends ServiceImpl implements - SystemUserMenuService { +public class SystemUserMenuServiceImpl extends ServiceImpl implements SystemUserMenuService { @Resource private IMenuService menuService; - private final UserMapper userMapper; - private final MenuMapper menuMapper; - @Override public void saveUserMenu(MenuForUserDTO dto) { - - // 查询用户信息 - SystemUser systemUser = userMapper.selectById(dto.getUserId()); - // 查询用户角色权限信息 - List menuList = menuMapper.findUserPermissions(systemUser.getUsername()); - // 用户角色权限id信息 - List roleMenuIds = menuList.stream().map(Menu::getMenuId).collect(Collectors.toList()); - Collection all = CollUtil.unionAll(roleMenuIds, dto.getMenuId()); - // 需要添加的 - List addMenuIds = all.stream().filter(x -> !roleMenuIds.contains(x)).collect(Collectors.toList()); - // 需要删除的 - List removeMenuIds = all.stream().filter(x -> !dto.getMenuId().contains(x)).collect(Collectors.toList()); - // 保存数据 List menus = new ArrayList<>(); - for (Long menuId : addMenuIds) { + for (Long menuId : dto.getMenuId()) { SystemUserMenu systemUserMenu = new SystemUserMenu(); systemUserMenu.setMenuId(menuId); systemUserMenu.setUserId(dto.getUserId()); - systemUserMenu.setType(MenuShowType.ADD_TYPE.getType()); - menus.add(systemUserMenu); - } - for (Long menuId : removeMenuIds) { - SystemUserMenu systemUserMenu = new SystemUserMenu(); - systemUserMenu.setMenuId(menuId); - systemUserMenu.setUserId(dto.getUserId()); - systemUserMenu.setType(MenuShowType.REMOVE_TYPE.getType()); menus.add(systemUserMenu); } saveBatch(menus); @@ -75,23 +43,18 @@ public class SystemUserMenuServiceImpl extends ServiceImpl findUserMenu(Long userId) { - SystemUser systemUser = userMapper.selectById(userId); - List menuIds = menuMapper.findUserPermissions(systemUser.getUsername()).stream().map(Menu::getMenuId) - .collect(Collectors.toList()); - List userMenuList = list( - Wrappers.lambdaQuery(new SystemUserMenu()).eq(SystemUserMenu::getUserId, userId)); - for (Long excludeMenuId : userMenuList.stream().filter(x -> x.getType() == 1).map(SystemUserMenu::getMenuId) - .collect(Collectors.toList())) { - menuIds.remove(excludeMenuId); + List userMenuList = list(Wrappers.lambdaQuery(new SystemUserMenu()) + .eq(SystemUserMenu::getUserId, userId)); + List menuIds = new ArrayList<>(); + for (SystemUserMenu systemUserMenu : userMenuList) { + menuIds.add(systemUserMenu.getMenuId()); } - menuIds.addAll( - userMenuList.stream().filter(x -> x.getType() == 0).map(SystemUserMenu::getMenuId).collect(Collectors.toList())); return menuIds; } } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/UPayConfigServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/UPayConfigServiceImpl.java deleted file mode 100644 index 795ccd7..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/UPayConfigServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.system.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.system.UPayConfig; -import com.yida.data.system.mapper.UPayConfigMapper; -import com.yida.data.system.service.UPayConfigService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -/** - * 收钱吧学校信息配置Service实现 - * - * @author ZYJ - * @date 2023-03-20 17:53:13 - */ -@Slf4j -@Service -@RequiredArgsConstructor -@Transactional(rollbackFor = Exception.class) -public class UPayConfigServiceImpl extends ServiceImpl - implements UPayConfigService { - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/UserServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/UserServiceImpl.java index 756f800..1f84b86 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/UserServiceImpl.java +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/UserServiceImpl.java @@ -3,10 +3,7 @@ package com.yida.data.system.service.impl; import cc.mrbird.febs.common.redis.service.RedisService; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import cn.hutool.json.JSONArray; -import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -19,18 +16,14 @@ import com.yida.data.common.core.common.ResultBean; import com.yida.data.common.core.common.ResultMsgType; import com.yida.data.common.core.entity.CurrentUser; import com.yida.data.common.core.entity.QueryRequest; -import com.yida.data.common.core.entity.constant.AppConstant; import com.yida.data.common.core.entity.constant.CachePrefixConstant; import com.yida.data.common.core.entity.constant.FebsConstant; import com.yida.data.common.core.entity.constant.StringConstant; import com.yida.data.common.core.entity.school.EduYidaAppAccount; import com.yida.data.common.core.entity.system.*; import com.yida.data.common.core.entity.system.enums.RoleEnum; -import com.yida.data.common.core.entity.user.EduStaff; -import com.yida.data.common.core.entity.user.EduStaffDept; import com.yida.data.common.core.exception.FebsException; import com.yida.data.common.core.utils.*; -import com.yida.data.common.service.CommonService; import com.yida.data.rabbit.util.RabbitUtil; import com.yida.data.system.dto.MenuForUserDTO; import com.yida.data.system.dto.SchoolAdminAccountSaveDTO; @@ -40,8 +33,6 @@ import com.yida.data.system.mapper.RoleMapper; import com.yida.data.system.mapper.UserMapper; import com.yida.data.system.service.*; import com.yida.data.system.vo.SchoolAdminAccountSelectPageVO; -import com.yida.data.user.feign.RemoteStaffService; -import com.yida.data.user.feign.RemoteTeacherService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -69,20 +60,13 @@ public class UserServiceImpl extends ServiceImpl impleme private final IUserRoleService userRoleService; private final IUserDataPermissionService userDataPermissionService; private final PasswordEncoder passwordEncoder; + private final RemoteAuthService remoteAuthService; private final IRoleService roleService; + private final RedisService redisService; private final EduAppAccountService eduAppAccountService; private final EduYidaAppMapper eduYidaAppMapper; - - private final RemoteAuthService remoteAuthService; - private final RemoteStaffService remoteStaffService; - private final RemoteTeacherService remoteTeacherService; - - private final WxUtil wxUtil; private final RabbitUtil rabbitUtil; - private final RedisService redisService; - private final CommonService commonService; - private final static String AUTH_CLIENT_ID = "febs"; @Lazy @Resource @@ -93,11 +77,6 @@ public class UserServiceImpl extends ServiceImpl impleme return this.baseMapper.findUserByUsername(username); } - @Override - public SystemUser findByMobile(String mobile) { - return baseMapper.findUserByMobile(mobile); - } - @Override public IPage findUserDetailList(SystemUser user, QueryRequest request) { Page page = new Page<>(request.getPageNum(), request.getPageSize()); @@ -231,18 +210,18 @@ public class UserServiceImpl extends ServiceImpl impleme if (ArrayUtil.isNotEmpty(deptIds)) { setUserDataPermissions(user, deptIds); } -// // 保存用户对应菜单 -// String[] roles = StringUtils.splitByWholeSeparatorPreserveAllTokens(user.getRoleId(), StringConstant.COMMA); -// List list = Arrays.asList(roles); -// List menuId = baseMapper.findRoleId(list); -// List userMenuList = new ArrayList<>(); -// for (Long aLong : menuId) { -// SystemUserMenu systemUserMenu = new SystemUserMenu(); -// systemUserMenu.setUserId(user.getUserId()); -// systemUserMenu.setMenuId(aLong); -// userMenuList.add(systemUserMenu); -// } -// systemUserMenuService.saveBatch(userMenuList); + // 保存用户对应菜单 + String[] roles = StringUtils.splitByWholeSeparatorPreserveAllTokens(user.getRoleId(), StringConstant.COMMA); + List list = Arrays.asList(roles); + List menuId = baseMapper.findRoleId(list); + List userMenuList = new ArrayList<>(); + for (Long aLong : menuId) { + SystemUserMenu systemUserMenu = new SystemUserMenu(); + systemUserMenu.setUserId(user.getUserId()); + systemUserMenu.setMenuId(aLong); + userMenuList.add(systemUserMenu); + } + systemUserMenuService.saveBatch(userMenuList); return user; } @@ -280,16 +259,16 @@ public class UserServiceImpl extends ServiceImpl impleme // 删除用户对应权限数据 systemUserMenuService.remove(Wrappers.lambdaQuery(new SystemUserMenu()) .in(SystemUserMenu::getUserId, user.getUserId())); -// // 保存用户对应权限数据 -// List menuId = baseMapper.findRoleId(Arrays.asList(roles)); -// List userMenuList = new ArrayList<>(); -// for (Long aLong : menuId) { -// SystemUserMenu systemUserMenu = new SystemUserMenu(); -// systemUserMenu.setUserId(user.getUserId()); -// systemUserMenu.setMenuId(aLong); -// userMenuList.add(systemUserMenu); -// } -// systemUserMenuService.saveBatch(userMenuList); + // 保存用户对应权限数据 + List menuId = baseMapper.findRoleId(Arrays.asList(roles)); + List userMenuList = new ArrayList<>(); + for (Long aLong : menuId) { + SystemUserMenu systemUserMenu = new SystemUserMenu(); + systemUserMenu.setUserId(user.getUserId()); + systemUserMenu.setMenuId(aLong); + userMenuList.add(systemUserMenu); + } + systemUserMenuService.saveBatch(userMenuList); } @Override @@ -536,104 +515,5 @@ public class UserServiceImpl extends ServiceImpl impleme userRoleService.saveBatch(saveList); } } - - @Override - public void createStaff(Long schoolId, String code) { - // 学校信息 - Dept school = deptService.getById(schoolId); - // 此处获取对应学校通讯录(人力资源)应用 - EduApp app = commonService.getAppByCodeAndSchool(AppConstant.CONTACT_SELECT, null, schoolId); - // 获取access token - String accessToken = wxUtil.getAccessToken(school.getCorpId(), app.getWxSecret()); - // 获取访问用户身份 - JSONObject userInfo = wxUtil.getUserInfo(accessToken, code); - // 获取访问用户敏感信息 - JSONObject sensitiveInfo = wxUtil.getUserSensitiveInfo(accessToken, userInfo.getStr("user_ticket")); - String mobile = sensitiveInfo.getStr("mobile"); - if (StrUtil.isEmpty(mobile)) { - throw new FebsException("请授权手机号码!"); - } - // 成员UserID - String userId = sensitiveInfo.getStr("userid"); - // 查询用户详细信息 - JSONObject userDetail = wxUtil.getUserDetail(wxUtil.getAccessToken(app.getWxCorpId(), app.getWxSecret()), userId); - String name = userDetail.getStr("name"); - String avatar = sensitiveInfo.getStr("avatar"); - String email = sensitiveInfo.getStr("email"); - // 企业微信性别 0表示未定义,1表示男性,2表示女性 - String gender = sensitiveInfo.getStr("gender"); - // 主部门信息 - String mainDepartment = userDetail.getStr("main_department"); - - // 查询是否有职工数据 -// EduStaff eduStaff = remoteStaffService.getStaffByWxOrMobileOrOpenId(userId, null, null, school.getDeptId()).getData(); - EduStaff eduStaff = remoteStaffService.getStaffByWxOrMobileOrOpenId(null, mobile, null, school.getDeptId()).getData(); - if (Objects.isNull(eduStaff)) { - eduStaff = new EduStaff(); - eduStaff.setName(name); - eduStaff.setMobile(mobile); - eduStaff.setAvatar(avatar); - eduStaff.setEmail(email); - eduStaff.setSex("1".equals(gender) ? "0" : "2".equals(gender) ? "1" : "2"); - eduStaff.setWxId(userId); - eduStaff.setSchoolId(school.getDeptId()); - eduStaff.setSchoolName(school.getDeptName()); - eduStaff.setPosition(userDetail.getStr("position")); - } else { - // 修改不创建到企业微信的职工数据 - if (eduStaff.getWxPath() == 1) { - // 修改手机号码、用户id - eduStaff.setWxId(userId); - eduStaff.setWxPath(0); - } - } - - // 判断是否存在登录用户信息 - SystemUser user = findUserDetail(mobile); - if (user == null) { - user = new SystemUser(); - user.setAvatar(avatar); - user.setMobile(mobile); - user.setEmail(email); - user.setUsername(mobile); - user.setNickname(name); - user.setDeptId(school.getDeptId()); - user.setStatus("1"); - // 用户性别 0男, 1女, 2保密 - user.setSex("1".equals(gender) ? "0" : "2".equals(gender) ? "1" : "2"); - user.setUserOrigin(0); - user.setUserType(1); - createUser(user); - eduStaff.setYidaAppUserId(user.getYidaAppUserId()); - eduStaff.setSysUserId(user.getUserId()); - } else { - eduStaff.setSysUserId(user.getUserId()); - } - - // 成员部门信息 - JSONArray departmentList = userDetail.getJSONArray("department"); - JSONArray leaderInDept = userDetail.getJSONArray("is_leader_in_dept"); - if (ArrayUtil.isNotEmpty(departmentList)) { - List staffDeptList = new ArrayList<>(); - for (int i = 0; i < departmentList.size(); i++) { - // 部门id - String deptId = String.valueOf(departmentList.get(i)); - // 成员的每个部门信息 - EduStaffDept staffDept = new EduStaffDept(); - staffDept.setStaffName(eduStaff.getName()); - staffDept.setDeptWxId(Long.valueOf(deptId)); - Dept sysDept = ("1".equals(deptId) - ? school - : deptService.getSysDeptByDeptAndWx(Collections.singletonList(school.getDeptId()), staffDept.getDeptWxId())); - staffDept.setDeptId(sysDept.getDeptId()); - staffDept.setDeptName(sysDept.getDeptName()); - staffDept.setIsLeader(Integer.valueOf(String.valueOf(leaderInDept.get(i)))); - staffDept.setIsMain(ObjectUtil.equal(mainDepartment, deptId) ? 0 : 1); - staffDeptList.add(staffDept); - } - eduStaff.setStaffDept(staffDeptList); - } - remoteTeacherService.saveStaffBySchoolAndWx(eduStaff); - } } diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/WhiteListServiceImpl.java b/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/WhiteListServiceImpl.java deleted file mode 100644 index c7b1a97..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/java/com/yida/data/system/service/impl/WhiteListServiceImpl.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.yida.data.system.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yida.data.common.core.entity.system.WhiteList; -import com.yida.data.system.mapper.WhiteListMapper; -import com.yida.data.system.service.WhiteListService; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -/** - * 白名单Service实现 - * - * @author ZYJ - * @date 2023-02-20 14:15:49 - */ -@Service -@RequiredArgsConstructor -@Transactional(propagation = Propagation.SUPPORTS, readOnly = true) -public class WhiteListServiceImpl extends ServiceImpl - implements WhiteListService { - - -} diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/DeptSchoolInformationMapper.xml b/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/DeptSchoolInformationMapper.xml index 7dabe20..2a6b617 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/DeptSchoolInformationMapper.xml +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/DeptSchoolInformationMapper.xml @@ -2,259 +2,277 @@ - + SELECT distinct + a.id, + a.school_id, + a.school_name, + a.school_type, + a.school_profit_nature, + a.school_ownership, + a.logo_url, + a.phone, + a.introduction, + a.shunt_situation, + a.address, + a.zip_code, + a.email, + a.student_range, + GROUP_CONCAT(DISTINCT e.nature) as school_nature + FROM + `t_dept_school_information` a + LEFT JOIN t_dept_school_relate b ON a.school_id = b.school_id + LEFT JOIN t_dept_school_student_range d ON a.id = d.dept_school_id + LEFT JOIN t_dept_school_label c on c.dept_school_id = a.id + LEFT JOIN t_dept_school_information_nature e on a.id = e.information_id + WHERE + b.del_flag = 0 + + and c.label = #{tag} + + + AND b.dept_id = #{deptId} + - - and a.address like concat ('%',#{address},'%') - - - AND a.school_type = #{schoolType} - - - and e.nature = #{natureType} - - - and a.school_ownership =#{schoolOwnership} - - - AND a.school_name LIKE CONCAT('%',#{schoolName},'%') - - GROUP BY a.id - order by a.id + + and a.address like concat ('%',#{address},'%') + + + AND a.school_type = #{schoolType} + + + and e.nature = #{natureType} + + + and a.school_ownership =#{schoolOwnership} + + + AND a.school_name LIKE CONCAT('%',#{schoolName},'%') + + GROUP BY a.id + order by a.id - - + - + + - + + + + + + - - HAVING - - - and - - FIND_IN_SET( - #{item}, - GROUP_CONCAT( label ) - ) - - - - - - - diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/EduBaseAppMapper.xml b/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/EduBaseAppMapper.xml deleted file mode 100644 index 88675a7..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/EduBaseAppMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/EduConsumeConfigMapper.xml b/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/EduConsumeConfigMapper.xml deleted file mode 100644 index 254bd3c..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/EduConsumeConfigMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/EduDeptFunctionMapper.xml b/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/EduDeptFunctionMapper.xml deleted file mode 100644 index 07353ff..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/EduDeptFunctionMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/EduSchoolInquireCommonQuestionMapper.xml b/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/EduSchoolInquireCommonQuestionMapper.xml index c1a9448..9c8f1cd 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/EduSchoolInquireCommonQuestionMapper.xml +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/EduSchoolInquireCommonQuestionMapper.xml @@ -2,57 +2,57 @@ - - + + diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/MenuMapper.xml b/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/MenuMapper.xml index 85c4fa6..b9b6503 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/MenuMapper.xml +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/MenuMapper.xml @@ -1,61 +1,37 @@ - + - - - - - + + \ No newline at end of file diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/UPayConfigMapper.xml b/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/UPayConfigMapper.xml deleted file mode 100644 index 0d208ad..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/UPayConfigMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/UserMapper.xml b/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/UserMapper.xml index 00ae53a..926e3b2 100644 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/UserMapper.xml +++ b/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/UserMapper.xml @@ -121,14 +121,6 @@ group by a.USER_ID - - - + - + - + diff --git a/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/WhiteListMapper.xml b/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/WhiteListMapper.xml deleted file mode 100644 index 64bf220..0000000 --- a/febs-server/febs-server-system/febs-server-system-biz/src/main/resources/mapper/WhiteListMapper.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/febs-server/pom.xml b/febs-server/pom.xml index a3bcc9a..429a270 100644 --- a/febs-server/pom.xml +++ b/febs-server/pom.xml @@ -18,7 +18,6 @@ febs-server-system - febs-server-generator febs-server-job edu-user edu-device @@ -28,8 +27,6 @@ edu-card-server edu-mall edu-websocket - attendance -