├── .DS_Store ├── .gitattributes ├── README.md ├── pom.xml └── src ├── main ├── java │ └── cn │ │ └── stylefeng │ │ └── guns │ │ ├── GunsApplication.java │ │ ├── GunsServletInitializer.java │ │ ├── config │ │ ├── EhCacheConfig.java │ │ ├── SpringSessionConfig.java │ │ ├── SwaggerConfig.java │ │ ├── datasource │ │ │ ├── MultiDataSourceConfig.java │ │ │ └── SingleDataSourceConfig.java │ │ ├── properties │ │ │ ├── BeetlProperties.java │ │ │ └── GunsProperties.java │ │ └── web │ │ │ ├── BeetlConfig.java │ │ │ ├── ShiroConfig.java │ │ │ └── WebConfig.java │ │ ├── core │ │ ├── aop │ │ │ ├── GlobalExceptionHandler.java │ │ │ ├── LogAop.java │ │ │ └── PermissionAop.java │ │ ├── beetl │ │ │ ├── BeetlConfiguration.java │ │ │ └── ShiroExt.java │ │ ├── common │ │ │ ├── annotion │ │ │ │ ├── BussinessLog.java │ │ │ │ └── Permission.java │ │ │ ├── constant │ │ │ │ ├── Const.java │ │ │ │ ├── DatasourceEnum.java │ │ │ │ ├── JwtConstants.java │ │ │ │ ├── cache │ │ │ │ │ ├── Cache.java │ │ │ │ │ └── CacheKey.java │ │ │ │ ├── dictmap │ │ │ │ │ ├── DeleteDict.java │ │ │ │ │ ├── DeptDict.java │ │ │ │ │ ├── DictMap.java │ │ │ │ │ ├── LogDict.java │ │ │ │ │ ├── MenuDict.java │ │ │ │ │ ├── NoticeMap.java │ │ │ │ │ ├── RoleDict.java │ │ │ │ │ ├── UserDict.java │ │ │ │ │ ├── base │ │ │ │ │ │ ├── AbstractDictMap.java │ │ │ │ │ │ └── SystemDict.java │ │ │ │ │ └── factory │ │ │ │ │ │ └── DictFieldWarpperFactory.java │ │ │ │ ├── factory │ │ │ │ │ ├── ConstantFactory.java │ │ │ │ │ ├── IConstantFactory.java │ │ │ │ │ ├── MutiStrFactory.java │ │ │ │ │ └── PageFactory.java │ │ │ │ └── state │ │ │ │ │ ├── BizLogType.java │ │ │ │ │ ├── ExpenseState.java │ │ │ │ │ ├── LogSucceed.java │ │ │ │ │ ├── LogType.java │ │ │ │ │ ├── ManagerStatus.java │ │ │ │ │ ├── MenuOpenStatus.java │ │ │ │ │ ├── MenuStatus.java │ │ │ │ │ └── Order.java │ │ │ ├── controller │ │ │ │ ├── GlobalController.java │ │ │ │ └── GunsErrorView.java │ │ │ ├── exception │ │ │ │ ├── BizExceptionEnum.java │ │ │ │ └── InvalidKaptchaException.java │ │ │ ├── node │ │ │ │ ├── MenuNode.java │ │ │ │ └── ZTreeNode.java │ │ │ └── page │ │ │ │ └── PageInfoBT.java │ │ ├── interceptor │ │ │ ├── GunsUserFilter.java │ │ │ ├── RestApiInteceptor.java │ │ │ └── SessionHolderInterceptor.java │ │ ├── listener │ │ │ └── ConfigListener.java │ │ ├── log │ │ │ ├── LogManager.java │ │ │ ├── LogObjectHolder.java │ │ │ └── factory │ │ │ │ ├── LogFactory.java │ │ │ │ └── LogTaskFactory.java │ │ ├── shiro │ │ │ ├── ShiroDbRealm.java │ │ │ ├── ShiroKit.java │ │ │ ├── ShiroUser.java │ │ │ └── service │ │ │ │ ├── PermissionCheckService.java │ │ │ │ ├── UserAuthService.java │ │ │ │ └── impl │ │ │ │ ├── PermissionCheckServiceServiceImpl.java │ │ │ │ └── UserAuthServiceServiceImpl.java │ │ ├── tag │ │ │ └── DictSelectorTag.java │ │ └── util │ │ │ ├── ApiMenuFilter.java │ │ │ ├── CacheUtil.java │ │ │ ├── Contrast.java │ │ │ ├── JwtTokenUtil.java │ │ │ └── KaptchaUtil.java │ │ └── modular │ │ ├── api │ │ └── ApiController.java │ │ ├── doctor_point │ │ ├── controller │ │ │ └── DoctorPointController.java │ │ └── service │ │ │ ├── IDoctorPointService.java │ │ │ └── impl │ │ │ └── DoctorPointServiceImpl.java │ │ ├── medicinemanager │ │ ├── controller │ │ │ └── MedicineInfoController.java │ │ └── service │ │ │ ├── IMedicineInfoService.java │ │ │ └── impl │ │ │ └── MedicineInfoServiceImpl.java │ │ ├── pateint_health_manager │ │ ├── controller │ │ │ └── PatientHealthController.java │ │ └── service │ │ │ ├── IPatientHealthService.java │ │ │ └── impl │ │ │ └── PatientHealthServiceImpl.java │ │ ├── patient │ │ ├── controller │ │ │ └── PatientInfoController.java │ │ └── service │ │ │ ├── IPatientInfoService.java │ │ │ └── impl │ │ │ └── PatientInfoServiceImpl.java │ │ ├── patient_history_manager │ │ ├── controller │ │ │ └── PatientHistoryController.java │ │ └── service │ │ │ ├── IPatientHistoryService.java │ │ │ └── impl │ │ │ └── PatientHistoryServiceImpl.java │ │ ├── system │ │ ├── controller │ │ │ ├── BlackboardController.java │ │ │ ├── DeptController.java │ │ │ ├── DictController.java │ │ │ ├── KaptchaController.java │ │ │ ├── LogController.java │ │ │ ├── LoginController.java │ │ │ ├── LoginLogController.java │ │ │ ├── MenuController.java │ │ │ ├── NoticeController.java │ │ │ ├── RoleController.java │ │ │ └── UserMgrController.java │ │ ├── dao │ │ │ ├── DeptMapper.java │ │ │ ├── DictMapper.java │ │ │ ├── DoctorPointMapper.java │ │ │ ├── ExpenseMapper.java │ │ │ ├── InfoMapper.java │ │ │ ├── LoginLogMapper.java │ │ │ ├── MedicineInfoMapper.java │ │ │ ├── MenuMapper.java │ │ │ ├── NoticeMapper.java │ │ │ ├── OperationLogMapper.java │ │ │ ├── OrderMapper.java │ │ │ ├── PatientHealthMapper.java │ │ │ ├── PatientHistoryMapper.java │ │ │ ├── PatientInfoMapper.java │ │ │ ├── RelationMapper.java │ │ │ ├── RoleMapper.java │ │ │ ├── UserMapper.java │ │ │ └── mapping │ │ │ │ ├── DeptMapper.xml │ │ │ │ ├── DictMapper.xml │ │ │ │ ├── DoctorPointMapper.xml │ │ │ │ ├── ExpenseMapper.xml │ │ │ │ ├── InfoMapper.xml │ │ │ │ ├── LoginLogMapper.xml │ │ │ │ ├── MedicineInfoMapper.xml │ │ │ │ ├── MenuMapper.xml │ │ │ │ ├── NoticeMapper.xml │ │ │ │ ├── OperationLogMapper.xml │ │ │ │ ├── OrderMapper.xml │ │ │ │ ├── PatientHealthMapper.xml │ │ │ │ ├── PatientHistoryMapper.xml │ │ │ │ ├── PatientInfoMapper.xml │ │ │ │ ├── RelationMapper.xml │ │ │ │ ├── RoleMapper.xml │ │ │ │ └── UserMapper.xml │ │ ├── factory │ │ │ └── UserFactory.java │ │ ├── model │ │ │ ├── Dept.java │ │ │ ├── Dict.java │ │ │ ├── DoctorPoint.java │ │ │ ├── Expense.java │ │ │ ├── Info.java │ │ │ ├── LoginLog.java │ │ │ ├── MedicineInfo.java │ │ │ ├── Menu.java │ │ │ ├── Notice.java │ │ │ ├── OperationLog.java │ │ │ ├── Order.java │ │ │ ├── PatientHealth.java │ │ │ ├── PatientHistory.java │ │ │ ├── PatientInfo.java │ │ │ ├── Relation.java │ │ │ ├── Role.java │ │ │ └── User.java │ │ ├── service │ │ │ ├── IDeptService.java │ │ │ ├── IDictService.java │ │ │ ├── ILoginLogService.java │ │ │ ├── IMenuService.java │ │ │ ├── INoticeService.java │ │ │ ├── IOperationLogService.java │ │ │ ├── IRelationService.java │ │ │ ├── IRoleService.java │ │ │ ├── IUserService.java │ │ │ └── impl │ │ │ │ ├── DeptServiceImpl.java │ │ │ │ ├── DictServiceImpl.java │ │ │ │ ├── LoginLogServiceImpl.java │ │ │ │ ├── MenuServiceImpl.java │ │ │ │ ├── NoticeServiceImpl.java │ │ │ │ ├── OperationLogServiceImpl.java │ │ │ │ ├── RelationServiceImpl.java │ │ │ │ ├── RoleServiceImpl.java │ │ │ │ └── UserServiceImpl.java │ │ ├── transfer │ │ │ └── UserDto.java │ │ └── warpper │ │ │ ├── DeptWarpper.java │ │ │ ├── DictWarpper.java │ │ │ ├── LogWarpper.java │ │ │ ├── MenuWarpper.java │ │ │ ├── NoticeWrapper.java │ │ │ ├── RoleWarpper.java │ │ │ └── UserWarpper.java │ │ └── user │ │ ├── controller │ │ └── InfoController.java │ │ └── service │ │ ├── IInfoService.java │ │ └── impl │ │ └── InfoServiceImpl.java ├── resources │ ├── META-INF │ │ └── spring-devtools.properties │ ├── application.yml │ ├── ehcache.xml │ └── logback-spring.xml └── webapp │ ├── WEB-INF │ └── view │ │ ├── 404.html │ │ ├── blackboard.html │ │ ├── code │ │ └── code.html │ │ ├── common │ │ ├── _container.html │ │ ├── _right.html │ │ ├── _tab.html │ │ ├── _theme.html │ │ └── tags │ │ │ ├── NameCon.tag │ │ │ ├── SelectCon.tag │ │ │ ├── TimeCon.tag │ │ │ ├── avatar.tag │ │ │ ├── button.tag │ │ │ ├── input.tag │ │ │ ├── select.tag │ │ │ ├── table.tag │ │ │ └── tag_tips │ │ ├── doctor_point │ │ └── doctorPoint │ │ │ ├── doctorPoint.html │ │ │ ├── doctorPoint_add.html │ │ │ └── doctorPoint_edit.html │ │ ├── index.html │ │ ├── login.html │ │ ├── medicinemanager │ │ └── medicineInfo │ │ │ ├── medicineInfo.html │ │ │ ├── medicineInfo_add.html │ │ │ └── medicineInfo_edit.html │ │ ├── order_manager │ │ └── order │ │ │ ├── order.html │ │ │ ├── order_add.html │ │ │ └── order_edit.html │ │ ├── pateint_health_manager │ │ └── patientHealth │ │ │ ├── patientHealth.html │ │ │ ├── patientHealth_add.html │ │ │ └── patientHealth_edit.html │ │ ├── patient │ │ └── patientInfo │ │ │ ├── patientInfo.html │ │ │ ├── patientInfo_add.html │ │ │ └── patientInfo_edit.html │ │ ├── patient_history_manager │ │ └── patientHistory │ │ │ ├── patientHistory.html │ │ │ ├── patientHistory_add.html │ │ │ └── patientHistory_edit.html │ │ ├── system │ │ ├── code │ │ │ └── code.html │ │ ├── dept │ │ │ ├── dept.html │ │ │ ├── dept_add.html │ │ │ └── dept_edit.html │ │ ├── dict │ │ │ ├── dict.html │ │ │ ├── dict_add.html │ │ │ └── dict_edit.html │ │ ├── log │ │ │ ├── log.html │ │ │ └── login_log.html │ │ ├── menu │ │ │ ├── menu.html │ │ │ ├── menu_add.html │ │ │ └── menu_edit.html │ │ ├── notice │ │ │ ├── notice.html │ │ │ ├── notice_add.html │ │ │ └── notice_edit.html │ │ ├── patientHealth │ │ │ ├── patientHealth.html │ │ │ ├── patientHealth_add.html │ │ │ └── patientHealth_edit.html │ │ ├── role │ │ │ ├── role.html │ │ │ ├── role_add.html │ │ │ ├── role_assign.html │ │ │ └── role_edit.html │ │ └── user │ │ │ ├── user.html │ │ │ ├── user_add.html │ │ │ ├── user_chpwd.html │ │ │ ├── user_edit.html │ │ │ ├── user_roleassign.html │ │ │ └── user_view.html │ │ └── 病人 │ │ └── info │ │ ├── info.html │ │ ├── info_add.html │ │ └── info_edit.html │ └── static │ ├── css │ ├── _fstyle.css │ ├── bootstrap-rtl.css │ ├── bootstrap.min.css │ ├── font-awesome.css │ ├── font-awesome.min.css │ ├── login.css │ ├── patterns │ │ ├── header-profile-skin-1.png │ │ ├── header-profile-skin-3.png │ │ ├── header-profile.png │ │ └── shattered.png │ ├── plugins │ │ ├── bootstrap-table │ │ │ └── bootstrap-table.min.css │ │ ├── bootstrap-treetable │ │ │ └── bootstrap-treetable.css │ │ ├── chosen │ │ │ ├── chosen-sprite.png │ │ │ ├── chosen-sprite@2x.png │ │ │ └── chosen.css │ │ ├── iCheck │ │ │ ├── custom.css │ │ │ ├── green.png │ │ │ └── green@2x.png │ │ ├── images │ │ │ └── sprite-skin-flat.png │ │ ├── validate │ │ │ └── bootstrapValidator.min.css │ │ ├── webuploader │ │ │ └── webuploader.css │ │ └── ztree │ │ │ ├── demo.css │ │ │ ├── img │ │ │ ├── diy │ │ │ │ ├── 1_close.png │ │ │ │ ├── 1_open.png │ │ │ │ ├── 2.png │ │ │ │ ├── 3.png │ │ │ │ ├── 4.png │ │ │ │ ├── 5.png │ │ │ │ ├── 6.png │ │ │ │ ├── 7.png │ │ │ │ ├── 8.png │ │ │ │ └── 9.png │ │ │ ├── line_conn.gif │ │ │ ├── loading.gif │ │ │ ├── zTreeStandard.gif │ │ │ └── zTreeStandard.png │ │ │ └── zTreeStyle.css │ └── style.css │ ├── favicon.ico │ ├── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ ├── fontawesome-webfont.woff2 │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ ├── glyphicons-halflings-regular.woff │ └── glyphicons-halflings-regular.woff2 │ ├── img │ ├── bg.png │ ├── boy.gif │ ├── girl.gif │ ├── icons.png │ ├── loading-upload.gif │ ├── locked.png │ └── user.png │ ├── js │ ├── bootstrap.min.js │ ├── common │ │ ├── DateUtils.js │ │ ├── Feng.js │ │ ├── ajax-object.js │ │ ├── bootstrap-table-object.js │ │ ├── select-list-object.js │ │ ├── tree-table-object.js │ │ ├── web-upload-object.js │ │ └── ztree-object.js │ ├── contabs.js │ ├── content.js │ ├── hplus.js │ ├── jquery.min.js │ ├── jquery.min.map │ └── plugins │ │ ├── bootstrap-table │ │ ├── bootstrap-table-mobile.min.js │ │ ├── bootstrap-table.min.js │ │ └── locale │ │ │ ├── bootstrap-table-zh-CN.js │ │ │ └── bootstrap-table-zh-CN.min.js │ │ ├── bootstrap-treetable │ │ └── bootstrap-treetable.js │ │ ├── chosen │ │ └── chosen.jquery.js │ │ ├── iCheck │ │ └── icheck.min.js │ │ ├── laydate │ │ ├── laydate.js │ │ └── theme │ │ │ └── default │ │ │ ├── font │ │ │ ├── iconfont.eot │ │ │ ├── iconfont.svg │ │ │ ├── iconfont.ttf │ │ │ └── iconfont.woff │ │ │ └── laydate.css │ │ ├── layer │ │ ├── layer.js │ │ ├── mobile │ │ │ ├── layer.js │ │ │ └── need │ │ │ │ └── layer.css │ │ └── theme │ │ │ └── default │ │ │ ├── icon-ext.png │ │ │ ├── icon.png │ │ │ ├── layer.css │ │ │ ├── loading-0.gif │ │ │ ├── loading-1.gif │ │ │ └── loading-2.gif │ │ ├── metisMenu │ │ └── jquery.metisMenu.js │ │ ├── pace │ │ └── pace.min.js │ │ ├── slimscroll │ │ └── jquery.slimscroll.min.js │ │ ├── validate │ │ ├── additional-methods.min.js │ │ ├── bootstrapValidator.min.js │ │ └── zh_CN.js │ │ ├── wangEditor │ │ └── wangEditor.js │ │ ├── webuploader │ │ ├── Uploader.swf │ │ ├── webuploader.css │ │ ├── webuploader.custom.js │ │ ├── webuploader.custom.min.js │ │ ├── webuploader.fis.js │ │ ├── webuploader.flashonly.js │ │ ├── webuploader.flashonly.min.js │ │ ├── webuploader.html5only.js │ │ ├── webuploader.html5only.min.js │ │ ├── webuploader.js │ │ ├── webuploader.min.js │ │ ├── webuploader.noimage.js │ │ ├── webuploader.noimage.min.js │ │ ├── webuploader.nolog.js │ │ ├── webuploader.nolog.min.js │ │ ├── webuploader.withoutimage.js │ │ └── webuploader.withoutimage.min.js │ │ └── ztree │ │ └── jquery.ztree.all.min.js │ └── modular │ ├── code │ └── gen.js │ ├── doctor_point │ └── doctorPoint │ │ ├── doctorPoint.js │ │ └── doctorPoint_info.js │ ├── flowable │ ├── expense │ │ ├── expense.js │ │ └── expense_info.js │ └── process │ │ ├── process.js │ │ └── process_info.js │ ├── medicinemanager │ └── medicineInfo │ │ ├── medicineInfo.js │ │ └── medicineInfo_info.js │ ├── order_manager │ └── order │ │ ├── order.js │ │ └── order_info.js │ ├── pateint_health_manager │ └── patientHealth │ │ ├── patientHealth.js │ │ └── patientHealth_info.js │ ├── patient │ └── patientInfo │ │ ├── patientInfo.js │ │ └── patientInfo_info.js │ ├── patient_history_manager │ └── patientHistory │ │ ├── patientHistory.js │ │ └── patientHistory_info.js │ ├── patient_info │ └── info │ │ ├── info.js │ │ └── info_info.js │ ├── system │ ├── code │ │ └── code.js │ ├── dept │ │ ├── dept.js │ │ └── dept_info.js │ ├── dict │ │ ├── dict.js │ │ └── dict_info.js │ ├── log │ │ ├── log.js │ │ └── login_log.js │ ├── menu │ │ ├── menu.js │ │ └── menu_info.js │ ├── notice │ │ ├── notice.js │ │ └── notice_info.js │ ├── patientHealth │ │ ├── patientHealth.js │ │ └── patientHealth_info.js │ ├── role │ │ ├── role.js │ │ └── role_info.js │ └── user │ │ ├── user.js │ │ └── user_info.js │ └── 病人 │ └── info │ ├── info.js │ └── info_info.js └── test ├── java └── cn │ └── stylefeng │ └── guns │ ├── base │ └── BaseJunit.java │ ├── multi │ ├── entity │ │ └── Test.java │ ├── mapper │ │ ├── TestMapper.java │ │ └── mapping │ │ │ └── TestMapper.xml │ ├── service │ │ ├── TestService.java │ │ └── impl │ │ │ └── TestServiceImpl.java │ └── test │ │ └── BizTest.java │ ├── shiro │ └── Base64Test.java │ └── system │ ├── BlackBoardTest.java │ ├── DeptTest.java │ ├── DictTest.java │ ├── MenuTest.java │ └── UserTest.java └── sql └── test.sql /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/.DS_Store -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=java 2 | *.css linguist-language=java 3 | *.html linguist-language=java -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 全目录 2 | 3 | [更多系统、论文,供君选择 ~~>](https://www.yuque.com/wisebit/blog) 4 | 5 | # 115.CommunityElderlyCareComprehensiveServicePlatform 6 | 7 |

群: 983063232(大佬群 2TB学习资料,讲解)(入群获取sql文件)

8 | 9 |

115.社区养老医疗综合服务平台

10 | 11 | 12 |

13 | 14 | 15 | 16 | 17 |

18 | 19 | # 简介 20 | 21 | 22 | > 本代码来源于网络,仅供学习参考使用,请入群(983063232)后联系群主索要sql文件! 23 | > 24 | > 提供1.远程部署/2.修改代码/3.设计文档指导/4.框架代码讲解等服务 25 | > 26 | > username:admin password:111111 27 | 28 | 29 | 30 | # 环境 31 | 32 | - IntelliJ IDEA 2009.3 33 | 34 | - Mysql 5.7.26 35 | 36 | - Tomcat 7.0.73 37 | 38 | - JDK 1.8 39 | 40 | 41 | 42 | 43 | ## 缩略图 44 | 45 | ![](https://bitwise.oss-cn-heyuan.aliyuncs.com/2024/9/10/689c4e75-a233-4202-88bb-e19dfe14954c.png) 46 | ![](https://bitwise.oss-cn-heyuan.aliyuncs.com/2024/9/10/d2f29af6-6343-4ecc-9966-994b125a4a3a.png) 47 | ![](https://bitwise.oss-cn-heyuan.aliyuncs.com/2024/9/10/266cd465-074c-4331-8aef-5f6e9acdd5c0.png) 48 | ![](https://bitwise.oss-cn-heyuan.aliyuncs.com/2024/9/10/74643125-5a13-4c9f-b4cc-3ababf7f2161.png) 49 | ![](https://bitwise.oss-cn-heyuan.aliyuncs.com/2024/9/10/552ddd90-b6f7-4321-a101-106e6a200ced.png) 50 | 51 | 52 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/GunsApplication.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns; 17 | 18 | import cn.stylefeng.roses.core.config.WebAutoConfiguration; 19 | import org.slf4j.Logger; 20 | import org.slf4j.LoggerFactory; 21 | import org.springframework.boot.SpringApplication; 22 | import org.springframework.boot.autoconfigure.SpringBootApplication; 23 | 24 | /** 25 | * SpringBoot方式启动类 26 | * 27 | * @author stylefeng 28 | * @Date 2017/5/21 12:06 29 | */ 30 | @SpringBootApplication(exclude = WebAutoConfiguration.class) 31 | public class GunsApplication { 32 | 33 | private final static Logger logger = LoggerFactory.getLogger(GunsApplication.class); 34 | 35 | public static void main(String[] args) { 36 | SpringApplication.run(GunsApplication.class, args); 37 | logger.info("GunsApplication is success!"); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/GunsServletInitializer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns; 17 | 18 | import org.springframework.boot.builder.SpringApplicationBuilder; 19 | import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; 20 | 21 | /** 22 | * Guns Web程序启动类 23 | * 24 | * @author fengshuonan 25 | * @date 2017-05-21 9:43 26 | */ 27 | public class GunsServletInitializer extends SpringBootServletInitializer { 28 | 29 | @Override 30 | protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { 31 | return builder.sources(GunsApplication.class); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/config/SpringSessionConfig.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.config; 17 | 18 | import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; 19 | 20 | /** 21 | * spring session配置 22 | * 23 | * @author fengshuonan 24 | * @date 2017-07-13 21:05 25 | */ 26 | //@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 1800) //session过期时间 如果部署多机环境,需要打开注释 27 | @ConditionalOnProperty(prefix = "guns", name = "spring-session-open", havingValue = "true") 28 | public class SpringSessionConfig { 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/annotion/BussinessLog.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.annotion; 17 | 18 | import cn.stylefeng.guns.core.common.constant.dictmap.base.AbstractDictMap; 19 | import cn.stylefeng.guns.core.common.constant.dictmap.base.SystemDict; 20 | 21 | import java.lang.annotation.*; 22 | 23 | /** 24 | * 标记需要做业务日志的方法 25 | * 26 | * @author fengshuonan 27 | * @date 2017-03-31 12:46 28 | */ 29 | @Inherited 30 | @Retention(RetentionPolicy.RUNTIME) 31 | @Target({ElementType.METHOD}) 32 | public @interface BussinessLog { 33 | 34 | /** 35 | * 业务的名称,例如:"修改菜单" 36 | */ 37 | String value() default ""; 38 | 39 | /** 40 | * 被修改的实体的唯一标识,例如:菜单实体的唯一标识为"id" 41 | */ 42 | String key() default "id"; 43 | 44 | /** 45 | * 字典(用于查找key的中文名称和字段的中文名称) 46 | */ 47 | Class dict() default SystemDict.class; 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/annotion/Permission.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.annotion; 17 | 18 | import java.lang.annotation.*; 19 | 20 | /** 21 | * 权限注解 用于检查权限 规定访问权限 22 | * 23 | * @example @Permission({role1,role2}) 24 | * @example @Permission 25 | */ 26 | @Inherited 27 | @Retention(RetentionPolicy.RUNTIME) 28 | @Target({ElementType.METHOD}) 29 | public @interface Permission { 30 | 31 | /** 32 | *

角色英文名称

33 | *

使用注解时加上这个值表示限制只有某个角色的才可以访问对应的资源

34 | *

常用在某些资源限制只有超级管理员角色才可访问

35 | */ 36 | String[] value() default {}; 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/constant/Const.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.constant; 17 | 18 | /** 19 | * 系统常量 20 | * 21 | * @author fengshuonan 22 | * @date 2017年2月12日 下午9:42:53 23 | */ 24 | public interface Const { 25 | 26 | /** 27 | * 系统默认的管理员密码 28 | */ 29 | String DEFAULT_PWD = "111111"; 30 | 31 | /** 32 | * 管理员角色的名字 33 | */ 34 | String ADMIN_NAME = "administrator"; 35 | 36 | /** 37 | * 管理员id 38 | */ 39 | Integer ADMIN_ID = 1; 40 | 41 | /** 42 | * 超级管理员角色id 43 | */ 44 | Integer ADMIN_ROLE_ID = 1; 45 | 46 | /** 47 | * 接口文档的菜单名 48 | */ 49 | String API_MENU_NAME = "接口文档"; 50 | 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/constant/DatasourceEnum.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.constant; 17 | 18 | /** 19 | * 多数据源的枚举 20 | * 21 | * @author fengshuonan 22 | * @date 2017年3月5日 上午10:15:02 23 | */ 24 | public interface DatasourceEnum { 25 | 26 | String DATA_SOURCE_GUNS = "dataSourceGuns"; //guns数据源 27 | 28 | String DATA_SOURCE_BIZ = "dataSourceBiz"; //其他业务的数据源 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/constant/JwtConstants.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.constant; 17 | 18 | /** 19 | * jwt相关配置 20 | * 21 | * @author fengshuonan 22 | * @date 2017-08-23 9:23 23 | */ 24 | public interface JwtConstants { 25 | 26 | String AUTH_HEADER = "Authorization"; 27 | 28 | String SECRET = "defaultSecret"; 29 | 30 | Long EXPIRATION = 604800L; 31 | 32 | String AUTH_PATH = "/gunsApi/auth"; 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/constant/cache/Cache.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.constant.cache; 17 | 18 | /** 19 | * 所有缓存名称的集合 20 | * 21 | * @author fengshuonan 22 | * @date 2017-04-24 21:56 23 | */ 24 | public interface Cache { 25 | 26 | /** 27 | * 常量缓存 28 | */ 29 | String CONSTANT = "CONSTANT"; 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/constant/cache/CacheKey.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.constant.cache; 17 | 18 | /** 19 | * 缓存标识前缀集合,常用在ConstantFactory类中 20 | * 21 | * @author fengshuonan 22 | * @date 2017-04-25 9:37 23 | */ 24 | public interface CacheKey { 25 | 26 | /** 27 | * 角色名称(多个) 28 | */ 29 | String ROLES_NAME = "roles_name_"; 30 | 31 | /** 32 | * 角色名称(单个) 33 | */ 34 | String SINGLE_ROLE_NAME = "single_role_name_"; 35 | 36 | /** 37 | * 角色英文名称 38 | */ 39 | String SINGLE_ROLE_TIP = "single_role_tip_"; 40 | 41 | /** 42 | * 部门名称 43 | */ 44 | String DEPT_NAME = "dept_name_"; 45 | 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/constant/dictmap/DeleteDict.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.constant.dictmap; 17 | 18 | import cn.stylefeng.guns.core.common.constant.dictmap.base.AbstractDictMap; 19 | 20 | /** 21 | * 用于删除业务的字典 22 | * 23 | * @author fengshuonan 24 | * @date 2017-05-06 15:01 25 | */ 26 | public class DeleteDict extends AbstractDictMap { 27 | 28 | @Override 29 | public void init() { 30 | put("roleId", "角色名称"); 31 | put("deptId", "部门名称"); 32 | put("menuId", "菜单名称"); 33 | put("dictId", "字典名称"); 34 | put("noticeId", "标题"); 35 | } 36 | 37 | @Override 38 | protected void initBeWrapped() { 39 | putFieldWrapperMethodName("roleId", "getCacheObject"); 40 | putFieldWrapperMethodName("deptId", "getCacheObject"); 41 | putFieldWrapperMethodName("menuId", "getCacheObject"); 42 | putFieldWrapperMethodName("dictId", "getCacheObject"); 43 | putFieldWrapperMethodName("noticeId", "getCacheObject"); 44 | 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/constant/dictmap/DeptDict.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.constant.dictmap; 17 | 18 | import cn.stylefeng.guns.core.common.constant.dictmap.base.AbstractDictMap; 19 | 20 | /** 21 | * 部门的映射 22 | * 23 | * @author fengshuonan 24 | * @date 2017-05-06 15:01 25 | */ 26 | public class DeptDict extends AbstractDictMap { 27 | 28 | @Override 29 | public void init() { 30 | put("deptId", "部门名称"); 31 | put("num", "部门排序"); 32 | put("pid", "上级名称"); 33 | put("simplename", "部门简称"); 34 | put("fullname", "部门全称"); 35 | put("tips", "备注"); 36 | } 37 | 38 | @Override 39 | protected void initBeWrapped() { 40 | putFieldWrapperMethodName("deptId", "getDeptName"); 41 | putFieldWrapperMethodName("pid", "getDeptName"); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/constant/dictmap/DictMap.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.constant.dictmap; 17 | 18 | import cn.stylefeng.guns.core.common.constant.dictmap.base.AbstractDictMap; 19 | 20 | /** 21 | * 字典map 22 | * 23 | * @author fengshuonan 24 | * @date 2017-05-06 15:43 25 | */ 26 | public class DictMap extends AbstractDictMap { 27 | 28 | @Override 29 | public void init() { 30 | put("dictId", "字典名称"); 31 | put("dictName", "字典名称"); 32 | put("dictValues", "字典内容"); 33 | } 34 | 35 | @Override 36 | protected void initBeWrapped() { 37 | 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/constant/dictmap/LogDict.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.constant.dictmap; 17 | 18 | import cn.stylefeng.guns.core.common.constant.dictmap.base.AbstractDictMap; 19 | 20 | /** 21 | * 日志的字典 22 | * 23 | * @author fengshuonan 24 | * @date 2017-05-06 15:01 25 | */ 26 | public class LogDict extends AbstractDictMap { 27 | 28 | @Override 29 | public void init() { 30 | put("tips", "备注"); 31 | } 32 | 33 | @Override 34 | protected void initBeWrapped() { 35 | 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/constant/dictmap/MenuDict.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.constant.dictmap; 17 | 18 | import cn.stylefeng.guns.core.common.constant.dictmap.base.AbstractDictMap; 19 | 20 | /** 21 | * 菜单的字典 22 | * 23 | * @author fengshuonan 24 | * @date 2017-05-06 15:01 25 | */ 26 | public class MenuDict extends AbstractDictMap { 27 | 28 | @Override 29 | public void init() { 30 | put("menuId", "菜单id"); 31 | put("id", "菜单id"); 32 | put("code", "菜单编号"); 33 | put("pcode", "菜单父编号"); 34 | put("name", "菜单名称"); 35 | put("icon", "菜单图标"); 36 | put("url", "url地址"); 37 | put("num", "菜单排序号"); 38 | put("levels", "菜单层级"); 39 | put("tips", "备注"); 40 | put("status", "菜单状态"); 41 | put("isopen", "是否打开"); 42 | put("", ""); 43 | } 44 | 45 | @Override 46 | protected void initBeWrapped() { 47 | 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/constant/dictmap/NoticeMap.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.constant.dictmap; 17 | 18 | import cn.stylefeng.guns.core.common.constant.dictmap.base.AbstractDictMap; 19 | 20 | /** 21 | * 通知的映射 22 | * 23 | * @author fengshuonan 24 | * @date 2017-05-06 15:01 25 | */ 26 | public class NoticeMap extends AbstractDictMap { 27 | 28 | @Override 29 | public void init() { 30 | put("title", "标题"); 31 | put("content", "内容"); 32 | } 33 | 34 | @Override 35 | protected void initBeWrapped() { 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/constant/dictmap/RoleDict.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.constant.dictmap; 17 | 18 | import cn.stylefeng.guns.core.common.constant.dictmap.base.AbstractDictMap; 19 | 20 | /** 21 | * 角色的字典 22 | * 23 | * @author fengshuonan 24 | * @date 2017-05-06 15:01 25 | */ 26 | public class RoleDict extends AbstractDictMap { 27 | 28 | @Override 29 | public void init() { 30 | put("roleId", "角色名称"); 31 | put("num", "角色排序"); 32 | put("pid", "角色的父级"); 33 | put("name", "角色名称"); 34 | put("deptid", "部门名称"); 35 | put("tips", "备注"); 36 | put("ids", "资源名称"); 37 | } 38 | 39 | @Override 40 | protected void initBeWrapped() { 41 | putFieldWrapperMethodName("pid", "getSingleRoleName"); 42 | putFieldWrapperMethodName("deptid", "getDeptName"); 43 | putFieldWrapperMethodName("roleId", "getSingleRoleName"); 44 | putFieldWrapperMethodName("ids", "getMenuNames"); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/constant/dictmap/UserDict.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.constant.dictmap; 17 | 18 | import cn.stylefeng.guns.core.common.constant.dictmap.base.AbstractDictMap; 19 | 20 | /** 21 | * 用户的字典 22 | * 23 | * @author fengshuonan 24 | * @date 2017-05-06 15:01 25 | */ 26 | public class UserDict extends AbstractDictMap { 27 | 28 | @Override 29 | public void init() { 30 | put("userId", "账号"); 31 | put("avatar", "头像"); 32 | put("account", "账号"); 33 | put("name", "名字"); 34 | put("birthday", "生日"); 35 | put("sex", "性别"); 36 | put("email", "电子邮件"); 37 | put("phone", "电话"); 38 | put("roleid", "角色名称"); 39 | put("deptid", "部门名称"); 40 | put("roleIds", "角色名称集合"); 41 | } 42 | 43 | @Override 44 | protected void initBeWrapped() { 45 | putFieldWrapperMethodName("sex", "getSexName"); 46 | putFieldWrapperMethodName("deptid", "getDeptName"); 47 | putFieldWrapperMethodName("roleid", "getSingleRoleName"); 48 | putFieldWrapperMethodName("userId", "getUserAccountById"); 49 | putFieldWrapperMethodName("roleIds", "getRoleName"); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/constant/dictmap/base/SystemDict.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.constant.dictmap.base; 17 | 18 | /** 19 | * 系统相关的字典 20 | * 21 | * @author fengshuonan 22 | * @date 2017-05-06 15:48 23 | */ 24 | public class SystemDict extends AbstractDictMap { 25 | 26 | @Override 27 | public void init() { 28 | } 29 | 30 | @Override 31 | protected void initBeWrapped() { 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/constant/state/LogSucceed.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.constant.state; 17 | 18 | /** 19 | * 业务是否成功的日志记录 20 | * 21 | * @author fengshuonan 22 | * @Date 2017年1月22日 下午12:14:59 23 | */ 24 | public enum LogSucceed { 25 | 26 | SUCCESS("成功"), 27 | FAIL("失败"); 28 | 29 | String message; 30 | 31 | LogSucceed(String message) { 32 | this.message = message; 33 | } 34 | 35 | public String getMessage() { 36 | return message; 37 | } 38 | 39 | public void setMessage(String message) { 40 | this.message = message; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/constant/state/LogType.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.constant.state; 17 | 18 | /** 19 | * 日志类型 20 | * 21 | * @author fengshuonan 22 | * @Date 2017年1月22日 下午12:14:59 23 | */ 24 | public enum LogType { 25 | 26 | LOGIN("登录日志"), 27 | LOGIN_FAIL("登录失败日志"), 28 | EXIT("退出日志"), 29 | EXCEPTION("异常日志"), 30 | BUSSINESS("业务日志"); 31 | 32 | String message; 33 | 34 | LogType(String message) { 35 | this.message = message; 36 | } 37 | 38 | public String getMessage() { 39 | return message; 40 | } 41 | 42 | public void setMessage(String message) { 43 | this.message = message; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/constant/state/MenuStatus.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.constant.state; 17 | 18 | /** 19 | * 菜单的状态 20 | * 21 | * @author fengshuonan 22 | * @Date 2017年1月22日 下午12:14:59 23 | */ 24 | public enum MenuStatus { 25 | 26 | ENABLE(1, "启用"), 27 | DISABLE(0, "禁用"); 28 | 29 | int code; 30 | String message; 31 | 32 | MenuStatus(int code, String message) { 33 | this.code = code; 34 | this.message = message; 35 | } 36 | 37 | public int getCode() { 38 | return code; 39 | } 40 | 41 | public void setCode(int code) { 42 | this.code = code; 43 | } 44 | 45 | public String getMessage() { 46 | return message; 47 | } 48 | 49 | public void setMessage(String message) { 50 | this.message = message; 51 | } 52 | 53 | public static String valueOf(Integer status) { 54 | if (status == null) { 55 | return ""; 56 | } else { 57 | for (MenuStatus s : MenuStatus.values()) { 58 | if (s.getCode() == status) { 59 | return s.getMessage(); 60 | } 61 | } 62 | return ""; 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/constant/state/Order.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.constant.state; 17 | 18 | /** 19 | * 数据库排序 20 | * 21 | * @author fengshuonan 22 | * @Date 2017年5月31日20:48:41 23 | */ 24 | public enum Order { 25 | 26 | ASC("asc"), DESC("desc"); 27 | 28 | private String des; 29 | 30 | Order(String des) { 31 | this.des = des; 32 | } 33 | 34 | public String getDes() { 35 | return des; 36 | } 37 | 38 | public void setDes(String des) { 39 | this.des = des; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/controller/GlobalController.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.controller; 17 | 18 | import org.springframework.stereotype.Controller; 19 | import org.springframework.ui.Model; 20 | import org.springframework.web.bind.annotation.RequestMapping; 21 | 22 | /** 23 | * 全局的控制器 24 | * 25 | * @author fengshuonan 26 | * @date 2016年11月13日 下午11:04:45 27 | */ 28 | @Controller 29 | @RequestMapping("/global") 30 | public class GlobalController { 31 | 32 | /** 33 | * 跳转到404页面 34 | * 35 | * @author fengshuonan 36 | */ 37 | @RequestMapping(path = "/error") 38 | public String errorPage() { 39 | return "/404.html"; 40 | } 41 | 42 | /** 43 | * 跳转到session超时页面 44 | * 45 | * @author fengshuonan 46 | */ 47 | @RequestMapping(path = "/sessionError") 48 | public String errorPageInfo(Model model) { 49 | model.addAttribute("tips", "session超时"); 50 | return "/login.html"; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/controller/GunsErrorView.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.controller; 17 | 18 | import org.springframework.web.servlet.View; 19 | 20 | import javax.servlet.http.HttpServletRequest; 21 | import javax.servlet.http.HttpServletResponse; 22 | import java.util.Map; 23 | 24 | /** 25 | * 错误页面的默认跳转(例如请求404的时候,默认走这个视图解析器) 26 | * 27 | * @author fengshuonan 28 | * @date 2017-05-21 11:34 29 | */ 30 | public class GunsErrorView implements View { 31 | 32 | @Override 33 | public String getContentType() { 34 | return "text/html"; 35 | } 36 | 37 | @Override 38 | public void render(Map map, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { 39 | httpServletRequest.getRequestDispatcher("/global/error").forward(httpServletRequest, httpServletResponse); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/exception/InvalidKaptchaException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.exception; 17 | 18 | /** 19 | * 验证码错误异常 20 | * 21 | * @author fengshuonan 22 | * @date 2017-05-05 23:52 23 | */ 24 | public class InvalidKaptchaException extends RuntimeException { 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/common/page/PageInfoBT.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.common.page; 17 | 18 | import com.baomidou.mybatisplus.plugins.Page; 19 | 20 | import java.util.List; 21 | 22 | /** 23 | * 分页结果的封装(for Bootstrap Table) 24 | * 25 | * @author fengshuonan 26 | * @Date 2017年1月22日 下午11:06:41 27 | */ 28 | public class PageInfoBT { 29 | 30 | // 结果集 31 | private List rows; 32 | 33 | // 总数 34 | private long total; 35 | 36 | public PageInfoBT(Page page) { 37 | this.rows = page.getRecords(); 38 | this.total = page.getTotal(); 39 | } 40 | 41 | public List getRows() { 42 | return rows; 43 | } 44 | 45 | public void setRows(List rows) { 46 | this.rows = rows; 47 | } 48 | 49 | public long getTotal() { 50 | return total; 51 | } 52 | 53 | public void setTotal(long total) { 54 | this.total = total; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/interceptor/SessionHolderInterceptor.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.interceptor; 17 | 18 | import cn.stylefeng.roses.core.base.controller.BaseController; 19 | import cn.stylefeng.roses.core.util.HttpSessionContext; 20 | import org.aspectj.lang.ProceedingJoinPoint; 21 | import org.aspectj.lang.annotation.Around; 22 | import org.aspectj.lang.annotation.Aspect; 23 | import org.aspectj.lang.annotation.Pointcut; 24 | import org.springframework.stereotype.Component; 25 | 26 | /** 27 | * 静态调用session的拦截器 28 | * 29 | * @author fengshuonan 30 | * @date 2016年11月13日 下午10:15:42 31 | */ 32 | @Aspect 33 | @Component 34 | public class SessionHolderInterceptor extends BaseController { 35 | 36 | @Pointcut("execution(* cn.stylefeng.guns.*..controller.*.*(..))") 37 | public void cutService() { 38 | } 39 | 40 | @Around("cutService()") 41 | public Object sessionKit(ProceedingJoinPoint point) throws Throwable { 42 | HttpSessionContext.put(super.getHttpServletRequest().getSession()); 43 | try { 44 | return point.proceed(); 45 | } finally { 46 | HttpSessionContext.remove(); 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/listener/ConfigListener.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-2017, Chill Zhuang 庄骞 (smallchill@163.com). 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.listener; 17 | 18 | import javax.servlet.ServletContext; 19 | import javax.servlet.ServletContextEvent; 20 | import javax.servlet.ServletContextListener; 21 | import java.util.HashMap; 22 | import java.util.Map; 23 | 24 | /** 25 | * ServletContext监听器 26 | * 27 | * @author stylefeng 28 | * @Date 2018/2/22 21:07 29 | */ 30 | public class ConfigListener implements ServletContextListener { 31 | 32 | private static Map conf = new HashMap<>(); 33 | 34 | public static Map getConf() { 35 | return conf; 36 | } 37 | 38 | @Override 39 | public void contextDestroyed(ServletContextEvent arg0) { 40 | conf.clear(); 41 | } 42 | 43 | @Override 44 | public void contextInitialized(ServletContextEvent evt) { 45 | ServletContext sc = evt.getServletContext(); 46 | 47 | //项目发布,当前运行环境的绝对路径 48 | conf.put("realPath", sc.getRealPath("/").replaceFirst("/", "")); 49 | 50 | //servletContextPath,默认"" 51 | conf.put("contextPath", sc.getContextPath()); 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/log/LogManager.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.log; 17 | 18 | import java.util.TimerTask; 19 | import java.util.concurrent.ScheduledThreadPoolExecutor; 20 | import java.util.concurrent.TimeUnit; 21 | 22 | /** 23 | * 日志管理器 24 | * 25 | * @author fengshuonan 26 | * @date 2017-03-30 16:29 27 | */ 28 | public class LogManager { 29 | 30 | //日志记录操作延时 31 | private final int OPERATE_DELAY_TIME = 10; 32 | 33 | //异步操作记录日志的线程池 34 | private ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(10); 35 | 36 | private LogManager() { 37 | } 38 | 39 | public static LogManager logManager = new LogManager(); 40 | 41 | public static LogManager me() { 42 | return logManager; 43 | } 44 | 45 | public void executeLog(TimerTask task) { 46 | executor.schedule(task, OPERATE_DELAY_TIME, TimeUnit.MILLISECONDS); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/log/LogObjectHolder.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.log; 17 | 18 | import cn.stylefeng.roses.core.util.SpringContextHolder; 19 | import org.springframework.context.annotation.Scope; 20 | import org.springframework.stereotype.Component; 21 | import org.springframework.web.context.WebApplicationContext; 22 | 23 | import java.io.Serializable; 24 | 25 | /** 26 | * 被修改的bean临时存放的地方 27 | * 28 | * @author fengshuonan 29 | * @date 2017-03-31 11:19 30 | */ 31 | @Component 32 | @Scope(scopeName = WebApplicationContext.SCOPE_SESSION) 33 | public class LogObjectHolder implements Serializable { 34 | 35 | private Object object = null; 36 | 37 | public void set(Object obj) { 38 | this.object = obj; 39 | } 40 | 41 | public Object get() { 42 | return object; 43 | } 44 | 45 | public static LogObjectHolder me() { 46 | return SpringContextHolder.getBean(LogObjectHolder.class); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/shiro/service/PermissionCheckService.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.shiro.service; 17 | 18 | /** 19 | * 检查用接口 20 | */ 21 | public interface PermissionCheckService { 22 | 23 | /** 24 | * 检查当前登录用户是否拥有指定的角色访问当 25 | */ 26 | boolean check(Object[] permissions); 27 | 28 | /** 29 | * 检查当前登录用户是否拥有当前请求的servlet的权限 30 | */ 31 | boolean checkAll(); 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/shiro/service/UserAuthService.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.shiro.service; 17 | 18 | import cn.stylefeng.guns.core.shiro.ShiroUser; 19 | import cn.stylefeng.guns.modular.system.model.User; 20 | import org.apache.shiro.authc.SimpleAuthenticationInfo; 21 | 22 | import java.util.List; 23 | 24 | /** 25 | * 定义shirorealm所需数据的接口 26 | * 27 | * @author fengshuonan 28 | * @date 2016年12月5日 上午10:23:34 29 | */ 30 | public interface UserAuthService { 31 | 32 | /** 33 | * 根据账号获取登录用户 34 | * 35 | * @param account 账号 36 | */ 37 | User user(String account); 38 | 39 | /** 40 | * 根据系统用户获取Shiro的用户 41 | * 42 | * @param user 系统用户 43 | */ 44 | ShiroUser shiroUser(User user); 45 | 46 | /** 47 | * 获取权限列表通过角色id 48 | * 49 | * @param roleId 角色id 50 | */ 51 | List findPermissionsByRoleId(Integer roleId); 52 | 53 | /** 54 | * 根据角色id获取角色名称 55 | * 56 | * @param roleId 角色id 57 | */ 58 | String findRoleNameByRoleId(Integer roleId); 59 | 60 | /** 61 | * 获取shiro的认证信息 62 | */ 63 | SimpleAuthenticationInfo info(ShiroUser shiroUser, User user, String realmName); 64 | 65 | } 66 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/core/util/KaptchaUtil.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.core.util; 17 | 18 | import cn.stylefeng.guns.config.properties.GunsProperties; 19 | import cn.stylefeng.roses.core.util.SpringContextHolder; 20 | 21 | /** 22 | * 验证码工具类 23 | */ 24 | public class KaptchaUtil { 25 | 26 | /** 27 | * 获取验证码开关 28 | */ 29 | public static Boolean getKaptchaOnOff() { 30 | return SpringContextHolder.getBean(GunsProperties.class).getKaptchaOpen(); 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/doctor_point/service/IDoctorPointService.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.doctor_point.service; 2 | 3 | import cn.stylefeng.guns.modular.system.model.DoctorPoint; 4 | import com.baomidou.mybatisplus.service.IService; 5 | 6 | /** 7 | *

8 | * 服务类 9 | *

10 | * 11 | * @author zxx 12 | * @since 2018-12-29 13 | */ 14 | public interface IDoctorPointService extends IService { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/doctor_point/service/impl/DoctorPointServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.doctor_point.service.impl; 2 | 3 | import cn.stylefeng.guns.modular.system.model.DoctorPoint; 4 | import cn.stylefeng.guns.modular.system.dao.DoctorPointMapper; 5 | import cn.stylefeng.guns.modular.doctor_point.service.IDoctorPointService; 6 | import com.baomidou.mybatisplus.service.impl.ServiceImpl; 7 | import org.springframework.stereotype.Service; 8 | 9 | /** 10 | *

11 | * 服务实现类 12 | *

13 | * 14 | * @author zxx 15 | * @since 2018-12-29 16 | */ 17 | @Service 18 | public class DoctorPointServiceImpl extends ServiceImpl implements IDoctorPointService { 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/medicinemanager/service/IMedicineInfoService.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.medicinemanager.service; 2 | 3 | import cn.stylefeng.guns.modular.system.model.MedicineInfo; 4 | import com.baomidou.mybatisplus.service.IService; 5 | 6 | /** 7 | *

8 | * 服务类 9 | *

10 | * 11 | * @author zxx 12 | * @since 2018-12-29 13 | */ 14 | public interface IMedicineInfoService extends IService { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/medicinemanager/service/impl/MedicineInfoServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.medicinemanager.service.impl; 2 | 3 | import cn.stylefeng.guns.modular.system.model.MedicineInfo; 4 | import cn.stylefeng.guns.modular.system.dao.MedicineInfoMapper; 5 | import cn.stylefeng.guns.modular.medicinemanager.service.IMedicineInfoService; 6 | import com.baomidou.mybatisplus.service.impl.ServiceImpl; 7 | import org.springframework.stereotype.Service; 8 | 9 | /** 10 | *

11 | * 服务实现类 12 | *

13 | * 14 | * @author zxx 15 | * @since 2018-12-29 16 | */ 17 | @Service 18 | public class MedicineInfoServiceImpl extends ServiceImpl implements IMedicineInfoService { 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/pateint_health_manager/service/IPatientHealthService.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.pateint_health_manager.service; 2 | 3 | import cn.stylefeng.guns.modular.system.model.PatientHealth; 4 | import com.baomidou.mybatisplus.service.IService; 5 | 6 | /** 7 | *

8 | * 服务类 9 | *

10 | * 11 | * @author zxx 12 | * @since 2018-12-29 13 | */ 14 | public interface IPatientHealthService extends IService { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/pateint_health_manager/service/impl/PatientHealthServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.pateint_health_manager.service.impl; 2 | 3 | import cn.stylefeng.guns.modular.system.model.PatientHealth; 4 | import cn.stylefeng.guns.modular.system.dao.PatientHealthMapper; 5 | import cn.stylefeng.guns.modular.pateint_health_manager.service.IPatientHealthService; 6 | import com.baomidou.mybatisplus.service.impl.ServiceImpl; 7 | import org.springframework.stereotype.Service; 8 | 9 | /** 10 | *

11 | * 服务实现类 12 | *

13 | * 14 | * @author zxx 15 | * @since 2018-12-29 16 | */ 17 | @Service 18 | public class PatientHealthServiceImpl extends ServiceImpl implements IPatientHealthService { 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/patient/service/IPatientInfoService.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.patient.service; 2 | 3 | import cn.stylefeng.guns.modular.system.model.PatientInfo; 4 | import com.baomidou.mybatisplus.service.IService; 5 | 6 | /** 7 | *

8 | * 服务类 9 | *

10 | * 11 | * @author stylefeng 12 | * @since 2018-12-29 13 | */ 14 | public interface IPatientInfoService extends IService { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/patient/service/impl/PatientInfoServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.patient.service.impl; 2 | 3 | import cn.stylefeng.guns.modular.system.model.PatientInfo; 4 | import cn.stylefeng.guns.modular.system.dao.PatientInfoMapper; 5 | import cn.stylefeng.guns.modular.patient.service.IPatientInfoService; 6 | import com.baomidou.mybatisplus.service.impl.ServiceImpl; 7 | import org.springframework.stereotype.Service; 8 | 9 | /** 10 | *

11 | * 服务实现类 12 | *

13 | * 14 | * @author stylefeng 15 | * @since 2018-12-29 16 | */ 17 | @Service 18 | public class PatientInfoServiceImpl extends ServiceImpl implements IPatientInfoService { 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/patient_history_manager/service/IPatientHistoryService.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.patient_history_manager.service; 2 | 3 | import cn.stylefeng.guns.modular.system.model.PatientHistory; 4 | import com.baomidou.mybatisplus.service.IService; 5 | 6 | /** 7 | *

8 | * 服务类 9 | *

10 | * 11 | * @author zxx 12 | * @since 2018-12-29 13 | */ 14 | public interface IPatientHistoryService extends IService { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/patient_history_manager/service/impl/PatientHistoryServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.patient_history_manager.service.impl; 2 | 3 | import cn.stylefeng.guns.modular.system.model.PatientHistory; 4 | import cn.stylefeng.guns.modular.system.dao.PatientHistoryMapper; 5 | import cn.stylefeng.guns.modular.patient_history_manager.service.IPatientHistoryService; 6 | import com.baomidou.mybatisplus.service.impl.ServiceImpl; 7 | import org.springframework.stereotype.Service; 8 | 9 | /** 10 | *

11 | * 服务实现类 12 | *

13 | * 14 | * @author zxx 15 | * @since 2018-12-29 16 | */ 17 | @Service 18 | public class PatientHistoryServiceImpl extends ServiceImpl implements IPatientHistoryService { 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/controller/BlackboardController.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.controller; 17 | 18 | import cn.stylefeng.guns.modular.system.service.INoticeService; 19 | import cn.stylefeng.roses.core.base.controller.BaseController; 20 | import org.springframework.beans.factory.annotation.Autowired; 21 | import org.springframework.stereotype.Controller; 22 | import org.springframework.ui.Model; 23 | import org.springframework.web.bind.annotation.RequestMapping; 24 | 25 | import java.util.List; 26 | import java.util.Map; 27 | 28 | /** 29 | * 总览信息 30 | * 31 | * @author fengshuonan 32 | * @Date 2017年3月4日23:05:54 33 | */ 34 | @Controller 35 | @RequestMapping("/blackboard") 36 | public class BlackboardController extends BaseController { 37 | 38 | @Autowired 39 | private INoticeService noticeService; 40 | 41 | /** 42 | * 跳转到黑板 43 | */ 44 | @RequestMapping("") 45 | public String blackboard(Model model) { 46 | List> notices = noticeService.list(null); 47 | model.addAttribute("noticeList", notices); 48 | return "/blackboard.html"; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/DeptMapper.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.dao; 17 | 18 | import cn.stylefeng.guns.core.common.node.ZTreeNode; 19 | import cn.stylefeng.guns.modular.system.model.Dept; 20 | import com.baomidou.mybatisplus.mapper.BaseMapper; 21 | import org.apache.ibatis.annotations.Param; 22 | 23 | import java.util.List; 24 | import java.util.Map; 25 | 26 | /** 27 | *

28 | * 部门表 Mapper 接口 29 | *

30 | * 31 | * @author stylefeng 32 | * @since 2017-07-11 33 | */ 34 | public interface DeptMapper extends BaseMapper { 35 | 36 | /** 37 | * 获取ztree的节点列表 38 | */ 39 | List tree(); 40 | 41 | /** 42 | * 获取所有部门列表 43 | */ 44 | List> list(@Param("condition") String condition); 45 | 46 | } -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/DictMapper.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.dao; 17 | 18 | import cn.stylefeng.guns.modular.system.model.Dict; 19 | import com.baomidou.mybatisplus.mapper.BaseMapper; 20 | import org.apache.ibatis.annotations.Param; 21 | 22 | import java.util.List; 23 | import java.util.Map; 24 | 25 | /** 26 | *

27 | * 字典表 Mapper 接口 28 | *

29 | * 30 | * @author stylefeng 31 | * @since 2017-07-11 32 | */ 33 | public interface DictMapper extends BaseMapper { 34 | 35 | /** 36 | * 根据编码获取词典列表 37 | */ 38 | List selectByCode(@Param("code") String code); 39 | 40 | /** 41 | * 查询字典列表 42 | */ 43 | List> list(@Param("condition") String conditiion); 44 | 45 | /** 46 | * 根据父类编码获取词典列表 47 | */ 48 | List selectByParentCode(@Param("code") String code); 49 | } -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/DoctorPointMapper.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.system.dao; 2 | 3 | import cn.stylefeng.guns.modular.system.model.DoctorPoint; 4 | import com.baomidou.mybatisplus.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * Mapper 接口 9 | *

10 | * 11 | * @author zxx 12 | * @since 2018-12-29 13 | */ 14 | public interface DoctorPointMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/ExpenseMapper.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.dao; 17 | 18 | import cn.stylefeng.guns.modular.system.model.Expense; 19 | import com.baomidou.mybatisplus.mapper.BaseMapper; 20 | 21 | /** 22 | *

23 | * 报销表 Mapper 接口 24 | *

25 | * 26 | * @author stylefeng 27 | * @since 2017-12-04 28 | */ 29 | public interface ExpenseMapper extends BaseMapper { 30 | 31 | } -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/InfoMapper.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.system.dao; 2 | 3 | import cn.stylefeng.guns.modular.system.model.Info; 4 | import com.baomidou.mybatisplus.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * Mapper 接口 9 | *

10 | * 11 | * @author zxx 12 | * @since 2018-12-29 13 | */ 14 | public interface InfoMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/LoginLogMapper.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.dao; 17 | 18 | import cn.stylefeng.guns.modular.system.model.LoginLog; 19 | import com.baomidou.mybatisplus.mapper.BaseMapper; 20 | import com.baomidou.mybatisplus.plugins.Page; 21 | import org.apache.ibatis.annotations.Param; 22 | 23 | import java.util.List; 24 | import java.util.Map; 25 | 26 | /** 27 | *

28 | * 登录记录 Mapper 接口 29 | *

30 | * 31 | * @author stylefeng 32 | * @since 2017-07-11 33 | */ 34 | public interface LoginLogMapper extends BaseMapper { 35 | 36 | /** 37 | * 获取登录日志 38 | */ 39 | List> getLoginLogs(@Param("page") Page page, @Param("beginTime") String beginTime, 40 | @Param("endTime") String endTime, @Param("logName") String logName, @Param("orderByField") String orderByField, @Param("isAsc") boolean isAsc); 41 | 42 | } -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/MedicineInfoMapper.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.system.dao; 2 | 3 | import cn.stylefeng.guns.modular.system.model.MedicineInfo; 4 | import com.baomidou.mybatisplus.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * Mapper 接口 9 | *

10 | * 11 | * @author zxx 12 | * @since 2018-12-29 13 | */ 14 | public interface MedicineInfoMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/NoticeMapper.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.dao; 17 | 18 | import cn.stylefeng.guns.modular.system.model.Notice; 19 | import com.baomidou.mybatisplus.mapper.BaseMapper; 20 | import org.apache.ibatis.annotations.Param; 21 | 22 | import java.util.List; 23 | import java.util.Map; 24 | 25 | /** 26 | *

27 | * 通知表 Mapper 接口 28 | *

29 | * 30 | * @author stylefeng 31 | * @since 2017-07-11 32 | */ 33 | public interface NoticeMapper extends BaseMapper { 34 | 35 | /** 36 | * 获取通知列表 37 | */ 38 | List> list(@Param("condition") String condition); 39 | 40 | } -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/OperationLogMapper.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.dao; 17 | 18 | import cn.stylefeng.guns.modular.system.model.OperationLog; 19 | import com.baomidou.mybatisplus.mapper.BaseMapper; 20 | import com.baomidou.mybatisplus.plugins.Page; 21 | import org.apache.ibatis.annotations.Param; 22 | 23 | import java.util.List; 24 | import java.util.Map; 25 | 26 | /** 27 | *

28 | * 操作日志 Mapper 接口 29 | *

30 | * 31 | * @author stylefeng 32 | * @since 2017-07-11 33 | */ 34 | public interface OperationLogMapper extends BaseMapper { 35 | 36 | /** 37 | * 获取操作日志 38 | */ 39 | List> getOperationLogs(@Param("page") Page page, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("logName") String logName, @Param("logType") String logType, @Param("orderByField") String orderByField, @Param("isAsc") boolean isAsc); 40 | 41 | } -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/OrderMapper.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.system.dao; 2 | 3 | import cn.stylefeng.guns.modular.system.model.Order; 4 | import com.baomidou.mybatisplus.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * Mapper 接口 9 | *

10 | * 11 | * @author zxx 12 | * @since 2018-12-29 13 | */ 14 | public interface OrderMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/PatientHealthMapper.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.system.dao; 2 | 3 | import cn.stylefeng.guns.modular.system.model.PatientHealth; 4 | import com.baomidou.mybatisplus.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * Mapper 接口 9 | *

10 | * 11 | * @author zxx 12 | * @since 2018-12-29 13 | */ 14 | public interface PatientHealthMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/PatientHistoryMapper.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.system.dao; 2 | 3 | import cn.stylefeng.guns.modular.system.model.PatientHistory; 4 | import com.baomidou.mybatisplus.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * Mapper 接口 9 | *

10 | * 11 | * @author zxx 12 | * @since 2018-12-29 13 | */ 14 | public interface PatientHistoryMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/PatientInfoMapper.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.system.dao; 2 | 3 | import cn.stylefeng.guns.modular.system.model.PatientInfo; 4 | import com.baomidou.mybatisplus.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * Mapper 接口 9 | *

10 | * 11 | * @author stylefeng 12 | * @since 2018-12-29 13 | */ 14 | public interface PatientInfoMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/RelationMapper.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.dao; 17 | 18 | import cn.stylefeng.guns.modular.system.model.Relation; 19 | import com.baomidou.mybatisplus.mapper.BaseMapper; 20 | 21 | /** 22 | *

23 | * 角色和菜单关联表 Mapper 接口 24 | *

25 | * 26 | * @author stylefeng 27 | * @since 2017-07-11 28 | */ 29 | public interface RelationMapper extends BaseMapper { 30 | 31 | } -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/mapping/DeptMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 28 | 29 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/mapping/DictMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | id, num, pid, name,code,tips 17 | 18 | 19 | 25 | 26 | 32 | 33 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/mapping/DoctorPointMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | id, patient_idcard, patient_name, doctor_name, point_date, point_place 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/mapping/ExpenseMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | id, money, desc, createtime, state, userid 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/mapping/InfoMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | id, medicine_name, medicine_price, medicine_value 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/mapping/LoginLogMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/mapping/MedicineInfoMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | id, medicine_name, medicine_price, medicine_value 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/mapping/NoticeMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/mapping/OperationLogMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/mapping/OrderMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | id, patient_idcard, patient_name, order_time, order_place 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/mapping/PatientHealthMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | id, heart_jump, blood_pressure, blood_ox, pulse, date, patient_idcard, patient_name 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/mapping/PatientHistoryMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | id, patient_idcard, patient_name, patient_sym, patient_doctor, patient_medicine, patient_history_date, takeprice 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/mapping/PatientInfoMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | paient_idcard, paient_name, paient_money 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/dao/mapping/RelationMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/model/PatientInfo.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.system.model; 2 | 3 | import com.baomidou.mybatisplus.annotations.TableId; 4 | import com.baomidou.mybatisplus.annotations.TableField; 5 | import com.baomidou.mybatisplus.activerecord.Model; 6 | import com.baomidou.mybatisplus.annotations.TableName; 7 | import java.io.Serializable; 8 | 9 | /** 10 | *

11 | * 12 | *

13 | * 14 | * @author stylefeng 15 | * @since 2018-12-29 16 | */ 17 | @TableName("patient_info") 18 | public class PatientInfo extends Model { 19 | 20 | private static final long serialVersionUID = 1L; 21 | 22 | @TableId("paient_idcard") 23 | private Integer paientIdcard; 24 | @TableField("paient_name") 25 | private String paientName; 26 | @TableField("paient_money") 27 | private String paientMoney; 28 | 29 | 30 | public Integer getPaientIdcard() { 31 | return paientIdcard; 32 | } 33 | 34 | public void setPaientIdcard(Integer paientIdcard) { 35 | this.paientIdcard = paientIdcard; 36 | } 37 | 38 | public String getPaientName() { 39 | return paientName; 40 | } 41 | 42 | public void setPaientName(String paientName) { 43 | this.paientName = paientName; 44 | } 45 | 46 | public String getPaientMoney() { 47 | return paientMoney; 48 | } 49 | 50 | public void setPaientMoney(String paientMoney) { 51 | this.paientMoney = paientMoney; 52 | } 53 | 54 | @Override 55 | protected Serializable pkVal() { 56 | return this.paientIdcard; 57 | } 58 | 59 | @Override 60 | public String toString() { 61 | return "PatientInfo{" + 62 | ", paientIdcard=" + paientIdcard + 63 | ", paientName=" + paientName + 64 | ", paientMoney=" + paientMoney + 65 | "}"; 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/model/Relation.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.system.model; 2 | 3 | import com.baomidou.mybatisplus.activerecord.Model; 4 | import com.baomidou.mybatisplus.annotations.TableId; 5 | import com.baomidou.mybatisplus.annotations.TableName; 6 | import com.baomidou.mybatisplus.enums.IdType; 7 | 8 | import java.io.Serializable; 9 | 10 | /** 11 | *

12 | * 角色和菜单关联表 13 | *

14 | * 15 | * @author stylefeng 16 | * @since 2017-07-11 17 | */ 18 | @TableName("sys_relation") 19 | public class Relation extends Model { 20 | 21 | private static final long serialVersionUID = 1L; 22 | 23 | /** 24 | * 主键 25 | */ 26 | @TableId(value = "id", type = IdType.AUTO) 27 | private Integer id; 28 | /** 29 | * 菜单id 30 | */ 31 | private Long menuid; 32 | /** 33 | * 角色id 34 | */ 35 | private Integer roleid; 36 | 37 | 38 | public Integer getId() { 39 | return id; 40 | } 41 | 42 | public void setId(Integer id) { 43 | this.id = id; 44 | } 45 | 46 | public Long getMenuid() { 47 | return menuid; 48 | } 49 | 50 | public void setMenuid(Long menuid) { 51 | this.menuid = menuid; 52 | } 53 | 54 | public Integer getRoleid() { 55 | return roleid; 56 | } 57 | 58 | public void setRoleid(Integer roleid) { 59 | this.roleid = roleid; 60 | } 61 | 62 | @Override 63 | protected Serializable pkVal() { 64 | return this.id; 65 | } 66 | 67 | @Override 68 | public String toString() { 69 | return "Relation{" + 70 | "id=" + id + 71 | ", menuid=" + menuid + 72 | ", roleid=" + roleid + 73 | "}"; 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/service/IDeptService.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.service; 17 | 18 | import cn.stylefeng.guns.core.common.node.ZTreeNode; 19 | import cn.stylefeng.guns.modular.system.model.Dept; 20 | import com.baomidou.mybatisplus.service.IService; 21 | 22 | import java.util.List; 23 | import java.util.Map; 24 | 25 | /** 26 | * 部门服务 27 | * 28 | * @author fengshuonan 29 | * @date 2017-04-27 17:00 30 | */ 31 | public interface IDeptService extends IService { 32 | 33 | /** 34 | * 删除部门 35 | */ 36 | void deleteDept(Integer deptId); 37 | 38 | /** 39 | * 获取ztree的节点列表 40 | */ 41 | List tree(); 42 | 43 | /** 44 | * 获取所有部门列表 45 | */ 46 | List> list(String condition); 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/service/IDictService.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.service; 17 | 18 | import cn.stylefeng.guns.modular.system.model.Dict; 19 | import com.baomidou.mybatisplus.service.IService; 20 | 21 | import java.util.List; 22 | import java.util.Map; 23 | 24 | /** 25 | * 字典服务 26 | * 27 | * @author fengshuonan 28 | * @date 2017-04-27 17:00 29 | */ 30 | public interface IDictService extends IService { 31 | 32 | /** 33 | * 添加字典 34 | */ 35 | void addDict(String dictCode, String dictName, String dictTips, String dictValues); 36 | 37 | /** 38 | * 编辑字典 39 | */ 40 | void editDict(Integer dictId, String dictCode, String dictName, String dictTips, String dicts); 41 | 42 | /** 43 | * 删除字典 44 | */ 45 | void delteDict(Integer dictId); 46 | 47 | /** 48 | * 根据编码获取词典列表 49 | */ 50 | List selectByCode(String code); 51 | 52 | /** 53 | * 根据父类编码获取词典列表 54 | */ 55 | List selectByParentCode(String code); 56 | 57 | /** 58 | * 查询字典列表 59 | */ 60 | List> list(String conditiion); 61 | 62 | } 63 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/service/ILoginLogService.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.service; 17 | 18 | import cn.stylefeng.guns.modular.system.model.LoginLog; 19 | import com.baomidou.mybatisplus.plugins.Page; 20 | import com.baomidou.mybatisplus.service.IService; 21 | 22 | import java.util.List; 23 | import java.util.Map; 24 | 25 | /** 26 | *

27 | * 登录记录 服务类 28 | *

29 | * 30 | * @author stylefeng123 31 | * @since 2018-02-22 32 | */ 33 | public interface ILoginLogService extends IService { 34 | 35 | /** 36 | * 获取登录日志列表 37 | */ 38 | List> getLoginLogs(Page page, String beginTime, String endTime, String logName, String orderByField, boolean asc); 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/service/INoticeService.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.service; 17 | 18 | import cn.stylefeng.guns.modular.system.model.Notice; 19 | import com.baomidou.mybatisplus.service.IService; 20 | 21 | import java.util.List; 22 | import java.util.Map; 23 | 24 | /** 25 | *

26 | * 通知表 服务类 27 | *

28 | * 29 | * @author stylefeng123 30 | * @since 2018-02-22 31 | */ 32 | public interface INoticeService extends IService { 33 | 34 | /** 35 | * 获取通知列表 36 | */ 37 | List> list(String condition); 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/service/IOperationLogService.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.service; 17 | 18 | import cn.stylefeng.guns.modular.system.model.OperationLog; 19 | import com.baomidou.mybatisplus.plugins.Page; 20 | import com.baomidou.mybatisplus.service.IService; 21 | 22 | import java.util.List; 23 | import java.util.Map; 24 | 25 | /** 26 | *

27 | * 操作日志 服务类 28 | *

29 | * 30 | * @author stylefeng123 31 | * @since 2018-02-22 32 | */ 33 | public interface IOperationLogService extends IService { 34 | 35 | /** 36 | * 获取操作日志列表 37 | */ 38 | List> getOperationLogs(Page page, String beginTime, String endTime, String logName, String s, String orderByField, boolean asc); 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/service/IRelationService.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.service; 17 | 18 | import cn.stylefeng.guns.modular.system.model.Relation; 19 | import com.baomidou.mybatisplus.service.IService; 20 | 21 | /** 22 | *

23 | * 角色和菜单关联表 服务类 24 | *

25 | * 26 | * @author stylefeng123 27 | * @since 2018-02-22 28 | */ 29 | public interface IRelationService extends IService { 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/service/IUserService.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.service; 17 | 18 | import cn.stylefeng.guns.modular.system.model.User; 19 | import cn.stylefeng.roses.core.datascope.DataScope; 20 | import com.baomidou.mybatisplus.service.IService; 21 | 22 | import java.util.List; 23 | import java.util.Map; 24 | 25 | /** 26 | *

27 | * 管理员表 服务类 28 | *

29 | * 30 | * @author stylefeng123 31 | * @since 2018-02-22 32 | */ 33 | public interface IUserService extends IService { 34 | 35 | /** 36 | * 修改用户状态 37 | */ 38 | int setStatus(Integer userId, int status); 39 | 40 | /** 41 | * 修改密码 42 | */ 43 | int changePwd(Integer userId, String pwd); 44 | 45 | /** 46 | * 根据条件查询用户列表 47 | */ 48 | List> selectUsers(DataScope dataScope, String name, String beginTime, String endTime, Integer deptid); 49 | 50 | /** 51 | * 设置用户的角色 52 | */ 53 | int setRoles(Integer userId, String roleIds); 54 | 55 | /** 56 | * 通过账号获取用户 57 | */ 58 | User getByAccount(String account); 59 | 60 | } 61 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/service/impl/LoginLogServiceImpl.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.service.impl; 17 | 18 | import cn.stylefeng.guns.modular.system.dao.LoginLogMapper; 19 | import cn.stylefeng.guns.modular.system.model.LoginLog; 20 | import cn.stylefeng.guns.modular.system.service.ILoginLogService; 21 | import com.baomidou.mybatisplus.plugins.Page; 22 | import com.baomidou.mybatisplus.service.impl.ServiceImpl; 23 | import org.springframework.stereotype.Service; 24 | 25 | import java.util.List; 26 | import java.util.Map; 27 | 28 | /** 29 | *

30 | * 登录记录 服务实现类 31 | *

32 | * 33 | * @author stylefeng123 34 | * @since 2018-02-22 35 | */ 36 | @Service 37 | public class LoginLogServiceImpl extends ServiceImpl implements ILoginLogService { 38 | 39 | @Override 40 | public List> getLoginLogs(Page page, String beginTime, String endTime, String logName, String orderByField, boolean asc) { 41 | return this.baseMapper.getLoginLogs(page, beginTime, endTime, logName, orderByField, asc); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/service/impl/NoticeServiceImpl.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.service.impl; 17 | 18 | import cn.stylefeng.guns.modular.system.dao.NoticeMapper; 19 | import cn.stylefeng.guns.modular.system.model.Notice; 20 | import cn.stylefeng.guns.modular.system.service.INoticeService; 21 | import com.baomidou.mybatisplus.service.impl.ServiceImpl; 22 | import org.springframework.stereotype.Service; 23 | 24 | import java.util.List; 25 | import java.util.Map; 26 | 27 | /** 28 | *

29 | * 通知表 服务实现类 30 | *

31 | * 32 | * @author stylefeng123 33 | * @since 2018-02-22 34 | */ 35 | @Service 36 | public class NoticeServiceImpl extends ServiceImpl implements INoticeService { 37 | 38 | @Override 39 | public List> list(String condition) { 40 | return this.baseMapper.list(condition); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/service/impl/OperationLogServiceImpl.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.service.impl; 17 | 18 | import cn.stylefeng.guns.modular.system.dao.OperationLogMapper; 19 | import cn.stylefeng.guns.modular.system.model.OperationLog; 20 | import cn.stylefeng.guns.modular.system.service.IOperationLogService; 21 | import com.baomidou.mybatisplus.plugins.Page; 22 | import com.baomidou.mybatisplus.service.impl.ServiceImpl; 23 | import org.springframework.stereotype.Service; 24 | 25 | import java.util.List; 26 | import java.util.Map; 27 | 28 | /** 29 | *

30 | * 操作日志 服务实现类 31 | *

32 | * 33 | * @author stylefeng123 34 | * @since 2018-02-22 35 | */ 36 | @Service 37 | public class OperationLogServiceImpl extends ServiceImpl implements IOperationLogService { 38 | 39 | @Override 40 | public List> getOperationLogs(Page page, String beginTime, String endTime, String logName, String s, String orderByField, boolean asc) { 41 | return this.baseMapper.getOperationLogs(page, beginTime, endTime, logName, s, orderByField, asc); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/system/service/impl/RelationServiceImpl.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) 3 | *

4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | *

8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | *

10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | package cn.stylefeng.guns.modular.system.service.impl; 17 | 18 | import cn.stylefeng.guns.modular.system.dao.RelationMapper; 19 | import cn.stylefeng.guns.modular.system.model.Relation; 20 | import cn.stylefeng.guns.modular.system.service.IRelationService; 21 | import com.baomidou.mybatisplus.service.impl.ServiceImpl; 22 | import org.springframework.stereotype.Service; 23 | 24 | /** 25 | *

26 | * 角色和菜单关联表 服务实现类 27 | *

28 | * 29 | * @author stylefeng123 30 | * @since 2018-02-22 31 | */ 32 | @Service 33 | public class RelationServiceImpl extends ServiceImpl implements IRelationService { 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/user/service/IInfoService.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.user.service; 2 | 3 | import cn.stylefeng.guns.modular.system.model.Info; 4 | import com.baomidou.mybatisplus.service.IService; 5 | 6 | /** 7 | *

8 | * 服务类 9 | *

10 | * 11 | * @author zxx 12 | * @since 2018-12-29 13 | */ 14 | public interface IInfoService extends IService { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/cn/stylefeng/guns/modular/user/service/impl/InfoServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.modular.user.service.impl; 2 | 3 | import cn.stylefeng.guns.modular.system.model.Info; 4 | import cn.stylefeng.guns.modular.system.dao.InfoMapper; 5 | import cn.stylefeng.guns.modular.user.service.IInfoService; 6 | import com.baomidou.mybatisplus.service.impl.ServiceImpl; 7 | import org.springframework.stereotype.Service; 8 | 9 | /** 10 | *

11 | * 服务实现类 12 | *

13 | * 14 | * @author zxx 15 | * @since 2018-12-29 16 | */ 17 | @Service 18 | public class InfoServiceImpl extends ServiceImpl implements IInfoService { 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/META-INF/spring-devtools.properties: -------------------------------------------------------------------------------- 1 | restart.include.beetl=/beetl-2.8.5.jar -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Guns - 404 页面 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |

404

18 |

页面未找到!

19 | 20 |
21 | 抱歉,页面好像去火星了~ 22 |
23 |
24 | 25 |
26 | 27 |
28 |
29 |
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/blackboard.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | @for(notice in noticeList){ 6 |
7 | 8 | ${notice.content} 9 |
10 | @} 11 |
12 |
13 |
14 | @} 15 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/common/tags/NameCon.tag: -------------------------------------------------------------------------------- 1 | @/* 2 | 名称查询条件标签的参数说明: 3 | 4 | name : 查询条件的名称 5 | id : 查询内容的input框id 6 | @*/ 7 |
8 |
9 | 12 |
13 | 14 |
-------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/common/tags/SelectCon.tag: -------------------------------------------------------------------------------- 1 | @/* 2 | 选择查询条件标签的参数说明: 3 | 4 | name : 查询条件的名称 5 | id : 查询内容的input框id 6 | @*/ 7 |
8 |
9 | 12 |
13 | 16 |
-------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/common/tags/TimeCon.tag: -------------------------------------------------------------------------------- 1 | @/* 2 | 时间查询条件标签的参数说明: 3 | 4 | name : 查询条件的名称 5 | id : 查询内容的input框id 6 | isTime : 日期是否带有小时和分钟(true/false) 7 | @*/ 8 |
9 |
10 | 13 |
14 | 15 |
-------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/common/tags/avatar.tag: -------------------------------------------------------------------------------- 1 | @/* 2 | 头像参数的说明: 3 | name : 名称 4 | id : 头像的id 5 | @*/ 6 |
7 | 8 |
9 |
10 |
13 | @}else{ 14 | src="${ctxPath}/kaptcha/${avatarImg}">
15 | @} 16 |
17 |
18 |
19 |
20 |  上传 21 |
22 |
23 | 24 | 25 | @if(isNotEmpty(underline) && underline == 'true'){ 26 |
27 | @} 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/common/tags/button.tag: -------------------------------------------------------------------------------- 1 | @/* 2 | 按钮标签中各个参数的说明: 3 | 4 | btnType : 按钮的类型决定了颜色(default-灰色,primary-绿色,success-蓝色,info-淡蓝色,warning-黄色,danger-红色,white-白色) 5 | space : 按钮左侧是否有间隔(true/false) 6 | clickFun : 点击按钮所执行的方法 7 | icon : 按钮上的图标的样式 8 | name : 按钮名称 9 | @*/ 10 | 11 | @var spaceCss = ""; 12 | @var btnType = ""; 13 | @if(isEmpty(space) || space == "false"){ 14 | @ spaceCss = ""; 15 | @}else{ 16 | @ spaceCss = "button-margin"; 17 | @} 18 | @if(isEmpty(btnCss)){ 19 | @ btnType = "primary"; 20 | @}else{ 21 | @ btnType = btnCss; 22 | @} 23 | 26 | 27 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/common/tags/input.tag: -------------------------------------------------------------------------------- 1 | @/* 2 | 表单中input框标签中各个参数的说明: 3 | 4 | hidden : input hidden框的id 5 | id : input框id 6 | name : input框名称 7 | readonly : readonly属性 8 | clickFun : 点击事件的方法名 9 | style : 附加的css属性 10 | @*/ 11 |
12 | 13 |
14 | 36 | @if(isNotEmpty(hidden)){ 37 | 38 | @} 39 | 40 | @if(isNotEmpty(selectFlag)){ 41 | 44 | @} 45 |
46 |
47 | @if(isNotEmpty(underline) && underline == 'true'){ 48 |
49 | @} 50 | 51 | 52 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/common/tags/select.tag: -------------------------------------------------------------------------------- 1 | @/* 2 | select标签中各个参数的说明: 3 | name : select的名称 4 | id : select的id 5 | underline : 是否带分割线 6 | @*/ 7 |
8 | 9 |
10 | 13 | @if(isNotEmpty(hidden)){ 14 | 15 | @} 16 |
17 |
18 | @if(isNotEmpty(underline) && underline == 'true'){ 19 |
20 | @} 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/common/tags/table.tag: -------------------------------------------------------------------------------- 1 | @/* 2 | 表格标签的参数说明: 3 | 4 | id : table表格的id 5 | @*/ 6 | 7 | 8 | 9 | 10 | 11 | 12 |
-------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/common/tags/tag_tips: -------------------------------------------------------------------------------- 1 | 1 dictSelector(字典选择器) 2 | 此标签是为了方便在前台form表单中使用系统中维护的字典而开发的,具体说明如下: 3 | 1.1 标签样例 4 | <#dictSelector id="sex" name ="sex" code="sys_sex" readonly="readonly" label="性别" underline="true" value="${user.sex}" /> 5 | 1.2 属性说明 6 | id: (非必须) 控件的id 7 | name: (非必须) 控件的name 8 | code:(必须) 字典类型编码,根据code的值去后台查询该类型的字典。 9 | type:(非必须) 控件类型,可选项为[select,radio,checkbox],标签会根据填写的类型,生成不同的控件。 10 | searchnum:(非必须)下拉框达到多少个,开启搜索框,默认10个,type为select起效。 11 | label:(非必须) 字典属性名称 12 | width:(非必须) 控件的宽度单位为px,type为select起效。 13 | value: (非必须) 控件默认值,多选时值要用,分隔。 14 | placeholder:(非必须) 控件提示信息,type为select起效。 15 | multiple:(非必须) 是否开启多选,可选值[true,false],默认为false,type为select起效。 16 | underline:(非必须) 是否显示分割线,可选值[true,false],默认为false。 17 | onchange:(非必须) onchange事件方法名称,会传入更改后的值作为参数,例:onchange="myOnChange" function myOnChange(newVal){}。 18 | readonly:(非必须)只读控件,可选值[true,false],默认false 19 | disabled:(非必须) 禁用控件,可选值[true,false],默认false 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/doctor_point/doctorPoint/doctorPoint_add.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 |
7 |
8 | <#input id="id" name="预约编号" underline="true"/> 9 | <#input id="patientIdcard" name="预约居民身份证号" underline="true"/> 10 | <#input id="patientName" name="预约居民姓名"/> 11 |
12 | 13 |
14 | <#input id="doctorName" name="预约医生" underline="true"/> 15 | <#input id="pointDate" name="预约时间" underline="true"/> 16 | <#input id="pointPlace" name="预约地点" underline="true"/> 17 |
18 |
19 | 20 |
21 |
22 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="DoctorPointInfoDlg.addSubmit()"/> 23 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="DoctorPointInfoDlg.close()"/> 24 |
25 |
26 |
27 | 28 |
29 |
30 | 31 | @} 32 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/doctor_point/doctorPoint/doctorPoint_edit.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 |
7 |
8 | <#input id="id" name="预约编号" value="${item.id}" underline="true"/> 9 | <#input id="patientIdcard" name="预约居民身份证号" value="${item.patientIdcard}" underline="true"/> 10 | <#input id="patientName" name="预约居民姓名" value="${item.patientName}" /> 11 |
12 | 13 |
14 | <#input id="doctorName" name="预约医生" value="${item.doctorName}" underline="true"/> 15 | <#input id="pointDate" name="预约时间" value="${item.pointDate}" underline="true"/> 16 | <#input id="pointPlace" name="预约地点" value="${item.pointPlace}" /> 17 |
18 |
19 | 20 |
21 |
22 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="DoctorPointInfoDlg.editSubmit()"/> 23 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="DoctorPointInfoDlg.close()"/> 24 |
25 |
26 |
27 | 28 |
29 |
30 | 31 | @} 32 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Guns - 主页 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | @include("/common/_tab.html"){} 19 | 20 | 21 | 22 | @include("/common/_right.html"){} 23 | 24 | 25 | 26 | @include("/common/_theme.html"){} 27 | 28 | 29 |
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/medicinemanager/medicineInfo/medicineInfo_add.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 |
7 |
8 | <#input id="id" name="编号" underline="true"/> 9 | <#input id="medicineName" name="药物名称"/> 10 |
11 | 12 |
13 | <#input id="medicinePrice" name="药物价格" underline="true"/> 14 | <#input id="medicineValue" name="药物疗效" underline="true"/> 15 |
16 |
17 | 18 |
19 |
20 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="MedicineInfoInfoDlg.addSubmit()"/> 21 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="MedicineInfoInfoDlg.close()"/> 22 |
23 |
24 |
25 | 26 |
27 |
28 | 29 | @} 30 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/medicinemanager/medicineInfo/medicineInfo_edit.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 |
7 |
8 | <#input id="id" name="药物编号" value="${item.id}" underline="true"/> 9 | <#input id="medicineName" name="药物名称" value="${item.medicineName}" /> 10 |
11 | 12 |
13 | <#input id="medicinePrice" name="药物价格" value="${item.medicinePrice}" underline="true"/> 14 | <#input id="medicineValue" name="药物疗效" value="${item.medicineValue}" /> 15 |
16 |
17 | 18 |
19 |
20 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="MedicineInfoInfoDlg.editSubmit()"/> 21 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="MedicineInfoInfoDlg.close()"/> 22 |
23 |
24 |
25 | 26 |
27 |
28 | 29 | @} 30 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/order_manager/order/order.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 |
6 |
预约信息管理管理
7 |
8 |
9 |
10 |
11 |
12 |
13 | <#NameCon id="condition" name="名称" /> 14 |
15 |
16 | <#button name="搜索" icon="fa-search" clickFun="Order.search()"/> 17 |
18 |
19 | 30 | <#table id="OrderTable"/> 31 |
32 |
33 |
34 |
35 |
36 |
37 | 38 | @} 39 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/order_manager/order/order_add.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 |
7 |
8 | <#input id="id" name="编号" underline="true"/> 9 | <#input id="patientIdcard" name="居民身份证号" underline="true"/> 10 | <#input id="patientName" name="居民姓名"/> 11 |
12 | 13 |
14 | <#input id="orderTime" name="预约时间" underline="true"/> 15 | <#input id="orderPlace" name="预约地点" underline="true"/> 16 |
17 |
18 | 19 |
20 |
21 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="OrderInfoDlg.addSubmit()"/> 22 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="OrderInfoDlg.close()"/> 23 |
24 |
25 |
26 | 27 |
28 |
29 | 30 | @} 31 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/order_manager/order/order_edit.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 |
7 |
8 | <#input id="id" name="编号" value="${item.id}" underline="true"/> 9 | <#input id="patientIdcard" name="居民身份证号" value="${item.patientIdcard}" underline="true"/> 10 | <#input id="patientName" name="居民姓名" value="${item.patientName}" /> 11 |
12 | 13 |
14 | <#input id="orderTime" name="预约时间" value="${item.orderTime}" underline="true"/> 15 | <#input id="orderPlace" name="预约地点" value="${item.orderPlace}" /> 16 |
17 |
18 | 19 |
20 |
21 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="OrderInfoDlg.editSubmit()"/> 22 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="OrderInfoDlg.close()"/> 23 |
24 |
25 |
26 | 27 |
28 |
29 | 30 | @} 31 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/pateint_health_manager/patientHealth/patientHealth_add.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 |
7 |
8 | <#input id="id" name="编号" underline="true"/> 9 | <#input id="heartJump" name="心跳" underline="true"/> 10 | <#input id="bloodPressure" name="血压" underline="true"/> 11 | <#input id="bloodOx" name="血氧"/> 12 |
13 | 14 |
15 | <#input id="pulse" name="脉搏" underline="true"/> 16 | <#input id="date" name="测量日期" underline="true"/> 17 | <#input id="patientIdcard" name="居民身份证号" underline="true"/> 18 | <#input id="patientName" name="居民姓名" underline="true"/> 19 |
20 |
21 | 22 |
23 |
24 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="PatientHealthInfoDlg.addSubmit()"/> 25 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="PatientHealthInfoDlg.close()"/> 26 |
27 |
28 |
29 | 30 |
31 |
32 | 33 | @} 34 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/pateint_health_manager/patientHealth/patientHealth_edit.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 |
7 |
8 | <#input id="id" name="编号" value="${item.id}" underline="true"/> 9 | <#input id="heartJump" name="心跳" value="${item.heartJump}" underline="true"/> 10 | <#input id="bloodPressure" name="血压" value="${item.bloodPressure}" underline="true"/> 11 | <#input id="bloodOx" name="血氧" value="${item.bloodOx}" /> 12 |
13 | 14 |
15 | <#input id="pulse" name="脉搏" value="${item.pulse}" underline="true"/> 16 | <#input id="date" name="测量日期" value="${item.date}" underline="true"/> 17 | <#input id="patientIdcard" name="居民身份证号" value="${item.patientIdcard}" underline="true"/> 18 | <#input id="patientName" name="居民姓名" value="${item.patientName}" /> 19 |
20 |
21 | 22 |
23 |
24 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="PatientHealthInfoDlg.editSubmit()"/> 25 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="PatientHealthInfoDlg.close()"/> 26 |
27 |
28 |
29 | 30 |
31 |
32 | 33 | @} 34 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/patient/patientInfo/patientInfo_add.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 |
7 |
8 | <#input id="paientIdcard" name="居民身份证号" underline="true"/> 9 | <#input id="paientName" name="居民姓名"/> 10 |
11 | 12 |
13 | <#input id="paientMoney" name="医保余额" underline="true"/> 14 |
15 |
16 | 17 |
18 |
19 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="PatientInfoInfoDlg.addSubmit()"/> 20 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="PatientInfoInfoDlg.close()"/> 21 |
22 |
23 |
24 | 25 |
26 |
27 | 28 | @} 29 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/patient/patientInfo/patientInfo_edit.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 |
7 |
8 | <#input id="paientIdcard" name="居民身份证号" value="${item.paientIdcard}" underline="true"/> 9 | <#input id="paientName" name="居民姓名" value="${item.paientName}" /> 10 |
11 | 12 |
13 | <#input id="paientMoney" name="医保余额" value="${item.paientMoney}" /> 14 |
15 |
16 | 17 |
18 |
19 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="PatientInfoInfoDlg.editSubmit()"/> 20 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="PatientInfoInfoDlg.close()"/> 21 |
22 |
23 |
24 | 25 |
26 |
27 | 28 | @} 29 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/patient_history_manager/patientHistory/patientHistory_add.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 |
7 |
8 | <#input id="id" name="编号" underline="true"/> 9 | <#input id="patientIdcard" name="居民身份证号" underline="true"/> 10 | <#input id="patientName" name="居民姓名" underline="true"/> 11 | <#input id="patientSym" name="症状描述"/> 12 |
13 | 14 |
15 | <#input id="patientDoctor" name="主治医生" underline="true"/> 16 | <#input id="patientMedicine" name="就诊药物" underline="true"/> 17 | <#input id="patientHistoryDate" name="就诊日期" underline="true"/> 18 | <#input id="takeprice" name="花费" underline="true"/> 19 |
20 |
21 | 22 |
23 |
24 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="PatientHistoryInfoDlg.addSubmit()"/> 25 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="PatientHistoryInfoDlg.close()"/> 26 |
27 |
28 |
29 | 30 |
31 |
32 | 33 | @} 34 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/patient_history_manager/patientHistory/patientHistory_edit.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 |
7 |
8 | <#input id="id" name="编号" value="${item.id}" underline="true"/> 9 | <#input id="patientIdcard" name="居民身份证号" value="${item.patientIdcard}" underline="true"/> 10 | <#input id="patientName" name="居民姓名" value="${item.patientName}" underline="true"/> 11 | <#input id="patientSym" name="症状描述" value="${item.patientSym}" /> 12 |
13 | 14 |
15 | <#input id="patientDoctor" name="主治医生" value="${item.patientDoctor}" underline="true"/> 16 | <#input id="patientMedicine" name="就诊药物" value="${item.patientMedicine}" underline="true"/> 17 | <#input id="patientHistoryDate" name="就诊日期" value="${item.patientHistoryDate}" underline="true"/> 18 | <#input id="takeprice" name="花费" value="${item.takeprice}" /> 19 |
20 |
21 | 22 |
23 |
24 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="PatientHistoryInfoDlg.editSubmit()"/> 25 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="PatientHistoryInfoDlg.close()"/> 26 |
27 |
28 |
29 | 30 |
31 |
32 | 33 | @} 34 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/system/dept/dept.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 |
6 |
部门管理
7 |
8 |
9 |
10 |
11 |
12 |
13 | <#NameCon id="condition" name="名称" /> 14 |
15 |
16 | <#button name="搜索" icon="fa-search" clickFun="Dept.search()"/> 17 |
18 |
19 | 30 | <#table id="DeptTable"/> 31 |
32 |
33 |
34 |
35 |
36 |
37 | 38 | @} 39 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/system/dept/dept_add.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 | 7 | 8 |
9 |
10 | <#input id="simplename" name="部门名称" underline="true"/> 11 | 12 | <#input id="fullname" name="部门全称" underline="true"/> 13 | 14 | <#input id="tips" name="备注" underline="true"/> 15 |
16 |
17 | <#input id="num" name="排序" underline="true"/> 18 | 19 | <#input id="pName" name="上级部门" readonly="readonly" hidden="pid" 20 | clickFun="DeptInfoDlg.showDeptSelectTree(); return false;" 21 | style="background-color: #ffffff !important;"/> 22 |
23 |
24 | 25 | 26 | 30 | 31 |
32 |
33 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="DeptInfoDlg.addSubmit()"/> 34 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="DeptInfoDlg.close()"/> 35 |
36 |
37 |
38 | 39 |
40 |
41 | 42 | @} 43 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/system/dict/dict.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 |
6 |
字典管理
7 |
8 |
9 |
10 |
11 |
12 |
13 | <#NameCon id="condition" name="名称" /> 14 |
15 |
16 | <#button name="搜索" icon="fa-search" clickFun="Dict.search()"/> 17 |
18 |
19 | 30 | <#table id="DictTable"/> 31 |
32 |
33 |
34 |
35 |
36 |
37 | 38 | @} 39 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/system/log/login_log.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 |
6 |
登录日志
7 |
8 |
9 |
10 |
11 |
12 |
13 | <#TimeCon id="beginTime" name="开始时间" isTime="false" pattern="YYYY-MM-DD" /> 14 |
15 |
16 | <#TimeCon id="endTime" name="结束时间" isTime="false" pattern="YYYY-MM-DD" /> 17 |
18 |
19 | <#NameCon id="logName" name="日志名称" /> 20 |
21 |
22 | <#button name="搜索" icon="fa-search" clickFun="LoginLog.search()"/> 23 |
24 |
25 | 28 | <#table id="LoginLogTable"/> 29 |
30 |
31 |
32 |
33 |
34 |
35 | 36 | @} 37 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/system/menu/menu_add.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 | 36 | 37 |
38 |
39 | 40 | @} 41 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/system/notice/notice.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 |
6 |
通知管理
7 |
8 |
9 |
10 |
11 |
12 |
13 | <#NameCon id="condition" name="名称" /> 14 |
15 |
16 | <#button name="搜索" icon="fa-search" clickFun="Notice.search()"/> 17 |
18 |
19 | 30 | <#table id="NoticeTable"/> 31 |
32 |
33 |
34 |
35 |
36 |
37 | 38 | @} 39 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/system/notice/notice_add.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 | 7 | 8 |
9 |
10 |
11 | 12 |
13 | 14 | 15 |
16 |
17 |
18 | 19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 | 27 |
28 |
29 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="NoticeInfoDlg.addSubmit()"/> 30 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="NoticeInfoDlg.close()"/> 31 |
32 |
33 |
34 | 35 |
36 |
37 | 38 | 39 | @} 40 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/system/notice/notice_edit.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 | 7 | 8 | 9 |
10 |
11 |
12 | 13 |
14 | 15 | 16 |
17 |
18 |
19 | 20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | 28 |
29 |
30 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="NoticeInfoDlg.editSubmit()"/> 31 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="NoticeInfoDlg.close()"/> 32 |
33 |
34 |
35 |
36 |
37 | 38 | 39 | @} 40 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/system/patientHealth/patientHealth_add.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 |
7 |
8 | <#input id="id" name="" underline="true"/> 9 | <#input id="heartJump" name="" underline="true"/> 10 | <#input id="bloodPressure" name="" underline="true"/> 11 | <#input id="bloodOx" name=""/> 12 |
13 | 14 |
15 | <#input id="pulse" name="" underline="true"/> 16 | <#input id="date" name="" underline="true"/> 17 | <#input id="patientIdcard" name="" underline="true"/> 18 | <#input id="patientName" name="" underline="true"/> 19 |
20 |
21 | 22 |
23 |
24 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="PatientHealthInfoDlg.addSubmit()"/> 25 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="PatientHealthInfoDlg.close()"/> 26 |
27 |
28 |
29 | 30 |
31 |
32 | 33 | @} 34 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/system/patientHealth/patientHealth_edit.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 |
7 |
8 | <#input id="id" name="" value="${item.id}" underline="true"/> 9 | <#input id="heartJump" name="" value="${item.heartJump}" underline="true"/> 10 | <#input id="bloodPressure" name="" value="${item.bloodPressure}" underline="true"/> 11 | <#input id="bloodOx" name="" value="${item.bloodOx}" /> 12 |
13 | 14 |
15 | <#input id="pulse" name="" value="${item.pulse}" underline="true"/> 16 | <#input id="date" name="" value="${item.date}" underline="true"/> 17 | <#input id="patientIdcard" name="" value="${item.patientIdcard}" underline="true"/> 18 | <#input id="patientName" name="" value="${item.patientName}" /> 19 |
20 |
21 | 22 |
23 |
24 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="PatientHealthInfoDlg.editSubmit()"/> 25 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="PatientHealthInfoDlg.close()"/> 26 |
27 |
28 |
29 | 30 |
31 |
32 | 33 | @} 34 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/system/role/role_add.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 | 7 | 8 |
9 |
10 | <#input id="name" name="角色名称" underline="true"/> 11 | <#input id="pName" name="上级名称" underline="true" hidden="pid" readonly="readonly" 12 | clickFun="RolInfoDlg.showPNameSelectTree(); return false;" 13 | style="background-color: #ffffff !important;"/> 14 | <#input id="deptName" name="部门名称" hidden="deptid" readonly="readonly" 15 | clickFun="RolInfoDlg.showDeptSelectTree(); return false;" 16 | style="background-color: #ffffff !important;"/> 17 |
18 |
19 | <#input id="tips" name="别名" underline="true"/> 20 | <#input id="num" name="排序"/> 21 |
22 |
23 | 24 | 25 | 29 | 30 | 31 | 35 | 36 |
37 |
38 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="RolInfoDlg.addSubmit()"/> 39 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="RolInfoDlg.close()"/> 40 |
41 |
42 |
43 | 44 |
45 |
46 | 47 | @} 48 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/system/user/user_chpwd.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 |
修改密码
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | <#input id="oldPwd" name="原密码" underline="true" type="password"/> 16 | <#input id="newPwd" name="新密码" underline="true" type="password"/> 17 | <#input id="rePwd" name="新密码验证" type="password"/> 18 |
19 |
20 |
21 |
22 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="UserInfoDlg.chPwd()"/> 23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 | 34 | @} 35 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/病人/info/info.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 |
6 |
病人管理
7 |
8 |
9 |
10 |
11 |
12 |
13 | <#NameCon id="condition" name="名称" /> 14 |
15 |
16 | <#button name="搜索" icon="fa-search" clickFun="Info.search()"/> 17 |
18 |
19 | 30 | <#table id="InfoTable"/> 31 |
32 |
33 |
34 |
35 |
36 |
37 | 38 | @} 39 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/病人/info/info_add.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 |
7 |
8 | <#input id="userId" name="" underline="true"/> 9 | <#input id="userName" name=""/> 10 |
11 | 12 |
13 | <#input id="userIdcard" name="" underline="true"/> 14 | <#input id="userPassword" name="" underline="true"/> 15 |
16 |
17 | 18 |
19 |
20 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="InfoInfoDlg.addSubmit()"/> 21 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="InfoInfoDlg.close()"/> 22 |
23 |
24 |
25 | 26 |
27 |
28 | 29 | @} 30 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/view/病人/info/info_edit.html: -------------------------------------------------------------------------------- 1 | @layout("/common/_container.html"){ 2 |
3 |
4 |
5 | 6 |
7 |
8 | <#input id="userId" name="" value="${item.userId}" underline="true"/> 9 | <#input id="userName" name="" value="${item.userName}" /> 10 |
11 | 12 |
13 | <#input id="userIdcard" name="" value="${item.userIdcard}" underline="true"/> 14 | <#input id="userPassword" name="" value="${item.userPassword}" /> 15 |
16 |
17 | 18 |
19 |
20 | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="InfoInfoDlg.editSubmit()"/> 21 | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="InfoInfoDlg.close()"/> 22 |
23 |
24 |
25 | 26 |
27 |
28 | 29 | @} 30 | -------------------------------------------------------------------------------- /src/main/webapp/static/css/_fstyle.css: -------------------------------------------------------------------------------- 1 | .button-margin { 2 | margin-left: 15px !important; 3 | } 4 | 5 | .input-none-margin { 6 | margin: 0px !important; 7 | } 8 | 9 | .btn-margin-left { 10 | margin-left: 15px !important; 11 | } 12 | 13 | .table-head { 14 | float: left; 15 | width: 100%; 16 | height: auto; 17 | } 18 | 19 | .head-scu-label { 20 | margin-top: 35px; 21 | } 22 | 23 | .head-scu-btn { 24 | margin-top: 68px; 25 | } 26 | 27 | .line-margin { 28 | margin: 8px 0 !important; 29 | } 30 | 31 | .be-driver-checkbox { 32 | margin-top: 7px; 33 | } 34 | 35 | .btn-group-m-t { 36 | margin-top: 20px; 37 | } 38 | 39 | .upload-btn { 40 | white-space: nowrap; 41 | } 42 | 43 | .tree-box { 44 | border-radius: 0px !important; 45 | box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2) !important; 46 | background: rgb(250, 250, 250) none repeat scroll 0% 0% !important; 47 | border: 1px solid rgb(204, 204, 204) !important; 48 | overflow-y: scroll !important; 49 | overflow-x: auto !important; 50 | margin-top: 0px !important; 51 | width: 224px !important; 52 | max-height: 160px !important; 53 | -moz-user-select: none !important; 54 | } 55 | .dept-tree { 56 | padding:10px 57 | } 58 | 59 | .w-e-text-container{ 60 | height: 150px !important; 61 | } 62 | 63 | .editorHeight{ 64 | height: 170px; 65 | } -------------------------------------------------------------------------------- /src/main/webapp/static/css/patterns/header-profile-skin-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/patterns/header-profile-skin-1.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/patterns/header-profile-skin-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/patterns/header-profile-skin-3.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/patterns/header-profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/patterns/header-profile.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/patterns/shattered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/patterns/shattered.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/bootstrap-treetable/bootstrap-treetable.css: -------------------------------------------------------------------------------- 1 | .treetable-indent {width:16px; height: 16px; display: inline-block; position: relative;} 2 | .treetable-expander {width:16px; height: 16px; display: inline-block; position: relative; cursor: pointer;} 3 | .treetable-selected{background: #f5f5f5 !important;} 4 | .treetable-table{border:0 !important;margin-bottom:0} 5 | .treetable-table tbody {display:block;height:auto;overflow-y:auto;} 6 | .treetable-table thead, .treetable-table tbody tr {display:table;width:100%;table-layout:fixed;} 7 | .treetable-thead th{line-height:40px;border: 0 !important;background:#fff !important;border-radius: 4px;border-left:1px solid #e7eaec !important;border-bottom:2px solid #e7eaec !important;text-align: center;} 8 | .treetable-thead tr :first-child{border-left:0 !important} 9 | .treetable-tbody td{border: 0 !important;border-left:1px solid #e7eaec !important;border-bottom:1px solid #e7eaec !important;} 10 | .treetable-tbody tr :first-child{border-left:0 !important} 11 | -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/chosen/chosen-sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/chosen/chosen-sprite.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/chosen/chosen-sprite@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/chosen/chosen-sprite@2x.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/iCheck/custom.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, green 2 | ----------------------------------- */ 3 | .icheckbox_square-green, 4 | .iradio_square-green { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(green.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-green { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-green.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-green.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-green.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-green.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-green { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-green.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-green.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-green.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-green.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* HiDPI support */ 52 | @media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) { 53 | .icheckbox_square-green, 54 | .iradio_square-green { 55 | background-image: url(green@2x.png); 56 | -webkit-background-size: 240px 24px; 57 | background-size: 240px 24px; 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/iCheck/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/iCheck/green.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/iCheck/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/iCheck/green@2x.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/images/sprite-skin-flat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/images/sprite-skin-flat.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/validate/bootstrapValidator.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * BootstrapValidator (http://bootstrapvalidator.com) 3 | * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3 4 | * 5 | * @version v0.5.3, built on 2014-11-05 9:14:18 PM 6 | * @author https://twitter.com/nghuuphuoc 7 | * @copyright (c) 2013 - 2014 Nguyen Huu Phuoc 8 | * @license Commercial: http://bootstrapvalidator.com/license/ 9 | * Non-commercial: http://creativecommons.org/licenses/by-nc-nd/3.0/ 10 | */ 11 | 12 | .bv-form .help-block{margin-bottom:0}.bv-form .tooltip-inner{text-align:left}.nav-tabs li.bv-tab-success>a{color:#3c763d}.nav-tabs li.bv-tab-error>a{color:#a94442}.bv-form .bv-icon-no-label{top:0}.bv-form .bv-icon-input-group{top:0;z-index:100} -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/webuploader/webuploader.css: -------------------------------------------------------------------------------- 1 | .webuploader-container { 2 | position: relative; 3 | } 4 | .webuploader-element-invisible { 5 | position: absolute !important; 6 | clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ 7 | clip: rect(1px,1px,1px,1px); 8 | } 9 | .webuploader-pick { 10 | position: relative; 11 | display: inline-block; 12 | cursor: pointer; 13 | background: #1ab394; 14 | padding: 6px 12px; 15 | color: #fff; 16 | text-align: center; 17 | border-radius: 3px; 18 | overflow: hidden; 19 | font-size: 14px; 20 | font-weight: 400; 21 | } 22 | .webuploader-pick-hover { 23 | background: #18ab8d; 24 | } 25 | 26 | .webuploader-pick-disable { 27 | opacity: 0.6; 28 | pointer-events:none; 29 | } 30 | 31 | -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/ztree/img/diy/1_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/ztree/img/diy/1_close.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/ztree/img/diy/1_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/ztree/img/diy/1_open.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/ztree/img/diy/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/ztree/img/diy/2.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/ztree/img/diy/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/ztree/img/diy/3.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/ztree/img/diy/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/ztree/img/diy/4.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/ztree/img/diy/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/ztree/img/diy/5.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/ztree/img/diy/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/ztree/img/diy/6.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/ztree/img/diy/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/ztree/img/diy/7.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/ztree/img/diy/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/ztree/img/diy/8.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/ztree/img/diy/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/ztree/img/diy/9.png -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/ztree/img/line_conn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/ztree/img/line_conn.gif -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/ztree/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/ztree/img/loading.gif -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/ztree/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/ztree/img/zTreeStandard.gif -------------------------------------------------------------------------------- /src/main/webapp/static/css/plugins/ztree/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/css/plugins/ztree/img/zTreeStandard.png -------------------------------------------------------------------------------- /src/main/webapp/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/favicon.ico -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/main/webapp/static/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /src/main/webapp/static/img/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/img/bg.png -------------------------------------------------------------------------------- /src/main/webapp/static/img/boy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/img/boy.gif -------------------------------------------------------------------------------- /src/main/webapp/static/img/girl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/img/girl.gif -------------------------------------------------------------------------------- /src/main/webapp/static/img/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/img/icons.png -------------------------------------------------------------------------------- /src/main/webapp/static/img/loading-upload.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/img/loading-upload.gif -------------------------------------------------------------------------------- /src/main/webapp/static/img/locked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/img/locked.png -------------------------------------------------------------------------------- /src/main/webapp/static/img/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/img/user.png -------------------------------------------------------------------------------- /src/main/webapp/static/js/common/ajax-object.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | var $ax = function (url, success, error) { 3 | this.url = url; 4 | this.type = "post"; 5 | this.data = {}; 6 | this.dataType = "json"; 7 | this.async = false; 8 | this.success = success; 9 | this.error = error; 10 | }; 11 | 12 | $ax.prototype = { 13 | start : function () { 14 | var me = this; 15 | 16 | if (this.url.indexOf("?") == -1) { 17 | this.url = this.url + "?jstime=" + new Date().getTime(); 18 | } else { 19 | this.url = this.url + "&jstime=" + new Date().getTime(); 20 | } 21 | 22 | $.ajax({ 23 | type: this.type, 24 | url: this.url, 25 | dataType: this.dataType, 26 | async: this.async, 27 | data: this.data, 28 | beforeSend: function(data) { 29 | 30 | }, 31 | success: function(data) { 32 | me.success(data); 33 | }, 34 | error: function(data) { 35 | me.error(data); 36 | } 37 | }); 38 | }, 39 | 40 | set : function (key, value) { 41 | if (typeof key == "object") { 42 | for (var i in key) { 43 | if (typeof i == "function") 44 | continue; 45 | this.data[i] = key[i]; 46 | } 47 | } else { 48 | this.data[key] = (typeof value == "undefined") ? $("#" + key).val() : value; 49 | } 50 | return this; 51 | }, 52 | 53 | setData : function(data){ 54 | this.data = data; 55 | return this; 56 | }, 57 | 58 | clear : function () { 59 | this.data = {}; 60 | return this; 61 | } 62 | }; 63 | 64 | window.$ax = $ax; 65 | 66 | } ()); -------------------------------------------------------------------------------- /src/main/webapp/static/js/common/select-list-object.js: -------------------------------------------------------------------------------- 1 | var SelectList = {}; 2 | SelectList.singelSelect = function (eleName, attr, data) { 3 | var result = false; 4 | $("#" + eleName).find("a").each(function (i, d) { 5 | if ($(this).attr(attr) == data) { 6 | if ($(this).hasClass('active')) { 7 | $(this).removeClass('active'); 8 | } else { 9 | $(this).addClass('active'); 10 | result = true; 11 | } 12 | } else { 13 | $(this).removeClass('active'); 14 | } 15 | }); 16 | return result; 17 | }; 18 | SelectList.mutiSelect = function (eleName, attr, data) { 19 | var result = false; 20 | $("#" + eleName).find("a").each(function (i, d) { 21 | if ($(this).attr(attr) == data) { 22 | if ($(this).hasClass('active')) { 23 | $(this).removeClass('active'); 24 | } else { 25 | $(this).addClass('active'); 26 | result = true; 27 | } 28 | } 29 | }); 30 | return result; 31 | }; 32 | SelectList.clearSelect = function (eleName) { 33 | $("#" + eleName).find("a").each(function (i, d) { 34 | $(this).removeClass('active'); 35 | }); 36 | }; -------------------------------------------------------------------------------- /src/main/webapp/static/js/plugins/bootstrap-table/bootstrap-table-mobile.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | * bootstrap-table - v1.11.1 - 2017-02-22 3 | * https://github.com/wenzhixin/bootstrap-table 4 | * Copyright (c) 2017 zhixin wen 5 | * Licensed MIT License 6 | */ 7 | !function(a){"use strict";var b=function(b,c){b.options.columnsHidden.length>0&&a.each(b.columns,function(d,e){-1!==b.options.columnsHidden.indexOf(e.field)&&e.visible!==c&&b.toggleColumn(a.fn.bootstrapTable.utils.getFieldIndex(b.columns,e.field),c,!0)})},c=function(a){(a.options.height||a.options.showFooter)&&setTimeout(function(){a.resetView.call(a)},1)},d=function(a,b,d){a.options.minHeight?b<=a.options.minWidth&&d<=a.options.minHeight?e(a):b>a.options.minWidth&&d>a.options.minHeight&&f(a):b<=a.options.minWidth?e(a):b>a.options.minWidth&&f(a),c(a)},e=function(a){g(a,!1),b(a,!1)},f=function(a){g(a,!0),b(a,!0)},g=function(a,b){a.options.cardView=b,a.toggleView()},h=function(a,b){var c;return function(){var d=this,e=arguments,f=function(){c=null,a.apply(d,e)};clearTimeout(c),c=setTimeout(f,b)}};a.extend(a.fn.bootstrapTable.defaults,{mobileResponsive:!1,minWidth:562,minHeight:void 0,heightThreshold:100,checkOnInit:!0,columnsHidden:[]});var i=a.fn.bootstrapTable.Constructor,j=i.prototype.init;i.prototype.init=function(){if(j.apply(this,Array.prototype.slice.apply(arguments)),this.options.mobileResponsive&&this.options.minWidth){this.options.minWidth<100&&this.options.resizable&&(console.log("The minWidth when the resizable extension is active should be greater or equal than 100"),this.options.minWidth=100);var b=this,c={width:a(window).width(),height:a(window).height()};if(a(window).on("resize orientationchange",h(function(){var e=a(this).height(),f=a(this).width();(Math.abs(c.height-e)>b.options.heightThreshold||c.width!=f)&&(d(b,f,e),c={width:f,height:e})},200)),this.options.checkOnInit){var e=a(window).height(),f=a(window).width();d(this,f,e),c={width:f,height:e}}}}}(jQuery); -------------------------------------------------------------------------------- /src/main/webapp/static/js/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bootstrap Table Chinese translation 3 | * Author: Zhixin Wen 4 | */ 5 | (function ($) { 6 | 'use strict'; 7 | 8 | $.fn.bootstrapTable.locales['zh-CN'] = { 9 | formatLoadingMessage: function () { 10 | return '正在努力地加载数据中,请稍候……'; 11 | }, 12 | formatRecordsPerPage: function (pageNumber) { 13 | return '每页显示 ' + pageNumber + ' 条记录'; 14 | }, 15 | formatShowingRows: function (pageFrom, pageTo, totalRows) { 16 | return '显示第 ' + pageFrom + ' 到第 ' + pageTo + ' 条记录,总共 ' + totalRows + ' 条记录'; 17 | }, 18 | formatSearch: function () { 19 | return '搜索'; 20 | }, 21 | formatNoMatches: function () { 22 | return '没有找到匹配的记录'; 23 | }, 24 | formatPaginationSwitch: function () { 25 | return '隐藏/显示分页'; 26 | }, 27 | formatRefresh: function () { 28 | return '刷新'; 29 | }, 30 | formatToggle: function () { 31 | return '切换'; 32 | }, 33 | formatColumns: function () { 34 | return '列'; 35 | }, 36 | formatExport: function () { 37 | return '导出数据'; 38 | }, 39 | formatClearFilters: function () { 40 | return '清空过滤'; 41 | } 42 | }; 43 | 44 | $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['zh-CN']); 45 | 46 | })(jQuery); 47 | -------------------------------------------------------------------------------- /src/main/webapp/static/js/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | * bootstrap-table - v1.11.1 - 2017-02-22 3 | * https://github.com/wenzhixin/bootstrap-table 4 | * Copyright (c) 2017 zhixin wen 5 | * Licensed MIT License 6 | */ 7 | !function(a){"use strict";a.fn.bootstrapTable.locales["zh-CN"]={formatLoadingMessage:function(){return"正在努力地加载数据中,请稍候……"},formatRecordsPerPage:function(a){return"每页显示 "+a+" 条记录"},formatShowingRows:function(a,b,c){return"显示第 "+a+" 到第 "+b+" 条记录,总共 "+c+" 条记录"},formatSearch:function(){return"搜索"},formatNoMatches:function(){return"没有找到匹配的记录"},formatPaginationSwitch:function(){return"隐藏/显示分页"},formatRefresh:function(){return"刷新"},formatToggle:function(){return"切换"},formatColumns:function(){return"列"},formatExport:function(){return"导出数据"},formatClearFilters:function(){return"清空过滤"}},a.extend(a.fn.bootstrapTable.defaults,a.fn.bootstrapTable.locales["zh-CN"])}(jQuery); -------------------------------------------------------------------------------- /src/main/webapp/static/js/plugins/laydate/theme/default/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/js/plugins/laydate/theme/default/font/iconfont.eot -------------------------------------------------------------------------------- /src/main/webapp/static/js/plugins/laydate/theme/default/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/js/plugins/laydate/theme/default/font/iconfont.ttf -------------------------------------------------------------------------------- /src/main/webapp/static/js/plugins/laydate/theme/default/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/js/plugins/laydate/theme/default/font/iconfont.woff -------------------------------------------------------------------------------- /src/main/webapp/static/js/plugins/layer/theme/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/js/plugins/layer/theme/default/icon-ext.png -------------------------------------------------------------------------------- /src/main/webapp/static/js/plugins/layer/theme/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/js/plugins/layer/theme/default/icon.png -------------------------------------------------------------------------------- /src/main/webapp/static/js/plugins/layer/theme/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/js/plugins/layer/theme/default/loading-0.gif -------------------------------------------------------------------------------- /src/main/webapp/static/js/plugins/layer/theme/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/js/plugins/layer/theme/default/loading-1.gif -------------------------------------------------------------------------------- /src/main/webapp/static/js/plugins/layer/theme/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/js/plugins/layer/theme/default/loading-2.gif -------------------------------------------------------------------------------- /src/main/webapp/static/js/plugins/webuploader/Uploader.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaGraduationProject/CommunityElderlyCareComprehensiveServicePlatform/8b6096f44adbc61aaca182b7d42852ca829573ec/src/main/webapp/static/js/plugins/webuploader/Uploader.swf -------------------------------------------------------------------------------- /src/main/webapp/static/js/plugins/webuploader/webuploader.css: -------------------------------------------------------------------------------- 1 | .webuploader-container { 2 | position: relative; 3 | } 4 | .webuploader-element-invisible { 5 | position: absolute !important; 6 | clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ 7 | clip: rect(1px,1px,1px,1px); 8 | } 9 | .webuploader-pick { 10 | position: relative; 11 | display: inline-block; 12 | cursor: pointer; 13 | background: #00b7ee; 14 | padding: 10px 15px; 15 | color: #fff; 16 | text-align: center; 17 | border-radius: 3px; 18 | overflow: hidden; 19 | } 20 | .webuploader-pick-hover { 21 | background: #00a2d4; 22 | } 23 | 24 | .webuploader-pick-disable { 25 | opacity: 0.6; 26 | pointer-events:none; 27 | } 28 | 29 | -------------------------------------------------------------------------------- /src/main/webapp/static/modular/system/code/code.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 代码生成管理初始化 3 | */ 4 | var Code = { 5 | 6 | }; 7 | 8 | /** 9 | * 提交代码生成 10 | */ 11 | Code.generate = function () { 12 | var baseAjax = Feng.baseAjax("/code/generate","生成代码"); 13 | baseAjax.set("bizChName"); 14 | baseAjax.set("bizEnName"); 15 | baseAjax.set("path"); 16 | baseAjax.set("moduleName"); 17 | baseAjax.start(); 18 | }; 19 | -------------------------------------------------------------------------------- /src/test/java/cn/stylefeng/guns/base/BaseJunit.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.base; 2 | 3 | import cn.stylefeng.guns.GunsApplication; 4 | import org.junit.Before; 5 | import org.junit.runner.RunWith; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.boot.test.context.SpringBootTest; 8 | import org.springframework.test.context.junit4.SpringRunner; 9 | import org.springframework.test.context.web.WebAppConfiguration; 10 | import org.springframework.test.web.servlet.MockMvc; 11 | import org.springframework.test.web.servlet.setup.MockMvcBuilders; 12 | import org.springframework.web.context.WebApplicationContext; 13 | 14 | 15 | /** 16 | * 基础测试类 17 | * 18 | * @author stylefeng 19 | * @Date 2017/5/21 16:10 20 | */ 21 | @RunWith(SpringRunner.class) 22 | @SpringBootTest(classes = GunsApplication.class) 23 | @WebAppConfiguration 24 | //@Transactional //打开的话测试之后数据可自动回滚 25 | public class BaseJunit { 26 | 27 | @Autowired 28 | WebApplicationContext webApplicationContext; 29 | 30 | protected MockMvc mockMvc; 31 | 32 | @Before 33 | public void setupMockMvc() { 34 | mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); 35 | } 36 | 37 | @Before 38 | public void initDatabase() { 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/test/java/cn/stylefeng/guns/multi/entity/Test.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.multi.entity; 2 | 3 | import com.baomidou.mybatisplus.annotations.TableId; 4 | import com.baomidou.mybatisplus.enums.IdType; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | *

10 | * 11 | *

12 | * 13 | * @author fengshuonan 14 | * @since 2018-07-10 15 | */ 16 | public class Test implements Serializable { 17 | 18 | private static final long serialVersionUID = 1L; 19 | 20 | @TableId(value = "aaa", type = IdType.AUTO) 21 | private Integer aaa; 22 | 23 | private String bbb; 24 | 25 | 26 | public Integer getAaa() { 27 | return aaa; 28 | } 29 | 30 | public void setAaa(Integer aaa) { 31 | this.aaa = aaa; 32 | } 33 | 34 | public String getBbb() { 35 | return bbb; 36 | } 37 | 38 | public void setBbb(String bbb) { 39 | this.bbb = bbb; 40 | } 41 | 42 | @Override 43 | public String toString() { 44 | return "Test{" + 45 | "aaa=" + aaa + 46 | ", bbb=" + bbb + 47 | "}"; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/test/java/cn/stylefeng/guns/multi/mapper/TestMapper.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.multi.mapper; 2 | 3 | import cn.stylefeng.guns.multi.entity.Test; 4 | import com.baomidou.mybatisplus.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * Mapper 接口 9 | *

10 | * 11 | * @author fengshuonan 12 | * @since 2018-07-10 13 | */ 14 | public interface TestMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/cn/stylefeng/guns/multi/mapper/mapping/TestMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | aaa, bbb 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/test/java/cn/stylefeng/guns/multi/service/TestService.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.multi.service; 2 | 3 | /** 4 | *

5 | * 服务类 6 | *

7 | * 8 | * @author fengshuonan 9 | * @since 2018-07-10 10 | */ 11 | public interface TestService { 12 | 13 | /** 14 | * 测试多数据源的业务 15 | * 16 | * @author stylefeng 17 | * @Date 2017/6/23 23:02 18 | */ 19 | void testBiz(); 20 | 21 | /** 22 | * 测试多数据源的业务 23 | * 24 | * @author stylefeng 25 | * @Date 2017/6/23 23:02 26 | */ 27 | void testGuns(); 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/test/java/cn/stylefeng/guns/multi/service/impl/TestServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.multi.service.impl; 2 | 3 | import cn.stylefeng.guns.core.common.constant.DatasourceEnum; 4 | import cn.stylefeng.guns.multi.entity.Test; 5 | import cn.stylefeng.guns.multi.mapper.TestMapper; 6 | import cn.stylefeng.guns.multi.service.TestService; 7 | import cn.stylefeng.roses.core.mutidatasource.annotion.DataSource; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.stereotype.Service; 10 | import org.springframework.transaction.annotation.Transactional; 11 | 12 | /** 13 | *

14 | * 服务实现类 15 | *

16 | * 17 | * @author fengshuonan 18 | * @since 2018-07-10 19 | */ 20 | @Service 21 | public class TestServiceImpl implements TestService { 22 | 23 | @Autowired 24 | private TestMapper testMapper; 25 | 26 | @Override 27 | @DataSource(name = DatasourceEnum.DATA_SOURCE_BIZ) 28 | @Transactional 29 | public void testBiz() { 30 | Test test = new Test(); 31 | test.setBbb("bizTest"); 32 | testMapper.insert(test); 33 | } 34 | 35 | @Override 36 | @DataSource(name = DatasourceEnum.DATA_SOURCE_GUNS) 37 | @Transactional 38 | public void testGuns() { 39 | Test test = new Test(); 40 | test.setBbb("gunsTest"); 41 | testMapper.insert(test); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/test/java/cn/stylefeng/guns/multi/test/BizTest.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.multi.test; 2 | 3 | import cn.stylefeng.guns.base.BaseJunit; 4 | import cn.stylefeng.guns.multi.service.TestService; 5 | import org.junit.Test; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | 8 | /** 9 | * 业务测试 10 | * 11 | * @author fengshuonan 12 | * @date 2017-06-23 23:12 13 | */ 14 | public class BizTest extends BaseJunit { 15 | 16 | @Autowired 17 | private TestService testService; 18 | 19 | @Test 20 | public void test() { 21 | testService.testGuns(); 22 | 23 | testService.testBiz(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/test/java/cn/stylefeng/guns/shiro/Base64Test.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.shiro; 2 | 3 | import org.springframework.util.Base64Utils; 4 | 5 | import java.io.UnsupportedEncodingException; 6 | import java.util.Arrays; 7 | 8 | public class Base64Test { 9 | 10 | /** 11 | * Shiro 记住密码采用的是AES加密,AES key length 需要是16位,该方法生成16位的key 12 | */ 13 | public static void main(String[] args) { 14 | 15 | String keyStr = "guns"; 16 | 17 | byte[] keys; 18 | try { 19 | keys = keyStr.getBytes("UTF-8"); 20 | System.out.println(Base64Utils.encodeToString(Arrays.copyOf(keys, 16))); 21 | } catch (UnsupportedEncodingException e) { 22 | e.printStackTrace(); 23 | } 24 | 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/test/java/cn/stylefeng/guns/system/BlackBoardTest.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.system; 2 | 3 | import cn.stylefeng.guns.base.BaseJunit; 4 | import cn.stylefeng.guns.modular.system.dao.NoticeMapper; 5 | import org.junit.Test; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | 8 | import java.util.List; 9 | import java.util.Map; 10 | 11 | import static org.junit.Assert.assertTrue; 12 | 13 | /** 14 | * 首页通知展示测试 15 | * 16 | * @author fengshuonan 17 | * @date 2017-05-21 15:02 18 | */ 19 | public class BlackBoardTest extends BaseJunit { 20 | 21 | @Autowired 22 | NoticeMapper noticeMapper; 23 | 24 | @Test 25 | public void blackBoardTest() { 26 | List> notices = noticeMapper.list(null); 27 | assertTrue(notices.size() > 0); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/test/java/cn/stylefeng/guns/system/DeptTest.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.system; 2 | 3 | import cn.stylefeng.guns.base.BaseJunit; 4 | import cn.stylefeng.guns.modular.system.dao.DeptMapper; 5 | import cn.stylefeng.guns.modular.system.model.Dept; 6 | import org.junit.Test; 7 | 8 | import javax.annotation.Resource; 9 | import java.util.List; 10 | import java.util.Map; 11 | 12 | import static org.junit.Assert.assertEquals; 13 | import static org.junit.Assert.assertTrue; 14 | 15 | /** 16 | * 字典服务测试 17 | * 18 | * @author fengshuonan 19 | * @date 2017-04-27 17:05 20 | */ 21 | public class DeptTest extends BaseJunit { 22 | 23 | @Resource 24 | DeptMapper deptMapper; 25 | 26 | @Test 27 | public void addDeptTest() { 28 | Dept dept = new Dept(); 29 | dept.setFullname("测试fullname"); 30 | dept.setNum(5); 31 | dept.setPid(1); 32 | dept.setSimplename("测试"); 33 | dept.setTips("测试tips"); 34 | dept.setVersion(1); 35 | Integer insert = deptMapper.insert(dept); 36 | assertEquals(insert, new Integer(1)); 37 | } 38 | 39 | @Test 40 | public void updateTest() { 41 | Dept dept = this.deptMapper.selectById(24); 42 | dept.setTips("哈哈"); 43 | boolean flag = dept.updateById(); 44 | assertTrue(flag); 45 | } 46 | 47 | @Test 48 | public void deleteTest() { 49 | Dept dept = this.deptMapper.selectById(24); 50 | Integer integer = deptMapper.deleteById(dept); 51 | assertTrue(integer > 0); 52 | } 53 | 54 | @Test 55 | public void listTest() { 56 | List> list = this.deptMapper.list("总公司"); 57 | assertTrue(list.size() > 0); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/test/java/cn/stylefeng/guns/system/DictTest.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.system; 2 | 3 | import cn.stylefeng.guns.base.BaseJunit; 4 | import cn.stylefeng.guns.modular.system.dao.DictMapper; 5 | import cn.stylefeng.guns.modular.system.service.IDictService; 6 | import org.junit.Assert; 7 | import org.junit.Test; 8 | 9 | import javax.annotation.Resource; 10 | import java.util.List; 11 | import java.util.Map; 12 | 13 | /** 14 | * 字典服务测试 15 | * 16 | * @author fengshuonan 17 | * @date 2017-04-27 17:05 18 | */ 19 | public class DictTest extends BaseJunit { 20 | 21 | @Resource 22 | IDictService dictService; 23 | 24 | @Resource 25 | DictMapper dictMapper; 26 | 27 | @Test 28 | public void addTest() { 29 | String dictCode = "test"; 30 | String dictName = "字典测试"; 31 | String dictTips = "这是一个字典测试"; 32 | String dictValues = "1:测试1:1;2:测试2:2"; 33 | dictService.addDict(dictCode, dictName, dictTips, dictValues); 34 | } 35 | 36 | @Test 37 | public void editTest() { 38 | dictService.editDict(16, "tes", "测试", "备注", "1:测试1:1;2:测试2:2"); 39 | } 40 | 41 | @Test 42 | public void deleteTest() { 43 | this.dictService.delteDict(16); 44 | } 45 | 46 | @Test 47 | public void listTest() { 48 | List> list = this.dictMapper.list("性别"); 49 | Assert.assertTrue(list.size() > 0); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/test/java/cn/stylefeng/guns/system/UserTest.java: -------------------------------------------------------------------------------- 1 | package cn.stylefeng.guns.system; 2 | 3 | import cn.stylefeng.guns.base.BaseJunit; 4 | import cn.stylefeng.guns.modular.system.dao.UserMapper; 5 | import org.junit.Test; 6 | 7 | import javax.annotation.Resource; 8 | 9 | /** 10 | * 用户测试 11 | * 12 | * @author fengshuonan 13 | * @date 2017-04-27 17:05 14 | */ 15 | public class UserTest extends BaseJunit { 16 | 17 | @Resource 18 | UserMapper userMapper; 19 | 20 | @Test 21 | public void userTest() throws Exception { 22 | 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/test/sql/test.sql: -------------------------------------------------------------------------------- 1 | DROP DATABASE IF EXISTS guns_test; 2 | CREATE DATABASE IF NOT EXISTS guns_test DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 3 | 4 | use guns_test; 5 | 6 | SET NAMES utf8mb4; 7 | SET FOREIGN_KEY_CHECKS = 0; 8 | 9 | -- ---------------------------- 10 | -- Table structure for test 11 | -- ---------------------------- 12 | DROP TABLE IF EXISTS `test`; 13 | CREATE TABLE `test` ( 14 | `aaa` int(11) NOT NULL AUTO_INCREMENT, 15 | `bbb` varchar(255) DEFAULT NULL, 16 | PRIMARY KEY (`aaa`) USING BTREE 17 | ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; 18 | 19 | SET FOREIGN_KEY_CHECKS = 1; 20 | --------------------------------------------------------------------------------