Commit fd065dad authored by chenzhao's avatar chenzhao

权限修改

parent 8817dce4
......@@ -30,6 +30,7 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.nio.charset.StandardCharsets;
import java.sql.Connection;
......@@ -39,14 +40,19 @@ import static com.alibaba.fastjson.JSON.parseArray;
@Intercepts({@Signature(type = Executor.class, method = "query", args = {MappedStatement.class, Object.class,
RowBounds.class, ResultHandler.class}), @Signature(type = StatementHandler.class, method = "prepare", args = {Connection.class, Integer.class})})
public class DealerRestrictInterceptor implements Interceptor {
private static final String ROLEFLAG="-经销商-";
@Value("classpath:/json/DealerRestrict.json")
private Resource paramsTree;
@Autowired
RedisUtils redisUtils;
@Override
public Object intercept(Invocation invocation) throws Throwable {
try {
ReginParams reginParam = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId()
, RequestContext.getToken())).toString(), ReginParams.class);
String org= reginParam.getUserModel().getOrgNames();
//判断是否经销商,经销商跟管理端互斥
if(org.contains(ROLEFLAG)){
try {
StatementHandler statementHandler = PluginUtils.realTarget(invocation.getTarget());
MetaObject metaObject = SystemMetaObject.forObject(statementHandler);
MappedStatement mappedStatement = (MappedStatement) metaObject.getValue("delegate.mappedStatement");
......@@ -64,13 +70,12 @@ public class DealerRestrictInterceptor implements Interceptor {
String fileBetweenCondition = dealerRestrict.relationship();
//获取参数值,
StdUserEmpower dataAuthRule =(StdUserEmpower) redisUtils.get("Emp_"+RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken()));
String[] data = new String[]{dataAuthRule.getDeveloperId().toString(),dataAuthRule.getRegionalCompaniesCode(),dataAuthRule.getUserId()};
String[] data = new String[]{String.join(",",dataAuthRule.getAmosOrgCode()),dataAuthRule.getRegionalCompaniesCode(),dataAuthRule.getUserId()};
BoundSql boundSql = (BoundSql) metaObject.getValue("delegate.boundSql");
//获取sql
String sql = boundSql.getSql();
String json = null;
try {
json = IOUtils.toString(paramsTree.getInputStream(), java.lang.String.valueOf(StandardCharsets.UTF_8));
......@@ -78,8 +83,7 @@ public class DealerRestrictInterceptor implements Interceptor {
e.printStackTrace();
}
List<Map> list = parseArray(json, Map.class);
ReginParams reginParam = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId()
, RequestContext.getToken())).toString(), ReginParams.class);
List<String> fileds = new ArrayList<>();
List<String> datas = new ArrayList<>();
for (Map map : list) {
......@@ -88,10 +92,10 @@ public class DealerRestrictInterceptor implements Interceptor {
List<RoleModel> roleModels = reginParam.getUserModel().getOrgRoles().get(aLong);
for (RoleModel roleModel : roleModels) {
if (roleIds.contains(String.valueOf(roleModel.getSequenceNbr()))) {
if (map.get("key").equals("guanli")) {
if (map.get("key").equals("manage")) {
fileds.add(filed[0]);
datas.add(data[0]);
} else if (map.get("key").equals("kaifa")) {
} else if (map.get("key").equals("develop")) {
fileds.add(filed[0]);
fileds.add(filed[2]);
datas.add(data[0]);
......@@ -160,6 +164,7 @@ public class DealerRestrictInterceptor implements Interceptor {
} finally {
}
}
return invocation.proceed();
}
......
......@@ -21,10 +21,7 @@ import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -68,6 +65,7 @@ public class UserLimitsAdvice {
stdUserEmpower.setDeveloperId(userUnitInformationDto!=null?userUnitInformationDto.getAmosUnitInfoId():null);
stdUserEmpower.setRegionalCompaniesCode(userUnitInformationDto!=null?userUnitInformationDto.getRegionalCompaniesCode():null);
stdUserEmpower.setUserId(userid);
stdUserEmpower.setAmosOrgCode(Arrays.asList(userUnitInformationDto.getAmosUnitOrgCode()));
}else{
LambdaQueryWrapper<StdUserEmpower> qu=new LambdaQueryWrapper();
qu.eq(StdUserEmpower::getAmosUserId,userid);
......
package com.yeejoin.amos.boot.module.hygf.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.hygf.api.config.DealerRestrict;
import com.yeejoin.amos.boot.module.hygf.api.config.UserEmpower;
import com.yeejoin.amos.boot.module.hygf.api.dto.JpInverterDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.JpInverterDtoNew;
......@@ -22,6 +23,7 @@ public interface JpInverterMapper extends BaseMapper<JpInverter> {
List<Map<String,Object>> queryInverterCountStatus(@Param("dto") JpStationDto reviewDto);
//@UserEmpower(field ={"regional_companies_code","amos_company_code"} ,fieldConditions ={"in","in"} ,relationship="and")
@DealerRestrict(field ={"amos_company_code","regional_companies_code"} ,fieldConditions ={"in"} ,relationship="and")
List<JpInverterDtoNew> selectPageData(@Param("dto") JpInverterDto reviewDto, int current, int size);
//@UserEmpower(field ={"regional_companies_code","amos_company_code"} ,fieldConditions ={"in","in"} ,relationship="and")
......
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.hygf.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.hygf.api.config.DealerRestrict;
import com.yeejoin.amos.boot.module.hygf.api.config.UserEmpower;
import com.yeejoin.amos.boot.module.hygf.api.config.UserLimits;
import com.yeejoin.amos.boot.module.hygf.api.dto.DropDown;
......@@ -54,9 +55,9 @@ public interface JpStationMapper extends BaseMapper<JpStation> {
Map<String,Object> getcount( @Param("dto") JpStationDto reviewDto);
// @UserEmpower(field ={"regional_companies_code","amos_company_code"} ,fieldConditions ={"in","in"} ,relationship="and")
@UserLimits
List<JpStationDto> queryForDealerReviewPagenew(@Param("dto") JpStationDto reviewDto, Page<JpStationDto> pa);
@UserLimits
@DealerRestrict(field ={"amos_company_code","regional_companies_code","developer_user_id"} ,fieldConditions ={"in","in"} ,relationship="and")
List<JpStationDto> queryForDealerReviewPagenew(@Param("dto") JpStationDto reviewDto, Page<JpStationDto> pa);
List<DropDown> getDealerNew(@Param("regionalCompaniesSeq") String regionalCompaniesSeq);
}
[
{
"key": "guanli",
"key": "manage",
"roleIds": ""
},
{
"key": "kaifa",
"roleIds": ""},
"key": "develop",
"roleIds": "1742437975800705025"
},
{
"key": "qita",
"key": "other",
"roleIds": ""
}
]
\ No newline at end of file
......@@ -565,6 +565,8 @@
ROUND(`day_generate`/capacity,3) fullhour,
(select privilege_company.COMPANY_NAME from privilege_company where privilege_company.ORG_CODE=hygf_jp_station.regional_companies_code) regionalCompaniesName
from hygf_jp_station
LEFT JOIN
(select developer_user_id,developer_code FROM hygf_peasant_household ) php ON php.developer_code= hygf_jp_station.amos_company_code
<where>
<if test="dto.name!=null">
and hygf_jp_station.name like concat(concat("%",#{dto.name}),"%")
......
......@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import com.github.pagehelper.PageInterceptor;
import com.yeejoin.amos.boot.biz.config.MetaHandler;
import com.yeejoin.amos.boot.module.hygf.api.config.DealerRestrictInterceptor;
import com.yeejoin.amos.boot.module.hygf.api.config.UserEmpowerInterceptor;
import org.apache.ibatis.plugin.Interceptor;
import org.apache.ibatis.session.SqlSessionFactory;
......@@ -71,7 +72,8 @@ public class MysqlServerConfig {
bean.setPlugins(new Interceptor[] {interceptor,
paginationInterceptor(),
userEmpowerInterceptor()
userEmpowerInterceptor(),
dealerRestrictInterceptor()
});
return bean.getObject();
}
......@@ -102,4 +104,11 @@ public class MysqlServerConfig {
return userEmpowerInterceptor;
}
@Bean
public DealerRestrictInterceptor dealerRestrictInterceptor() {
DealerRestrictInterceptor dealerRestrictInterceptor = new DealerRestrictInterceptor();
return dealerRestrictInterceptor;
}
}
\ No newline at end of file
......@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.hygf.biz.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.hygf.api.config.DealerRestrict;
import com.yeejoin.amos.boot.module.hygf.api.config.UserLimits;
import com.yeejoin.amos.boot.module.hygf.api.dto.DropDown;
import com.yeejoin.amos.boot.module.hygf.api.dto.JpStationDto;
......@@ -699,6 +700,7 @@ public class JpStationController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/queryPagenew")
@ApiOperation(httpMethod = "GET", value = "场站列表", notes = "场站列表")
@UserLimits
public ResponseModel<Page<JpStationDto>> queryPagenew(@RequestParam(value = "current") int current, @RequestParam
(value = "size") int size, JpStationDto reviewDto) {
Page<JpStationDto> page = jpStationServiceImpl.queryForJpStationPagenew(current, size, reviewDto);
......
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