新增了放心签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";
Map<String, Object> requestData = new HashMap<>();
@ -100,7 +100,7 @@ public class FxqTask extends Base {
log.info("获取app数据参数:{}",jsonBody);
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 (!Objects.equals(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.module.app.expert.admin.*;
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.domain.entity.FxqCompanyEntity;
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.constant.RequestHeaderConst;
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.SmartBeanUtil;
import net.lab1024.sa.common.common.util.SmartRequestUtil;
@ -73,6 +75,9 @@ public class ExpertFxqController {
@Resource
private FxqUserDao fxqUserDao;
@Resource
private FxqTemplateDao fxqTemplateDao;
/**
* 获取专家协议签署详情
*/
@ -85,24 +90,15 @@ public class ExpertFxqController {
}
GetExpertSignVo g = new GetExpertSignVo();
g.setTaskStatus(2);
// 获取签署任务数据
LambdaQueryWrapper<FxqExpertTaskEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(FxqExpertTaskEntity::getExpertId, expertId);
FxqExpertTaskEntity fxqExpertTask = fxqExpertTaskDao.selectOne(queryWrapper);
if (fxqExpertTask == null) {
return ResponseDTO.app_ok(g);
}
if (fxqExpertTask.getTaskStatus() == 20){
// 获取专家协议签署状态
boolean res = expertFxqService.getExpertSign(expertId);
if (!res){
g.setTaskStatus(2);
}else {
g.setTaskStatus(1);
g.setTaskFileUrl(fxqExpertTask.getTaskLink());
}
// 获取协议签署情况
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.domain.entity.*;
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.exception.BusinessException;
import org.springframework.stereotype.Service;
@ -131,7 +132,7 @@ public class ExpertFxqService {
throw new BusinessException("操作失败");
}
// 获取企业实名认证数据-个人
// 获取个人实名认证数据
LambdaQueryWrapper<FxqUserEntity> personalQueryWrapper = new LambdaQueryWrapper<>();
personalQueryWrapper.eq(FxqUserEntity::getExpertId, expertId);
FxqUserEntity fxqUser = fxqUserDao.selectOne(personalQueryWrapper);
@ -210,7 +211,6 @@ public class ExpertFxqService {
// 获取数据库模版数据
LambdaQueryWrapper<FxqTemplateEntity> templateQueryWrapper = new LambdaQueryWrapper<>();
templateQueryWrapper.eq(FxqTemplateEntity::getCompanyId, companyId);
templateQueryWrapper.eq(FxqTemplateEntity::getId, 1);
FxqTemplateEntity fxqTemplate = fxqTemplateDao.selectOne(templateQueryWrapper);
if (fxqTemplate == null) {
// 获取企业模版数据
@ -306,63 +306,65 @@ public class ExpertFxqService {
return g;
}
// 10待签署 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();
r.setUnionId(company.getUnionId());
r.setTemplateNo(fxqTemplate.getTemplateNo());
// 需创建模版任务
AddTemplateTaskRequest r = new AddTemplateTaskRequest();
r.setUnionId(company.getUnionId());
r.setTemplateNo(fxqTemplate.getTemplateNo());
// 初始化 signers 列表
List<AddTemplateTaskRequest.signersData> signersList = new ArrayList<>();
// 初始化 signers 列表
List<AddTemplateTaskRequest.signersData> signersList = new ArrayList<>();
AddTemplateTaskRequest.signersData signer = new AddTemplateTaskRequest.signersData();
signer.setSignerNo(fxqTemplate.getCompanySignerNo());
signer.setSignerUnionId(company.getUnionId());
signersList.add(signer);
AddTemplateTaskRequest.signersData signer = new AddTemplateTaskRequest.signersData();
signer.setSignerNo(fxqTemplate.getCompanySignerNo());
signer.setSignerUnionId(company.getUnionId());
signersList.add(signer);
signer = new AddTemplateTaskRequest.signersData();
signer.setSignerNo(fxqTemplate.getPersonalSignerNo());
signer.setSignerUnionId(fxqUser.getUnionId());
signersList.add(signer);
signer = new AddTemplateTaskRequest.signersData();
signer.setSignerNo(fxqTemplate.getPersonalSignerNo());
signer.setSignerUnionId(fxqUser.getUnionId());
signersList.add(signer);
r.setSigners(signersList);
r.setSigners(signersList);
// 初始化 components 列表
List<AddTemplateTaskRequest.componentsData> componentsList = new ArrayList<>();
AddTemplateTaskRequest.componentsData components = new AddTemplateTaskRequest.componentsData();
components.setFileKey("doctorName");
components.setFileValue(fxqUser.getName());
componentsList.add(components);
r.setComponents(componentsList);
// 初始化 components 列表
List<AddTemplateTaskRequest.componentsData> componentsList = new ArrayList<>();
AddTemplateTaskRequest.componentsData components = new AddTemplateTaskRequest.componentsData();
components.setFileKey("doctorName");
components.setFileValue(fxqUser.getName());
componentsList.add(components);
r.setComponents(componentsList);
AddTemplateTaskResponse templateTask = fxqTask.addTemplateTask(r);
if (templateTask.getData() == null) {
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();
AddTemplateTaskResponse templateTask = fxqTask.addTemplateTask(r);
if (templateTask.getData() == null) {
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(10);
fxqExpertTaskData.setCreateTime(LocalDateTime.now());
int res = fxqExpertTaskDao.insert(fxqExpertTaskData);
if (res <= 0){
throw new BusinessException("操作失败");
}
taskNo = templateTask.getData().getTaskNo();
if (Objects.equals(taskNo, "")){
throw new BusinessException("操作失败");
}
@ -389,4 +391,77 @@ public class ExpertFxqService {
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());
}
}
}