优化签名功能 #67

Merged
qtz merged 2 commits from qtz into dev 2024-02-06 08:03:21 +00:00
@@ -13,18 +13,21 @@ import com.google.gson.JsonObject;
import com.ruoyi.common.constant.FileTransformation;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.EsignHttpResponse;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.enums.AnnexTypeEnum;
import com.ruoyi.common.enums.YesOrNoEnum;
import com.ruoyi.common.exception.EsignDemoException;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.EmailOutUtil;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.SmsUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.SaaSAPIFileUtils;
import com.ruoyi.system.domain.entity.flow.MsCaseFlow;
import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.mapper.flow.MsCaseFlowMapper;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.wisdomarbitrate.domain.dto.dept.DeptIdentify;
import com.ruoyi.wisdomarbitrate.domain.dto.dept.SealManage;
import com.ruoyi.wisdomarbitrate.domain.dto.mscase.CaseLogRecord;
@@ -58,6 +61,7 @@ import javax.annotation.Resource;
import java.io.File;
import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
import static com.ruoyi.common.core.domain.AjaxResult.success;
@@ -76,6 +80,8 @@ public class MsSignSealServiceImpl implements MsSignSealService {
private SealManageMapper sealManageMapper;
@Autowired
MsCaseFlowMapper caseFlowMapper;
@Autowired
private SysUserMapper userMapper;
@Autowired
private SysUserMapper sysUserMapper;
@@ -728,27 +734,60 @@ public class MsSignSealServiceImpl implements MsSignSealService {
Long caseId = dto.getCaseId();
MsCaseAffiliate caseAffiliate = msCaseAffiliateMapper.selectByPrimaryKey(caseId);
Integer organizeFlag = caseAffiliate.getOrganizeFlag();
SealSignRecord sealSignRecordres = new SealSignRecord();
MsSealSignRecord mssealSignRecord = new MsSealSignRecord();
mssealSignRecord.setCaseAppliId(caseId);
List<MsSealSignRecord> sealSignRecords = sealSignRecordMapper.selectSealSignRecord(mssealSignRecord);
if (sealSignRecords != null && sealSignRecords.size() > 0) {
String signFlowid = sealSignRecords.get(0).getSignFlowId();
if(organizeFlag!=null){
SealSignRecord sealSignRecord = new SealSignRecord();
if(organizeFlag.intValue()==1){
sealSignRecord.setPensonAccount(caseAffiliate.getContactTelphoneAgent());
sealSignRecord.setPensonName(caseAffiliate.getNameAgent());
}else {
String nameAgent = caseAffiliate.getNameAgent();
if(StringUtils.isNotBlank(nameAgent)){
SysUser user = new SysUser();
Long userId = SecurityUtils.getUserId();
user.setUserId(userId);
List<SysUser> listSysUser = userMapper.selectUserList(user);
List<SysRole> allSysRole = new ArrayList<>();
for(SysUser sysUser :listSysUser){
List<SysRole> roles = sysUser.getRoles();
allSysRole.addAll(roles);
}
List<String> roleNames = allSysRole.stream().map(SysRole::getRoleName).collect(Collectors.toList());
if(roleNames.contains("申请人")){
SealSignRecord sealSignRecordres = new SealSignRecord();
MsSealSignRecord mssealSignRecord = new MsSealSignRecord();
mssealSignRecord.setCaseAppliId(caseId);
List<MsSealSignRecord> sealSignRecords = sealSignRecordMapper.selectSealSignRecord(mssealSignRecord);
if (sealSignRecords != null && sealSignRecords.size() > 0) {
String signFlowid = sealSignRecords.get(0).getSignFlowId();
if(organizeFlag!=null){
SealSignRecord sealSignRecord = new SealSignRecord();
if(organizeFlag.intValue()==1){
sealSignRecord.setPensonAccount(caseAffiliate.getContactTelphoneAgent());
sealSignRecord.setPensonName(caseAffiliate.getNameAgent());
}else {
sealSignRecord.setPensonAccount(caseAffiliate.getApplicationPhone());
sealSignRecord.setPensonName(caseAffiliate.getApplicationName());
String nameAgent = caseAffiliate.getNameAgent();
if(StringUtils.isNotBlank(nameAgent)){
sealSignRecord.setPensonAccount(caseAffiliate.getContactTelphoneAgent());
sealSignRecord.setPensonName(caseAffiliate.getNameAgent());
}else {
sealSignRecord.setPensonAccount(caseAffiliate.getApplicationPhone());
sealSignRecord.setPensonName(caseAffiliate.getApplicationName());
}
}
sealSignRecord.setSignFlowid(signFlowid);
Gson gson = new Gson();
EsignHttpResponse signUrl = SignAward.signUrl(sealSignRecord);
JsonObject signUrlJsonObject = gson.fromJson(signUrl.getBody(), JsonObject.class);
JsonObject signUrlData = signUrlJsonObject.getAsJsonObject("data");
String urlapply = signUrlData.get("shortUrl").getAsString();
sealSignRecordres.setSealUrl(urlapply);
}
}
return AjaxResult.success(sealSignRecordres);
}else if(roleNames.contains("被申请人")){
SealSignRecord sealSignRecordres = new SealSignRecord();
MsSealSignRecord mssealSignRecord = new MsSealSignRecord();
mssealSignRecord.setCaseAppliId(caseId);
List<MsSealSignRecord> sealSignRecords = sealSignRecordMapper.selectSealSignRecord(mssealSignRecord);
if (sealSignRecords != null && sealSignRecords.size() > 0) {
String signFlowid = sealSignRecords.get(0).getSignFlowId();
SealSignRecord sealSignRecord = new SealSignRecord();
sealSignRecord.setPensonAccount(caseAffiliate.getRespondentPhone());
sealSignRecord.setSignFlowid(signFlowid);
Gson gson = new Gson();
@@ -758,8 +797,9 @@ public class MsSignSealServiceImpl implements MsSignSealService {
String urlapply = signUrlData.get("shortUrl").getAsString();
sealSignRecordres.setSealUrl(urlapply);
}
return AjaxResult.success(sealSignRecordres);
}
return AjaxResult.success(sealSignRecordres);
return AjaxResult.success();
}
@Override