jinxia.mo hai 1 mes
pai
achega
a7f7b8133e

+ 5 - 5
ie-admin/src/main/java/com/ruoyi/web/controller/front/FrontUniversitiesController.java

@@ -106,7 +106,7 @@ public class FrontUniversitiesController extends BaseController {
     @ApiOperation("00 院校列表数据筛选项-地域 回传location和cityName")
     public AjaxResult locations2() {
         List<BBusiWishUniversities> list = universitiesService.selectBBusiWishUniversitiesLocations2(ConstantUtil.getExamTypeData(VistorContextHolder.getExamType().title()));
-        
+
         // 按location分组,收集每个location下的cityName
         Map<String, Set<String>> locationCityMap = list.stream()
                 .filter(item -> StringUtils.isNotBlank(item.getLocation()) && StringUtils.isNotBlank(item.getCityName()))
@@ -117,7 +117,7 @@ public class FrontUniversitiesController extends BaseController {
                                 Collectors.toSet()
                         )
                 ));
-        
+
         // 构建返回数据
         List<Map<String, Object>> result = locationCityMap.entrySet().stream()
                 .sorted(Map.Entry.comparingByKey())
@@ -132,7 +132,7 @@ public class FrontUniversitiesController extends BaseController {
                     return item;
                 })
                 .collect(Collectors.toList());
-        
+
         return AjaxResult.success(result);
     }
 
@@ -239,9 +239,9 @@ public class FrontUniversitiesController extends BaseController {
         Integer planYear = voluntaryService.getPlanYear(user);
         if(Constant.EXAM_TYPE_ZG.equals(user.getExamType().title())) {
             //职高对口
-            arr = universitiesService.selectMajorWishUniversitiesListSimpleByMap2(cond.toCondMap(planYear, user.getExamType().title(), user.getExamMajor(), user.getLocation(),cond.getTiers())); // TODO MF
+            arr = universitiesService.selectMajorWishUniversitiesListSimpleByMap2(cond.toCondMap(planYear, user.getExamType().title(), user.getExamMajor(), user.getLocation(),cond.getTiers(),cond.getCityName())); // TODO MF
         } else {
-            arr = universitiesService.selectMajorWishUniversitiesListSimpleByMap(cond.toCondMap(planYear, Constant.EXAM_TYPE_PG, null, user.getLocation(),cond.getTiers()));
+            arr = universitiesService.selectMajorWishUniversitiesListSimpleByMap(cond.toCondMap(planYear, Constant.EXAM_TYPE_PG, null, user.getLocation(),cond.getTiers(),cond.getCityName()));
         }
         //处理院校星级竞争力
         arr.stream().forEach(t -> {

+ 5 - 2
ie-system/src/main/java/com/ruoyi/syzy/dto/UniversitiesCondDTO.java

@@ -27,7 +27,7 @@ public class UniversitiesCondDTO {
     /** 所在地 */
     @ApiModelProperty("所在地")
     private String location;
-    
+
     private String cityName;
 
     /** 主管机构类别 */
@@ -65,7 +65,7 @@ public class UniversitiesCondDTO {
 
     private Boolean filterRank;
 
-    public Map toCondMap(Integer year, String entranceType, Integer examMajor, String rankLocation,String tiers) {
+    public Map toCondMap(Integer year, String entranceType, Integer examMajor, String rankLocation,String tiers,String cityName) {
         Map cond = Maps.newHashMap();
         cond.put("code", code);
         cond.put("name", name);
@@ -76,6 +76,9 @@ public class UniversitiesCondDTO {
         if (StringUtils.isNotBlank(location)) {
             cond.put("locations", Arrays.asList(location.split(",")));
         }
+        if (StringUtils.isNotBlank(cityName)) {
+            cond.put("cityNames", Arrays.asList(cityName.split(",")));
+        }
         if (StringUtils.isNotBlank(tiers)) {
             cond.put("tiers", Arrays.asList(tiers.split(",")));
         }

+ 3 - 0
ie-system/src/main/resources/mapper/syzy/BBusiWishUniversitiesMapper.xml

@@ -164,6 +164,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
       <if test="bxTypes!= null"> and <foreach item="o" collection="bxTypes" open="(" separator=" OR " close=")">u.bxType like concat('%', #{o}, '%')</foreach></if>
       <if test="enrollLocations!= null"> and <foreach item="o" collection="enrollLocations" open="(" separator=" OR " close=")">u.enrollLocation like concat('%', #{o}, '%')</foreach></if>
       <if test="locations!= null"> and <foreach item="o" collection="locations" open="(" separator=" OR " close=")">u.location like concat('%', #{o}, '%')</foreach></if>
+      <if test="cityNames!= null"> and <foreach item="o" collection="cityNames" open="(" separator=" OR " close=")">u.cityName like concat('%', #{o}, '%')</foreach></if>
       <if test="stars!= null"> and <foreach item="o" collection="stars" open="(" separator=" OR " close=")">u.star like concat('%', #{o}, '%')</foreach></if>
       <if test="filterRank!= null and filterRank"> and u.star &gt; 0 </if>
       <if test="codes!= null">
@@ -228,6 +229,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
           #{code}
         </foreach>
       </if>
+      <if test="locations!= null"> and <foreach item="o" collection="locations" open="(" separator=" OR " close=")">u.location like concat('%', #{o}, '%')</foreach></if>
+      <if test="cityNames!= null"> and <foreach item="o" collection="cityNames" open="(" separator=" OR " close=")">u.cityName like concat('%', #{o}, '%')</foreach></if>
     </where>
     <choose>
       <when test="filterRank!= null and filterRank"> order by if(u.ranking = 0, 9999, u.ranking), u.code </when>