Commit 273f17a9 by guojuxing

接口优化:服务接口当参数太污染,换成上下文获取

parent 8882fcf1
package com.gic.plug.web.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.utils.UserDetailUtils;
......@@ -7,12 +13,6 @@ import com.gic.plug.web.utils.storeresourceauth.StoreResourceUtils;
import com.gic.store.constant.StoreESFieldsEnum;
import com.gic.store.dto.StoreBrandDTO;
import com.gic.store.service.StoreBrandApiService;
import com.gic.store.service.StoreWidgetApiService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 门店选择器-店招品牌查询
......@@ -27,8 +27,6 @@ public class StoreBrandController {
@Autowired
private StoreBrandApiService storeBrandApiService;
@Autowired
private StoreWidgetApiService storeWidgetApiService;
@RequestMapping("/list-store-brand")
public RestResponse listStoreBrand(String search) {
......@@ -37,8 +35,7 @@ public class StoreBrandController {
if (serviceResponse.isSuccess()) {
return RestResponse.success(StoreResourceUtils.auth(
serviceResponse.getResult(),
StoreESFieldsEnum.STOREBRANDIDLIST.getField(),
storeWidgetApiService ));
StoreESFieldsEnum.STOREBRANDIDLIST.getField()));
} else {
return RestResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
}
......
......@@ -70,7 +70,7 @@ public class StoreController {
public RestResponse listStoreRegion(String search) {
UserDetail userDetail = UserDetailUtils.getUserDetail();
Integer enterpriseId = userDetail.getEnterpriseId();
Set<String> authRegionSet = StoreResourceAuthUtils.getAuthData(StoreESFieldsEnum.REGIONID.getField(), storeWidgetApiService);
Set<String> authRegionSet = StoreResourceAuthUtils.getAuthData(StoreESFieldsEnum.REGIONID.getField());
ServiceResponse<List<StoreRegionDTO>> serviceResponse = storeRegionApiService.listStoreRegion(enterpriseId, search);
if (serviceResponse.isSuccess()) {
List<StoreRegionDTO> result = serviceResponse.getResult();
......@@ -96,7 +96,7 @@ public class StoreController {
StoreSearchDTO storeSearchDTO = new StoreSearchDTO();
//权限过滤部分门店
List<Integer> authStorePart = StoreResourceUtils.auth(null, StoreESFieldsEnum.STOREID.getField(), storeWidgetApiService);
List<Integer> authStorePart = StoreResourceUtils.auth(null, StoreESFieldsEnum.STOREID.getField());
if (CollectionUtils.isNotEmpty(authStorePart)) {
StringBuilder storeIds = new StringBuilder();
authStorePart.forEach(e -> {
......
......@@ -120,10 +120,10 @@ public class StoreFieldController {
private List<StoreFieldRegionVO> transferDtoToVo(List<StoreFieldDTO> dtoList, Integer enterpriseId) {
//自定义字段权限过滤数据
List<StoreFieldDTO> storeFieldAuthData = StoreResourceUtils
.auth(dtoList, StoreResourceUtils.STORE_FIELD_KEY, storeWidgetApiService);
.auth(dtoList, StoreResourceUtils.STORE_FIELD_KEY);
List<StoreFieldRegionVO> voList = new ArrayList<>(storeFieldAuthData.size());
Set<String> userRegion = StoreResourceAuthUtils.getAuthData(StoreESFieldsEnum.REGIONID.getField(), widgetApiService);
Set<String> userRegion = StoreResourceAuthUtils.getAuthData(StoreESFieldsEnum.REGIONID.getField());
for (StoreFieldDTO dto : storeFieldAuthData) {
//不需要文本类型字段
if(!userRegion.isEmpty()){
......
......@@ -15,7 +15,6 @@ import com.gic.plug.web.vo.StoreTagVO;
import com.gic.store.constant.StoreESFieldsEnum;
import com.gic.store.dto.StoreTagDTO;
import com.gic.store.service.StoreTagApiService;
import com.gic.store.service.StoreWidgetApiService;
/**
* 门店选择器-门店标签
......@@ -29,8 +28,6 @@ import com.gic.store.service.StoreWidgetApiService;
public class StoreTagController {
@Autowired
private StoreTagApiService storeTagApiService;
@Autowired
private StoreWidgetApiService storeWidgetApiService;
@RequestMapping("/list-store-tag")
public RestResponse list() {
......@@ -38,8 +35,7 @@ public class StoreTagController {
if (response.isSuccess()) {
List<StoreTagDTO> result = StoreResourceUtils.auth(
response.getResult(),
StoreESFieldsEnum.STORETAG.getField(),
storeWidgetApiService);
StoreESFieldsEnum.STORETAG.getField());
return RestResponse.success(EntityUtil.changeEntityListNew(StoreTagVO.class, result));
}
return RestResponse.failure(response.getCode(), response.getMessage());
......
package com.gic.plug.web.utils;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
/**
* Spring ApplicationContext 工具类
* @ClassName: ApplicationContextUtils

* @Description: 

* @author guojuxing

* @date 2020/11/11 10:22 AM

*/
@Component
public class ApplicationContextUtils implements ApplicationContextAware{
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
ApplicationContextUtils.applicationContext = applicationContext;
}
public static <T> T getBean(String beanName) {
if (applicationContext.containsBean(beanName)) {
return (T) applicationContext.getBean(beanName);
}
return null;
}
public static <T> T getBean(Class<T> clazz) {
return applicationContext.getBean(clazz);
}
}
......@@ -27,10 +27,10 @@ public class StoreResourceAuthUtils {
/**
* 获取用户的资源组-门店数据
* @param field 门店域/门店分组......StoreESFieldsEnum
* @param storeWidgetApiService
* @return 空集合,表示全部权限
*/
public static Set<String> getAuthData(String field, StoreWidgetApiService storeWidgetApiService) {
public static Set<String> getAuthData(String field) {
StoreWidgetApiService storeWidgetApiService = ApplicationContextUtils.getBean("storeWidgetApiService");
UserDetail userDetail = UserDetailUtils.getUserDetail();
boolean isAdmin = userDetail.getUserInfo().getSuperAdmin() == 1 || userDetail.getStoreResourceInfo() == null;
//超管
......
package com.gic.plug.web.utils.storeresourceauth;
import com.gic.plug.web.utils.StoreResourceAuthUtils;
import com.gic.store.constant.StoreESFieldsEnum;
import com.gic.store.service.StoreWidgetApiService;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.gic.plug.web.utils.StoreResourceAuthUtils;
import com.gic.store.constant.StoreESFieldsEnum;
/**
* 资源组-门店资源过滤工具类
* @ClassName:
......@@ -33,12 +32,11 @@ public class StoreResourceUtils {
* 业务方过滤权限
* @param serviceData 业务方数据
* @param field StoreESFieldsEnum 门店分组/门店域.....
* @param storeWidgetApiService 门店选择器服务
* @param <T>
* @return
*/
public static <T> T auth(List serviceData, String field, StoreWidgetApiService storeWidgetApiService) {
Set<String> authSet = StoreResourceAuthUtils.getAuthData(field, storeWidgetApiService);
public static <T> T auth(List serviceData, String field) {
Set<String> authSet = StoreResourceAuthUtils.getAuthData(field);
return (T) map.get(field).auth(serviceData, authSet);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment