BBusiWishUniversitiesServiceImpl.java 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. package com.ruoyi.syzy.service.impl;
  2. import com.google.common.collect.Maps;
  3. import com.ruoyi.common.core.domain.entity.SysUser;
  4. import com.ruoyi.common.utils.CommonUtils;
  5. import com.ruoyi.common.utils.SecurityUtils;
  6. import com.ruoyi.sy.domain.SyMajor;
  7. import com.ruoyi.sy.service.ISyMajorService;
  8. import com.ruoyi.syzy.domain.*;
  9. import com.ruoyi.syzy.dto.UniversityDetailDTO;
  10. import com.ruoyi.syzy.mapper.*;
  11. import com.ruoyi.syzy.service.IBBusiWishUniversitiesEnrollBrochureService;
  12. import com.ruoyi.syzy.service.IBBusiWishUniversitiesService;
  13. import com.ruoyi.util.ConstantUtil;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. import java.util.*;
  17. import java.util.stream.Collectors;
  18. /**
  19. * 院校库Service业务层处理
  20. *
  21. * @author mingxue
  22. * @date 2021-07-29
  23. */
  24. @Service
  25. public class BBusiWishUniversitiesServiceImpl implements IBBusiWishUniversitiesService {
  26. @Autowired
  27. private BBusiWishUniversitiesMapper bBusiWishUniversitiesMapper;
  28. @Autowired
  29. private ISyMajorService syMajorService;
  30. @Autowired
  31. private BBusiWishUniversitiesEmploymentreportMapper universitiesEmploymentreportMapper;
  32. @Autowired
  33. private BBusiWishUniversitiesDepartmentMapper universitiesDepartmentMapper;
  34. @Autowired
  35. private BBusiWishUniversitiesProfessionMapper universitiesProfessionMapper;
  36. @Autowired
  37. private BBusiWishUniversitiesSubjectMapper universitiesSubjectMapper;
  38. @Autowired
  39. private IBBusiWishUniversitiesEnrollBrochureService universitiesEnrollBrochureService;
  40. @Override
  41. public List<BBusiWishUniversities> listMyByPage(String customerCode) {
  42. return bBusiWishUniversitiesMapper.listMyByPage(customerCode);
  43. }
  44. @Override
  45. public BBusiWishUniversities selectBBusiWishUniversitiesById(Long universityId) {
  46. return bBusiWishUniversitiesMapper.selectBBusiWishUniversitiesById(universityId);
  47. }
  48. @Override
  49. public BBusiWishUniversities selectBBusiWishUniversitiesByCode(String code) {
  50. return bBusiWishUniversitiesMapper.selectBBusiWishUniversitiesByCode(code);
  51. }
  52. /**
  53. * 查询院校库列表
  54. *
  55. * @param bBusiWishUniversities 院校库
  56. * @return 院校库
  57. */
  58. @Override
  59. public List<BBusiWishUniversities> selectBBusiWishUniversitiesList(BBusiWishUniversities bBusiWishUniversities) {
  60. return bBusiWishUniversitiesMapper.selectBBusiWishUniversitiesList(bBusiWishUniversities);
  61. }
  62. @Override
  63. public List<BBusiWishUniversitiesProfession> selectBBusiWishUniversitiesProfessionByCode(String collegeCode) {
  64. return universitiesProfessionMapper.selectBBusiWishUniversitiesProfessionByCode(collegeCode);
  65. }
  66. @Override
  67. public List<BBusiWishUniversities> selectBBusiWishUniversitiesListSimpleByMap(Map cond) {
  68. return bBusiWishUniversitiesMapper.selectBBusiWishUniversitiesListSimpleByMap(cond);
  69. }
  70. @Override
  71. public List<BBusiWishUniversities> selectMajorWishUniversitiesListSimpleByMap(Map cond) {
  72. return bBusiWishUniversitiesMapper.selectMajorWishUniversitiesListSimpleByMap(cond);
  73. }
  74. @Override
  75. public List<BBusiWishUniversities> selectMajorWishUniversitiesListSimpleByMap2(Map cond) {
  76. return bBusiWishUniversitiesMapper.selectMajorWishUniversitiesListSimpleByMap2(cond);
  77. }
  78. @Override
  79. public List<BBusiWishUniversities> selectBBusiWishUniversitiesLocations(String entranceType) {
  80. return bBusiWishUniversitiesMapper.selectBBusiWishUniversitiesLocations(entranceType);
  81. }
  82. @Override
  83. public List<BBusiWishUniversities> selectBBusiWishUniversitiesTypes(String entranceType) {
  84. return bBusiWishUniversitiesMapper.selectBBusiWishUniversitiesTypes(entranceType);
  85. }
  86. @Override
  87. public List<BBusiWishUniversities> selectBBusiWishUniversitiesNatureTypes(String entranceType) {
  88. return bBusiWishUniversitiesMapper.selectBBusiWishUniversitiesNatureTypes(entranceType);
  89. }
  90. @Override
  91. public List<BBusiWishUniversities> selectBBusiWishUniversitiesListSimple(BBusiWishUniversities bBusiWishUniversities) {
  92. return bBusiWishUniversitiesMapper.selectBBusiWishUniversitiesListSimple(bBusiWishUniversities);
  93. }
  94. @Override
  95. public List<BBusiWishUniversities> selectBBusiWishUniversitiesFeatures(String entranceType) {
  96. return bBusiWishUniversitiesMapper.selectBBusiWishUniversitiesFeatures(entranceType);
  97. }
  98. @Override
  99. public List<BBusiWishUniversities> selectBBusiWishUniversitiesBxTypes(String entranceType) {
  100. return bBusiWishUniversitiesMapper.selectBBusiWishUniversitiesBxTypes(entranceType);
  101. }
  102. @Override
  103. public List<BBusiWishUniversities> selectBBusiWishUniversitiesLevels(String entranceType) {
  104. return bBusiWishUniversitiesMapper.selectBBusiWishUniversitiesLevels(entranceType);
  105. }
  106. /**
  107. * 修改院校库
  108. *
  109. * @param bBusiWishUniversities 院校库
  110. * @return 结果
  111. */
  112. @Override
  113. public int updateBBusiWishUniversities(BBusiWishUniversities bBusiWishUniversities) {
  114. return bBusiWishUniversitiesMapper.updateBBusiWishUniversities(bBusiWishUniversities);
  115. }
  116. @Override
  117. public int updateCollect(Long id, Integer collect) {
  118. return bBusiWishUniversitiesMapper.updateCollect(id, collect);
  119. }
  120. @Override
  121. public UniversityDetailDTO detail(String code, Integer year) {
  122. UniversityDetailDTO data = new UniversityDetailDTO();
  123. //基础信息
  124. data.setBaseInfo(selectBBusiWishUniversitiesByCode(code));
  125. //院校院系 b_busi_wish_universities_department;院校院系专业 b_busi_wish_universities_department_major
  126. // List<BBusiWishUniversitiesDepartment> departmentList=universitiesDepartmentMapper.selectBBusiWishUniversitiesDepartmentList(new BBusiWishUniversitiesDepartment().setCollegeCode(code));
  127. // data.setDepartments(departmentList);
  128. //院校特色专业 b_busi_wish_universities_profession
  129. SysUser u = SecurityUtils.getLoginUser().getUser();
  130. Map cond = Maps.newHashMap();
  131. String examTypeData = ConstantUtil.getExamTypeData(u.getExamType().title());
  132. cond.put("year", year);
  133. cond.put("collegeCode", code);
  134. cond.put("examineeType", u.getExamType().title());
  135. cond.put("examType", examTypeData);
  136. cond.put("examMajor", u.getExamMajor());
  137. List<BBusiWishUniversitiesProfession> professionList = universitiesProfessionMapper.selectEnrollPlanProfessionByCode(cond);
  138. //设置数量
  139. Map<String,Integer> codeCountMap = syMajorService.selectSyMajorByLevel(examTypeData, 3).stream().collect(Collectors.toMap(t -> t.getCode(), SyMajor::getChildCount));
  140. professionList.stream().forEach(ll->{
  141. if(codeCountMap.containsKey(ll.getCode())){
  142. ll.setCount(codeCountMap.get(ll.getCode()));
  143. }
  144. });
  145. data.setProfessions(professionList);
  146. //院校重点&双一流 b_busi_wish_universities_subject
  147. // Map<String,List<BBusiWishUniversitiesSubject>> subjectMap = universitiesSubjectMapper.selectBBusiWishUniversitiesSubjectList(new BBusiWishUniversitiesSubject().setCollegeCode(code)).stream().collect(Collectors.groupingBy(entity -> entity.getDataType()));
  148. // data.setSubjects(subjectMap);
  149. //学科评估
  150. // List<BBusiWishUniversitiesSubjectevaluate> subjectevaluateList =universitiesSubjectevaluateMapper.selectBBusiWishUniversitiesSubjectevaluateList(new BBusiWishUniversitiesSubjectevaluate().setCollegeCode(code));
  151. // data.setSubjectevaluates(subjectevaluateList);
  152. //就业报告
  153. // List<BBusiWishUniversitiesEmploymentreport> employmentreportList =universitiesEmploymentreportMapper.selectBBusiWishUniversitiesEmploymentreportList(new BBusiWishUniversitiesEmploymentreport().setCollegeCode(code));
  154. // data.setEmploymentreports(employmentreportList);
  155. //最新动态、招生简章
  156. BBusiWishUniversitiesEnrollBrochure query = new BBusiWishUniversitiesEnrollBrochure();
  157. query.setCollegeCode(code);
  158. List<BBusiWishUniversitiesEnrollBrochure> list = universitiesEnrollBrochureService.selectBBusiWishUniversitiesEnrollBrochureList(query);
  159. data.setEnrollBrochures(list);
  160. return data;
  161. }
  162. @Override
  163. public List<String> getLocations(String entranceType){
  164. return CommonUtils.sortByChina(selectBBusiWishUniversitiesLocations(entranceType).stream().map(BBusiWishUniversities::getLocation).collect(Collectors.toList()));
  165. }
  166. @Override
  167. public List<String> getTypes(String entranceType){
  168. Set<String> types = new HashSet<>();
  169. selectBBusiWishUniversitiesTypes(entranceType).forEach(ll->{
  170. types.addAll(Arrays.asList(com.ruoyi.common.utils.StringUtils.split(ll.getType(),",")));
  171. });
  172. return CommonUtils.sortByChina(new ArrayList<String>(types));
  173. }
  174. /**
  175. * natureType
  176. * @return
  177. */
  178. @Override
  179. public List<String> getNatureTypeCN(String entranceType){
  180. return CommonUtils.sortByChina(selectBBusiWishUniversitiesNatureTypes(entranceType).stream().map(BBusiWishUniversities::getNatureTypeCN).collect(Collectors.toList()));
  181. }
  182. @Override
  183. public List<String> getFeatures(String entranceType){
  184. Set<String> features = new HashSet<>();
  185. selectBBusiWishUniversitiesFeatures(entranceType).forEach(ll->{
  186. features.addAll(Arrays.asList(com.ruoyi.common.utils.StringUtils.split(ll.getFeatures(), ",")));
  187. });
  188. return CommonUtils.sortByChina(new ArrayList<String>(features));
  189. }
  190. @Override
  191. public List<String> getBxTypes(String entranceType){
  192. Set<String> features = new HashSet<>();
  193. selectBBusiWishUniversitiesBxTypes(entranceType).forEach(ll->{
  194. features.addAll(Arrays.asList(com.ruoyi.common.utils.StringUtils.split(ll.getBxType(), ",")));
  195. });
  196. return CommonUtils.sortByChina(new ArrayList<String>(features));
  197. }
  198. @Override
  199. public List<String> getLevels(String entranceType){
  200. Set<String> levels = new HashSet<>();
  201. selectBBusiWishUniversitiesLevels(entranceType).forEach(ll->{
  202. levels.addAll(Arrays.asList(com.ruoyi.common.utils.StringUtils.split(ll.getLevel(), "//")));
  203. });
  204. return CommonUtils.sortByChina(new ArrayList<String>(levels));
  205. }
  206. }