优化签名功能 #67
+57
-17
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user