Commit 1b4a4edc authored by hezhen's avatar hezhen

修改数据权限

parent 2b887bc8
package com.github.wxiaoqi.security.common.vo;
import java.util.List;
public interface DataInter {
List<Integer> getDataCompanyIds();
List<Integer> getDataCorporationIds();
void setDataCompanyIds(List<Integer> dataCompanyIds);
void setDataCorporationIds(List<Integer> dataCorporationIds);
}
......@@ -20,6 +20,10 @@ public class UserDTO extends User {
return str2List(getDataCompany());
}
public List<Integer> dataCorporation2List() {
return str2List(getDataCorporation());
}
private List<Integer> str2List(String str) {
if(StringUtils.isNotBlank(str)) {
return Arrays.asList(str.split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList());
......
......@@ -6,10 +6,13 @@ import com.github.wxiaoqi.security.admin.feign.dto.UserDTO;
import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.DataInter;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
public interface UserRestInterface {
public UserFeign getUserFeign();
......@@ -41,4 +44,28 @@ public interface UserRestInterface {
throw new BaseException(ResultCode.NOTEXIST_CODE);
}
}
default void setPowerData(DataInter dataInter){
UserDTO userDTO = getAdminUserInfo();
if (userDTO == null) {
return;
}
Integer dataAll=userDTO.getDataAll()== null ? 2 : userDTO.getDataAll();
if (dataAll == 2){
List<Integer> dataCompany2List = userDTO.dataCompany2List();
if (dataCompany2List != null && dataCompany2List.size() > 0){
dataInter.setDataCompanyIds(dataCompany2List);
}else {
List<Integer> dataCorporation2List = userDTO.dataCorporation2List();
if (dataCorporation2List != null && dataCorporation2List.size() > 0){
dataInter.setDataCorporationIds(dataCorporation2List);
}else {
List<Integer> ids=new ArrayList<>();
ids.add(0);
dataInter.setDataCompanyIds(ids);
}
}
}
}
}
package com.xxfc.platform.vehicle.pojo;
import com.github.wxiaoqi.security.common.vo.DataInter;
import com.github.wxiaoqi.security.common.vo.PageParam;
import lombok.Data;
import java.util.List;
@Data
public class CompanySearchDTO extends PageParam {
public class CompanySearchDTO extends PageParam implements DataInter {
Integer addrCity;
String lon;
String lat;
......@@ -23,4 +24,9 @@ public class CompanySearchDTO extends PageParam {
List<Integer> companyIds;
List<Integer> dataCorporationIds;
List<Integer> dataCompanyIds;
}
......@@ -54,8 +54,7 @@ import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import static com.github.wxiaoqi.security.auth.common.constatns.CommonConstants.DATA_ALL_FALSE;
import static com.xxfc.platform.vehicle.constant.DbColumnConstant.COMPANY_ZONE_ID;
import static com.xxfc.platform.vehicle.constant.DbColumnConstant.ID;
import static com.xxfc.platform.vehicle.constant.DbColumnConstant.*;
import static com.xxfc.platform.vehicle.constant.RedisKey.BRANCH_COMPANY_CACHE_DATAZONE;
@Service
......@@ -208,6 +207,9 @@ public class BranchCompanyBiz extends BaseBiz<BranchCompanyMapper, BranchCompany
if (StringUtils.isNotBlank(userDTO.getDataCompany())) {
criteria.andIn(ID, userDTO.dataCompany2List());
}
if (StringUtils.isNotBlank(userDTO.getDataCorporation())) {
criteria.andIn(COMPANY_COMPANY_ID, userDTO.dataCorporation2List());
}
}
example.setOrderByClause("`id` desc");
PageHelper.startPage(page, limit);
......
package com.xxfc.platform.vehicle.rest.admin;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.rest.BaseController;
......@@ -11,6 +13,7 @@ import com.xxfc.platform.vehicle.pojo.CompanySearchDTO;
import com.xxfc.platform.vehicle.pojo.CompanySearchVO;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
......@@ -22,11 +25,20 @@ import java.util.List;
@IgnoreClientToken
@IgnoreUserToken
@Api(value="公司controller",tags={"公司操作接口"})
public class AdminBranchCompanyController extends BaseController<BranchCompanyBiz,BranchCompany> {
public class AdminBranchCompanyController extends BaseController<BranchCompanyBiz,BranchCompany> implements UserRestInterface {
@Autowired
UserFeign userFeign;
@Override
public UserFeign getUserFeign() {
return userFeign;
}
@RequestMapping(value ="/search",method = RequestMethod.GET)
public RestResponse<PageDataVO<CompanySearchVO>> search(@Validated CompanySearchDTO vo) {
setPowerData(vo);
return RestResponse.data(baseBiz.search(vo));
}
......
......@@ -63,6 +63,18 @@
#{id}
</foreach>
</if>
<if test="dataCompanyIds != null and dataCompanyIds.size > 0">
and c.id in
<foreach collection="dataCompanyIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
<if test="dataCorporationIds != null and dataCorporationIds.size > 0">
and c.company_id in
<foreach collection="dataCorporationIds" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
</where>
<choose>
<when test="lon != null and lat != null">
......
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