实现功能:前提:confMember是sysUser的子集。

实现:1、将confMember中的人员的isChecked=true;

2、将除了conMember的sysUser数据拼装到;

3、将拼装的参数对应到conMember中,返回拼装好的conMemberList。

报错代码: index:1,size:1 或 index:0,size:0

//商户获取的部门人员列表:作对比,商户人员和本地人员做对比,本地人员有的选中
List<SysUser> sysUsers = securityWebAdminProvider.listByDeptIdWithFilter(confGroup.getDeptId(), AdminConstants.SysRoleType.CASHLOAN_AUDIT_NORMAL, false, true);
if (sysUsers == null) {
logger.error("deptId:{},部门审核人员为空", confGroup.getDeptId());
return new BaseObjResponse<AllocateDetailDto>(RespConstants.GLOBAL_INNER_ERROR);
if (confMemberList == null) {
logger.error("groupId:{},查询用户配置不存在", groupId);
return new BaseObjResponse<AllocateDetailDto>(RespConstants.GLOBAL_INNER_ERROR);
if (!confMemberList.isEmpty()) {
for (int i = 0; i < sysUsers.size(); i++) {
for (int j = 0; j < confMemberList.size(); j++) {
logger.error("memberId:{},商户审核人员", sysUsers.get(i).getId());
if (sysUsers.get(i).getId().equals(confMemberList.get(j).getMemberId())) {
confMemberList.get(i).setMemberId(confMemberList.get(j).getMemberId());
confMemberList.get(i).setMemberName(confMemberList.get(j).getMemberName());
confMemberList.get(i).setIsChecked(true);
break;
} else {
confMemberList.get(i).setMemberId(sysUsers.get(i).getId());
confMemberList.get(i).setMemberName(sysUsers.get(i).getName());
confMemberList.get(i).setIsChecked(false);

分析:其实这是一段错误的conMemberList的set

原因:1、confMemberList.size()有 自己的大小长度并且固定

2、sysUser.size()大于confMemberList.size()长度

3、当 sysUser.size()大于confMemberList.size()长度时候,继续confMemberList.get(i).setMemberId(confMemberList.get(j).getMemberId());会 导致溢出报错。也就是上面的报错信息。比如:sysUser.size()=2;confMemberList.size()=1;当继续执行confMemberList.get(2).setMemberId(confMemberList.get(j).getMemberId()); 但是conMemberList.size()=1,2>1溢出数组

mybatisplus分页Error querying database. Cause: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0

使用二级缓存导致的,去掉二级缓存即可

tensorflow报错InvalidArgumentError: indices[data_index] = data_value is not in [0, max_embedding_size)

报这个错实际已经打印出data_value越界了,就是data_value比max_embedding_size大了。