前言
✨ **博主介绍:**一线全栈工程师,毕设实战引路人。技术栈覆盖Java、Python、C#、PHP、Node.js及UniApp跨端开发,擅长多语言项目落地与架构设计。持续分享毕设源码、开题报告、技术选型心得与职场踩坑经验。用工程化思维写代码,帮你把毕设做成作品集。👍👍
👇精彩专栏 推荐订阅👇
✅获取源码请私信✅
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以找我咨询,希望帮助更多的人❤️
系统功能实现
在线简历管理功能实现
在线简历管理功能由OnlineResumeController类来完成。管理员使用getList方法获取所有的学生简历列表,该方法内部调用的服务层进行数据库查询并返回分页的结果。当管理员执行删除操作的时候,就会触发del方法,del方法接受请求参数,调用服务层的delete方法进行物理删除,返回操作结果。重置功能就是前端清除查询条件后,再调用getList方法来实现的。整个的管理流程保证了简历数据的安全以及高效的维护。
在线简历管理界面
职位信息管理功能实现
职位信息管理功能使用PositionInformationController类来实现。管理员查询职位列表的时候会调用getList方法,服务层进行带条件的SQL查询并返回数据。批量审核功能由updateExamineState方法来完成,接收职位ID与审核状态,用服务层的方式更新数据库中examine_state的值。删除操作调用del方法,根据传入的查询条件删除指定的记录。控制器使用协同过滤算法get_hits_list根据用户的收藏行为给用户推荐职位,提高系统智能程度。
职位信息管理界面
简历投递管理功能实现
简历投递管理功能是由ResumeDeliveryController类来实现的。管理员使用getList方法得到所有的投递记录,服务层关联查询企业、职位和学生信息。删除操作调用del方法,根据投递ID删除记录。用set方法可以更新投递状态,比如把"待处理"改为"已查阅"。控制器里面加入的方法是对学生投递请求做处理,将简历信息存入数据库,并产生投递记录来达到投递流程闭环的目的。
简历投递管理界面
面试通知管理功能实现
面试通知管理功能是由InterviewNoticeController类来完成的。管理员用getList方法获取所有的公告信息,服务层联合查询企业信息、职位详情、学生资料。删除功能调用del方法,根据通知ID移除记录。企业用户发出通知的时候调用add方法,该方法解析请求参数,创建出一个InterviewNoticeController对象,并且通过服务层的插入数据接口将此对象插入数据库中,同时保存下面试的时间、地点等重要的信息,保证通知可以被正确地发送出去。
面试通知管理界面
企业信息管理功能实现
企业信息管理功能由EnterpriseInformationController类来实现。管理员用getList方法来获取所有的企业信息列表,服务层去执行查询并返回一个包含企业基本资料、文化介绍等字段的数据集。删除操作使用del方法,根据企业ID删除记录。企业用户可以使用set方法来修改本企业的信息,控制器对参数进行验证后更新数据库相应的字段,保证信息的实时性、准确性。
企业信息管理界面
职位信息功能实现
企业用户职位信息功能由PositionInformationController类来完成。添加职位调用add方法,接收前端表单数据,创建PositionInformation实体并将薪资范围、招聘人数等属性赋值给对象,再通过服务层将对象插入数据库。通过get_obj方法来查看职位的详细情况,根据职位ID去查询并返回该职位的详细信息。修改职位调用的set方法,更新职位属性或者职责要求。删除职位时使用del方法,将不再招聘的职位信息删除。

职位信息界面
企业信息功能实现
企业信息功能由EnterpriseUserController和EnterpriseInformationController来实现。当企业用户修改资料的时候会调用EnterpriseUserController的set方法,对企业的名称、电话等基本信息进行修改。完善企业信息就调用EnterpriseInformationController的add或者set方法,增加企业文化、办公环境图片等详细的资料。上传营业执照用到UploadController来完成文件上传,并把文件的路径存入到企业用户记录的business_license字段中,从而达到企业资质可视化展示的目的。

企业信息界面
简历投递功能实现
企业用户的简历投递功能是由ResumeDeliveryController类来实现的。查看投递列表调用getList方法,服务层根据企业用户ID来筛选出投递给该企业的全部简历。查看详情用get_obj的方法,返回投递学生完整的简历内容。审核流程使用set方法来实现,企业可以更改delivery_status字段为已通知面试或者不合适等状态,系统会对所有的审核操作进行记录,并且完成对简历的筛选和反馈。

简历投递界面
面试通知功能实现
企业用户用的面试通知功能由InterviewNoticeController类来处理。查看通知列表调用getList方法,按照时间倒序列出所有的已发送的通知。删除通知用del方法,移除已经过期或者取消的面试安排。查看详情使用get_obj方法获取指定通知的完整信息,包含面试时间、地点及备注。重置功能由前端来完成的,清空查询条件之后再次调用getList方法,方便企业用户快速筛选和管理面试安排。

面试通知界面
职位详情功能实现
学生用户职位详情功能由PositionInformationController类来实现。利用get_obj方法获取到职位的详细信息,得到该职位全部的描述、薪资、工作地点等。投递操作触发ResumeDeliveryController的add方法,该方法接收职位ID、学生简历ID,创建投递记录并插入数据库,之后又更新投递次数。在线沟通功能用CustomerChatGroupController和CustomerChatLogController来实现,创建学生与企业的实时对话通道,促进双方的交流。

职位详情界面
学生简历投递功能实现
学生用户的简历投递功能用ResumeDeliveryController类来实现。查看投递记录调用的getList方法,服务层根据学生用户ID查询该用户所有的投递历史。查看状态的时候,前端显示delivery_status字段的值,例如待处理、已经通知面试等。投递操作已经进入职位详情的功能当中,在职位详情里可以清楚地看到每一位学生的投递情况,便于跟踪求职进程,并及时回应企业的反馈。

学生简历投递界面
在线简历功能实现
学生用户在线简历功能由OnlineResumeController类来完成。使用add或者set方法来填写或者修改简历,接收前端传来的期望岗位、教育经历、实习经历、技能证书、自我评价和简历附件等字段,创建OnlineResume实体并将其持久化到数据库中。提交操作就是调用add方法来完成简历的创建或者更新。控制器对关键字段进行非空校验,保证简历信息的完整性和有效性,给学生的求职打下基础。

在线简历界面
学生面试通知功能实现
学生用户面试通知功能用到IntersightNoticeController类。查看通知列表调用的getList方法,服务层根据学生用户ID来筛选出有关的面试通知。查看详情用get_obj方法,得到面试的详细时间、地点、企业名称和职位标题等信息。系统保证学生可以及时收到并查阅到企业的面试通知,便于学生提前准备,提高学生的面试成功率和求职体验。

学生面试通知界面
数据库参考
sql
CREATE TABLE `user_group` (
`group_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户组ID',
`display` smallint(4) unsigned NOT NULL DEFAULT '100' COMMENT '显示顺序',
`name` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '名称',
`description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '描述',
`source_table` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '来源表',
`source_field` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '来源字段',
`source_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '来源ID',
`register` smallint(1) unsigned DEFAULT '0' COMMENT '注册位置',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`group_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户组';
DROP TABLE IF EXISTS `article`;
CREATE TABLE `article` (
`article_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '文章id',
`title` varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '标题',
`type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '文章分类',
`hits` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '点击数',
`praise_len` int(11) NOT NULL DEFAULT '0' COMMENT '点赞数',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`source` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '来源',
`url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '来源地址',
`tag` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '标签',
`content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '正文',
`img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '封面图',
`description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '文章描述',
PRIMARY KEY (`article_id`,`title`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='文章';
DROP TABLE IF EXISTS `access_token`;
CREATE TABLE `access_token` (
`token_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '临时访问牌ID',
`token` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '临时访问牌',
`info` text CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '信息',
`maxage` int(2) NOT NULL DEFAULT '2' COMMENT '最大寿命:默认2小时',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`user_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用户编号',
PRIMARY KEY (`token_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='登陆访问时长';
DROP TABLE IF EXISTS `code_token`;
CREATE TABLE `code_token` (
`code_token_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '验证码ID',
`token` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL COMMENT '令牌',
`code` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL COMMENT '验证码',
`expire_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '失效时间',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`code_token_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=COMPACT COMMENT='验证码';
DROP TABLE IF EXISTS `collect`;
CREATE TABLE `collect` (
`collect_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '收藏ID',
`user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '收藏人ID',
`source_table` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '来源表',
`source_field` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '来源字段',
`source_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '来源ID',
`title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '标题',
`img` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '封面',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`collect_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='收藏';
DROP TABLE IF EXISTS `customer_chat_group`;
CREATE TABLE `customer_chat_group` (
`customer_chat_group_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '沟通群组ID',
`member` text NOT NULL COMMENT '成员信息',
`read_state` tinyint(4) NOT NULL DEFAULT '0' COMMENT '已读状态,0=未读,1=已读',
`last_read_time` timestamp NULL DEFAULT NULL COMMENT '最后阅读时间',
`unread_count` int(11) DEFAULT '0' COMMENT '未读消息数',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`customer_chat_group_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='在线沟通群组表';
代码参考
java
package com.project.demo.controller;
import com.project.demo.entity.CustomerChatGroup;
import com.project.demo.service.CustomerChatGroupService;
import com.alibaba.fastjson.JSON;
import com.project.demo.controller.base.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.util.StringUtils;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.persistence.Query;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 在线沟通群组:(CustomerChatGroup)表控制层
*
*/
@RestController
@RequestMapping("/customer_chat_group")
public class CustomerChatGroupController extends BaseController<CustomerChatGroup, CustomerChatGroupService> {
/**
* 在线沟通群组对象
*/
@Autowired
public CustomerChatGroupController(CustomerChatGroupService service) {
setService(service);
}
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
Map<String,Object> paramMap = service.readBody(request.getReader());
paramMap.entrySet().removeIf(entry -> {
Object value = entry.getValue();
return value instanceof String && ((String) value).isEmpty();
});
CustomerChatGroup customer_chat_group = new CustomerChatGroup();
customer_chat_group.setMember(paramMap.get("member")==null?null:String.valueOf(paramMap.get("member")));
customer_chat_group.setRead_state(paramMap.get("read_state")==null?null:String.valueOf(paramMap.get("read_state")));
customer_chat_group.setLast_read_time(paramMap.get("last_read_time")==null?null:String.valueOf(paramMap.get("last_read_time")));
customer_chat_group.setUnread_count(paramMap.get("unread_count")==null?null:String.valueOf(paramMap.get("unread_count")));
this.addEntity(customer_chat_group);
System.out.println("在线沟通群组新增成功");
return success(1);
}
@PostMapping("/set")
@Transactional
public Map<String, Object> set(HttpServletRequest request) throws IOException {
Map<String,String> queryMap = service.readQuery(request);
Map<String,String> configMap = service.readConfig(request);
Map<String,Object> paramMap = service.readBody(request.getReader());
paramMap.entrySet().removeIf(entry -> {
Object value = entry.getValue();
return value instanceof String && ((String) value).isEmpty();
});
CustomerChatGroup customer_chat_group = new CustomerChatGroup();
customer_chat_group.setMember(paramMap.get("member")==null?null:String.valueOf(paramMap.get("member")));
customer_chat_group.setRead_state(paramMap.get("read_state")==null?null:String.valueOf(paramMap.get("read_state")));
customer_chat_group.setLast_read_time(paramMap.get("last_read_time")==null?null:String.valueOf(paramMap.get("last_read_time")));
customer_chat_group.setUnread_count(paramMap.get("unread_count")==null?null:String.valueOf(paramMap.get("unread_count")));
this.setEntity(queryMap,configMap,customer_chat_group);
System.out.println("在线沟通群组修改成功");
return success(1);
package com.project.demo.controller;
import com.project.demo.entity.ResumeDelivery;
import com.project.demo.service.ResumeDeliveryService;
import com.alibaba.fastjson.JSON;
import com.project.demo.controller.base.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.util.StringUtils;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.persistence.Query;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 简历投递:(ResumeDelivery)表控制层
*
*/
@RestController
@RequestMapping("/resume_delivery")
public class ResumeDeliveryController extends BaseController<ResumeDelivery, ResumeDeliveryService> {
/**
* 简历投递对象
*/
@Autowired
public ResumeDeliveryController(ResumeDeliveryService service) {
setService(service);
}
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
Map<String,Object> paramMap = service.readBody(request.getReader());
paramMap.entrySet().removeIf(entry -> {
Object value = entry.getValue();
return value instanceof String && ((String) value).isEmpty();
});
ResumeDelivery resume_delivery = new ResumeDelivery();
resume_delivery.setJob_title(paramMap.get("job_title")==null?null:String.valueOf(paramMap.get("job_title")));
resume_delivery.setDelivery_status(paramMap.get("delivery_status")==null?null:String.valueOf(paramMap.get("delivery_status")));
resume_delivery.setEnterprise_user(paramMap.get("enterprise_user")==null?null:Integer.valueOf(String.valueOf(paramMap.get("enterprise_user"))));
resume_delivery.setName_of_enterprise(paramMap.get("name_of_enterprise")==null?null:String.valueOf(paramMap.get("name_of_enterprise")));
resume_delivery.setStudent_users(paramMap.get("student_users")==null?null:Integer.valueOf(String.valueOf(paramMap.get("student_users"))));
resume_delivery.setStudent_name(paramMap.get("student_name")==null?null:String.valueOf(paramMap.get("student_name")));
resume_delivery.setStudent_mobile_phone(paramMap.get("student_mobile_phone")==null?null:String.valueOf(paramMap.get("student_mobile_phone")));
if (paramMap.get("delivery_time" ) != null && !StringUtils.isEmpty(String.valueOf(paramMap.get("delivery_time" )))) {
String timStr = String.valueOf(paramMap.get("delivery_time" ));
resume_delivery.setDelivery_time(parseToTimestamp(timStr));
} else {
resume_delivery.setDelivery_time(null);
}
resume_delivery.setResume_title(paramMap.get("resume_title")==null?null:String.valueOf(paramMap.get("resume_title")));
resume_delivery.setSchool_name(paramMap.get("school_name")==null?null:String.valueOf(paramMap.get("school_name")));
resume_delivery.setProfessional_name(paramMap.get("professional_name")==null?null:String.valueOf(paramMap.get("professional_name")));
resume_delivery.setEducation_experience(paramMap.get("education_experience")==null?null:String.valueOf(paramMap.get("education_experience")));
resume_delivery.setInternship_experience(paramMap.get("internship_experience")==null?null:String.valueOf(paramMap.get("internship_experience")));
resume_delivery.setSkills_certificate(paramMap.get("skills_certificate")==null?null:String.valueOf(paramMap.get("skills_certificate")));
resume_delivery.setSelf_evaluation(paramMap.get("self_evaluation")==null?null:String.valueOf(paramMap.get("self_evaluation")));
resume_delivery.setResume_attachments(paramMap.get("resume_attachments")==null?null:String.valueOf(paramMap.get("resume_attachments")));
resume_delivery.setDelivery_times(paramMap.get("delivery_times")==null?null:String.valueOf(paramMap.get("delivery_times")));
resume_delivery.setIntersight_notice_limit_times(paramMap.get("intersight_notice_limit_times")==null?null:String.valueOf(paramMap.get("intersight_notice_limit_times")));
resume_delivery.setExtra(paramMap.get("extra")==null?null:String.valueOf(paramMap.get("extra")));
resume_delivery.setSource_table(paramMap.get("source_table")==null?null:String.valueOf(paramMap.get("source_table")));
resume_delivery.setSource_id(paramMap.get("source_id")==null?null:Integer.valueOf(String.valueOf(paramMap.get("source_id"))));
resume_delivery.setSource_user_id(paramMap.get("source_user_id")==null?null:Integer.valueOf(String.valueOf(paramMap.get("source_user_id"))));
resume_delivery.setCreate_by(paramMap.get("create_by")==null?null:Integer.valueOf(String.valueOf(paramMap.get("create_by"))));
this.addEntity(resume_delivery);
System.out.println("简历投递新增成功");
return success(1);
}
@PostMapping("/set")
@Transactional
public Map<String, Object> set(HttpServletRequest request) throws IOException {
Map<String,String> queryMap = service.readQuery(request);
Map<String,String> configMap = service.readConfig(request);
Map<String,Object> paramMap = service.readBody(request.getReader());
paramMap.entrySet().removeIf(entry -> {
Object value = entry.getValue();
return value instanceof String && ((String) value).isEmpty();
});
ResumeDelivery resume_delivery = new ResumeDelivery();
resume_delivery.setJob_title(paramMap.get("job_title")==null?null:String.valueOf(paramMap.get("job_title")));
resume_delivery.setDelivery_status(paramMap.get("delivery_status")==null?null:String.valueOf(paramMap.get("delivery_status")));
resume_delivery.setEnterprise_user(paramMap.get("enterprise_user")==null?null:Integer.valueOf(String.valueOf(paramMap.get("enterprise_user"))));
resume_delivery.setName_of_enterprise(paramMap.get("name_of_enterprise")==null?null:String.valueOf(paramMap.get("name_of_enterprise")));
resume_delivery.setStudent_users(paramMap.get("student_users")==null?null:Integer.valueOf(String.valueOf(paramMap.get("student_users"))));
resume_delivery.setStudent_name(paramMap.get("student_name")==null?null:String.valueOf(paramMap.get("student_name")));
resume_delivery.setStudent_mobile_phone(paramMap.get("student_mobile_phone")==null?null:String.valueOf(paramMap.get("student_mobile_phone")));
if (paramMap.get("delivery_time" ) != null && !StringUtils.isEmpty(String.valueOf(paramMap.get("delivery_time" )))) {
String timStr = String.valueOf(paramMap.get("delivery_time" ));
resume_delivery.setDelivery_time(parseToTimestamp(timStr));
} else {
resume_delivery.setDelivery_time(null);
}
resume_delivery.setResume_title(paramMap.get("resume_title")==null?null:String.valueOf(paramMap.get("resume_title")));
resume_delivery.setSchool_name(paramMap.get("school_name")==null?null:String.valueOf(paramMap.get("school_name")));
resume_delivery.setProfessional_name(paramMap.get("professional_name")==null?null:String.valueOf(paramMap.get("professional_name")));
resume_delivery.setEducation_experience(paramMap.get("education_experience")==null?null:String.valueOf(paramMap.get("education_experience")));
resume_delivery.setInternship_experience(paramMap.get("internship_experience")==null?null:String.valueOf(paramMap.get("internship_experience")));
resume_delivery.setSkills_certificate(paramMap.get("skills_certificate")==null?null:String.valueOf(paramMap.get("skills_certificate")));
resume_delivery.setSelf_evaluation(paramMap.get("self_evaluation")==null?null:String.valueOf(paramMap.get("self_evaluation")));
resume_delivery.setResume_attachments(paramMap.get("resume_attachments")==null?null:String.valueOf(paramMap.get("resume_attachments")));
resume_delivery.setDelivery_times(paramMap.get("delivery_times")==null?null:String.valueOf(paramMap.get("delivery_times")));
resume_delivery.setIntersight_notice_limit_times(paramMap.get("intersight_notice_limit_times")==null?null:String.valueOf(paramMap.get("intersight_notice_limit_times")));
resume_delivery.setSource_table(paramMap.get("source_table")==null?null:String.valueOf(paramMap.get("source_table")));
resume_delivery.setSource_id(paramMap.get("source_id")==null?null:Integer.valueOf(String.valueOf(paramMap.get("source_id"))));
resume_delivery.setSource_user_id(paramMap.get("source_user_id")==null?null:Integer.valueOf(String.valueOf(paramMap.get("source_user_id"))));
this.setEntity(queryMap,configMap,resume_delivery);
System.out.println("简历投递修改成功");
return success(1);
**前端:**基于uni-app框架构建跨平台用户界面,使用HTML5、CSS3和JavaScript/Vue.js实现页面结构与交互逻辑,通过uni-app内置路由或Vue Router管理页面导航,Vuex或Pinia维护全局状态。采用uni-ui或uView等组件库快速搭建界面,使用uni.request或Axios(经适配)封装HTTP请求实现与后端的数据通信,同时可调用uni-app提供的丰富原生API(如相机、定位、支付等)增强移动端能力。
**后端:**基于Spring Boot框架搭建,遵循Controller-Service-Mapper三层架构。Controller层接收前端请求并校验参数,Service层处理核心业务逻辑,Mapper层通过MyBatis或MyBatis-Plus完成数据库操作。使用Spring Security或Shiro结合JWT实现用户认证与权限控制。
**数据库:**采用MySQL存储持久化数据,Redis缓存热点信息以提升系统性能。
**开发工具:**使用HBuilderX或VSCode开发前端(uni-app),IDEA开发后端,Git进行版本管理,Maven管理后端依赖,npm或yarn管理前端依赖,并通过HBuilderX的App发布功能或命令行工具完成多端(iOS、Android、H5、各小程序)打包发布。
源码获取
私信联系我即可~
大家点赞、收藏、关注、评论啦
👇精彩专栏 推荐订阅👇
✅获取源码请私信✅
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以找我咨询,希望帮助更多的人❤️