Commit c0dcef62 authored by tangwei's avatar tangwei

1:新增权限注解,

2:新增获取登录人权限接口, 3:经销商管理员,以及经销商单位人员自动填充权限
parent 82c3742c
package com.yeejoin.amos.boot.module.hygf.api.config;
/**
* @description:
* //权限,字段名称,多个逗号隔开(Field1,Field2)
* String field() default "";
* //字段运算符( in,like,likeLeft,likeRight,eq)
* String fieldConditions() default "";
* //多个条件之间关系(or,and)
* String relationship() default "";
* @author: tw
* @createDate: 2023/11/9
*/
import java.lang.annotation.*;
import java.util.List;
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface UserEmpower {
/**
* @param 字段名称(Field1,Field2)
*/
String[] field();
/**
* @param 每个字段运算符( in,like,likeLeft,likeRight,eq)
*/
String[] fieldConditions() ;
/**
* @param 多个字段之间关系(or,and)
*/
String relationship() default "";
}
package com.yeejoin.amos.boot.module.hygf.api.config;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.PluginUtils;
import com.google.common.collect.Maps;
import com.yeejoin.amos.boot.biz.common.annotations.DataAuth;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.interceptors.PermissionInterceptorContext;
import com.yeejoin.amos.boot.biz.common.utils.CommonUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.PermissionDataruleModel;
import net.sf.jsqlparser.JSQLParserException;
import net.sf.jsqlparser.expression.operators.conditional.AndExpression;
import net.sf.jsqlparser.parser.CCJSqlParserUtil;
import net.sf.jsqlparser.schema.Table;
import net.sf.jsqlparser.statement.select.PlainSelect;
import net.sf.jsqlparser.statement.select.Select;
import net.sf.jsqlparser.statement.select.SubSelect;
import org.apache.ibatis.executor.Executor;
import org.apache.ibatis.executor.statement.RoutingStatementHandler;
import org.apache.ibatis.executor.statement.StatementHandler;
import org.apache.ibatis.mapping.BoundSql;
import org.apache.ibatis.mapping.MappedStatement;
import org.apache.ibatis.plugin.*;
import org.apache.ibatis.reflection.MetaObject;
import org.apache.ibatis.reflection.SystemMetaObject;
import org.apache.ibatis.session.ResultHandler;
import org.apache.ibatis.session.RowBounds;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.Connection;
import java.util.*;
import java.util.stream.Collectors;
@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 UserEmpowerInterceptor implements Interceptor {
@Override
public Object intercept(Invocation invocation) throws Throwable {
try {
StatementHandler statementHandler = PluginUtils.realTarget(invocation.getTarget());
MetaObject metaObject = SystemMetaObject.forObject(statementHandler);
MappedStatement mappedStatement = (MappedStatement) metaObject.getValue("delegate.mappedStatement");
//获取方法注解
Method method = getTargetDataAuthMethod(mappedStatement);
UserEmpower userEmpower = getTargetDataAuthAnnotation(mappedStatement);
if(userEmpower==null){
return invocation.proceed();
}
//获取字段
String[] filed= userEmpower.field();
//获取字段条件表达式
String[] fileCondition= userEmpower.fieldConditions();
//获取 参数之间关系
String fileBetweenCondition= userEmpower.relationship();
//获取参数值,
Vector<String> orgCode = UserEmpowerThreadLocal.getDataAuthRule();
BoundSql boundSql = (BoundSql) metaObject.getValue("delegate.boundSql");
//获取sql
String sql = boundSql.getSql();
//拼接参数
List<String> sq= selectSql(filed, fileCondition, orgCode);
String sqldata=" ";
if(sq!=null&&sq.size()>1){
if(fileBetweenCondition!=null&&!fileBetweenCondition.isEmpty()){
for (int i = 0; i < sq.size(); i++) {
if(i==sq.size()-1){
sqldata= sqldata+sq.get(i);
}else{
sqldata= sqldata+sq.get(i)+" "+fileBetweenCondition+" ";
}
}
}else{
throw new BadRequest("权限认证失败!参数之间关系不能为空");
}
}
Select select = (Select) CCJSqlParserUtil.parse(sql);
PlainSelect selectBody = (PlainSelect) select.getSelectBody();
if (!ValidationUtil.isEmpty(sqldata.trim())) {
} else {
sqldata=" 1= 2 ";
}
if (ValidationUtil.isEmpty(selectBody.getWhere())) {
selectBody.setWhere(CCJSqlParserUtil.parseCondExpression(sqldata));
} else {
AndExpression andExpr = new AndExpression(selectBody.getWhere(), CCJSqlParserUtil.parseCondExpression(sqldata));
selectBody.setWhere(andExpr);
}
System.out.println(selectBody.toString());
metaObject.setValue("delegate.boundSql.sql", selectBody.toString());
}catch (Exception e){
throw new BadRequest("权限认证失败!");
}finally {
UserEmpowerThreadLocal.clean();
}
return invocation.proceed();
}
@Override
public Object plugin(Object target) {
if (target instanceof StatementHandler) {
return Plugin.wrap(target, this);
}
return target;
}
@Override
public void setProperties(Properties properties) {
}
private List<String> selectSql(String[] filed,String[] fileCondition, Vector<String> data){
List<String> sql=new ArrayList<>();
if(filed!=null&&filed.length>0&&fileCondition!=null&&fileCondition.length>0&&data!=null&&data.size()>0){
for (int i = 0; i < filed.length; i++) {
String sq=" ";
sq= filed[i]+getCondition(fileCondition[i],data);
sql.add(sq);
}
}else{
throw new BadRequest("权限认证失败!");
}
return sql;
}
private String getCondition(String type, List<String> data){
String sql=" ";
switch (type) {
case "in":
sql = sql+" in "+getInData(data);
break;
case "like":
sql = sql+" like "+getlikeData(data);
break;
case "likeLeft":
sql = sql+" like "+getlikeLeftData(data);
break;
case "likeRight":
sql = sql+" like "+getlikeRightData(data);
break;
case "eq":
sql = sql+" = "+getData(data);
break;
}
return sql;
}
private String getInData( List<String> data){
String sql=" ( ";
for (int i = 0; i < data.size(); i++) {
if(i==data.size()-1){
sql=sql+"'" +data.get(i)+"' ) ";
}else{
sql=sql+"'"+ data.get(i)+"',";
}
}
return sql;
}
private String getData( List<String> data){
return data.get(0);
}
private String getlikeRightData( List<String> data){
return data.get(0)+"%";
}
private String getlikeLeftData( List<String> data){
return "%"+data.get(0);
}
private String getlikeData( List<String> data){
return "%"+data.get(0)+"%";
}
/**
* 获取当前添加数据权限DataAuth的执行语句对应mapper方法
*
* @param mappedStatement
* @return
* @throws ClassNotFoundException
*/
private Method getTargetDataAuthMethod(MappedStatement mappedStatement) throws ClassNotFoundException {
String id = mappedStatement.getId();
String className = id.substring(0, id.lastIndexOf("."));
String methodName = id.substring(id.lastIndexOf(".") + 1);
final Class<?> cls = Class.forName(className);
final Method[] methods = cls.getMethods();
for (Method method : methods) {
// TODO 后续重载方法需要优化
if (method.getName().equals(methodName) && method.isAnnotationPresent(UserEmpower.class)) {
return method;
}
}
return null;
}
/**
* 获取当前执行语句对应mapper方法的DataAuth注解
*
* @param mappedStatement
* @return
* @throws ClassNotFoundException
*/
private UserEmpower getTargetDataAuthAnnotation(MappedStatement mappedStatement) throws ClassNotFoundException {
if (ValidationUtil.isEmpty(getTargetDataAuthMethod(mappedStatement))) {
return null;
}
return getTargetDataAuthMethod(mappedStatement).getAnnotation(UserEmpower.class);
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.hygf.api.config;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Vector;
/**
* @description:
* @author: tw
* @createDate: 2023/11/9
*/
public class UserEmpowerThreadLocal {
private static final Logger logger = LoggerFactory.getLogger(com.yeejoin.amos.boot.biz.common.interceptors.PermissionInterceptorContext.class);
private static ThreadLocal<UserEmpowerThreadLocalModel> requestContext = ThreadLocal.withInitial(UserEmpowerThreadLocalModel::new);
private static UserEmpowerThreadLocalModel getPermissionInterceptorContext() {
return requestContext.get();
}
public static Vector<String> getDataAuthRule() {
return getPermissionInterceptorContext().getThreadLocalData();
}
public static void setDataAuthRule(Vector<String> dataAuthRule) {
getPermissionInterceptorContext().setDataAuthRule(dataAuthRule);
}
public static void clean() {
if (requestContext != null) {
requestContext.remove();
}
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.hygf.api.config;
import java.io.Serializable;
import java.util.Vector;
/**
* @description:
* @author: tw
* @createDate: 2023/11/9
*/
public class UserEmpowerThreadLocalModel implements Serializable {
private static final long serialVersionUID = 1L;
private Vector<String> threadLocalData;
public Vector<String> getThreadLocalData() {
return threadLocalData;
}
public void setDataAuthRule(Vector<String> threadLocalData) {
this.threadLocalData = threadLocalData;
}
public void clean() {
this.threadLocalData = null;
}
}
package com.yeejoin.amos.boot.module.hygf.api.config;
import java.lang.annotation.*;
/**
* @description:
* @author: tw
* @createDate: 2023/11/9
*/
@Documented
@Target({ElementType.METHOD})
@Inherited
@Retention(RetentionPolicy.RUNTIME )
public @interface UserLimits {
}
package com.yeejoin.amos.boot.module.hygf.api.config;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.module.hygf.api.entity.StdUserEmpower;
import com.yeejoin.amos.boot.module.hygf.api.mapper.UserEmpowerMapper;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import java.lang.reflect.Method;
import java.util.List;
import java.util.Vector;
/**
* @description:
* @author: tw
* @createDate: 2023/11/9
*/
@Aspect
@Order(-1)// 保证该AOP在@Transactional之前执行
@Component
@Slf4j
public class UserLimitsAdvice {
@Autowired
private UserEmpowerMapper userEmpowerMapper;
//调用的方法有该注解才会拦截
@Pointcut("@annotation(com.yeejoin.amos.boot.module.hygf.api.config.UserLimits)")
private void annotationPointCut() {
}
//环绕 满足上面的拦截条件就会调用该方法
@Around("annotationPointCut()")
public Object annotationAround(ProceedingJoinPoint joinPoint) throws Throwable {
//获取方法
// Method method = ((MethodSignature) joinPoint.getSignature()).getMethod();
// 获取该方法上的 OpenApi注解
// UserLimits aspectAnnotation = method.getAnnotation(UserLimits.class);
// String userid=RequestContext.getExeUserId();
// LambdaQueryWrapper<StdUserEmpower> qu=new LambdaQueryWrapper();
// qu.eq(StdUserEmpower::getAmosUserId,userid);
// StdUserEmpower list= userEmpowerMapper.selectOne(qu);
Vector<String> list=new Vector<>();
list.add("55555");
list.add("66666");
UserEmpowerThreadLocal.setDataAuthRule(list!=null?(Vector<String>) list:null);
//正常往后执行
return joinPoint.proceed();
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.hygf.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* @description:
* @author: tw
* @createDate: 2023/11/9
*/
@Data
@ApiModel(value="StdUserEmpowerDto", description="")
public class StdUserEmpowerDto extends BaseDto {
private static final long serialVersionUID = 1L;
/**
* 用户userid
*/
private String amosUserId;
/**
* 单位orgcode
*/
private List<String> amosOrgCode;
}
package com.yeejoin.amos.boot.module.hygf.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.List;
/**
* @description:
* @author: tw
* @createDate: 2023/11/9
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName(value = "std_user_empower",autoResultMap = true)
public class StdUserEmpower extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 用户userid
*/
@TableField("amos_user_id")
private String amosUserId;
/**
* 单位orgcode
*/
@TableField(value = "amos_org_code",typeHandler = FastjsonTypeHandler.class)
private List<String> amosOrgCode;
}
package com.yeejoin.amos.boot.module.hygf.api.mapper;
import com.yeejoin.amos.boot.module.hygf.api.config.UserEmpower;
import com.yeejoin.amos.boot.module.hygf.api.dto.JpStationDto;
import com.yeejoin.amos.boot.module.hygf.api.dto.ReviewDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.JpStation;
......@@ -18,6 +19,7 @@ import java.util.Map;
public interface JpStationMapper extends BaseMapper<JpStation> {
List<JpStationDto> queryForDealerReviewPage(@Param("dto") JpStationDto reviewDto);
JpStationDto queryCount(@Param("dto") JpStationDto reviewDto);
@UserEmpower(field ={"aaa","bbb"} ,fieldConditions ={"in","in"} ,relationship="and")
List<Map<String,Object>> countState(@Param("dto") JpStationDto reviewDto);
List<Map<String,Double>> getPowerqx(String dateType);
......
package com.yeejoin.amos.boot.module.hygf.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.hygf.api.entity.StdUserEmpower;
/**
* @description:
* @author: tw
* @createDate: 2023/11/9
*/
public interface UserEmpowerMapper extends BaseMapper<StdUserEmpower> {
}
package com.yeejoin.amos.boot.module.hygf.api.service;
/**
* @description:
* @author: tw
* @createDate: 2023/11/9
*/
public interface IUserEmpowerService{
}
......@@ -15,6 +15,7 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.biz.config.MetaHandler;
import com.yeejoin.amos.boot.module.hygf.api.config.UserEmpowerInterceptor;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.ibatis.plugin.Interceptor;
......@@ -86,7 +87,9 @@ public class MysqlServerConfig {
bean.setPlugins(new Interceptor[] {interceptor,
paginationInterceptor() });
paginationInterceptor(),
userEmpowerInterceptor()
});
return bean.getObject();
}
......@@ -110,6 +113,10 @@ public class MysqlServerConfig {
}
@Bean
public UserEmpowerInterceptor userEmpowerInterceptor() {
UserEmpowerInterceptor userEmpowerInterceptor = new UserEmpowerInterceptor();
return userEmpowerInterceptor;
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.hygf.biz.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.module.hygf.api.config.UserLimits;
import com.yeejoin.amos.boot.module.hygf.api.dto.ReviewDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.JpCollector;
import com.yeejoin.amos.boot.module.hygf.api.entity.JpInverter;
......@@ -344,6 +345,15 @@ public class JpStationController extends BaseController {
return ResponseHelper.buildResponse(jpStationServiceImpl.getPowerqx( date, type,data));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "工率曲线", notes = "电站监控电量收益")
@GetMapping(value = "/test")
@UserLimits
public ResponseModel< Map<String, List<Object>>> getPowerqx() {
jpStationMapper.countState(new JpStationDto());
return null;
}
}
......@@ -7,12 +7,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.module.hygf.api.Enum.TaskTypeStationEnum;
import com.yeejoin.amos.boot.module.hygf.api.dto.*;
import com.yeejoin.amos.boot.module.hygf.api.entity.PersonnelBusiness;
import com.yeejoin.amos.boot.module.hygf.api.entity.RegionalCompanies;
import com.yeejoin.amos.boot.module.hygf.api.entity.UnitInfo;
import com.yeejoin.amos.boot.module.hygf.api.entity.UserMessage;
import com.yeejoin.amos.boot.module.hygf.api.entity.*;
import com.yeejoin.amos.boot.module.hygf.api.mapper.PersonnelBusinessMapper;
import com.yeejoin.amos.boot.module.hygf.api.mapper.UnitInfoMapper;
import com.yeejoin.amos.boot.module.hygf.api.mapper.UserEmpowerMapper;
import com.yeejoin.amos.boot.module.hygf.api.mapper.UserMessageMapper;
import com.yeejoin.amos.boot.module.hygf.api.service.IPersonnelBusinessService;
import com.yeejoin.amos.boot.module.standard.api.entity.PublicAgencyUser;
......@@ -50,7 +48,8 @@ public class PersonnelBusinessServiceImpl extends BaseService<PersonnelBusinessD
PublicAgencyUserMapper publicAgencyUserMapper;
@Autowired
UnitInfoMapper unitInfoMapper;
@Autowired
UserEmpowerMapper userEmpowerMapper;
@Autowired
UserMessageMapper userMessageMapper;
@Value("${dealer.appcode}")
......@@ -168,6 +167,19 @@ public class PersonnelBusinessServiceImpl extends BaseService<PersonnelBusinessD
re.setAmosDealerId(model.getAmosDealerId());
personnelBusinessMapper.insert(re);
//增加人员权限
List<String> lisk=new ArrayList<>();
StdUserEmpower stdUserEmpower= new StdUserEmpower();
lisk.add(publicAgencyUser.getAmosOrgCode());
lisk.add(re.getRegionalCompaniesCode());
stdUserEmpower.setAmosUserId(publicAgencyUser.getAmosUserId());
stdUserEmpower.setAmosOrgCode(lisk);
userEmpowerMapper.insert(stdUserEmpower);
}catch (Exception e){
if (userResult != null && userResult.getResult() != null
&& StringUtils.isNotEmpty(userResult.getResult().getUserId())) {
......@@ -267,6 +279,21 @@ public class PersonnelBusinessServiceImpl extends BaseService<PersonnelBusinessD
re.setAmosUnitOrgCode(companyResult.getResult().getOrgCode());
personnelBusinessMapper.updateById(re);
//增加人员权限
List<String> lisk=new ArrayList<>();
LambdaQueryWrapper<StdUserEmpower> uo=new LambdaQueryWrapper();
uo.eq(StdUserEmpower::getAmosUserId,publicAgencyUser.getAmosUserId());
StdUserEmpower stdUserEmpower= userEmpowerMapper.selectOne(uo);
lisk.add(publicAgencyUser.getAmosOrgCode());
lisk.add(re.getRegionalCompaniesCode());
stdUserEmpower.setAmosUserId(publicAgencyUser.getAmosUserId());
stdUserEmpower.setAmosOrgCode(lisk);
userEmpowerMapper.updateById(stdUserEmpower);
}catch (Exception e){
log.error(e.getMessage(), e);
......@@ -328,6 +355,21 @@ public class PersonnelBusinessServiceImpl extends BaseService<PersonnelBusinessD
Privilege.groupUserClient.deleteGroupUser(userGroupId,publicAgencyUsex.getAmosUserId());
//修改权限
//旧管理员去除
List<String> li=null;
LambdaQueryWrapper<StdUserEmpower> uo=new LambdaQueryWrapper();
uo.eq(StdUserEmpower::getAmosUserId,publicAgencyUsex.getAmosUserId());
StdUserEmpower stdUserEmpower= userEmpowerMapper.selectOne(uo);
li=stdUserEmpower.getAmosOrgCode();
stdUserEmpower.setAmosOrgCode(null);
userEmpowerMapper.updateById(stdUserEmpower);
//新管理员新增
LambdaQueryWrapper<StdUserEmpower> uo1=new LambdaQueryWrapper();
uo1.eq(StdUserEmpower::getAmosUserId,publicAgencyUse.getAmosUserId());
StdUserEmpower stdUserEmpower1= userEmpowerMapper.selectOne(uo1);
stdUserEmpower1.setAmosOrgCode(li);
userEmpowerMapper.updateById(stdUserEmpower1);
UserMessage userMessage= new UserMessage( TaskTypeStationEnum.设置管理员.getCode(), personnelBusines.getSequenceNbr() , publicAgencyUse.getAmosUserId(), new Date(), "您已成为单位管理员。", personnelBusines.getAmosUnitOrgCode());
......
......@@ -124,6 +124,10 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto,UnitInfo,UnitIn
@Autowired
PersonnelBusinessMapper personnelBusinessMapper;
@Autowired
UserEmpowerMapper userEmpowerMapper;
/**
* 分页查询
*/
......@@ -545,12 +549,14 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto,UnitInfo,UnitIn
publicAgencyUser.setLockStatus("UNLOCK");
publicAgencyUserMapper.insert(publicAgencyUser);
List<String> lis=new ArrayList<>();
lis.add(unitInfo.getAmosCompanyCode());
LambdaQueryWrapper<RegionalCompanies> queryWrapper = new LambdaQueryWrapper<RegionalCompanies>();
queryWrapper.eq(RegionalCompanies::getUnitInfoId, unitInfo.getSequenceNbr());
List<RegionalCompanies> list= regionalCompaniesMapper.selectList(queryWrapper);
for (RegionalCompanies companies : list) {
companies.setUnitId(unitInfo.getAmosCompanySeq());
lis.add(companies.getRegionalCompaniesCode());
}
regionalCompaniesService.saveOrUpdateBatch(list);
......@@ -561,9 +567,14 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto,UnitInfo,UnitIn
re.setAmosUnitOrgCode(unitInfo.getAmosCompanyCode());
re.setFoundationId(publicAgencyUser.getSequenceNbr());
re.setUserType("2");
personnelBusinessMapper.insert(re);
//管理员绑定角色权限
StdUserEmpower stdUserEmpower=new StdUserEmpower();
stdUserEmpower.setAmosUserId(unitInfo.getAdminUserId());
stdUserEmpower.setAmosOrgCode(lis);
userEmpowerMapper.insert(stdUserEmpower);
// Privilege.agencyUserClient.unlockUsers(unitInfo.getAdminUserId());
approvalStatue="任务明细:"+DealerReviewEnum.经销商管理员审核.getName()+"审核通过";
}
......@@ -661,7 +672,7 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto,UnitInfo,UnitIn
//验证二维码
UnitInfo unitInfo=new UnitInfo();
unitInfo= unitInfoMapper.selectById(unitDataDto.getUnitInformation().getSequenceNbr());
List<String> lisk=new ArrayList<>();
UnitInformation unitInformation= unitDataDto.getUnitInformation();
JSONArray regionName = getRegionName();
List<RegionModel> list = JSONArray.parseArray(regionName.toJSONString(), RegionModel.class);
......@@ -714,6 +725,7 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto,UnitInfo,UnitIn
commerceDto.setLegalPersonCardPhotoFrontUrl(commerceDto.getLegalPersonCardPhotoFrontUrl());
BeanUtils.copyProperties(commerceDto,commerceInfo);
unitInfo.setRegionalCompaniesSeq(disST);
unitInfoMapper.updateById(unitInfo);
commerceInfoMapper.updateById(commerceInfo);
......@@ -730,6 +742,9 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto,UnitInfo,UnitIn
for (CompanyModel compan : companyModel) {
if(compan.getSequenceNbr().longValue()==Long.valueOf(aLong.toString()).longValue()){
RegionalCompanies re= new RegionalCompanies(Long.valueOf(aLong.toString()), compan.getCompanyName(), compan.getOrgCode(), unitInfo.getAmosCompanySeq(),unitInfo.getSequenceNbr());
lisk.add(compan.getOrgCode());
regionalComp.add(re);
continue;
}
......@@ -738,6 +753,17 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto,UnitInfo,UnitIn
}
regionalCompaniesService.saveBatch(regionalComp);
//修改管理员权限
//管理员绑定角色权限
LambdaQueryWrapper<StdUserEmpower> uo=new LambdaQueryWrapper();
uo.eq(StdUserEmpower::getAmosUserId,unitInfo.getAdminUserId());
StdUserEmpower stdUserEmpower= userEmpowerMapper.selectOne(uo);
lisk.add(unitInfo.getAmosCompanyCode());
stdUserEmpower.setAmosUserId(unitInfo.getAdminUserId());
stdUserEmpower.setAmosOrgCode(lisk);
userEmpowerMapper.updateById(stdUserEmpower);
return true;
}
......
package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import com.yeejoin.amos.boot.module.hygf.api.dto.StdUserEmpowerDto;
import com.yeejoin.amos.boot.module.hygf.api.entity.StdUserEmpower;
import com.yeejoin.amos.boot.module.hygf.api.mapper.UserEmpowerMapper;
import com.yeejoin.amos.boot.module.hygf.api.service.IUserEmpowerService;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.rdbms.service.BaseService;
/**
* @description:
* @author: tw
* @createDate: 2023/11/9
*/
@Service
public class UserEmpowerServiceImpl extends BaseService<StdUserEmpowerDto, StdUserEmpower, UserEmpowerMapper> implements IUserEmpowerService {
}
......@@ -204,4 +204,6 @@ dealer.engineering=1679674919488614401
#定时任务获取曲线信息
cheduled.crons=0 0 1 * * ?
\ No newline at end of file
cheduled.crons=0 0 1 * * ?
generate.crons=0 0 1 * * ?
\ No newline at end of file
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