|
@@ -0,0 +1,91 @@
|
|
|
+package com.citu.module.menduner.system.service.person;
|
|
|
+
|
|
|
+import cn.hutool.core.codec.Base64Decoder;
|
|
|
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
|
+import com.citu.module.infra.api.file.FileApi;
|
|
|
+import com.citu.module.menduner.common.util.LoginUserContext;
|
|
|
+import com.citu.module.menduner.system.controller.app.jobhunt.person.eduexp.AppEduExpSaveReqVO;
|
|
|
+import com.citu.module.menduner.system.controller.app.jobhunt.person.job.AppJobInterestedSaveReqVO;
|
|
|
+import com.citu.module.menduner.system.controller.app.jobhunt.person.trainexp.AppTrainExpSaveReqVO;
|
|
|
+import com.citu.module.menduner.system.controller.app.jobhunt.person.vo.AppResumeSaveReqVO;
|
|
|
+import com.citu.module.menduner.system.controller.app.jobhunt.person.workexp.AppWorkExpSaveReqVO;
|
|
|
+import com.citu.module.menduner.system.service.eduexp.EduExpService;
|
|
|
+import com.citu.module.menduner.system.service.job.JobInterestedService;
|
|
|
+import com.citu.module.menduner.system.service.person.info.PersonInfoService;
|
|
|
+import com.citu.module.menduner.system.service.trainexp.TrainExpService;
|
|
|
+import com.citu.module.menduner.system.service.workexp.WorkExpService;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.validation.annotation.Validated;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 人才简历接口实现类
|
|
|
+ **/
|
|
|
+@Service
|
|
|
+@Validated
|
|
|
+public class ResumeServiceImpl implements ResumeService {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private PersonInfoService personInfoService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private JobInterestedService jobInterestedService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private EduExpService eduExpService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private WorkExpService workExpService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private TrainExpService trainExpService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private FileApi fileApi;
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @DSTransactional
|
|
|
+ public void save(AppResumeSaveReqVO reqVO) {
|
|
|
+ // 基本信息
|
|
|
+ personInfoService.saveInfo(reqVO.getPerson());
|
|
|
+ // 人才优势
|
|
|
+ personInfoService.saveAdvantage(reqVO.getAdvantage());
|
|
|
+ // 人才标签
|
|
|
+ personInfoService.updateTag(reqVO.getTag());
|
|
|
+ if (reqVO.getAvatar().contains("base64")) {
|
|
|
+ // base64编码
|
|
|
+ // 截取, 之后的所有
|
|
|
+ int index = reqVO.getAvatar().indexOf(", ");
|
|
|
+ byte[] data = Base64Decoder.decode(reqVO.getAvatar().substring(index + 1));
|
|
|
+ // 转为图片地址保存
|
|
|
+ Long userId = LoginUserContext.getUserId();
|
|
|
+ String path = "person/" + userId + "/";
|
|
|
+ String name = reqVO.getAvatar()
|
|
|
+ .substring(reqVO.getAvatar().length() - 10).replaceAll("/", "") + ".jpg";
|
|
|
+ reqVO.setAvatar(fileApi.createFile(reqVO.getPerson().getName(), path + name, data));
|
|
|
+ }
|
|
|
+ // 头像
|
|
|
+ personInfoService.uploadAvatar(reqVO.getAvatar());
|
|
|
+
|
|
|
+ for (AppJobInterestedSaveReqVO interestedSaveReqVO : reqVO.getJobInterested()) {
|
|
|
+ // 求职意向
|
|
|
+ jobInterestedService.saveJobInterested(interestedSaveReqVO);
|
|
|
+ }
|
|
|
+ for (AppEduExpSaveReqVO expSaveReqVO : reqVO.getEduExp()) {
|
|
|
+ // 教育经历
|
|
|
+ eduExpService.saveEduExp(expSaveReqVO);
|
|
|
+ }
|
|
|
+ for (AppWorkExpSaveReqVO expSaveReqVO : reqVO.getWorkExp()) {
|
|
|
+ // 工作经历
|
|
|
+ workExpService.saveWorkExp(expSaveReqVO);
|
|
|
+ }
|
|
|
+ for (AppTrainExpSaveReqVO trainSaveReqVO : reqVO.getTrainExp()) {
|
|
|
+ // 培训经历
|
|
|
+ trainExpService.saveTrainExp(trainSaveReqVO);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+}
|