|
|
|
@ -165,7 +165,7 @@ public class KhVoteEmpServiceImpl implements IKhVoteEmpService {
|
|
|
|
// 最大重试次数
|
|
|
|
// 最大重试次数
|
|
|
|
// final int MAX_RETRY_COUNT = 3;
|
|
|
|
// final int MAX_RETRY_COUNT = 3;
|
|
|
|
int retryCount = 0;
|
|
|
|
int retryCount = 0;
|
|
|
|
while (true) {
|
|
|
|
/* while (true) {*/
|
|
|
|
voteEmp.setUpdateTime(nowDate);
|
|
|
|
voteEmp.setUpdateTime(nowDate);
|
|
|
|
//根据id查询数据得到原值及版本号
|
|
|
|
//根据id查询数据得到原值及版本号
|
|
|
|
KhVoteEmp oldvoteEmp = khVoteEmpMapper.selectKhVoteEmpById(voteEmp.getId());
|
|
|
|
KhVoteEmp oldvoteEmp = khVoteEmpMapper.selectKhVoteEmpById(voteEmp.getId());
|
|
|
|
@ -206,7 +206,7 @@ public class KhVoteEmpServiceImpl implements IKhVoteEmpService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
voteEmp.setVersion(oldvoteEmp.getVersion());
|
|
|
|
voteEmp.setVersion(oldvoteEmp.getVersion());
|
|
|
|
int result = khVoteEmpMapper.updateKhVoteEmp(voteEmp);
|
|
|
|
int result = khVoteEmpMapper.updateKhVoteEmp(voteEmp);
|
|
|
|
if (result > 0) {
|
|
|
|
/*if (result > 0) {
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
// 更新失败,版本冲突,增加重试计数
|
|
|
|
// 更新失败,版本冲突,增加重试计数
|
|
|
|
@ -217,19 +217,19 @@ public class KhVoteEmpServiceImpl implements IKhVoteEmpService {
|
|
|
|
System.out.println("-----------版本冲突," + voteEmp.getBkhdxName() + "第" + retryCount + "次重试");
|
|
|
|
System.out.println("-----------版本冲突," + voteEmp.getBkhdxName() + "第" + retryCount + "次重试");
|
|
|
|
// 等待一段时间后重试,避免立即重试导致的持续冲突
|
|
|
|
// 等待一段时间后重试,避免立即重试导致的持续冲突
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
Thread.sleep(500 * retryCount); // 重试间隔递增
|
|
|
|
Thread.sleep(1000 * retryCount); // 重试间隔递增
|
|
|
|
} catch (InterruptedException e) {
|
|
|
|
} catch (InterruptedException e) {
|
|
|
|
Thread.currentThread().interrupt();
|
|
|
|
Thread.currentThread().interrupt();
|
|
|
|
throw new RuntimeException("重试过程异常中断-------------", e);
|
|
|
|
throw new RuntimeException("重试过程异常中断-------------", e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}*/
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if (typeid.equals(2L)) {//占比评分
|
|
|
|
} else if (typeid.equals(2L)) {//占比评分
|
|
|
|
for (KhVoteEmp voteEmp : voteEmpList) {
|
|
|
|
for (KhVoteEmp voteEmp : voteEmpList) {
|
|
|
|
int retryCount = 0;
|
|
|
|
int retryCount = 0;
|
|
|
|
while (true) {
|
|
|
|
/* while (true) {*/
|
|
|
|
voteEmp.setUpdateTime(nowDate);
|
|
|
|
voteEmp.setUpdateTime(nowDate);
|
|
|
|
//根据id查询数据得到之前的值
|
|
|
|
//根据id查询数据得到之前的值
|
|
|
|
KhVoteEmp oldvoteEmp = khVoteEmpMapper.selectKhVoteEmpById(voteEmp.getId());
|
|
|
|
KhVoteEmp oldvoteEmp = khVoteEmpMapper.selectKhVoteEmpById(voteEmp.getId());
|
|
|
|
@ -241,7 +241,7 @@ public class KhVoteEmpServiceImpl implements IKhVoteEmpService {
|
|
|
|
voteEmp.setEndScore(voteEmp.getAvgScore().multiply(oldvoteEmp.getPercentage()));
|
|
|
|
voteEmp.setEndScore(voteEmp.getAvgScore().multiply(oldvoteEmp.getPercentage()));
|
|
|
|
voteEmp.setVersion(oldvoteEmp.getVersion());
|
|
|
|
voteEmp.setVersion(oldvoteEmp.getVersion());
|
|
|
|
int result = khVoteEmpMapper.updateKhVoteEmp(voteEmp);
|
|
|
|
int result = khVoteEmpMapper.updateKhVoteEmp(voteEmp);
|
|
|
|
if (result > 0) {
|
|
|
|
/*if (result > 0) {
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
// 更新失败,版本冲突,增加重试计数
|
|
|
|
// 更新失败,版本冲突,增加重试计数
|
|
|
|
@ -252,18 +252,18 @@ public class KhVoteEmpServiceImpl implements IKhVoteEmpService {
|
|
|
|
System.out.println("-----------版本冲突," + voteEmp.getBkhdxName() + "第" + retryCount + "次重试");
|
|
|
|
System.out.println("-----------版本冲突," + voteEmp.getBkhdxName() + "第" + retryCount + "次重试");
|
|
|
|
// 等待一段时间后重试,避免立即重试导致的持续冲突
|
|
|
|
// 等待一段时间后重试,避免立即重试导致的持续冲突
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
Thread.sleep(500 * retryCount); // 重试间隔递增
|
|
|
|
Thread.sleep(1000 * retryCount); // 重试间隔递增
|
|
|
|
} catch (InterruptedException e) {
|
|
|
|
} catch (InterruptedException e) {
|
|
|
|
Thread.currentThread().interrupt();
|
|
|
|
Thread.currentThread().interrupt();
|
|
|
|
throw new RuntimeException("重试过程异常中断-------------", e);
|
|
|
|
throw new RuntimeException("重试过程异常中断-------------", e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}*/
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {//单独评分 不占比 以平均分为最后得分
|
|
|
|
} else {//单独评分 不占比 以平均分为最后得分
|
|
|
|
for (KhVoteEmp voteEmp : voteEmpList) {
|
|
|
|
for (KhVoteEmp voteEmp : voteEmpList) {
|
|
|
|
int retryCount = 0;
|
|
|
|
int retryCount = 0;
|
|
|
|
while (true) {
|
|
|
|
/* while (true) {*/
|
|
|
|
voteEmp.setUpdateTime(nowDate);
|
|
|
|
voteEmp.setUpdateTime(nowDate);
|
|
|
|
//根据id查询数据得到之前的值
|
|
|
|
//根据id查询数据得到之前的值
|
|
|
|
KhVoteEmp oldvoteEmp = khVoteEmpMapper.selectKhVoteEmpById(voteEmp.getId());
|
|
|
|
KhVoteEmp oldvoteEmp = khVoteEmpMapper.selectKhVoteEmpById(voteEmp.getId());
|
|
|
|
@ -275,7 +275,7 @@ public class KhVoteEmpServiceImpl implements IKhVoteEmpService {
|
|
|
|
voteEmp.setEndScore(voteEmp.getAvgScore());
|
|
|
|
voteEmp.setEndScore(voteEmp.getAvgScore());
|
|
|
|
voteEmp.setVersion(oldvoteEmp.getVersion());
|
|
|
|
voteEmp.setVersion(oldvoteEmp.getVersion());
|
|
|
|
int result = khVoteEmpMapper.updateKhVoteEmp(voteEmp);
|
|
|
|
int result = khVoteEmpMapper.updateKhVoteEmp(voteEmp);
|
|
|
|
if (result > 0) {
|
|
|
|
/*if (result > 0) {
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
// 更新失败,版本冲突,增加重试计数
|
|
|
|
// 更新失败,版本冲突,增加重试计数
|
|
|
|
@ -286,13 +286,13 @@ public class KhVoteEmpServiceImpl implements IKhVoteEmpService {
|
|
|
|
System.out.println("-----------版本冲突," + voteEmp.getBkhdxName() + "第" + retryCount + "次重试");
|
|
|
|
System.out.println("-----------版本冲突," + voteEmp.getBkhdxName() + "第" + retryCount + "次重试");
|
|
|
|
// 等待一段时间后重试,避免立即重试导致的持续冲突
|
|
|
|
// 等待一段时间后重试,避免立即重试导致的持续冲突
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
Thread.sleep(500 * retryCount); // 重试间隔递增
|
|
|
|
Thread.sleep(1000 * retryCount); // 重试间隔递增
|
|
|
|
} catch (InterruptedException e) {
|
|
|
|
} catch (InterruptedException e) {
|
|
|
|
Thread.currentThread().interrupt();
|
|
|
|
Thread.currentThread().interrupt();
|
|
|
|
throw new RuntimeException("重试过程异常中断-------------", e);
|
|
|
|
throw new RuntimeException("重试过程异常中断-------------", e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}*/
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|