├── src ├── main │ ├── webapp │ │ ├── static │ │ │ ├── plugins │ │ │ │ ├── amaze │ │ │ │ │ ├── css │ │ │ │ │ │ └── app.css │ │ │ │ │ ├── i │ │ │ │ │ │ ├── favicon.png │ │ │ │ │ │ ├── app-icon72x72@2x.png │ │ │ │ │ │ ├── examples │ │ │ │ │ │ │ ├── admin-ie.png │ │ │ │ │ │ │ ├── blogPage.png │ │ │ │ │ │ │ ├── landing.png │ │ │ │ │ │ │ ├── adminPage.png │ │ │ │ │ │ │ ├── loginPage.png │ │ │ │ │ │ │ ├── admin-chrome.png │ │ │ │ │ │ │ ├── admin-firefox.png │ │ │ │ │ │ │ ├── admin-opera.png │ │ │ │ │ │ │ ├── admin-safari.png │ │ │ │ │ │ │ ├── landingPage.png │ │ │ │ │ │ │ └── sidebarPage.png │ │ │ │ │ │ └── startup-640x1096.png │ │ │ │ │ ├── fonts │ │ │ │ │ │ ├── FontAwesome.otf │ │ │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ │ │ └── js │ │ │ │ │ │ └── app.js │ │ │ │ ├── layer │ │ │ │ │ ├── skin │ │ │ │ │ │ ├── default │ │ │ │ │ │ │ ├── icon.png │ │ │ │ │ │ │ ├── icon-ext.png │ │ │ │ │ │ │ ├── loading-0.gif │ │ │ │ │ │ │ ├── loading-1.gif │ │ │ │ │ │ │ └── loading-2.gif │ │ │ │ │ │ └── layer.ext.css │ │ │ │ │ └── extend │ │ │ │ │ │ └── layer.ext.js │ │ │ │ └── laypage │ │ │ │ │ ├── skin │ │ │ │ │ └── laypage.css │ │ │ │ │ └── laypage.js │ │ │ └── source │ │ │ │ ├── img │ │ │ │ ├── adm.png │ │ │ │ ├── bg1.jpg │ │ │ │ ├── bg2.jpg │ │ │ │ ├── bg3.jpg │ │ │ │ ├── bg4.png │ │ │ │ ├── bg5.jpg │ │ │ │ ├── key.png │ │ │ │ ├── avtar.png │ │ │ │ ├── close.png │ │ │ │ ├── robot.jpg │ │ │ │ └── default_head.jpg │ │ │ │ └── js │ │ │ │ └── board.js │ │ ├── META-INF │ │ │ └── MANIFEST.MF │ │ ├── public │ │ │ ├── logo.ico │ │ │ ├── images │ │ │ │ ├── 1.png │ │ │ │ ├── 2.png │ │ │ │ ├── bg.png │ │ │ │ └── aiwrap.png │ │ │ ├── fonts │ │ │ │ ├── iconfont.eot │ │ │ │ ├── iconfont.ttf │ │ │ │ └── iconfont.woff │ │ │ ├── lib │ │ │ │ └── layui │ │ │ │ │ ├── font │ │ │ │ │ ├── iconfont.eot │ │ │ │ │ ├── iconfont.ttf │ │ │ │ │ └── iconfont.woff │ │ │ │ │ ├── images │ │ │ │ │ └── face │ │ │ │ │ │ ├── 0.gif │ │ │ │ │ │ ├── 1.gif │ │ │ │ │ │ ├── 2.gif │ │ │ │ │ │ ├── 3.gif │ │ │ │ │ │ ├── 4.gif │ │ │ │ │ │ ├── 5.gif │ │ │ │ │ │ ├── 6.gif │ │ │ │ │ │ ├── 7.gif │ │ │ │ │ │ ├── 8.gif │ │ │ │ │ │ ├── 9.gif │ │ │ │ │ │ ├── 10.gif │ │ │ │ │ │ ├── 11.gif │ │ │ │ │ │ ├── 12.gif │ │ │ │ │ │ ├── 13.gif │ │ │ │ │ │ ├── 14.gif │ │ │ │ │ │ ├── 15.gif │ │ │ │ │ │ ├── 16.gif │ │ │ │ │ │ ├── 17.gif │ │ │ │ │ │ ├── 18.gif │ │ │ │ │ │ ├── 19.gif │ │ │ │ │ │ ├── 20.gif │ │ │ │ │ │ ├── 21.gif │ │ │ │ │ │ ├── 22.gif │ │ │ │ │ │ ├── 23.gif │ │ │ │ │ │ ├── 24.gif │ │ │ │ │ │ ├── 25.gif │ │ │ │ │ │ ├── 26.gif │ │ │ │ │ │ ├── 27.gif │ │ │ │ │ │ ├── 28.gif │ │ │ │ │ │ ├── 29.gif │ │ │ │ │ │ ├── 30.gif │ │ │ │ │ │ ├── 31.gif │ │ │ │ │ │ ├── 32.gif │ │ │ │ │ │ ├── 33.gif │ │ │ │ │ │ ├── 34.gif │ │ │ │ │ │ ├── 35.gif │ │ │ │ │ │ ├── 36.gif │ │ │ │ │ │ ├── 37.gif │ │ │ │ │ │ ├── 38.gif │ │ │ │ │ │ ├── 39.gif │ │ │ │ │ │ ├── 40.gif │ │ │ │ │ │ ├── 41.gif │ │ │ │ │ │ ├── 42.gif │ │ │ │ │ │ ├── 43.gif │ │ │ │ │ │ ├── 44.gif │ │ │ │ │ │ ├── 45.gif │ │ │ │ │ │ ├── 46.gif │ │ │ │ │ │ ├── 47.gif │ │ │ │ │ │ ├── 48.gif │ │ │ │ │ │ ├── 49.gif │ │ │ │ │ │ ├── 50.gif │ │ │ │ │ │ ├── 51.gif │ │ │ │ │ │ ├── 52.gif │ │ │ │ │ │ ├── 53.gif │ │ │ │ │ │ ├── 54.gif │ │ │ │ │ │ ├── 55.gif │ │ │ │ │ │ ├── 56.gif │ │ │ │ │ │ ├── 57.gif │ │ │ │ │ │ ├── 58.gif │ │ │ │ │ │ ├── 59.gif │ │ │ │ │ │ ├── 60.gif │ │ │ │ │ │ ├── 61.gif │ │ │ │ │ │ ├── 62.gif │ │ │ │ │ │ ├── 63.gif │ │ │ │ │ │ ├── 64.gif │ │ │ │ │ │ ├── 65.gif │ │ │ │ │ │ ├── 66.gif │ │ │ │ │ │ ├── 67.gif │ │ │ │ │ │ ├── 68.gif │ │ │ │ │ │ ├── 69.gif │ │ │ │ │ │ ├── 70.gif │ │ │ │ │ │ └── 71.gif │ │ │ │ │ ├── css │ │ │ │ │ └── modules │ │ │ │ │ │ ├── layer │ │ │ │ │ │ └── default │ │ │ │ │ │ │ ├── icon.png │ │ │ │ │ │ │ ├── icon-ext.png │ │ │ │ │ │ │ ├── loading-0.gif │ │ │ │ │ │ │ ├── loading-1.gif │ │ │ │ │ │ │ └── loading-2.gif │ │ │ │ │ │ └── code.css │ │ │ │ │ └── lay │ │ │ │ │ └── modules │ │ │ │ │ ├── code.js │ │ │ │ │ ├── laytpl.js │ │ │ │ │ ├── flow.js │ │ │ │ │ ├── util.js │ │ │ │ │ ├── tree.js │ │ │ │ │ ├── carousel.js │ │ │ │ │ └── laypage.js │ │ │ ├── css │ │ │ │ └── font.css │ │ │ └── js │ │ │ │ └── board.js │ │ ├── page │ │ │ ├── include │ │ │ │ ├── footer.jsp │ │ │ │ ├── commonfile.jsp │ │ │ │ ├── header.jsp │ │ │ │ └── sidebar.jsp │ │ │ ├── taglib.jsp │ │ │ ├── test.html │ │ │ └── loginForm.jsp │ │ ├── WEB-INF │ │ │ ├── page │ │ │ │ ├── taglib.jsp │ │ │ │ ├── test.html │ │ │ │ ├── loginForm.jsp │ │ │ │ ├── job │ │ │ │ │ └── add.jsp │ │ │ │ ├── notice │ │ │ │ │ └── add.jsp │ │ │ │ └── dept │ │ │ │ │ └── add.jsp │ │ │ ├── springmvc-config.xml │ │ │ ├── web.xml │ │ │ └── applicationContext.xml │ │ └── 404.html │ ├── java │ │ └── cn │ │ │ └── pzhu │ │ │ └── pserson │ │ │ ├── util │ │ │ ├── JwtToken.java │ │ │ ├── DateFormate.java │ │ │ ├── RecruitEnums.java │ │ │ ├── Constants.java │ │ │ ├── MD5Util.java │ │ │ └── TokenUtils.java │ │ │ ├── service │ │ │ ├── DeptService.java │ │ │ ├── NoticeService.java │ │ │ ├── DocumentService.java │ │ │ ├── UserService.java │ │ │ ├── JobService.java │ │ │ ├── EmployeeService.java │ │ │ ├── RecruitService.java │ │ │ ├── impl │ │ │ │ ├── DeptServiceImpl.java │ │ │ │ ├── JobServiceImpl.java │ │ │ │ ├── UserServiceImpl.java │ │ │ │ ├── DocumentServiceImpl.java │ │ │ │ ├── NoticeServiceImpl.java │ │ │ │ ├── RecruitServiceImpl.java │ │ │ │ └── EmployeeServiceImpl.java │ │ │ └── RainService.java │ │ │ ├── domain │ │ │ ├── request │ │ │ │ └── RecruitReqDTO.java │ │ │ ├── response │ │ │ │ ├── DeptResDto.java │ │ │ │ ├── JobResDTO.java │ │ │ │ ├── IndexHeaderResDTO.java │ │ │ │ ├── documentResDTO.java │ │ │ │ ├── EmployeeResDTO.java │ │ │ │ └── RecruitResDTO.java │ │ │ ├── Job.java │ │ │ ├── Notice.java │ │ │ ├── User.java │ │ │ ├── Document.java │ │ │ ├── Recruit.java │ │ │ ├── Employee.java │ │ │ └── Dept.java │ │ │ ├── dao │ │ │ ├── dao │ │ │ │ ├── RecruitMapper.java │ │ │ │ ├── NoticeMapper.java │ │ │ │ ├── DeptMapper.java │ │ │ │ ├── JobMapper.java │ │ │ │ ├── DocumentMapper.java │ │ │ │ ├── UserMapper.java │ │ │ │ └── EmployeeMapper.java │ │ │ ├── mapper │ │ │ │ ├── NoticeMapper.xml │ │ │ │ ├── DeptMapper.xml │ │ │ │ ├── JobMapper.xml │ │ │ │ ├── RecruitMapper.xml │ │ │ │ ├── UserMapper.xml │ │ │ │ ├── EmployeeMapper.xml │ │ │ │ └── DocumentMapper.xml │ │ │ └── provider │ │ │ │ ├── DeptDynaSqlProvider.java │ │ │ │ ├── JobDynaSqlProvider.java │ │ │ │ ├── DocumentDynaSqlProvider.java │ │ │ │ ├── UserDynaSqlProvider.java │ │ │ │ ├── NoticeDynaSqlProvider.java │ │ │ │ └── EmployeeDynaSqlProvider.java │ │ │ ├── controller │ │ │ ├── ChatController.java │ │ │ ├── CommonController.java │ │ │ ├── RecruitController.java │ │ │ ├── NoticeController.java │ │ │ ├── JobController.java │ │ │ ├── DeptController.java │ │ │ └── EmployeeController.java │ │ │ ├── config │ │ │ ├── DruidConfig.java │ │ │ └── MvcConfiguration.java │ │ │ ├── websocket │ │ │ └── HttpSessionConfigurator.java │ │ │ ├── PsersonApplication.java │ │ │ └── interceptor │ │ │ └── AuthorizedInterceptor.java │ └── resources │ │ ├── static │ │ └── index.jsp │ │ ├── templates │ │ └── indexx.html │ │ ├── config.properties │ │ ├── application.properties │ │ ├── generatorConfig.xml │ │ └── springmvc-config.xml └── test │ ├── java │ └── cn │ │ └── pzhu │ │ └── pserson │ │ ├── util │ │ └── MD5UtilTest.java │ │ └── PsersonApplicationTests.java │ └── TestRedisConnection.java ├── images ├── index1.png ├── login1.jpg └── table1.jpg ├── .gitattributes ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── .gitignore ├── README.md └── sql └── personnel.sql /src/main/webapp/static/plugins/amaze/css/app.css: -------------------------------------------------------------------------------- 1 | /* Write your styles */ -------------------------------------------------------------------------------- /src/main/webapp/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Class-Path: 3 | 4 | -------------------------------------------------------------------------------- /images/index1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/images/index1.png -------------------------------------------------------------------------------- /images/login1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/images/login1.jpg -------------------------------------------------------------------------------- /images/table1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/images/table1.jpg -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=java 2 | *.css linguist-language=java 3 | *.html linguist-language=java -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /src/main/webapp/public/logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/logo.ico -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/util/JwtToken.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.util; 2 | 3 | public class JwtToken { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/main/webapp/public/images/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/images/1.png -------------------------------------------------------------------------------- /src/main/webapp/public/images/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/images/2.png -------------------------------------------------------------------------------- /src/main/webapp/public/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/images/bg.png -------------------------------------------------------------------------------- /src/main/webapp/public/images/aiwrap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/images/aiwrap.png -------------------------------------------------------------------------------- /src/main/webapp/public/fonts/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/fonts/iconfont.eot -------------------------------------------------------------------------------- /src/main/webapp/public/fonts/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/fonts/iconfont.ttf -------------------------------------------------------------------------------- /src/main/webapp/public/fonts/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/fonts/iconfont.woff -------------------------------------------------------------------------------- /src/main/webapp/static/source/img/adm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/source/img/adm.png -------------------------------------------------------------------------------- /src/main/webapp/static/source/img/bg1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/source/img/bg1.jpg -------------------------------------------------------------------------------- /src/main/webapp/static/source/img/bg2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/source/img/bg2.jpg -------------------------------------------------------------------------------- /src/main/webapp/static/source/img/bg3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/source/img/bg3.jpg -------------------------------------------------------------------------------- /src/main/webapp/static/source/img/bg4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/source/img/bg4.png -------------------------------------------------------------------------------- /src/main/webapp/static/source/img/bg5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/source/img/bg5.jpg -------------------------------------------------------------------------------- /src/main/webapp/static/source/img/key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/source/img/key.png -------------------------------------------------------------------------------- /src/main/webapp/static/source/img/avtar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/source/img/avtar.png -------------------------------------------------------------------------------- /src/main/webapp/static/source/img/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/source/img/close.png -------------------------------------------------------------------------------- /src/main/webapp/static/source/img/robot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/source/img/robot.jpg -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip 2 | -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/font/iconfont.eot -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/font/iconfont.ttf -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/0.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/1.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/2.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/3.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/4.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/5.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/6.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/7.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/8.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/9.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/i/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/i/favicon.png -------------------------------------------------------------------------------- /src/main/webapp/static/source/img/default_head.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/source/img/default_head.jpg -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/font/iconfont.woff -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/10.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/11.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/12.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/13.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/14.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/15.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/16.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/17.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/18.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/19.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/20.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/21.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/22.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/23.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/24.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/25.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/26.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/27.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/28.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/29.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/30.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/31.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/32.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/33.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/34.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/35.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/36.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/37.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/38.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/39.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/40.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/41.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/42.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/43.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/44.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/45.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/46.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/47.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/48.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/49.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/50.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/51.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/52.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/53.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/54.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/55.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/56.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/57.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/58.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/59.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/60.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/61.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/62.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/63.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/64.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/65.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/66.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/67.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/68.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/69.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/70.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/images/face/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/images/face/71.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/i/app-icon72x72@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/i/app-icon72x72@2x.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/i/examples/admin-ie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/i/examples/admin-ie.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/i/examples/blogPage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/i/examples/blogPage.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/i/examples/landing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/i/examples/landing.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/i/startup-640x1096.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/i/startup-640x1096.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/layer/skin/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/layer/skin/default/icon.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/i/examples/adminPage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/i/examples/adminPage.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/i/examples/loginPage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/i/examples/loginPage.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/layer/skin/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/layer/skin/default/icon-ext.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/i/examples/admin-chrome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/i/examples/admin-chrome.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/i/examples/admin-firefox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/i/examples/admin-firefox.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/i/examples/admin-opera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/i/examples/admin-opera.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/i/examples/admin-safari.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/i/examples/admin-safari.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/i/examples/landingPage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/i/examples/landingPage.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/i/examples/sidebarPage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/i/examples/sidebarPage.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/layer/skin/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/layer/skin/default/loading-0.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/layer/skin/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/layer/skin/default/loading-1.gif -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/layer/skin/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/layer/skin/default/loading-2.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/css/modules/layer/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/css/modules/layer/default/icon.png -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/static/plugins/amaze/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/css/modules/layer/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/css/modules/layer/default/icon-ext.png -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/css/modules/layer/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/css/modules/layer/default/loading-0.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/css/modules/layer/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/css/modules/layer/default/loading-1.gif -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/css/modules/layer/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GuoMinJim/PersonManage/HEAD/src/main/webapp/public/lib/layui/css/modules/layer/default/loading-2.gif -------------------------------------------------------------------------------- /src/main/resources/static/index.jsp: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | Hello Wrold! 9 | 10 | -------------------------------------------------------------------------------- /src/main/resources/templates/indexx.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | Hello World! 9 | 10 | 13 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/service/DeptService.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.service; 2 | 3 | import com.github.pagehelper.PageInfo; 4 | 5 | public interface DeptService { 6 | 7 | PageInfo getDepts(String content,int pageNum, int pageSize); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/webapp/page/include/footer.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/domain/request/RecruitReqDTO.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.domain.request; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class RecruitReqDTO { 7 | 8 | private Integer pageNum; 9 | 10 | private Integer pageSize; 11 | 12 | private String content; 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/cn/pzhu/pserson/util/MD5UtilTest.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.util; 2 | 3 | import static org.junit.Assert.*; 4 | 5 | import org.junit.Test; 6 | 7 | public class MD5UtilTest { 8 | 9 | 10 | @Test 11 | public void crypt() { 12 | System.out.println(MD5Util.crypt("0000")); 13 | } 14 | } -------------------------------------------------------------------------------- /src/main/webapp/page/taglib.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/domain/response/DeptResDto.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.domain.response; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class DeptResDto { 7 | 8 | private Integer id; 9 | 10 | private String name; 11 | 12 | private String remark; 13 | 14 | private String num; 15 | } 16 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/page/taglib.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/service/NoticeService.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.service; 2 | 3 | import cn.pzhu.pserson.domain.Notice; 4 | import com.github.pagehelper.PageInfo; 5 | 6 | public interface NoticeService { 7 | 8 | PageInfo getNotice(int pageNum, int pageSize, String content); 9 | 10 | 11 | void insertNotice(Notice notice); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/service/DocumentService.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.service; 2 | 3 | import cn.pzhu.pserson.domain.Document; 4 | import com.github.pagehelper.PageInfo; 5 | 6 | public interface DocumentService { 7 | 8 | PageInfo getDoc(int pageNum, int pageSize, String content); 9 | 10 | void insert(Document document, Integer id); 11 | } 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | 4 | ### STS ### 5 | .apt_generated 6 | .classpath 7 | .factorypath 8 | .project 9 | .settings 10 | .springBeans 11 | .sts4-cache 12 | 13 | ### IntelliJ IDEA ### 14 | .idea 15 | *.iws 16 | *.iml 17 | *.ipr 18 | 19 | ### NetBeans ### 20 | /nbproject/private/ 21 | /nbbuild/ 22 | /dist/ 23 | /nbdist/ 24 | /.nb-gradle/ 25 | /build/ 26 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/service/UserService.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.service; 2 | 3 | import cn.pzhu.pserson.domain.User; 4 | import cn.pzhu.pserson.domain.response.IndexHeaderResDTO; 5 | import java.util.Map; 6 | 7 | public interface UserService { 8 | 9 | String repeatName(String name); 10 | 11 | void insertUser(User user); 12 | 13 | IndexHeaderResDTO countHeader(); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/domain/response/JobResDTO.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.domain.response; 2 | 3 | import java.io.Serializable; 4 | import lombok.Data; 5 | 6 | @Data 7 | public class JobResDTO implements Serializable { 8 | 9 | private Integer id; 10 | 11 | private String name; 12 | 13 | private String remark; 14 | 15 | private Integer deptId; 16 | 17 | private String deptName; 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/util/DateFormate.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.util; 2 | 3 | import java.text.SimpleDateFormat; 4 | import java.util.Date; 5 | 6 | public class DateFormate { 7 | 8 | public static String dateToString(Date date) { 9 | SimpleDateFormat format = new SimpleDateFormat("yy-MM-dd hh:mm:ss"); 10 | String time = format.format(date); 11 | return time; 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/domain/Job.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.domain; 2 | 3 | import javax.persistence.*; 4 | import lombok.Data; 5 | 6 | @Data 7 | public class Job { 8 | 9 | @Id 10 | @GeneratedValue(strategy = GenerationType.IDENTITY) 11 | private Integer id; 12 | 13 | private String name; 14 | 15 | private String remark; 16 | 17 | @Column(name = "dept_id") 18 | private Integer deptId; 19 | } -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/domain/response/IndexHeaderResDTO.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.domain.response; 2 | 3 | import java.io.Serializable; 4 | import lombok.Data; 5 | 6 | @Data 7 | public class IndexHeaderResDTO implements Serializable { 8 | 9 | private String adminNum; 10 | 11 | private String employeeNum; 12 | 13 | private String noticeNum; 14 | 15 | private String docNum; 16 | 17 | private String deptNum; 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/service/JobService.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.service; 2 | 3 | import cn.pzhu.pserson.domain.Job; 4 | import cn.pzhu.pserson.domain.response.JobResDTO; 5 | import com.github.pagehelper.PageInfo; 6 | import java.util.List; 7 | 8 | public interface JobService { 9 | 10 | void insert(Job job); 11 | 12 | void update(Job job); 13 | 14 | PageInfo findAll(String content, int pageNum, int pageSize); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/dao/RecruitMapper.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.dao.dao; 2 | 3 | import cn.pzhu.pserson.domain.Recruit; 4 | import cn.pzhu.pserson.domain.response.RecruitResDTO; 5 | import java.util.List; 6 | import tk.mybatis.mapper.common.Mapper; 7 | 8 | public interface RecruitMapper extends Mapper { 9 | 10 | List getRecruit(String content); 11 | 12 | RecruitResDTO getRecruitById(Integer id); 13 | } 14 | -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/amaze/js/app.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | 'use strict'; 3 | 4 | $(function() { 5 | var $fullText = $('.admin-fullText'); 6 | $('#admin-fullscreen').on('click', function() { 7 | $.AMUI.fullscreen.toggle(); 8 | }); 9 | 10 | $(document).on($.AMUI.fullscreen.raw.fullscreenchange, function() { 11 | $fullText.text($.AMUI.fullscreen.isFullscreen ? '退出全屏' : '开启全屏'); 12 | }); 13 | }); 14 | })(jQuery); 15 | -------------------------------------------------------------------------------- /src/test/java/cn/pzhu/pserson/PsersonApplicationTests.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | @RunWith(SpringRunner.class) 9 | @SpringBootTest 10 | public class PsersonApplicationTests { 11 | 12 | @Test 13 | public void contextLoads() { 14 | } 15 | 16 | } 17 | 18 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/domain/Notice.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.domain; 2 | 3 | import javax.persistence.*; 4 | import lombok.Data; 5 | 6 | @Data 7 | public class Notice { 8 | @Id 9 | @GeneratedValue(strategy = GenerationType.IDENTITY) 10 | private Integer id; 11 | 12 | private String title; 13 | 14 | @Column(name = "createDate") 15 | private String createDate; 16 | 17 | @Column(name = "user_id") 18 | private Integer userId; 19 | 20 | private String content; 21 | 22 | } -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/domain/User.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.domain; 2 | 3 | import javax.persistence.*; 4 | import lombok.Data; 5 | 6 | @Data 7 | public class User { 8 | @Id 9 | @GeneratedValue(strategy = GenerationType.IDENTITY) 10 | private Integer id; 11 | 12 | private String loginname; 13 | 14 | private String password; 15 | 16 | /** 17 | * 级别 18 | */ 19 | private String level; 20 | 21 | private String createdate; 22 | 23 | private String username; 24 | } -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/page/test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 18 | 19 | 23 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/service/EmployeeService.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.service; 2 | 3 | import cn.pzhu.pserson.domain.Employee; 4 | import com.github.pagehelper.PageInfo; 5 | import java.util.Map; 6 | 7 | public interface EmployeeService { 8 | 9 | Map getInfo(); 10 | 11 | PageInfo getEmployee(int pageNum, int pageSize); 12 | 13 | void insert(Employee employee); 14 | 15 | void update(Employee employee); 16 | 17 | PageInfo getEmployee(String content, int pageNum, int pageSize); 18 | 19 | Employee getEmployee(Integer id); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/domain/response/documentResDTO.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.domain.response; 2 | 3 | import lombok.Data; 4 | import org.springframework.web.multipart.MultipartFile; 5 | 6 | @Data 7 | public class documentResDTO { 8 | 9 | private Integer id; 10 | 11 | private String title; 12 | 13 | private String filename; 14 | 15 | private String remark; 16 | 17 | private String path; 18 | 19 | private MultipartFile file; 20 | 21 | private String createDate; 22 | 23 | private Integer userId; 24 | 25 | private String user; 26 | 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/controller/ChatController.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.controller; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.web.bind.annotation.RequestMapping; 5 | import org.springframework.web.servlet.ModelAndView; 6 | 7 | @RequestMapping("/chat") 8 | @Controller 9 | public class ChatController { 10 | 11 | @RequestMapping(value = "/chat") 12 | public String getIndex(){ 13 | System.out.println("im here"); 14 | ModelAndView view = new ModelAndView("chat"); 15 | return "/chat/chat"; 16 | } 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/config/DruidConfig.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.config; 2 | 3 | import com.alibaba.druid.pool.DruidDataSource; 4 | import javax.sql.DataSource; 5 | import org.springframework.boot.context.properties.ConfigurationProperties; 6 | import org.springframework.context.annotation.Bean; 7 | import org.springframework.context.annotation.Configuration; 8 | 9 | @Configuration 10 | public class DruidConfig { 11 | 12 | @ConfigurationProperties(prefix = "spring.datasource") 13 | @Bean 14 | public DataSource druid() { 15 | return new DruidDataSource(); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/webapp/public/css/font.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'iconfont'; 3 | src: url('../fonts/iconfont.eot'); 4 | src: url('../fonts/iconfont.eot?#iefix') format('embedded-opentype'), 5 | url('../fonts/iconfont.woff') format('woff'), 6 | url('../fonts/iconfont.ttf') format('truetype'), 7 | url('../fonts/iconfont.svg#iconfont') format('svg'); 8 | } 9 | .iconfont{ 10 | font-family:"iconfont" !important; 11 | font-size:16px;font-style:normal; 12 | -webkit-font-smoothing: antialiased; 13 | -webkit-text-stroke-width: 0.2px; 14 | -moz-osx-font-smoothing: grayscale; 15 | } 16 | 17 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/domain/response/EmployeeResDTO.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.domain.response; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class EmployeeResDTO { 7 | private Integer id; 8 | private Integer jobId; 9 | private Integer deptId; 10 | private String dept; 11 | private String job; 12 | private String name; 13 | private String cardId; 14 | private String address; 15 | private String phone; 16 | private String email; 17 | private String sex; 18 | private String education; 19 | private String remark; 20 | private String createDate; 21 | 22 | public EmployeeResDTO() { 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/service/RecruitService.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.service; 2 | 3 | import cn.pzhu.pserson.domain.Job; 4 | import cn.pzhu.pserson.domain.Recruit; 5 | import cn.pzhu.pserson.domain.request.RecruitReqDTO; 6 | import cn.pzhu.pserson.domain.response.RecruitResDTO; 7 | import com.github.pagehelper.PageInfo; 8 | import java.util.List; 9 | 10 | public interface RecruitService { 11 | 12 | List getJobList(int id); 13 | 14 | void insertOne(Recruit recruit); 15 | 16 | PageInfo getRecruit(int pageNum,int pageSize,String content); 17 | 18 | void delete(Integer id); 19 | 20 | RecruitResDTO getRecruit(int id); 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/domain/Document.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.domain; 2 | 3 | import javax.persistence.*; 4 | import lombok.Data; 5 | import org.springframework.web.multipart.MultipartFile; 6 | 7 | @Data 8 | public class Document { 9 | @Id 10 | @GeneratedValue(strategy = GenerationType.IDENTITY) 11 | private Integer id; 12 | 13 | private String title; 14 | 15 | private String filename; 16 | 17 | private String remark; 18 | 19 | private String path; 20 | 21 | private MultipartFile file; 22 | 23 | @Column(name = "create_date") 24 | private String createDate; 25 | 26 | @Column(name = "user_id") 27 | private Integer userId; 28 | 29 | 30 | } -------------------------------------------------------------------------------- /src/main/webapp/page/test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 | 10 | 17 | 18 | 19 | 31 | 32 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/mapper/NoticeMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/test/TestRedisConnection.java: -------------------------------------------------------------------------------- 1 | import cn.pzhu.pserson.PsersonApplication; 2 | import org.junit.Test; 3 | import org.junit.runner.RunWith; 4 | import org.springframework.beans.factory.annotation.Autowired; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.data.redis.core.RedisTemplate; 7 | import org.springframework.test.context.junit4.SpringRunner; 8 | 9 | @SpringBootTest(classes = PsersonApplication.class) 10 | @RunWith(SpringRunner.class) 11 | public class TestRedisConnection { 12 | 13 | 14 | @Autowired 15 | RedisTemplate redisTemplate; 16 | 17 | 18 | @Test 19 | public void testReid(){ 20 | redisTemplate.opsForValue().set("1","1"); 21 | System.out.println(redisTemplate.opsForValue().get("1")); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/service/impl/DeptServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.service.impl; 2 | 3 | import cn.pzhu.pserson.dao.dao.DeptMapper; 4 | import cn.pzhu.pserson.service.DeptService; 5 | import com.github.pagehelper.PageHelper; 6 | import com.github.pagehelper.PageInfo; 7 | import javax.annotation.Resource; 8 | import org.springframework.stereotype.Service; 9 | 10 | @Service 11 | public class DeptServiceImpl implements DeptService { 12 | 13 | 14 | @Resource 15 | DeptMapper deptMapper; 16 | 17 | @Override 18 | public PageInfo getDepts(String content, int pageNum, int pageSize) { 19 | PageInfo pageInfo = PageHelper.startPage(pageNum, pageSize, true) 20 | .doSelectPageInfo(() -> deptMapper.getDepts(content)); 21 | return pageInfo; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/domain/Recruit.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.domain; 2 | 3 | import java.util.Date; 4 | import javax.persistence.Column; 5 | import javax.persistence.GeneratedValue; 6 | import javax.persistence.GenerationType; 7 | import javax.persistence.Id; 8 | import lombok.Data; 9 | 10 | @Data 11 | public class Recruit { 12 | 13 | @Id 14 | @GeneratedValue(strategy = GenerationType.IDENTITY) 15 | private Integer id; 16 | 17 | @Column(name = "dept_id") 18 | private Integer deptId; 19 | 20 | @Column(name = "job_id") 21 | private Integer jobId; 22 | 23 | @Column(name = "person_num") 24 | private Integer personNum; 25 | 26 | private String remark; 27 | 28 | private String status; 29 | 30 | @Column(name = "create_date") 31 | private Date createDate; 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/domain/response/RecruitResDTO.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.domain.response; 2 | 3 | import com.fasterxml.jackson.annotation.JsonFormat; 4 | import java.util.Date; 5 | import javax.persistence.Column; 6 | import javax.persistence.GeneratedValue; 7 | import javax.persistence.GenerationType; 8 | import javax.persistence.Id; 9 | import lombok.Data; 10 | import org.springframework.format.annotation.DateTimeFormat; 11 | 12 | @Data 13 | public class RecruitResDTO { 14 | 15 | private Integer id; 16 | 17 | private Integer personNum; 18 | 19 | private String remark; 20 | 21 | private String status; 22 | 23 | private String createDate; 24 | 25 | private String deptName; 26 | 27 | private String jobName; 28 | 29 | 30 | private Integer deptId; 31 | 32 | private Integer jobId; 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/domain/Employee.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.domain; 2 | 3 | import javax.persistence.*; 4 | import lombok.Data; 5 | 6 | @Data 7 | public class Employee { 8 | @Id 9 | @GeneratedValue(strategy = GenerationType.IDENTITY) 10 | private Integer id; 11 | 12 | @Column(name = "dept_id") 13 | private Integer deptId; 14 | 15 | @Column(name = "job_id") 16 | private Integer jobId; 17 | 18 | private String name; 19 | 20 | @Column(name = "cardId") 21 | private String cardId; 22 | 23 | private String address; 24 | 25 | 26 | private String phone; 27 | 28 | 29 | private String email; 30 | 31 | private String sex; 32 | 33 | 34 | private String education; 35 | 36 | 37 | private String remark; 38 | 39 | @Column(name = "createDate") 40 | private String createDate; 41 | 42 | } -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/websocket/HttpSessionConfigurator.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.websocket; 2 | 3 | import javax.servlet.http.HttpSession; 4 | import javax.websocket.HandshakeResponse; 5 | import javax.websocket.server.HandshakeRequest; 6 | import javax.websocket.server.ServerEndpointConfig; 7 | 8 | /** 9 | * NAME : WebChat/com.amayadream.webchat.websocket 10 | * Author : Amayadream 11 | * Date : 2016.01.12 17:10 12 | * TODO : 13 | */ 14 | public class HttpSessionConfigurator extends ServerEndpointConfig.Configurator { 15 | @Override 16 | public void modifyHandshake(ServerEndpointConfig config, HandshakeRequest request, HandshakeResponse response){ 17 | HttpSession httpSession = (HttpSession)request.getHttpSession(); 18 | config.getUserProperties().put(HttpSession.class.getName(),httpSession); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/controller/CommonController.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.controller; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.web.bind.annotation.PathVariable; 5 | import org.springframework.web.bind.annotation.RequestMapping; 6 | 7 | @Controller 8 | public class CommonController { 9 | 10 | @RequestMapping(value = "/{formName}") 11 | public String loginForm(@PathVariable String formName) { 12 | // 作为一个空方法,可以匹配任何无效输入,再跳转到404 13 | return formName; 14 | // String blank = "blank"; 15 | // return blank; 16 | } 17 | 18 | // @RequestMapping(value = "/") 19 | // public String index() { 20 | // String blank = "index"; 21 | // return blank; 22 | // } 23 | 24 | @RequestMapping(value = "/welcome") 25 | public String welcome() { 26 | String blank = "welcome"; 27 | return blank; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/resources/config.properties: -------------------------------------------------------------------------------- 1 | # \u6570\u636E\u5E93\u8FDE\u63A5 2 | jdbc.driverClass = com.mysql.jdbc.Driver 3 | jdbc.url = jdbc:mysql://47.106.248.229:3306/personnel 4 | jdbc.user =jgm 5 | jdbc.password =0000 6 | 7 | # tkmybatis \u63D2\u4EF6 8 | mapper.plugin = tk.mybatis.mapper.generator.MapperPlugin 9 | mapper.Mapper = tk.mybatis.mapper.common.Mapper 10 | # model\u5305\u540D 11 | targetModelPackage = cn.pzhu.pserson.domain 12 | # mapper xml \u5305\u540D 13 | targetXMLPackage = cn.pzhu.pserson.dao.mapper 14 | # mapper \u63A5\u53E3\u5305\u540D 15 | targetMapperPackage = cn.pzhu.pserson.dao.dao 16 | # model\u5177\u4F53\u5BF9\u5E94\u7684\u5DE5\u7A0B\u540D\u79F0 17 | targetModelJavaProject = E:\\Mi\\\u65B0\u5EFA\u6587\u4EF6\u5939\\pserson\\src\\main\\java 18 | # dao mapper \u5BF9\u5E94\u7684\u5DE5\u7A0B\u540D 19 | targetModelDaoProject = E:\\Mi\\\u65B0\u5EFA\u6587\u4EF6\u5939\\pserson\\src\\main\\java 20 | -------------------------------------------------------------------------------- /src/main/webapp/page/include/commonfile.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="utf-8" %> 2 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/util/RecruitEnums.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.util; 2 | 3 | import lombok.Data; 4 | 5 | public enum RecruitEnums { 6 | 7 | WAIT_ZHUGUAN("0","待主管审批",0), 8 | WAIT_ROOT("1","待Boss审批",0), 9 | SUCCESS("2","审批成功",0); 10 | 11 | 12 | 13 | private String code; 14 | 15 | private String describe; 16 | 17 | private int group; 18 | 19 | RecruitEnums(String code, String describe, int group) { 20 | this.code = code; 21 | this.describe = describe; 22 | this.group = group; 23 | } 24 | 25 | public String getCode() { 26 | return code; 27 | } 28 | 29 | public void setCode(String code) { 30 | this.code = code; 31 | } 32 | 33 | public String getDescribe() { 34 | return describe; 35 | } 36 | 37 | public void setDescribe(String describe) { 38 | this.describe = describe; 39 | } 40 | 41 | public int getGroup() { 42 | return group; 43 | } 44 | 45 | public void setGroup(int group) { 46 | this.group = group; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PersonManage 2 | # 人事管理系统(Spring boot + ssm + jsp) 3 | 有问题可加入群聊 806221669 4 | # pull代码请先star~~~ 5 | ## 如果git无法正常拉取代码 6 | 执行 7 | git config --global http.postBuffer 524288000 8 | 再执行 9 | git config --global http.sslVerify "false" 10 | 再执行 11 | git config --global http.sslVerify "false" 12 | ## 推荐使用IDEA运行此项目,对eclipse估计不太友好 13 | # 项目描述 14 | 此系统是我的毕业设计项目,部分代码引用 https://gitee.com/rainweb/personnel_management_system 15 | 原项目是比较简单的ssm非maven项目,我已经升级为spring boot项目, 16 | 使用了一些常用的插件,如PageHelper 、mybatis generator, 17 | 使用webSocket实现了简单的聊天室和私聊功能 18 | # 项目模块 19 | 用户管理 部门管理 职位管理 员工管理 招聘管理 公告管理 下载中心 聊天室 20 | ## 简单页面如下 21 | ![登录页](http://github.com/GuoMinJim/PersonManage/raw/master/images/login1.jpg) 22 | ![首页](http://github.com/GuoMinJim/PersonManage/raw/master/images/index1.png) 23 | ![表格图](http://github.com/GuoMinJim/PersonManage/raw/master/images/table1.jpg) 24 | 25 | 26 | # 补充 27 | ## 此项目需要一定java基础,对spring及mybatis有一定了解 28 | ## 注意实体使用@Data注解 需要安装IDEA lombok插件才能正常使用 29 | ## 把webapp目录添加为Resources 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/css/modules/code.css: -------------------------------------------------------------------------------- 1 | /** layui-v2.2.6 MIT License By https://www.layui.com */ 2 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none} -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/mapper/DeptMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 27 | 28 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/provider/DeptDynaSqlProvider.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.dao.provider; 2 | 3 | import static cn.pzhu.pserson.util.Constants.DEPTTABLE; 4 | 5 | import cn.pzhu.pserson.domain.Dept; 6 | import org.apache.ibatis.jdbc.SQL; 7 | 8 | public class DeptDynaSqlProvider { 9 | 10 | // 动态插入 11 | public String insertDept(Dept dept){ 12 | 13 | return new SQL(){ 14 | { 15 | INSERT_INTO(DEPTTABLE); 16 | if(dept.getName() != null && !dept.getName().equals("")){ 17 | VALUES("name", "#{name}"); 18 | } 19 | if(dept.getRemark() != null && !dept.getRemark().equals("")){ 20 | VALUES("remark", "#{remark}"); 21 | } 22 | } 23 | }.toString(); 24 | } 25 | // 动态更新 26 | public String updateDept(Dept dept){ 27 | 28 | return new SQL(){ 29 | { 30 | UPDATE(DEPTTABLE); 31 | if(dept.getName() != null){ 32 | SET(" name = #{name} "); 33 | } 34 | if(dept.getRemark() != null){ 35 | SET(" remark = #{remark} "); 36 | } 37 | WHERE(" id = #{id} "); 38 | } 39 | }.toString(); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/util/Constants.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.util; 2 | 3 | import java.util.UUID; 4 | 5 | public class Constants { 6 | 7 | // 数据库表常量 8 | public static final String USERTABLE = "user"; 9 | public static final String DEPTTABLE = "dept"; 10 | public static final String JOBTABLE = "job"; 11 | public static final String EMPLOYEETABLE = "employee"; 12 | public static final String NOTICETABLE = "notice"; 13 | public static final String DOCUMENTTABLE = "document"; 14 | 15 | // 登录 16 | public static final String LOGIN = "loginForm"; 17 | // 用户的session对象 18 | public static final String USER_SESSION = "user_session"; 19 | 20 | // 默认每页4条数据 21 | public static int PAGE_DEFAULT_SIZE = 4; 22 | 23 | public static final String JWT_SECRET = ""; 24 | 25 | public static final int JWT_TTL = 60 * 60 * 1000; 26 | 27 | public static final String JWT_ID = UUID.randomUUID().toString(); 28 | 29 | public static final int JWT_REFRESH_INTERVAL = 55 * 60 * 1000; //millisecond 30 | public static final int JWT_REFRESH_TTL = 12 * 60 * 60 * 1000; //millisecond 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/domain/Dept.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.domain; 2 | 3 | import javax.persistence.*; 4 | 5 | public class Dept { 6 | @Id 7 | @GeneratedValue(strategy = GenerationType.IDENTITY) 8 | private Integer id; 9 | 10 | private String name; 11 | 12 | private String remark; 13 | 14 | /** 15 | * @return id 16 | */ 17 | public Integer getId() { 18 | return id; 19 | } 20 | 21 | /** 22 | * @param id 23 | */ 24 | public void setId(Integer id) { 25 | this.id = id; 26 | } 27 | 28 | /** 29 | * @return name 30 | */ 31 | public String getName() { 32 | return name; 33 | } 34 | 35 | /** 36 | * @param name 37 | */ 38 | public void setName(String name) { 39 | this.name = name; 40 | } 41 | 42 | /** 43 | * @return remark 44 | */ 45 | public String getRemark() { 46 | return remark; 47 | } 48 | 49 | /** 50 | * @param remark 51 | */ 52 | public void setRemark(String remark) { 53 | this.remark = remark; 54 | } 55 | } -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/provider/JobDynaSqlProvider.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.dao.provider; 2 | 3 | 4 | import static cn.pzhu.pserson.util.Constants.JOBTABLE; 5 | 6 | import cn.pzhu.pserson.domain.Job; 7 | import org.apache.ibatis.jdbc.SQL; 8 | 9 | public class JobDynaSqlProvider { 10 | // 动态插入 11 | public String insertDept(Job job){ 12 | 13 | return new SQL(){ 14 | { 15 | INSERT_INTO(JOBTABLE); 16 | if(job.getName() != null && !job.getName().equals("")){ 17 | VALUES("name", "#{name}"); 18 | } 19 | if(job.getRemark() != null && !job.getRemark().equals("")){ 20 | VALUES("remark", "#{remark}"); 21 | } 22 | } 23 | }.toString(); 24 | } 25 | // 动态更新 26 | public String updateDept(Job job){ 27 | 28 | return new SQL(){ 29 | { 30 | UPDATE(JOBTABLE); 31 | if(job.getName() != null){ 32 | SET(" name = #{name} "); 33 | } 34 | if(job.getRemark() != null){ 35 | SET(" remark = #{remark} "); 36 | } 37 | WHERE(" id = #{id} "); 38 | } 39 | }.toString(); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/service/impl/JobServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.service.impl; 2 | 3 | import cn.pzhu.pserson.dao.dao.JobMapper; 4 | import cn.pzhu.pserson.domain.Job; 5 | import cn.pzhu.pserson.domain.response.JobResDTO; 6 | import cn.pzhu.pserson.service.JobService; 7 | import com.github.pagehelper.PageHelper; 8 | import com.github.pagehelper.PageInfo; 9 | import java.util.List; 10 | import javax.annotation.Resource; 11 | import org.springframework.stereotype.Service; 12 | 13 | 14 | @Service 15 | public class JobServiceImpl implements JobService { 16 | 17 | @Resource 18 | JobMapper jobMapper; 19 | 20 | @Override 21 | public void insert(Job job) { 22 | jobMapper.insert(job); 23 | } 24 | 25 | @Override 26 | public void update(Job job) { 27 | jobMapper.updateByPrimaryKey(job); 28 | } 29 | 30 | @Override 31 | public PageInfo findAll(String content, int pageNum, int pageSize) { 32 | PageInfo pageInfo = PageHelper.startPage(pageNum, pageSize, true) 33 | .doSelectPageInfo(() -> jobMapper.findAll(content)); 34 | return pageInfo; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/lay/modules/code.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.2.6 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var a=layui.$,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
  1. '+o.replace(/[\r\t\n]+/g,"
  2. ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend('

'+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss"); -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/util/MD5Util.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.util; 2 | 3 | 4 | import java.security.MessageDigest; 5 | import java.security.NoSuchAlgorithmException; 6 | 7 | public class MD5Util { 8 | 9 | /** 10 | * Encodes a string 2 MD5 11 | * 12 | * @param str String to encode 13 | * @return Encoded String 14 | * @throws NoSuchAlgorithmException 15 | */ 16 | public static String crypt(String str) { 17 | if (str == null || str.length() == 0) { 18 | throw new IllegalArgumentException("String to encript cannot be null or zero length"); 19 | } 20 | StringBuffer hexString = new StringBuffer(); 21 | try { 22 | MessageDigest md = MessageDigest.getInstance("MD5"); 23 | md.update(str.getBytes()); 24 | byte[] hash = md.digest(); 25 | for (int i = 0; i < hash.length; i++) { 26 | if ((0xff & hash[i]) < 0x10) { 27 | hexString.append("0" + Integer.toHexString((0xFF & hash[i]))); 28 | } else { 29 | hexString.append(Integer.toHexString(0xFF & hash[i])); 30 | } 31 | } 32 | } catch (NoSuchAlgorithmException e) { 33 | e.printStackTrace(); 34 | } 35 | return hexString.toString(); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/mapper/JobMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 27 | 28 | 31 | -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/laypage/skin/laypage.css: -------------------------------------------------------------------------------- 1 | /*! 2 | laypage默认样式 3 | */.laypage_main a,.laypage_main input,.laypage_main span{height:26px;line-height:26px}.laypage_main button,.laypage_main input,.laypageskin_default a{border:1px solid #ccc;background-color:#fff}.laypage_main{font-size:0;clear:both;color:#666}.laypage_main *{display:inline-block;vertical-align:top;font-size:12px}.laypage_main a{text-decoration:none;color:#666}.laypage_main a,.laypage_main span{margin:0 3px 6px;padding:0 10px}.laypage_main input{width:40px;margin:0 5px;padding:0 5px}.laypage_main button{height:28px;line-height:28px;margin-left:5px;padding:0 10px;color:#666}.laypageskin_default span{height:28px;line-height:28px;color:#999}.laypageskin_default .laypage_curr{font-weight:700;color:#666}.laypageskin_molv a,.laypageskin_molv span{padding:0 12px;border-radius:2px}.laypageskin_molv a{background-color:#f1eff0}.laypageskin_molv .laypage_curr{background-color:#00AA91;color:#fff}.laypageskin_molv input{height:24px;line-height:24px}.laypageskin_molv button{height:26px;line-height:26px}.laypageskin_yahei{color:#333}.laypageskin_yahei a,.laypageskin_yahei span{padding:0 13px;border-radius:2px;color:#333}.laypageskin_yahei .laypage_curr{background-color:#333;color:#fff}.laypageskin_flow{text-align:center}.laypageskin_flow .page_nomore{color:#999} -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/service/impl/UserServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.service.impl; 2 | 3 | import cn.pzhu.pserson.dao.dao.UserMapper; 4 | import cn.pzhu.pserson.domain.User; 5 | import cn.pzhu.pserson.domain.response.IndexHeaderResDTO; 6 | import cn.pzhu.pserson.service.UserService; 7 | import cn.pzhu.pserson.util.DateFormate; 8 | import cn.pzhu.pserson.util.MD5Util; 9 | import java.util.Date; 10 | import javax.annotation.Resource; 11 | import org.springframework.stereotype.Service; 12 | 13 | @Service 14 | public class UserServiceImpl implements UserService { 15 | 16 | @Resource 17 | UserMapper userMapper; 18 | 19 | @Override 20 | public String repeatName(String name) { 21 | int num = userMapper.repeatName(name); 22 | String flag = (num > 0) ? "1" : "0"; 23 | System.out.println("============"); 24 | System.out.println(flag); 25 | System.out.println("====================="); 26 | return flag; 27 | } 28 | 29 | @Override 30 | public void insertUser(User user) { 31 | user.setPassword(MD5Util.crypt(user.getPassword())); 32 | user.setCreatedate(DateFormate.dateToString(new Date())); 33 | userMapper.insert(user); 34 | } 35 | 36 | @Override 37 | public IndexHeaderResDTO countHeader() { 38 | return userMapper.countHeader(); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/config/MvcConfiguration.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.config; 2 | 3 | import org.springframework.context.annotation.Bean; 4 | import org.springframework.context.annotation.ComponentScan; 5 | import org.springframework.context.annotation.Configuration; 6 | import org.springframework.stereotype.Controller; 7 | import org.springframework.web.servlet.config.annotation.EnableWebMvc; 8 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; 9 | import org.springframework.web.servlet.view.InternalResourceViewResolver; 10 | import org.springframework.web.socket.server.standard.ServerEndpointExporter; 11 | 12 | //@Configuration 13 | //@EnableWebMvc 14 | //@ComponentScan 15 | @Controller 16 | public class MvcConfiguration { 17 | 18 | // @Bean 19 | // public InternalResourceViewResolver viewResolver() { 20 | // 21 | // InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); 22 | // viewResolver.setPrefix("/WEB-INF/page/"); 23 | // viewResolver.setSuffix(".html"); 24 | // return viewResolver; 25 | // } 26 | 27 | // 首先注入一个ServerEndpointExporterBean,该Bean会自动注册使用@ServerEndpoint注解申明的websocket endpoint。 28 | @Bean 29 | public ServerEndpointExporter serverEndpointExporter(){ 30 | return new ServerEndpointExporter(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/dao/NoticeMapper.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.dao.dao; 2 | 3 | import cn.pzhu.pserson.dao.provider.NoticeDynaSqlProvider; 4 | import cn.pzhu.pserson.util.Constants; 5 | import cn.pzhu.pserson.domain.Notice; 6 | import java.util.List; 7 | import org.apache.ibatis.annotations.Delete; 8 | import org.apache.ibatis.annotations.Select; 9 | import org.apache.ibatis.annotations.SelectProvider; 10 | import tk.mybatis.mapper.common.Mapper; 11 | 12 | public interface NoticeMapper extends Mapper { 13 | 14 | @Select("select * from " + Constants.NOTICETABLE + " order by createDate DESC") 15 | List get_List(); 16 | 17 | @Select("select * from " + Constants.NOTICETABLE 18 | + " where title like CONCAT('%',#{content},'%') order by createDate DESC") 19 | List get_LikeList(String content); 20 | 21 | @SelectProvider(type = NoticeDynaSqlProvider.class, method = "insert_Notice") 22 | void insert_Info(Notice employee); 23 | 24 | @Select("select * from " + Constants.NOTICETABLE + " where id = #{id}") 25 | Notice get_Info(Integer id); 26 | 27 | @SelectProvider(type = NoticeDynaSqlProvider.class, method = "update_Notice") 28 | void update_Info(Notice employee); 29 | 30 | // 根据id删除部门 31 | @Delete(" delete from " + Constants.NOTICETABLE + " where id = #{id} ") 32 | void delete_Info(Integer id); 33 | } -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/provider/DocumentDynaSqlProvider.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.dao.provider; 2 | 3 | 4 | import static cn.pzhu.pserson.util.Constants.DOCUMENTTABLE; 5 | 6 | import cn.pzhu.pserson.domain.Document; 7 | import org.apache.ibatis.jdbc.SQL; 8 | 9 | public class DocumentDynaSqlProvider { 10 | 11 | // 动态插入 12 | public String insert(Document dept){ 13 | 14 | return new SQL(){ 15 | { 16 | INSERT_INTO(DOCUMENTTABLE); 17 | if(dept.getTitle() != null ){ 18 | VALUES("title", "#{title}"); 19 | } 20 | if(dept.getRemark() != null ){ 21 | VALUES("remark", "#{remark}"); 22 | } 23 | if(dept.getCreateDate() != null ){ 24 | VALUES("create_date", "#{create_date}"); 25 | } 26 | if(dept.getUserId() != null ){ 27 | VALUES("user_id", "#{user_id}"); 28 | } 29 | if(dept.getFilename() != null ){ 30 | VALUES("filename", "#{filename}"); 31 | } 32 | } 33 | }.toString(); 34 | } 35 | // 动态更新 36 | public String update(Document dept){ 37 | 38 | return new SQL(){ 39 | { 40 | UPDATE(DOCUMENTTABLE); 41 | if(dept.getTitle() != null){ 42 | SET(" title = #{title} "); 43 | } 44 | 45 | if(dept.getRemark() != null){ 46 | SET(" remark = #{remark} "); 47 | } 48 | WHERE(" id = #{id} "); 49 | } 50 | }.toString(); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/service/impl/DocumentServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.service.impl; 2 | 3 | import cn.pzhu.pserson.dao.dao.DocumentMapper; 4 | import cn.pzhu.pserson.domain.Document; 5 | import cn.pzhu.pserson.service.DocumentService; 6 | import cn.pzhu.pserson.util.DateFormate; 7 | import com.github.pagehelper.PageHelper; 8 | import com.github.pagehelper.PageInfo; 9 | import java.util.Date; 10 | import javax.annotation.Resource; 11 | import org.springframework.stereotype.Service; 12 | 13 | @Service 14 | public class DocumentServiceImpl implements DocumentService { 15 | 16 | @Resource 17 | DocumentMapper documentMapper; 18 | 19 | @Override 20 | public PageInfo getDoc(int pageNum, int pageSize, String content) { 21 | PageInfo pageInfo = null; 22 | if (content == null) { 23 | pageInfo = PageHelper.startPage(pageNum, pageSize, true) 24 | .doSelectPageInfo(() -> documentMapper.selectById(content)); 25 | } else { 26 | pageInfo = PageHelper.startPage(pageNum, pageSize, true) 27 | .doSelectPageInfo(() -> documentMapper.selectById(content)); 28 | } 29 | return pageInfo; 30 | } 31 | 32 | @Override 33 | public void insert(Document document, Integer id) { 34 | // document.setUserId(id); 35 | document.setCreateDate(DateFormate.dateToString(new Date())); 36 | documentMapper.insert(document); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/provider/UserDynaSqlProvider.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.dao.provider; 2 | 3 | 4 | import static cn.pzhu.pserson.util.Constants.USERTABLE; 5 | 6 | import cn.pzhu.pserson.domain.User; 7 | import org.apache.ibatis.jdbc.SQL; 8 | 9 | public class UserDynaSqlProvider { 10 | // 动态插入 11 | public String insert_Notice(User job){ 12 | 13 | return new SQL(){ 14 | { 15 | INSERT_INTO(USERTABLE); 16 | if(job.getLoginname() != null ){ 17 | VALUES("loginname", "#{loginname}"); 18 | } 19 | if(job.getPassword()!=null){ 20 | VALUES("password","#{password}"); 21 | } 22 | if(job.getUsername()!=null){ 23 | VALUES("username","#{username}"); 24 | } 25 | 26 | VALUES("createdate","#{createdate}"); 27 | 28 | 29 | 30 | } 31 | }.toString(); 32 | } 33 | // 动态更新 34 | public String update_Notice(User job){ 35 | 36 | return new SQL(){ 37 | { 38 | UPDATE(USERTABLE); 39 | if(job.getLoginname() != null ){ 40 | SET("loginname = #{loginname}"); 41 | } 42 | if(job.getPassword()!=null){ 43 | SET("password = #{password}"); 44 | } 45 | if(job.getUsername()!=null){ 46 | SET("username = #{username}"); 47 | } 48 | 49 | 50 | 51 | WHERE(" id = #{id} "); 52 | } 53 | }.toString(); 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/service/impl/NoticeServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.service.impl; 2 | 3 | import cn.pzhu.pserson.dao.dao.NoticeMapper; 4 | import cn.pzhu.pserson.domain.Notice; 5 | import cn.pzhu.pserson.service.NoticeService; 6 | import cn.pzhu.pserson.util.DateFormate; 7 | import com.github.pagehelper.PageHelper; 8 | import com.github.pagehelper.PageInfo; 9 | import java.util.Date; 10 | import javax.annotation.Resource; 11 | import org.springframework.stereotype.Service; 12 | import org.springframework.transaction.annotation.Transactional; 13 | 14 | @Service 15 | public class NoticeServiceImpl implements NoticeService { 16 | 17 | @Resource 18 | NoticeMapper noticeMapper; 19 | 20 | @Override 21 | public PageInfo getNotice(int pageNum, int pageSize, String content) { 22 | PageInfo pageInfo = null; 23 | if (content == null) { 24 | pageInfo = PageHelper.startPage(pageNum, pageSize, true) 25 | .doSelectPageInfo(() -> noticeMapper.get_List()); 26 | } else { 27 | pageInfo = PageHelper.startPage(pageNum, pageSize, true) 28 | .doSelectPageInfo(() -> noticeMapper.get_LikeList(content)); 29 | } 30 | return pageInfo; 31 | } 32 | 33 | @Override 34 | @Transactional 35 | public void insertNotice(Notice notice) { 36 | notice.setCreateDate(DateFormate.dateToString(new Date())); 37 | // noticeMapper.insert_Info(notice); 38 | noticeMapper.insert(notice); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/mapper/RecruitMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 29 | 30 | 47 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/dao/DeptMapper.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.dao.dao; 2 | 3 | import cn.pzhu.pserson.dao.provider.DeptDynaSqlProvider; 4 | import cn.pzhu.pserson.domain.Dept; 5 | import cn.pzhu.pserson.domain.response.DeptResDto; 6 | import cn.pzhu.pserson.util.Constants; 7 | import java.util.List; 8 | import org.apache.ibatis.annotations.Delete; 9 | import org.apache.ibatis.annotations.Param; 10 | import org.apache.ibatis.annotations.Select; 11 | import org.apache.ibatis.annotations.SelectProvider; 12 | import tk.mybatis.mapper.common.Mapper; 13 | 14 | public interface DeptMapper extends Mapper { 15 | 16 | 17 | List getDepts(@Param("content") String content); 18 | 19 | //查询 20 | @Select("select * from " + Constants.DEPTTABLE + " order by id ASC ") 21 | List selectAllDept(); 22 | 23 | @Select( 24 | "select * from " + Constants.DEPTTABLE + " where name like CONCAT('%',#{content},'%') order by id ASC") 25 | List selectLikeAllDept(String content); 26 | 27 | 28 | @SelectProvider(type = DeptDynaSqlProvider.class, method = "insertDept") 29 | void save(Dept dept); 30 | 31 | @Select("select * from " + Constants.DEPTTABLE + " where id = #{id}") 32 | Dept get_Info(Integer id); 33 | 34 | @SelectProvider(type = DeptDynaSqlProvider.class, method = "updateDept") 35 | void update_Info(Dept dept); 36 | 37 | // 根据id删除部门 38 | @Delete(" delete from " + Constants.DEPTTABLE + " where id = #{id} ") 39 | void delete_Info(Integer id); 40 | } -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/dao/JobMapper.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.dao.dao; 2 | 3 | import cn.pzhu.pserson.dao.provider.JobDynaSqlProvider; 4 | import cn.pzhu.pserson.domain.Job; 5 | import cn.pzhu.pserson.domain.response.JobResDTO; 6 | import cn.pzhu.pserson.util.Constants; 7 | import java.util.List; 8 | import org.apache.ibatis.annotations.Delete; 9 | import org.apache.ibatis.annotations.Param; 10 | import org.apache.ibatis.annotations.Select; 11 | import org.apache.ibatis.annotations.SelectProvider; 12 | import tk.mybatis.mapper.common.Mapper; 13 | 14 | public interface JobMapper extends Mapper { 15 | 16 | @Select("select * from " + Constants.JOBTABLE + " order by id ASC ") 17 | List get_List(); 18 | 19 | @Select( 20 | "select * from " + Constants.JOBTABLE 21 | + " where name like CONCAT('%',#{content},'%') order by id ASC") 22 | List get_LikeList(String content); 23 | 24 | 25 | @SelectProvider(type = JobDynaSqlProvider.class, method = "insertDept") 26 | void insert_Info(Job job); 27 | 28 | @Select("select * from " + Constants.JOBTABLE + " where id = #{id}") 29 | Job get_Info(Integer id); 30 | 31 | @SelectProvider(type = JobDynaSqlProvider.class, method = "updateDept") 32 | void update_Info(Job job); 33 | 34 | // 根据id删除部门 35 | @Delete(" delete from " + Constants.JOBTABLE + " where id = #{id} ") 36 | void delete_Info(Integer id); 37 | 38 | List findAll(@Param("content") String content); 39 | 40 | List getJob(int id); 41 | } -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/provider/NoticeDynaSqlProvider.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.dao.provider; 2 | 3 | import static cn.pzhu.pserson.util.Constants.NOTICETABLE; 4 | 5 | import cn.pzhu.pserson.domain.Notice; 6 | import org.apache.ibatis.jdbc.SQL; 7 | 8 | public class NoticeDynaSqlProvider { 9 | // 动态插入 10 | public String insert_Notice(Notice job){ 11 | 12 | return new SQL(){ 13 | { 14 | INSERT_INTO(NOTICETABLE); 15 | if(job.getTitle() != null ){ 16 | VALUES("title", "#{title}"); 17 | } 18 | if(job.getUserId()!=null){ 19 | VALUES("user_id","#{user_id}"); 20 | } 21 | if(job.getContent()!=null){ 22 | VALUES("content","#{content}"); 23 | } 24 | if(job.getCreateDate()!=null){ 25 | VALUES("createDate","#{createDate}"); 26 | } 27 | 28 | 29 | } 30 | }.toString(); 31 | } 32 | // 动态更新 33 | public String update_Notice(Notice job){ 34 | 35 | return new SQL(){ 36 | { 37 | UPDATE(NOTICETABLE); 38 | if(job.getTitle() != null ){ 39 | SET("title = #{title}"); 40 | } 41 | if(job.getUserId()!=null){ 42 | SET("user_id = #{user_id}"); 43 | } 44 | if(job.getContent()!=null){ 45 | SET("content = #{content}"); 46 | } 47 | if(job.getCreateDate()!=null){ 48 | SET("createDate = #{createDate}"); 49 | } 50 | 51 | 52 | 53 | WHERE(" id = #{id} "); 54 | } 55 | }.toString(); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/main/webapp/page/include/header.jsp: -------------------------------------------------------------------------------- 1 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 2 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 3 | 4 |
5 |
6 | WebChat 网页聊天室 7 |
8 | 9 |
10 | 22 |
23 |
-------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/dao/DocumentMapper.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.dao.dao; 2 | 3 | import cn.pzhu.pserson.dao.provider.DocumentDynaSqlProvider; 4 | import cn.pzhu.pserson.domain.Document; 5 | import cn.pzhu.pserson.domain.response.documentResDTO; 6 | import cn.pzhu.pserson.util.Constants; 7 | import java.util.List; 8 | import org.apache.ibatis.annotations.Delete; 9 | import org.apache.ibatis.annotations.Param; 10 | import org.apache.ibatis.annotations.Select; 11 | import org.apache.ibatis.annotations.SelectProvider; 12 | import tk.mybatis.mapper.common.Mapper; 13 | 14 | public interface DocumentMapper extends Mapper { 15 | 16 | //查询 17 | @Select("select * from " + Constants.DOCUMENTTABLE + " order by id ASC") 18 | List get_List(); 19 | 20 | @Select("select * from " + Constants.DOCUMENTTABLE 21 | + " where title like CONCAT('%',#{content},'%') order by id ASC") 22 | List get_LikeList(String content); 23 | 24 | 25 | @SelectProvider(type = DocumentDynaSqlProvider.class, method = "insert") 26 | void insert_Info(Document dept); 27 | 28 | @Select("select * from " + Constants.DOCUMENTTABLE + " where id = #{id}") 29 | Document get_Info(Integer id); 30 | 31 | @SelectProvider(type = DocumentDynaSqlProvider.class, method = "update") 32 | void update_Info(Document dept); 33 | 34 | // 根据id删除部门 35 | @Delete(" delete from " + Constants.DOCUMENTTABLE + " where id = #{id} ") 36 | void delete_Info(Integer id); 37 | 38 | List selectById(@Param("content") String content); 39 | } -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/mapper/UserMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 36 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/service/impl/RecruitServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.service.impl; 2 | 3 | import cn.pzhu.pserson.dao.dao.JobMapper; 4 | import cn.pzhu.pserson.dao.dao.RecruitMapper; 5 | import cn.pzhu.pserson.domain.Job; 6 | import cn.pzhu.pserson.domain.Recruit; 7 | import cn.pzhu.pserson.domain.response.RecruitResDTO; 8 | import cn.pzhu.pserson.service.RecruitService; 9 | import cn.pzhu.pserson.util.RecruitEnums; 10 | import com.github.pagehelper.PageHelper; 11 | import com.github.pagehelper.PageInfo; 12 | import java.util.Date; 13 | import java.util.List; 14 | import javax.annotation.Resource; 15 | import org.springframework.stereotype.Service; 16 | 17 | @Service 18 | public class RecruitServiceImpl implements RecruitService { 19 | 20 | 21 | @Resource 22 | JobMapper jobMapper; 23 | 24 | @Resource 25 | RecruitMapper recruitMapper; 26 | 27 | @Override 28 | public List getJobList(int id) { 29 | return jobMapper.getJob(id); 30 | } 31 | 32 | @Override 33 | public void insertOne(Recruit recruit) { 34 | recruit.setCreateDate(new Date()); 35 | recruit.setStatus(RecruitEnums.WAIT_ZHUGUAN.getCode()); //默认为0 36 | recruitMapper.insert(recruit); 37 | } 38 | 39 | @Override 40 | public PageInfo getRecruit(int pageNum, int pageSize, String content) { 41 | return PageHelper.startPage(pageNum, pageSize, true) 42 | .doSelectPageInfo(() -> recruitMapper.getRecruit(content)); 43 | } 44 | 45 | @Override 46 | public void delete(Integer id) { 47 | recruitMapper.deleteByPrimaryKey(id); 48 | } 49 | 50 | @Override 51 | public RecruitResDTO getRecruit(int id) { 52 | return recruitMapper.getRecruitById(id); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/lay/modules/laytpl.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.2.6 MIT License By https://www.layui.com */ 2 | ;layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},c={exp:function(e){return new RegExp(e,"g")},query:function(e,c,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return n((c||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},error:function(e,r){var c="Laytpl Error:";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)}); -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/dao/UserMapper.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.dao.dao; 2 | 3 | import cn.pzhu.pserson.dao.provider.UserDynaSqlProvider; 4 | import cn.pzhu.pserson.domain.User; 5 | import cn.pzhu.pserson.domain.response.IndexHeaderResDTO; 6 | import cn.pzhu.pserson.util.Constants; 7 | import java.util.List; 8 | import org.apache.ibatis.annotations.Delete; 9 | import org.apache.ibatis.annotations.Param; 10 | import org.apache.ibatis.annotations.Select; 11 | import org.apache.ibatis.annotations.SelectProvider; 12 | import tk.mybatis.mapper.common.Mapper; 13 | 14 | public interface UserMapper extends Mapper { 15 | 16 | @Select("select * from " + Constants.USERTABLE + " order by createdate DESC") 17 | List get_List(); 18 | 19 | @Select("select * from " + Constants.USERTABLE 20 | + " where username like CONCAT('%',#{content},'%') or loginname like CONCAT('%',#{content},'%') order by createdate DESC") 21 | List get_LikeList(String content); 22 | 23 | @Select( 24 | "select * from " + Constants.USERTABLE + " where loginname = #{loginname} AND password = #{password}") 25 | User get_login(@Param("loginname") String loginname, 26 | @Param("password") String password); 27 | 28 | @SelectProvider(type = UserDynaSqlProvider.class, method = "insert_Notice") 29 | void insert_Info(User employee); 30 | 31 | @Select("select * from " + Constants.USERTABLE + " where id = #{id}") 32 | User get_Info(Integer id); 33 | 34 | @SelectProvider(type = UserDynaSqlProvider.class, method = "update_Notice") 35 | void update_Info(User employee); 36 | 37 | // 根据id删除部门 38 | @Delete(" delete from " + Constants.USERTABLE + " where id = #{id} ") 39 | void delete_Info(Integer id); 40 | 41 | @Select("select count(1) from user where loginname = #{name}") 42 | int repeatName(String name); 43 | 44 | IndexHeaderResDTO countHeader(); 45 | } -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/mapper/EmployeeMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 40 | -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/lay/modules/flow.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.2.6 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var l=layui.$,o=function(e){},t='';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var f=l(e.elem);if(f[0]){var m=l(e.scrollElem||document),u=e.mb||50,s=!("isAuto"in e)||e.isAuto,v=e.end||"没有更多了",y=e.scrollElem&&e.scrollElem!==document,d="加载更多",h=l('");f.find(".layui-flow-more")[0]||f.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(v):h.find("a").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find("a").html(t),"function"==typeof e.done&&e.done(++c,p)};if(g(),h.find("a").on("click",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+" img",scrollElem:e.scrollElem});return s?(m.on("scroll",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),i||(r=setTimeout(function(){var i=y?e.height():l(window).height(),n=y?e.prop("scrollHeight"):document.documentElement.scrollHeight;n-t-i<=u&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||"img",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&&!e.attr("src")){var m=e.attr("lay-src");layui.img(m,function(){var l=t.lazyimg.elem.eq(i);e.attr("src",m).removeAttr("lay-src"),l[0]&&f(l),i++})}},f=function(e,o){var f=a?(o||n).height():l(window).height(),m=n.scrollTop(),u=m+f;if(t.lazyimg.elem=l(r),e)c(e,f);else for(var s=0;su)break}};if(f(),!o){var m;n.on("scroll",function(){var e=l(this);m&&clearTimeout(m),m=setTimeout(function(){f(null,e)},50)}),o=!0}return f},e("flow",new o)}); -------------------------------------------------------------------------------- /src/main/webapp/404.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | ERROR 404 - Not Found! 6 | 7 | 8 | 45 | 46 | 47 |
48 | 51 |
52 |

The following error occurred:

53 |

The requested URL was not found on this server.

54 |

Please check the URL or contact the webmaster.

55 |
56 | 59 |
60 | 61 | 62 | -------------------------------------------------------------------------------- /src/main/webapp/page/include/sidebar.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="utf-8" %> 2 | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 3 | 4 | 5 |
6 |
7 | 22 |
23 |
24 |

Welcome

25 |

欢迎使用WebChat聊天室~

26 |
27 |
28 |
29 |
30 | -------------------------------------------------------------------------------- /src/main/webapp/page/loginForm.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 4 | 5 | 6 | 7 | 8 | 9 | 登陆 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 43 | 44 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/mapper/DocumentMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 50 | -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=8080 2 | # 自行修改 3 | spring.datasource.username=**** 4 | spring.datasource.password =**** 5 | spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver 6 | spring.datasource.url=jdbc:mysql://47.106.248.229:3306/personnel?useUnicode=yes&characterEncoding=UTF-8&allowMultiQueries=true 7 | 8 | 9 | pagehelper.auto-dialect=mysql 10 | pagehelper.reasonable=true 11 | pagehelper.support-methods-arguments=true 12 | pagehelper.params=count=countSql 13 | 14 | 15 | 16 | spring.mvc.view.prefix=/page/ 17 | spring.mvc.view.suffix=.jsp 18 | 19 | 20 | #\u8FDE\u63A5\u6C60\u914D\u7F6E 21 | spring.datasource.initialSize=5 22 | spring.datasource.minIdle=5 23 | spring.datasource.maxActive=20 24 | #\u8FDE\u63A5\u7B49\u5F85\u8D85\u65F6\u65F6\u95F4 25 | spring.datasource.maxWait=60000 26 | #\u914D\u7F6E\u9694\u591A\u4E45\u8FDB\u884C\u4E00\u6B21\u68C0\u6D4B(\u68C0\u6D4B\u53EF\u4EE5\u5173\u95ED\u7684\u7A7A\u95F2\u8FDE\u63A5) 27 | spring.datasource.timeBetweenEvictionRunsMillis=60000 28 | #\u914D\u7F6E\u8FDE\u63A5\u5728\u6C60\u4E2D\u7684\u6700\u5C0F\u751F\u5B58\u65F6\u95F4 29 | spring.datasource.minEvictableIdleTimeMillis=300000 30 | spring.datasource.validationQuery=SELECT 1 FROM DUAL 31 | spring.datasource.testWhileIdle=true 32 | spring.datasource.testOnBorrow=false 33 | spring.datasource.testOnReturn=false 34 | # \u6253\u5F00PSCache\uFF0C\u5E76\u4E14\u6307\u5B9A\u6BCF\u4E2A\u8FDE\u63A5\u4E0APSCache\u7684\u5927\u5C0F 35 | spring.datasource.poolPreparedStatements=true 36 | spring.datasource.maxPoolPreparedStatementPerConnectionSize=20 37 | # \u901A\u8FC7connectProperties\u5C5E\u6027\u6765\u6253\u5F00mergeSql\u529F\u80FD\uFF1B\u6162SQL\u8BB0\u5F55 38 | spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 39 | 40 | 41 | spring.main.allow-bean-definition-overriding=true 42 | 43 | 44 | mybatis.configuration.log-impl = org.apache.ibatis.logging.stdout.StdOutImpl 45 | mybatis.type-aliases-package = cn.pzhu.pserson.domain 46 | mybatis.mapper-locations=classpath:cn/pzhu/pserson/dao/mapper/*.xml 47 | mapper.enum-as-simple-type=true 48 | 49 | 50 | spring.redis.host=47.106.248.229 51 | spring.redis.port=6379 52 | spring.redis.password=jgm 53 | 54 | -------------------------------------------------------------------------------- /src/main/resources/generatorConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 21 | 22 | 23 | 24 | 25 | 26 | 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/springmvc-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 32 | 33 | 34 | /WEB-INF/page/ 35 | 36 | 37 | 38 | .jsp 39 | 40 | 41 | 43 | 44 | 45 | 10485760 46 | 47 | 48 | 49 | UTF-8 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /src/main/resources/springmvc-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 42 | 43 | 44 | 10485760 45 | 46 | 47 | 48 | UTF-8 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/dao/EmployeeMapper.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.dao.dao; 2 | 3 | import cn.pzhu.pserson.dao.provider.EmployeeDynaSqlProvider; 4 | import cn.pzhu.pserson.domain.Employee; 5 | import cn.pzhu.pserson.domain.response.EmployeeResDTO; 6 | import cn.pzhu.pserson.util.Constants; 7 | import java.util.List; 8 | import org.apache.ibatis.annotations.Delete; 9 | import org.apache.ibatis.annotations.Param; 10 | import org.apache.ibatis.annotations.Select; 11 | import org.apache.ibatis.annotations.SelectProvider; 12 | import tk.mybatis.mapper.common.Mapper; 13 | 14 | public interface EmployeeMapper extends Mapper { 15 | 16 | /** 17 | * 18 | * @return 19 | */ 20 | //查询 21 | @Select("select * from " + Constants.EMPLOYEETABLE + " order by id ASC") 22 | List get_List(); 23 | 24 | @Select("select * from " + Constants.EMPLOYEETABLE 25 | + " where name like CONCAT('%',#{content},'%') order by id ASC") 26 | List get_LikeList(String content); 27 | 28 | 29 | @SelectProvider(type = EmployeeDynaSqlProvider.class, method = "insert_Employee") 30 | void insert_Info(Employee employee); 31 | 32 | @Select("select * from " + Constants.EMPLOYEETABLE + " where id = #{id}") 33 | Employee get_Info(Integer id); 34 | 35 | @SelectProvider(type = EmployeeDynaSqlProvider.class, method = "update_Employee") 36 | void update_Info(Employee employee); 37 | 38 | // 根据id删除部门 39 | @Delete(" delete from " + Constants.EMPLOYEETABLE + " where id = #{id} ") 40 | void delete_Info(Integer id); 41 | 42 | 43 | @Select("SELECT\n" 44 | + "\te.*,e.createDate as createDate, d.`name` AS dept,\n" 45 | + "\tj.`name` AS job\n" 46 | + "FROM\n" 47 | + "\temployee e\n" 48 | + "LEFT JOIN dept d ON d.id = e.dept_id\n" 49 | + "LEFT JOIN job j ON j.id = e.job_id order by e.id ASC") 50 | List getEm(); 51 | 52 | @Select("SELECT\n" 53 | + "\te.*,e.createDate as createDate, d.`name` AS dept,\n" 54 | + "\tj.`name` AS job\n" 55 | + "FROM\n" 56 | + "\temployee e\n" 57 | + "LEFT JOIN dept d ON d.id = e.dept_id\n" 58 | + "LEFT JOIN job j ON j.id = e.job_id where name like CONCAT('%',#{content},'%') order by e.id ASC") 59 | List getEmByContent(String content); 60 | 61 | List getEmployees(@Param("content") String content); 62 | } -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/lay/modules/util.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.2.6 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var t=layui.$,i={fixbar:function(e){var i,o,a="layui-fixbar",r="layui-fixbar-top",n=t(document),l=t("body");e=t.extend({showHeight:200},e),e.bar1=e.bar1===!0?"":e.bar1,e.bar2=e.bar2===!0?"":e.bar2,e.bgcolor=e.bgcolor?"background-color:"+e.bgcolor:"";var c=[e.bar1,e.bar2,""],g=t(['
    ',e.bar1?'
  • '+c[0]+"
  • ":"",e.bar2?'
  • '+c[1]+"
  • ":"",'
  • '+c[2]+"
  • ","
"].join("")),s=g.find("."+r),u=function(){var t=n.scrollTop();t>=e.showHeight?i||(s.show(),i=1):i&&(s.hide(),i=0)};t("."+a)[0]||("object"==typeof e.css&&g.css(e.css),l.append(g),u(),g.find("li").on("click",function(){var i=t(this),o=i.attr("lay-type");"top"===o&&t("html,body").animate({scrollTop:0},200),e.click&&e.click.call(this,o)}),n.on("scroll",function(){clearTimeout(o),o=setTimeout(function(){u()},100)}))},countdown:function(e,t,i){var o=this,a="function"==typeof t,r=new Date(e).getTime(),n=new Date(!t||a?(new Date).getTime():t).getTime(),l=r-n,c=[Math.floor(l/864e5),Math.floor(l/36e5)%24,Math.floor(l/6e4)%60,Math.floor(l/1e3)%60];a&&(i=t);var g=setTimeout(function(){o.countdown(e,n+1e3,i)},1e3);return i&&i(l>0?c:[0,0,0,0],t,g),l<=0&&clearTimeout(g),g},timeAgo:function(e,t){var i=this,o=[[],[]],a=(new Date).getTime()-new Date(e).getTime();return a>6912e5?(a=new Date(e),o[0][0]=i.digit(a.getFullYear(),4),o[0][1]=i.digit(a.getMonth()+1),o[0][2]=i.digit(a.getDate()),t||(o[1][0]=i.digit(a.getHours()),o[1][1]=i.digit(a.getMinutes()),o[1][2]=i.digit(a.getSeconds())),o[0].join("-")+" "+o[1].join(":")):a>=864e5?(a/1e3/60/60/24|0)+"天前":a>=36e5?(a/1e3/60/60|0)+"小时前":a>=12e4?(a/1e3/60|0)+"分钟前":a<0?"未来":"刚刚"},digit:function(e,t){var i="";e=String(e),t=t||2;for(var o=e.length;o getInfo() { 35 | List jobs = jobMapper.get_List(); 36 | List depts = deptMapper.selectAllDept(); 37 | Map map = new HashMap<>(); 38 | map.put("jobs",jobs); 39 | map.put("depts",depts); 40 | return map; 41 | } 42 | 43 | @Override 44 | public PageInfo getEmployee(int pageNum,int pageSize) { 45 | PageInfo pageInfo = PageHelper.startPage(pageNum, pageSize, true) 46 | .doSelectPageInfo(() -> employeeMapper.getEm()); 47 | return pageInfo; 48 | } 49 | 50 | @Override 51 | public void insert(Employee employee) { 52 | Date date = new Date(); 53 | SimpleDateFormat format = new SimpleDateFormat("yy-MM-dd hh:mm:ss"); 54 | employee.setCreateDate(format.format(date)); 55 | employeeMapper.insert(employee); 56 | } 57 | 58 | @Override 59 | public void update(Employee employee) { 60 | employeeMapper.updateByPrimaryKey(employee); 61 | } 62 | 63 | @Override 64 | public PageInfo getEmployee(String content, int pageNum, int pageSize) { 65 | PageInfo pageInfo = PageHelper.startPage(pageNum, pageSize, true) 66 | .doSelectPageInfo(() -> employeeMapper.getEmployees(content)); 67 | return pageInfo; 68 | } 69 | 70 | @Override 71 | public Employee getEmployee(Integer id) { 72 | return employeeMapper.selectByPrimaryKey(id); 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/page/loginForm.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 4 | 5 | 6 | 7 | 8 | 9 | 登陆 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/PsersonApplication.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson; 2 | 3 | import javax.servlet.Filter; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.boot.web.servlet.FilterRegistrationBean; 7 | import org.springframework.context.annotation.Bean; 8 | import org.springframework.context.annotation.ComponentScan; 9 | import org.springframework.context.annotation.ImportResource; 10 | import org.springframework.web.filter.CharacterEncodingFilter; 11 | import org.springframework.web.servlet.ViewResolver; 12 | import org.springframework.web.servlet.view.InternalResourceViewResolver; 13 | import org.springframework.web.servlet.view.JstlView; 14 | import org.springframework.web.socket.config.annotation.EnableWebSocket; 15 | import tk.mybatis.spring.annotation.MapperScan; 16 | 17 | @MapperScan("cn.pzhu.pserson.dao.dao") 18 | @SpringBootApplication 19 | @ComponentScan(basePackages = "cn.pzhu.pserson") 20 | @ImportResource("classpath:springmvc-config.xml") 21 | @EnableWebSocket 22 | public class PsersonApplication { 23 | 24 | public static void main(String[] args) { 25 | SpringApplication.run(PsersonApplication.class, args); 26 | } 27 | 28 | @Bean 29 | public FilterRegistrationBean someFilterRegistration() { 30 | 31 | FilterRegistrationBean registration = new FilterRegistrationBean(); 32 | registration.setFilter(new CharacterEncodingFilter()); 33 | registration.addUrlPatterns("/*"); 34 | registration.addInitParameter("encoding", "UTF-8"); 35 | registration.setName("EncodingFilter"); 36 | registration.setOrder(1); 37 | return registration; 38 | } 39 | 40 | @Bean 41 | public Filter EncodingFilter() { 42 | return new CharacterEncodingFilter(); 43 | } 44 | 45 | // @Bean 46 | // public InternalResourceViewResolver getJspViewResolver(){ 47 | // InternalResourceViewResolver jspViewResolver=new InternalResourceViewResolver(); 48 | // jspViewResolver.setPrefix("/WEB-INF/page/"); 49 | // jspViewResolver.setSuffix(".jsp"); 50 | // jspViewResolver.setViewClass(JstlView.class); 51 | // return jspViewResolver; 52 | // } 53 | 54 | // @Bean 55 | // public ViewResolver getViewResolver(){ 56 | // InternalResourceViewResolver resolver = new InternalResourceViewResolver(); 57 | // resolver.setPrefix("/WEB-INF/page/"); 58 | // resolver.setSuffix(".jsp"); 59 | // resolver.setViewClass(JstlView.class); 60 | // return resolver; 61 | // } 62 | 63 | 64 | } 65 | 66 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | org.springframework.web.context.ContextLoaderListener 11 | 12 | 13 | 14 | contextConfigLocation 15 | /WEB-INF/applicationContext*.xml 16 | 17 | 18 | 19 | 20 | springmvc 21 | 22 | org.springframework.web.servlet.DispatcherServlet 23 | 24 | 25 | contextConfigLocation 26 | /WEB-INF/springmvc-config.xml 27 | 28 | 1 29 | 30 | 31 | 32 | 33 | springmvc 34 | / 35 | 36 | 37 | 38 | 39 | characterEncodingFilter 40 | org.springframework.web.filter.CharacterEncodingFilter 41 | 42 | encoding 43 | UTF-8 44 | 45 | 46 | 47 | characterEncodingFilter 48 | /* 49 | 50 | 51 | 52 | 53 | 54 | *.jsp 55 | 56 | false 57 | 58 | true 59 | 60 | /WEB-INF/page/taglib.jsp 61 | 62 | 63 | 64 | 65 | 404 66 | /404.html 67 | 68 | 69 | 70 | index.jsp 71 | 72 | 73 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/service/RainService.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.service; 2 | 3 | import cn.pzhu.pserson.domain.Dept; 4 | import cn.pzhu.pserson.domain.Document; 5 | import cn.pzhu.pserson.domain.Employee; 6 | import cn.pzhu.pserson.domain.Job; 7 | import cn.pzhu.pserson.domain.Notice; 8 | import cn.pzhu.pserson.domain.User; 9 | import com.github.pagehelper.PageInfo; 10 | import java.util.List; 11 | import java.util.Map; 12 | 13 | public interface RainService { 14 | 15 | /** 16 | * 部门信息的service 17 | */ 18 | PageInfo findAllDept(String content, int pageNum, int pageSize); 19 | 20 | void addDept(Dept dept); 21 | 22 | Dept get_Info(Integer id); 23 | 24 | void update_Info(Dept dept); 25 | 26 | void delete_Info(Integer id); 27 | 28 | PageInfo findAllDept(int pageNum, int pageSize); 29 | 30 | /** 31 | * 职位信息的service 32 | */ 33 | 34 | PageInfo findAllJob(int pageNum, int pageSize); 35 | 36 | PageInfo findAllJob(String content, int pageNum, int pageSize); 37 | 38 | Job get_JobInfo(Integer id); 39 | 40 | void update_JobInfo(Job job); 41 | 42 | void insert_JobInfo(Job job); 43 | 44 | void delete_JobInfo(Integer id); 45 | 46 | /** 47 | * 员工信息的service 48 | */ 49 | List get_EmployeeList(); 50 | 51 | List get_EmployeeLikeList(String content); 52 | 53 | Employee get_EmployeeInfo(Integer id); 54 | 55 | void update_EmployeeInfo(Employee data); 56 | 57 | void insert_EmployeeInfo(Employee data); 58 | 59 | void delete_EmployeeInfo(Integer id); 60 | 61 | List get_NoticeList(); 62 | 63 | List get_NoticeLikeList(String content); 64 | 65 | Notice get_NoticeInfo(Integer id); 66 | 67 | void update_NoticeInfo(Notice notice); 68 | 69 | void insert_NoticeInfo(Notice notice); 70 | 71 | void delete_NoticeInfo(Integer id); 72 | 73 | List get_DocumentList(); 74 | 75 | List get_DocumentLikeList(String content); 76 | 77 | Document get_DocumentInfo(Integer id); 78 | 79 | void update_DocumentInfo(Document notice); 80 | 81 | void insert_DocumentInfo(Document notice); 82 | 83 | void delete_DocumentInfo(Integer id); 84 | 85 | User login(String loginname, String password); 86 | 87 | Map get_UserList(int pageNum, int pageSize); 88 | 89 | Map get_UserLikeList(String content, int pageNum, int pageSize); 90 | 91 | User get_UserInfo(Integer id); 92 | 93 | void update_UserInfo(User notice); 94 | 95 | void insert_UserInfo(User notice); 96 | 97 | void delete_UserInfo(Integer id); 98 | 99 | } 100 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/interceptor/AuthorizedInterceptor.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.interceptor; 2 | 3 | import cn.pzhu.pserson.domain.User; 4 | import cn.pzhu.pserson.util.Constants; 5 | import javax.servlet.http.HttpServletRequest; 6 | import javax.servlet.http.HttpServletResponse; 7 | import org.springframework.web.servlet.HandlerInterceptor; 8 | import org.springframework.web.servlet.ModelAndView; 9 | 10 | /** 11 | * 判断用户权限的Spring MVC的拦截器 12 | */ 13 | public class AuthorizedInterceptor implements HandlerInterceptor { 14 | 15 | /** 定义不需要拦截的请求 */ 16 | private static final String[] IGNORE_URI = {"/loginForm", "/login","/404.html"}; 17 | 18 | /** 19 | * 该方法需要preHandle方法的返回值为true时才会执行。 20 | * 该方法将在整个请求完成之后执行,主要作用是用于清理资源。 21 | */ 22 | @Override 23 | public void afterCompletion(HttpServletRequest request, 24 | HttpServletResponse response, Object handler, Exception exception) 25 | throws Exception { 26 | 27 | } 28 | 29 | /** 30 | * 这个方法在preHandle方法返回值为true的时候才会执行。 31 | * 执行时间是在处理器进行处理之 后,也就是在Controller的方法调用之后执行。 32 | */ 33 | @Override 34 | public void postHandle(HttpServletRequest request, HttpServletResponse response, 35 | Object handler, ModelAndView mv) throws Exception { 36 | 37 | } 38 | 39 | /** 40 | * preHandle方法是进行处理器拦截用的,该方法将在Controller处理之前进行调用, 41 | * 当preHandle的返回值为false的时候整个请求就结束了。 42 | * 如果preHandle的返回值为true,则会继续执行postHandle和afterCompletion。 43 | */ 44 | @Override 45 | public boolean preHandle(HttpServletRequest request, HttpServletResponse response, 46 | Object handler) throws Exception { 47 | User user1 = (User) request.getSession().getAttribute(Constants.USER_SESSION); 48 | // System.out.println(user1); 49 | // System.out.println("--"+user1.getLoginname() + " --"+user1.getUsername()); 50 | boolean flag = false; 51 | // * 获得请求的ServletPath 52 | String servletPath = request.getServletPath(); 53 | System.out.println(servletPath); 54 | // * 判断请求是否需要拦截 55 | for (String s : IGNORE_URI) { 56 | if (servletPath.contains(s)) { 57 | flag = true; 58 | System.out.println("*********************"); 59 | break; 60 | } 61 | } 62 | // * 拦截请求 63 | if (!flag){ 64 | // * 1.获取session中的用户 65 | User user = (User) request.getSession().getAttribute(Constants.USER_SESSION); 66 | // * 2.判断用户是否已经登录 67 | if(user == null){ 68 | // * 如果用户没有登录,跳转到登录页面 69 | request.setAttribute("message", "请先登录再访问网站!"); 70 | request.getRequestDispatcher(Constants.LOGIN).forward(request, response); 71 | return flag; 72 | }else{ 73 | flag = true; 74 | } 75 | } 76 | return flag; 77 | } 78 | 79 | } 80 | -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/layer/skin/layer.ext.css: -------------------------------------------------------------------------------- 1 | /*! 2 | 3 | @Name: layer拓展样式 4 | @Date: 2012.12.13 5 | @Author: 贤心 6 | @blog: sentsin.com 7 | 8 | */.layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span{text-overflow:ellipsis;white-space:nowrap}.layui-layer-iconext{background:url(default/icon-ext.png) no-repeat}html #layui_layer_skinlayerextcss{display:none;position:absolute;width:1989px}.layui-layer-prompt .layui-layer-input{display:block;width:220px;height:30px;margin:0 auto;line-height:30px;padding:0 5px;border:1px solid #ccc;box-shadow:1px 1px 5px rgba(0,0,0,.1) inset;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;border-bottom:1px solid #ccc;background-color:#eee;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;cursor:default;overflow:hidden}.layui-layer-tab .layui-layer-title span.layui-layer-tabnow{height:43px;border-left:1px solid #ccc;border-right:1px solid #ccc;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.xubox_tab_layer{display:block}.xubox_tabclose{position:absolute;right:10px;top:5px;cursor:pointer}.layui-layer-photos{-webkit-animation-duration:1s;animation-duration:1s;}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal} -------------------------------------------------------------------------------- /src/main/webapp/public/js/board.js: -------------------------------------------------------------------------------- 1 | var BS = 15; //BOARD SIZE 2 | var BT = 17; 3 | var DS = 289; //17*17 4 | var CENTER = 8; 5 | var BLACK = 1; 6 | var WHITE = 2; 7 | var BORDER = -1; 8 | 9 | function pos(x,y){ 10 | return x+y*17; 11 | } 12 | 13 | function Board(){ 14 | var data = new Array(DS); 15 | var currentPlayer = 0; 16 | var history = []; 17 | 18 | var trogglePlayer = function(){ 19 | currentPlayer = 3 - currentPlayer; 20 | }; 21 | 22 | this.init = function(){ 23 | for(var i=0;iBS || y<1 || y>BS){ 52 | break; 53 | } 54 | if(data[pos(x,y)]==chess){ 55 | ++result; 56 | } 57 | else{ 58 | break; 59 | } 60 | } 61 | return result; 62 | }; 63 | 64 | this.isGameOver = function(){ 65 | if(history.length>0){ 66 | var chess = (history.length%2==1)?WHITE:BLACK; 67 | var laststep = history[history.length-1]; 68 | var x = laststep[0]; 69 | var y = laststep[1]; 70 | if(check(x,y,1,0,chess)+check(x,y,-1,0,chess)>=4){ 71 | return chess; 72 | } 73 | if(check(x,y,0,1,chess)+check(x,y,0,-1,chess)>=4){ 74 | return chess; 75 | } 76 | if(check(x,y,1,1,chess)+check(x,y,-1,-1,chess)>=4){ 77 | return chess; 78 | } 79 | if(check(x,y,1,-1,chess)+check(x,y,-1,1,chess)>=4){ 80 | return chess; 81 | } 82 | } 83 | for(var i=0;i0){ 107 | var step = history.pop(); 108 | data[pos(step[0],step[1])] = 0; 109 | currentPlayer = (history.length%2==1)?BLACK:WHITE; 110 | return true; 111 | } 112 | return false; 113 | }; 114 | 115 | this.getHistory = function(){ 116 | return history.slice(0); 117 | } 118 | 119 | this.getData = function(){ 120 | return data.slice(0); 121 | } 122 | 123 | this.init(); 124 | } 125 | -------------------------------------------------------------------------------- /src/main/webapp/static/source/js/board.js: -------------------------------------------------------------------------------- 1 | var BS = 15; //BOARD SIZE 2 | var BT = 17; 3 | var DS = 289; //17*17 4 | var CENTER = 8; 5 | var BLACK = 1; 6 | var WHITE = 2; 7 | var BORDER = -1; 8 | 9 | function pos(x,y){ 10 | return x+y*17; 11 | } 12 | 13 | function Board(){ 14 | var data = new Array(DS); 15 | var currentPlayer = 0; 16 | var history = []; 17 | 18 | var trogglePlayer = function(){ 19 | currentPlayer = 3 - currentPlayer; 20 | }; 21 | 22 | this.init = function(){ 23 | for(var i=0;iBS || y<1 || y>BS){ 52 | break; 53 | } 54 | if(data[pos(x,y)]==chess){ 55 | ++result; 56 | } 57 | else{ 58 | break; 59 | } 60 | } 61 | return result; 62 | }; 63 | 64 | this.isGameOver = function(){ 65 | if(history.length>0){ 66 | var chess = (history.length%2==1)?WHITE:BLACK; 67 | var laststep = history[history.length-1]; 68 | var x = laststep[0]; 69 | var y = laststep[1]; 70 | if(check(x,y,1,0,chess)+check(x,y,-1,0,chess)>=4){ 71 | return chess; 72 | } 73 | if(check(x,y,0,1,chess)+check(x,y,0,-1,chess)>=4){ 74 | return chess; 75 | } 76 | if(check(x,y,1,1,chess)+check(x,y,-1,-1,chess)>=4){ 77 | return chess; 78 | } 79 | if(check(x,y,1,-1,chess)+check(x,y,-1,1,chess)>=4){ 80 | return chess; 81 | } 82 | } 83 | for(var i=0;i0){ 107 | var step = history.pop(); 108 | data[pos(step[0],step[1])] = 0; 109 | currentPlayer = (history.length%2==1)?BLACK:WHITE; 110 | return true; 111 | } 112 | return false; 113 | }; 114 | 115 | this.getHistory = function(){ 116 | return history.slice(0); 117 | } 118 | 119 | this.getData = function(){ 120 | return data.slice(0); 121 | } 122 | 123 | this.init(); 124 | } 125 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/applicationContext.xml: -------------------------------------------------------------------------------- 1 | 2 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 35 | 36 | 37 | 38 | 39 | 40 | helperDialect=mysql 41 | reasonable=true 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/controller/RecruitController.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.controller; 2 | 3 | import cn.pzhu.pserson.domain.Dept; 4 | import cn.pzhu.pserson.domain.Job; 5 | import cn.pzhu.pserson.domain.Recruit; 6 | import cn.pzhu.pserson.domain.request.RecruitReqDTO; 7 | import cn.pzhu.pserson.domain.response.RecruitResDTO; 8 | import cn.pzhu.pserson.service.EmployeeService; 9 | import cn.pzhu.pserson.service.RecruitService; 10 | import com.github.pagehelper.PageInfo; 11 | import java.util.List; 12 | import java.util.Map; 13 | import org.springframework.beans.factory.annotation.Autowired; 14 | import org.springframework.stereotype.Controller; 15 | import org.springframework.ui.Model; 16 | import org.springframework.web.bind.annotation.DeleteMapping; 17 | import org.springframework.web.bind.annotation.GetMapping; 18 | import org.springframework.web.bind.annotation.ModelAttribute; 19 | import org.springframework.web.bind.annotation.PostMapping; 20 | import org.springframework.web.bind.annotation.RequestMapping; 21 | import org.springframework.web.bind.annotation.ResponseBody; 22 | import org.springframework.web.servlet.ModelAndView; 23 | 24 | @Controller 25 | @RequestMapping("/recruit") 26 | public class RecruitController { 27 | 28 | @Autowired 29 | RecruitService recruitService; 30 | 31 | @Autowired 32 | EmployeeService employeeService; 33 | 34 | @RequestMapping("/list") 35 | public String listAll(Model model,int pageNum,int pageSize,String content) { 36 | PageInfo recruit = recruitService.getRecruit(pageNum, pageSize, content); 37 | model.addAttribute("pageInfo",recruit); 38 | model.addAttribute("list",recruit.getList()); 39 | return "recruit/list"; 40 | 41 | } 42 | 43 | @RequestMapping("/toadd") 44 | public String add(Model model) { 45 | Map info = employeeService.getInfo(); 46 | model.addAttribute("dept_list", (List) info.get("depts")); 47 | return "recruit/add"; 48 | } 49 | 50 | @ResponseBody 51 | @GetMapping("/joblist") 52 | public List getJobList(int id,Model model) { 53 | List list = recruitService.getJobList(id); 54 | return list; 55 | } 56 | 57 | @PostMapping("/add") 58 | public ModelAndView add(@ModelAttribute Recruit recruit, ModelAndView mv,Integer id) { 59 | recruitService.insertOne(recruit); 60 | mv.setViewName("redirect:/recruit/list?pageNum=1&pageSize=6"); 61 | return mv; 62 | } 63 | 64 | @RequestMapping("/toupdate") 65 | public String toUpdate(Model model,Integer id) { 66 | Map info = employeeService.getInfo(); 67 | model.addAttribute("dept_list", (List) info.get("depts")); 68 | RecruitResDTO recruit = recruitService.getRecruit(id); 69 | model.addAttribute("recruit",recruit); 70 | return "recruit/update"; 71 | } 72 | 73 | @RequestMapping("/delete") 74 | public void delete(Integer id){ 75 | recruitService.delete(id); 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/lay/modules/tree.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.2.6 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var o=layui.$,a=layui.hint(),i="layui-tree-enter",r=function(e){this.options=e},t={arrow:["",""],checkbox:["",""],radio:["",""],branch:["",""],leaf:""};r.prototype.init=function(e){var o=this;e.addClass("layui-box layui-tree"),o.options.skin&&e.addClass("layui-tree-skin-"+o.options.skin),o.tree(e),o.on(e)},r.prototype.tree=function(e,a){var i=this,r=i.options,n=a||r.nodes;layui.each(n,function(a,n){var l=n.children&&n.children.length>0,c=o('
    '),s=o(["
  • ",function(){return l?''+(n.spread?t.arrow[1]:t.arrow[0])+"":""}(),function(){return r.check?''+("checkbox"===r.check?t.checkbox[0]:"radio"===r.check?t.radio[0]:"")+"":""}(),function(){return'"+(''+(l?n.spread?t.branch[1]:t.branch[0]:t.leaf)+"")+(""+(n.name||"未命名")+"")}(),"
  • "].join(""));l&&(s.append(c),i.tree(c,n.children)),e.append(s),"function"==typeof r.click&&i.click(s,n),i.spread(s,n),r.drag&&i.drag(s,n)})},r.prototype.click=function(e,o){var a=this,i=a.options;e.children("a").on("click",function(e){layui.stope(e),i.click(o)})},r.prototype.spread=function(e,o){var a=this,i=(a.options,e.children(".layui-tree-spread")),r=e.children("ul"),n=e.children("a"),l=function(){e.data("spread")?(e.data("spread",null),r.removeClass("layui-show"),i.html(t.arrow[0]),n.find(".layui-icon").html(t.branch[0])):(e.data("spread",!0),r.addClass("layui-show"),i.html(t.arrow[1]),n.find(".layui-icon").html(t.branch[1]))};r[0]&&(i.on("click",l),n.on("dblclick",l))},r.prototype.on=function(e){var a=this,r=a.options,t="layui-tree-drag";e.find("i").on("selectstart",function(e){return!1}),r.drag&&o(document).on("mousemove",function(e){var i=a.move;if(i.from){var r=(i.to,o('
    '));e.preventDefault(),o("."+t)[0]||o("body").append(r);var n=o("."+t)[0]?o("."+t):r;n.addClass("layui-show").html(i.from.elem.children("a").html()),n.css({left:e.pageX+10,top:e.pageY+10})}}).on("mouseup",function(){var e=a.move;e.from&&(e.from.elem.children("a").removeClass(i),e.to&&e.to.elem.children("a").removeClass(i),a.move={},o("."+t).remove())})},r.prototype.move={},r.prototype.drag=function(e,a){var r=this,t=(r.options,e.children("a")),n=function(){var t=o(this),n=r.move;n.from&&(n.to={item:a,elem:e},t.addClass(i))};t.on("mousedown",function(){var o=r.move;o.from={item:a,elem:e}}),t.on("mouseenter",n).on("mousemove",n).on("mouseleave",function(){var e=o(this),a=r.move;a.from&&(delete a.to,e.removeClass(i))})},e("tree",function(e){var i=new r(e=e||{}),t=o(e.elem);return t[0]?void i.init(t):a.error("layui.tree 没有找到"+e.elem+"元素")})}); -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/controller/NoticeController.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.controller; 2 | 3 | import cn.pzhu.pserson.domain.Notice; 4 | import cn.pzhu.pserson.service.NoticeService; 5 | import cn.pzhu.pserson.service.RainService; 6 | import com.github.pagehelper.PageInfo; 7 | import javax.servlet.http.HttpSession; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.beans.factory.annotation.Qualifier; 10 | import org.springframework.stereotype.Controller; 11 | import org.springframework.ui.Model; 12 | import org.springframework.web.bind.annotation.ModelAttribute; 13 | import org.springframework.web.bind.annotation.PathVariable; 14 | import org.springframework.web.bind.annotation.RequestMapping; 15 | import org.springframework.web.bind.annotation.RequestMethod; 16 | import org.springframework.web.servlet.ModelAndView; 17 | 18 | @Controller 19 | public class NoticeController { 20 | 21 | @Autowired 22 | @Qualifier("RainService") 23 | private RainService rainservice; 24 | 25 | @Autowired 26 | private NoticeService noticeService; 27 | 28 | 29 | // 如果在目录下输入为空,则跳转到指定链接 30 | @RequestMapping(value = "/notice/") 31 | public ModelAndView index2(ModelAndView mv) { 32 | mv.setViewName("notice/list?pageNum=1&pageSize=6"); 33 | return mv; 34 | } 35 | 36 | // 如果在目录下输入任何不存在的参数,则跳转到list 37 | @RequestMapping(value = "/notice/{formName}") 38 | public String index2(@PathVariable String formName) { 39 | String blank = "/notice/list?pageNum=1&pageSize=6"; 40 | return blank; 41 | } 42 | 43 | @RequestMapping(value = "/notice/list", method = RequestMethod.GET) 44 | public String index(Model model, String content,int pageNum,int pageSize,HttpSession session) { 45 | PageInfo notice = noticeService.getNotice(pageNum, pageSize, content); 46 | model.addAttribute("list", notice.getList()); 47 | model.addAttribute("pageInfo",notice); 48 | model.addAttribute("userid",session.getAttribute("userid")); 49 | return "notice/list"; 50 | } 51 | 52 | @RequestMapping(value = "/notice/add", method = RequestMethod.GET) 53 | public String add(Model model, Integer id) { 54 | if (id != null) { 55 | Notice job = rainservice.get_NoticeInfo(id); 56 | model.addAttribute("job", job); 57 | } 58 | return "/notice/add"; 59 | } 60 | 61 | @RequestMapping(value = "/notice/add", method = RequestMethod.POST) 62 | public ModelAndView add(ModelAndView mv, @ModelAttribute Notice notice, Integer id,Integer userid) { 63 | if (id != null) { 64 | rainservice.update_NoticeInfo(notice); 65 | } else { 66 | notice.setUserId(userid); 67 | noticeService.insertNotice(notice); 68 | } 69 | mv.setViewName("redirect:/notice/list?pageNum=1&pageSize=6"); 70 | return mv; 71 | } 72 | 73 | @RequestMapping(value = "/notice/delete", method = RequestMethod.GET) 74 | public void delete(Integer id) { 75 | System.out.println(id); 76 | if (id != null) { 77 | rainservice.delete_NoticeInfo(id); 78 | } 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/controller/JobController.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.controller; 2 | 3 | import cn.pzhu.pserson.domain.Dept; 4 | import cn.pzhu.pserson.domain.Job; 5 | import cn.pzhu.pserson.service.EmployeeService; 6 | import cn.pzhu.pserson.service.JobService; 7 | import cn.pzhu.pserson.service.RainService; 8 | import com.github.pagehelper.PageInfo; 9 | import java.util.List; 10 | import java.util.Map; 11 | import org.springframework.beans.factory.annotation.Autowired; 12 | import org.springframework.beans.factory.annotation.Qualifier; 13 | import org.springframework.stereotype.Controller; 14 | import org.springframework.ui.Model; 15 | import org.springframework.web.bind.annotation.ModelAttribute; 16 | import org.springframework.web.bind.annotation.PathVariable; 17 | import org.springframework.web.bind.annotation.RequestMapping; 18 | import org.springframework.web.bind.annotation.RequestMethod; 19 | import org.springframework.web.servlet.ModelAndView; 20 | 21 | @Controller 22 | public class JobController { 23 | 24 | @Autowired 25 | @Qualifier("RainService") 26 | private RainService rainservice; 27 | 28 | @Autowired 29 | EmployeeService employeeService; 30 | 31 | @Autowired 32 | JobService jobService; 33 | 34 | // 如果在目录下输入为空,则跳转到指定链接 35 | @RequestMapping(value = "/job/") 36 | public ModelAndView index2(ModelAndView mv) { 37 | mv.setViewName("job/list"); 38 | return mv; 39 | } 40 | 41 | // 如果在目录下输入任何不存在的参数,则跳转到list 42 | @RequestMapping(value = "/job/{formName}") 43 | public String index2(@PathVariable String formName) { 44 | String blank = "/job/list"; 45 | return blank; 46 | } 47 | 48 | @RequestMapping(value = "/job/list", method = RequestMethod.GET) 49 | public String index(Model model, String content, int pageNum, int pageSize) { 50 | PageInfo pageInfo = jobService.findAll(content,pageNum,pageSize); 51 | model.addAttribute("list", pageInfo.getList()); 52 | model.addAttribute("pageInfo", pageInfo); 53 | return "job/list"; 54 | } 55 | 56 | @RequestMapping(value = "/job/add", method = RequestMethod.GET) 57 | public String add(Model model, Integer id) { 58 | if (id != null) { 59 | Job job = rainservice.get_JobInfo(id); 60 | model.addAttribute("job", job); 61 | } 62 | Map info = employeeService.getInfo(); 63 | model.addAttribute("dept_list", (List) info.get("depts")); 64 | return "/job/add"; 65 | } 66 | 67 | @RequestMapping(value = "/job/add", method = RequestMethod.POST) 68 | public ModelAndView add(ModelAndView mv, @ModelAttribute Job job, Integer id) { 69 | System.out.println(id); 70 | if (id != null) { 71 | // rainservice.update_JobInfo(job); 72 | jobService.update(job); 73 | } else { 74 | jobService.insert(job); 75 | // rainservice.insert_JobInfo(job); 76 | } 77 | mv.setViewName("redirect:/job/list?pageNum=1&pageSize=6"); 78 | return mv; 79 | } 80 | 81 | @RequestMapping(value = "/job/delete", method = RequestMethod.GET) 82 | public void delete(Integer id) { 83 | System.out.println(id); 84 | if (id != null) { 85 | rainservice.delete_JobInfo(id); 86 | } 87 | } 88 | } 89 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/controller/DeptController.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.controller; 2 | 3 | import cn.pzhu.pserson.domain.Dept; 4 | import cn.pzhu.pserson.service.DeptService; 5 | import cn.pzhu.pserson.service.RainService; 6 | import com.github.pagehelper.PageInfo; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.beans.factory.annotation.Qualifier; 9 | import org.springframework.stereotype.Controller; 10 | import org.springframework.ui.Model; 11 | import org.springframework.web.bind.annotation.ModelAttribute; 12 | import org.springframework.web.bind.annotation.PathVariable; 13 | import org.springframework.web.bind.annotation.RequestMapping; 14 | import org.springframework.web.bind.annotation.RequestMethod; 15 | import org.springframework.web.servlet.ModelAndView; 16 | 17 | @Controller 18 | public class DeptController { 19 | 20 | @Autowired 21 | @Qualifier("RainService") 22 | private RainService rainservice; 23 | 24 | @Autowired 25 | private DeptService deptService; 26 | 27 | // 如果在目录下输入为空,则跳转到指定链接 28 | @RequestMapping(value = "/dept/") 29 | public ModelAndView index2(ModelAndView mv) { 30 | mv.setViewName("dept/list"); 31 | return mv; 32 | } 33 | 34 | // 如果在目录下输入任何不存在的参数,则跳转到list 35 | @RequestMapping(value = "/dept/{formName}") 36 | public String index2(@PathVariable String formName) { 37 | // return formName; 38 | String blank = "/dept/list"; 39 | return blank; 40 | } 41 | 42 | @RequestMapping(value = "/dept/list", method = RequestMethod.GET) 43 | public String index(Model model, String content, int pageNum, int pageSize) { 44 | // PageInfo pageInfo = rainservice.findAllDept(pageNum, pageSize); 45 | // if (content != null) { 46 | // pageInfo = rainservice.findAllDept(content, pageNum, pageSize); 47 | // } 48 | PageInfo pageInfo = deptService.getDepts(content,pageNum,pageSize); 49 | model.addAttribute("list", pageInfo.getList()); 50 | model.addAttribute("pageInfo", pageInfo); 51 | return "dept/list"; 52 | } 53 | 54 | @RequestMapping(value = "/dept/add", method = RequestMethod.GET) 55 | public String add(Model model, Integer id) { 56 | // System.out.println(id); 57 | if (id != null) { 58 | Dept dept = rainservice.get_Info(id); 59 | model.addAttribute("dept", dept); 60 | // System.out.println(dept.getName()); 61 | } 62 | return "/dept/add"; 63 | } 64 | 65 | @RequestMapping(value = "/dept/add", method = RequestMethod.POST) 66 | public ModelAndView add(ModelAndView mv, @ModelAttribute Dept dept, Integer id) { 67 | System.out.println(id); 68 | // System.out.println(dept.getId()); 69 | if (id != null) { 70 | rainservice.update_Info(dept); 71 | System.out.println(dept.getId()); 72 | } else { 73 | rainservice.addDept(dept); 74 | } 75 | // System.out.println(dept.getName()); 76 | mv.setViewName("redirect:/dept/list?pageNum=1&pageSize=6"); 77 | return mv; 78 | } 79 | 80 | @RequestMapping(value = "/dept/delete", method = RequestMethod.GET) 81 | public void delete(Integer id) { 82 | System.out.println(id); 83 | if (id != null) { 84 | rainservice.delete_Info(id); 85 | } 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/controller/EmployeeController.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.controller; 2 | 3 | import cn.pzhu.pserson.domain.Dept; 4 | import cn.pzhu.pserson.domain.Employee; 5 | import cn.pzhu.pserson.domain.Job; 6 | import cn.pzhu.pserson.service.EmployeeService; 7 | import cn.pzhu.pserson.service.RainService; 8 | import com.github.pagehelper.PageInfo; 9 | import java.util.List; 10 | import java.util.Map; 11 | import org.springframework.beans.factory.annotation.Autowired; 12 | import org.springframework.beans.factory.annotation.Qualifier; 13 | import org.springframework.stereotype.Controller; 14 | import org.springframework.ui.Model; 15 | import org.springframework.web.bind.annotation.ModelAttribute; 16 | import org.springframework.web.bind.annotation.PathVariable; 17 | import org.springframework.web.bind.annotation.RequestMapping; 18 | import org.springframework.web.bind.annotation.RequestMethod; 19 | import org.springframework.web.servlet.ModelAndView; 20 | 21 | @Controller 22 | public class EmployeeController { 23 | 24 | @Autowired 25 | private EmployeeService employeeService; 26 | 27 | @Autowired 28 | @Qualifier("RainService") 29 | private RainService rainservice; 30 | 31 | // 如果在目录下输入为空,则跳转到指定链接 32 | @RequestMapping(value = "/employee/") 33 | public ModelAndView index2(ModelAndView mv) { 34 | mv.setViewName("employee/list"); 35 | return mv; 36 | } 37 | 38 | // 如果在目录下输入任何不存在的参数,则跳转到list 39 | @RequestMapping(value = "/employee/{formName}") 40 | public String index2(@PathVariable String formName) { 41 | String blank = "/employee/list"; 42 | return blank; 43 | } 44 | 45 | @RequestMapping(value = "/employee/list", method = RequestMethod.GET) 46 | public String index(Model model, String content,int pageNum,int pageSize) { 47 | PageInfo pageInfo = employeeService.getEmployee(content,pageNum, pageSize); 48 | model.addAttribute("list", pageInfo.getList()); 49 | model.addAttribute("pageInfo", pageInfo); 50 | return "employee/list"; 51 | } 52 | 53 | @RequestMapping(value = "/employee/add", method = RequestMethod.GET) 54 | public String add(Model model, Integer id) { 55 | if (id != null) { 56 | // Employee employee = rainservice.get_EmployeeInfo(id); 57 | Employee employee = employeeService.getEmployee(id); 58 | model.addAttribute("job", employee); 59 | } 60 | Map info = employeeService.getInfo(); 61 | model.addAttribute("job_list", (List) info.get("jobs")); 62 | model.addAttribute("dept_list", (List) info.get("depts")); 63 | return "/employee/add"; 64 | } 65 | 66 | @RequestMapping(value = "/employee/add", method = RequestMethod.POST) 67 | public ModelAndView add(ModelAndView mv, @ModelAttribute Employee job, Integer id) { 68 | if (job.getId() != null) { 69 | employeeService.update(job); 70 | // rainservice.insert_EmployeeInfo(job); 71 | } else { 72 | employeeService.insert(job); 73 | // rainservice.update_EmployeeInfo(job); 74 | } 75 | mv.setViewName("redirect:/employee/list?pageNum=1&pageSize=6"); 76 | return mv; 77 | } 78 | 79 | @RequestMapping(value = "/employee/delete", method = RequestMethod.GET) 80 | public String delete(Integer id) { 81 | if (id != null) { 82 | rainservice.delete_EmployeeInfo(id); 83 | } 84 | return "employee/list"; 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/util/TokenUtils.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.util; 2 | 3 | import org.jose4j.jwk.RsaJsonWebKey; 4 | import org.jose4j.jwk.RsaJwkGenerator; 5 | import org.jose4j.jws.AlgorithmIdentifiers; 6 | import org.jose4j.jws.JsonWebSignature; 7 | import org.jose4j.jwt.JwtClaims; 8 | import org.jose4j.jwt.consumer.InvalidJwtException; 9 | import org.jose4j.jwt.consumer.JwtConsumer; 10 | import org.jose4j.jwt.consumer.JwtConsumerBuilder; 11 | import org.jose4j.lang.JoseException; 12 | 13 | public class TokenUtils { 14 | 15 | private static RsaJsonWebKey rsaJsonWebKey; 16 | 17 | // 生成密钥 18 | static { 19 | try { 20 | rsaJsonWebKey = RsaJwkGenerator.generateJwk(2048); 21 | } catch (JoseException e) { 22 | e.printStackTrace(); 23 | } 24 | } 25 | 26 | /** 27 | * @param issuer 发行者 28 | * @param audience 接收者 29 | * @param exprationTime 接受时间 30 | * @param notBeforeMinutesInThePast 过去有效时间 31 | */ 32 | public static String create(String keyID, String issuer, String audience, String subject, 33 | int exprationTime, int notBeforeMinutesInThePast) throws JoseException { 34 | 35 | // key 36 | rsaJsonWebKey.setKeyId(keyID); 37 | 38 | // 39 | JwtClaims claims = new JwtClaims(); 40 | claims.setIssuer(issuer); 41 | claims.setAudience(audience); 42 | // 过期时间设置为30分钟 43 | claims.setExpirationTimeMinutesInTheFuture(30); 44 | 45 | claims.setGeneratedJwtId(); 46 | claims.setIssuedAtToNow(); 47 | 48 | claims.setSubject(subject); 49 | claims.setNotBeforeMinutesInThePast(notBeforeMinutesInThePast); 50 | 51 | JsonWebSignature jws = new JsonWebSignature(); 52 | jws.setPayload(claims.toJson()); 53 | jws.setKey(rsaJsonWebKey.getPrivateKey()); 54 | jws.setKeyIdHeaderValue(rsaJsonWebKey.getKeyId()); 55 | jws.setAlgorithmHeaderValue(AlgorithmIdentifiers.RSA_USING_SHA256); 56 | 57 | String jwt = jws.getCompactSerialization(); 58 | return jwt; 59 | } 60 | 61 | /** 62 | * 63 | * @param token 64 | * @param issuer 65 | * @param audience 66 | * @param subject 67 | * @return 68 | * @throws InvalidJwtException 69 | */ 70 | public static boolean valid(String token, String issuer, String audience, String subject) 71 | throws InvalidJwtException { 72 | JwtConsumer jwtConsumer = new JwtConsumerBuilder() 73 | .setRequireExpirationTime() // 必须有过期时间 74 | .setMaxFutureValidityInMinutes(60) // but the expiration time can't be too crazy 75 | .setAllowedClockSkewInSeconds( 76 | 30) // allow some leeway in validating time based claims to account for clock skew 77 | .setExpectedIssuer(issuer) // whom the JWT needs to have been issued by 78 | .setExpectedAudience(audience) // to whom the JWT is intended for 79 | .setRequireSubject() 80 | .setRequireNotBefore() 81 | .setExpectedSubject(subject) 82 | .setVerificationKey(rsaJsonWebKey.getKey()) // verify the signature with the public key 83 | .build(); // create the JwtConsumer instance 84 | JwtClaims jwtClaims = jwtConsumer.processToClaims(token); 85 | return true; 86 | 87 | } 88 | 89 | 90 | 91 | public static void main(String[] args) { 92 | String s = null; 93 | try { 94 | s = create("123", "jgm", "mgj", "iloveu", 20, 20); 95 | } catch (JoseException e) { 96 | e.printStackTrace(); 97 | } 98 | System.out.println(s); 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/laypage/laypage.js: -------------------------------------------------------------------------------- 1 | /*! layPage-v1.3.0 分页组件 License MIT http://laypage.layui.com/ By 贤心 */ 2 | ;!function(){"use strict";function a(d){var e="laypagecss";a.dir="dir"in a?a.dir:f.getpath+"/skin/laypage.css",new f(d),a.dir&&!b[c](e)&&f.use(a.dir,e)}a.v="1.3";var b=document,c="getElementById",d="getElementsByTagName",e=0,f=function(a){var b=this,c=b.config=a||{};c.item=e++,b.render(!0)};f.on=function(a,b,c){return a.attachEvent?a.attachEvent("on"+b,function(){c.call(a,window.even)}):a.addEventListener(b,c,!1),f},f.getpath=function(){var a=document.scripts,b=a[a.length-1].src;return b.substring(0,b.lastIndexOf("/")+1)}(),f.use=function(c,e){var f=b.createElement("link");f.type="text/css",f.rel="stylesheet",f.href=a.dir,e&&(f.id=e),b[d]("head")[0].appendChild(f),f=null},f.prototype.type=function(){var a=this.config;return"object"==typeof a.cont?void 0===a.cont.length?2:3:void 0},f.prototype.view=function(){var b=this,c=b.config,d=[],e={};if(c.pages=0|c.pages,c.curr=0|c.curr||1,c.groups="groups"in c?0|c.groups:5,c.first="first"in c?c.first:"首页",c.last="last"in c?c.last:"尾页",c.prev="prev"in c?c.prev:"上一页",c.next="next"in c?c.next:"下一页",c.pages<=1)return"";for(c.groups>c.pages&&(c.groups=c.pages),e.index=Math.ceil((c.curr+(c.groups>1&&c.groups!==c.pages?1:0))/(0===c.groups?1:c.groups)),c.curr>1&&c.prev&&d.push(''+c.prev+""),e.index>1&&c.first&&0!==c.groups&&d.push(''+c.first+""),e.poor=Math.floor((c.groups-1)/2),e.start=e.index>1?c.curr-e.poor:1,e.end=e.index>1?function(){var a=c.curr+(c.groups-e.poor-1);return a>c.pages?c.pages:a}():c.groups,e.end-e.start"+e.start+""):d.push(''+e.start+"");return c.pages>c.groups&&e.end'+c.last+""),e.flow=!c.prev&&0===c.groups,(c.curr!==c.pages&&c.next||e.flow)&&d.push(function(){return e.flow&&c.curr===c.pages?''+c.next+"":''+c.next+""}()),'
    '+d.join("")+function(){return c.skip?'':""}()+"
    "},f.prototype.jump=function(a){if(a){for(var b=this,c=b.config,e=a.children,g=a[d]("button")[0],h=a[d]("input")[0],i=0,j=e.length;j>i;i++)"a"===e[i].nodeName.toLowerCase()&&f.on(e[i],"click",function(){var a=0|this.getAttribute("data-page");c.curr=a,b.render()});g&&f.on(g,"click",function(){var a=0|h.value.replace(/\s|\D/g,"");a&&a<=c.pages&&(c.curr=a,b.render())})}},f.prototype.render=function(a){var d=this,e=d.config,f=d.type(),g=d.view();2===f?e.cont.innerHTML=g:3===f?e.cont.html(g):b[c](e.cont).innerHTML=g,e.jump&&e.jump(e,a),d.jump(b[c]("laypage_"+e.item)),e.hash&&!a&&(location.hash="!"+e.hash+"="+e.curr)},"function"==typeof define?define(function(){return a}):"undefined"!=typeof exports?module.exports=a:window.laypage=a}(); -------------------------------------------------------------------------------- /src/main/webapp/public/lib/layui/lay/modules/carousel.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.2.6 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var i=layui.$,n=(layui.hint(),layui.device(),{config:{},set:function(e){var n=this;return n.config=i.extend({},n.config,e),n},on:function(e,i){return layui.onevent.call(this,t,e,i)}}),t="carousel",a="layui-this",l=">*[carousel-item]>*",o="layui-carousel-left",r="layui-carousel-right",d="layui-carousel-prev",s="layui-carousel-next",u="layui-carousel-arrow",c="layui-carousel-ind",m=function(e){var t=this;t.config=i.extend({},t.config,n.config,e),t.render()};m.prototype.config={width:"600px",height:"280px",full:!1,arrow:"hover",indicator:"inside",autoplay:!0,interval:3e3,anim:"",trigger:"click",index:0},m.prototype.render=function(){var e=this,n=e.config;n.elem=i(n.elem),n.elem[0]&&(e.elemItem=n.elem.find(l),n.index<0&&(n.index=0),n.index>=e.elemItem.length&&(n.index=e.elemItem.length-1),n.interval<800&&(n.interval=800),n.full?n.elem.css({position:"fixed",width:"100%",height:"100%",zIndex:9999}):n.elem.css({width:n.width,height:n.height}),n.elem.attr("lay-anim",n.anim),e.elemItem.eq(n.index).addClass(a),e.elemItem.length<=1||(e.indicator(),e.arrow(),e.autoplay(),e.events()))},m.prototype.reload=function(e){var n=this;clearInterval(n.timer),n.config=i.extend({},n.config,e),n.render()},m.prototype.prevIndex=function(){var e=this,i=e.config,n=i.index-1;return n<0&&(n=e.elemItem.length-1),n},m.prototype.nextIndex=function(){var e=this,i=e.config,n=i.index+1;return n>=e.elemItem.length&&(n=0),n},m.prototype.addIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index+e,n.index>=i.elemItem.length&&(n.index=0)},m.prototype.subIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index-e,n.index<0&&(n.index=i.elemItem.length-1)},m.prototype.autoplay=function(){var e=this,i=e.config;i.autoplay&&(e.timer=setInterval(function(){e.slide()},i.interval))},m.prototype.arrow=function(){var e=this,n=e.config,t=i(['",'"].join(""));n.elem.attr("lay-arrow",n.arrow),n.elem.find("."+u)[0]&&n.elem.find("."+u).remove(),n.elem.append(t),t.on("click",function(){var n=i(this),t=n.attr("lay-type");e.slide(t)})},m.prototype.indicator=function(){var e=this,n=e.config,t=e.elemInd=i(['
      ',function(){var i=[];return layui.each(e.elemItem,function(e){i.push("")}),i.join("")}(),"
    "].join(""));n.elem.attr("lay-indicator",n.indicator),n.elem.find("."+c)[0]&&n.elem.find("."+c).remove(),n.elem.append(t),"updown"===n.anim&&t.css("margin-top",-(t.height()/2)),t.find("li").on("hover"===n.trigger?"mouseover":n.trigger,function(){var t=i(this),a=t.index();a>n.index?e.slide("add",a-n.index):aa.pages&&(a.curr=a.pages),t<0?t=1:t>a.pages&&(t=a.pages),a.prev="prev"in a?a.prev:"上一页",a.next="next"in a?a.next:"下一页";var n=a.pages>t?Math.ceil((a.curr+(t>1?1:0))/(t>0?t:1)):1,i={prev:function(){return a.prev?''+a.prev+"":""}(),page:function(){var e=[];if(a.count<1)return"";n>1&&a.first!==!1&&0!==t&&e.push(''+(a.first||1)+"");var i=Math.floor((t-1)/2),r=n>1?a.curr-i:1,u=n>1?function(){var e=a.curr+(t-i-1);return e>a.pages?a.pages:e}():t;for(u-r2&&e.push('');r<=u;r++)r===a.curr?e.push('"+r+""):e.push(''+r+"");return a.pages>t&&a.pages>u&&a.last!==!1&&(u+1…'),0!==t&&e.push(''+(a.last||a.pages)+"")),e.join("")}(),next:function(){return a.next?''+a.next+"":""}(),count:'共 '+a.count+" 条",limit:function(){var e=['"}(),skip:function(){return['到第','','页',""].join("")}()};return['
    ',function(){var e=[];return layui.each(a.layout,function(a,t){i[t]&&e.push(i[t])}),e.join("")}(),"
    "].join("")},u.prototype.jump=function(e,a){if(e){var t=this,i=t.config,r=e.children,u=e[n]("button")[0],l=e[n]("input")[0],p=e[n]("select")[0],c=function(){var e=0|l.value.replace(/\s|\D/g,"");e&&(i.curr=e,t.render())};if(a)return c();for(var o=0,y=r.length;oi.pages||(i.curr=e,t.render())});p&&s.on(p,"change",function(){var e=this.value;i.curr*e>i.count&&(i.curr=Math.ceil(i.count/e)),i.limit=e,t.render()}),u&&s.on(u,"click",function(){c()})}},u.prototype.skip=function(e){if(e){var a=this,t=e[n]("input")[0];t&&s.on(t,"keyup",function(t){var n=this.value,i=t.keyCode;/^(37|38|39|40)$/.test(i)||(/\D/.test(n)&&(this.value=n.replace(/\D/,"")),13===i&&a.jump(e,!0))})}},u.prototype.render=function(e){var n=this,i=n.config,r=n.type(),u=n.view();2===r?i.elem&&(i.elem.innerHTML=u):3===r?i.elem.html(u):a[t](i.elem)&&(a[t](i.elem).innerHTML=u),i.jump&&i.jump(i,e);var s=a[t]("layui-laypage-"+i.index);n.jump(s),i.hash&&!e&&(location.hash="!"+i.hash+"="+i.curr),n.skip(s)};var s={render:function(e){var a=new u(e);return a.index},index:layui.laypage?layui.laypage.index+1e4:0,on:function(e,a,t){return e.attachEvent?e.attachEvent("on"+a,function(a){a.target=a.srcElement,t.call(e,a)}):e.addEventListener(a,t,!1),this}};e(i,s)}); -------------------------------------------------------------------------------- /src/main/java/cn/pzhu/pserson/dao/provider/EmployeeDynaSqlProvider.java: -------------------------------------------------------------------------------- 1 | package cn.pzhu.pserson.dao.provider; 2 | 3 | 4 | import static cn.pzhu.pserson.util.Constants.EMPLOYEETABLE; 5 | 6 | import cn.pzhu.pserson.domain.Employee; 7 | import org.apache.ibatis.jdbc.SQL; 8 | 9 | public class EmployeeDynaSqlProvider { 10 | // 动态插入 11 | public String insert_Employee(Employee job){ 12 | 13 | return new SQL(){ 14 | { 15 | INSERT_INTO(EMPLOYEETABLE); 16 | if(job.getName() != null ){ 17 | VALUES("name", "#{name}"); 18 | } 19 | if(job.getCardId()!=null){ 20 | VALUES("card_id","#{card_id}"); 21 | } 22 | if(job.getAddress()!=null){ 23 | VALUES("address","#{address}"); 24 | } 25 | // if(job.getPostCode()!=null){ 26 | // VALUES("post_code","#{post_code}"); 27 | // } 28 | // if(job.getTel()!=null){ 29 | // VALUES("tel","#{tel}"); 30 | // } 31 | if(job.getPhone()!=null){ 32 | VALUES("phone","#{phone}"); 33 | } 34 | // if(job.getQqNum()!=null){ 35 | // VALUES("qq_nul","#{qq_num}"); 36 | // } 37 | if(job.getEmail()!=null){ 38 | VALUES("email","#{email}"); 39 | } 40 | if(job.getSex()!=null){ 41 | VALUES("sex","#{sex}"); 42 | } 43 | // if(job.getParty()!=null){ 44 | // VALUES("party","#{party}"); 45 | // } 46 | // if(job.getBirthday()!=null){ 47 | // VALUES("birthday","#{birthday}"); 48 | // } 49 | // if(job.getRace()!=null){ 50 | // VALUES("race","#{race}"); 51 | // } 52 | if(job.getEducation()!=null){ 53 | VALUES("education","#{education}"); 54 | } 55 | // if(job.getSpeciality()!=null){ 56 | // VALUES("speciality","#{speciality}"); 57 | // } 58 | // if(job.getHobby()!=null){ 59 | // VALUES("hobby","#{hobby}"); 60 | // } 61 | if(job.getRemark()!=null){ 62 | VALUES("remark","#{remark}"); 63 | } 64 | if(job.getCreateDate()!=null){ 65 | VALUES("createDate","#{createDate}"); 66 | } 67 | if(job.getCreateDate()!=null){ 68 | VALUES("dept_id","#{dept_id}"); 69 | } 70 | if(job.getJobId()!=null){ 71 | VALUES("job_id","#{job_id}"); 72 | } 73 | } 74 | }.toString(); 75 | } 76 | // 动态更新 77 | public String update_Employee(Employee job){ 78 | 79 | return new SQL(){ 80 | { 81 | UPDATE(EMPLOYEETABLE); 82 | if(job.getName() != null ){ 83 | SET("name = #{name}"); 84 | } 85 | if(job.getCardId()!=null){ 86 | SET("card_id = #{card_id}"); 87 | } 88 | if(job.getAddress()!=null){ 89 | SET("address = #{address}"); 90 | } 91 | // if(job.getPostCode()!=null){ 92 | // SET("post_code = #{post_code}"); 93 | // } 94 | // if(job.getTel()!=null){ 95 | // SET("tel = #{tel}"); 96 | // } 97 | if(job.getPhone()!=null){ 98 | SET("phone = #{phone}"); 99 | } 100 | // if(job.getQqNum()!=null){ 101 | // SET("qq_nul = #{qq_num}"); 102 | // } 103 | if(job.getEmail()!=null){ 104 | SET("email = #{email}"); 105 | } 106 | if(job.getSex()!=null){ 107 | SET("sex = #{sex}"); 108 | } 109 | // if(job.getParty()!=null){ 110 | // SET("party = #{party}"); 111 | // } 112 | // if(job.getBirthday()!=null){ 113 | // SET("birthday = #{birthday}"); 114 | // } 115 | // if(job.getRace()!=null){ 116 | // SET("race = #{race}"); 117 | // } 118 | if(job.getEducation()!=null){ 119 | SET("education = #{education}"); 120 | } 121 | // if(job.getSpeciality()!=null){ 122 | // SET("speciality = #{speciality}"); 123 | // } 124 | // if(job.getHobby()!=null){ 125 | // SET("hobby = #{hobby}"); 126 | // } 127 | if(job.getRemark()!=null){ 128 | SET("remark = #{remark}"); 129 | } 130 | if(job.getCreateDate()!=null){ 131 | SET("createDate = #{createDate}"); 132 | } 133 | if(job.getDeptId()!=null){ 134 | SET("dept_id = #{dept_id}"); 135 | } 136 | if(job.getJobId()!=null){ 137 | SET("job_id = #{job_id}"); 138 | } 139 | 140 | WHERE(" id = #{id} "); 141 | } 142 | }.toString(); 143 | } 144 | } 145 | -------------------------------------------------------------------------------- /sql/personnel.sql: -------------------------------------------------------------------------------- 1 | /* 2 | Navicat MySQL Data Transfer 3 | 4 | Source Server : aliyun 5 | Source Server Version : 50641 6 | Source Host : 47.106.248.229:3306 7 | Source Database : personnel 8 | 9 | Target Server Type : MYSQL 10 | Target Server Version : 50641 11 | File Encoding : 65001 12 | 13 | Date: 2019-04-19 17:08:44 14 | */ 15 | 16 | SET FOREIGN_KEY_CHECKS=0; 17 | 18 | -- ---------------------------- 19 | -- Table structure for dept 20 | -- ---------------------------- 21 | DROP TABLE IF EXISTS `dept`; 22 | CREATE TABLE `dept` ( 23 | `id` int(11) NOT NULL AUTO_INCREMENT, 24 | `name` varchar(50) DEFAULT NULL, 25 | `remark` varchar(300) DEFAULT NULL, 26 | PRIMARY KEY (`id`) 27 | ) ENGINE=MyISAM AUTO_INCREMENT=31 DEFAULT CHARSET=utf8; 28 | 29 | -- ---------------------------- 30 | -- Table structure for document 31 | -- ---------------------------- 32 | DROP TABLE IF EXISTS `document`; 33 | CREATE TABLE `document` ( 34 | `id` int(11) NOT NULL AUTO_INCREMENT, 35 | `title` varchar(50) DEFAULT NULL, 36 | `filename` varchar(300) DEFAULT NULL, 37 | `remark` varchar(300) DEFAULT NULL, 38 | `path` varchar(50) DEFAULT NULL, 39 | `create_date` varchar(20) DEFAULT NULL, 40 | `user_id` int(11) DEFAULT NULL, 41 | PRIMARY KEY (`id`) 42 | ) ENGINE=MyISAM AUTO_INCREMENT=24 DEFAULT CHARSET=utf8; 43 | 44 | -- ---------------------------- 45 | -- Table structure for employee 46 | -- ---------------------------- 47 | DROP TABLE IF EXISTS `employee`; 48 | CREATE TABLE `employee` ( 49 | `id` int(11) NOT NULL AUTO_INCREMENT, 50 | `dept_id` int(11) DEFAULT NULL, 51 | `job_id` int(11) DEFAULT NULL, 52 | `name` varchar(20) DEFAULT NULL, 53 | `card_id` varchar(16) DEFAULT NULL, 54 | `cardId` varchar(20) DEFAULT NULL, 55 | `address` varchar(50) DEFAULT NULL, 56 | `phone` varchar(11) DEFAULT NULL, 57 | `email` varchar(50) DEFAULT NULL, 58 | `sex` varchar(11) DEFAULT NULL, 59 | `party` varchar(10) DEFAULT NULL, 60 | `education` varchar(10) DEFAULT NULL, 61 | `remark` varchar(500) DEFAULT NULL, 62 | `createDate` varchar(20) DEFAULT NULL, 63 | PRIMARY KEY (`id`) 64 | ) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8; 65 | 66 | -- ---------------------------- 67 | -- Table structure for job 68 | -- ---------------------------- 69 | DROP TABLE IF EXISTS `job`; 70 | CREATE TABLE `job` ( 71 | `id` int(11) NOT NULL AUTO_INCREMENT, 72 | `dept_id` int(11) DEFAULT NULL COMMENT '部门id', 73 | `name` varchar(50) DEFAULT NULL, 74 | `remark` varchar(300) DEFAULT NULL, 75 | PRIMARY KEY (`id`) 76 | ) ENGINE=MyISAM AUTO_INCREMENT=20 DEFAULT CHARSET=utf8; 77 | 78 | -- ---------------------------- 79 | -- Table structure for notice 80 | -- ---------------------------- 81 | DROP TABLE IF EXISTS `notice`; 82 | CREATE TABLE `notice` ( 83 | `id` int(11) NOT NULL AUTO_INCREMENT, 84 | `title` varchar(50) DEFAULT NULL, 85 | `content` text, 86 | `createDate` char(20) DEFAULT NULL, 87 | `user_id` int(11) DEFAULT NULL, 88 | PRIMARY KEY (`id`) 89 | ) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; 90 | 91 | -- ---------------------------- 92 | -- Table structure for recruit 93 | -- ---------------------------- 94 | DROP TABLE IF EXISTS `recruit`; 95 | CREATE TABLE `recruit` ( 96 | `id` int(11) NOT NULL AUTO_INCREMENT, 97 | `dept_id` int(11) DEFAULT NULL, 98 | `job_id` int(11) DEFAULT NULL, 99 | `person_num` int(11) DEFAULT NULL, 100 | `remark` text CHARACTER SET utf8, 101 | `status` varchar(255) DEFAULT NULL COMMENT '审核状态', 102 | `create_date` datetime DEFAULT NULL, 103 | PRIMARY KEY (`id`) 104 | ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=latin1; 105 | 106 | -- ---------------------------- 107 | -- Table structure for user 108 | -- ---------------------------- 109 | DROP TABLE IF EXISTS `user`; 110 | CREATE TABLE `user` ( 111 | `id` int(11) NOT NULL AUTO_INCREMENT, 112 | `loginname` varchar(20) DEFAULT NULL, 113 | `password` char(32) DEFAULT NULL, 114 | `level` varchar(4) DEFAULT NULL COMMENT '级别', 115 | `createdate` char(50) DEFAULT NULL, 116 | `username` varchar(20) DEFAULT NULL, 117 | PRIMARY KEY (`id`) 118 | ) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; 119 | 120 | 121 | 122 | INSERT INTO `personnel`.`user`(`id`, `loginname`, `password`, `level`, `createdate`, `username`) VALUES (9, 'root', '4a7d1ed414474e4033ac29ccb8653d9b', '0', '19-05-17 02:04:50', '金国民'); 123 | INSERT INTO `personnel`.`user`(`id`, `loginname`, `password`, `level`, `createdate`, `username`) VALUES (10, 'huangjie', '4a7d1ed414474e4033ac29ccb8653d9b', '1', '19-05-17 02:13:13', '黄杰'); 124 | 125 | -------------------------------------------------------------------------------- /src/main/webapp/static/plugins/layer/extend/layer.ext.js: -------------------------------------------------------------------------------- 1 | /*! layer弹层组件拓展类 */ 2 | ;!function(){layer.use("skin/layer.ext.css",function(){layer.layui_layer_extendlayerextjs=!0});var a=layer.cache||{},b=function(b){return a.skin?" "+a.skin+" "+a.skin+"-"+b:""};layer.prompt=function(a,c){a=a||{},"function"==typeof a&&(c=a);var d,e=2==a.formType?'":function(){return''}();return layer.open($.extend({btn:["确定","取消"],content:e,skin:"layui-layer-prompt"+b("prompt"),success:function(a){d=a.find(".layui-layer-input"),d.focus()},yes:function(b){var e=d.val();""===e?d.focus():e.length>(a.maxlength||500)?layer.tips("最多输入"+(a.maxlength||500)+"个字数",d,{tips:1}):c&&c(e,b,d)}},a))},layer.tab=function(a){a=a||{};var c=a.tab||{};return layer.open($.extend({type:1,skin:"layui-layer-tab"+b("tab"),title:function(){var a=c.length,b=1,d="";if(a>0)for(d=''+c[0].title+"";a>b;b++)d+=""+c[b].title+"";return d}(),content:'
      '+function(){var a=c.length,b=1,d="";if(a>0)for(d='
    • '+(c[0].content||"no content")+"
    • ";a>b;b++)d+='
    • '+(c[b].content||"no content")+"
    • ";return d}()+"
    ",success:function(a){var b=a.find(".layui-layer-title").children(),c=a.find(".layui-layer-tabmain").children();b.on("mousedown",function(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0;var b=$(this),d=b.index();b.addClass("layui-layer-tabnow").siblings().removeClass("layui-layer-tabnow"),c.eq(d).show().siblings().hide()})}},a))},layer.photos=function(a,c,d){function e(a,b,c){var d=new Image;d.onload=function(){d.onload=null,b(d)},d.onerror=function(a){d.onerror=null,c(a)},d.src=a}var f={};if(a=a||{},a.photos){var g=a.photos.constructor===Object,h=g?a.photos:{},i=h.data||[],j=h.start||0;if(f.imgIndex=j+1,g){if(0===i.length)return void layer.msg("没有图片")}else{var k=$(a.photos),l=k.find(a.img||"img");if(0===l.length)return;if(c||k.find(h.img||"img").each(function(b){var c=$(this);i.push({alt:c.attr("alt"),pid:c.attr("layer-pid"),src:c.attr("layer-src")||c.attr("src"),thumb:c.attr("src")}),c.on("click",function(){layer.photos($.extend(a,{photos:{start:b,data:i,tab:a.tab},full:a.full}),!0)})}),!c)return}f.imgprev=function(a){f.imgIndex--,f.imgIndex<1&&(f.imgIndex=i.length),f.tabimg(a)},f.imgnext=function(a,b){f.imgIndex++,f.imgIndex>i.length&&(f.imgIndex=1,b)||f.tabimg(a)},f.keyup=function(a){if(!f.end){var b=a.keyCode;a.preventDefault(),37===b?f.imgprev(!0):39===b?f.imgnext(!0):27===b&&layer.close(f.index)}},f.tabimg=function(b){i.length<=1||(h.start=f.imgIndex-1,layer.close(f.index),layer.photos(a,!0,b))},f.event=function(){f.bigimg.hover(function(){f.imgsee.show()},function(){f.imgsee.hide()}),f.bigimg.find(".layui-layer-imgprev").on("click",function(a){a.preventDefault(),f.imgprev()}),f.bigimg.find(".layui-layer-imgnext").on("click",function(a){a.preventDefault(),f.imgnext()}),$(document).on("keyup",f.keyup)},f.loadi=layer.load(1,{shade:"shade"in a?!1:.9,scrollbar:!1}),e(i[j].src,function(c){layer.close(f.loadi),f.index=layer.open($.extend({type:1,area:function(){var b=[c.width,c.height],d=[$(window).width()-100,$(window).height()-100];return!a.full&&b[0]>d[0]&&(b[0]=d[0],b[1]=b[0]*d[1]/b[0]),[b[0]+"px",b[1]+"px"]}(),title:!1,shade:.9,shadeClose:!0,closeBtn:!1,move:".layui-layer-phimg img",moveType:1,scrollbar:!1,moveOut:!0,shift:5*Math.random()|0,skin:"layui-layer-photos"+b("photos"),content:'
    '+(i[j].alt||
    '+(i.length>1?'':"")+'
    '+(i[j].alt||"")+""+f.imgIndex+"/"+i.length+"
    ",success:function(b,c){f.bigimg=b.find(".layui-layer-phimg"),f.imgsee=b.find(".layui-layer-imguide,.layui-layer-imgbar"),f.event(b),a.tab&&a.tab(i[j],b)},end:function(){f.end=!0,$(document).off("keyup",f.keyup)}},a))},function(){layer.close(f.loadi),layer.msg("当前图片地址异常
    是否继续查看下一张?",{time:3e4,btn:["下一张","不看了"],yes:function(){i.length>1&&f.imgnext(!0,!0)}})})}}}(); -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/page/job/add.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | 8 | 欢迎页面-X-admin2.0 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 23 | 24 | 25 | 26 |
    27 |
    28 | 29 |
    30 | 33 |
    34 | 36 |
    37 | 38 |
    39 |
    40 | 43 |
    44 | 46 |
    47 | 48 |
    49 |
    50 | 52 | 53 | 54 |
    55 |
    56 |
    57 | 111 | 112 | 113 | 114 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/page/notice/add.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | 8 | 欢迎页面-X-admin2.0 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 23 | 24 | 25 | 26 |
    27 |
    28 | 29 |
    30 | 33 |
    34 | 36 |
    37 | 38 |
    39 | 40 |
    41 | 44 |
    45 | 46 |
    47 |
    48 |
    49 | 51 | 52 | 53 |
    54 |
    55 |
    56 | 109 | 110 | 111 | 112 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/page/dept/add.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | pageEncoding="UTF-8"%> 3 | 4 | 5 | 6 | 7 | 8 | 欢迎页面-X-admin2.0 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 23 | 24 | 25 | 26 |
    27 |
    28 | 29 |
    30 | 33 |
    34 | 36 |
    37 | 38 |
    39 |
    40 | 43 |
    44 | 46 |
    47 | 48 |
    49 |
    50 | 52 | 53 | 54 |
    55 |
    56 |
    57 | 112 | 113 | 114 | 115 | --------------------------------------------------------------------------------