JobuserServiceImpl.java 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. package com.hz.employmentsite.services.impl.jobUserManager;
  2. import com.github.pagehelper.PageHelper;
  3. import com.github.pagehelper.PageInfo;
  4. import com.hz.employmentsite.mapper.PcEducationMapper;
  5. import com.hz.employmentsite.mapper.PcExperienceMapper;
  6. import com.hz.employmentsite.mapper.PcJobuserMapper;
  7. import com.hz.employmentsite.mapper.cquery.JobuserCQuery;
  8. import com.hz.employmentsite.model.*;
  9. import com.hz.employmentsite.services.service.jobUserManager.JobuserService;
  10. import com.hz.employmentsite.util.StringUtils;
  11. import com.hz.employmentsite.vo.jobUserManager.JobUserVo;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import java.text.ParseException;
  15. import java.text.SimpleDateFormat;
  16. import java.util.ArrayList;
  17. import java.util.Date;
  18. import java.util.List;
  19. import java.util.UUID;
  20. @Service("JobuserService")
  21. public class JobuserServiceImpl implements JobuserService {
  22. @Autowired
  23. private JobuserCQuery jobuserCQuery;
  24. @Autowired
  25. private StringUtils stringUtils;
  26. @Autowired
  27. private PcEducationMapper pcEducationMapper;
  28. @Autowired
  29. private PcJobuserMapper pcJobuserMapper;
  30. @Autowired
  31. private PcExperienceMapper pcExperienceMapper;
  32. @Override
  33. public PageInfo<JobUserVo> getList(Integer page, Integer rows, String jobuserID, String name, String siteId, String jobStatus, Integer sexId, Integer educationTypeId, Integer emphasisTypeId) {
  34. PageHelper.startPage(page, rows);
  35. List<JobUserVo> list = jobuserCQuery.selectJobuserList(jobuserID, name, siteId, jobStatus, sexId, educationTypeId, emphasisTypeId);
  36. PageInfo<JobUserVo> result = new PageInfo(list);
  37. return result;
  38. }
  39. @Override
  40. public JobUserVo getDataById(String id) {
  41. if (stringUtils.IsNullOrEmpty(id)) {
  42. return null;
  43. }
  44. return jobuserCQuery.selectJobuserList(id, null, null, null, null, null, null).stream().findFirst().orElse(null);
  45. }
  46. @Override
  47. public List<PcEducation> getJobUserEducationList(String jobuserID) {
  48. PcEducationExample exp = new PcEducationExample();
  49. PcEducationExample.Criteria cro = exp.or();
  50. cro.andJobuserIDEqualTo(jobuserID);
  51. List<PcEducation> educationList = pcEducationMapper.selectByExample(exp);
  52. return educationList;
  53. }
  54. @Override
  55. public List<PcExperience> getJobUserPcExperienceList(String jobuserID) {
  56. PcExperienceExample exp = new PcExperienceExample();
  57. PcExperienceExample.Criteria cro = exp.or();
  58. cro.andJobuserIDEqualTo(jobuserID);
  59. List<PcExperience> educationList = pcExperienceMapper.selectByExample(exp);
  60. return educationList;
  61. }
  62. private int deleteEducation(List<String> ids) {
  63. int educationRows = 0;
  64. PcEducationExample expEducation = new PcEducationExample();
  65. PcEducationExample.Criteria croEducation = expEducation.or();
  66. croEducation.andJobuserIDIn(ids);
  67. educationRows = pcEducationMapper.deleteByExample(expEducation);
  68. return educationRows;
  69. }
  70. private int deleteExperience(List<String> ids) {
  71. int experienceRows = 0;
  72. PcExperienceExample expExperi = new PcExperienceExample();
  73. PcExperienceExample.Criteria croExperi = expExperi.or();
  74. croExperi.andJobuserIDIn(ids);
  75. experienceRows = pcExperienceMapper.deleteByExample(expExperi);
  76. return experienceRows;
  77. }
  78. @Override
  79. public int delete(List<String> ids) {
  80. deleteEducation(ids);
  81. deleteExperience(ids);
  82. int result = 0;
  83. PcJobuserExample exp = new PcJobuserExample();
  84. PcJobuserExample.Criteria cro = exp.or();
  85. cro.andJobuserIDIn(ids);
  86. result = pcJobuserMapper.deleteByExample(exp);
  87. return result;
  88. }
  89. @Override
  90. public int save(JobUserVo data, String userId) {
  91. int result = 0;
  92. PcJobuser dbData = pcJobuserMapper.selectByPrimaryKey(data.getJobuserID());
  93. if (dbData == null) {
  94. dbData = new PcJobuser();
  95. dbData.setJobuserID(data.getJobuserID());
  96. dbData.setSiteID(data.getSiteID());
  97. dbData.setIdentityNumber(data.getIdentityNumber());
  98. dbData.setName(data.getName());
  99. dbData.setPyName(data.getPyName());
  100. dbData.setEngName(data.getEngName());
  101. dbData.setJobStatusID(data.getJobStatusID());
  102. dbData.setSex(data.getSex());
  103. dbData.setNation(data.getNation());
  104. dbData.setPoliticsStatusID(data.getPoliticsStatusID());
  105. dbData.setBirthplace(data.getBirthplace());
  106. dbData.setBirthDay(data.getBirthDay());
  107. dbData.setFamilyNatureID(data.getFamilyNatureID());
  108. dbData.setFamilyAddress(data.getFamilyAddress());
  109. dbData.setCultureRank(data.getCultureRank());
  110. dbData.setHealthID(data.getHealthID());
  111. dbData.setHeight(data.getHeight());
  112. dbData.setBloodTypeID(data.getBloodTypeID());
  113. dbData.setVision(data.getVision());
  114. dbData.setWeight(data.getWeight());
  115. dbData.setMaritalStatusID(data.getMaritalStatusID());
  116. dbData.setProvinceCode(data.getProvinceCode());
  117. dbData.setRegionCode(data.getRegionCode());
  118. dbData.setStreetCode(data.getStreetCode());
  119. dbData.setUserName(data.getUserName());
  120. dbData.setUserMobile(data.getUserMobile());
  121. dbData.setAddress(data.getAddress());
  122. dbData.setPostalCode(data.getPostalCode());
  123. dbData.setEmail(data.getEmail());
  124. dbData.setHobby(data.getHobby());
  125. dbData.setKeyPersonTypeID(data.getKeyPersonTypeID());
  126. dbData.setPersonalSkills(data.getPersonalSkills());
  127. dbData.setCreateTime(new Date());
  128. dbData.setCreateUserID(userId);
  129. result = pcJobuserMapper.insert(dbData);
  130. } else {
  131. dbData.setJobuserID(data.getJobuserID());
  132. dbData.setSiteID(data.getSiteID());
  133. dbData.setIdentityNumber(data.getIdentityNumber());
  134. dbData.setName(data.getName());
  135. dbData.setPyName(data.getPyName());
  136. dbData.setEngName(data.getEngName());
  137. dbData.setSex(data.getSex());
  138. dbData.setJobStatusID(data.getJobStatusID());
  139. dbData.setNation(data.getNation());
  140. dbData.setPoliticsStatusID(data.getPoliticsStatusID());
  141. dbData.setBirthplace(data.getBirthplace());
  142. dbData.setBirthDay(data.getBirthDay());
  143. dbData.setFamilyNatureID(data.getFamilyNatureID());
  144. dbData.setFamilyAddress(data.getFamilyAddress());
  145. dbData.setCultureRank(data.getCultureRank());
  146. dbData.setHealthID(data.getHealthID());
  147. dbData.setHeight(data.getHeight());
  148. dbData.setBloodTypeID(data.getBloodTypeID());
  149. dbData.setVision(data.getVision());
  150. dbData.setWeight(data.getWeight());
  151. dbData.setMaritalStatusID(data.getMaritalStatusID());
  152. dbData.setProvinceCode(data.getProvinceCode());
  153. dbData.setRegionCode(data.getRegionCode());
  154. dbData.setStreetCode(data.getStreetCode());
  155. dbData.setUserName(data.getUserName());
  156. dbData.setUserMobile(data.getUserMobile());
  157. dbData.setAddress(data.getAddress());
  158. dbData.setPostalCode(data.getPostalCode());
  159. dbData.setEmail(data.getEmail());
  160. dbData.setHobby(data.getHobby());
  161. dbData.setKeyPersonTypeID(data.getKeyPersonTypeID());
  162. dbData.setPersonalSkills(data.getPersonalSkills());
  163. dbData.setModifyTime(new Date());
  164. dbData.setModifyUserID(userId);
  165. result = pcJobuserMapper.updateByPrimaryKeySelective(dbData);
  166. }
  167. if (result >= 1) {
  168. SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
  169. String jobUserId = dbData.getJobuserID();
  170. List<String> ids = new ArrayList<>();
  171. ids.add(jobUserId);
  172. deleteEducation(ids);
  173. deleteExperience(ids);
  174. data.getJobEducation().stream().forEach(x -> {
  175. PcEducation education = new PcEducation();
  176. education.setEducationID(UUID.randomUUID().toString());
  177. education.setJobuserID(jobUserId);
  178. education.setCultureRank(Integer.parseInt(x.get("cultureRank") + ""));
  179. education.setSchoolName(x.get("schoolName").toString());
  180. try {
  181. education.setSchoolTime(dateFormat.parse(x.get("schoolTime").toString()));
  182. education.setOverTime(dateFormat.parse(x.get("overTime").toString()));
  183. } catch (ParseException e) {
  184. e.printStackTrace();
  185. }
  186. education.setMajor(x.get("major").toString());
  187. education.setCreateTime(new Date());
  188. education.setCreateUserID(userId);
  189. pcEducationMapper.insert(education);
  190. });
  191. data.getJobExperience().stream().forEach(x -> {
  192. PcExperience experience = new PcExperience();
  193. experience.setExperienceID(UUID.randomUUID().toString());
  194. experience.setJobuserID(jobUserId);
  195. try {
  196. experience.setStartTime(dateFormat.parse(x.get("startTime").toString()));
  197. experience.setEndTime(dateFormat.parse(x.get("endTime").toString()));
  198. } catch (ParseException e) {
  199. e.printStackTrace();
  200. }
  201. experience.setDuties(x.get("duties").toString());
  202. experience.setWorkAddress(x.get("workAddress").toString());
  203. experience.setCreateTime(new Date());
  204. experience.setCreateUserID(userId);
  205. pcExperienceMapper.insert(experience);
  206. });
  207. }
  208. return result;
  209. }
  210. }