├── .gitignore ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── baoge │ │ ├── PartTimeJobApplication.java │ │ ├── controller │ │ ├── ApplicationController.java │ │ ├── DashboardController.java │ │ ├── IndexController.java │ │ ├── JobController.java │ │ ├── MyErrorController.java │ │ ├── NewsController.java │ │ └── admin │ │ │ ├── CardImageController.java │ │ │ ├── LogInfoController.java │ │ │ ├── MenuController.java │ │ │ ├── RoleController.java │ │ │ ├── SystemController.java │ │ │ └── UserController.java │ │ ├── dao │ │ ├── ApplicationDao.java │ │ ├── CardImageDao.java │ │ ├── JobDao.java │ │ ├── LogInfoDao.java │ │ ├── MenuDao.java │ │ ├── NewsDao.java │ │ ├── ResumeDao.java │ │ ├── RoleDao.java │ │ ├── UserDao.java │ │ └── UserPositionDao.java │ │ ├── entity │ │ ├── CardImage.java │ │ ├── Job.java │ │ ├── LogInfo.java │ │ ├── Menu.java │ │ ├── News.java │ │ ├── Resume.java │ │ ├── Role.java │ │ ├── User.java │ │ └── UserPosition.java │ │ ├── interceptor │ │ ├── AdminLoginInterceptor.java │ │ ├── LoginInterceptor.java │ │ ├── MyWebMvcConfig.java │ │ └── WebMvcConfig.java │ │ ├── queryvo │ │ ├── Application.java │ │ ├── ApplicationAndResume.java │ │ └── CardImageVo.java │ │ ├── service │ │ ├── ApplicationService.java │ │ ├── CardImageService.java │ │ ├── DashboardService.java │ │ ├── JobService.java │ │ ├── LogInfoService.java │ │ ├── MenuService.java │ │ ├── NewsService.java │ │ ├── ResumeService.java │ │ ├── RoleService.java │ │ ├── UserService.java │ │ └── impl │ │ │ ├── ApplicationServiceImpl.java │ │ │ ├── CardImageServiceImpl.java │ │ │ ├── DashboardServiceImpl.java │ │ │ ├── JobserviceImpl.java │ │ │ ├── LogInfoServiceImpl.java │ │ │ ├── MenuServiceImpl.java │ │ │ ├── NewsServiceImpl.java │ │ │ ├── ResumeServiceImpl.java │ │ │ ├── RoleServiceImpl.java │ │ │ └── UserServiceImpl.java │ │ └── utils │ │ ├── MD5Utils.java │ │ ├── MenuTree.java │ │ ├── MsgResult.java │ │ ├── NetworkUtil.java │ │ ├── TimeUtils.java │ │ └── UserUtils.java └── resources │ ├── application.yml │ ├── mybatis │ └── mapper │ │ ├── ApplicationDao.xml │ │ ├── CardImageDao.xml │ │ ├── JobDao.xml │ │ ├── LogInfoDao.xml │ │ ├── MenuDao.xml │ │ ├── NewsDao.xml │ │ ├── ResumeDao.xml │ │ ├── RoleDao.xml │ │ ├── UserDao.xml │ │ └── UserPositionDao.xml │ ├── static │ ├── css │ │ ├── bootstrap.min.css │ │ └── oneself │ │ │ ├── abouts.css │ │ │ ├── index.css │ │ │ ├── media.css │ │ │ ├── navigationbar.css │ │ │ ├── news.css │ │ │ ├── personal.css │ │ │ ├── pijob.css │ │ │ ├── ptjob.css │ │ │ └── start.css │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ ├── images │ │ ├── about.jpg │ │ ├── dibubg_you.png │ │ ├── dibubg_zuo.png │ │ ├── logo1.png │ │ ├── lunbo1.png │ │ ├── lunbo3.png │ │ ├── lunbo4.png │ │ ├── map.png │ │ └── wechat1.png │ ├── js │ │ ├── bootstrap.min.js │ │ ├── dialog │ │ │ └── css │ │ │ │ └── zdialog.css │ │ ├── html5.min.js │ │ ├── jquery-1.12.2.js │ │ ├── respond.min.js │ │ └── template-native.js │ ├── layui │ │ ├── css │ │ │ ├── layuimini.css │ │ │ ├── public.css │ │ │ └── themes │ │ │ │ └── default.css │ │ ├── images │ │ │ ├── logo.png │ │ │ └── logo2.png │ │ ├── js │ │ │ ├── html5.min.js │ │ │ ├── lay-config.js │ │ │ ├── lay-module │ │ │ │ ├── echarts │ │ │ │ │ ├── echarts.js │ │ │ │ │ └── echartsTheme.js │ │ │ │ ├── iconPicker │ │ │ │ │ └── iconPickerFa.js │ │ │ │ ├── layarea │ │ │ │ │ └── layarea.js │ │ │ │ ├── layuimini │ │ │ │ │ ├── miniAdmin.js │ │ │ │ │ ├── miniMenu.js │ │ │ │ │ ├── miniTab.js │ │ │ │ │ ├── miniTheme.js │ │ │ │ │ └── miniTongji.js │ │ │ │ ├── step-lay │ │ │ │ │ ├── step.css │ │ │ │ │ └── step.js │ │ │ │ ├── tableSelect │ │ │ │ │ └── tableSelect.js │ │ │ │ ├── treeTable-lay │ │ │ │ │ ├── treeTable.css │ │ │ │ │ └── treeTable.js │ │ │ │ └── wangEditor │ │ │ │ │ ├── fonts │ │ │ │ │ └── w-e-icon.woff │ │ │ │ │ ├── wangEditor.css │ │ │ │ │ ├── wangEditor.js │ │ │ │ │ ├── wangEditor.min.css │ │ │ │ │ ├── wangEditor.min.js │ │ │ │ │ └── wangEditor.min.js.map │ │ │ └── respond.min.js │ │ ├── json │ │ │ ├── clear.json │ │ │ ├── init.json │ │ │ ├── init1.json │ │ │ ├── init2.json │ │ │ ├── menus.json │ │ │ └── table.json │ │ └── lib │ │ │ ├── font-awesome-4.7.0 │ │ │ ├── HELP-US-OUT.txt │ │ │ ├── css │ │ │ │ ├── font-awesome.css │ │ │ │ └── font-awesome.min.css │ │ │ ├── fonts │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ ├── less │ │ │ │ ├── animated.less │ │ │ │ ├── bordered-pulled.less │ │ │ │ ├── core.less │ │ │ │ ├── fixed-width.less │ │ │ │ ├── font-awesome.less │ │ │ │ ├── icons.less │ │ │ │ ├── larger.less │ │ │ │ ├── list.less │ │ │ │ ├── mixins.less │ │ │ │ ├── path.less │ │ │ │ ├── rotated-flipped.less │ │ │ │ ├── screen-reader.less │ │ │ │ ├── stacked.less │ │ │ │ └── variables.less │ │ │ └── scss │ │ │ │ ├── _animated.scss │ │ │ │ ├── _bordered-pulled.scss │ │ │ │ ├── _core.scss │ │ │ │ ├── _fixed-width.scss │ │ │ │ ├── _icons.scss │ │ │ │ ├── _larger.scss │ │ │ │ ├── _list.scss │ │ │ │ ├── _mixins.scss │ │ │ │ ├── _path.scss │ │ │ │ ├── _rotated-flipped.scss │ │ │ │ ├── _screen-reader.scss │ │ │ │ ├── _stacked.scss │ │ │ │ ├── _variables.scss │ │ │ │ └── font-awesome.scss │ │ │ ├── jq-module │ │ │ ├── jquery.particleground.min.js │ │ │ ├── paigusu.min.js │ │ │ └── zyupload │ │ │ │ ├── zyupload-1.0.0.min.css │ │ │ │ └── zyupload-1.0.0.min.js │ │ │ ├── jquery-3.4.1 │ │ │ └── jquery-3.4.1.min.js │ │ │ └── layui-v2.5.5 │ │ │ ├── css │ │ │ ├── layui.css │ │ │ ├── layui.mobile.css │ │ │ └── modules │ │ │ │ ├── code.css │ │ │ │ ├── laydate │ │ │ │ └── default │ │ │ │ │ └── laydate.css │ │ │ │ └── layer │ │ │ │ └── default │ │ │ │ ├── icon-ext.png │ │ │ │ ├── icon.png │ │ │ │ ├── layer.css │ │ │ │ ├── loading-0.gif │ │ │ │ ├── loading-1.gif │ │ │ │ └── loading-2.gif │ │ │ ├── font │ │ │ ├── iconfont.eot │ │ │ ├── iconfont.svg │ │ │ ├── iconfont.ttf │ │ │ ├── iconfont.woff │ │ │ └── iconfont.woff2 │ │ │ ├── images │ │ │ └── face │ │ │ │ ├── 0.gif │ │ │ │ ├── 1.gif │ │ │ │ ├── 10.gif │ │ │ │ ├── 11.gif │ │ │ │ ├── 12.gif │ │ │ │ ├── 13.gif │ │ │ │ ├── 14.gif │ │ │ │ ├── 15.gif │ │ │ │ ├── 16.gif │ │ │ │ ├── 17.gif │ │ │ │ ├── 18.gif │ │ │ │ ├── 19.gif │ │ │ │ ├── 2.gif │ │ │ │ ├── 20.gif │ │ │ │ ├── 21.gif │ │ │ │ ├── 22.gif │ │ │ │ ├── 23.gif │ │ │ │ ├── 24.gif │ │ │ │ ├── 25.gif │ │ │ │ ├── 26.gif │ │ │ │ ├── 27.gif │ │ │ │ ├── 28.gif │ │ │ │ ├── 29.gif │ │ │ │ ├── 3.gif │ │ │ │ ├── 30.gif │ │ │ │ ├── 31.gif │ │ │ │ ├── 32.gif │ │ │ │ ├── 33.gif │ │ │ │ ├── 34.gif │ │ │ │ ├── 35.gif │ │ │ │ ├── 36.gif │ │ │ │ ├── 37.gif │ │ │ │ ├── 38.gif │ │ │ │ ├── 39.gif │ │ │ │ ├── 4.gif │ │ │ │ ├── 40.gif │ │ │ │ ├── 41.gif │ │ │ │ ├── 42.gif │ │ │ │ ├── 43.gif │ │ │ │ ├── 44.gif │ │ │ │ ├── 45.gif │ │ │ │ ├── 46.gif │ │ │ │ ├── 47.gif │ │ │ │ ├── 48.gif │ │ │ │ ├── 49.gif │ │ │ │ ├── 5.gif │ │ │ │ ├── 50.gif │ │ │ │ ├── 51.gif │ │ │ │ ├── 52.gif │ │ │ │ ├── 53.gif │ │ │ │ ├── 54.gif │ │ │ │ ├── 55.gif │ │ │ │ ├── 56.gif │ │ │ │ ├── 57.gif │ │ │ │ ├── 58.gif │ │ │ │ ├── 59.gif │ │ │ │ ├── 6.gif │ │ │ │ ├── 60.gif │ │ │ │ ├── 61.gif │ │ │ │ ├── 62.gif │ │ │ │ ├── 63.gif │ │ │ │ ├── 64.gif │ │ │ │ ├── 65.gif │ │ │ │ ├── 66.gif │ │ │ │ ├── 67.gif │ │ │ │ ├── 68.gif │ │ │ │ ├── 69.gif │ │ │ │ ├── 7.gif │ │ │ │ ├── 70.gif │ │ │ │ ├── 71.gif │ │ │ │ ├── 8.gif │ │ │ │ └── 9.gif │ │ │ ├── lay │ │ │ └── modules │ │ │ │ ├── carousel.js │ │ │ │ ├── code.js │ │ │ │ ├── colorpicker.js │ │ │ │ ├── element.js │ │ │ │ ├── flow.js │ │ │ │ ├── form.js │ │ │ │ ├── jquery.js │ │ │ │ ├── laydate.js │ │ │ │ ├── layedit.js │ │ │ │ ├── layer.js │ │ │ │ ├── laypage.js │ │ │ │ ├── laytpl.js │ │ │ │ ├── mobile.js │ │ │ │ ├── rate.js │ │ │ │ ├── slider.js │ │ │ │ ├── table.js │ │ │ │ ├── transfer.js │ │ │ │ ├── tree.js │ │ │ │ ├── upload.js │ │ │ │ └── util.js │ │ │ ├── layui.all.js │ │ │ └── layui.js │ └── layui_ext │ │ ├── dist │ │ └── dtree.js │ │ └── dtree │ │ ├── dtree.css │ │ ├── dtree.js │ │ └── font │ │ ├── dtreefont.css │ │ ├── dtreefont.eot │ │ ├── dtreefont.svg │ │ ├── dtreefont.ttf │ │ ├── dtreefont.woff │ │ └── icons.json │ └── templates │ ├── admin │ ├── JobManager.html │ ├── NewsManager.html │ ├── addMenu.html │ ├── addNews.html │ ├── addRole.html │ ├── addUser.html │ ├── editMenu.html │ ├── editNews.html │ ├── editRole.html │ ├── editUser.html │ ├── index.html │ ├── logInfoManager.html │ ├── login.html │ ├── menuManager.html │ ├── profile.html │ ├── roleManager.html │ ├── setMenus.html │ ├── userIdCardManager.html │ ├── userManager.html │ └── welcome.html │ ├── error │ ├── 404.html │ └── 500.html │ └── front │ ├── abouts.html │ ├── addCardImages.html │ ├── addStoreCardImages.html │ ├── addresume.html │ ├── allApplication.html │ ├── allJob.html │ ├── checkStudentResume.html │ ├── checkingApplication.html │ ├── checkingJob.html │ ├── editCardImages.html │ ├── editJob.html │ ├── editStoreCardImages.html │ ├── editUserinfo.html │ ├── editpassword.html │ ├── editresume.html │ ├── index.html │ ├── login.html │ ├── news.html │ ├── nopassApplication.html │ ├── nopassJob.html │ ├── passApplication.html │ ├── passJob.html │ ├── personal.html │ ├── pijob.html │ ├── ptjob.html │ ├── register.html │ ├── releaseJob.html │ └── showResume.html └── test └── java └── com └── baoge └── PartTimeJobApplicationTests.java /.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.springframework.boot 7 | spring-boot-starter-parent 8 | 2.3.4.RELEASE 9 | 10 | 11 | com.baoge 12 | part_time_job 13 | 0.0.1-SNAPSHOT 14 | part_time_job 15 | Demo project for Spring Boot 16 | 17 | 18 | 1.8 19 | 20 | 21 | 22 | org.apache.commons 23 | commons-lang3 24 | 3.4 25 | 26 | 27 | 28 | com.github.pagehelper 29 | pagehelper-spring-boot-starter 30 | 1.2.12 31 | 32 | 33 | cn.hutool 34 | hutool-all 35 | 5.3.10 36 | 37 | 38 | org.springframework.boot 39 | spring-boot-starter-thymeleaf 40 | 41 | 42 | org.springframework.boot 43 | spring-boot-starter-web 44 | 45 | 46 | org.mybatis.spring.boot 47 | mybatis-spring-boot-starter 48 | 2.1.3 49 | 50 | 51 | 52 | org.springframework.boot 53 | spring-boot-devtools 54 | runtime 55 | true 56 | 57 | 58 | mysql 59 | mysql-connector-java 60 | runtime 61 | 62 | 63 | org.projectlombok 64 | lombok 65 | true 66 | 67 | 68 | org.springframework.boot 69 | spring-boot-starter-test 70 | test 71 | 72 | 73 | org.junit.vintage 74 | junit-vintage-engine 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | org.springframework.boot 84 | spring-boot-maven-plugin 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/PartTimeJobApplication.java: -------------------------------------------------------------------------------- 1 | package com.baoge; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class PartTimeJobApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(PartTimeJobApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/controller/ApplicationController.java: -------------------------------------------------------------------------------- 1 | package com.baoge.controller; 2 | 3 | import com.baoge.entity.CardImage; 4 | import com.baoge.entity.User; 5 | import com.baoge.queryvo.Application; 6 | import com.baoge.service.ApplicationService; 7 | import com.baoge.service.CardImageService; 8 | import com.baoge.utils.MsgResult; 9 | import com.baoge.utils.UserUtils; 10 | import org.springframework.beans.factory.annotation.Autowired; 11 | import org.springframework.stereotype.Controller; 12 | import org.springframework.web.bind.annotation.PathVariable; 13 | import org.springframework.web.bind.annotation.PostMapping; 14 | import org.springframework.web.bind.annotation.RequestMapping; 15 | import org.springframework.web.bind.annotation.ResponseBody; 16 | 17 | import javax.servlet.http.HttpSession; 18 | 19 | @Controller 20 | @RequestMapping("/application") 21 | public class ApplicationController { 22 | @Autowired 23 | ApplicationService applicationService; 24 | @Autowired 25 | CardImageService cardImageService; 26 | @PostMapping("/applyPosition") 27 | @ResponseBody 28 | public MsgResult applyPosition(Application application, HttpSession session) { 29 | User frontUser = UserUtils.getSubjectFontUser(session); 30 | CardImage cardImage = cardImageService.getCardImageByUserid(frontUser.getId()); 31 | int status= cardImage.getStatus(); 32 | if(status==0){ 33 | application.setUserId(frontUser.getId()); 34 | Integer RetNum = applicationService.checkByUerIdAndJobIdAndRecruiterId(application.getUserId(), application.getJobId(), application.getRecruiterId()); 35 | if (RetNum >0) { 36 | return MsgResult.build(2, "已经投递过,请前往个人中心查看"); 37 | }else { 38 | Integer num= applicationService.addApplication(application); 39 | return MsgResult.build(0, "投递成功"); 40 | } 41 | }else if (status==1){ 42 | 43 | return MsgResult.build(1, "请等待管理员审核通过"); 44 | 45 | }else { 46 | return MsgResult.build(1, "你的学生认证未通过,请到个人中心重新提交!"); 47 | } 48 | } 49 | @PostMapping("/deletePosition/{id}") 50 | @ResponseBody 51 | public MsgResult deletePosition(@PathVariable int id,int status) { 52 | if (status==1) { 53 | Integer RetNum = applicationService.deletePositionById(id); 54 | return MsgResult.build(0, "取消成功"); 55 | }else if (status==0){ 56 | return MsgResult.build(1, "申请成功,无法取消"); 57 | }else { 58 | return MsgResult.build(1, "已经拒绝,无法取消"); 59 | } 60 | } 61 | 62 | 63 | } 64 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/controller/MyErrorController.java: -------------------------------------------------------------------------------- 1 | package com.baoge.controller; 2 | 3 | import org.springframework.boot.web.servlet.error.ErrorController; 4 | import org.springframework.stereotype.Controller; 5 | import org.springframework.web.bind.annotation.RequestMapping; 6 | 7 | import javax.servlet.http.HttpServletRequest; 8 | 9 | @Controller 10 | public class MyErrorController implements ErrorController { 11 | 12 | @RequestMapping("/error") 13 | public String handleError(HttpServletRequest request){ 14 | //获取statusCode:401,404,500 15 | Integer statusCode = (Integer) request.getAttribute("javax.servlet.error.status_code"); 16 | if(statusCode == 404){ 17 | return "error/404"; 18 | }else{ 19 | return "error/500"; 20 | } 21 | 22 | } 23 | @Override 24 | public String getErrorPath() { 25 | return "error"; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/controller/admin/CardImageController.java: -------------------------------------------------------------------------------- 1 | package com.baoge.controller.admin; 2 | 3 | import com.baoge.queryvo.CardImageVo; 4 | import com.baoge.service.CardImageService; 5 | import com.baoge.utils.MsgResult; 6 | import com.github.pagehelper.PageHelper; 7 | import com.github.pagehelper.PageInfo; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.stereotype.Controller; 10 | import org.springframework.web.bind.annotation.RequestMapping; 11 | import org.springframework.web.bind.annotation.RequestParam; 12 | import org.springframework.web.bind.annotation.ResponseBody; 13 | 14 | import java.util.List; 15 | 16 | @Controller 17 | @RequestMapping("/admin/userIdCard") 18 | public class CardImageController { 19 | @Autowired 20 | CardImageService cardImageService; 21 | 22 | @RequestMapping("/toUserIdCardManager") 23 | public String toUserIdCardManager() { 24 | return "admin/userIdCardManager"; 25 | } 26 | 27 | @RequestMapping("/listUserIdCardAct") 28 | @ResponseBody 29 | public MsgResult listUserIdCardAct(int page, int limit) { 30 | PageHelper.startPage(page, limit); 31 | List UserIdCards = cardImageService.listUserIdCard(); 32 | PageInfo info = new PageInfo<>(UserIdCards); 33 | return new MsgResult(0, "", UserIdCards, info.getTotal()); 34 | } 35 | 36 | @RequestMapping("/statusSucessAct") 37 | @ResponseBody 38 | public MsgResult statusSucessAct(@RequestParam("id") Integer id, @RequestParam("status") Integer status) { 39 | if (status == 0) { 40 | return MsgResult.build(0, "已经通过审核了!"); 41 | } else { 42 | Integer i = cardImageService.setStatus(id, 0); 43 | return MsgResult.build(1, "通过审核"); 44 | } 45 | } 46 | 47 | @RequestMapping("/statusfailAct") 48 | @ResponseBody 49 | public MsgResult statusfailAct(@RequestParam("id") Integer id, @RequestParam("status") Integer status) { 50 | if (status == 2) { 51 | return MsgResult.build(0, "已经没有通过审核!"); 52 | } else { 53 | Integer i = cardImageService.setStatus(id, 2); 54 | return MsgResult.build(1, "审核不通过"); 55 | } 56 | } 57 | 58 | @RequestMapping("/searchUserIdCard") 59 | @ResponseBody 60 | public MsgResult searchUserIdCard(@RequestParam(name = "name") String name, @RequestParam(name = "roleId") Integer roleId, @RequestParam(name = "status") Integer status, int page, int limit) { 61 | PageHelper.startPage(page, limit); 62 | List UserIdCards = cardImageService.searchUserIdCard(name, roleId, status); 63 | PageInfo info = new PageInfo<>(UserIdCards); 64 | return new MsgResult(0, "", UserIdCards, info.getTotal()); 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/controller/admin/LogInfoController.java: -------------------------------------------------------------------------------- 1 | package com.baoge.controller.admin; 2 | 3 | import com.baoge.entity.LogInfo; 4 | import com.baoge.service.LogInfoService; 5 | import com.baoge.utils.MsgResult; 6 | import com.github.pagehelper.PageHelper; 7 | import com.github.pagehelper.PageInfo; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.stereotype.Controller; 10 | import org.springframework.web.bind.annotation.*; 11 | 12 | import java.util.List; 13 | 14 | @Controller 15 | @RequestMapping("/admin/logInfo") 16 | public class LogInfoController { 17 | 18 | @Autowired 19 | LogInfoService logInfoService; 20 | 21 | @RequestMapping("/toLogInfoManager") 22 | public String toLogInfoManager(){ 23 | 24 | return "admin/logInfoManager"; 25 | } 26 | 27 | @RequestMapping("/listLogInfoAct") 28 | @ResponseBody 29 | public MsgResult listLogInfoAct(int page, int limit){ 30 | PageHelper.startPage(page, limit); 31 | List logInfos=logInfoService.listLogInfo(); 32 | PageInfo info = new PageInfo<>(logInfos); 33 | return new MsgResult(0,"",logInfos, info.getTotal()); 34 | } 35 | 36 | @RequestMapping("/searchLogInfo") 37 | @ResponseBody 38 | public MsgResult searchLogInfo(@RequestParam(name = "loginName") String loginName, 39 | @RequestParam(name = "loginStatus") String loginStatus, 40 | @RequestParam(name = "start_time") String start_time, 41 | @RequestParam(name = "end_time")String end_time, int page, int limit){ 42 | 43 | 44 | PageHelper.startPage(page, limit); 45 | List logInfos = logInfoService.searchLogInfo(loginName,loginStatus,start_time,end_time); 46 | PageInfo info = new PageInfo<>(logInfos); 47 | return new MsgResult(0, "", logInfos, info.getTotal()); 48 | 49 | } 50 | @RequestMapping(value = "/deleteLogInfosAct/{ids}",method = RequestMethod.POST) 51 | @ResponseBody 52 | public MsgResult deleteLogInfosAct(@PathVariable("ids") String ids){ 53 | 54 | int retNum = logInfoService.deleteLogInfos(ids); 55 | if (retNum > 0) { 56 | return MsgResult.build(1, "删除成功"); 57 | } else { 58 | return MsgResult.build(0, "删除失败,请重新操作"); 59 | } 60 | } 61 | 62 | } 63 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/controller/admin/MenuController.java: -------------------------------------------------------------------------------- 1 | package com.baoge.controller.admin; 2 | 3 | import com.baoge.entity.Menu; 4 | import com.baoge.entity.User; 5 | import com.baoge.service.MenuService; 6 | import com.baoge.utils.MenuTree; 7 | import com.baoge.utils.MsgResult; 8 | import com.baoge.utils.UserUtils; 9 | import org.springframework.beans.factory.annotation.Autowired; 10 | import org.springframework.stereotype.Controller; 11 | import org.springframework.ui.Model; 12 | import org.springframework.web.bind.annotation.*; 13 | 14 | import javax.servlet.http.HttpSession; 15 | import java.util.HashMap; 16 | import java.util.List; 17 | import java.util.Map; 18 | 19 | @Controller 20 | @RequestMapping("/admin/menu") 21 | public class MenuController { 22 | @Autowired 23 | MenuService menuService; 24 | 25 | /*加载左侧菜单*/ 26 | @RequestMapping("/indexLeftMenuJson") 27 | @ResponseBody 28 | public Map indexLeftMenuJson(HttpSession session) { 29 | Map retMap = new HashMap<>(); 30 | User user = UserUtils.getSubjectUser(session); 31 | List menus = menuService.getALLMenuListByUserId(user.getId(), true); 32 | // homeInfo 33 | retMap.put("homeInfo", new Menu("首页", "/admin/welcome")); 34 | 35 | retMap.put("menuInfo", menus); 36 | return retMap; 37 | } 38 | 39 | /*来到菜单管理页面*/ 40 | @RequestMapping("/toMenuManager") 41 | public String toMenuManager() { 42 | return "admin/menuManager"; 43 | } 44 | 45 | /*列出菜单*/ 46 | @ResponseBody 47 | @RequestMapping("/listMenuAct") 48 | public Map listMenuAct() { 49 | Map retMap = new HashMap<>(); 50 | List menus = menuService.getALLMenuList(); 51 | retMap.put("code", 200); 52 | retMap.put("data", menus); 53 | return retMap; 54 | } 55 | 56 | /*列出树菜单*/ 57 | @ResponseBody 58 | @RequestMapping("/listTreeMenuAct") 59 | public MsgResult listTreeMenuAct() { 60 | List menuTrees = menuService.getListALLMenuList(); 61 | return new MsgResult(0,"操作成功",menuTrees); 62 | } 63 | 64 | /*来到增加子菜单页面*/ 65 | @RequestMapping(value = "/addMenu", method = RequestMethod.GET) 66 | public String addChildMenu() { 67 | return "admin/addMenu"; 68 | } 69 | 70 | @ResponseBody 71 | @RequestMapping(value = "/addMenuAct",method = RequestMethod.POST) 72 | public MsgResult addMenuAct(Menu menu) { 73 | int retNum = menuService.addMenu(menu); 74 | if (retNum == 1) { 75 | return MsgResult.build(1, "增加成功"); 76 | } else { 77 | return MsgResult.build(0,"增加失败,请重新添加"); 78 | } 79 | } 80 | 81 | /*来到修改页面*/ 82 | @RequestMapping(value = "/editMenu/{id}") 83 | public String editMenu(@PathVariable("id") int id, Model model){ 84 | Menu menu = menuService.getMenuById(id); 85 | model.addAttribute("menu",menu); 86 | return "admin/editMenu"; 87 | } 88 | 89 | @ResponseBody 90 | @RequestMapping(value = "/editMenuAct",method = RequestMethod.POST) 91 | public MsgResult editMenuAct(Menu menu){ 92 | int retNum = menuService.editMenu(menu); 93 | if (retNum == 1) { 94 | return MsgResult.build(1, "修改成功"); 95 | } else { 96 | return MsgResult.build(0, "修改失败,请重新提交"); 97 | } 98 | } 99 | 100 | /*删除菜单*/ 101 | @RequestMapping(value = "/deleteMenuAct", method = RequestMethod.POST) 102 | @ResponseBody 103 | public MsgResult deleteMenuAct(@RequestParam(name = "id") int id) { 104 | int retNum = menuService.deleteMenu(id); 105 | if (retNum == 1) { 106 | return MsgResult.build(1, "删除成功"); 107 | } else { 108 | return MsgResult.build(0, "删除失败,请重新提交"); 109 | } 110 | } 111 | } 112 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/controller/admin/SystemController.java: -------------------------------------------------------------------------------- 1 | package com.baoge.controller.admin; 2 | 3 | import cn.hutool.captcha.CaptchaUtil; 4 | import cn.hutool.captcha.LineCaptcha; 5 | import com.baoge.entity.LogInfo; 6 | import com.baoge.entity.User; 7 | import com.baoge.service.LogInfoService; 8 | import com.baoge.service.UserService; 9 | import com.baoge.utils.MsgResult; 10 | import com.baoge.utils.NetworkUtil; 11 | import com.baoge.utils.UserUtils; 12 | import org.springframework.beans.factory.annotation.Autowired; 13 | import org.springframework.stereotype.Controller; 14 | import org.springframework.ui.Model; 15 | import org.springframework.web.bind.annotation.*; 16 | 17 | import javax.imageio.ImageIO; 18 | import javax.servlet.ServletOutputStream; 19 | import javax.servlet.http.HttpServletRequest; 20 | import javax.servlet.http.HttpServletResponse; 21 | import javax.servlet.http.HttpSession; 22 | import java.io.IOException; 23 | import java.util.Date; 24 | 25 | @Controller 26 | public class SystemController { 27 | 28 | @Autowired 29 | UserService userService; 30 | 31 | @Autowired 32 | LogInfoService logInfoService; 33 | 34 | @GetMapping("/admin/login") 35 | public String login() { 36 | return "admin/login"; 37 | } 38 | 39 | @RequestMapping(value = "/admin/loginAct", method = RequestMethod.POST) 40 | @ResponseBody 41 | public MsgResult loginAct(@RequestParam("username") String username, 42 | @RequestParam("password") String password, 43 | HttpSession session, String captcha, HttpServletRequest request) { 44 | 45 | String code = session.getAttribute("code").toString(); 46 | String ipAddress = NetworkUtil.getIpAddress(request); 47 | /* System.out.println("ip是"+ ipAddress);*/ 48 | if (captcha == null || !code.equals(captcha)) { 49 | LogInfo logInfo = new LogInfo(username,ipAddress,1,"后台登入失败,验证码错误",new Date()); 50 | logInfoService.addLogInfo(logInfo); 51 | return MsgResult.build(0, "验证码错误"); 52 | } else { 53 | User user = userService.checkUser(username, password); 54 | if (user != null) { 55 | session.setAttribute("loginUser", user); 56 | LogInfo logInfo = new LogInfo(username,ipAddress,0,"后台登入成功",new Date()); 57 | logInfoService.addLogInfo(logInfo); 58 | return MsgResult.build(1, "登入成功"); 59 | } else { 60 | LogInfo logInfo = new LogInfo(username,ipAddress,1,"后台登入失败,账号不存在或密码错误",new Date()); 61 | logInfoService.addLogInfo(logInfo); 62 | return MsgResult.build(0, "账号不存在或密码错误"); 63 | } 64 | } 65 | } 66 | @RequestMapping({"/admin/index","/admin"}) 67 | public String index(Model model, HttpSession session){ 68 | User user = UserUtils.getSubjectUser(session); 69 | model.addAttribute("user", user); 70 | return "admin/index"; 71 | } 72 | 73 | @RequestMapping("/admin/welcome") 74 | public String welcome(Model model, HttpSession session) { 75 | User user = UserUtils.getSubjectUser(session); 76 | model.addAttribute("user", user); 77 | return "admin/welcome"; 78 | } 79 | @RequestMapping("/admin/logout") 80 | public String logout(HttpSession session) { 81 | session.removeAttribute("loginUser"); 82 | return "/admin/login"; 83 | } 84 | @GetMapping("/admin/getCode") 85 | public void getCode(HttpServletResponse response, HttpSession session) throws IOException { 86 | //定义图形验证码的长和宽 87 | LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(116, 36, 4, 3); 88 | session.setAttribute("code", lineCaptcha.getCode()); 89 | ServletOutputStream outputStream = response.getOutputStream(); 90 | ImageIO.write(lineCaptcha.getImage(), "JPEG", outputStream); 91 | 92 | } 93 | 94 | } 95 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/dao/ApplicationDao.java: -------------------------------------------------------------------------------- 1 | package com.baoge.dao; 2 | 3 | import com.baoge.queryvo.Application; 4 | import com.baoge.queryvo.ApplicationAndResume; 5 | import org.apache.ibatis.annotations.Mapper; 6 | import org.apache.ibatis.annotations.Param; 7 | import org.springframework.stereotype.Repository; 8 | 9 | import java.util.List; 10 | 11 | @Repository 12 | @Mapper 13 | public interface ApplicationDao { 14 | Integer checkByUerIdAndJobIdAndRecruiterId(@Param("userId")Integer userId, @Param("jobId")String jobId, @Param("recruiterId")Integer recruiterId); 15 | 16 | Integer addApplication(Application application); 17 | 18 | Integer deletePositionById(int id); 19 | 20 | List getApplicationAndResume(Integer recruiterId); 21 | 22 | Integer setResumeStatus(@Param("id") int id,@Param("i") int i); 23 | 24 | Integer getApplicationIdByJobId(Integer id); 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/dao/CardImageDao.java: -------------------------------------------------------------------------------- 1 | package com.baoge.dao; 2 | 3 | import com.baoge.entity.CardImage; 4 | import com.baoge.queryvo.CardImageVo; 5 | import org.apache.ibatis.annotations.Mapper; 6 | import org.apache.ibatis.annotations.Param; 7 | import org.springframework.stereotype.Repository; 8 | 9 | import java.util.List; 10 | 11 | @Repository 12 | @Mapper 13 | public interface CardImageDao { 14 | CardImage getCardImageByUserid(Integer id); 15 | 16 | Integer addCardImage(@Param("cardImage") CardImage cardImage); 17 | 18 | Integer editCardImage(CardImage cardImage); 19 | 20 | List listUserIdCard(); 21 | 22 | Integer setStatus(@Param("id") int id,@Param("i") int i); 23 | 24 | List searchUserIdCard(@Param("name") String name, @Param("roleId") Integer roleId,@Param("status") Integer status); 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/dao/JobDao.java: -------------------------------------------------------------------------------- 1 | package com.baoge.dao; 2 | 3 | import com.baoge.entity.Job; 4 | import org.apache.ibatis.annotations.Mapper; 5 | import org.apache.ibatis.annotations.Param; 6 | import org.springframework.stereotype.Repository; 7 | 8 | import java.util.List; 9 | 10 | @Repository 11 | @Mapper 12 | public interface JobDao { 13 | List getJobPlaceAndType(@Param("place") String place, @Param("type") String type); 14 | 15 | Job getJobInfoByid(int id); 16 | 17 | List getJobsBynews(); 18 | 19 | List getallJob(Integer userid); 20 | 21 | List getJobByUserAndstatus(@Param("userid")Integer userid,@Param("i") int i); 22 | 23 | Integer releaseJob(@Param("job")Job job,@Param("user_id")Integer user_id); 24 | 25 | Integer editJob(Job job); 26 | 27 | Integer deleteJobById(int id); 28 | 29 | List allJobAct(); 30 | 31 | List searchJob(@Param("uname")String uname,@Param("name") String name,@Param("status") Integer status); 32 | 33 | Integer setStatus(@Param("id") int id,@Param("i") int i); 34 | 35 | Job getJobInfoByid2(Integer id); 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/dao/LogInfoDao.java: -------------------------------------------------------------------------------- 1 | package com.baoge.dao; 2 | 3 | import com.baoge.entity.LogInfo; 4 | import org.apache.ibatis.annotations.Mapper; 5 | import org.apache.ibatis.annotations.Param; 6 | import org.springframework.stereotype.Repository; 7 | 8 | import java.util.List; 9 | @Repository 10 | @Mapper 11 | public interface LogInfoDao { 12 | void addLogInfo(LogInfo logInfo); 13 | 14 | /*列出全部日志*/ 15 | List listLogInfo(); 16 | /*搜索日志*/ 17 | List searchLogInfo(@Param(value = "loginName") String loginName, @Param(value = "loginStatus") String loginStatus, @Param(value = "start_time") String start_time, @Param(value = "end_time") String end_time); 18 | 19 | int deleteLogInfos(List del_ids); 20 | 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/dao/MenuDao.java: -------------------------------------------------------------------------------- 1 | package com.baoge.dao; 2 | 3 | import com.baoge.entity.Menu; 4 | import com.baoge.utils.MenuTree; 5 | import org.apache.ibatis.annotations.Mapper; 6 | import org.springframework.stereotype.Repository; 7 | 8 | import java.util.List; 9 | @Repository 10 | @Mapper 11 | public interface MenuDao { 12 | 13 | List getALLMenuList(); 14 | 15 | List getListALLMenuList(); 16 | 17 | List getALLMenuListByUserId(Integer userId); 18 | 19 | List getMenuListAllByUserId(Integer userId); 20 | /* 21 | 增加菜单 22 | */ 23 | int addMenu(Menu menu); 24 | 25 | /*通过menuId查找菜单*/ 26 | Menu getMenuById(int id); 27 | 28 | /** 29 | * 删除菜单 30 | */ 31 | int deleteMenu(int id); 32 | /*修改菜单*/ 33 | int editMenu(Menu menu); 34 | /** 35 | * 根据菜单id删除角色菜单中的记录 36 | */ 37 | Integer deleteRoleMenu(int menu_id); 38 | 39 | 40 | List getMenuListByRoleId(int roleId); 41 | 42 | 43 | 44 | } -------------------------------------------------------------------------------- /src/main/java/com/baoge/dao/NewsDao.java: -------------------------------------------------------------------------------- 1 | package com.baoge.dao; 2 | 3 | import com.baoge.entity.News; 4 | import org.apache.ibatis.annotations.Mapper; 5 | import org.springframework.stereotype.Repository; 6 | 7 | import java.util.List; 8 | 9 | @Repository 10 | @Mapper 11 | public interface NewsDao { 12 | List getallNews(); 13 | 14 | List listNews(); 15 | 16 | Integer addNews(News news); 17 | 18 | int deleteNews(List del_ids); 19 | 20 | int deleteNew(Integer id); 21 | 22 | News getNewsById(Integer id); 23 | 24 | int editNews(News news); 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/dao/ResumeDao.java: -------------------------------------------------------------------------------- 1 | package com.baoge.dao; 2 | 3 | import com.baoge.entity.Resume; 4 | import org.apache.ibatis.annotations.Mapper; 5 | import org.apache.ibatis.annotations.Param; 6 | import org.springframework.stereotype.Repository; 7 | 8 | @Repository 9 | @Mapper 10 | public interface ResumeDao { 11 | 12 | Resume getResumeByUserid(Integer userid); 13 | 14 | Integer editResume(Resume resume); 15 | 16 | Integer addResume(@Param("resume") Resume resume, @Param("userid") Integer userid); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/dao/RoleDao.java: -------------------------------------------------------------------------------- 1 | package com.baoge.dao; 2 | 3 | import com.baoge.entity.Role; 4 | import org.apache.ibatis.annotations.Mapper; 5 | import org.apache.ibatis.annotations.Param; 6 | import org.springframework.stereotype.Repository; 7 | 8 | import java.util.List; 9 | @Repository 10 | @Mapper 11 | public interface RoleDao { 12 | List listRole(); 13 | 14 | List getRoleListByUserId(Integer id); 15 | 16 | List searchRole(@Param("roleName") String roleName); 17 | 18 | Integer addRole(Role role); 19 | 20 | int deleteRoles(List del_ids); 21 | 22 | void deleteRoleMenus(List del_ids); 23 | 24 | void deleteroleMenu(int id); 25 | 26 | int deleteRole(int id); 27 | 28 | Role getRoleById(int id); 29 | 30 | int editRole(Role role); 31 | 32 | /*根据角色id删除该角色对应的菜单*/ 33 | void deleteMenusByRoleId(Integer roleId); 34 | 35 | void addRoleMenus(@Param("roleId") Integer roleId, @Param("menuId") Integer menuId); 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/dao/UserDao.java: -------------------------------------------------------------------------------- 1 | package com.baoge.dao; 2 | 3 | import com.baoge.entity.User; 4 | import org.apache.ibatis.annotations.Mapper; 5 | import org.apache.ibatis.annotations.Param; 6 | import org.springframework.stereotype.Repository; 7 | 8 | import java.util.List; 9 | 10 | @Repository 11 | @Mapper 12 | public interface UserDao { 13 | User findByUsernameAndPassword(@Param("username") String username, @Param("password") String password); 14 | 15 | /*根据用户id查询用户*/ 16 | User getUserById(Integer id); 17 | 18 | /*根据用户名或者性别,状态查询用户*/ 19 | List searchUser(@Param(value = "username") String username, @Param(value = "sex") String sex, @Param(value = "status") String status); 20 | 21 | /*查询用户*/ 22 | List listUser(); 23 | 24 | /*修改用户*/ 25 | Integer editUser(User user); 26 | 27 | /*增加用户的角色*/ 28 | void addUserRole(@Param("userId") Integer userId, @Param("roleId") Long roleId); 29 | 30 | /*删除用户下所有的角色*/ 31 | void deleteUserRole(@Param("userId") Integer userId); 32 | 33 | /*根据id删除用户*/ 34 | int deleteUser(int id); 35 | 36 | /*批量删除用户*/ 37 | int deleteUsers(List del_ids); 38 | 39 | int addUser(User user); 40 | 41 | /*批量删除用户所对应的角色*/ 42 | void deleteUserRoles(List del_ids); 43 | 44 | int searchUserByUserName(String username); 45 | 46 | User checkUserPasswordById(@Param("password") String password, @Param("id")Integer id); 47 | 48 | int editUserpassword(@Param("password") String password, @Param("id")Integer id); 49 | 50 | List getRoleidsById(Integer id); 51 | 52 | void deleteCardImageByUserId(int id); 53 | 54 | void deleteResumeByUserId(int id); 55 | 56 | void deleteJobByUserId(int id); 57 | 58 | void deleteApplicationByUserId(int id); 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/dao/UserPositionDao.java: -------------------------------------------------------------------------------- 1 | package com.baoge.dao; 2 | 3 | import com.baoge.queryvo.Application; 4 | import org.apache.ibatis.annotations.Mapper; 5 | import org.springframework.stereotype.Repository; 6 | 7 | import java.util.List; 8 | 9 | @Repository 10 | @Mapper 11 | public interface UserPositionDao { 12 | List getAllApplication(Integer id); 13 | 14 | List getPassApplication(Integer id); 15 | 16 | List getnoPassApplication(Integer id); 17 | 18 | List getCheckingApplication(Integer id); 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/entity/CardImage.java: -------------------------------------------------------------------------------- 1 | package com.baoge.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @AllArgsConstructor 9 | @NoArgsConstructor 10 | public class CardImage { 11 | private Integer id; 12 | private Integer userId; 13 | private String identityCardImageUrl; 14 | private String imageUrl; 15 | private Integer status; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/entity/Job.java: -------------------------------------------------------------------------------- 1 | package com.baoge.entity; 2 | 3 | import com.fasterxml.jackson.annotation.JsonFormat; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | @Data 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class Job { 13 | 14 | private Integer id; 15 | /** 16 | * 名称 17 | */ 18 | private String name; 19 | /** 20 | * 类型 21 | */ 22 | private String type; 23 | /** 24 | * 人数 25 | */ 26 | private String personnum; 27 | /** 28 | * 地点 29 | */ 30 | private String place; 31 | /** 32 | * 详情 33 | */ 34 | private String information; 35 | /** 36 | * 薪水 37 | */ 38 | private String salary; 39 | /** 40 | * 联系方式 41 | */ 42 | private String contact; 43 | /** 44 | * 发布人 45 | */ 46 | private User user; 47 | /** 48 | * 创建时间 49 | */ 50 | /** 51 | 转换到页面上的时间*/ 52 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") 53 | private Date createtime; 54 | /** 55 | * 审核状态0:通过,1不通过 56 | */ 57 | private Integer status; 58 | 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/entity/LogInfo.java: -------------------------------------------------------------------------------- 1 | package com.baoge.entity; 2 | 3 | import com.fasterxml.jackson.annotation.JsonFormat; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | @Data 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class LogInfo { 13 | 14 | private Integer id; 15 | 16 | private String loginName; 17 | 18 | private String loginIp; 19 | 20 | private Integer loginStatus; 21 | 22 | private String loginMsg; 23 | //转换到页面上的时间 24 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") 25 | private Date loginTime; 26 | 27 | public LogInfo(String loginName,String loginIp, Integer loginStatus,String loginMsg,Date loginTime){ 28 | this(null,loginName,loginIp,loginStatus,loginMsg,loginTime); 29 | } 30 | } 31 | 32 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/entity/Menu.java: -------------------------------------------------------------------------------- 1 | package com.baoge.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.util.ArrayList; 8 | import java.util.LinkedList; 9 | import java.util.List; 10 | 11 | @Data 12 | @NoArgsConstructor 13 | @AllArgsConstructor 14 | public class Menu { 15 | private Integer id; 16 | private String title; 17 | private String icon; 18 | private String href; 19 | private String target; 20 | private Integer pid; 21 | private Integer visible;//0显示,1不显示 22 | private Integer sort;//排序 23 | private List child = new LinkedList<>(); 24 | private List roles = new ArrayList<>(); 25 | public Menu(String title, String href){ 26 | this(null,title,null,href,null,null,null,null,null,null); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/entity/News.java: -------------------------------------------------------------------------------- 1 | package com.baoge.entity; 2 | 3 | import com.fasterxml.jackson.annotation.JsonFormat; 4 | import lombok.AllArgsConstructor; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import java.util.Date; 9 | @Data 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class News { 13 | private Integer id; 14 | private String title; 15 | private String content; 16 | //转换到页面上的时间 17 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") 18 | private Date createtime; 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/entity/Resume.java: -------------------------------------------------------------------------------- 1 | package com.baoge.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @NoArgsConstructor 9 | @AllArgsConstructor 10 | public class Resume { 11 | /*id*/ 12 | private Integer id; 13 | /** 14 | * 学校名称 15 | */ 16 | private String schoolname; 17 | /** 18 | * 入学时间 19 | */ 20 | /* @DateTimeFormat(pattern ="yyyy-MM-dd")*/ 21 | private String starttime; 22 | 23 | /** 24 | * 毕业时间 25 | *//* 26 | @DateTimeFormat(pattern ="yyyy-MM-dd")*/ 27 | private String endtime; 28 | /** 29 | * 学历 30 | */ 31 | private String education; 32 | /** 33 | * 专业 34 | */ 35 | private String major; 36 | /** 37 | * 工作经验 38 | */ 39 | private String experience; 40 | 41 | /** 42 | * 用户 43 | */ 44 | private User user; 45 | 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/entity/Role.java: -------------------------------------------------------------------------------- 1 | package com.baoge.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | @Data 10 | @NoArgsConstructor 11 | @AllArgsConstructor 12 | public class Role { 13 | private Integer id; 14 | private String roleName; 15 | private String roleDesc;//角色描述 16 | private List users =new ArrayList<>(); 17 | private List menus =new ArrayList<>(); 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/entity/User.java: -------------------------------------------------------------------------------- 1 | package com.baoge.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | @Data 10 | @NoArgsConstructor 11 | @AllArgsConstructor 12 | public class User { 13 | /*主键id*/ 14 | private Integer id; 15 | /* 用户名*/ 16 | private String username; 17 | /*密码*/ 18 | private String password; 19 | /*名字*/ 20 | private String name; 21 | /*性别(0:男 1:女)*/ 22 | private Integer sex; 23 | /*电子邮件*/ 24 | private String email; 25 | /*电话*/ 26 | private String phone; 27 | /* 角色 */ 28 | private List roles = new ArrayList<>(); 29 | /* 状态(0:启用 1:禁止 )*/ 30 | private Integer status; 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/entity/UserPosition.java: -------------------------------------------------------------------------------- 1 | package com.baoge.entity; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.util.Date; 8 | 9 | @Data 10 | @NoArgsConstructor 11 | @AllArgsConstructor 12 | public class UserPosition { 13 | private Integer id; 14 | /** 15 | * 申请人 16 | */ 17 | private Integer user_id; 18 | /** 19 | * 职位 20 | */ 21 | private Integer job_id; 22 | /** 23 | * 招聘者UserID 24 | */ 25 | private Integer recruiter_id; 26 | /** 27 | * 职位申请状态 28 | */ 29 | private Integer status; 30 | /** 31 | * 创建时间 32 | */ 33 | private Date createtime; 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/interceptor/AdminLoginInterceptor.java: -------------------------------------------------------------------------------- 1 | package com.baoge.interceptor; 2 | 3 | import org.springframework.lang.Nullable; 4 | import org.springframework.web.servlet.HandlerInterceptor; 5 | import org.springframework.web.servlet.ModelAndView; 6 | 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | 10 | public class AdminLoginInterceptor implements HandlerInterceptor { 11 | 12 | public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { 13 | if (request.getSession().getAttribute("loginUser") == null) { 14 | response.sendRedirect("/admin/login"); 15 | return false; 16 | } 17 | return true; 18 | } 19 | 20 | public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable ModelAndView modelAndView) throws Exception { 21 | } 22 | 23 | public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable Exception ex) throws Exception { 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/interceptor/LoginInterceptor.java: -------------------------------------------------------------------------------- 1 | package com.baoge.interceptor; 2 | 3 | import org.springframework.lang.Nullable; 4 | import org.springframework.web.servlet.HandlerInterceptor; 5 | import org.springframework.web.servlet.ModelAndView; 6 | 7 | import javax.servlet.http.HttpServletRequest; 8 | import javax.servlet.http.HttpServletResponse; 9 | 10 | public class LoginInterceptor implements HandlerInterceptor { 11 | public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { 12 | if (request.getSession().getAttribute("frontuser") == null) { 13 | response.sendRedirect("/login"); 14 | return false; 15 | } 16 | return true; 17 | } 18 | 19 | public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable ModelAndView modelAndView) throws Exception { 20 | } 21 | 22 | public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable Exception ex) throws Exception { 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/interceptor/MyWebMvcConfig.java: -------------------------------------------------------------------------------- 1 | package com.baoge.interceptor; 2 | 3 | import org.springframework.boot.system.ApplicationHome; 4 | import org.springframework.context.annotation.Configuration; 5 | import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; 6 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; 7 | 8 | import java.io.File; 9 | 10 | @Configuration 11 | public class MyWebMvcConfig implements WebMvcConfigurer/*WebMvcConfigurerAdapter*/ { 12 | //将jar文件下的对应静态资源文件路径对应到磁盘的路径(根据个人的情况修改"file:static/"的static的值 13 | @Override 14 | public void addResourceHandlers(ResourceHandlerRegistry registry) { 15 | ApplicationHome h = new ApplicationHome(getClass()); 16 | File jarF = h.getSource(); 17 | String dirPath = jarF.getParentFile().toString()+"/upload/"; 18 | 19 | String os = System.getProperty("os.name"); 20 | 21 | System.out.println("os"+os); 22 | 23 | if (os.toLowerCase().startsWith("win")) { //如果是Windows系统 24 | registry.addResourceHandler("/upload/**").addResourceLocations("file:"+dirPath); 25 | System.out.println("file:" + dirPath); 26 | 27 | } else { //linux 和mac 28 | // registry.addResourceHandler("/upload/**") //虚拟路劲 29 | // .addResourceLocations("file:" + System.getProperty("user.dir") + "/upload/");//jar 同级目录 30 | // System.out.println("file:" + System.getProperty("user.dir") + "/upload/"); 31 | registry.addResourceHandler("/upload/**").addResourceLocations("file:"+dirPath); 32 | System.out.println("file:" + dirPath); 33 | } 34 | registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/interceptor/WebMvcConfig.java: -------------------------------------------------------------------------------- 1 | package com.baoge.interceptor; 2 | 3 | import org.springframework.context.annotation.Configuration; 4 | import org.springframework.web.servlet.config.annotation.InterceptorRegistry; 5 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; 6 | 7 | @Configuration 8 | public class WebMvcConfig implements WebMvcConfigurer { 9 | public void addInterceptors(InterceptorRegistry registry) { 10 | // 拦截/admin所有路径 11 | // 注册自定义两个拦截器 12 | registry.addInterceptor(new AdminLoginInterceptor()) 13 | .addPathPatterns("/admin/**") 14 | .excludePathPatterns("/admin/login") 15 | .excludePathPatterns("/admin/loginAct") 16 | .excludePathPatterns("/admin/getCode"); 17 | registry.addInterceptor(new LoginInterceptor()) 18 | .addPathPatterns("/dashboard/**"); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/queryvo/Application.java: -------------------------------------------------------------------------------- 1 | package com.baoge.queryvo; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.util.Date; 8 | 9 | @Data 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class Application { 13 | /*申请表id*/ 14 | private int id; 15 | /*应聘者id*/ 16 | private Integer userId; 17 | /*招聘者id*/ 18 | private Integer recruiterId; 19 | /*招聘者名字*/ 20 | private String recruiterName; 21 | /*职位id*/ 22 | private String jobId; 23 | /*职位名字*/ 24 | private String jobName; 25 | /*类型*/ 26 | private String jobType; 27 | /*地点*/ 28 | private String jobPlace; 29 | /*所需人数*/ 30 | private Integer jobPersonnum; 31 | /** 32 | * 详情 33 | */ 34 | private String jobIinformation; 35 | /** 36 | * 薪水 37 | */ 38 | private String jobSalary; 39 | /** 40 | * 联系方式 41 | */ 42 | private String contact; 43 | /** 44 | * 职位申请状态 45 | */ 46 | private Integer status; 47 | /** 48 | * 创建时间 49 | */ 50 | private Date createtime; 51 | 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/queryvo/ApplicationAndResume.java: -------------------------------------------------------------------------------- 1 | package com.baoge.queryvo; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | import java.util.Date; 8 | 9 | @Data 10 | @AllArgsConstructor 11 | @NoArgsConstructor 12 | public class ApplicationAndResume { 13 | 14 | /*申请表id*/ 15 | private int id; 16 | /*应聘者id*/ 17 | private Integer userId; 18 | /*应聘者名字*/ 19 | private String userName; 20 | /*简历id*/ 21 | private Integer resumeId; 22 | /** 23 | * 学校名称 24 | */ 25 | private String schoolname; 26 | /** 27 | * 入学时间 28 | */ 29 | /* @DateTimeFormat(pattern ="yyyy-MM-dd")*/ 30 | private String starttime; 31 | 32 | /** 33 | * 毕业时间 34 | *//* 35 | @DateTimeFormat(pattern ="yyyy-MM-dd")*/ 36 | private String endtime; 37 | /** 38 | * 学历 39 | */ 40 | private String education; 41 | /** 42 | * 专业 43 | */ 44 | private String major; 45 | /** 46 | * 工作经验 47 | */ 48 | private String experience; 49 | 50 | 51 | /*招聘者id*/ 52 | private Integer recruiterId; 53 | /*招聘者名字*/ 54 | private String recruiterName; 55 | /*职位id*/ 56 | private String jobId; 57 | /*职位名字*/ 58 | private String jobName; 59 | /*类型*/ 60 | private String jobType; 61 | /*地点*/ 62 | private String jobPlace; 63 | /*所需人数*/ 64 | private Integer jobPersonnum; 65 | /** 66 | * 详情 67 | */ 68 | private String jobIinformation; 69 | /** 70 | * 薪水 71 | */ 72 | private String jobSalary; 73 | /** 74 | * 联系方式 75 | */ 76 | private String contact; 77 | /** 78 | * 职位申请状态 79 | */ 80 | private Integer status; 81 | /** 82 | * 创建时间 83 | */ 84 | private Date createtime; 85 | 86 | 87 | } 88 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/queryvo/CardImageVo.java: -------------------------------------------------------------------------------- 1 | package com.baoge.queryvo; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @AllArgsConstructor 9 | @NoArgsConstructor 10 | public class CardImageVo { 11 | private Integer id; 12 | private Integer userId; 13 | private String name; 14 | private Integer roleId; 15 | private String rolename; 16 | private String identityCardImageUrl; 17 | private String imageUrl; 18 | private Integer status; 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/ApplicationService.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service; 2 | 3 | import com.baoge.queryvo.Application; 4 | import com.baoge.queryvo.ApplicationAndResume; 5 | 6 | import java.util.List; 7 | 8 | public interface ApplicationService { 9 | Integer checkByUerIdAndJobIdAndRecruiterId(Integer userId, String jobId, Integer recruiterId); 10 | 11 | Integer addApplication(Application application); 12 | 13 | Integer deletePositionById(int id); 14 | 15 | List getApplicationAndResume(Integer recruiterId); 16 | 17 | Integer setResumeStatus(Integer id, int i); 18 | 19 | Integer getApplicationIdByJobId(Integer id); 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/CardImageService.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service; 2 | 3 | import com.baoge.entity.CardImage; 4 | import com.baoge.queryvo.CardImageVo; 5 | 6 | import java.util.List; 7 | 8 | public interface CardImageService { 9 | CardImage getCardImageByUserid(Integer id); 10 | 11 | Integer addCardImage(CardImage cardImage); 12 | 13 | Integer editCardImage(CardImage cardImage); 14 | 15 | List listUserIdCard(); 16 | 17 | Integer setStatus(int id,int i); 18 | 19 | List searchUserIdCard(String name, Integer roleId, Integer status); 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/DashboardService.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service; 2 | 3 | import com.baoge.queryvo.Application; 4 | 5 | import java.util.List; 6 | 7 | public interface DashboardService { 8 | 9 | List getAllApplication(Integer id); 10 | 11 | List getPassApplication(Integer id); 12 | 13 | List getnoPassApplication(Integer id); 14 | 15 | List getCheckingApplication(Integer id); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/JobService.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service; 2 | 3 | import com.baoge.entity.Job; 4 | 5 | import java.util.List; 6 | 7 | public interface JobService { 8 | 9 | List getJobPlaceAndType(String place, String type); 10 | 11 | /*根据job_id查询*/ 12 | Job getJobInfoByid(int id); 13 | 14 | List getJobsBynews(); 15 | 16 | List getallJob(Integer userid); 17 | 18 | List getJobByUserAndstatus(Integer userid, int i); 19 | 20 | Integer releaseJob(Job job, Integer user_id); 21 | 22 | Integer editJob(Job job); 23 | 24 | Integer deleteJobById(int id); 25 | 26 | List allJobAct(); 27 | 28 | List searchJob(String uname, String name, Integer status); 29 | 30 | Integer setStatus(Integer id, int i); 31 | 32 | Job getJobInfoByid2(Integer id); 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/LogInfoService.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service; 2 | 3 | import com.baoge.entity.LogInfo; 4 | 5 | import java.util.List; 6 | 7 | public interface LogInfoService { 8 | 9 | void addLogInfo(LogInfo logInfo); 10 | 11 | /*列出全部日志*/ 12 | List listLogInfo(); 13 | 14 | /*搜索日志*/ 15 | List searchLogInfo(String loginName, String loginStatus, String start_time, String end_time); 16 | 17 | /*批量删除日志*/ 18 | int deleteLogInfos(String ids); 19 | 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/MenuService.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service; 2 | 3 | import com.baoge.entity.Menu; 4 | import com.baoge.utils.MenuTree; 5 | 6 | import java.util.List; 7 | 8 | public interface MenuService { 9 | /* 10 | * 查询所有菜单 11 | * 12 | * */ 13 | List getALLMenuList(); 14 | 15 | List getListALLMenuList(); 16 | 17 | /* 18 | * 根据用户ID查询到3级菜单 19 | * 20 | * */ 21 | List getALLMenuListByUserId(Integer userId, boolean istree); 22 | 23 | /** 24 | * 根据用户id查询菜单列表(全部) 25 | */ 26 | List getMenuListAllByUserId(Integer userId); 27 | 28 | /* 29 | 增加菜单 30 | * */ 31 | int addMenu(Menu menu); 32 | 33 | /* 34 | 通过menuId查找菜单 35 | */ 36 | Menu getMenuById(int id); 37 | 38 | /*修改菜单*/ 39 | int editMenu(Menu menu); 40 | /** 41 | * 删除菜单 42 | * 43 | */ 44 | int deleteMenu(int id); 45 | 46 | /*根据角色id查询菜单*/ 47 | List getMenuListByRoleId(int roleId); 48 | 49 | 50 | 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/NewsService.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service; 2 | 3 | import com.baoge.entity.News; 4 | 5 | import java.util.List; 6 | 7 | public interface NewsService { 8 | List getallNews(); 9 | 10 | List listNews(); 11 | 12 | Integer addNews(News news); 13 | 14 | int deleteNews(String ids); 15 | 16 | int deleteNew(Integer id); 17 | 18 | News getNewsById(Integer id); 19 | 20 | int editNews(News news); 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/ResumeService.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service; 2 | 3 | import com.baoge.entity.Resume; 4 | 5 | public interface ResumeService { 6 | Resume getResumeByUserid(Integer userid); 7 | 8 | Integer editResume(Resume resume); 9 | 10 | Integer addResume(Resume resume, Integer userid); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/RoleService.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service; 2 | 3 | import com.baoge.entity.Role; 4 | 5 | import java.util.List; 6 | 7 | public interface RoleService { 8 | /*查询所有角色*/ 9 | List listRole(); 10 | /*根据用户id查询角色*/ 11 | List getRoleListByUserId(Integer id); 12 | 13 | /*搜索role*/ 14 | List searchRole(String roleName); 15 | 16 | Integer addRole(Role role); 17 | 18 | int deleteRoles(String ids); 19 | 20 | int deleteRole(int id); 21 | 22 | Role getRoleById(int id); 23 | 24 | int editRole(Role role); 25 | 26 | void updateRoleMenu(Integer roleId, String menuIds); 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/UserService.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service; 2 | 3 | import com.baoge.entity.User; 4 | import com.baoge.utils.MsgResult; 5 | 6 | import java.util.List; 7 | 8 | public interface UserService { 9 | 10 | User checkUser(String username, String password); 11 | 12 | /*根据用户id查询用户*/ 13 | User getUserById(Integer id); 14 | 15 | /*根据用户名或者性别,状态查询用户*/ 16 | List searchUser(String username, String sex, String status); 17 | 18 | /*查询用户*/ 19 | List listUser(); 20 | 21 | /*修改用户*/ 22 | Integer editUser(User user); 23 | 24 | 25 | MsgResult updateUserRole(Integer userId, String roleIds); 26 | 27 | /*删除用户*/ 28 | int deleteUser(int id); 29 | 30 | /*批量删除*/ 31 | int deleteUsers(String ids); 32 | 33 | /*增加用户*/ 34 | int addUser(User user); 35 | 36 | /*根据username查询用户*/ 37 | int searchUserByUserName(String username); 38 | 39 | void addUserRole(Integer id, long roleId); 40 | 41 | 42 | User checkUserPasswordById(String password, Integer id); 43 | 44 | int editUserpassword(String password, Integer id); 45 | 46 | List getRoleidsById(Integer id); 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/impl/ApplicationServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service.impl; 2 | 3 | import com.baoge.dao.ApplicationDao; 4 | import com.baoge.queryvo.Application; 5 | import com.baoge.queryvo.ApplicationAndResume; 6 | import com.baoge.service.ApplicationService; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.stereotype.Service; 9 | 10 | import java.util.Date; 11 | import java.util.List; 12 | 13 | @Service 14 | public class ApplicationServiceImpl implements ApplicationService { 15 | @Autowired 16 | ApplicationDao applicationDao; 17 | @Override 18 | public Integer checkByUerIdAndJobIdAndRecruiterId(Integer userId, String jobId, Integer recruiterId) { 19 | return applicationDao.checkByUerIdAndJobIdAndRecruiterId(userId,jobId,recruiterId); 20 | } 21 | 22 | @Override 23 | public Integer addApplication(Application application) { 24 | application.setStatus(1); 25 | application.setCreatetime(new Date()); 26 | return applicationDao.addApplication(application); 27 | } 28 | 29 | @Override 30 | public Integer deletePositionById(int id) { 31 | return applicationDao.deletePositionById(id); 32 | } 33 | 34 | @Override 35 | public List getApplicationAndResume(Integer recruiterId) { 36 | return applicationDao.getApplicationAndResume(recruiterId); 37 | } 38 | 39 | @Override 40 | public Integer setResumeStatus(Integer id, int i) { 41 | return applicationDao.setResumeStatus(id,i); 42 | } 43 | 44 | @Override 45 | public Integer getApplicationIdByJobId(Integer id) { 46 | return applicationDao.getApplicationIdByJobId(id); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/impl/CardImageServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service.impl; 2 | 3 | import com.baoge.dao.CardImageDao; 4 | import com.baoge.entity.CardImage; 5 | import com.baoge.queryvo.CardImageVo; 6 | import com.baoge.service.CardImageService; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.stereotype.Service; 9 | 10 | import java.util.List; 11 | 12 | @Service 13 | public class CardImageServiceImpl implements CardImageService { 14 | @Autowired 15 | CardImageDao cardImageDao; 16 | @Override 17 | public CardImage getCardImageByUserid(Integer id) { 18 | return cardImageDao.getCardImageByUserid(id); 19 | } 20 | 21 | @Override 22 | public Integer addCardImage(CardImage cardImage) { 23 | cardImage.setStatus(1); 24 | return cardImageDao.addCardImage(cardImage); 25 | } 26 | 27 | @Override 28 | public Integer editCardImage(CardImage cardImage) { 29 | cardImage.setStatus(1); 30 | return cardImageDao.editCardImage(cardImage); 31 | } 32 | 33 | @Override 34 | public List listUserIdCard() { 35 | return cardImageDao.listUserIdCard(); 36 | } 37 | 38 | @Override 39 | public Integer setStatus(int id, int i) { 40 | return cardImageDao.setStatus(id,i); 41 | } 42 | 43 | @Override 44 | public List searchUserIdCard(String name, Integer roleId, Integer status) { 45 | return cardImageDao.searchUserIdCard(name,roleId,status); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/impl/DashboardServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service.impl; 2 | 3 | import com.baoge.dao.UserPositionDao; 4 | import com.baoge.queryvo.Application; 5 | import com.baoge.service.DashboardService; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | 9 | import java.util.List; 10 | 11 | @Service 12 | public class DashboardServiceImpl implements DashboardService { 13 | @Autowired 14 | UserPositionDao userPositionDao; 15 | 16 | @Override 17 | public List getAllApplication(Integer id) { 18 | return userPositionDao.getAllApplication(id); 19 | } 20 | 21 | @Override 22 | public List getPassApplication(Integer id) { 23 | return userPositionDao.getPassApplication(id); 24 | } 25 | 26 | @Override 27 | public List getnoPassApplication(Integer id) { 28 | return userPositionDao.getnoPassApplication(id); 29 | } 30 | 31 | @Override 32 | public List getCheckingApplication(Integer id) { 33 | return userPositionDao.getCheckingApplication(id); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/impl/JobserviceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service.impl; 2 | 3 | import com.baoge.dao.JobDao; 4 | import com.baoge.entity.Job; 5 | import com.baoge.service.JobService; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | 9 | import java.util.Date; 10 | import java.util.List; 11 | 12 | @Service 13 | public class JobserviceImpl implements JobService { 14 | @Autowired 15 | JobDao jobDao; 16 | 17 | @Override 18 | public List getJobPlaceAndType(String place, String type) { 19 | if ("all".equals(place)) { 20 | if ("all".equals(type)) { 21 | place = ""; 22 | type = ""; 23 | return jobDao.getJobPlaceAndType(place, type); 24 | } else { 25 | place = ""; 26 | return jobDao.getJobPlaceAndType(place, type); 27 | } 28 | } else { 29 | if ("all".equals(type)) { 30 | type = ""; 31 | return jobDao.getJobPlaceAndType(place, type); 32 | } else { 33 | return jobDao.getJobPlaceAndType(place, type); 34 | } 35 | } 36 | 37 | } 38 | 39 | @Override 40 | public Job getJobInfoByid(int id) { 41 | return jobDao.getJobInfoByid(id); 42 | } 43 | 44 | @Override 45 | public List getJobsBynews() { 46 | return jobDao.getJobsBynews(); 47 | } 48 | 49 | @Override 50 | public List getallJob(Integer userid) { 51 | return jobDao.getallJob(userid); 52 | } 53 | 54 | @Override 55 | public List getJobByUserAndstatus(Integer userid, int i) { 56 | return jobDao.getJobByUserAndstatus(userid, i); 57 | } 58 | 59 | @Override 60 | public Integer releaseJob(Job job, Integer user_id) { 61 | job.setCreatetime(new Date()); 62 | job.setStatus(1); 63 | return jobDao.releaseJob(job, user_id); 64 | } 65 | 66 | @Override 67 | public Integer editJob(Job job) { 68 | job.setCreatetime(new Date()); 69 | job.setStatus(1); 70 | return jobDao.editJob(job); 71 | } 72 | 73 | @Override 74 | public Integer deleteJobById(int id) { 75 | 76 | return jobDao.deleteJobById(id); 77 | } 78 | 79 | @Override 80 | public List allJobAct() { 81 | return jobDao.allJobAct(); 82 | } 83 | 84 | @Override 85 | public List searchJob(String uname, String name, Integer status) { 86 | return jobDao.searchJob(uname, name, status); 87 | } 88 | 89 | @Override 90 | public Integer setStatus(Integer id, int i) { 91 | return jobDao.setStatus(id, i); 92 | } 93 | 94 | @Override 95 | public Job getJobInfoByid2(Integer id) { 96 | return jobDao.getJobInfoByid2(id); 97 | } 98 | 99 | } 100 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/impl/LogInfoServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service.impl; 2 | 3 | import com.baoge.dao.LogInfoDao; 4 | import com.baoge.entity.LogInfo; 5 | import com.baoge.service.LogInfoService; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | 12 | @Service 13 | public class LogInfoServiceImpl implements LogInfoService { 14 | @Autowired 15 | LogInfoDao logInfoDao; 16 | @Override 17 | public void addLogInfo(LogInfo logInfo) { 18 | logInfoDao.addLogInfo(logInfo); 19 | } 20 | 21 | @Override 22 | public List listLogInfo() { 23 | return logInfoDao.listLogInfo(); 24 | } 25 | 26 | @Override 27 | public List searchLogInfo(String loginName, String loginStatus, String start_time, String end_time) { 28 | return logInfoDao.searchLogInfo(loginName,loginStatus,start_time,end_time); 29 | } 30 | 31 | @Override 32 | public int deleteLogInfos(String ids) { 33 | Listdel_ids=new ArrayList<>(); 34 | String[] str_ids=ids.split("-"); 35 | for (String string:str_ids){ 36 | del_ids.add(Integer.parseInt(string)); 37 | } 38 | return logInfoDao.deleteLogInfos(del_ids); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/impl/NewsServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service.impl; 2 | 3 | import com.baoge.dao.NewsDao; 4 | import com.baoge.entity.News; 5 | import com.baoge.service.NewsService; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | 9 | import java.util.ArrayList; 10 | import java.util.Date; 11 | import java.util.List; 12 | 13 | @Service 14 | public class NewsServiceImpl implements NewsService { 15 | @Autowired 16 | NewsDao newsDao; 17 | @Override 18 | public List getallNews() { 19 | return newsDao.getallNews(); 20 | } 21 | 22 | @Override 23 | public List listNews() { 24 | return newsDao.listNews(); 25 | } 26 | 27 | @Override 28 | public Integer addNews(News news) { 29 | news.setCreatetime(new Date()); 30 | return newsDao.addNews(news); 31 | } 32 | 33 | @Override 34 | public int deleteNews(String ids) { 35 | Listdel_ids=new ArrayList<>(); 36 | String[] str_ids=ids.split("-"); 37 | for (String string:str_ids){ 38 | del_ids.add(Integer.parseInt(string)); 39 | } 40 | /*System.out.println("del:"+del_ids);*/ 41 | return newsDao.deleteNews(del_ids); 42 | } 43 | 44 | @Override 45 | public int deleteNew(Integer id) { 46 | return newsDao.deleteNew(id); 47 | } 48 | 49 | @Override 50 | public News getNewsById(Integer id) { 51 | return newsDao.getNewsById(id); 52 | } 53 | 54 | @Override 55 | public int editNews(News news) { 56 | news.setCreatetime(new Date()); 57 | return newsDao.editNews(news); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/impl/ResumeServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service.impl; 2 | 3 | import com.baoge.dao.ResumeDao; 4 | import com.baoge.entity.Resume; 5 | import com.baoge.service.ResumeService; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | 9 | @Service 10 | public class ResumeServiceImpl implements ResumeService { 11 | @Autowired 12 | ResumeDao resumeDao; 13 | @Override 14 | public Resume getResumeByUserid(Integer userid) { 15 | return resumeDao.getResumeByUserid(userid); 16 | } 17 | 18 | @Override 19 | public Integer editResume(Resume resume) { 20 | return resumeDao.editResume(resume); 21 | } 22 | 23 | @Override 24 | public Integer addResume(Resume resume, Integer userid) { 25 | return resumeDao.addResume(resume,userid); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/impl/RoleServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service.impl; 2 | 3 | import com.baoge.dao.RoleDao; 4 | import com.baoge.entity.Role; 5 | import com.baoge.service.RoleService; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | 12 | @Service 13 | public class RoleServiceImpl implements RoleService { 14 | @Autowired 15 | RoleDao roleDao; 16 | 17 | @Override 18 | public List listRole() { 19 | return roleDao.listRole(); 20 | } 21 | 22 | @Override 23 | public List getRoleListByUserId(Integer id) { 24 | return roleDao.getRoleListByUserId(id); 25 | } 26 | 27 | @Override 28 | public List searchRole(String roleName) { 29 | return roleDao.searchRole(roleName); 30 | } 31 | 32 | @Override 33 | public Integer addRole(Role role) { 34 | return roleDao.addRole(role); 35 | } 36 | 37 | @Override 38 | public int deleteRoles(String ids) { 39 | List del_ids = new ArrayList<>(); 40 | String[] str_ids = ids.split("-"); 41 | for (String string : str_ids) { 42 | del_ids.add(Integer.parseInt(string)); 43 | } 44 | /*System.out.println("del:"+del_ids);*/ 45 | if (del_ids.contains(1)) { 46 | return 0; 47 | } else { 48 | roleDao.deleteRoleMenus(del_ids); 49 | return roleDao.deleteRoles(del_ids); 50 | } 51 | } 52 | 53 | @Override 54 | public int deleteRole(int id) { 55 | roleDao.deleteroleMenu(id); 56 | return roleDao.deleteRole(id); 57 | } 58 | 59 | @Override 60 | public Role getRoleById(int id) { 61 | return roleDao.getRoleById(id); 62 | } 63 | 64 | @Override 65 | public int editRole(Role role) { 66 | 67 | return roleDao.editRole(role); 68 | } 69 | 70 | @Override 71 | public void updateRoleMenu(Integer roleId, String menuIds) { 72 | // 删除角色对应的菜单 73 | roleDao.deleteMenusByRoleId(roleId); 74 | if (!("".equals(menuIds))) { 75 | // 添加菜单 76 | String[] ids = menuIds.split(","); 77 | for (String id : ids) { 78 | roleDao.addRoleMenus(roleId, Integer.parseInt(id)); 79 | } 80 | } 81 | } 82 | 83 | } 84 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/service/impl/UserServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.baoge.service.impl; 2 | 3 | import com.baoge.dao.UserDao; 4 | import com.baoge.entity.User; 5 | import com.baoge.service.UserService; 6 | import com.baoge.utils.MD5Utils; 7 | import com.baoge.utils.MsgResult; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.stereotype.Service; 10 | 11 | import java.util.ArrayList; 12 | import java.util.List; 13 | 14 | @Service 15 | public class UserServiceImpl implements UserService { 16 | @Autowired 17 | private UserDao userDao; 18 | 19 | @Override 20 | public User checkUser(String username, String password) { 21 | User user = userDao.findByUsernameAndPassword(username, MD5Utils.getMD5(password)); 22 | return user; 23 | } 24 | 25 | @Override 26 | public User getUserById(Integer id) { 27 | return userDao.getUserById(id); 28 | } 29 | 30 | @Override 31 | public List searchUser(String username, String sex, String status) { 32 | return userDao.searchUser(username,sex,status); 33 | } 34 | 35 | @Override 36 | public List listUser() { 37 | return userDao.listUser(); 38 | } 39 | 40 | @Override 41 | public Integer editUser(User user) { 42 | if(user.getPassword()==null || user.getPassword()==""){ 43 | return userDao.editUser(user); 44 | }else { 45 | user.setPassword(MD5Utils.getMD5(user.getPassword())); 46 | return userDao.editUser(user); 47 | } 48 | } 49 | 50 | @Override 51 | public MsgResult updateUserRole(Integer userId, String roleIds) { 52 | 53 | // 删除用户下所有的角色 54 | userDao.deleteUserRole(userId); 55 | String[] rIds = roleIds.split(","); 56 | 57 | for (String rId : rIds) { 58 | /*System.out.println(userId);*/ 59 | userDao.addUserRole(userId, Long.parseLong(rId)); 60 | } 61 | return MsgResult.build(1, ""); 62 | } 63 | 64 | @Override 65 | public int deleteUser(int id) { 66 | userDao.deleteUserRole(id); 67 | userDao.deleteCardImageByUserId(id); 68 | userDao.deleteResumeByUserId(id); 69 | userDao.deleteJobByUserId(id); 70 | userDao.deleteApplicationByUserId(id); 71 | return userDao.deleteUser(id); 72 | } 73 | 74 | @Override 75 | public int deleteUsers(String ids) { 76 | Listdel_ids=new ArrayList<>(); 77 | String[] str_ids=ids.split("-"); 78 | for (String string:str_ids){ 79 | del_ids.add(Integer.parseInt(string)); 80 | } 81 | /*System.out.println("del:"+del_ids);*/ 82 | if (del_ids.contains(1)){ 83 | return 0; 84 | }else { 85 | userDao.deleteUserRoles(del_ids); 86 | return userDao.deleteUsers(del_ids); 87 | } 88 | } 89 | 90 | @Override 91 | public int addUser(User user) { 92 | user.setPassword(MD5Utils.getMD5(user.getPassword())); 93 | return userDao.addUser(user); 94 | } 95 | 96 | @Override 97 | public int searchUserByUserName(String username) { 98 | return userDao.searchUserByUserName(username); 99 | } 100 | 101 | @Override 102 | public void addUserRole(Integer userId, long roleId) { 103 | userDao.addUserRole(userId,roleId); 104 | } 105 | 106 | @Override 107 | public User checkUserPasswordById(String password, Integer id) { 108 | password=MD5Utils.getMD5(password); 109 | return userDao.checkUserPasswordById(password,id); 110 | } 111 | 112 | @Override 113 | public int editUserpassword(String password, Integer id) { 114 | password=MD5Utils.getMD5(password); 115 | return userDao.editUserpassword(password,id); 116 | } 117 | 118 | @Override 119 | public List getRoleidsById(Integer id) { 120 | return userDao.getRoleidsById(id); 121 | } 122 | 123 | } 124 | 125 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/utils/MD5Utils.java: -------------------------------------------------------------------------------- 1 | package com.baoge.utils; 2 | 3 | import org.springframework.util.DigestUtils; 4 | 5 | public class MD5Utils { 6 | //盐 7 | public static final String salt ="surery###$$$@@@"; 8 | 9 | public static String getMD5(String string){ 10 | String val = string+salt; 11 | return DigestUtils.md5DigestAsHex(val.getBytes()); 12 | } 13 | 14 | public static void main(String[] args) { 15 | System.out.println(getMD5("111111")); 16 | } 17 | } 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/utils/MenuTree.java: -------------------------------------------------------------------------------- 1 | package com.baoge.utils; 2 | 3 | import java.util.LinkedList; 4 | import java.util.List; 5 | 6 | public class MenuTree { 7 | private Integer id; 8 | private String title; 9 | private String icon; 10 | private String href; 11 | private String target; 12 | private Integer parentId; 13 | private Integer visible; 14 | private Integer sort;//排序 15 | //复选树的必要属性 16 | private String checkArr = "0";//选中就是1 17 | private List children = new LinkedList<>(); 18 | 19 | public MenuTree() { 20 | } 21 | 22 | public Integer getId() { 23 | return id; 24 | } 25 | 26 | public void setId(Integer id) { 27 | this.id = id; 28 | } 29 | 30 | public String getTitle() { 31 | return title; 32 | } 33 | 34 | public void setTitle(String title) { 35 | this.title = title; 36 | } 37 | 38 | public String getIcon() { 39 | return icon; 40 | } 41 | 42 | public void setIcon(String icon) { 43 | this.icon = icon; 44 | } 45 | 46 | public String getHref() { 47 | return href; 48 | } 49 | 50 | public void setHref(String href) { 51 | this.href = href; 52 | } 53 | 54 | public String getTarget() { 55 | return target; 56 | } 57 | 58 | public void setTarget(String target) { 59 | this.target = target; 60 | } 61 | 62 | public Integer getParentId() { 63 | return parentId; 64 | } 65 | 66 | public void setParentId(Integer parentId) { 67 | this.parentId = parentId; 68 | } 69 | 70 | public Integer getVisible() { 71 | return visible; 72 | } 73 | 74 | public void setVisible(Integer visible) { 75 | this.visible = visible; 76 | } 77 | 78 | public Integer getSort() { 79 | return sort; 80 | } 81 | 82 | public void setSort(Integer sort) { 83 | this.sort = sort; 84 | } 85 | 86 | public String getCheckArr() { 87 | return checkArr; 88 | } 89 | 90 | public void setCheckArr(String checkArr) { 91 | this.checkArr = checkArr; 92 | } 93 | 94 | public List getChildren() { 95 | return children; 96 | } 97 | 98 | public void setChildren(List children) { 99 | this.children = children; 100 | } 101 | 102 | @Override 103 | public String toString() { 104 | return "MenuTree{" + 105 | "id=" + id + 106 | ", title='" + title + '\'' + 107 | ", icon='" + icon + '\'' + 108 | ", href='" + href + '\'' + 109 | ", target='" + target + '\'' + 110 | ", parentId=" + parentId + 111 | ", visible=" + visible + 112 | ", sort=" + sort + 113 | ", checkArr='" + checkArr + '\'' + 114 | ", children=" + children + 115 | '}'; 116 | } 117 | } 118 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/utils/MsgResult.java: -------------------------------------------------------------------------------- 1 | package com.baoge.utils; 2 | 3 | public class MsgResult { 4 | // 响应业务状态 5 | private Integer code; 6 | 7 | // 响应消息 8 | private String msg; 9 | 10 | // 响应中的数据 11 | private Object data; 12 | 13 | private Long count; 14 | 15 | public MsgResult() { 16 | } 17 | 18 | public MsgResult(Integer code, String msg) { 19 | this.code = code; 20 | this.msg = msg; 21 | } 22 | 23 | public MsgResult(Integer code, String msg, Object data) { 24 | this.code = code; 25 | this.msg = msg; 26 | this.data = data; 27 | } 28 | 29 | public MsgResult(Integer code, String msg, Object data, Long count) { 30 | this.code = code; 31 | this.msg = msg; 32 | this.data = data; 33 | this.count = count; 34 | } 35 | 36 | public static MsgResult build(Integer code, String msg) { 37 | return new MsgResult(code, msg); 38 | } 39 | 40 | public static MsgResult build(Integer code, String msg, Object data) { 41 | return new MsgResult(code, msg, data); 42 | } 43 | 44 | 45 | public Integer getCode() { 46 | return code; 47 | } 48 | 49 | public void setCode(Integer code) { 50 | this.code = code; 51 | } 52 | 53 | public String getMsg() { 54 | return msg; 55 | } 56 | 57 | public void setMsg(String msg) { 58 | this.msg = msg; 59 | } 60 | 61 | public Object getData() { 62 | return data; 63 | } 64 | 65 | public void setData(Object data) { 66 | this.data = data; 67 | } 68 | 69 | public Long getCount() { 70 | return count; 71 | } 72 | 73 | public void setCount(Long count) { 74 | this.count = count; 75 | } 76 | 77 | @Override 78 | public String toString() { 79 | return "MsgResult{" + 80 | "code=" + code + 81 | ", msg='" + msg + '\'' + 82 | ", data=" + data + 83 | ", count=" + count + 84 | '}'; 85 | } 86 | } 87 | 88 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/utils/NetworkUtil.java: -------------------------------------------------------------------------------- 1 | package com.baoge.utils; 2 | 3 | import javax.servlet.http.HttpServletRequest; 4 | 5 | /* 获取对象的IP地址等信息 */ 6 | public class NetworkUtil { 7 | 8 | public static String getIpAddress(HttpServletRequest request) { 9 | String ip = request.getHeader("x-forwarded-for"); 10 | if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 11 | ip = request.getHeader("Proxy-Client-IP"); 12 | } 13 | if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 14 | ip = request.getHeader("WL-Proxy-Client-IP"); 15 | } 16 | if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 17 | ip = request.getHeader("HTTP_CLIENT_IP"); 18 | } 19 | if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 20 | ip = request.getHeader("HTTP_X_FORWARDED_FOR"); 21 | } 22 | if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 23 | ip = request.getRemoteAddr(); 24 | } 25 | return ip; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/utils/TimeUtils.java: -------------------------------------------------------------------------------- 1 | package com.baoge.utils; 2 | 3 | import java.text.ParseException; 4 | import java.text.SimpleDateFormat; 5 | import java.util.Date; 6 | 7 | public class TimeUtils { 8 | public static Date getdate(Date time) throws ParseException { 9 | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //格式化规则 10 | String time1 = sdf.format(time); 11 | Date newDate =sdf.parse(time1); 12 | java.sql.Date resultDate = new java.sql.Date(newDate.getTime()); 13 | return resultDate; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/baoge/utils/UserUtils.java: -------------------------------------------------------------------------------- 1 | package com.baoge.utils; 2 | 3 | import com.baoge.entity.User; 4 | 5 | import javax.servlet.http.HttpSession; 6 | 7 | public class UserUtils { 8 | public static User getSubjectUser(HttpSession session) { 9 | return (User) session.getAttribute("loginUser"); 10 | } 11 | public static User getSubjectFontUser(HttpSession session) { 12 | return (User) session.getAttribute("frontuser"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8081 3 | servlet: 4 | session: 5 | timeout: PT30M 6 | 7 | spring: 8 | thymeleaf: 9 | mode: HTML 10 | datasource: 11 | driver-class-name: com.mysql.cj.jdbc.Driver 12 | url: jdbc:mysql://localhost:3306/part_time_job?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC 13 | username: root 14 | password: 123456 15 | servlet: 16 | multipart: 17 | max-file-size: 100MB 18 | max-request-size: 100MB 19 | mybatis: 20 | type-aliases-package: com.baoge.entity 21 | mapper-locations: classpath:mybatis/mapper/*.xml 22 | configuration: 23 | map-underscore-to-camel-case: true 24 | 25 | logging: 26 | level: 27 | com.baoge.dao: debug -------------------------------------------------------------------------------- /src/main/resources/mybatis/mapper/ApplicationDao.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | insert into application(user_id,job_id,recruiter_id,createtime,status)values (#{userId},#{jobId},#{recruiterId},#{createtime},#{status}) 11 | 12 | 13 | delete from application where id=#{id} 14 | 15 | 16 | 26 | 29 | 30 | update application set status=#{i} where id=#{id} 31 | 32 | -------------------------------------------------------------------------------- /src/main/resources/mybatis/mapper/CardImageDao.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | INSERT INTO cardimage(user_id,identity_card_image_url,image_url,status) values 11 | (#{cardImage.userId},#{cardImage.identityCardImageUrl},#{cardImage.imageUrl},#{cardImage.status}) 12 | 13 | 14 | UPDATE cardimage 15 | 16 | identity_card_image_url=#{identityCardImageUrl}, 17 | image_url=#{imageUrl}, 18 | status=#{status}, 19 | 20 | WHERE user_id=#{userId} 21 | 22 | 28 | 29 | update cardimage set status=#{i} where id=#{id} 30 | 31 | 46 | -------------------------------------------------------------------------------- /src/main/resources/mybatis/mapper/LogInfoDao.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | insert into log(login_name,login_ip,login_status,login_msg,login_time) 9 | values (#{loginName},#{loginIp},#{loginStatus},#{loginMsg},#{loginTime}) 10 | 11 | 12 | 15 | 16 | 17 | 34 | 35 | 36 | 37 | delete from log 38 | where 1>2 or id in 39 | 40 | #{del_ids} 41 | 42 | 43 | -------------------------------------------------------------------------------- /src/main/resources/mybatis/mapper/MenuDao.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 22 | 23 | 26 | 27 | 34 | 35 | 36 | 42 | 43 | 44 | 45 | 46 | INSERT INTO menu(title,sort,icon,href,pid,visible) 47 | VALUES (#{title},#{sort},#{icon},#{href},#{pid},#{visible}) 48 | 49 | 50 | 53 | 54 | 55 | 58 | 59 | 60 | 61 | UPDATE menu 62 | 63 | title=#{title}, 64 | icon=#{icon}, 65 | href=#{href}, 66 | visible=#{visible}, 67 | sort=#{sort} 68 | 69 | where id=#{id} 70 | 71 | 72 | 73 | 74 | DELETE FROM menu WHERE id=#{id} 75 | 76 | 77 | DELETE FROM role_menu WHERE menu_id=#{id} 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /src/main/resources/mybatis/mapper/NewsDao.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 12 | 13 | INSERT INTO news(title,content,createtime) 14 | VALUES (#{title}, #{content},#{createtime}) 15 | 16 | 17 | delete from news 18 | where 1>2 or id in 19 | 20 | #{del_ids} 21 | 22 | 23 | 24 | DELETE FROM news WHERE id=#{id} 25 | 26 | 29 | 30 | UPDATE news 31 | 32 | title=#{title}, 33 | content=#{content}, 34 | createtime=#{createtime} 35 | 36 | WHERE id=#{id} 37 | 38 | -------------------------------------------------------------------------------- /src/main/resources/mybatis/mapper/ResumeDao.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 25 | 26 | 27 | UPDATE resume 28 | 29 | schoolname=#{schoolname}, 30 | starttime=#{starttime}, 31 | endtime=#{endtime}, 32 | education=#{education}, 33 | major=#{major}, 34 | experience=#{experience}, 35 | 36 | WHERE id=#{id} 37 | 38 | 39 | INSERT INTO resume(schoolname,starttime,endtime,education,major,experience,userid) values( 40 | #{resume.schoolname},#{resume.starttime},#{resume.endtime},#{resume.education},#{resume.major},#{resume.experience},#{userid} 41 | ) 42 | 43 | -------------------------------------------------------------------------------- /src/main/resources/mybatis/mapper/RoleDao.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 11 | 12 | 13 | 17 | 18 | 25 | 26 | insert into role(role_name,role_desc) values (#{roleName},#{roleDesc}) 27 | 28 | 29 | 30 | delete from role 31 | where 1>2 or id in 32 | 33 | #{del_ids} 34 | 35 | 36 | 37 | 38 | delete from role_menu 39 | where 1>2 or role_id in 40 | 41 | #{del_ids} 42 | 43 | 44 | 45 | 46 | DELETE FROM role_menu WHERE role_id=#{id} 47 | 48 | 49 | 50 | DELETE FROM role WHERE id=#{id} 51 | 52 | 53 | 54 | 57 | 58 | 59 | update role 60 | 61 | role_name=#{roleName}, 62 | role_desc=#{roleDesc} 63 | 64 | 65 | where id=#{id} 66 | 67 | 68 | 69 | 70 | DELETE FROM role_menu WHERE role_id=#{roleId} 71 | 72 | 73 | 74 | INSERT INTO role_menu(role_id,menu_id) VALUES (#{roleId},#{menuId}) 75 | 76 | -------------------------------------------------------------------------------- /src/main/resources/mybatis/mapper/UserPositionDao.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 12 | 18 | 24 | 30 | 31 | -------------------------------------------------------------------------------- /src/main/resources/static/css/oneself/abouts.css: -------------------------------------------------------------------------------- 1 | .ab_nav { 2 | margin-top: 30px; 3 | background-color: #fff; 4 | } 5 | .ab_nav>div{ 6 | text-align: left; 7 | font-size: 18px; 8 | line-height: 20px; 9 | padding:15px 0 10px 0; 10 | float: left; 11 | width: 120px; 12 | 13 | } 14 | .ab_nav>div>p{ 15 | cursor: pointer; 16 | display: inline-block; 17 | padding-bottom: 10px; 18 | font-size: 15px; 19 | } 20 | .ab_nav>div>p:hover { 21 | color: #ff6700; 22 | } 23 | .first { 24 | border-bottom:2px solid #ff6700; 25 | color: #ff6700; 26 | } 27 | .ab_content { 28 | position: relative; 29 | padding: 0; 30 | margin-top: 30px; 31 | height: 900px; 32 | } 33 | .ab_content>div { 34 | width: 100%; 35 | /* height: 600px; */ 36 | border-radius: 20px; 37 | padding: 20px; 38 | line-height: 40px; 39 | position: absolute; 40 | display: none; 41 | background-color: #fff; 42 | } 43 | .ab_content .divxian { 44 | display: block; 45 | } 46 | .com_name{ 47 | color: #424242; 48 | font-size: 20px!important; 49 | font-weight: normal !important; 50 | padding-bottom: 10px !important; 51 | } 52 | h1{ 53 | font-weight: normal !important; 54 | font-size: 28px !important; 55 | color: #333 !important; 56 | padding-bottom: 15px !important; 57 | } 58 | .lianxis{ 59 | overflow: hidden; 60 | box-sizing: border-box ; 61 | padding: 0 0!important; 62 | } 63 | .lianxis p{ 64 | color: #757575 !important; 65 | } 66 | .lianxis_contents{ 67 | padding: 60px 0 !important; 68 | padding-left: 100px !important; 69 | } 70 | .wenda dt,dd{ 71 | font-size: 16px ; 72 | line-height: 28px ; 73 | margin-bottom: 10px ; 74 | font-family: "Microsoft Yahei" !important; 75 | color: #4b4b4b !important; 76 | } 77 | .wenda dd{ 78 | margin-bottom: 30px ; 79 | } 80 | .mod-body-box{ 81 | margin: 40px !important; 82 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/oneself/news.css: -------------------------------------------------------------------------------- 1 | .new{ 2 | margin-top: 20px; 3 | background-color: #fff; 4 | padding: 20px 30px 0px 30px; 5 | transition: All 0.3s ease-in-out; 6 | -webkit-transition: All 0.3s ease-in-out; 7 | -moz-transition: All 0.3s ease-in-out; 8 | -o-transition: All 0.3s ease-in-out; 9 | } 10 | .new:hover { 11 | transform: scale(1.05); 12 | -webkit-transform: scale(1.05); 13 | -moz-transform: scale(1.05); 14 | -o-transform: scale(1.05); 15 | -ms-transform: scale(1.05); 16 | } 17 | .desc{ 18 | float: left; 19 | margin: 30px; 20 | } 21 | 22 | .paging{ 23 | text-align: center; 24 | } 25 | .pagination>li>a:hover{ 26 | background-color: #1E9FFF; 27 | } 28 | .pagination>.active>a, 29 | .pagination>.active>a:focus, 30 | .pagination>.active>a:hover, 31 | .pagination>.active>span, 32 | .pagination>.active>span:focus, 33 | .pagination>.active>span:hover { 34 | z-index: 3; 35 | color: #fff; 36 | cursor: default; 37 | background-color: #1E9FFF; 38 | border-color: #1E9FFF; 39 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/oneself/personal.css: -------------------------------------------------------------------------------- 1 | .dashboard { 2 | margin-top: 42px; 3 | } 4 | 5 | .panel-group { 6 | margin-bottom: 20px; 7 | } 8 | 9 | .panel-group .panel { 10 | margin-bottom: 0; 11 | border-radius: 4px; 12 | } 13 | 14 | .panel-default { 15 | border-color: #ddd; 16 | } 17 | .panel-default a{ 18 | color:#337ab7!important; 19 | } 20 | a:hover, a:focus{ 21 | /* color: #ff6700!important;*/ 22 | text-decoration: none; 23 | } 24 | .content.notices { 25 | background-color: white; 26 | padding-bottom: 30px; 27 | } 28 | .noti-header { 29 | font-weight: 700; 30 | font-size: 14px; 31 | padding-bottom: 10px; 32 | border-bottom: 1px solid #CCC; 33 | position: relative; 34 | margin-top: 20px; 35 | text-align: center; 36 | } 37 | .empty-line { 38 | height: 20px; 39 | } 40 | .empty-row { 41 | height: 40px; 42 | } 43 | .layuimini-form > .layui-form-item > .myrequired:after { 44 | content: '*'; 45 | color: red; 46 | position: absolute; 47 | margin-left: 4px; 48 | font-weight: bold; 49 | line-height: 1.8em; 50 | top: 6px; 51 | right: 5px; 52 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/oneself/pijob.css: -------------------------------------------------------------------------------- 1 | .pi_content { 2 | margin-top: 30px; 3 | background-color: #fff; 4 | padding: 25px 0px 0px; 5 | 6 | } 7 | .status{ 8 | margin: 20px 0px; 9 | } 10 | .type{ 11 | margin: 15px 0px; 12 | } 13 | .describe{ 14 | word-break: break-all; 15 | margin-top: 20px; 16 | margin-bottom: 20px; 17 | line-height:24px; 18 | font-size: 15px; 19 | color: #666666; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/static/css/oneself/ptjob.css: -------------------------------------------------------------------------------- 1 | .pt_screen { 2 | margin-top: 10px; 3 | background-color: #fff; 4 | padding: 10px 10px; 5 | padding-bottom: 0; 6 | } 7 | .pt_screen>div{ 8 | padding: 10px 0; 9 | border-bottom: 0px solid #eef0f5; 10 | } 11 | 12 | .on { 13 | background-color: #f60; 14 | color: #ffffff !important; 15 | } 16 | .select-box ul > li:first-child, .select-result ul > li:first-child{ 17 | color:black; 18 | pointer-events:none; 19 | } 20 | 21 | .select-box ul>li{ 22 | float: left; 23 | width: 80px; 24 | text-align: center; 25 | height: 30px; 26 | line-height: 30px; 27 | color: #575050; 28 | cursor: pointer; 29 | margin: 5px 0; 30 | } 31 | 32 | .select-box ul, .select-result{ 33 | clear:both; 34 | } 35 | 36 | .select-result li{ 37 | float:left; 38 | width: 80px; 39 | text-align : center; 40 | padding:3px 0; 41 | color:#c9c9c9; 42 | } 43 | .pt_recruitment{ 44 | margin-top: 20px; 45 | background-color: #fff; 46 | } 47 | .job{ 48 | margin-top: 20px; 49 | background-color: #fff; 50 | padding: 20px 30px 0px 30px; 51 | transition: All 0.3s ease-in-out; 52 | -webkit-transition: All 0.3s ease-in-out; 53 | -moz-transition: All 0.3s ease-in-out; 54 | -o-transition: All 0.3s ease-in-out; 55 | } 56 | .job:hover { 57 | transform: scale(1.05); 58 | -webkit-transform: scale(1.05); 59 | -moz-transform: scale(1.05); 60 | -o-transform: scale(1.05); 61 | -ms-transform: scale(1.05); 62 | } 63 | .jobleft{ 64 | border-right:1px solid #c9c9c9; 65 | } 66 | .desc{ 67 | float: left; 68 | margin: 30px; 69 | } 70 | .desc p{ 71 | overflow: hidden; 72 | text-overflow: ellipsis; 73 | display: -webkit-box; 74 | -webkit-line-clamp: 2; 75 | -webkit-box-orient: vertical; 76 | width: 500px; 77 | } 78 | .paging{ 79 | text-align: center; 80 | } 81 | 82 | .not-allowed{cursor:not-allowed;} 83 | 84 | 85 | .pagination>li>a:hover{ 86 | background-color: #1E9FFF; 87 | } 88 | .pagination>.active>a, 89 | .pagination>.active>a:focus, 90 | .pagination>.active>a:hover, 91 | .pagination>.active>span, 92 | .pagination>.active>span:focus, 93 | .pagination>.active>span:hover { 94 | z-index: 3; 95 | color: #fff; 96 | cursor: default; 97 | background-color: #1E9FFF; 98 | border-color: #1E9FFF; 99 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/oneself/start.css: -------------------------------------------------------------------------------- 1 | body,html{ 2 | width: 100%; 3 | height: 100%; 4 | background-color: #f5f5f5; 5 | overflow-x: hidden; 6 | font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", Tahoma, "Hiragino Sans GB", STHeiti, "PingFang SC", "Noto Sans", "Noto Sans CJK SC", "Microsoft YaHei"!important; 7 | } 8 | body,html,a,p,div,ul,li{ 9 | margin: 0; 10 | padding: 0; 11 | } 12 | a:hover{ 13 | text-decoration: none; 14 | color: #00A5FA; 15 | } 16 | .paddings{ 17 | padding: 0 0; 18 | } 19 | .floatright{ 20 | float: right; 21 | } 22 | li{ 23 | list-style: none; 24 | } 25 | .red { 26 | background-color: red; 27 | } 28 | .blue { 29 | background-color: blue; 30 | } 31 | .yellow { 32 | background-color: yellow; 33 | } -------------------------------------------------------------------------------- /src/main/resources/static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/main/resources/static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/main/resources/static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/main/resources/static/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /src/main/resources/static/images/about.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/images/about.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/dibubg_you.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/images/dibubg_you.png -------------------------------------------------------------------------------- /src/main/resources/static/images/dibubg_zuo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/images/dibubg_zuo.png -------------------------------------------------------------------------------- /src/main/resources/static/images/logo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/images/logo1.png -------------------------------------------------------------------------------- /src/main/resources/static/images/lunbo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/images/lunbo1.png -------------------------------------------------------------------------------- /src/main/resources/static/images/lunbo3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/images/lunbo3.png -------------------------------------------------------------------------------- /src/main/resources/static/images/lunbo4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/images/lunbo4.png -------------------------------------------------------------------------------- /src/main/resources/static/images/map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/images/map.png -------------------------------------------------------------------------------- /src/main/resources/static/images/wechat1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/images/wechat1.png -------------------------------------------------------------------------------- /src/main/resources/static/js/html5.min.js: -------------------------------------------------------------------------------- 1 | (function(e,t){function n(e,t){var n=e.createElement("p"),i=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x",i.insertBefore(n.lastChild,i.firstChild)}function i(){var e=m.elements;return"string"==typeof e?e.split(" "):e}function r(e){var t={},n=e.createElement,r=e.createDocumentFragment,o=r();e.createElement=function(e){m.shivMethods||n(e);var i;return i=t[e]?t[e].cloneNode():g.test(e)?(t[e]=n(e)).cloneNode():n(e),i.canHaveChildren&&!f.test(e)?o.appendChild(i):i},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+i().join().replace(/\w+/g,function(e){return t[e]=n(e),o.createElement(e),'c("'+e+'")'})+");return n}")(m,o)}function o(e){var t;return e.documentShived?e:(m.shivCSS&&!d&&(t=!!n(e,"article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio{display:none}canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}mark{background:#FF0;color:#000}")),h||(t=!r(e)),t&&(e.documentShived=t),e)}function a(e){for(var t,n=e.getElementsByTagName("*"),r=n.length,o=RegExp("^(?:"+i().join("|")+")$","i"),a=[];r--;)t=n[r],o.test(t.nodeName)&&a.push(t.applyElement(s(t)));return a}function s(e){for(var t,n=e.attributes,i=n.length,r=e.ownerDocument.createElement(b+":"+e.nodeName);i--;)t=n[i],t.specified&&r.setAttribute(t.nodeName,t.nodeValue);return r.style.cssText=e.style.cssText,r}function l(e){for(var t,n=e.split("{"),r=n.length,o=RegExp("(^|[\\s,>+~])("+i().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),a="$1"+b+"\\:$2";r--;)t=n[r]=n[r].split("}"),t[t.length-1]=t[t.length-1].replace(o,a),n[r]=t.join("}");return n.join("{")}function c(e){for(var t=e.length;t--;)e[t].removeNode()}function u(e){var t,i,r=e.namespaces,o=e.parentWindow;return!y||e.printShived?e:(r[b]===void 0&&r.add(b),o.attachEvent("onbeforeprint",function(){for(var r,o,s,c=e.styleSheets,u=[],d=c.length,h=Array(d);d--;)h[d]=c[d];for(;s=h.pop();)if(!s.disabled&&v.test(s.media)){for(r=s.imports,d=0,o=r.length;o>d;d++)h.push(r[d]);try{u.push(s.cssText)}catch(p){}}u=l(u.reverse().join("")),i=a(e),t=n(e,u)}),o.attachEvent("onafterprint",function(){c(i),t.removeNode(!0)}),e.printShived=!0,e)}var d,h,p=e.html5||{},f=/^<|^(?:button|form|map|select|textarea|object|iframe)$/i,g=/^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i;(function(){var n=t.createElement("a");n.innerHTML="",d="hidden"in n,d&&"function"==typeof injectElementWithStyles&&injectElementWithStyles("#modernizr{}",function(t){t.hidden=!0,d="none"==(e.getComputedStyle?getComputedStyle(t,null):t.currentStyle).display}),h=1==n.childNodes.length||function(){try{t.createElement("a")}catch(e){return!0}var n=t.createDocumentFragment();return n.cloneNode===void 0||n.createDocumentFragment===void 0||n.createElement===void 0}()})();var m={elements:p.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:p.shivCSS!==!1,shivMethods:p.shivMethods!==!1,type:"default",shivDocument:o};e.html5=m,o(t);var v=/^$|\b(?:all|print)\b/,b="html5shiv",y=!h&&function(){var n=t.documentElement;return t.namespaces!==void 0&&t.parentWindow!==void 0&&n.applyElement!==void 0&&n.removeNode!==void 0&&e.attachEvent!==void 0}();m.type+=" print",m.shivPrint=u,u(t)})(this,document); -------------------------------------------------------------------------------- /src/main/resources/static/layui/css/public.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 15px 15px 15px 15px; 3 | background: #f2f2f2; 4 | } 5 | 6 | .layuimini-container { 7 | border: 1px solid #f2f2f2; 8 | border-radius: 5px; 9 | background-color: #ffffff 10 | } 11 | 12 | .layuimini-main { 13 | margin: 10px 10px 10px 10px; 14 | } 15 | 16 | /**必填红点 */ 17 | .layuimini-form > .layui-form-item > .required:after { 18 | content: '*'; 19 | color: red; 20 | position: absolute; 21 | margin-left: 4px; 22 | font-weight: bold; 23 | line-height: 1.8em; 24 | top: 6px; 25 | right: 5px; 26 | } 27 | 28 | .layuimini-form > .layui-form-item > .layui-form-label { 29 | width: 120px !important; 30 | } 31 | 32 | .layuimini-form > .layui-form-item > .layui-input-block { 33 | margin-left: 150px !important; 34 | } 35 | 36 | .layuimini-form > .layui-form-item > .layui-input-block > tip { 37 | display: inline-block; 38 | margin-top: 10px; 39 | line-height: 10px; 40 | font-size: 10px; 41 | color: #a29c9c; 42 | } 43 | 44 | /**搜索框*/ 45 | .layuimini-container .table-search-fieldset { 46 | margin: 0; 47 | border: 1px solid #e6e6e6; 48 | padding: 10px 20px 5px 20px; 49 | color: #6b6b6b; 50 | } 51 | 52 | /**自定义滚动条样式 */ 53 | ::-webkit-scrollbar { 54 | width: 6px; 55 | height: 6px 56 | } 57 | 58 | ::-webkit-scrollbar-track { 59 | background-color: transparent; 60 | -webkit-border-radius: 2em; 61 | -moz-border-radius: 2em; 62 | border-radius: 2em; 63 | } 64 | 65 | ::-webkit-scrollbar-thumb { 66 | background-color: #9c9da0; 67 | -webkit-border-radius: 2em; 68 | -moz-border-radius: 2em; 69 | border-radius: 2em 70 | } 71 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/images/logo.png -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/logo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/images/logo2.png -------------------------------------------------------------------------------- /src/main/resources/static/layui/js/html5.min.js: -------------------------------------------------------------------------------- 1 | (function(e,t){function n(e,t){var n=e.createElement("p"),i=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x",i.insertBefore(n.lastChild,i.firstChild)}function i(){var e=m.elements;return"string"==typeof e?e.split(" "):e}function r(e){var t={},n=e.createElement,r=e.createDocumentFragment,o=r();e.createElement=function(e){m.shivMethods||n(e);var i;return i=t[e]?t[e].cloneNode():g.test(e)?(t[e]=n(e)).cloneNode():n(e),i.canHaveChildren&&!f.test(e)?o.appendChild(i):i},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+i().join().replace(/\w+/g,function(e){return t[e]=n(e),o.createElement(e),'c("'+e+'")'})+");return n}")(m,o)}function o(e){var t;return e.documentShived?e:(m.shivCSS&&!d&&(t=!!n(e,"article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio{display:none}canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}mark{background:#FF0;color:#000}")),h||(t=!r(e)),t&&(e.documentShived=t),e)}function a(e){for(var t,n=e.getElementsByTagName("*"),r=n.length,o=RegExp("^(?:"+i().join("|")+")$","i"),a=[];r--;)t=n[r],o.test(t.nodeName)&&a.push(t.applyElement(s(t)));return a}function s(e){for(var t,n=e.attributes,i=n.length,r=e.ownerDocument.createElement(b+":"+e.nodeName);i--;)t=n[i],t.specified&&r.setAttribute(t.nodeName,t.nodeValue);return r.style.cssText=e.style.cssText,r}function l(e){for(var t,n=e.split("{"),r=n.length,o=RegExp("(^|[\\s,>+~])("+i().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),a="$1"+b+"\\:$2";r--;)t=n[r]=n[r].split("}"),t[t.length-1]=t[t.length-1].replace(o,a),n[r]=t.join("}");return n.join("{")}function c(e){for(var t=e.length;t--;)e[t].removeNode()}function u(e){var t,i,r=e.namespaces,o=e.parentWindow;return!y||e.printShived?e:(r[b]===void 0&&r.add(b),o.attachEvent("onbeforeprint",function(){for(var r,o,s,c=e.styleSheets,u=[],d=c.length,h=Array(d);d--;)h[d]=c[d];for(;s=h.pop();)if(!s.disabled&&v.test(s.media)){for(r=s.imports,d=0,o=r.length;o>d;d++)h.push(r[d]);try{u.push(s.cssText)}catch(p){}}u=l(u.reverse().join("")),i=a(e),t=n(e,u)}),o.attachEvent("onafterprint",function(){c(i),t.removeNode(!0)}),e.printShived=!0,e)}var d,h,p=e.html5||{},f=/^<|^(?:button|form|map|select|textarea|object|iframe)$/i,g=/^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i;(function(){var n=t.createElement("a");n.innerHTML="",d="hidden"in n,d&&"function"==typeof injectElementWithStyles&&injectElementWithStyles("#modernizr{}",function(t){t.hidden=!0,d="none"==(e.getComputedStyle?getComputedStyle(t,null):t.currentStyle).display}),h=1==n.childNodes.length||function(){try{t.createElement("a")}catch(e){return!0}var n=t.createDocumentFragment();return n.cloneNode===void 0||n.createDocumentFragment===void 0||n.createElement===void 0}()})();var m={elements:p.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:p.shivCSS!==!1,shivMethods:p.shivMethods!==!1,type:"default",shivDocument:o};e.html5=m,o(t);var v=/^$|\b(?:all|print)\b/,b="html5shiv",y=!h&&function(){var n=t.documentElement;return t.namespaces!==void 0&&t.parentWindow!==void 0&&n.applyElement!==void 0&&n.removeNode!==void 0&&e.attachEvent!==void 0}();m.type+=" print",m.shivPrint=u,u(t)})(this,document); -------------------------------------------------------------------------------- /src/main/resources/static/layui/js/lay-config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * date:2019/08/16 3 | * author:Mr.Chung 4 | * description:此处放layui自定义扩展 5 | * version:2.0.4 6 | */ 7 | 8 | window.rootPath = (function (src) { 9 | src = document.scripts[document.scripts.length - 1].src; 10 | return src.substring(0, src.lastIndexOf("/") + 1); 11 | })(); 12 | 13 | layui.config({ 14 | base: rootPath + "lay-module/", 15 | version: true 16 | }).extend({ 17 | miniAdmin: "layuimini/miniAdmin", // layuimini后台扩展 18 | miniMenu: "layuimini/miniMenu", // layuimini菜单扩展 19 | miniTab: "layuimini/miniTab", // layuimini tab扩展 20 | miniTheme: "layuimini/miniTheme", // layuimini 主题扩展 21 | miniTongji: "layuimini/miniTongji", // layuimini 统计扩展 22 | step: 'step-lay/step', // 分步表单扩展 23 | treeTable: 'treeTable-lay/treeTable', //table树形扩展 24 | tableSelect: 'tableSelect/tableSelect', // table选择扩展 25 | iconPickerFa: 'iconPicker/iconPickerFa', // fa图标选择扩展 26 | echarts: 'echarts/echarts', // echarts图表扩展 27 | echartsTheme: 'echarts/echartsTheme', // echarts图表主题扩展 28 | wangEditor: 'wangEditor/wangEditor', // wangEditor富文本扩展 29 | layarea: 'layarea/layarea', // 省市县区三级联动下拉选择器 30 | }); 31 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/js/lay-module/layuimini/miniTongji.js: -------------------------------------------------------------------------------- 1 | /** 2 | * date:2020/03/01 3 | * author:Mr.Chung 4 | * version:2.0 5 | * description:layuimini 统计框架扩展 6 | */ 7 | layui.define(["jquery"], function (exports) { 8 | var $ = layui.$; 9 | 10 | var miniTongji = { 11 | 12 | /** 13 | * 初始化 14 | * @param options 15 | */ 16 | render: function (options) { 17 | options.specific = options.specific || false; 18 | options.domains = options.domains || []; 19 | var domain = window.location.hostname; 20 | if (options.specific === false || (options.specific === true && options.domains.indexOf(domain) >=0)) { 21 | miniTongji.listen(); 22 | } 23 | }, 24 | 25 | /** 26 | * 监听统计代码 27 | */ 28 | listen: function () { 29 | var _hmt = _hmt || []; 30 | (function () { 31 | var hm = document.createElement("script"); 32 | hm.src = "https://hm.baidu.com/hm.js?d97abf6d61c21d773f97835defbdef4e"; 33 | var s = document.getElementsByTagName("script")[0]; 34 | s.parentNode.insertBefore(hm, s); 35 | })(); 36 | } 37 | }; 38 | 39 | exports("miniTongji", miniTongji); 40 | }); -------------------------------------------------------------------------------- /src/main/resources/static/layui/js/lay-module/step-lay/step.css: -------------------------------------------------------------------------------- 1 | .lay-step { 2 | font-size: 0; 3 | width: 400px; 4 | margin: 0 auto; 5 | max-width: 100%; 6 | padding-left: 200px; 7 | } 8 | 9 | .step-item { 10 | display: inline-block; 11 | line-height: 26px; 12 | position: relative; 13 | font-size: 14px; 14 | } 15 | 16 | .step-item-tail { 17 | width: 100%; 18 | padding: 0 10px; 19 | position: absolute; 20 | left: 0; 21 | top: 13px; 22 | } 23 | 24 | .step-item-tail i { 25 | display: inline-block; 26 | width: 100%; 27 | height: 1px; 28 | vertical-align: top; 29 | background: #c2c2c2; 30 | position: relative; 31 | } 32 | 33 | .step-item-tail .step-item-tail-done { 34 | background: #009688; 35 | } 36 | 37 | .step-item-head { 38 | position: relative; 39 | display: inline-block; 40 | height: 26px; 41 | width: 26px; 42 | text-align: center; 43 | vertical-align: top; 44 | color: #009688; 45 | border: 1px solid #009688; 46 | border-radius: 50%; 47 | background: #ffffff; 48 | } 49 | 50 | .step-item-head.step-item-head-active { 51 | background: #009688; 52 | color: #ffffff; 53 | } 54 | 55 | .step-item-main { 56 | display: block; 57 | position: relative; 58 | margin-left: -50%; 59 | margin-right: 50%; 60 | padding-left: 26px; 61 | text-align: center; 62 | } 63 | 64 | .step-item-main-title { 65 | font-weight: bolder; 66 | color: #555555; 67 | } 68 | 69 | .step-item-main-desc { 70 | color: #aaaaaa; 71 | } 72 | 73 | .lay-step + [carousel-item]:before { 74 | display: none; 75 | } 76 | 77 | .lay-step + [carousel-item] > * { 78 | background-color: transparent; 79 | } -------------------------------------------------------------------------------- /src/main/resources/static/layui/js/lay-module/step-lay/step.js: -------------------------------------------------------------------------------- 1 | layui.define(['layer', 'carousel'], function (exports) { 2 | var $ = layui.jquery; 3 | var layer = layui.layer; 4 | var carousel = layui.carousel; 5 | 6 | // 添加步骤条dom节点 7 | var renderDom = function (elem, stepItems, postion) { 8 | var stepDiv = '
'; 9 | for (var i = 0; i < stepItems.length; i++) { 10 | stepDiv += '
'; 11 | // 线 12 | if (i < (stepItems.length - 1)) { 13 | if (i < postion) { 14 | stepDiv += '
'; 15 | } else { 16 | stepDiv += '
'; 17 | } 18 | } 19 | 20 | // 数字 21 | var number = stepItems[i].number; 22 | if (!number) { 23 | number = i + 1; 24 | } 25 | if (i == postion) { 26 | stepDiv += '
' + number + '
'; 27 | } else if (i < postion) { 28 | stepDiv += '
'; 29 | } else { 30 | stepDiv += '
' + number + '
'; 31 | } 32 | 33 | // 标题和描述 34 | var title = stepItems[i].title; 35 | var desc = stepItems[i].desc; 36 | if (title || desc) { 37 | stepDiv += '
'; 38 | if (title) { 39 | stepDiv += '
' + title + '
'; 40 | } 41 | if (desc) { 42 | stepDiv += '
' + desc + '
'; 43 | } 44 | stepDiv += '
'; 45 | } 46 | stepDiv += '
'; 47 | } 48 | stepDiv += '
'; 49 | 50 | $(elem).prepend(stepDiv); 51 | 52 | // 计算每一个条目的宽度 53 | var bfb = 100 / stepItems.length; 54 | $('.step-item').css('width', bfb + '%'); 55 | }; 56 | 57 | var step = { 58 | // 渲染步骤条 59 | render: function (param) { 60 | param.indicator = 'none'; // 不显示指示器 61 | param.arrow = 'always'; // 始终显示箭头 62 | param.autoplay = false; // 关闭自动播放 63 | if (!param.stepWidth) { 64 | param.stepWidth = '400px'; 65 | } 66 | 67 | // 渲染轮播图 68 | carousel.render(param); 69 | 70 | // 渲染步骤条 71 | var stepItems = param.stepItems; 72 | renderDom(param.elem, stepItems, 0); 73 | $('.lay-step').css('width', param.stepWidth); 74 | 75 | //监听轮播切换事件 76 | carousel.on('change(' + param.filter + ')', function (obj) { 77 | $(param.elem).find('.lay-step').remove(); 78 | renderDom(param.elem, stepItems, obj.index); 79 | $('.lay-step').css('width', param.stepWidth); 80 | }); 81 | 82 | // 隐藏左右箭头按钮 83 | $(param.elem).find('.layui-carousel-arrow').css('display', 'none'); 84 | 85 | // 去掉轮播图的背景颜色 86 | $(param.elem).css('background-color', 'transparent'); 87 | }, 88 | // 下一步 89 | next: function (elem) { 90 | $(elem).find('.layui-carousel-arrow[lay-type=add]').trigger('click'); 91 | }, 92 | // 上一步 93 | pre: function (elem) { 94 | $(elem).find('.layui-carousel-arrow[lay-type=sub]').trigger('click'); 95 | } 96 | }; 97 | 98 | layui.link(layui.cache.base + 'step-lay/step.css'); 99 | 100 | exports('step', step); 101 | }); 102 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/js/lay-module/wangEditor/fonts/w-e-icon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/js/lay-module/wangEditor/fonts/w-e-icon.woff -------------------------------------------------------------------------------- /src/main/resources/static/layui/json/clear.json: -------------------------------------------------------------------------------- 1 | { 2 | "code": 1, 3 | "msg": "服务端清理缓存成功" 4 | } -------------------------------------------------------------------------------- /src/main/resources/static/layui/json/init.json: -------------------------------------------------------------------------------- 1 | { 2 | "homeInfo": { 3 | "title": "首页", 4 | "href": "page/welcome-1.html?t=1" 5 | }, 6 | "logoInfo": { 7 | "title": "进存销管理", 8 | "image": "images/logo.png", 9 | "href": "" 10 | }, 11 | "menuInfo": [ 12 | {"id": 1, "title": "常规管理", "icon": "fa fa-home", "href": "", "target": "_self", "pid": 0, "visible": 1}, 13 | {"id": 12, "title": "系统管理", "icon": "", "href": "role/toRoleManager", "target": "_self", "pid": 1, "visible": 1}, 14 | {"id": 20, "title": "菜单管理", "icon": "", "href": "menu/toMenuManager", "target": "_self", "pid": 12, "visible": 1}, 15 | {"id": 21, "title": "用户管理", "icon": "", "href": "user/toUserManager", "target": "_self", "pid": 12, "visible": 1}, 16 | {"id": 22, "title": "角色管理", "icon": "", "href": "role/toRoleManager", "target": "_self", "pid": 12, "visible": 1} 17 | ] 18 | } -------------------------------------------------------------------------------- /src/main/resources/static/layui/json/init1.json: -------------------------------------------------------------------------------- 1 | { 2 | "homeInfo": { 3 | "title": "首页", 4 | "href": "page/welcome-1.html?t=1" 5 | }, 6 | "menuInfo": [ 7 | { 8 | "title": "常规管理", 9 | "icon": "fa fa-address-book", 10 | "href": "", 11 | "target": "_self", 12 | "child": [ 13 | { 14 | "title": "系统管理", 15 | "href": "", 16 | "icon": "fa fa-home", 17 | "target": "_self", 18 | "child": [ 19 | { 20 | "title": "权限管理", 21 | "href": "add.html", 22 | "icon": "fa fa-tachometer", 23 | "target": "_self" 24 | }, 25 | { 26 | "title": "用户管理", 27 | "href": "list.html", 28 | "icon": "fa fa-tachometer", 29 | "target": "_self" 30 | }, 31 | { 32 | "title": "登入页面", 33 | "href": "login", 34 | "icon": "fa fa-tachometer", 35 | "target": "_self" 36 | } 37 | ] 38 | } 39 | ] 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /src/main/resources/static/layui/json/init2.json: -------------------------------------------------------------------------------- 1 | { 2 | "menuInfo": [ 3 | {"id": 1, "title": "常规管理", "icon": "fa fa-home", "href": "", "target": "_self", "pid": 0, "visible": 1}, 4 | {"id": 12, "title": "系统管理", "icon": "", "href": "role/toRoleManager", "target": "_self", "pid": 1, "visible": 1}, 5 | {"id": 20, "title": "菜单管理", "icon": "", "href": "menu/toMenuManager", "target": "_self", "pid": 12, "visible": 1}, 6 | {"id": 21, "title": "用户管理", "icon": "", "href": "user/toUserManager", "target": "_self", "pid": 12, "visible": 1}, 7 | {"id": 22, "title": "角色管理", "icon": "", "href": "role/toRoleManager", "target": "_self", "pid": 12, "visible": 1} 8 | ], 9 | "homeInfo": { 10 | "id": null, 11 | "title": "首页", 12 | "icon": null, 13 | "href": "/welcome", 14 | "target": null, 15 | "pid": null, 16 | "visible": null 17 | } 18 | } -------------------------------------------------------------------------------- /src/main/resources/static/layui/json/table.json: -------------------------------------------------------------------------------- 1 | { 2 | "code": 0, 3 | "msg": "", 4 | "count": 1000, 5 | "data": [ 6 | { 7 | "id": 10000, 8 | "username": "user-0", 9 | "sex": "女", 10 | "city": "城市-0", 11 | "sign": "签名-0", 12 | "experience": 255, 13 | "logins": 24, 14 | "wealth": 82830700, 15 | "classify": "作家", 16 | "score": 57 17 | }, 18 | { 19 | "id": 10001, 20 | "username": "user-1", 21 | "sex": "男", 22 | "city": "城市-1", 23 | "sign": "签名-1", 24 | "experience": 884, 25 | "logins": 58, 26 | "wealth": 64928690, 27 | "classify": "词人", 28 | "score": 27 29 | }, 30 | { 31 | "id": 10002, 32 | "username": "user-2", 33 | "sex": "女", 34 | "city": "城市-2", 35 | "sign": "签名-2", 36 | "experience": 650, 37 | "logins": 77, 38 | "wealth": 6298078, 39 | "classify": "酱油", 40 | "score": 31 41 | }, 42 | { 43 | "id": 10003, 44 | "username": "user-3", 45 | "sex": "女", 46 | "city": "城市-3", 47 | "sign": "签名-3", 48 | "experience": 362, 49 | "logins": 157, 50 | "wealth": 37117017, 51 | "classify": "诗人", 52 | "score": 68 53 | }, 54 | { 55 | "id": 10004, 56 | "username": "user-4", 57 | "sex": "男", 58 | "city": "城市-4", 59 | "sign": "签名-4", 60 | "experience": 807, 61 | "logins": 51, 62 | "wealth": 76263262, 63 | "classify": "作家", 64 | "score": 6 65 | }, 66 | { 67 | "id": 10005, 68 | "username": "user-5", 69 | "sex": "女", 70 | "city": "城市-5", 71 | "sign": "签名-5", 72 | "experience": 173, 73 | "logins": 68, 74 | "wealth": 60344147, 75 | "classify": "作家", 76 | "score": 87 77 | }, 78 | { 79 | "id": 10006, 80 | "username": "user-6", 81 | "sex": "女", 82 | "city": "城市-6", 83 | "sign": "签名-6", 84 | "experience": 982, 85 | "logins": 37, 86 | "wealth": 57768166, 87 | "classify": "作家", 88 | "score": 34 89 | }, 90 | { 91 | "id": 10007, 92 | "username": "user-7", 93 | "sex": "男", 94 | "city": "城市-7", 95 | "sign": "签名-7", 96 | "experience": 727, 97 | "logins": 150, 98 | "wealth": 82030578, 99 | "classify": "作家", 100 | "score": 28 101 | }, 102 | { 103 | "id": 10008, 104 | "username": "user-8", 105 | "sex": "男", 106 | "city": "城市-8", 107 | "sign": "签名-8", 108 | "experience": 951, 109 | "logins": 133, 110 | "wealth": 16503371, 111 | "classify": "词人", 112 | "score": 14 113 | }, 114 | { 115 | "id": 10009, 116 | "username": "user-9", 117 | "sex": "女", 118 | "city": "城市-9", 119 | "sign": "签名-9", 120 | "experience": 484, 121 | "logins": 25, 122 | "wealth": 86801934, 123 | "classify": "词人", 124 | "score": 75 125 | } 126 | ] 127 | } -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/HELP-US-OUT.txt: -------------------------------------------------------------------------------- 1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, 2 | Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, 3 | comprehensive icon sets or copy and paste your own. 4 | 5 | Please. Check it out. 6 | 7 | -Dave Gandy 8 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/font-awesome-4.7.0/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .@{fa-css-prefix}-pull-left { float: left; } 11 | .@{fa-css-prefix}-pull-right { float: right; } 12 | 13 | .@{fa-css-prefix} { 14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .@{fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | @import "screen-reader.less"; 19 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | .fa-icon-rotate(@degrees, @rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; 16 | -webkit-transform: rotate(@degrees); 17 | -ms-transform: rotate(@degrees); 18 | transform: rotate(@degrees); 19 | } 20 | 21 | .fa-icon-flip(@horiz, @vert, @rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; 23 | -webkit-transform: scale(@horiz, @vert); 24 | -ms-transform: scale(@horiz, @vert); 25 | transform: scale(@horiz, @vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | .sr-only() { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | .sr-only-focusable() { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/less/screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | @mixin fa-icon-rotate($degrees, $rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; 16 | -webkit-transform: rotate($degrees); 17 | -ms-transform: rotate($degrees); 18 | transform: rotate($degrees); 19 | } 20 | 21 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; 23 | -webkit-transform: scale($horiz, $vert); 24 | -ms-transform: scale($horiz, $vert); 25 | transform: scale($horiz, $vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | @mixin sr-only { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | @mixin sr-only-focusable { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/font-awesome-4.7.0/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/css/modules/code.css: -------------------------------------------------------------------------------- 1 | /** layui-v2.5.5 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/resources/static/layui/lib/layui-v2.5.5/css/modules/layer/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/css/modules/layer/default/icon-ext.png -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/css/modules/layer/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/css/modules/layer/default/icon.png -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/css/modules/layer/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/css/modules/layer/default/loading-0.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/css/modules/layer/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/css/modules/layer/default/loading-1.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/css/modules/layer/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/css/modules/layer/default/loading-2.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/font/iconfont.eot -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/font/iconfont.ttf -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/font/iconfont.woff -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/font/iconfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/font/iconfont.woff2 -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/0.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/1.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/10.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/11.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/12.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/13.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/14.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/15.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/16.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/17.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/18.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/19.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/2.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/20.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/21.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/22.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/23.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/24.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/25.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/26.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/27.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/28.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/29.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/3.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/30.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/31.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/32.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/33.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/34.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/35.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/36.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/37.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/38.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/39.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/4.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/40.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/41.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/42.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/43.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/44.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/45.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/46.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/47.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/48.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/49.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/5.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/50.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/51.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/52.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/53.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/54.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/55.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/56.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/57.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/58.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/59.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/6.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/60.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/61.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/62.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/63.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/64.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/65.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/66.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/67.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/68.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/69.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/7.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/70.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/71.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/8.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/images/face/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui/lib/layui-v2.5.5/images/face/9.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/lay/modules/carousel.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.5.5 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&&(clearInterval(e.timer),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):a/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/resources/static/layui/lib/layui-v2.5.5/lay/modules/flow.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.5.5 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/resources/static/layui/lib/layui-v2.5.5/lay/modules/laytpl.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.5.5 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/resources/static/layui/lib/layui-v2.5.5/lay/modules/rate.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.5.5 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var a=layui.jquery,i={config:{},index:layui.rate?layui.rate.index+1e4:0,set:function(e){var i=this;return i.config=a.extend({},i.config,e),i},on:function(e,a){return layui.onevent.call(this,n,e,a)}},l=function(){var e=this,a=e.config;return{setvalue:function(a){e.setvalue.call(e,a)},config:a}},n="rate",t="layui-rate",o="layui-icon-rate",s="layui-icon-rate-solid",u="layui-icon-rate-half",r="layui-icon-rate-solid layui-icon-rate-half",c="layui-icon-rate-solid layui-icon-rate",f="layui-icon-rate layui-icon-rate-half",v=function(e){var l=this;l.index=++i.index,l.config=a.extend({},l.config,i.config,e),l.render()};v.prototype.config={length:5,text:!1,readonly:!1,half:!1,value:0,theme:""},v.prototype.render=function(){var e=this,i=e.config,l=i.theme?'style="color: '+i.theme+';"':"";i.elem=a(i.elem),parseInt(i.value)!==i.value&&(i.half||(i.value=Math.ceil(i.value)-i.value<.5?Math.ceil(i.value):Math.floor(i.value)));for(var n='
    ",u=1;u<=i.length;u++){var r='
  • ";i.half&&parseInt(i.value)!==i.value&&u==Math.ceil(i.value)?n=n+'
  • ":n+=r}n+="
"+(i.text?''+i.value+"星":"")+"";var c=i.elem,f=c.next("."+t);f[0]&&f.remove(),e.elemTemp=a(n),i.span=e.elemTemp.next("span"),i.setText&&i.setText(i.value),c.html(e.elemTemp),c.addClass("layui-inline"),i.readonly||e.action()},v.prototype.setvalue=function(e){var a=this,i=a.config;i.value=e,a.render()},v.prototype.action=function(){var e=this,i=e.config,l=e.elemTemp,n=l.find("i").width();l.children("li").each(function(e){var t=e+1,v=a(this);v.on("click",function(e){if(i.value=t,i.half){var o=e.pageX-a(this).offset().left;o<=n/2&&(i.value=i.value-.5)}i.text&&l.next("span").text(i.value+"星"),i.choose&&i.choose(i.value),i.setText&&i.setText(i.value)}),v.on("mousemove",function(e){if(l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+t+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half){var c=e.pageX-a(this).offset().left;c<=n/2&&v.children("i").addClass(u).removeClass(s)}}),v.on("mouseleave",function(){l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+Math.floor(i.value)+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half&&parseInt(i.value)!==i.value&&l.children("li:eq("+Math.floor(i.value)+")").children("i").addClass(u).removeClass(c)})})},v.prototype.events=function(){var e=this;e.config},i.render=function(e){var a=new v(e);return l.call(a)},e(n,i)}); -------------------------------------------------------------------------------- /src/main/resources/static/layui/lib/layui-v2.5.5/lay/modules/util.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.5.5 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(t){"use strict";var e=layui.$,i={fixbar:function(t){var i,n,a="layui-fixbar",o="layui-fixbar-top",r=e(document),l=e("body");t=e.extend({showHeight:200},t),t.bar1=t.bar1===!0?"":t.bar1,t.bar2=t.bar2===!0?"":t.bar2,t.bgcolor=t.bgcolor?"background-color:"+t.bgcolor:"";var c=[t.bar1,t.bar2,""],g=e(['
    ',t.bar1?'
  • '+c[0]+"
  • ":"",t.bar2?'
  • '+c[1]+"
  • ":"",'
  • '+c[2]+"
  • ","
"].join("")),s=g.find("."+o),u=function(){var e=r.scrollTop();e>=t.showHeight?i||(s.show(),i=1):i&&(s.hide(),i=0)};e("."+a)[0]||("object"==typeof t.css&&g.css(t.css),l.append(g),u(),g.find("li").on("click",function(){var i=e(this),n=i.attr("lay-type");"top"===n&&e("html,body").animate({scrollTop:0},200),t.click&&t.click.call(this,n)}),r.on("scroll",function(){clearTimeout(n),n=setTimeout(function(){u()},100)}))},countdown:function(t,e,i){var n=this,a="function"==typeof e,o=new Date(t).getTime(),r=new Date(!e||a?(new Date).getTime():e).getTime(),l=o-r,c=[Math.floor(l/864e5),Math.floor(l/36e5)%24,Math.floor(l/6e4)%60,Math.floor(l/1e3)%60];a&&(i=e);var g=setTimeout(function(){n.countdown(t,r+1e3,i)},1e3);return i&&i(l>0?c:[0,0,0,0],e,g),l<=0&&clearTimeout(g),g},timeAgo:function(t,e){var i=this,n=[[],[]],a=(new Date).getTime()-new Date(t).getTime();return a>6912e5?(a=new Date(t),n[0][0]=i.digit(a.getFullYear(),4),n[0][1]=i.digit(a.getMonth()+1),n[0][2]=i.digit(a.getDate()),e||(n[1][0]=i.digit(a.getHours()),n[1][1]=i.digit(a.getMinutes()),n[1][2]=i.digit(a.getSeconds())),n[0].join("-")+" "+n[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(t,e){var i="";t=String(t),e=e||2;for(var n=t.length;n/g,">").replace(/'/g,"'").replace(/"/g,""")},event:function(t,n,a){n=i.event[t]=e.extend(!0,i.event[t],n)||{},e("body").on(a||"click","*["+t+"]",function(){var i=e(this),a=i.attr(t);n[a]&&n[a].call(this,i)})}};!function(t,e,i){"$:nomunge";function n(){a=e[l](function(){o.each(function(){var e=t(this),i=e.width(),n=e.height(),a=t.data(this,g);(i!==a.w||n!==a.h)&&e.trigger(c,[a.w=i,a.h=n])}),n()},r[s])}var a,o=t([]),r=t.resize=t.extend(t.resize,{}),l="setTimeout",c="resize",g=c+"-special-event",s="delay",u="throttleWindow";r[s]=250,r[u]=!0,t.event.special[c]={setup:function(){if(!r[u]&&this[l])return!1;var e=t(this);o=o.add(e),t.data(this,g,{w:e.width(),h:e.height()}),1===o.length&&n()},teardown:function(){if(!r[u]&&this[l])return!1;var e=t(this);o=o.not(e),e.removeData(g),o.length||clearTimeout(a)},add:function(e){function n(e,n,o){var r=t(this),l=t.data(this,g)||{};l.w=n!==i?n:r.width(),l.h=o!==i?o:r.height(),a.apply(this,arguments)}if(!r[u]&&this[l])return!1;var a;return t.isFunction(e)?(a=e,n):(a=e.handler,void(e.handler=n))}}}(e,window),t("util",i)}); -------------------------------------------------------------------------------- /src/main/resources/static/layui_ext/dtree/font/dtreefont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui_ext/dtree/font/dtreefont.eot -------------------------------------------------------------------------------- /src/main/resources/static/layui_ext/dtree/font/dtreefont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui_ext/dtree/font/dtreefont.ttf -------------------------------------------------------------------------------- /src/main/resources/static/layui_ext/dtree/font/dtreefont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Wanbaoping/part_time_job/815cd5aa3812eae3921c4d9950c75ffcc978a80c/src/main/resources/static/layui_ext/dtree/font/dtreefont.woff -------------------------------------------------------------------------------- /src/main/resources/templates/admin/addNews.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 添加公告 6 | 7 | 8 | 9 | 10 | 11 | 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 | 89 | 90 | -------------------------------------------------------------------------------- /src/main/resources/templates/admin/editNews.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 编辑公告 6 | 7 | 8 | 9 | 10 | 11 | 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 | 41 | 42 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /src/main/resources/templates/admin/editRole.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | layui 6 | 7 | 8 | 9 | 10 | 11 | 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 |
41 | 42 | 43 | 91 | 92 | -------------------------------------------------------------------------------- /src/main/resources/templates/front/editpassword.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 修改密码 6 | 7 | 8 | 9 |
10 |
修改资料
11 | 12 |
13 | 14 |
15 |
16 |
17 |
18 | 19 |
20 | 21 |
22 |
23 |
24 | 25 |
26 | 27 |
28 |
29 |
30 | 31 |
32 | 33 |
34 |
35 |
36 |
37 | 38 | 39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 | 89 | 90 | -------------------------------------------------------------------------------- /src/main/resources/templates/front/showResume.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 简历详情 6 | 7 | 8 | 9 | 10 | 11 | 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 |
41 |
42 |
43 |
44 | 45 |
46 |
47 |
48 |
49 |
50 | 51 |
52 |
53 |
54 |
55 |
56 | 57 |
58 |
59 |
60 |
61 |
62 | 63 |
64 |
65 |
66 |
67 |
68 |
69 | 70 |
71 |
72 |
73 | 74 | 75 | 89 | 90 | -------------------------------------------------------------------------------- /src/test/java/com/baoge/PartTimeJobApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.baoge; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class PartTimeJobApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | --------------------------------------------------------------------------------