|
|
@@ -2,6 +2,7 @@ package me.zhengjie.application.bank.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
+import lombok.Synchronized;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import me.zhengjie.application.bank.controller.vo.BankOrderVO;
|
|
|
import me.zhengjie.application.bank.mq.RedisReceiver;
|
|
|
@@ -26,6 +27,7 @@ import org.springframework.data.redis.core.RedisTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -41,175 +43,229 @@ import java.util.stream.Collectors;
|
|
|
@Slf4j
|
|
|
@RequiredArgsConstructor
|
|
|
public class BankOrderServiceImpl implements BankOrderService {
|
|
|
- private final RedisTemplate<String, String> redisTemplate;
|
|
|
- private final RedisReceiver redisReceiver;
|
|
|
- private final OrderOCRParserFactory orderOCRParserFactory;
|
|
|
- private final FileInfoMapper fileInfoMapper;
|
|
|
- private final NotaryOfficeMapper notaryOfficeMapper;
|
|
|
- private final BankMapper bankMapper;
|
|
|
- private final ModelRepository modelRepository;
|
|
|
- private final ContractOrderRepository contractOrderRepository;
|
|
|
- private final SysUserRepository sysUserRepository;
|
|
|
- private final OfficeXbankRepository officeXbankRepository;
|
|
|
- private final OrderFileRepository orderFileRepository;
|
|
|
+ private final RedisTemplate<String, String> redisTemplate;
|
|
|
+ private final RedisReceiver redisReceiver;
|
|
|
+ private final OrderOCRParserFactory orderOCRParserFactory;
|
|
|
+ private final FileInfoMapper fileInfoMapper;
|
|
|
+ private final NotaryOfficeMapper notaryOfficeMapper;
|
|
|
+ private final BankMapper bankMapper;
|
|
|
+ private final ModelRepository modelRepository;
|
|
|
+ private final ContractOrderRepository contractOrderRepository;
|
|
|
+ private final SysUserRepository sysUserRepository;
|
|
|
+ private final OfficeXbankRepository officeXbankRepository;
|
|
|
+ private final OrderFileRepository orderFileRepository;
|
|
|
|
|
|
- @Override
|
|
|
- public void saveContractOrder(BankOrderVO vo, SysUserEntity userEntity) {
|
|
|
- BankEntity bank = bankMapper.selectById(userEntity.getOrgId().split("_")[1]);
|
|
|
- OfficeXbankEntity officeXbank = officeXbankRepository.getEntityWithBankId(bank.getId());
|
|
|
- NotaryOfficeEntity notaryOfficeEntity = notaryOfficeMapper.selectById(officeXbank.getNotaryOfficeId());
|
|
|
- // 保存或修改借款人信息
|
|
|
- ContractOrderEntity saveOrder = BeanCopyUtils.convertObj(vo, ContractOrderEntity.class);
|
|
|
- saveOrder.setStartDate(DateFormatUtils.defaultFormat(vo.getStartDate()));
|
|
|
- saveOrder.setEndDate(DateFormatUtils.defaultFormat(vo.getEndDate()));
|
|
|
- saveOrder.setCustomerId(String.valueOf(userEntity.getUserId()));
|
|
|
- saveOrder.setCustomerName(userEntity.getNickName());
|
|
|
- saveOrder.setBankId(String.valueOf(bank.getId()));
|
|
|
- saveOrder.setBankName(bank.getBankName());
|
|
|
- saveOrder.setNotaryOfficeId(officeXbank.getNotaryOfficeId());
|
|
|
- saveOrder.setAutoGenerate(notaryOfficeEntity.getAutoGenerate());
|
|
|
- saveOrder.setStatus(OrderConstant.ORDER_STATUS_UNSUBMIT);
|
|
|
- ContractOrderEntity curOrder = contractOrderRepository.getContractOrderWithBizNo(vo.getBusinessNo());
|
|
|
- if (curOrder == null) {
|
|
|
- saveOrder.setId(Long.valueOf("10" + new Date().getTime()));
|
|
|
- saveOrder.setCreator(String.valueOf(userEntity.getUserId()));
|
|
|
- saveOrder.setCreateTime(new Date());
|
|
|
- contractOrderRepository.insert(saveOrder);
|
|
|
- } else {
|
|
|
- saveOrder.setId(curOrder.getId());
|
|
|
- contractOrderRepository.updateWithId(saveOrder);
|
|
|
- }
|
|
|
- }
|
|
|
+ @Override
|
|
|
+ public void saveContractOrder(BankOrderVO vo, SysUserEntity userEntity) {
|
|
|
+ BankEntity bank = bankMapper.selectById(userEntity.getOrgId().split("_")[1]);
|
|
|
+ OfficeXbankEntity officeXbank = officeXbankRepository.getEntityWithBankId(bank.getId());
|
|
|
+ NotaryOfficeEntity notaryOfficeEntity = notaryOfficeMapper.selectById(officeXbank.getNotaryOfficeId());
|
|
|
+ // 保存或修改借款人信息
|
|
|
+ ContractOrderEntity saveOrder = BeanCopyUtils.convertObj(vo, ContractOrderEntity.class);
|
|
|
+ saveOrder.setStartDate(DateFormatUtils.defaultFormat(vo.getStartDate()));
|
|
|
+ saveOrder.setEndDate(DateFormatUtils.defaultFormat(vo.getEndDate()));
|
|
|
+ saveOrder.setCustomerId(String.valueOf(userEntity.getUserId()));
|
|
|
+ saveOrder.setCustomerName(userEntity.getNickName());
|
|
|
+ saveOrder.setBankId(String.valueOf(bank.getId()));
|
|
|
+ saveOrder.setBankName(bank.getBankName());
|
|
|
+ saveOrder.setNotaryOfficeId(officeXbank.getNotaryOfficeId());
|
|
|
+ saveOrder.setAutoGenerate(notaryOfficeEntity.getAutoGenerate());
|
|
|
+ saveOrder.setStatus(OrderConstant.ORDER_STATUS_UNSUBMIT);
|
|
|
+ ContractOrderEntity curOrder = contractOrderRepository.getContractOrderWithBizNo(vo.getBusinessNo());
|
|
|
+ if (curOrder == null) {
|
|
|
+ saveOrder.setId(Long.valueOf("10" + new Date().getTime()));
|
|
|
+ saveOrder.setConsultNo(generateConsultNo(String.valueOf(notaryOfficeEntity.getId())));
|
|
|
+ saveOrder.setCreator(String.valueOf(userEntity.getUserId()));
|
|
|
+ saveOrder.setCreateTime(new Date());
|
|
|
+ contractOrderRepository.insert(saveOrder);
|
|
|
+ } else {
|
|
|
+ saveOrder.setId(curOrder.getId());
|
|
|
+ contractOrderRepository.updateWithId(saveOrder);
|
|
|
+ }
|
|
|
+ if (OrderConstant.PROD_ID_CD.equals(vo.getProdId()) && !isCollateralInfoEmpty(vo)) {
|
|
|
+ CollateralInfoEntity curCollateralInfo = contractOrderRepository.getCollateralWithBizNo(vo.getBusinessNo());
|
|
|
+ CollateralInfoEntity saveCollateralInfo = new CollateralInfoEntity();
|
|
|
+ saveCollateralInfo.setBrandModel(vo.getBrandModel());
|
|
|
+ saveCollateralInfo.setColor(vo.getColor());
|
|
|
+ saveCollateralInfo.setOwnership(vo.getOwnership());
|
|
|
+ saveCollateralInfo.setBuyingPrice(vo.getBuyingPrice());
|
|
|
+ if (curCollateralInfo == null) {
|
|
|
+ saveCollateralInfo.setBusinessNo(vo.getBusinessNo());
|
|
|
+ saveCollateralInfo.setCreateTime(new Date());
|
|
|
+ contractOrderRepository.insertCollateral(saveCollateralInfo);
|
|
|
+ } else {
|
|
|
+ saveCollateralInfo.setId(curCollateralInfo.getId());
|
|
|
+ saveCollateralInfo.setUpdateTime(new Date());
|
|
|
+ contractOrderRepository.updateCollateralById(saveCollateralInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- @Override
|
|
|
- public List<BankOrderVO> getContractOrderList(String contractNo, String phone, String status, Long index, Long size) {
|
|
|
- SysUserEntity user = sysUserRepository.getUserWithPhone(phone);
|
|
|
- List<BankOrderVO> volist = new ArrayList<>();
|
|
|
- if (user != null) {
|
|
|
- List<ContractOrderEntity> entiryList = contractOrderRepository.searchOrderWithContractNo(String.valueOf(user.getUserId()), status, contractNo, index, size);
|
|
|
- volist = BeanCopyUtils.convertList2List(entiryList, BankOrderVO.class);
|
|
|
- }
|
|
|
- List<String> bizNoList = volist.stream().map(BankOrderVO::getBusinessNo).collect(Collectors.toList());
|
|
|
- if (bizNoList != null && bizNoList.size() > 0) {
|
|
|
- Set<String> set = new HashSet<>();
|
|
|
- List<OrderFileEntity> fileList = orderFileRepository.getOrderNoteList(bizNoList);
|
|
|
- if (fileList != null && fileList.size() > 0) {
|
|
|
- set = fileList.stream().map(OrderFileEntity::getBusinessNo).collect(Collectors.toSet());
|
|
|
- }
|
|
|
- for (BankOrderVO order : volist) {
|
|
|
- order.setNotarizedFlag(set.contains(order.getBusinessNo()) ? "1" : "0");
|
|
|
- }
|
|
|
- }
|
|
|
- return volist;
|
|
|
- }
|
|
|
+ @Synchronized
|
|
|
+ private String generateConsultNo(String notaryOfficeId) {
|
|
|
+ String consultNo = "";
|
|
|
+ SimpleDateFormat dateSrcFormatter = new SimpleDateFormat("yyyyMMdd");
|
|
|
+ String datePrefix = dateSrcFormatter.format(new Date());
|
|
|
+ ContractOrderEntity order = contractOrderRepository.getTodayMaxConsultNoEntity(notaryOfficeId, datePrefix);
|
|
|
+ if (order == null) {
|
|
|
+ consultNo = datePrefix + "0001";
|
|
|
+ } else {
|
|
|
+ String seqNum = String.valueOf(Integer.parseInt(order.getConsultNo().substring(8)) + 1);
|
|
|
+ seqNum = "0000".substring(seqNum.length()) + seqNum;
|
|
|
+ consultNo = datePrefix + seqNum;
|
|
|
+ }
|
|
|
+ return consultNo;
|
|
|
+ }
|
|
|
|
|
|
- @Override
|
|
|
- public BankOrderVO getContractOrderWithBizNo(String businessNo) {
|
|
|
- ContractOrderEntity orderEntity = contractOrderRepository.getContractOrderWithBizNo(businessNo);
|
|
|
- BankOrderVO orderVo = BeanCopyUtils.convertObj(orderEntity, BankOrderVO.class);
|
|
|
- orderVo.setFileUrlMap(getFileInfo(orderEntity));
|
|
|
- return orderVo;
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * 抵押物信息是否为空
|
|
|
+ *
|
|
|
+ * @param vo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private boolean isCollateralInfoEmpty(BankOrderVO vo) {
|
|
|
+ return StringUtils.isEmpty(vo.getBrandModel()) && StringUtils.isEmpty(vo.getColor()) && StringUtils.isEmpty(vo.getOwnership()) && StringUtils.isEmpty(vo.getBuyingPrice());
|
|
|
+ }
|
|
|
|
|
|
- @Override
|
|
|
- public ResponseDTO<String> submitContractOrder(String businessNo, SysUserEntity currentUser) {
|
|
|
- ContractOrderEntity contractOrderEntity = contractOrderRepository.getContractOrderWithBizNo(businessNo);
|
|
|
- if (modelRepository.existModelInEditing(contractOrderEntity.getProdId(), contractOrderEntity.getContractType(), contractOrderEntity.getNotaryOfficeId(), ModelConstant.MODEL_TYPE_COMMON_LIST)) {
|
|
|
- return new ResponseDTO<>(OrderBizCodeMessage.MODEL_IN_EDITING.getCode(), OrderBizCodeMessage.MODEL_IN_EDITING.getMessage());
|
|
|
- }
|
|
|
- updateStatus(businessNo, OrderConstant.ORDER_STATUS_UNCHECKED, "");
|
|
|
- // 推送创建订单文档任务消息
|
|
|
- JSONObject jsonObject = new JSONObject();
|
|
|
- jsonObject.put("businessNo", businessNo);
|
|
|
- jsonObject.put("userId", currentUser.getUserId());
|
|
|
- redisReceiver.generateCommonDoc(jsonObject);
|
|
|
+ @Override
|
|
|
+ public List<BankOrderVO> getContractOrderList(String contractNo, String phone, String status, Long index, Long size) {
|
|
|
+ SysUserEntity user = sysUserRepository.getUserWithPhone(phone);
|
|
|
+ List<BankOrderVO> volist = new ArrayList<>();
|
|
|
+ if (user != null) {
|
|
|
+ List<ContractOrderEntity> entiryList = contractOrderRepository.searchOrderWithContractNo(String.valueOf(user.getUserId()), status, contractNo, index, size);
|
|
|
+ volist = BeanCopyUtils.convertList2List(entiryList, BankOrderVO.class);
|
|
|
+ }
|
|
|
+ List<String> bizNoList = volist.stream().map(BankOrderVO::getBusinessNo).collect(Collectors.toList());
|
|
|
+ if (bizNoList != null && bizNoList.size() > 0) {
|
|
|
+ Set<String> set = new HashSet<>();
|
|
|
+ List<OrderFileEntity> fileList = orderFileRepository.getOrderNoteList(bizNoList);
|
|
|
+ if (fileList != null && fileList.size() > 0) {
|
|
|
+ set = fileList.stream().map(OrderFileEntity::getBusinessNo).collect(Collectors.toSet());
|
|
|
+ }
|
|
|
+ for (BankOrderVO order : volist) {
|
|
|
+ order.setNotarizedFlag(set.contains(order.getBusinessNo()) ? "1" : "0");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return volist;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public BankOrderVO getContractOrderWithBizNo(String businessNo) {
|
|
|
+ ContractOrderEntity orderEntity = contractOrderRepository.getContractOrderWithBizNo(businessNo);
|
|
|
+ BankOrderVO orderVo = BeanCopyUtils.convertObj(orderEntity, BankOrderVO.class);
|
|
|
+ orderVo.setFileUrlMap(getFileInfo(orderEntity));
|
|
|
+ if (OrderConstant.PROD_ID_CD.equals(orderEntity.getProdId())) {
|
|
|
+ CollateralInfoEntity collateralInfo = contractOrderRepository.getCollateralWithBizNo(businessNo);
|
|
|
+ if (collateralInfo != null) {
|
|
|
+ orderVo.setBrandModel(collateralInfo.getBrandModel());
|
|
|
+ orderVo.setColor(collateralInfo.getColor());
|
|
|
+ orderVo.setOwnership(collateralInfo.getOwnership());
|
|
|
+ orderVo.setBuyingPrice(collateralInfo.getBuyingPrice());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return orderVo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseDTO<String> submitContractOrder(String businessNo, SysUserEntity currentUser) {
|
|
|
+ ContractOrderEntity contractOrderEntity = contractOrderRepository.getContractOrderWithBizNo(businessNo);
|
|
|
+ if (modelRepository.existModelInEditing(contractOrderEntity.getProdId(), contractOrderEntity.getContractType(), contractOrderEntity.getNotaryOfficeId(), ModelConstant.MODEL_TYPE_COMMON_LIST)) {
|
|
|
+ return new ResponseDTO<>(OrderBizCodeMessage.MODEL_IN_EDITING.getCode(), OrderBizCodeMessage.MODEL_IN_EDITING.getMessage());
|
|
|
+ }
|
|
|
+ updateStatus(businessNo, OrderConstant.ORDER_STATUS_UNCHECKED, "");
|
|
|
+ // 推送创建订单文档任务消息
|
|
|
+ JSONObject jsonObject = new JSONObject();
|
|
|
+ jsonObject.put("businessNo", businessNo);
|
|
|
+ jsonObject.put("userId", currentUser.getUserId());
|
|
|
+ redisReceiver.generateCommonDoc(jsonObject);
|
|
|
// redisTemplate.convertAndSend(RedisCacheConfig.CHANNEL_HTML_PDF, jsonObject.toJSONString());
|
|
|
- return ResponseDTO.success();
|
|
|
- }
|
|
|
+ return ResponseDTO.success();
|
|
|
+ }
|
|
|
|
|
|
- @Override
|
|
|
- public void updateStatus(String businessNo, String status, String message) {
|
|
|
- ContractOrderEntity order = new ContractOrderEntity();
|
|
|
- order.setBusinessNo(businessNo);
|
|
|
- order.setStatus(status);
|
|
|
- order.setUpdateTime(new Date());
|
|
|
- if (OrderConstant.ORDER_STATUS_UNSUBMIT.equals(status)) {
|
|
|
- order.setReturnReason(message);
|
|
|
- } else if (OrderConstant.ORDER_STATUS_REJECTED.equals(status)) {
|
|
|
- order.setRejectReason(message);
|
|
|
- }
|
|
|
- contractOrderRepository.updateWithBizNo(order);
|
|
|
- }
|
|
|
+ @Override
|
|
|
+ public void updateStatus(String businessNo, String status, String message) {
|
|
|
+ ContractOrderEntity order = new ContractOrderEntity();
|
|
|
+ order.setBusinessNo(businessNo);
|
|
|
+ order.setStatus(status);
|
|
|
+ order.setUpdateTime(new Date());
|
|
|
+ if (OrderConstant.ORDER_STATUS_UNSUBMIT.equals(status)) {
|
|
|
+ order.setReturnReason(message);
|
|
|
+ } else if (OrderConstant.ORDER_STATUS_REJECTED.equals(status)) {
|
|
|
+ order.setRejectReason(message);
|
|
|
+ }
|
|
|
+ contractOrderRepository.updateWithBizNo(order);
|
|
|
+ }
|
|
|
|
|
|
- @Override
|
|
|
- public Object parseContractOrder(Integer orderType, MultipartFile file, SysUserEntity user) {
|
|
|
- BankEntity bank = bankMapper.selectById(user.getOrgId().split("_")[1]);
|
|
|
- try {
|
|
|
- OrderOCRParser orderOCRParser = orderOCRParserFactory.generateOrderOCRParser(bank.getUscc());
|
|
|
- if (orderOCRParser != null) {
|
|
|
- String result = TencentServiceUtil.readInfoWithOCR(file);
|
|
|
- if (OrderConstant.CONTRACT_TYPE_BORROWER == orderType) {
|
|
|
- return orderOCRParser.parseBorrower(result);
|
|
|
- } else if (OrderConstant.CONTRACT_TYPE_MORTGAGE == orderType) {
|
|
|
- return orderOCRParser.parseMortgage(result);
|
|
|
- } else if (OrderConstant.CONTRACT_TYPE_GUARANTEE == orderType) {
|
|
|
- return orderOCRParser.parseGuarantee(result);
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
+ @Override
|
|
|
+ public Object parseContractOrder(Integer orderType, MultipartFile file, SysUserEntity user) {
|
|
|
+ BankEntity bank = bankMapper.selectById(user.getOrgId().split("_")[1]);
|
|
|
+ try {
|
|
|
+ OrderOCRParser orderOCRParser = orderOCRParserFactory.generateOrderOCRParser(bank.getUscc());
|
|
|
+ if (orderOCRParser != null) {
|
|
|
+ String result = TencentServiceUtil.readInfoWithOCR(file);
|
|
|
+ if (OrderConstant.CONTRACT_TYPE_BORROWER == orderType) {
|
|
|
+ return orderOCRParser.parseBorrower(result);
|
|
|
+ } else if (OrderConstant.CONTRACT_TYPE_MORTGAGE == orderType) {
|
|
|
+ return orderOCRParser.parseMortgage(result);
|
|
|
+ } else if (OrderConstant.CONTRACT_TYPE_GUARANTEE == orderType) {
|
|
|
+ return orderOCRParser.parseGuarantee(result);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
- * 获取订单图片链接
|
|
|
- * @param contractOrder
|
|
|
- * @return
|
|
|
- */
|
|
|
- private Map<String, String> getFileInfo(ContractOrderEntity contractOrder) {
|
|
|
- // 合同附件:1.抵押物照片 2.合同附件
|
|
|
- List<Integer> list = new ArrayList<Integer>();
|
|
|
- if (StringUtils.isNotBlank(contractOrder.getMortgagePic())) {
|
|
|
- list.add(Integer.parseInt(contractOrder.getMortgagePic()));
|
|
|
- }
|
|
|
- if (StringUtils.isNotBlank(contractOrder.getContractAttachment())) {
|
|
|
- list.add(Integer.parseInt(contractOrder.getContractAttachment()));
|
|
|
- }
|
|
|
- // 当事人:1.身份证正面 2.身份证反面 3.结婚证 4.户口本 5.其他
|
|
|
- list.add(Integer.parseInt(contractOrder.getIdcardFrontPic()));
|
|
|
- list.add(Integer.parseInt(contractOrder.getIdcardBackPic()));
|
|
|
- if (StringUtils.isNotBlank(contractOrder.getMarragePic())) {
|
|
|
- String[] marrage = contractOrder.getMarragePic().split(",");
|
|
|
- list.addAll(toIntList(marrage));
|
|
|
- }
|
|
|
- if (StringUtils.isNotBlank(contractOrder.getHkbPic())) {
|
|
|
- String[] hkbPic = contractOrder.getHkbPic().split(",");
|
|
|
- list.addAll(toIntList(hkbPic));
|
|
|
- }
|
|
|
- String otherUpload = contractOrder.getOtherUpload();
|
|
|
- if (StringUtils.isNotBlank(otherUpload)) {
|
|
|
- String[] otherArray = otherUpload.split(",");
|
|
|
- list.addAll(toIntList(otherArray));
|
|
|
- }
|
|
|
- // 共同责任人:1.身份证正面 2.身份证反面
|
|
|
- if (StringUtils.isNotBlank(contractOrder.getJointIdcardFrontPic())) {
|
|
|
- list.add(Integer.parseInt(contractOrder.getJointIdcardFrontPic()));
|
|
|
- }
|
|
|
- if (StringUtils.isNotBlank(contractOrder.getJointIdcardBackPic())) {
|
|
|
- list.add(Integer.parseInt(contractOrder.getJointIdcardBackPic()));
|
|
|
- }
|
|
|
- // 取出所有的图片
|
|
|
- Map<String, String> fileUrlMap = new HashMap<>();
|
|
|
- List<FileInfoEntity> fileInfo = fileInfoMapper.selectBatchIds(list);
|
|
|
- for (FileInfoEntity file : fileInfo) {
|
|
|
- fileUrlMap.put(String.valueOf(file.getId()), FileUploadUtil.getFileUrl(file.getPath()));
|
|
|
- }
|
|
|
- return fileUrlMap;
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * 获取订单图片链接
|
|
|
+ *
|
|
|
+ * @param contractOrder
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private Map<String, String> getFileInfo(ContractOrderEntity contractOrder) {
|
|
|
+ // 合同附件:1.抵押物照片 2.合同附件
|
|
|
+ List<Integer> list = new ArrayList<Integer>();
|
|
|
+ if (StringUtils.isNotBlank(contractOrder.getMortgagePic())) {
|
|
|
+ list.add(Integer.parseInt(contractOrder.getMortgagePic()));
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(contractOrder.getContractAttachment())) {
|
|
|
+ list.add(Integer.parseInt(contractOrder.getContractAttachment()));
|
|
|
+ }
|
|
|
+ // 当事人:1.身份证正面 2.身份证反面 3.结婚证 4.户口本 5.其他
|
|
|
+ list.add(Integer.parseInt(contractOrder.getIdcardFrontPic()));
|
|
|
+ list.add(Integer.parseInt(contractOrder.getIdcardBackPic()));
|
|
|
+ if (StringUtils.isNotBlank(contractOrder.getMarragePic())) {
|
|
|
+ String[] marrage = contractOrder.getMarragePic().split(",");
|
|
|
+ list.addAll(toIntList(marrage));
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(contractOrder.getHkbPic())) {
|
|
|
+ String[] hkbPic = contractOrder.getHkbPic().split(",");
|
|
|
+ list.addAll(toIntList(hkbPic));
|
|
|
+ }
|
|
|
+ String otherUpload = contractOrder.getOtherUpload();
|
|
|
+ if (StringUtils.isNotBlank(otherUpload)) {
|
|
|
+ String[] otherArray = otherUpload.split(",");
|
|
|
+ list.addAll(toIntList(otherArray));
|
|
|
+ }
|
|
|
+ // 共同责任人:1.身份证正面 2.身份证反面
|
|
|
+ if (StringUtils.isNotBlank(contractOrder.getJointIdcardFrontPic())) {
|
|
|
+ list.add(Integer.parseInt(contractOrder.getJointIdcardFrontPic()));
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(contractOrder.getJointIdcardBackPic())) {
|
|
|
+ list.add(Integer.parseInt(contractOrder.getJointIdcardBackPic()));
|
|
|
+ }
|
|
|
+ // 取出所有的图片
|
|
|
+ Map<String, String> fileUrlMap = new HashMap<>();
|
|
|
+ List<FileInfoEntity> fileInfo = fileInfoMapper.selectBatchIds(list);
|
|
|
+ for (FileInfoEntity file : fileInfo) {
|
|
|
+ fileUrlMap.put(String.valueOf(file.getId()), FileUploadUtil.getFileUrl(file.getPath()));
|
|
|
+ }
|
|
|
+ return fileUrlMap;
|
|
|
+ }
|
|
|
|
|
|
- private List<Integer> toIntList(String[] array) {
|
|
|
- Integer[] intArray = Arrays.stream(array).mapToInt(Integer::parseInt).boxed().toArray(Integer[]::new);
|
|
|
- return Arrays.asList(intArray);
|
|
|
- }
|
|
|
+ private List<Integer> toIntList(String[] array) {
|
|
|
+ Integer[] intArray = Arrays.stream(array).mapToInt(Integer::parseInt).boxed().toArray(Integer[]::new);
|
|
|
+ return Arrays.asList(intArray);
|
|
|
+ }
|
|
|
}
|