新增了放心签1113333

This commit is contained in:
wucongxing8150 2025-06-30 08:57:18 +08:00
parent 1a14b66a91
commit bed2a987e3
3 changed files with 135 additions and 64 deletions

View File

@ -87,9 +87,9 @@ public class FxqTask extends Base {
} }
/** /**
* 获取签署链接 * 签署任务详情查询
*/ */
public GetTaskLinkResponse getTaskDetail(String taskNo, String unionId){ public GetTaskDetailResponse getTaskDetail(String taskNo, String unionId){
String url = getClientUrl() + "sign/task/detail"; String url = getClientUrl() + "sign/task/detail";
Map<String, Object> requestData = new HashMap<>(); Map<String, Object> requestData = new HashMap<>();
@ -100,7 +100,7 @@ public class FxqTask extends Base {
log.info("获取app数据参数:{}",jsonBody); log.info("获取app数据参数:{}",jsonBody);
String response = postJson(url,jsonBody,null); String response = postJson(url,jsonBody,null);
GetTaskLinkResponse result = JSONUtil.toBean(response, GetTaskLinkResponse.class); GetTaskDetailResponse result = JSONUtil.toBean(response, GetTaskDetailResponse.class);
if (result.getCode() != 10000){ if (result.getCode() != 10000){
if (!Objects.equals(result.getMessage(), "")){ if (!Objects.equals(result.getMessage(), "")){
throw new BusinessException(result.getMessage()); throw new BusinessException(result.getMessage());

View File

@ -12,6 +12,7 @@ import net.lab1024.sa.admin.constant.AdminSwaggerTagConst;
import net.lab1024.sa.admin.extend.fangxinqian.task.GetTaskLinkResponse; import net.lab1024.sa.admin.extend.fangxinqian.task.GetTaskLinkResponse;
import net.lab1024.sa.admin.module.app.expert.admin.*; import net.lab1024.sa.admin.module.app.expert.admin.*;
import net.lab1024.sa.admin.module.app.expert.dao.FxqExpertTaskDao; import net.lab1024.sa.admin.module.app.expert.dao.FxqExpertTaskDao;
import net.lab1024.sa.admin.module.app.expert.dao.FxqTemplateDao;
import net.lab1024.sa.admin.module.app.expert.dao.FxqUserDao; import net.lab1024.sa.admin.module.app.expert.dao.FxqUserDao;
import net.lab1024.sa.admin.module.app.expert.domain.entity.FxqCompanyEntity; import net.lab1024.sa.admin.module.app.expert.domain.entity.FxqCompanyEntity;
import net.lab1024.sa.admin.module.app.expert.domain.entity.FxqExpertTaskEntity; import net.lab1024.sa.admin.module.app.expert.domain.entity.FxqExpertTaskEntity;
@ -31,6 +32,7 @@ import net.lab1024.sa.admin.module.system.login.service.LoginService;
import net.lab1024.sa.common.common.annoation.NoNeedLogin; import net.lab1024.sa.common.common.annoation.NoNeedLogin;
import net.lab1024.sa.common.common.constant.RequestHeaderConst; import net.lab1024.sa.common.common.constant.RequestHeaderConst;
import net.lab1024.sa.common.common.domain.ResponseDTO; import net.lab1024.sa.common.common.domain.ResponseDTO;
import net.lab1024.sa.common.common.exception.BusinessException;
import net.lab1024.sa.common.common.util.Sha256Util; import net.lab1024.sa.common.common.util.Sha256Util;
import net.lab1024.sa.common.common.util.SmartBeanUtil; import net.lab1024.sa.common.common.util.SmartBeanUtil;
import net.lab1024.sa.common.common.util.SmartRequestUtil; import net.lab1024.sa.common.common.util.SmartRequestUtil;
@ -73,6 +75,9 @@ public class ExpertFxqController {
@Resource @Resource
private FxqUserDao fxqUserDao; private FxqUserDao fxqUserDao;
@Resource
private FxqTemplateDao fxqTemplateDao;
/** /**
* 获取专家协议签署详情 * 获取专家协议签署详情
*/ */
@ -85,24 +90,15 @@ public class ExpertFxqController {
} }
GetExpertSignVo g = new GetExpertSignVo(); GetExpertSignVo g = new GetExpertSignVo();
g.setTaskStatus(2);
// 获取签署任务数据 // 获取专家协议签署状态
LambdaQueryWrapper<FxqExpertTaskEntity> queryWrapper = new LambdaQueryWrapper<>(); boolean res = expertFxqService.getExpertSign(expertId);
queryWrapper.eq(FxqExpertTaskEntity::getExpertId, expertId); if (!res){
FxqExpertTaskEntity fxqExpertTask = fxqExpertTaskDao.selectOne(queryWrapper); g.setTaskStatus(2);
if (fxqExpertTask == null) { }else {
return ResponseDTO.app_ok(g);
}
if (fxqExpertTask.getTaskStatus() == 20){
g.setTaskStatus(1); g.setTaskStatus(1);
g.setTaskFileUrl(fxqExpertTask.getTaskLink());
} }
// 获取协议签署情况
return ResponseDTO.app_ok(g); return ResponseDTO.app_ok(g);
} }

View File

@ -12,6 +12,7 @@ import net.lab1024.sa.admin.module.app.expert.admin.ExpertEntity;
import net.lab1024.sa.admin.module.app.expert.dao.*; import net.lab1024.sa.admin.module.app.expert.dao.*;
import net.lab1024.sa.admin.module.app.expert.domain.entity.*; import net.lab1024.sa.admin.module.app.expert.domain.entity.*;
import net.lab1024.sa.admin.module.app.expert.domain.vo.AddFxqVo; import net.lab1024.sa.admin.module.app.expert.domain.vo.AddFxqVo;
import net.lab1024.sa.admin.module.app.expert.domain.vo.GetExpertSignVo;
import net.lab1024.sa.common.common.domain.ResponseDTO; import net.lab1024.sa.common.common.domain.ResponseDTO;
import net.lab1024.sa.common.common.exception.BusinessException; import net.lab1024.sa.common.common.exception.BusinessException;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -131,7 +132,7 @@ public class ExpertFxqService {
throw new BusinessException("操作失败"); throw new BusinessException("操作失败");
} }
// 获取企业实名认证数据-个人 // 获取个人实名认证数据
LambdaQueryWrapper<FxqUserEntity> personalQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<FxqUserEntity> personalQueryWrapper = new LambdaQueryWrapper<>();
personalQueryWrapper.eq(FxqUserEntity::getExpertId, expertId); personalQueryWrapper.eq(FxqUserEntity::getExpertId, expertId);
FxqUserEntity fxqUser = fxqUserDao.selectOne(personalQueryWrapper); FxqUserEntity fxqUser = fxqUserDao.selectOne(personalQueryWrapper);
@ -210,7 +211,6 @@ public class ExpertFxqService {
// 获取数据库模版数据 // 获取数据库模版数据
LambdaQueryWrapper<FxqTemplateEntity> templateQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<FxqTemplateEntity> templateQueryWrapper = new LambdaQueryWrapper<>();
templateQueryWrapper.eq(FxqTemplateEntity::getCompanyId, companyId); templateQueryWrapper.eq(FxqTemplateEntity::getCompanyId, companyId);
templateQueryWrapper.eq(FxqTemplateEntity::getId, 1);
FxqTemplateEntity fxqTemplate = fxqTemplateDao.selectOne(templateQueryWrapper); FxqTemplateEntity fxqTemplate = fxqTemplateDao.selectOne(templateQueryWrapper);
if (fxqTemplate == null) { if (fxqTemplate == null) {
// 获取企业模版数据 // 获取企业模版数据
@ -306,63 +306,65 @@ public class ExpertFxqService {
return g; return g;
} }
// 10待签署 0发起签署
if (fxqExpertTask.getTaskStatus() == 10 || fxqExpertTask.getTaskStatus() == 0){ if (fxqExpertTask.getTaskStatus() == 10 || fxqExpertTask.getTaskStatus() == 0){
taskNo = fxqExpertTask.getTaskNo(); g.setTaskStatus(2);
g.setLinkUrl(fxqExpertTask.getTaskLink());
return g;
} }
} }
if (Objects.equals(taskNo, "")){ // 需创建模版任务
AddTemplateTaskRequest r = new AddTemplateTaskRequest(); AddTemplateTaskRequest r = new AddTemplateTaskRequest();
r.setUnionId(company.getUnionId()); r.setUnionId(company.getUnionId());
r.setTemplateNo(fxqTemplate.getTemplateNo()); r.setTemplateNo(fxqTemplate.getTemplateNo());
// 初始化 signers 列表 // 初始化 signers 列表
List<AddTemplateTaskRequest.signersData> signersList = new ArrayList<>(); List<AddTemplateTaskRequest.signersData> signersList = new ArrayList<>();
AddTemplateTaskRequest.signersData signer = new AddTemplateTaskRequest.signersData(); AddTemplateTaskRequest.signersData signer = new AddTemplateTaskRequest.signersData();
signer.setSignerNo(fxqTemplate.getCompanySignerNo()); signer.setSignerNo(fxqTemplate.getCompanySignerNo());
signer.setSignerUnionId(company.getUnionId()); signer.setSignerUnionId(company.getUnionId());
signersList.add(signer); signersList.add(signer);
signer = new AddTemplateTaskRequest.signersData(); signer = new AddTemplateTaskRequest.signersData();
signer.setSignerNo(fxqTemplate.getPersonalSignerNo()); signer.setSignerNo(fxqTemplate.getPersonalSignerNo());
signer.setSignerUnionId(fxqUser.getUnionId()); signer.setSignerUnionId(fxqUser.getUnionId());
signersList.add(signer); signersList.add(signer);
r.setSigners(signersList); r.setSigners(signersList);
// 初始化 components 列表 // 初始化 components 列表
List<AddTemplateTaskRequest.componentsData> componentsList = new ArrayList<>(); List<AddTemplateTaskRequest.componentsData> componentsList = new ArrayList<>();
AddTemplateTaskRequest.componentsData components = new AddTemplateTaskRequest.componentsData(); AddTemplateTaskRequest.componentsData components = new AddTemplateTaskRequest.componentsData();
components.setFileKey("doctorName"); components.setFileKey("doctorName");
components.setFileValue(fxqUser.getName()); components.setFileValue(fxqUser.getName());
componentsList.add(components); componentsList.add(components);
r.setComponents(componentsList); r.setComponents(componentsList);
AddTemplateTaskResponse templateTask = fxqTask.addTemplateTask(r); AddTemplateTaskResponse templateTask = fxqTask.addTemplateTask(r);
if (templateTask.getData() == null) { if (templateTask.getData() == null) {
throw new BusinessException("操作失败"); throw new BusinessException("操作失败");
}
if (templateTask.getData().getTaskNo() == null || templateTask.getData().getTaskNo().isEmpty()) {
throw new BusinessException("操作失败");
}
// 添加数据库
FxqExpertTaskEntity fxqExpertTaskData = new FxqExpertTaskEntity();
fxqExpertTaskData.setExpertId(fxqUser.getExpertId());
fxqExpertTaskData.setTaskNo(templateTask.getData().getTaskNo());
fxqExpertTaskData.setTemplateId(fxqTemplate.getId());
fxqExpertTaskData.setTaskStatus(0);
fxqExpertTaskData.setCreateTime(LocalDateTime.now());
int res = fxqExpertTaskDao.insert(fxqExpertTaskData);
if (res <= 0){
throw new BusinessException("操作失败");
}
taskNo = templateTask.getData().getTaskNo();
} }
if (templateTask.getData().getTaskNo() == null || templateTask.getData().getTaskNo().isEmpty()) {
throw new BusinessException("操作失败");
}
// 添加数据库
FxqExpertTaskEntity fxqExpertTaskData = new FxqExpertTaskEntity();
fxqExpertTaskData.setExpertId(fxqUser.getExpertId());
fxqExpertTaskData.setTaskNo(templateTask.getData().getTaskNo());
fxqExpertTaskData.setTemplateId(fxqTemplate.getId());
fxqExpertTaskData.setTaskStatus(10);
fxqExpertTaskData.setCreateTime(LocalDateTime.now());
int res = fxqExpertTaskDao.insert(fxqExpertTaskData);
if (res <= 0){
throw new BusinessException("操作失败");
}
taskNo = templateTask.getData().getTaskNo();
if (Objects.equals(taskNo, "")){ if (Objects.equals(taskNo, "")){
throw new BusinessException("操作失败"); throw new BusinessException("操作失败");
} }
@ -389,4 +391,77 @@ public class ExpertFxqService {
throw new BusinessException(e.getMessage()); throw new BusinessException(e.getMessage());
} }
} }
/**
* 签署任务详情查询
*/
public FxqExpertTaskEntity getTaskDetail(String taskNo, String unionId,FxqExpertTaskEntity fxqExpertTask){
GetTaskDetailResponse taskLink = fxqTask.getTaskDetail(taskNo,unionId);
if (taskLink.getData() == null) {
throw new BusinessException("操作失败");
}
// 修改签署状态
if (taskLink.getData().getTaskNo() == null || taskLink.getData().getTaskNo().isEmpty()) {
throw new BusinessException("操作失败");
}
if (!taskLink.getData().getTaskNo().equals(fxqExpertTask.getTaskNo())){
throw new BusinessException("操作失败");
}
// 修改状态
fxqExpertTask.setTaskStatus(taskLink.getData().getTaskStatus());
fxqExpertTaskDao.updateById(fxqExpertTask);
return fxqExpertTask;
}
/**
* 获取专家协议签署详情
*/
@Transactional
public boolean getExpertSign(Long expertId){
try {
// 获取签署任务数据
LambdaQueryWrapper<FxqExpertTaskEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(FxqExpertTaskEntity::getExpertId, expertId);
queryWrapper.in(FxqExpertTaskEntity::getTaskStatus, 0,10,20);
FxqExpertTaskEntity fxqExpertTask = fxqExpertTaskDao.selectOne(queryWrapper);
if (fxqExpertTask == null) {
return false;
}
if (fxqExpertTask.getTaskStatus() == 20){
return true;
}
// 获取个人实名认证数据
LambdaQueryWrapper<FxqUserEntity> personalQueryWrapper = new LambdaQueryWrapper<>();
personalQueryWrapper.eq(FxqUserEntity::getExpertId, expertId);
FxqUserEntity fxqUser = fxqUserDao.selectOne(personalQueryWrapper);
if (fxqUser == null) {
return false;
}
// 获取签署链接
GetTaskLinkResponse.taskDetailsData fxqLink = getTaskLink(fxqExpertTask.getTaskNo(),fxqUser.getUnionId());
if (fxqLink == null) {
throw new BusinessException("操作失败");
}
// 已签署
if (Objects.equals(fxqLink.getSignStatus(), "2")){
// 修改签署任务
fxqExpertTask.setTaskStatus(20);
fxqExpertTaskDao.updateById(fxqExpertTask);
return true;
}
return false;
} catch (Exception e) {
throw new BusinessException(e.getMessage());
}
}
} }