Bladeren bron

Merge branch 'feature-2022.07.29' of https://git.flowbb.cn/RK-Dev/fqgz-server into feature-2022.07.29

# Conflicts:
#	eladmin-system/src/main/java/me/zhengjie/application/admin/service/impl/AdminOrderServiceImpl.java
humuyu 3 jaren geleden
bovenliggende
commit
0aa376cc16

+ 3 - 4
eladmin-system/src/main/java/me/zhengjie/application/admin/job/GenerateNotarizationJob.java

@@ -70,8 +70,8 @@ public class GenerateNotarizationJob {
      * @param orderFile
      */
     private void signNotarization(OrderFileEntity orderFile) throws Exception{
-        BorrowerEntity borrower = contractOrderRepository.getBorrowerWithBizNoAndContractNo(orderFile.getBusinessNo(), orderFile.getContractNo());
-        SysUserEntity notaryUser = userDao.selectById(borrower.getNotaryUserId());
+        ContractOrderEntity order = contractOrderRepository.getContractOrderWithBizNo(orderFile.getBusinessNo());
+        SysUserEntity notaryUser = userDao.selectById(order.getNotaryUserId());
         NotaryOfficeEntity notaryOffice = notaryOfficeMapper.selectById(notaryUser.getOrgId().split("_")[1]);
         //
         UploadSignInfoVO notaryUserInfo = new UploadSignInfoVO();
@@ -101,9 +101,8 @@ public class GenerateNotarizationJob {
      * @param orderFile
      */
     private void downloadNotarization(OrderFileEntity orderFile) throws Exception {
-        String orderType = StepStatusEnum.getType(orderFile.getContractId());
         CFCACertUtil.proxySwitchOn = "dev".equals(AppConfigInfo.APP_ENV_TYPE);
-        String uplaodPath = orderFile.getBusinessNo() + "/" + orderType + "/";
+        String uplaodPath = orderFile.getBusinessNo() + "/";
         String path = uplaodPath + "notary-signed-" + orderFile.getBusinessNo() + "/";
         String filePath = CFCACertUtil.download(path, orderFile.getAxqContractNo());
         saveAuthNorizationUrlById(filePath, orderFile.getId());

+ 3 - 0
eladmin-system/src/main/java/me/zhengjie/application/admin/service/impl/AdminOrderServiceImpl.java

@@ -680,7 +680,10 @@ public class AdminOrderServiceImpl implements AdminOrderService {
 		FileInfoEntity fileInfoEntity = fileInfoService.getById(file.getImageId());
 		OrderFileEntity notaryOrderFile = new OrderFileEntity();
 		notaryOrderFile.setBusinessNo(file.getBusinessNo());
+<<<<<<< HEAD
 //		notaryOrderFile.setContractId(file.getContractId());
+=======
+>>>>>>> f1d6c78a0b120e2f0f55b18f085c9efdfd0b9602
 		notaryOrderFile.setCode(code);
 		notaryOrderFile.setSignedPdfUrl(fileInfoEntity.getPath());
 		notaryOrderFile.setCreateTime(new Date());

+ 3 - 3
eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/BankOrderServiceImpl.java

@@ -145,11 +145,11 @@ public class BankOrderServiceImpl implements BankOrderService {
 			OrderOCRParser orderOCRParser = orderOCRParserFactory.generateOrderOCRParser(bank.getUscc());
 			if (orderOCRParser != null) {
 				String result = TencentServiceUtil.readInfoWithOCR(file);
-				if (OrderConstant.ORDER_TYPE_BORROWER == orderType) {
+				if (OrderConstant.CONTRACT_TYPE_BORROWER == orderType) {
 					return orderOCRParser.parseBorrower(result);
-				} else if (OrderConstant.ORDER_TYPE_MORTGAGE == orderType) {
+				} else if (OrderConstant.CONTRACT_TYPE_MORTGAGE == orderType) {
 					return orderOCRParser.parseMortgage(result);
-				} else if (OrderConstant.ORDER_TYPE_GUARANTEE == orderType) {
+				} else if (OrderConstant.CONTRACT_TYPE_GUARANTEE == orderType) {
 					return orderOCRParser.parseGuarantee(result);
 				}
 			}

+ 7 - 114
eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/NotaryNoteServiceImpl.java

@@ -125,7 +125,7 @@ public class NotaryNoteServiceImpl extends ServiceImpl<NotaryNoteMapper, NotaryN
 					.concat(noteDto.getQuestion()).concat("<br>").concat(noteDto.getAnswer()).concat("</li>");
 		}
 		htmlContent = modelContent.replace("${QuestionAnswerList}", htmlContent).replace("${yyyyMMdd}",
-				formatter.format(new Date())).replace("${NotaryUserName}",userDto.getNickName()).replace("${QueryUsers}",getQueryUsers(notary.getBusinessNo(),notary.getContractNo()));
+				formatter.format(new Date())).replace("${NotaryUserName}",userDto.getNickName()).replace("${QueryUsers}",modelSynthesizerDomain.composeNotePartyList(notary.getBusinessNo()));
 		String htmlpath = FileUploadUtil.saveHtml(htmlContent, notary.getBusinessNo());
 		String pdfPath = FileUploadUtil.savePdf(htmlContent, notary.getBusinessNo());
 		//
@@ -158,34 +158,11 @@ public class NotaryNoteServiceImpl extends ServiceImpl<NotaryNoteMapper, NotaryN
 	 */
 	private void saveNotaryUserId(String businessNo) {
 		String currentUserId = String.valueOf(contextUtil.getCurrentUserId());
-		QueryWrapper<BorrowerEntity> borrowerQw = new QueryWrapper<>();
-		borrowerQw.eq("business_no", businessNo);
-		BorrowerEntity borrowerEntity = borrowerMapper.selectOne(borrowerQw);
-		BorrowerEntity saveBorrower = new BorrowerEntity();
-		saveBorrower.setId(borrowerEntity.getId());
-		saveBorrower.setUpdateTime(LocalDateTime.now());
-		saveBorrower.setNotaryUserId(currentUserId);
-		borrowerMapper.updateById(saveBorrower);
-//		QueryWrapper<GuaranteeEntity> guaranteeQw = new QueryWrapper<>();
-//		guaranteeQw.eq("business_no", businessNo);
-//		GuaranteeEntity guaranteeEntity = guaranteeMapper.selectOne(guaranteeQw);
-//		GuaranteeEntity saveGuarantee = new GuaranteeEntity();
-//		saveGuarantee.setId(guaranteeEntity.getId());
-//		saveGuarantee.setUpdateTime(LocalDateTime.now());
-//		saveGuarantee.setNotaryUserId(currentUserId);
-//		guaranteeMapper.updateById(saveGuarantee);
-		QueryWrapper<MortgageEntity> mortgageQw = new QueryWrapper<>();
-		mortgageQw.eq("business_no", businessNo);
-		// 非空
-		MortgageEntity mortgageEntity = mortgageMapper.selectOne(mortgageQw);
-		if (mortgageEntity != null) {
-			MortgageEntity saveMortgage = new MortgageEntity();
-			saveMortgage.setId(mortgageEntity.getId());
-			saveMortgage.setUpdateTime(LocalDateTime.now());
-			saveMortgage.setNotaryUserId(currentUserId);
-			mortgageMapper.updateById(saveMortgage);
-		}
-
+		ContractOrderEntity curOrder = contractOrderRepository.getContractOrderWithBizNo(businessNo);
+		ContractOrderEntity saveOrder = new ContractOrderEntity();
+		saveOrder.setId(curOrder.getId());
+		saveOrder.setNotaryUserId(currentUserId);
+		contractOrderRepository.updateWithId(saveOrder);
 	}
 
 	/**
@@ -206,95 +183,11 @@ public class NotaryNoteServiceImpl extends ServiceImpl<NotaryNoteMapper, NotaryN
 	}
 
 	/**
-	 * 拼接询问人字符串
-	 * @param businessNo
-	 * @return
-	 */
-	private String getQueryUsers(String businessNo, String contractNo) {
-		List<Map<String, String>> userList = new ArrayList<>();
-		ContractOrderEntity order = contractOrderRepository.getContractOrderWithBizNo(businessNo);
-		BankEntity bank = bankMapper.selectById(order.getBankId());
-		String lender = "贷款人:" + bank.getBankName() + ",住所:" + bank.getAddress() + ",负责人:" + bank.getPrincipal() + "<br/>";
-		//
-		SimpleDateFormat dateSrcFormatter = new SimpleDateFormat("yyyyMMdd");
-		SimpleDateFormat dateDestFormatter = new SimpleDateFormat("yyyy/MM/dd");
-		try {
-			SysUserEntity user = sysUserMapper.selectById(order.getCustomerId());
-			Map<String, String> customerMap = new HashMap<>();
-			customerMap.put("title", "委托代理人");
-			customerMap.put("name", user.getNickName());
-			customerMap.put("sex", user.getGender());
-			customerMap.put("birth", dateDestFormatter.format(dateSrcFormatter.parse(user.getIdCard().substring(6, 14))));
-			customerMap.put("idCard", user.getIdCard());
-			customerMap.put("phone", user.getPhone());
-			userList.add(customerMap);
-			BorrowerEntity borrower = contractOrderRepository.getBorrowerWithBizNoAndContractNo(businessNo, contractNo);
-			Map<String, String> borrowerMap = new HashMap<>();
-			borrowerMap.put("title", "借款人");
-			borrowerMap.put("name", borrower.getUsername());
-			borrowerMap.put("sex", "1".equals(borrower.getSex()) ? "男" : "女");
-			borrowerMap.put("birth", borrower.getBirth());
-			borrowerMap.put("idCard", borrower.getIdCard());
-			borrowerMap.put("phone", borrower.getPhone());
-			userList.add(borrowerMap);
-			if (borrower.getJointFlag() == 1) {
-				borrowerMap = new HashMap<>();
-				borrowerMap.put("title", "借款人");
-				borrowerMap.put("name", borrower.getSpouseName());
-				String sex = "男";
-				if (StringUtils.isNotEmpty(borrower.getSpouseSex()) && borrower.getSpouseSex().equals("2")) {
-					sex = "女";
-				}
-				borrowerMap.put("sex", sex);
-				borrowerMap.put("birth", dateDestFormatter.format(dateSrcFormatter.parse(borrower.getSpouseIdCard().substring(6, 14))));
-				borrowerMap.put("idCard", borrower.getSpouseIdCard());
-				borrowerMap.put("phone", borrower.getSpousePhone());
-				userList.add(borrowerMap);
-			}
-			MortgageEntity mortgage = contractOrderRepository.getMortgageWithBizNoAndContractNo(businessNo, contractNo);
-			if (mortgage != null) {
-				Map<String, String> mortgageMap = new HashMap<>();
-				mortgageMap.put("title", "抵押人");
-				mortgageMap.put("name", mortgage.getUsername());
-				mortgageMap.put("sex", "1".equals(mortgage.getSex()) ? "男" : "女");
-				mortgageMap.put("birth", mortgage.getBirth());
-				mortgageMap.put("idCard", mortgage.getIdCard());
-				mortgageMap.put("phone", mortgage.getPhone());
-				userList.add(mortgageMap);
-				if (mortgage.getJointFlag() == 1) {
-					mortgageMap = new HashMap<>();
-					mortgageMap.put("title", "抵押人");
-					mortgageMap.put("name", mortgage.getSpouseName());
-					String sex = "男";
-					if (StringUtils.isNotEmpty(borrower.getSpouseSex()) && borrower.getSpouseSex().equals("2")) {
-						sex = "女";
-					}
-					mortgageMap.put("sex", sex);
-					mortgageMap.put("birth", dateDestFormatter.format(dateSrcFormatter.parse(mortgage.getSpouseIdCard().substring(6, 14))));
-					mortgageMap.put("idCard", mortgage.getSpouseIdCard());
-					mortgageMap.put("phone", mortgage.getSpousePhone());
-					userList.add(mortgageMap);
-				}
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		String template = "$title:$name,$sex,$birth出生,公民身份证号码:$idCard,联系电话:$phone<br/>";
-		String users = lender;
-		for (Map<String, String> map : userList) {
-			users += template.replace("$title", map.get("title")).replace("$name", map.get("name"))
-					.replace("$sex", map.get("sex")).replace("$birth", map.get("birth")).replace("$idCard", map.get("idCard"))
-					.replace("$phone", map.get("phone"));
-		}
-		return users;
-	}
-
-	/**
 	 * 重新生成申请表
 	 *
 	 * @param businessNo
 	 */
-	public void recreateApplyDoc(String businessNo,String contractNo) {
+	private void recreateApplyDoc(String businessNo,String contractNo) {
 		ContractOrderEntity contractOrderEntity = contractOrderRepository.getContractOrderWithBizNo(businessNo);
 		ModelEntity model = modelRepository.getModelEntity(contractOrderEntity.getProdId(), contractOrderEntity.getNotaryOfficeId(), ModelConstant.MODEL_TYPE_APPLY, ModelConstant.MODEL_STATUS_ENABLE);
 		OrderFileEntity fileEntity = orderFileRepository.getOrderFileWithCode(businessNo, ModelConstant.MODEL_TYPE_APPLY);

+ 0 - 14
eladmin-system/src/main/java/me/zhengjie/base/util/DownloadUtils.java

@@ -106,20 +106,6 @@ public class DownloadUtils {
 	}
 
 	/**
-	 * 下载公证书
-	 * 
-	 * @param orderFile
-	 */
-	public static void downloadNotarization(OrderFileEntity orderFile) throws Exception {
-		String orderType = StepStatusEnum.getType(orderFile.getContractId());
-		CFCACertUtil.proxySwitchOn = "dev".equals(AppConfigInfo.APP_ENV_TYPE);
-		String uplaodPath = orderFile.getBusinessNo() + "/" + orderType + "/";
-		String path = uplaodPath + "notary-signed-" + orderFile.getBusinessNo() + "/";
-		String filePath = CFCACertUtil.download(path, orderFile.getAxqContractNo());
-		saveAuthNorizationUrlById(filePath, orderFile.getId());
-	}
-
-	/**
 	 * 保存签名文件URL
 	 *
 	 * @param fileUrl

+ 85 - 3
eladmin-system/src/main/java/me/zhengjie/domain/model/ModelSynthesizerDomain.java

@@ -10,15 +10,15 @@ import me.zhengjie.base.util.TextTempletUtil;
 import me.zhengjie.dao.mybatis.ContractOrderRepository;
 import me.zhengjie.dao.mybatis.entity.*;
 import me.zhengjie.dao.mybatis.mapper.*;
+import me.zhengjie.domain.order.OrderConstant;
 import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
 import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
 
 @Component
 @RequiredArgsConstructor
@@ -32,6 +32,88 @@ public class ModelSynthesizerDomain {
     private final ApplicationContextUtil contextUtil;
 
     /**
+     * 合成面谈笔录当事人列表模板
+     *
+     * @param businessNo
+     * @return
+     */
+    public String composeNotePartyList(String businessNo) {
+        ContractOrderEntity order = contractOrderRepository.getContractOrderWithBizNo(businessNo);
+        BankEntity bank = bankMapper.selectById(order.getBankId());
+        String lender = "贷款人:" + bank.getBankName() + ",住所:" + bank.getAddress() + ",负责人:" + bank.getPrincipal() + "<br/>";
+        String template = "$Title$:$Name$,$Sex$,$Birth$出生,公民身份证号码:$IdCard$,联系电话:$Phone$<br/>";
+        List<Map<String, String>> userList = prepareNotePartyTemplateData(order);
+        String users = lender;
+        for (Map<String, String> map : userList) {
+            users += TextTempletUtil.replaceContent(template, map);
+        }
+        return users;
+    }
+
+    /**
+     * 准备面谈笔录当事人数据
+     * @param order
+     * @return
+     */
+    private List<Map<String, String>> prepareNotePartyTemplateData(ContractOrderEntity order) {
+        List<Map<String, String>> userList = new ArrayList<>();
+        SimpleDateFormat dateSrcFormatter = new SimpleDateFormat("yyyyMMdd");
+        SimpleDateFormat dateDestFormatter = new SimpleDateFormat("yyyy/MM/dd");
+        try {
+            // 客户经理
+            SysUserEntity user = sysUserMapper.selectById(order.getCustomerId());
+            Map<String, String> customerMap = new HashMap<>();
+            customerMap.put("$Title$", "委托代理人");
+            customerMap.put("$Name$", user.getNickName());
+            customerMap.put("$Sex$", user.getGender());
+            customerMap.put("$Birth$", dateDestFormatter.format(dateSrcFormatter.parse(user.getIdCard().substring(6, 14))));
+            customerMap.put("$IdCard$", user.getIdCard());
+            customerMap.put("$Phone$", user.getPhone());
+            userList.add(customerMap);
+            // 当事人
+            Map<String, String> partyMap = new HashMap<>();
+            if (order.getContractType() == OrderConstant.CONTRACT_TYPE_BORROWER) {
+                partyMap.put("$Title$", "借款人");
+            } else if (order.getContractType() == OrderConstant.CONTRACT_TYPE_MORTGAGE) {
+                partyMap.put("$Title$", "抵押人");
+            } else if (order.getContractType() == OrderConstant.CONTRACT_TYPE_GUARANTEE) {
+                partyMap.put("$Title$", "保证人");
+            } else if (order.getContractType() == OrderConstant.CONTRACT_TYPE_CREDIT) {
+                partyMap.put("$Title$", "授信人");
+            }
+            partyMap.put("$Name$", order.getName());
+            partyMap.put("$Sex$", "1".equals(order.getSex()) ? "男" : "女");
+            partyMap.put("$Birth$", order.getBirth());
+            partyMap.put("$IdCard$", order.getIdCard());
+            partyMap.put("$Phone$", order.getPhone());
+            userList.add(partyMap);
+            // 共同责任人
+            if (order.getJointFlag() == OrderConstant.JOINT_FLAG_TRUE) {
+                Map<String, String> jointMap = new HashMap<>();
+                if (order.getContractType() == OrderConstant.CONTRACT_TYPE_BORROWER) {
+                    jointMap.put("$Title$", "借款人");
+                } else if (order.getContractType() == OrderConstant.CONTRACT_TYPE_MORTGAGE) {
+                    jointMap.put("$Title$", "抵押人");
+                } else if (order.getContractType() == OrderConstant.CONTRACT_TYPE_GUARANTEE) {
+                    jointMap.put("$Title$", "保证人");
+                } else if (order.getContractType() == OrderConstant.CONTRACT_TYPE_CREDIT) {
+                    jointMap.put("$Title$", "授信人");
+                }
+                jointMap.put("$Name$", order.getJointName());
+                jointMap.put("$Sex$", "1".equals(order.getJointSex()) ? "男" : "女");
+                jointMap.put("$Birth$", dateDestFormatter.format(dateSrcFormatter.parse(order.getJointIdCard().substring(6, 14))));
+                jointMap.put("$IdCard$", order.getJointIdCard());
+                jointMap.put("$Phone$", order.getJointPhone());
+                userList.add(jointMap);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return userList;
+    }
+
+
+    /**
      * 准备面谈笔录模板数据
      *
      * @param businessNo

+ 10 - 4
eladmin-system/src/main/java/me/zhengjie/domain/order/OrderConstant.java

@@ -2,11 +2,17 @@ package me.zhengjie.domain.order;
 
 public class OrderConstant {
     /**
-     * 订单类型
+     * 共同责任人标记
      */
-    public static final Integer ORDER_TYPE_BORROWER = 1;
-    public static final Integer ORDER_TYPE_MORTGAGE = 2;
-    public static final Integer ORDER_TYPE_GUARANTEE = 3;
+    public static final Integer JOINT_FLAG_TRUE = 1;
+    public static final Integer JOINT_FLAG_FALSE = 0;
+    /**
+     * 合同类型
+     */
+    public static final Integer CONTRACT_TYPE_BORROWER = 1;
+    public static final Integer CONTRACT_TYPE_MORTGAGE = 2;
+    public static final Integer CONTRACT_TYPE_GUARANTEE = 3;
+    public static final Integer CONTRACT_TYPE_CREDIT = 4;
     /**
      * 订单状态
      */