Commit dc00656d authored by suhuiguang's avatar suhuiguang

1.增加运维接口-刷检验检测人员存量数据

parent 893e00b2
...@@ -189,4 +189,12 @@ public class CommonController extends BaseController { ...@@ -189,4 +189,12 @@ public class CommonController extends BaseController {
public ResponseModel<List<AgencyUserModel>> getAmosUseListByCompanyCode(@ApiParam(value = "公司编码") @PathVariable String unitCode) { public ResponseModel<List<AgencyUserModel>> getAmosUseListByCompanyCode(@ApiParam(value = "公司编码") @PathVariable String unitCode) {
return ResponseHelper.buildResponse(commonserviceImpl.getAmosUseListByCompanyCode(unitCode)); return ResponseHelper.buildResponse(commonserviceImpl.getAmosUseListByCompanyCode(unitCode));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/permission/update")
@ApiOperation(httpMethod = "GET", value = "运维专用-检验检测人员资质存量数据刷新", notes = "运维专用-检验检测人员资质存量数据刷新")
public ResponseModel<String> personPermissionUpdate(){
commonserviceImpl.personPermissionUpdate();
return ResponseHelper.buildResponse("SUCCESE");
}
} }
package com.yeejoin.amos.boot.module.jyjc.biz.service.impl; package com.yeejoin.amos.boot.module.jyjc.biz.service.impl;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
...@@ -17,23 +18,22 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo; ...@@ -17,23 +18,22 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzsUserInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.TzsUserInfo;
import com.yeejoin.amos.boot.module.ymt.api.mapper.TzBaseEnterpriseInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.TzBaseEnterpriseInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.TzsUserInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.TzsUserInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.vo.TzsUserInfoVo;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel; import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import org.apache.commons.lang3.ObjectUtils; import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import org.redisson.api.RBucket; import org.redisson.api.RBucket;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* @author Administrator * @author Administrator
...@@ -67,6 +67,16 @@ public class CommonServiceImpl { ...@@ -67,6 +67,16 @@ public class CommonServiceImpl {
@Autowired @Autowired
JyjcBaseMapper jyjcBaseMapper; JyjcBaseMapper jyjcBaseMapper;
/**
* 检验-人员级别字典KEY
*/
private final static String RYJB_DICT_KEY_JY = "RYJB_JY";
/**
* 检测-人员级别字典KEY
*/
private final static String RYJB_DICT_KEY_JC = "RYJB_JC";
/** /**
* @return ReginParams * @return ReginParams
...@@ -94,7 +104,6 @@ public class CommonServiceImpl { ...@@ -94,7 +104,6 @@ public class CommonServiceImpl {
} }
private void castPersonType2Post(LambdaQueryWrapper<TzsUserInfo> userInfoQueryWrapper, String personType) { private void castPersonType2Post(LambdaQueryWrapper<TzsUserInfo> userInfoQueryWrapper, String personType) {
if (personType.equals(OpenBizTypeEnum.JY.getCode())) { if (personType.equals(OpenBizTypeEnum.JY.getCode())) {
userInfoQueryWrapper.like(TzsUserInfo::getPost, jyUserPost); userInfoQueryWrapper.like(TzsUserInfo::getPost, jyUserPost);
...@@ -206,4 +215,42 @@ public class CommonServiceImpl { ...@@ -206,4 +215,42 @@ public class CommonServiceImpl {
FeignClientResult<List<AgencyUserModel>> result = Privilege.agencyUserClient.queryByCompanyId(companyModel.getSequenceNbr(), null, null, false); FeignClientResult<List<AgencyUserModel>> result = Privilege.agencyUserClient.queryByCompanyId(companyModel.getSequenceNbr(), null, null, false);
return result.getResult(); return result.getResult();
} }
public void personPermissionUpdate() {
// 1.查询需处理的检验、检验人员类型的数据
LambdaQueryWrapper<TzsUserInfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(TzsUserInfo::getPost, jyUserPost).or().like(TzsUserInfo::getPost, jcUserPost);
queryWrapper.eq(BaseEntity::getIsDelete, false);
queryWrapper.select(BaseEntity::getSequenceNbr, TzsUserInfo::getPermissionLevel, TzsUserInfo::getPermissionItem);
List<TzsUserInfo> jyjcUsers = userInfoMapper.selectList(queryWrapper);
// 2.人员级别枚举,用来判断是检验检验资质还是检测人员资质,判断key
List<DictionarieValueModel> jyDicts = getUserLevel(RYJB_DICT_KEY_JY);
jyjcUsers.forEach(user -> {
JSONObject jsonObject = new JSONObject();
// 检验人员逻辑
if (jyDicts.stream().anyMatch(d -> d.getDictDataKey().equals(user.getPermissionLevel()))) {
// key格式固定为permissionData + 人员类型
jsonObject.put(String.format("permissionData%s", jyUserPost), this.buildLength1ArrayData(user));
} else {
// 检测人员逻辑
jsonObject.put(String.format("permissionData%s", jcUserPost), this.buildLength1ArrayData(user));
}
userInfoMapper.update(null, new LambdaUpdateWrapper<TzsUserInfo>()
.eq(BaseEntity::getSequenceNbr, user.getSequenceNbr())
.set(TzsUserInfo::getPermissionLevel, null)
.set(TzsUserInfo::getPermissionItem, null).set(TzsUserInfo::getPermissionData, jsonObject.toJSONString()));
});
}
private JSONArray buildLength1ArrayData(TzsUserInfo user) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("permissionItem", JSONArray.parseArray(user.getPermissionItem()));
jsonObject.put("permissionLevel", user.getPermissionLevel());
return new JSONArray(Collections.singletonList(jsonObject));
}
private List<DictionarieValueModel> getUserLevel(String dictKey) {
FeignClientResult<List<DictionarieValueModel>> jyItemDictResult = Systemctl.dictionarieClient.dictValues(dictKey);
return jyItemDictResult.getResult();
}
} }
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