Commit 205dd4ef authored by tianbo's avatar tianbo

调整更新单位类型缓存

parent 969e8eea
......@@ -541,9 +541,9 @@ public class CommonController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/unitType/selected")
@ApiOperation(httpMethod = "PUT", value = "更新缓存中单位类型", notes = "更新缓存中单位类型")
public ResponseModel<String> updateUnitTypeCache(@ApiParam("单位类型") @RequestParam String unitType){
commonService.updateUnitTypeCache(getSelectedOrgInfo(), unitType);
@ApiOperation(httpMethod = "PUT", value = "更新缓存中信息", notes = "更新缓存中信息")
public ResponseModel<String> updateUnitTypeCache(@ApiParam("单位类型") @RequestParam String unitType, @ApiParam("选择角色") @RequestParam String selectedRoleSeqs){
commonService.updateUnitTypeCache(getSelectedOrgInfo(), unitType, selectedRoleSeqs);
return ResponseHelper.buildResponse("success");
}
}
......@@ -193,5 +193,5 @@ public interface ICommonService {
*
* @param unitType 单位类型
*/
void updateUnitTypeCache(ReginParams reginParams, String unitType);
void updateUnitTypeCache(ReginParams reginParams, String unitType, String selectedRoleSeqs);
}
......@@ -166,6 +166,9 @@ public class CommonServiceImpl implements ICommonService {
// 业务通用发起——更名变更表单key
private static final String GMBG_PAGE_ID = "jgRegistrationInfo";
private static final String SELECTED_ROLE_SEQS = "selectRoleSeqs";
@Value("${redis.cache.failure.time}")
private Long redisRegionTimeSecond;
......@@ -427,12 +430,23 @@ public class CommonServiceImpl implements ICommonService {
@Override
public Map<String, Object> getPermissionTreeWithCompany(String menuAgent, String permissionType, String path, CompanyBo company) {
Map<String, Object> result = new HashMap<>();
Collection<PermissionModel> permissionModels = FeignUtil.remoteCall(() -> Privilege.permissionClient.currentPermissionTree(menuAgent, permissionType, null, path));
Object roleSeqs = redisUtils.get(getSelectedRoleRedisKey());
Collection<PermissionModel> permissionModels;
// 监管单位
if (!"company".equals(company.getLevel()) || null == roleSeqs){
permissionModels = FeignUtil.remoteCall(() -> Privilege.permissionClient.currentPermissionTree(menuAgent, permissionType, null, path));
} else {
permissionModels = FeignUtil.remoteCall(() -> Privilege.permissionClient.treeByRoles(roleSeqs.toString(), menuAgent, permissionType, path, RequestContext.getAppKey()));
}
result.put("permission", permissionModels);
result.put("company", company);
return result;
}
private static String getSelectedRoleRedisKey() {
return RequestContext.getToken() + "_" + SELECTED_ROLE_SEQS;
}
@Override
public void useFlagGenerate(UseFlagParamDto useFlagParamDto, HttpServletResponse response) {
Objects.requireNonNull(useFlagParamDto, "参数不能为空");
......@@ -1826,8 +1840,9 @@ public class CommonServiceImpl implements ICommonService {
}
@Override
public void updateUnitTypeCache(ReginParams reginParams, String unitType) {
public void updateUnitTypeCache(ReginParams reginParams, String unitType, String selectedRoleSeqs) {
reginParams.getCompany().setCompanyType(unitType);
redisUtils.set(getSelectedRoleRedisKey(), selectedRoleSeqs, redisRegionTimeSecond);
redisUtils.set(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken()), JSONObject.toJSONString(reginParams), redisRegionTimeSecond);
}
}
\ 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