|
|
@@ -41,6 +41,7 @@ import org.jeecg.modules.util.TokenUtil;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Propagation;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
@@ -690,40 +691,64 @@ public class HwOrderServiceImpl extends ServiceImpl<HwOrderMapper, HwOrder> impl
|
|
|
return returnMap;
|
|
|
}
|
|
|
}
|
|
|
- /**
|
|
|
- * 1、填充在线合同模板并生成合同
|
|
|
- * 2、直接签署页面
|
|
|
- */
|
|
|
- //模板填充
|
|
|
- List<HwContractTemplate> hwContractTemplateList = makeContractTemplate(hwOrder, hwSubcontractor, hwUser);
|
|
|
- RestResult resultFill = contractUtil.templateFill(accountId, hwSubcontractor.getName(), hwContractTemplateList);
|
|
|
- if (ContractConst.CODE_1.equals(resultFill.getCode())) {
|
|
|
- JSONObject jsonObject = JSONObject.parseObject(resultFill.getData().toString());
|
|
|
- //更新订单表
|
|
|
- String contractNo = jsonObject.getString("contractNo");
|
|
|
- QueryWrapper<HwElectronicContract> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.eq("contract_no", contractNo);
|
|
|
- List<HwElectronicContract> hwElectronicContractList = hwElectronicContractService.list(queryWrapper);
|
|
|
- if (hwElectronicContractList.size() > 0) {
|
|
|
- HwElectronicContract hwElectronicContract = hwElectronicContractList.get(0);
|
|
|
- hwOrder.setElectronicContractId(hwElectronicContract.getId());
|
|
|
- hwOrder.setElectronicContractStatus(6);
|
|
|
- updateById(hwOrder);
|
|
|
- }
|
|
|
- //返回签署url
|
|
|
- //1、未实名认证返回
|
|
|
- String url = jsonObject.getString("url");
|
|
|
- //始终返回长链
|
|
|
- String longUrl = jsonObject.getString("longUrl");
|
|
|
- //2、已实名认证返回
|
|
|
- String shortUrl = jsonObject.getString("shortUrl");
|
|
|
- if (StringUtils.isNotBlank(longUrl)) {
|
|
|
- returnMap.put("url", longUrl);
|
|
|
- }
|
|
|
- } else {
|
|
|
+ try {
|
|
|
+ //电子合同确认订单(第二步)
|
|
|
+ returnMap = this.confirmECOrdersNext(hwOrder, hwSubcontractor, hwUser, accountId);
|
|
|
+ } catch (Exception e) {
|
|
|
+ System.out.println("电子合同确认订单(第二步)异常");
|
|
|
returnMap.put("success", "1030");
|
|
|
- return returnMap;
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return returnMap;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 电子合同确认订单(第二步)
|
|
|
+ * PROPAGATION_REQUIRES_NEW:创建一个新的事务,如果当前存在事务,则把当前事务挂起。
|
|
|
+ *
|
|
|
+ * @param hwOrder
|
|
|
+ * @param hwSubcontractor
|
|
|
+ * @param hwUser
|
|
|
+ * @param accountId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Transactional(propagation = Propagation.REQUIRES_NEW)
|
|
|
+ public Map<String, Object> confirmECOrdersNext(HwOrder hwOrder, HwSubcontractor hwSubcontractor, HwUser hwUser, String accountId) {
|
|
|
+ Map<String, Object> returnMap = new HashMap<String, Object>();
|
|
|
+ /**
|
|
|
+ * 1、填充在线合同模板并生成合同
|
|
|
+ * 2、直接签署页面
|
|
|
+ */
|
|
|
+ //模板填充
|
|
|
+ List<HwContractTemplate> hwContractTemplateList = makeContractTemplate(hwOrder, hwSubcontractor, hwUser);
|
|
|
+ RestResult resultFill = contractUtil.templateFill(accountId, hwSubcontractor.getName(), hwContractTemplateList);
|
|
|
+ if (ContractConst.CODE_1.equals(resultFill.getCode())) {
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(resultFill.getData().toString());
|
|
|
+ //更新订单表
|
|
|
+ String contractNo = jsonObject.getString("contractNo");
|
|
|
+ QueryWrapper<HwElectronicContract> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("contract_no", contractNo);
|
|
|
+ List<HwElectronicContract> hwElectronicContractList = hwElectronicContractService.list(queryWrapper);
|
|
|
+ if (hwElectronicContractList.size() > 0) {
|
|
|
+ HwElectronicContract hwElectronicContract = hwElectronicContractList.get(0);
|
|
|
+ hwOrder.setElectronicContractId(hwElectronicContract.getId());
|
|
|
+ hwOrder.setElectronicContractStatus(6);
|
|
|
+ updateById(hwOrder);
|
|
|
}
|
|
|
+ //返回签署url
|
|
|
+ //1、未实名认证返回
|
|
|
+ String url = jsonObject.getString("url");
|
|
|
+ //始终返回长链
|
|
|
+ String longUrl = jsonObject.getString("longUrl");
|
|
|
+ //2、已实名认证返回
|
|
|
+ String shortUrl = jsonObject.getString("shortUrl");
|
|
|
+ if (StringUtils.isNotBlank(longUrl)) {
|
|
|
+ returnMap.put("url", longUrl);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ returnMap.put("success", "1030");
|
|
|
+ return returnMap;
|
|
|
}
|
|
|
return returnMap;
|
|
|
}
|