diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/expert/controller/ExpertFxqController.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/expert/controller/ExpertFxqController.java index b9893d8..72873fe 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/expert/controller/ExpertFxqController.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/expert/controller/ExpertFxqController.java @@ -97,6 +97,7 @@ public class ExpertFxqController { // 获取专家协议签署详情 LambdaQueryWrapper signQueryWrapper = new LambdaQueryWrapper<>(); signQueryWrapper.eq(FxqSignEntity::getExpertId,expertId); + signQueryWrapper.last("LIMIT 1"); FxqSignEntity fxqSign = fxqSignDao.selectOne(signQueryWrapper); if (fxqSign == null) { return ResponseDTO.app_ok(g); @@ -145,6 +146,7 @@ public class ExpertFxqController { // 获取企业实名认证数据-个人 LambdaQueryWrapper signQueryWrapper = new LambdaQueryWrapper<>(); signQueryWrapper.eq(FxqSignEntity::getExpertId,expertId); + signQueryWrapper.last("LIMIT 1"); FxqSignEntity fxqSign = fxqSignDao.selectOne(signQueryWrapper); if (fxqSign != null && fxqSign.getSignStatus() == 1) { return ResponseDTO.userErrorParam("您已签订协议,无需再次签订"); diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/expert/service/ExpertFxqService.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/expert/service/ExpertFxqService.java index 1c7565b..7f9e877 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/expert/service/ExpertFxqService.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/expert/service/ExpertFxqService.java @@ -404,17 +404,32 @@ public class ExpertFxqService { throw new BusinessException("操作失败"); } - // 添加数据库-签署 - FxqSignEntity fxqSignData = new FxqSignEntity(); - fxqSignData.setExpertId(fxqUser.getExpertId()); - fxqSignData.setTaskId(fxqExpertTaskData.getId()); - fxqSignData.setSignStatus(2); - fxqSignData.setSignLinkH5(fxqLink.getSignH5Url()); - fxqSignData.setSignLinkPc(fxqLink.getSignPCUrl()); - fxqSignData.setCreateTime(LocalDateTime.now()); - res = fxqSignDao.insert(fxqSignData); - if (res <= 0){ - throw new BusinessException("操作失败"); + LambdaQueryWrapper signQueryWrapper = new LambdaQueryWrapper<>(); + signQueryWrapper.eq(FxqSignEntity::getExpertId,fxqUser.getExpertId()); + FxqSignEntity fxqSign = fxqSignDao.selectOne(signQueryWrapper); + if (fxqSign == null) { + // 添加数据库-签署 + FxqSignEntity fxqSignData = new FxqSignEntity(); + fxqSignData.setExpertId(fxqUser.getExpertId()); + fxqSignData.setTaskId(fxqExpertTaskData.getId()); + fxqSignData.setSignStatus(2); + fxqSignData.setSignLinkH5(fxqLink.getSignH5Url()); + fxqSignData.setSignLinkPc(fxqLink.getSignPCUrl()); + fxqSignData.setCreateTime(LocalDateTime.now()); + res = fxqSignDao.insert(fxqSignData); + if (res <= 0){ + throw new BusinessException("操作失败"); + } + }else{ + if (fxqSign.getSignStatus() == 1){ + // 已签署 + throw new BusinessException("操作失败"); + } + + fxqSign.setTaskId(fxqExpertTaskData.getId()); + fxqSign.setSignLinkH5(fxqLink.getSignH5Url()); + fxqSign.setSignLinkPc(fxqLink.getSignPCUrl()); + fxqSignDao.updateById(fxqSign); } if (Objects.equals(templateTask.getData().getTaskNo(), "")){