Преглед изворни кода

兼容游客的ExamType和Location, 直接引用的先替换

mingfu пре 1 месец
родитељ
комит
01a4e97517

+ 3 - 2
ie-admin/src/main/java/com/ruoyi/web/controller/front/FrontNewsController.java

@@ -1,6 +1,7 @@
 package com.ruoyi.web.controller.front;
 
 import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.core.content.VistorContextHolder;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysDictData;
@@ -70,7 +71,7 @@ public class FrontNewsController extends BaseController {
     @ApiOperation("00 通关指南")
     public TableDataInfo getMainList(@ApiParam(value = "省份 ", example = "湖南") @RequestParam(required = false) String location) {
         BWwwNewsRef cond = new BWwwNewsRef();
-        if(StringUtils.isBlank(location) && StringUtils.isBlank((location = SecurityUtils.getLoginUser().getUser().getLocation()))) {
+        if(StringUtils.isBlank(location) && StringUtils.isBlank((location = VistorContextHolder.getLocation()))) {
             cond.setLocation("湖南");
         }
         cond.setLocation(location);
@@ -109,7 +110,7 @@ public class FrontNewsController extends BaseController {
                               @ApiParam(value = "页数", example = "1") @RequestParam Integer pageNum,
                               @ApiParam(value = "页大小", example = "15") @RequestParam Integer pageSize) {
         if(StringUtils.isBlank(location)) {
-            location = SecurityUtils.getLoginUser().getUser().getLocation();
+            location = VistorContextHolder.getLocation();
         }
         return llist(ids,top,type,tag,title,location, pageNum,pageSize);
     }

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

@@ -8,6 +8,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.core.text.Convert;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.core.content.VistorContextHolder;
 import com.ruoyi.sy.domain.*;
 import com.ruoyi.sy.service.ISyMajorCareerProspectsService;
 import com.ruoyi.sy.service.ISyMajorOverviewService;
@@ -70,14 +71,14 @@ public class FrontSyMajorRelationController extends BaseController {
         UniversitiesCondDTO cond = new UniversitiesCondDTO();
         cond.setMajorCodes(code);
         //是否收藏
-        return universitiesController.getUniversitiesList(cond,SecurityUtils.getLoginUser().getUser().getLocation(),pageNum,pageSize);
+        return universitiesController.getUniversitiesList(cond,VistorContextHolder.getLocation(),pageNum,pageSize);
     }
 
     @GetMapping("getMajorOverviewByCode")
     @ApiOperation("02 根据三级专业编码获取专业概况")
     public AjaxResult getMajorOverviewByCode(@RequestParam(required = true) String code) {
         code = StringUtils.getNumeric(code);//过滤字母
-        String examTypeData = ConstantUtil.getExamTypeData(SecurityUtils.getLoginUser().getUser().getExamType().title());
+        String examTypeData = ConstantUtil.getExamTypeData(VistorContextHolder.getExamType().title());
         SyMajorOverview syMajorOverview = syMajorOverviewService.selectSyMajorOverviewByCode(examTypeData, code);
         if(StringUtils.isNull(syMajorOverview)){
             return AjaxResult.success(new SyMajorCareerProspects());
@@ -112,7 +113,7 @@ public class FrontSyMajorRelationController extends BaseController {
             }
             codeQueryList.add(StringUtils.getNumeric(cc));
         }
-        String examTypeData = ConstantUtil.getExamTypeData(SecurityUtils.getLoginUser().getUser().getExamType().title());
+        String examTypeData = ConstantUtil.getExamTypeData(VistorContextHolder.getExamType().title());
         List<SyMajorOverview> resultList = syMajorOverviewService.selectSyMajorOverviewByCodes(examTypeData, codeQueryList);
         if(CollectionUtils.isEmpty(resultList)){
             return AjaxResult.success(new ArrayList<>());
@@ -174,7 +175,7 @@ public class FrontSyMajorRelationController extends BaseController {
         if(CollectionUtils.isEmpty(codeQueryList)){
             return AjaxResult.success(new ArrayList<>());
         }
-        String examTypeData = ConstantUtil.getExamTypeData(SecurityUtils.getLoginUser().getUser().getExamType().title());
+        String examTypeData = ConstantUtil.getExamTypeData(VistorContextHolder.getExamType().title());
         Map<String, SyMajorOverview> overviewMap = syMajorOverviewService.selectSyMajorOverviewByCodes(examTypeData, codeQueryList)
                 .stream().collect(Collectors.toMap(SyMajorOverview::getCode, Function.identity()));
 

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

@@ -8,6 +8,7 @@ import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.core.content.VistorContextHolder;
 import com.ruoyi.system.service.ISysDictTypeService;
 import com.ruoyi.syzy.domain.*;
 import com.ruoyi.syzy.dto.UniversitiesCondDTO;
@@ -59,7 +60,7 @@ public class FrontUniversitiesController extends BaseController {
     @GetMapping("filters")
     @ApiOperation("00 院校列表数据筛选项")
     public AjaxResult filters() {
-        String entranceType = ConstantUtil.getExamTypeData(SecurityUtils.getLoginUser().getUser().getExamType().title());
+        String entranceType = ConstantUtil.getExamTypeData(VistorContextHolder.getExamType().title());
         JSONObject data = new JSONObject(true);
         data.put("locations", universitiesService.getLocations(entranceType));
         data.put("natureTypes", universitiesService.getNatureTypeCN(entranceType));//办学性质:公办民办
@@ -79,31 +80,31 @@ public class FrontUniversitiesController extends BaseController {
     @GetMapping("locations")
     @ApiOperation("00 院校列表数据筛选项-地域 回传location")
     public AjaxResult locations() {
-        return AjaxResult.success(universitiesService.getLocations(ConstantUtil.getExamTypeData(SecurityUtils.getLoginUser().getUser().getExamType().title())));
+        return AjaxResult.success(universitiesService.getLocations(ConstantUtil.getExamTypeData(VistorContextHolder.getExamType().title())));
     }
 
     @GetMapping("natureTypes")
     @ApiOperation("00 院校列表数据筛选项-主管部门类型 回传natureTypeCN")
     public AjaxResult natureTypes() {
-        return AjaxResult.success(universitiesService.getNatureTypeCN(ConstantUtil.getExamTypeData(SecurityUtils.getLoginUser().getUser().getExamType().title())));
+        return AjaxResult.success(universitiesService.getNatureTypeCN(ConstantUtil.getExamTypeData(VistorContextHolder.getExamType().title())));
     }
 
     @GetMapping("types")
     @ApiOperation("00 院校列表数据筛选项-院校类型 回传type")
     public AjaxResult types() {
-        return AjaxResult.success(universitiesService.getTypes(ConstantUtil.getExamTypeData(SecurityUtils.getLoginUser().getUser().getExamType().title())));
+        return AjaxResult.success(universitiesService.getTypes(ConstantUtil.getExamTypeData(VistorContextHolder.getExamType().title())));
     }
 
     @GetMapping("levels")
     @ApiOperation("00 院校列表数据筛选项-学历层次 回传level")
     public AjaxResult levels() {
-        return AjaxResult.success(universitiesService.getLevels(ConstantUtil.getExamTypeData(SecurityUtils.getLoginUser().getUser().getExamType().title())));
+        return AjaxResult.success(universitiesService.getLevels(ConstantUtil.getExamTypeData(VistorContextHolder.getExamType().title())));
     }
 
     @GetMapping("features")
     @ApiOperation("00 院校列表数据筛选项-院校类型 回传features")
     public AjaxResult features() {
-        return AjaxResult.success(universitiesService.getFeatures(ConstantUtil.getExamTypeData(SecurityUtils.getLoginUser().getUser().getExamType().title())));
+        return AjaxResult.success(universitiesService.getFeatures(ConstantUtil.getExamTypeData(VistorContextHolder.getExamType().title())));
     }
 
     @GetMapping("listNoToken")
@@ -117,7 +118,7 @@ public class FrontUniversitiesController extends BaseController {
     @ApiOperation("01 院校列表")
     public TableDataInfo list(UniversitiesCondDTO cond, @ApiParam(value = "页数", example = "1") @RequestParam Integer pageNum,
                               @ApiParam(value = "页大小", example = "15") @RequestParam Integer pageSize) {
-        String location = SecurityUtils.getLoginUser().getUser().getLocation();
+        String location = VistorContextHolder.getLocation();
         if(StringUtils.isNotBlank(location)){
             location = location+",全国";
         }

+ 3 - 2
ie-admin/src/main/java/com/ruoyi/web/service/VoluntaryService.java

@@ -10,6 +10,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
+import com.ruoyi.common.core.content.VistorContextHolder;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.page.TableDataInfo;
@@ -257,7 +258,7 @@ public class VoluntaryService {
     }
 
     private List<VoluntaryDto.AIRenderRule> findMatchRules(Map cond, boolean isAi, boolean isScore) {
-        String examType = SecurityUtils.getLoginUser().getUser().getExamType().title(); // TODO MF
+        String examType = VistorContextHolder.getExamType().title(); // TODO MF
         String gender = "0".equals(SecurityUtils.getLoginUser().getUser().getSex()) ? "男生" : "女生";
         cond.put("examineeType", examType);
 
@@ -382,7 +383,7 @@ public class VoluntaryService {
 
     // TODO 同一专业号有多个专业方向
     private List<VoluntaryDto.AIResponse> findMajorSuggest(Integer planYear, Integer submitYear, Map cond, Map<String, String> paramMap, boolean isAi, boolean isScoreOnly) {
-        String examType = SecurityUtils.getLoginUser().getUser().getExamType().title(); // TODO MF
+        String examType = VistorContextHolder.getExamType().title(); // TODO MF
         String gender = "0".equals(SecurityUtils.getLoginUser().getUser().getSex()) ? "男生" : "女生";
         cond.remove("year");
         cond.put("examineeType", examType);

+ 10 - 1
ie-framework/src/main/java/com/ruoyi/framework/web/context/VistorContextHolder.java → ie-common/src/main/java/com/ruoyi/common/core/content/VistorContextHolder.java

@@ -1,7 +1,8 @@
-package com.ruoyi.framework.web.context;
+package com.ruoyi.common.core.content;
 
 
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.enums.ExamType;
 
 /**
  * 身份验证信息
@@ -26,4 +27,12 @@ public class VistorContextHolder
     {
         contextHolder.remove();
     }
+
+    public static ExamType getExamType() {
+        return getContext().getExamType();
+    }
+
+    public static String getLocation() {
+        return getContext().getLocation();
+    }
 }

+ 1 - 3
ie-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java

@@ -1,17 +1,15 @@
 package com.ruoyi.framework.security.filter;
 
 import java.io.IOException;
-import java.util.Collections;
 import javax.servlet.FilterChain;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.core.domain.model.LoginCard;
 import com.ruoyi.common.enums.ExamType;
 import com.ruoyi.common.enums.UserRegStatus;
-import com.ruoyi.framework.web.context.VistorContextHolder;
+import com.ruoyi.common.core.content.VistorContextHolder;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.context.SecurityContextHolder;

+ 2 - 1
ie-system/src/main/java/com/ruoyi/sy/service/impl/SyMajorServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ruoyi.sy.service.impl;
 
+import com.ruoyi.common.core.content.VistorContextHolder;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.sy.domain.SyMajor;
 import com.ruoyi.sy.mapper.SyMajorMapper;
@@ -36,7 +37,7 @@ public class SyMajorServiceImpl implements ISyMajorService
 
     @Override
     public SyMajor selectSyMajorByCode(String code) {
-        String examTypeData = ConstantUtil.getExamTypeData(SecurityUtils.getLoginUser().getUser().getExamType().title()); // TODO MF
+        String examTypeData = ConstantUtil.getExamTypeData(VistorContextHolder.getExamType().title()); // TODO MF
         return syMajorMapper.selectSyMajorByCode(examTypeData, code);
     }
 

+ 2 - 1
ie-system/src/main/java/com/ruoyi/syzy/service/impl/BBusiWishUniversitySubmitMarjorsServiceImpl.java

@@ -5,6 +5,7 @@ import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import com.ruoyi.common.core.content.VistorContextHolder;
 import com.ruoyi.system.service.ISysConfigService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -73,7 +74,7 @@ public class BBusiWishUniversitySubmitMarjorsServiceImpl implements IBBusiWishUn
         sb.append("where b.STATUS > 0 ");
         sb.append("and b.universityId = ").append(criteria.getUniversityId().trim()).append(" ");
         //用户地区
-        String ulocation = SecurityUtils.getLoginUser().getUser().getLocation();
+        String ulocation = VistorContextHolder.getLocation();
         if(StringUtils.isNotBlank(ulocation)) {
             sb.append("and b.location like '%").append(ulocation.trim()).append("%' ");
         }