Quellcode durchsuchen

兼容邮储产品

sakuya vor 3 Jahren
Ursprung
Commit
6d3cfc4382
23 geänderte Dateien mit 378 neuen und 856 gelöschten Zeilen
  1. 4 4
      eladmin-system/src/main/java/me/zhengjie/application/admin/service/impl/AdminOrderServiceImpl.java
  2. 2 2
      eladmin-system/src/main/java/me/zhengjie/application/admin/service/impl/CochainLogServiceImpl.java
  3. 0 357
      eladmin-system/src/main/java/me/zhengjie/application/admin/service/impl/CochainLogServiceImpl_back.back
  4. 1 1
      eladmin-system/src/main/java/me/zhengjie/application/bank/controller/AppBankController.java
  5. 11 11
      eladmin-system/src/main/java/me/zhengjie/application/bank/controller/BankContractOrderController.java
  6. 4 3
      eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/BankContractOrderVO.java
  7. 5 5
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/BankContractOrderService.java
  8. 0 34
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/BorrowerService.java
  9. 2 3
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/ApiBankServiceImpl.java
  10. 0 342
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/BankContractOrderServiceImpl.java
  11. 217 0
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/BankOrderServiceImpl.java
  12. 2 2
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/NotaryNoteServiceImpl.java
  13. 3 3
      eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/SmsServiceImpl.java
  14. 11 11
      eladmin-system/src/main/java/me/zhengjie/application/user/app/controller/AppUserController.java
  15. 10 10
      eladmin-system/src/main/java/me/zhengjie/application/user/mini/controller/MiniUserController.java
  16. 3 3
      eladmin-system/src/main/java/me/zhengjie/application/user/service/ApiService.java
  17. 0 15
      eladmin-system/src/main/java/me/zhengjie/application/user/service/UserContractOrderService.java
  18. 15 0
      eladmin-system/src/main/java/me/zhengjie/application/user/service/UserOrderService.java
  19. 8 8
      eladmin-system/src/main/java/me/zhengjie/application/user/service/impl/ApiServiceImpl.java
  20. 29 29
      eladmin-system/src/main/java/me/zhengjie/application/user/service/impl/UserContractOrderServiceImpl.java
  21. 20 4
      eladmin-system/src/main/java/me/zhengjie/dao/mybatis/ContractOrderRepository.java
  22. 25 0
      eladmin-system/src/main/java/me/zhengjie/dao/mybatis/OfficeXbankRepository.java
  23. 6 9
      eladmin-system/src/main/java/me/zhengjie/dao/mybatis/entity/ContractOrderEntity.java

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

@@ -13,7 +13,7 @@ import me.zhengjie.base.AppBaseResponse;
 import me.zhengjie.base.AppResultData;
 import me.zhengjie.dao.mybatis.mapper.*;
 import me.zhengjie.application.bank.service.FileInfoService;
-import me.zhengjie.application.bank.service.BankContractOrderService;
+import me.zhengjie.application.bank.service.BankOrderService;
 import me.zhengjie.application.bank.service.impl.NotaryNoteServiceImpl;
 import me.zhengjie.application.bank.controller.vo.FileVo;
 import me.zhengjie.base.ResultCode;
@@ -58,7 +58,7 @@ public class AdminOrderServiceImpl implements AdminOrderService {
 	@Autowired
 	private GuaranteeMapper guaranteeMapper;
 	@Autowired
-	private BankContractOrderService bankContractOrderService;
+	private BankOrderService bankOrderService;
 	@Autowired
 	private UserRepository userRepository;
 	@Autowired
@@ -284,7 +284,7 @@ public class AdminOrderServiceImpl implements AdminOrderService {
 	public AppBaseResponse orderReturn(NotaryOrderQueryReq req) {
 		AppBaseResponse response = new AppBaseResponse();
 		ContractOrderEntity contractOrderEntity = contractOrderMapper.selectById(req.getId());
-		bankContractOrderService.updateStatus(contractOrderEntity.getBusinessNo(),
+		bankOrderService.updateStatus(contractOrderEntity.getBusinessNo(),
 				StatusEnum.NotaryStatusEnum.SUBMIT.getStatus().toString(), req.getReturnReason());
 		response.success("退回成功");
 		return response;
@@ -293,7 +293,7 @@ public class AdminOrderServiceImpl implements AdminOrderService {
 	public AppBaseResponse orderReject(NotaryOrderQueryReq req) {
 		AppBaseResponse response = new AppBaseResponse();
 		ContractOrderEntity contractOrderEntity = contractOrderMapper.selectById(req.getId());
-		bankContractOrderService.updateStatus(contractOrderEntity.getBusinessNo(),
+		bankOrderService.updateStatus(contractOrderEntity.getBusinessNo(),
 				StatusEnum.NotaryStatusEnum.REJECT.getStatus().toString(), req.getRejectReason());
 		response.success("驳回成功");
 		return response;

+ 2 - 2
eladmin-system/src/main/java/me/zhengjie/application/admin/service/impl/CochainLogServiceImpl.java

@@ -18,7 +18,7 @@ import lombok.extern.slf4j.Slf4j;
 import me.zhengjie.application.admin.service.AdminOrderService;
 import me.zhengjie.application.admin.service.CochainLogService;
 import me.zhengjie.application.admin.service.OrderCochainService;
-import me.zhengjie.application.bank.service.BankContractOrderService;
+import me.zhengjie.application.bank.service.BankOrderService;
 import me.zhengjie.application.bank.service.OrderRoomIdService;
 import me.zhengjie.application.bank.service.SysDictService;
 import me.zhengjie.base.chain.CochainService;
@@ -57,7 +57,7 @@ public class CochainLogServiceImpl extends ServiceImpl<ICochainLogDao, CochainLo
 	GuaranteeMapper guaranteeMapper;
 
 	@Autowired
-    BankContractOrderService bankContractOrderService;
+    BankOrderService bankOrderService;
 	@Autowired
 	AdminOrderService adminOrderService;
 	@Autowired

+ 0 - 357
eladmin-system/src/main/java/me/zhengjie/application/admin/service/impl/CochainLogServiceImpl_back.back

@@ -1,357 +0,0 @@
-package me.zhengjie.application.admin.service.impl;
-
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import me.zhengjie.dao.mybatis.mapper.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.xxl.job.core.handler.annotation.XxlJob;
-
-import lombok.extern.slf4j.Slf4j;
-import me.zhengjie.application.admin.service.CochainLogService;
-import me.zhengjie.application.admin.service.OrderCochainService;
-import me.zhengjie.application.bank.service.OrderRoomIdService;
-import me.zhengjie.application.bank.service.OrderService;
-import me.zhengjie.application.bank.service.SysDictService;
-import me.zhengjie.base.chain.CochainService;
-import me.zhengjie.base.util.FileUploadUtil;
-import me.zhengjie.base.util.UUIDGenerator;
-import me.zhengjie.dao.mybatis.entity.BorrowerEntity;
-import me.zhengjie.dao.mybatis.entity.CochainLogEntity;
-import me.zhengjie.dao.mybatis.entity.FileInfoEntity;
-import me.zhengjie.dao.mybatis.entity.GuaranteeEntity;
-import me.zhengjie.dao.mybatis.entity.MortgageEntity;
-import me.zhengjie.dao.mybatis.entity.OrderCochainEntity;
-import me.zhengjie.dao.mybatis.entity.OrderFileEntity;
-import me.zhengjie.dao.mybatis.entity.OrderRoomIdEntity;
-
-/**
- * TODO 这个需要去掉抵押人,可以有联合借款,联合抵押,现在都是按照单个处理,
- * 
- * <p>
- * 服务实现类
- * </p>
- *
- * @author humuyu
- * @since 2022-07-25
- */
-@Service
-@Slf4j
-public class CochainLogServiceImpl extends ServiceImpl<ICochainLogDao, CochainLogEntity> implements CochainLogService {
-
-	@Autowired
-	OrderCochainService orderCochainService;
-	@Autowired
-	BorrowerMapper borrowerMapper;
-	@Autowired
-	MortgageMapper mortgageMapper;
-	@Autowired
-	GuaranteeMapper guaranteeMapper;
-
-	@Autowired
-	OrderService orderService;
-	@Autowired
-	CochainService cochainService;
-	@Autowired
-	CochainLogService cochainLogService;
-	@Autowired
-	OrderFileMapper orderFileMapper;
-	@Autowired
-	OrderRoomIdService orderRoomService;
-	@Autowired
-	SysDictService sysDictService;
-//	@PostConstruct
-	public void init() {
-		new Thread(new Runnable() {
-
-			@Override
-			public void run() {
-				try {
-					Thread.sleep(1000l);
-				} catch (InterruptedException e) {
-					e.printStackTrace();
-				}
-				chainEvidence();
-			}
-		}).start();
-		// t.set
-
-	}
-
-	private void chainEvidence() {
-
-		QueryWrapper<OrderCochainEntity> qw = new QueryWrapper<>();
-		qw = qw.in("status", 0, 2).orderByAsc("create_time").last("limit 1");
-
-		OrderCochainEntity cochainEntity = orderCochainService.getOne(qw);
-		if (cochainEntity == null) {
-			log.info("没有上链数据:");
-			return;
-		}
-		// 先读取借款人的,
-		String businessNo = cochainEntity.getBusinessNo();
-		// 查询数据
-		log.info("【开始】调用上链业务编号:"+businessNo);
- 		CochainLogEntity cochainLog = new CochainLogEntity();
-		cochainLog.setBusinessNo(businessNo);
-		// 查询已经插入过的
-		QueryWrapper<CochainLogEntity> callCochainLog = cochainLogService.convertQuery(cochainLog).select("file_path");
-		List<String> cochainLogs = cochainLogService.listObjs(callCochainLog, a -> {
-			return String.valueOf(a.toString());
-		});
-		// 查询所有上传的图片
-		Map<String, FileInfoEntity> map = orderService.getUploadFile(businessNo);
-		// 借款人查询数据
-		QueryWrapper<BorrowerEntity> borrowerQW = new QueryWrapper<>();
-		borrowerQW.eq("business_no",businessNo);
-		List<BorrowerEntity> borrowers = borrowerMapper.selectList(borrowerQW);
-		for (BorrowerEntity obj : borrowers) {
-			List<CochainLogEntity> logs = new ArrayList<CochainLogEntity>();
-			final String borrower="借款人";
-			//身份证正面
-			recordCochain(businessNo, obj.getId(), obj.getCardFront(), map, logs, cochainLogs,"身份证正面",borrower);
-			//身份证反面
-			recordCochain(businessNo, obj.getId(), obj.getCardBack(), map, logs, cochainLogs,"身份证反面",borrower);
-			// 合同
-			recordCochain(businessNo, obj.getId(), obj.getCompactPic(), map, logs, cochainLogs,"合同",borrower);
-			// 抵押物
-			recordCochain(businessNo, obj.getId(), obj.getMortgagePic(), map, logs, cochainLogs,"抵押物",borrower);
-			// 结婚证
-			recordCochain(businessNo, obj.getId(), obj.getMarragePic(), map, logs, cochainLogs,"结婚证",borrower);
-			// 其他上传
-			recordCochain(businessNo, obj.getId(), obj.getOtherUpload(), map, logs, cochainLogs,"其他上传",borrower);
-			// 户口本
-			recordCochain(businessNo, obj.getId(), obj.getHkbPic(), map, logs, cochainLogs,"户口本",borrower);
-			// 配偶身份证正面照片
-			recordCochain(businessNo, obj.getId(), obj.getSpouseIdcardFrontPic(), map, logs, cochainLogs,"配偶身份证正面照片",borrower);	
-			//配偶身份证反面照片
-			recordCochain(businessNo, obj.getId(), obj.getSpouseIdcardBackPic(), map, logs, cochainLogs,"配偶身份证反面照片",borrower);				
-			
-			// 带有盖章的pdf
-			QueryWrapper<OrderFileEntity> wrapper = new QueryWrapper<>();
-			wrapper.eq("business_no", businessNo);
-			wrapper.eq("contract_id", obj.getId());
-			// 这里处理,如果没有盖章的就把签名的pdf上传
-			List<OrderFileEntity> orderFiles = orderFileMapper.selectList(wrapper);
-			for (OrderFileEntity orderFile : orderFiles) {
-				if (StringUtils.isNotBlank(orderFile.getSignedPdfUrl())) {
-					recordCochain(businessNo, obj.getId(), orderFile.getSignedPdfUrl(), logs, cochainLogs,orderFile.getFileName(),borrower);
-				} else {
-					recordCochain(businessNo, obj.getId(), orderFile.getPdfUrl(), logs, cochainLogs,orderFile.getFileName(),borrower);
-				}
-			}
-			// 处理视频
-			QueryWrapper<OrderRoomIdEntity> queryWrapper = new QueryWrapper<>();
-			queryWrapper.eq("orderId", obj.getId());
-			queryWrapper.orderByDesc("create_time");
-			List<OrderRoomIdEntity> orderRoomList = orderRoomService.list(queryWrapper);
-			if (orderRoomList != null && orderRoomList.size() > 0) {
-				OrderRoomIdEntity orderRoomId = orderRoomList.get(0);
-				recordCochain(businessNo, obj.getId(), orderRoomId.getAppVideoUrl(), logs, cochainLogs,"APP视频",borrower);
-				recordCochain(businessNo, obj.getId(), orderRoomId.getPcVideoUrl(), logs, cochainLogs,"PC视频",borrower);
-			}
-			// 数据插入
-			cochainLogService.saveBatch(logs);
-		}
-		// 抵押人查询数据
-		QueryWrapper<MortgageEntity> mortgageQW = new QueryWrapper<>();
-		mortgageQW.eq("business_no",businessNo);
-		List<MortgageEntity> mortgages = mortgageMapper.selectList(mortgageQW);
-		for (MortgageEntity obj : mortgages) {
-			final String mortgage="抵押人";
-			List<CochainLogEntity> logs = new ArrayList<CochainLogEntity>();
-			// 身份证正面
-			recordCochain(businessNo, obj.getId(), obj.getCardFront(), map, logs, cochainLogs,"身份证正面",mortgage);
-			// 身份证反面
-			recordCochain(businessNo, obj.getId(), obj.getCardBack(), map, logs, cochainLogs,"身份证反面",mortgage);
-			// 合同
-			recordCochain(businessNo, obj.getId(), obj.getCompactPic(), map, logs, cochainLogs,"身份证反面",mortgage);
-			// 房产证
-			recordCochain(businessNo, obj.getId(), obj.getMarragePic(), map, logs, cochainLogs,"身份证反面",mortgage);
-			// 房产证
-			recordCochain(businessNo, obj.getId(), obj.getMarragePic(), map, logs, cochainLogs,"身份证反面",mortgage);
-			// 其他上传
-			recordCochain(businessNo, obj.getId(), obj.getOtherUpload(), map, logs, cochainLogs,"身份证反面",mortgage);
-			// 户口本
-			recordCochain(businessNo, obj.getId(), obj.getHkbPic(), map, logs, cochainLogs,"身份证反面",mortgage);
-			
-			// 配偶身份证正面照片
-			recordCochain(businessNo, obj.getId(), obj.getSpouseIdcardFrontPic(), map, logs, cochainLogs,"配偶身份证正面照片",mortgage);	
-			//配偶身份证反面照片
-			recordCochain(businessNo, obj.getId(), obj.getSpouseIdcardBackPic(), map, logs, cochainLogs,"配偶身份证反面照片",mortgage);	
-			
-			// 带有盖章的pdf
-			QueryWrapper<OrderFileEntity> wrapper = new QueryWrapper<>();
-			wrapper.eq("business_no", businessNo);
-			wrapper.eq("contract_id", obj.getId());
-			// 这里处理,如果没有盖章的就把签名的pdf上传
-			List<OrderFileEntity> orderFiles = orderFileMapper.selectList(wrapper);
-			for (OrderFileEntity orderFile : orderFiles) {
-				if (StringUtils.isNotBlank(orderFile.getSignedPdfUrl())) {
-					recordCochain(businessNo, obj.getId(), orderFile.getSignedPdfUrl(), logs, cochainLogs,orderFile.getFileName(),mortgage);
-				} else {
-					recordCochain(businessNo, obj.getId(), orderFile.getPdfUrl(), logs, cochainLogs,orderFile.getFileName(),mortgage);
-				}
-			}
-			// 处理视频
-			QueryWrapper<OrderRoomIdEntity> queryWrapper = new QueryWrapper<>();
-			queryWrapper.eq("orderId", obj.getId());
-			queryWrapper.orderByDesc("create_time");
-			List<OrderRoomIdEntity> orderRoomList = orderRoomService.list(queryWrapper);
-			if (orderRoomList != null && orderRoomList.size() > 0) {
-				OrderRoomIdEntity orderRoomId = orderRoomList.get(0);
-				recordCochain(businessNo, obj.getId(), orderRoomId.getAppVideoUrl(), logs, cochainLogs,"APP视频",mortgage);
-				recordCochain(businessNo, obj.getId(), orderRoomId.getPcVideoUrl(), logs, cochainLogs,"APP视频",mortgage);
-			}
-			// 数据插入
-			cochainLogService.saveBatch(logs);
-		}
-		// 担保人查询数据
-		QueryWrapper<GuaranteeEntity> guaranteeQW = new QueryWrapper<>();
-		guaranteeQW.eq("business_no",businessNo);
-		List<GuaranteeEntity> guarantees = guaranteeMapper.selectList(guaranteeQW);
-		for (GuaranteeEntity obj : guarantees) {
-			final String guarantee="担保人";
-			List<CochainLogEntity> logs = new ArrayList<CochainLogEntity>();
-			// 身份证正面
-			recordCochain(businessNo, obj.getId(), obj.getCardFront(), map, logs, cochainLogs,"身份证反面",guarantee);
-			// 身份证反面
-			recordCochain(businessNo, obj.getId(), obj.getCardBack(), map, logs, cochainLogs,"身份证反面",guarantee);
-			// 合同
-			recordCochain(businessNo, obj.getId(), obj.getCompactPic(), map, logs, cochainLogs,"身份证反面",guarantee);
-			// 房产证
-			recordCochain(businessNo, obj.getId(), obj.getMarragePic(), map, logs, cochainLogs,"身份证反面",guarantee);
-			// 房产证
-			recordCochain(businessNo, obj.getId(), obj.getMarragePic(), map, logs, cochainLogs,"身份证反面",guarantee);
-			// 其他上传
-			recordCochain(businessNo, obj.getId(), obj.getOtherUpload(), map, logs, cochainLogs,"身份证反面",guarantee);
-			// 户口本
-			recordCochain(businessNo, obj.getId(), obj.getHkbPic(), map, logs, cochainLogs,"身份证反面",guarantee);
-			// 配偶身份证正面照片
-			recordCochain(businessNo, obj.getId(), obj.getSpouseIdcardFrontPic(), map, logs, cochainLogs,"配偶身份证正面照片",guarantee);	
-			//配偶身份证反面照片
-			recordCochain(businessNo, obj.getId(), obj.getSpouseIdcardBackPic(), map, logs, cochainLogs,"配偶身份证反面照片",guarantee);	
-			
-			// 带有盖章的pdf
-			QueryWrapper<OrderFileEntity> wrapper = new QueryWrapper<>();
-			wrapper.eq("business_no", businessNo);
-			wrapper.eq("contract_id", obj.getId());
-			// 这里处理,如果没有盖章的就把签名的pdf上传
-			List<OrderFileEntity> orderFiles = orderFileMapper.selectList(wrapper);
-			for (OrderFileEntity orderFile : orderFiles) {
-				if (StringUtils.isNotBlank(orderFile.getSignedPdfUrl())) {
-					recordCochain(businessNo, obj.getId(), orderFile.getSignedPdfUrl(), logs, cochainLogs,orderFile.getFileName(),guarantee);
-				} else {
-					recordCochain(businessNo, obj.getId(), orderFile.getPdfUrl(), logs, cochainLogs,orderFile.getFileName(),guarantee);
-				}
-			}
-			// 处理视频
-			QueryWrapper<OrderRoomIdEntity> queryWrapper = new QueryWrapper<>();
-			queryWrapper.eq("orderId", obj.getId());
-			queryWrapper.orderByDesc("create_time");
-			List<OrderRoomIdEntity> orderRoomList = orderRoomService.list(queryWrapper);
-			if (orderRoomList != null && orderRoomList.size() > 0) {
-				OrderRoomIdEntity orderRoomId = orderRoomList.get(0);
-				recordCochain(businessNo, obj.getId(), orderRoomId.getAppVideoUrl(), logs, cochainLogs,"APP视频",guarantee);
-				recordCochain(businessNo, obj.getId(), orderRoomId.getPcVideoUrl(), logs, cochainLogs,"PC视频",guarantee);
-			}
-			// 数据插入
-			cochainLogService.saveBatch(logs);
-		}
-		// 查询是否有失败的
-		CochainLogEntity success = new CochainLogEntity();
-		success.setBusinessNo(businessNo);
-		success.setStatus("0");
-		long count = cochainLogService.count(success);
-		if (count > 0) {
-			cochainEntity.setStatus("2");
-			cochainEntity.setUpdateTime(LocalDateTime.now());
-		} else {
-			cochainEntity.setStatus("1");
-			cochainEntity.setUpdateTime(LocalDateTime.now());
-		}
-		orderCochainService.updateById(cochainEntity);
-		log.info("【结束】调用上链业务编号:"+businessNo);
-	}
-
-	/**
-	 * 调用第三方上链接口
-	 */
-	@XxlJob("cochain")
-	public void jobCochain() {
-		chainEvidence();
-	}
-	/**
-	 * 通过文件路径上传
-	 * @param businessNo
-	 * @param orderId
-	 * @param filePath
-	 * @param logs
-	 * @param cochainLogs
-	 */
-	public void recordCochain(String businessNo, Long orderId, String filePath, List<CochainLogEntity> logs,
-			List<String> cochainLogs,String fileType,String desc) {
-		if (StringUtils.isNotBlank(filePath) && !cochainLogs.contains(filePath)) {
-			// 先初始化
-			CochainLogEntity chainLog = new CochainLogEntity();
-			String bisCode = UUIDGenerator.uuid();
-			chainLog.setBusinessNo(businessNo);
-			chainLog.setOrderId(orderId.toString());
-			chainLog.setFilePath(filePath);
-			chainLog.setCreateTime(LocalDateTime.now());
-			chainLog.setUpdateTime(LocalDateTime.now());
-			chainLog.setBisCode(bisCode);
-			chainLog.setFileType(fileType);
-			chainLog.setDesc(desc);
-			long size = FileUploadUtil.getSize(filePath);
-			cochainService.sendRequest(chainLog, String.valueOf(size));
-			logs.add(chainLog);
-		}
-	}
-
-	public void recordCochain(String businessNo, Long orderId, String fileId, Map<String, FileInfoEntity> map,
-			List<CochainLogEntity> logs, List<String> cochainLogs,String fileType,String desc) {
-		if (StringUtils.isNotBlank(fileId)) {
-			// 先初始化
-			String[] list = { fileId };
-			if (fileId.contains(",")) {
-				list = fileId.split(",");
-			}
-			int i=1;
-			for (String key : list) {
-				// 计算是否已经包含了插入数据
-				FileInfoEntity fileInfo = map.get(key);
-				if (!cochainLogs.contains(fileInfo.getPath())) {
-					CochainLogEntity chainLog = new CochainLogEntity();
-					long size = FileUploadUtil.getSize(fileInfo.getPath());
-					String bisCode = UUIDGenerator.uuid();
-					chainLog.setBusinessNo(businessNo);
-					chainLog.setOrderId(orderId.toString());
-					chainLog.setFilePath(fileInfo.getPath());
-					chainLog.setImageId(fileId);
-					chainLog.setCreateTime(LocalDateTime.now());
-					chainLog.setUpdateTime(LocalDateTime.now());
-					chainLog.setBisCode(bisCode);
-					chainLog.setFileType(fileType);
-					chainLog.setDesc(desc);
-					chainLog.setSeq(i++);
-					cochainService.sendRequest(chainLog, String.valueOf(size));
-					logs.add(chainLog);
-				}
-			}
-
-		}
-
-	}
-	public static void main(String[] args) {
-		int i=1;
-		System.out.println(i++);
-	}
-}

+ 1 - 1
eladmin-system/src/main/java/me/zhengjie/application/bank/controller/AppBankController.java

@@ -40,7 +40,7 @@ import java.util.List;
 @RequestMapping("${fqgz.bank.app.url-prefix}")
 @Slf4j
 @RequiredArgsConstructor
-public class AppBankController extends BaseController {
+public class BankLoginController extends BaseController {
     private final ApiBankService apiBankService;
     private final FileInfoService fileInfoService;
     private final UserAXQInfoRepository userAXQInfoRepository;

+ 11 - 11
eladmin-system/src/main/java/me/zhengjie/application/bank/controller/BankContractOrderController.java

@@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import me.zhengjie.application.bank.BaseController;
-import me.zhengjie.application.bank.controller.vo.BankContractOrderVO;
-import me.zhengjie.application.bank.service.BankContractOrderService;
+import me.zhengjie.application.bank.controller.vo.BankOrderVO;
+import me.zhengjie.application.bank.service.BankOrderService;
 import me.zhengjie.base.ResponseDTO;
 import me.zhengjie.base.ResultCode;
 import me.zhengjie.base.util.DateUtils;
@@ -24,8 +24,8 @@ import java.util.List;
 @RequestMapping("${fqgz.bank.app.url-prefix}/order")
 @Slf4j
 @RequiredArgsConstructor
-public class BankContractOrderController extends BaseController {
-    private final BankContractOrderService bankContractOrderService;
+public class BankOrderController extends BaseController {
+    private final BankOrderService bankOrderService;
 
     /**
      * 得到业务编号
@@ -44,8 +44,8 @@ public class BankContractOrderController extends BaseController {
      * @return
      */
     @RequestMapping("/save")
-    public ResponseDTO<String> saveOrder(@RequestBody BankContractOrderVO vo) {
-        bankContractOrderService.saveContractOrder(vo, getCurrentUser());
+    public ResponseDTO<String> saveOrder(@RequestBody BankOrderVO vo) {
+        bankOrderService.saveContractOrder(vo, getCurrentUser());
         return ResponseDTO.success();
     }
 
@@ -56,12 +56,12 @@ public class BankContractOrderController extends BaseController {
      * @return
      */
     @PostMapping("/list")
-    public ResponseDTO<List<BankContractOrderVO>> orderList(@RequestBody String json) {
+    public ResponseDTO<List<BankOrderVO>> orderList(@RequestBody String json) {
         JSONObject jsonObj = JSONObject.parseObject(json);
         String phone = jsonObj.getString("phone");
         String status = jsonObj.getString("status");
         String contractNo = jsonObj.getString("contractNo");
-        List<BankContractOrderVO> list = bankContractOrderService.getContractOrderList(contractNo, phone, status);
+        List<BankOrderVO> list = bankOrderService.getContractOrderList(contractNo, phone, status);
         return ResponseDTO.success(list);
     }
 
@@ -78,7 +78,7 @@ public class BankContractOrderController extends BaseController {
         if (StringUtils.isEmpty(businessNo)) {
             return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
         }
-        BankContractOrderVO order = bankContractOrderService.getContractOrderWithBizNo(businessNo);
+        BankOrderVO order = bankOrderService.getContractOrderWithBizNo(businessNo);
         if (order == null) {
             return ResponseDTO.error(ResultCode.ORDER_DATA_NOT_EXIST);
         }
@@ -95,7 +95,7 @@ public class BankContractOrderController extends BaseController {
     public ResponseDTO<String> submitOrder(@RequestBody String json) {
         JSONObject jsonObj = JSONObject.parseObject(json);
         String businessNo = jsonObj.getString("businessNo");
-        return bankContractOrderService.submitContractOrder(businessNo, getCurrentUser());
+        return bankOrderService.submitContractOrder(businessNo, getCurrentUser());
     }
 
     /**
@@ -107,7 +107,7 @@ public class BankContractOrderController extends BaseController {
      */
     @RequestMapping("/ocr-parser")
     public ResponseDTO<?> orderOCRParser(MultipartFile file, Integer orderType) {
-        Object object = bankContractOrderService.parseContractOrder(orderType, file, getCurrentUser());
+        Object object = bankOrderService.parseContractOrder(orderType, file, getCurrentUser());
         if (object == null) {
             return ResponseDTO.error(ResultCode.ORDER_OCR_SERVICE_UNAVAILABLE);
         }

+ 4 - 3
eladmin-system/src/main/java/me/zhengjie/application/bank/controller/vo/BankContractOrderVO.java

@@ -5,10 +5,11 @@ import lombok.Setter;
 
 import javax.validation.constraints.NotNull;
 import java.util.Date;
+import java.util.Map;
 
 @Getter
 @Setter
-public class BankContractOrderVO {
+public class BankOrderVO {
     // 主键id
     private Long id;
     // 业务编号
@@ -31,8 +32,6 @@ public class BankContractOrderVO {
     // 合同终止日
     @NotNull(message = "合同终止日不能为空")
     private String endDate;
-    // 申请时间
-    private String applyTime;
     // 合同金额
     private String contractMoney;
     // 利率(借款合同专有)
@@ -111,4 +110,6 @@ public class BankContractOrderVO {
     private Integer creator;
     // 创建时间
     private Date createTime;
+    // 图片URL
+    private Map<String,String> fileUrlMap;
 }

+ 5 - 5
eladmin-system/src/main/java/me/zhengjie/application/bank/service/BankContractOrderService.java

@@ -1,6 +1,6 @@
 package me.zhengjie.application.bank.service;
 
-import me.zhengjie.application.bank.controller.vo.BankContractOrderVO;
+import me.zhengjie.application.bank.controller.vo.BankOrderVO;
 import me.zhengjie.application.bank.controller.vo.Sms;
 import me.zhengjie.base.ResponseDTO;
 import me.zhengjie.dao.mybatis.entity.SysUserEntity;
@@ -8,7 +8,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
 
-public interface BankContractOrderService {
+public interface BankOrderService {
 
 	/**
 	 * 保存修改订单
@@ -16,7 +16,7 @@ public interface BankContractOrderService {
 	 * @param vo
 	 * @param entity
 	 */
-	void saveContractOrder(BankContractOrderVO vo, SysUserEntity entity);
+	void saveContractOrder(BankOrderVO vo, SysUserEntity entity);
 
 	/**
 	 * 获取订单列表
@@ -26,7 +26,7 @@ public interface BankContractOrderService {
 	 * @param status
 	 * @return
 	 */
-	List<BankContractOrderVO> getContractOrderList(String contractNo, String phone, String status);
+	List<BankOrderVO> getContractOrderList(String contractNo, String phone, String status);
 
 	/**
 	 * 订单详情
@@ -34,7 +34,7 @@ public interface BankContractOrderService {
 	 * @param businessNo
 	 * @return
 	 */
-	BankContractOrderVO getContractOrderWithBizNo(String businessNo);
+	BankOrderVO getContractOrderWithBizNo(String businessNo);
 
 	/**
 	 * 提交订单

+ 0 - 34
eladmin-system/src/main/java/me/zhengjie/application/bank/service/BorrowerService.java

@@ -1,34 +0,0 @@
-//package me.zhengjie.application.bank.service;
-//
-//import me.zhengjie.application.bank.controller.vo.BorrowerVo;
-//import me.zhengjie.application.bank.controller.vo.OrderDetailDto;
-//import me.zhengjie.dao.mybatis.entity.SysUserEntity;
-//
-//import java.util.Map;
-//
-///**
-// * <p>
-// * 借款人 服务类
-// * </p>
-// *
-// * @author humuyu
-// * @since 2022-03-21
-// */
-//public interface BorrowerService {
-//
-//	/**
-//	 * 新建/修改借款订单
-//	 *
-//	 * @param vo
-//	 * @param entity
-//	 */
-//	void saveBorrower(BorrowerVo vo, SysUserEntity entity);
-//
-//	/**
-//	 * 查询借款订单信息
-//	 *
-//	 * @param map
-//	 * @return
-//	 */
-//	OrderDetailDto borrowerInfo(Map<String, String> map);
-//}

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

@@ -5,9 +5,8 @@ import lombok.extern.slf4j.Slf4j;
 import me.zhengjie.application.bank.controller.vo.BankLoginVo;
 import me.zhengjie.application.bank.controller.vo.FileInfoDto;
 import me.zhengjie.application.bank.service.ApiBankService;
-import me.zhengjie.application.bank.service.BankContractOrderService;
+import me.zhengjie.application.bank.service.BankOrderService;
 import me.zhengjie.application.bank.service.SysUserService;
-import me.zhengjie.application.user.service.UserContractOrderService;
 import me.zhengjie.base.ResponseDTO;
 import me.zhengjie.base.ResultCode;
 import me.zhengjie.base.util.FileUploadUtil;
@@ -38,7 +37,7 @@ public class ApiBankServiceImpl implements ApiBankService {
 	@Autowired
 	TokenProvider tokenProvider;
 	@Autowired
-    BankContractOrderService bankContractOrderService;
+    BankOrderService bankOrderService;
 	public ResponseDTO<String> login(BankLoginVo loginVo) {
 		SysUserEntity sysUser = new SysUserEntity();
 		sysUser.setPhone(loginVo.getPhone());

+ 0 - 342
eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/BankContractOrderServiceImpl.java

@@ -1,342 +0,0 @@
-package me.zhengjie.application.bank.service.impl;
-
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import me.zhengjie.application.bank.controller.vo.BankContractOrderVO;
-import me.zhengjie.application.bank.controller.vo.OrderDetailDto;
-import me.zhengjie.application.bank.controller.vo.Sms;
-import me.zhengjie.application.bank.mq.RedisReceiver;
-import me.zhengjie.application.bank.service.BankContractOrderService;
-import me.zhengjie.application.bank.service.FileInfoService;
-import me.zhengjie.application.bank.service.OrderRoomIdService;
-import me.zhengjie.base.ResponseDTO;
-import me.zhengjie.base.ResultCode;
-import me.zhengjie.base.plus.QueryWrapperUtil;
-import me.zhengjie.base.util.BeanCopyUtils;
-import me.zhengjie.base.util.DateFormatUtils;
-import me.zhengjie.base.util.FileUploadUtil;
-import me.zhengjie.base.util.TencentServiceUtil;
-import me.zhengjie.dao.mybatis.ContractOrderRepository;
-import me.zhengjie.dao.mybatis.ModelRepository;
-import me.zhengjie.dao.mybatis.OrderFileRepository;
-import me.zhengjie.dao.mybatis.SysUserRepository;
-import me.zhengjie.dao.mybatis.entity.*;
-import me.zhengjie.dao.mybatis.mapper.*;
-import me.zhengjie.domain.model.ModelConstant;
-import me.zhengjie.domain.order.OrderBizCodeMessage;
-import me.zhengjie.domain.order.OrderConstant;
-import me.zhengjie.domain.order.parser.OrderOCRParser;
-import me.zhengjie.domain.order.parser.OrderOCRParserFactory;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.util.*;
-import java.util.stream.Collectors;
-
-/**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author humuyu
- * @since 2022-03-10
- */
-@Service
-@Slf4j
-@RequiredArgsConstructor
-public class BankContractOrderServiceImpl implements BankContractOrderService {
-
-	private final BorrowerMapper borrowerMapper;
-	private final MortgageMapper mortgageMapper;
-	private final GuaranteeMapper guaranteeMapper;
-	private final RedisTemplate<String, String> redisTemplate;
-	private final FileInfoService fileInfoService;
-	private final OfficeXbankMapper officeXbankMapper;
-	private final NotaryOfficeMapper notaryOfficeMapper;
-	private final OrderOCRParserFactory orderOCRParserFactory;
-	private final ModelRepository modelRepository;
-	private final ContractOrderRepository contractOrderRepository;
-	private final BankMapper bankMapper;
-	private final OrderRoomIdService orderRoomIdService;
-	private final ContractOrderMapper contractOrderMapper;
-	private final MainOrderMapper mainOrderMapper;
-	private final SysUserRepository sysUserRepository;
-	private final SysUserMapper sysUserMapper;
-	private final RedisReceiver redisReceiver;
-	private final OrderFileRepository orderFileRepository;
-
-	@Override
-	public void saveContractOrder(BankContractOrderVO vo, SysUserEntity userEntity) {
-		// 保存或修改借款人信息
-		ContractOrderEntity saveOrder = BeanCopyUtils.convertObj(vo, ContractOrderEntity.class);
-		saveOrder.setStartDate(DateFormatUtils.defaultFormat(vo.getStartDate()));
-		saveOrder.setEndDate(DateFormatUtils.defaultFormat(vo.getEndDate()));
-		ContractOrderEntity curOrder = contractOrderRepository.getContractOrderWithBizNo(vo.getBusinessNo());
-		if (curOrder == null) {
-			saveOrder.setId(Long.valueOf("10" + new Date().getTime()));
-			saveOrder.setCreator(String.valueOf(userEntity.getUserId()));
-			contractOrderMapper.insert(saveOrder);
-		} else {
-			saveOrder.setId(curOrder.getId());
-			contractOrderMapper.updateById(saveOrder);
-		}
-	}
-
-	@Override
-	public List<BankContractOrderVO> getContractOrderList(String contractNo, String phone, String status) {
-		SysUserEntity user = sysUserRepository.getUserWithPhone(phone);
-		List<BankContractOrderVO> volist = new ArrayList<>();
-		if (user != null) {
-			List<ContractOrderEntity> entiryList = contractOrderRepository.searchOrderWithContractNo(String.valueOf(user.getUserId()), status, contractNo);
-			volist = BeanCopyUtils.convertList2List(entiryList, BankContractOrderVO.class);
-		}
-		return volist;
-	}
-
-	@Override
-	public BankContractOrderVO getContractOrderWithBizNo(String businessNo) {
-		ContractOrderEntity orderEntity = contractOrderRepository.getContractOrderWithBizNo(businessNo);
-		return BeanCopyUtils.convertObj(orderEntity, BankContractOrderVO.class);
-	}
-
-	@Override
-	public ResponseDTO<String> submitContractOrder(String businessNo, SysUserEntity currentUser) {
-		ResponseDTO response = new ResponseDTO<>();
-		ContractOrderEntity contractOrderEntity = contractOrderRepository.getContractOrderWithBizNo(businessNo);
-		if (modelRepository.existModelInEditing(contractOrderEntity.getProdId(), contractOrderEntity.getNotaryOfficeId(), ModelConstant.MODEL_TYPE_COMMON_LIST)) {
-			response.setCode(OrderBizCodeMessage.MODEL_IN_EDITING.getCode());
-			response.setMessage(OrderBizCodeMessage.MODEL_IN_EDITING.getMessage());
-			return response;
-		}
-		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());
-		response.setCode(ResultCode.SUCCESS.code());
-		response.setMessage(ResultCode.SUCCESS.message());
-		return response;
-	}
-
-	@Override
-	public void updateStatus(String businessNo, String status, String message) {
-		ContractOrderEntity order = new ContractOrderEntity();
-		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(businessNo, 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.ORDER_TYPE_BORROWER == orderType) {
-					return orderOCRParser.parseBorrower(result);
-				} else if (OrderConstant.ORDER_TYPE_MORTGAGE == orderType) {
-					return orderOCRParser.parseMortgage(result);
-				} else if (OrderConstant.ORDER_TYPE_GUARANTEE == orderType) {
-					return orderOCRParser.parseGuarantee(result);
-				}
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-
-	@Override
-	public int checkOrder(Sms sms) {
-		BorrowerEntity borrowerEntity = new BorrowerEntity();
-		borrowerEntity.setUsername(sms.getUserName());
-		borrowerEntity.setIdCard(sms.getIdCode());
-		borrowerEntity.setPhone(sms.getPhone());
-		QueryWrapper<BorrowerEntity> borrowerQuery = QueryWrapperUtil.convertQuery(borrowerEntity);
-		long borrower = borrowerMapper.selectCount(borrowerQuery);
-
-		MortgageEntity mortgageEntity = new MortgageEntity();
-		mortgageEntity.setUsername(sms.getUserName());
-		mortgageEntity.setIdCard(sms.getIdCode());
-		mortgageEntity.setPhone(sms.getPhone());
-		QueryWrapper<MortgageEntity> mortgageQuery = QueryWrapperUtil.convertQuery(mortgageEntity);
-		long mortgage = mortgageMapper.selectCount(mortgageQuery);
-
-		GuaranteeEntity guaranteeEntity = new GuaranteeEntity();
-		guaranteeEntity.setUsername(sms.getUserName());
-		guaranteeEntity.setIdCard(sms.getIdCode());
-		guaranteeEntity.setPhone(sms.getPhone());
-		QueryWrapper<GuaranteeEntity> guaranteeQuery = QueryWrapperUtil.convertQuery(guaranteeEntity);
-		long guarantee = guaranteeMapper.selectCount(guaranteeQuery);
-		return (int) (borrower + mortgage + guarantee);
-	}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	private OrderDetailDto getOrderDetail(OrderDetailDto orderDetail) {
-		ContractOrderEntity contractOrderEntity = contractOrderRepository.getContractOrderWithBizNo(orderDetail.getBusinessNo());
-		orderDetail.setProdId(contractOrderEntity.getProdId());
-		orderDetail.setContractNo(contractOrderEntity.getContractNo());
-		orderDetail.setMainOrderStatus(contractOrderEntity.getStatus());
-		// 取出所有的图片
-		List<FileInfoEntity> fileInfo = getFileInfo(orderDetail);
-		Map<Integer, FileInfoEntity> map = new HashMap<>();
-		Map<String, String> returnMap = new HashMap<>();
-		for (FileInfoEntity file : fileInfo) {
-			map.put(file.getId(), file);
-			returnMap.put(String.valueOf(file.getId()), FileUploadUtil.getFileUrl(file.getPath()));
-		}
-		// 进行图片拼接,按上传顺序处理
-//		for (OrderDetailDto orderDetail : entityDto) {
-		// 身份证正面
-		FileInfoEntity cardFrontInfo = map.get(Integer.parseInt(orderDetail.getCardFront()));
-		String cardFrontImageUrl = FileUploadUtil.getFileUrl(cardFrontInfo.getPath());
-		orderDetail.setCardFrontUrl(cardFrontImageUrl);
-		// 身份证反面
-		FileInfoEntity cardBackInfo = map.get(Integer.parseInt(orderDetail.getCardBack()));
-		String cardBackImageUrl = FileUploadUtil.getFileUrl(cardBackInfo.getPath());
-		orderDetail.setCardBackUrl(cardBackImageUrl);
-//			// 3.结婚证
-		List<String> marragePicUrl = getImageUrl(orderDetail.getMarragePic(), map);
-		orderDetail.setMarragePicUrl(marragePicUrl);
-//
-//			// 4.合同附件
-//			String[] CompactPic = borrower.getCompactPic().split(",");
-		List<String> compactPicUrl = getImageUrl(orderDetail.getCompactPic(), map);
-		orderDetail.setCompactPicUrl(compactPicUrl);
-		// 5.抵押物
-		if (!StringUtils.isEmpty(orderDetail.getMortgagePic())) {
-			FileInfoEntity mortgagePic = map.get(Integer.parseInt(orderDetail.getMortgagePic()));
-			String mortgagePicUrl = FileUploadUtil.getFileUrl(mortgagePic.getPath());
-			orderDetail.setMortgagePic(mortgagePicUrl);
-		}
-
-//			// 6.户口本
-//			String[] hkbPic = borrower.getHkbPic().split(",");
-		List<String> hkbPicUrl = getImageUrl(orderDetail.getHkbPic(), map);
-		orderDetail.setHkbPicUrl(hkbPicUrl);
-		if (!StringUtils.isEmpty(orderDetail.getSpouseIdcardFrontPic())) {
-			// 7.配偶身份证正面
-			FileInfoEntity spouseIdcardFront = map.get(Integer.parseInt(orderDetail.getSpouseIdcardFrontPic()));
-			String spouseIdcardFrontPicUrl = FileUploadUtil.getFileUrl(spouseIdcardFront.getPath());
-			orderDetail.setSpouseIdcardFrontPicUrl(spouseIdcardFrontPicUrl);
-		}
-		if (!StringUtils.isEmpty(orderDetail.getSpouseIdcardBackPic())) {
-			// 8.配偶身份证反面
-			FileInfoEntity spouseIdcardBack = map.get(Integer.parseInt(orderDetail.getSpouseIdcardBackPic()));
-			String spouseIdcardBackPicUrl = FileUploadUtil.getFileUrl(spouseIdcardBack.getPath());
-			orderDetail.setSpouseIdcardBackPicUrl(spouseIdcardBackPicUrl);
-		}
-//			// 其他内容
-		String otherUpload = orderDetail.getOtherUpload();
-//		if (StringUtils.isNotBlank(otherUpload)) {
-		List<String> otherUploadUrl = getImageUrl(otherUpload, map);
-		orderDetail.setOtherUploadUrl(otherUploadUrl);
-		// }
-//		}
-		orderDetail.setFileMap(returnMap);
-		return orderDetail;
-	}
-
-	private List<FileInfoEntity> getFileInfo(OrderDetailDto orderDetail) {
-		// 将所有图片查询出来
-		// 1.身份证正面 2.身份证反面 3.结婚证 4.合同附件 5.房产证6.户口本 7.其他内容
-		List<Integer> list = new ArrayList<Integer>();
-		// for (OrderDetailDto orderDetail : entityDto) {
-		// 身份证正面
-		list.add(Integer.parseInt(orderDetail.getCardFront()));
-		// 身份证反面
-		list.add(Integer.parseInt(orderDetail.getCardBack()));
-		// 3.结婚证
-		// 判断是否有数据
-		if (StringUtils.isNotBlank(orderDetail.getMarragePic())) {
-			String[] marrage = orderDetail.getMarragePic().split(",");
-			list.addAll(toIntList(marrage));
-		}
-
-		// 4.合同附件
-		if (StringUtils.isNotBlank(orderDetail.getCompactPic())) {
-			String[] CompactPic = orderDetail.getCompactPic().split(",");
-			list.addAll(toIntList(CompactPic));
-		}
-		// 5.抵押物
-		if (StringUtils.isNotBlank(orderDetail.getMortgagePic())) {
-			list.add(Integer.parseInt(orderDetail.getMortgagePic()));
-		}
-		// 6.户口本
-		if (StringUtils.isNotBlank(orderDetail.getHkbPic())) {
-			String[] hkbPic = orderDetail.getHkbPic().split(",");
-			list.addAll(toIntList(hkbPic));
-		}
-		// 7.配偶身份证正面
-		if (StringUtils.isNotBlank(orderDetail.getSpouseIdcardFrontPic())) {
-			list.add(Integer.parseInt(orderDetail.getSpouseIdcardFrontPic()));
-		}
-		// 8.配偶身份证反面
-		if (StringUtils.isNotBlank(orderDetail.getSpouseIdcardBackPic())) {
-			list.add(Integer.parseInt(orderDetail.getSpouseIdcardBackPic()));
-		}
-		// 其他内容
-		String otherUpload = orderDetail.getOtherUpload();
-		if (StringUtils.isNotBlank(otherUpload)) {
-			String[] otherArray = otherUpload.split(",");
-			list.addAll(toIntList(otherArray));
-		}
-		// 取出所有的图片
-		List<FileInfoEntity> fileInfo = fileInfoService.listByIds(list);
-		return fileInfo;
-	}
-
-	private List<String> getImageUrl(String imageUrl, Map<Integer, FileInfoEntity> map) {
-		List<String> imageList = new ArrayList<>();
-		if (StringUtils.isNotBlank(imageUrl)) {
-			String[] images = imageUrl.split(",");
-			List<FileInfoEntity> fileInfos = new ArrayList<>();
-			for (String image : images) {
-				fileInfos.add(map.get(Integer.parseInt(image)));
-			}
-			fileInfos = fileInfos.stream().sorted(Comparator.comparing(FileInfoEntity::getOrderBy))
-					.collect(Collectors.toList());
-			for (FileInfoEntity fileinfo : fileInfos) {
-				String path = FileUploadUtil.getFileUrl(fileinfo.getPath());
-				imageList.add(path);
-			}
-		}
-
-		return imageList;
-	}
-
-	private List<Integer> toIntList(String[] array) {
-		Integer[] intArray = Arrays.stream(array).mapToInt(Integer::parseInt).boxed().toArray(Integer[]::new);
-		return Arrays.asList(intArray);
-	}
-}

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

@@ -0,0 +1,217 @@
+package me.zhengjie.application.bank.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import me.zhengjie.application.bank.controller.vo.BankOrderVO;
+import me.zhengjie.application.bank.controller.vo.Sms;
+import me.zhengjie.application.bank.mq.RedisReceiver;
+import me.zhengjie.application.bank.service.BankOrderService;
+import me.zhengjie.base.ResponseDTO;
+import me.zhengjie.base.ResultCode;
+import me.zhengjie.base.util.BeanCopyUtils;
+import me.zhengjie.base.util.DateFormatUtils;
+import me.zhengjie.base.util.FileUploadUtil;
+import me.zhengjie.base.util.TencentServiceUtil;
+import me.zhengjie.dao.mybatis.ContractOrderRepository;
+import me.zhengjie.dao.mybatis.ModelRepository;
+import me.zhengjie.dao.mybatis.OfficeXbankRepository;
+import me.zhengjie.dao.mybatis.SysUserRepository;
+import me.zhengjie.dao.mybatis.entity.*;
+import me.zhengjie.dao.mybatis.mapper.BankMapper;
+import me.zhengjie.dao.mybatis.mapper.FileInfoMapper;
+import me.zhengjie.dao.mybatis.mapper.NotaryOfficeMapper;
+import me.zhengjie.domain.model.ModelConstant;
+import me.zhengjie.domain.order.OrderBizCodeMessage;
+import me.zhengjie.domain.order.OrderConstant;
+import me.zhengjie.domain.order.parser.OrderOCRParser;
+import me.zhengjie.domain.order.parser.OrderOCRParserFactory;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.*;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author humuyu
+ * @since 2022-03-10
+ */
+@Service
+@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;
+
+	@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 List<BankOrderVO> getContractOrderList(String contractNo, String phone, String status) {
+		SysUserEntity user = sysUserRepository.getUserWithPhone(phone);
+		List<BankOrderVO> volist = new ArrayList<>();
+		if (user != null) {
+			List<ContractOrderEntity> entiryList = contractOrderRepository.searchOrderWithContractNo(String.valueOf(user.getUserId()), status, contractNo);
+			volist = BeanCopyUtils.convertList2List(entiryList, BankOrderVO.class);
+		}
+		return volist;
+	}
+
+	@Override
+	public BankOrderVO getContractOrderWithBizNo(String businessNo) {
+		ContractOrderEntity orderEntity = contractOrderRepository.getContractOrderWithBizNo(businessNo);
+		BankOrderVO orderVo = BeanCopyUtils.convertObj(orderEntity, BankOrderVO.class);
+		orderVo.setFileUrlMap(getFileInfo(orderEntity));
+		return orderVo;
+	}
+
+	@Override
+	public ResponseDTO<String> submitContractOrder(String businessNo, SysUserEntity currentUser) {
+		ResponseDTO response = new ResponseDTO<>();
+		ContractOrderEntity contractOrderEntity = contractOrderRepository.getContractOrderWithBizNo(businessNo);
+		if (modelRepository.existModelInEditing(contractOrderEntity.getProdId(), contractOrderEntity.getNotaryOfficeId(), ModelConstant.MODEL_TYPE_COMMON_LIST)) {
+			response.setCode(OrderBizCodeMessage.MODEL_IN_EDITING.getCode());
+			response.setMessage(OrderBizCodeMessage.MODEL_IN_EDITING.getMessage());
+			return response;
+		}
+		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());
+		response.setCode(ResultCode.SUCCESS.code());
+		response.setMessage(ResultCode.SUCCESS.message());
+		return response;
+	}
+
+	@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.ORDER_TYPE_BORROWER == orderType) {
+					return orderOCRParser.parseBorrower(result);
+				} else if (OrderConstant.ORDER_TYPE_MORTGAGE == orderType) {
+					return orderOCRParser.parseMortgage(result);
+				} else if (OrderConstant.ORDER_TYPE_GUARANTEE == orderType) {
+					return orderOCRParser.parseGuarantee(result);
+				}
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+
+	@Override
+	public int checkOrder(Sms sms) {
+		return 0;
+	}
+
+	/**
+	 * 获取订单图片链接
+	 * @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);
+	}
+}

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

@@ -7,7 +7,7 @@ import me.zhengjie.application.admin.service.dto.UserDto;
 import me.zhengjie.application.bank.controller.vo.NotaryNoteDto;
 import me.zhengjie.application.bank.controller.vo.NotaryNoteVo;
 import me.zhengjie.application.bank.service.NotaryNoteService;
-import me.zhengjie.application.bank.service.BankContractOrderService;
+import me.zhengjie.application.bank.service.BankOrderService;
 import me.zhengjie.base.AppBaseResponse;
 import me.zhengjie.base.util.*;
 import me.zhengjie.dao.mybatis.ModelRepository;
@@ -53,7 +53,7 @@ public class NotaryNoteServiceImpl extends ServiceImpl<NotaryNoteMapper, NotaryN
 	@Autowired
 	ModelMapper modelMapper;
 	@Autowired
-    BankContractOrderService bankContractOrderService;
+    BankOrderService bankOrderService;
 	@Autowired
 	ModelRepository modelRepository;
 	@Autowired

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

@@ -15,7 +15,7 @@ import me.zhengjie.domain.sms.CommonConstants;
 
 import me.zhengjie.application.bank.controller.vo.Sms;
 import me.zhengjie.application.bank.controller.vo.SmsLog;
-import me.zhengjie.application.bank.service.BankContractOrderService;
+import me.zhengjie.application.bank.service.BankOrderService;
 import me.zhengjie.application.bank.service.SmsService;
 import me.zhengjie.base.util.DateUtils;
 
@@ -28,7 +28,7 @@ public class SmsServiceImpl implements SmsService {
 
 	
 	@Autowired
-	private BankContractOrderService bankContractOrderService;
+	private BankOrderService bankOrderService;
 
 
 
@@ -63,7 +63,7 @@ public class SmsServiceImpl implements SmsService {
  		sendJson.addProperty("phone", phone);
  		String sendContent = sendJson.toString();
 		// 检测订单是否存在
-		Integer rsOrder = this.bankContractOrderService.checkOrder(sms);
+		Integer rsOrder = this.bankOrderService.checkOrder(sms);
 		if (rsOrder == 0) {
 			return ResponseDTO.error(ResultCode.ORDER_DATA_NOT_EXIST);
 		}

+ 11 - 11
eladmin-system/src/main/java/me/zhengjie/application/user/app/controller/AppUserController.java

@@ -2,13 +2,13 @@ package me.zhengjie.application.user.app.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import me.zhengjie.annotation.rest.AnonymousPostMapping;
-import me.zhengjie.application.bank.controller.vo.BankContractOrderVO;
+import me.zhengjie.application.bank.controller.vo.BankOrderVO;
 import me.zhengjie.application.bank.controller.vo.SmsVo;
 import me.zhengjie.application.bank.controller.vo.UserVo;
-import me.zhengjie.application.bank.service.BankContractOrderService;
+import me.zhengjie.application.bank.service.BankOrderService;
 import me.zhengjie.application.bank.service.UserAXQInfoService;
 import me.zhengjie.application.user.service.ApiService;
-import me.zhengjie.application.user.service.UserContractOrderService;
+import me.zhengjie.application.user.service.UserOrderService;
 import me.zhengjie.base.ResponseDTO;
 import me.zhengjie.base.ResultCode;
 import me.zhengjie.base.config.TencentHumanFaceVerify;
@@ -42,9 +42,9 @@ public class AppUserController {
 	OrderFileRepository orderFileRepository;
 
 	@Autowired
-    BankContractOrderService bankContractOrderService;
+	BankOrderService bankOrderService;
 	@Autowired
-	UserContractOrderService userContractOrderService;
+    UserOrderService userOrderService;
 	@Autowired
     UserAXQInfoService userAXQInfoService;
 	@Autowired
@@ -80,7 +80,7 @@ public class AppUserController {
 
 		Integer size = Integer.MAX_VALUE;
 
-		List<BankContractOrderVO> list = this.apiService.getOrderList(user, startIndex, size);
+		List<BankOrderVO> list = this.apiService.getOrderList(user, startIndex, size);
 		return ResponseDTO.success(list);
 	}
 
@@ -92,7 +92,7 @@ public class AppUserController {
 		if (StringUtils.isEmpty(businessNo)||StringUtils.isEmpty(contractNo)) {
 			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
 		}
-		BankContractOrderVO order = bankContractOrderService.getContractOrderWithBizNo(businessNo);
+		BankOrderVO order = bankOrderService.getContractOrderWithBizNo(businessNo);
 		if (order == null) {
 			return ResponseDTO.error(ResultCode.ORDER_DATA_NOT_EXIST);
 		}
@@ -129,12 +129,12 @@ public class AppUserController {
 		return order;
 	}
 	@RequestMapping("/order/search")
-	public ResponseDTO<?> orderSearch( @RequestBody BankContractOrderVO order ) {
+	public ResponseDTO<?> orderSearch( @RequestBody BankOrderVO order ) {
 		 
 		if (order == null) {
 			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
 		}
-		 List<BankContractOrderVO> orders = this.apiService.getOrderByContion(order);
+		 List<BankOrderVO> orders = this.apiService.getOrderByContion(order);
 		
 		return ResponseDTO.success(orders);
 	}
@@ -170,7 +170,7 @@ public class AppUserController {
 		if (StringUtils.isEmpty(businessNo) || StringUtils.isEmpty(contractNo)) {
 			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
 		}
-		BankContractOrderVO order = bankContractOrderService.getContractOrderWithBizNo(businessNo);
+		BankOrderVO order = bankOrderService.getContractOrderWithBizNo(businessNo);
 		JSONObject str = SdkTest.getFaceId(faceVerify.getClientWebankAppId(), faceVerify.getClientSecret(),
 				faceVerify.getClientKeyLicence(), order.getName(), order.getIdCard(), String.valueOf(order.getId()));
 		return ResponseDTO.success(str);
@@ -184,7 +184,7 @@ public class AppUserController {
 		if (StringUtils.isEmpty(orderId)) {
 			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
 		}
-		userContractOrderService.updateOrderStatus(orderId);
+		userOrderService.updateOrderStatus(orderId);
 
 		return ResponseDTO.success();
 	}

+ 10 - 10
eladmin-system/src/main/java/me/zhengjie/application/user/mini/controller/MiniUserController.java

@@ -2,13 +2,13 @@ package me.zhengjie.application.user.mini.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import me.zhengjie.annotation.rest.AnonymousPostMapping;
-import me.zhengjie.application.bank.controller.vo.BankContractOrderVO;
+import me.zhengjie.application.bank.controller.vo.BankOrderVO;
 import me.zhengjie.application.bank.controller.vo.SmsVo;
 import me.zhengjie.application.bank.controller.vo.UserVo;
-import me.zhengjie.application.bank.service.BankContractOrderService;
+import me.zhengjie.application.bank.service.BankOrderService;
 import me.zhengjie.application.bank.service.UserAXQInfoService;
 import me.zhengjie.application.user.service.ApiService;
-import me.zhengjie.application.user.service.UserContractOrderService;
+import me.zhengjie.application.user.service.UserOrderService;
 import me.zhengjie.base.ResponseDTO;
 import me.zhengjie.base.ResultCode;
 import me.zhengjie.base.mq.RedisCacheConfig;
@@ -39,9 +39,9 @@ public class MiniUserController {
 	OrderFileRepository orderFileRepository;
 
 	@Autowired
-    BankContractOrderService bankContractOrderService;
+	BankOrderService bankOrderService;
 	@Autowired
-	UserContractOrderService userContractOrderService;
+    UserOrderService userOrderService;
 	@Autowired
     UserAXQInfoService userAXQInfoService;
 	@Autowired
@@ -74,7 +74,7 @@ public class MiniUserController {
 
 		Integer size = Integer.MAX_VALUE;
 
-		List<BankContractOrderVO> list = this.apiService.getOrderList(user, startIndex, size);
+		List<BankOrderVO> list = this.apiService.getOrderList(user, startIndex, size);
 		return ResponseDTO.success(list);
 	}
 
@@ -86,19 +86,19 @@ public class MiniUserController {
 		if (StringUtils.isEmpty(businessNo)||StringUtils.isEmpty(contractNo)) {
 			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
 		}
-		BankContractOrderVO order = bankContractOrderService.getContractOrderWithBizNo(businessNo);
+		BankOrderVO order = bankOrderService.getContractOrderWithBizNo(businessNo);
 		if (order == null) {
 			return ResponseDTO.error(ResultCode.ORDER_DATA_NOT_EXIST);
 		}
 		return ResponseDTO.success(order);
 	}
 	@RequestMapping("/order/search")
-	public ResponseDTO<?> orderSearch( @RequestBody BankContractOrderVO order ) {
+	public ResponseDTO<?> orderSearch( @RequestBody BankOrderVO order ) {
 		 
 		if (order == null) {
 			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
 		}
-		 List<BankContractOrderVO> orders = this.apiService.getOrderByContion(order);
+		 List<BankOrderVO> orders = this.apiService.getOrderByContion(order);
 		
 		return ResponseDTO.success(orders);
 	}
@@ -201,7 +201,7 @@ public class MiniUserController {
 		if (StringUtils.isEmpty(orderId)) {
 			return ResponseDTO.error(ResultCode.PARAM_IS_BLANK);
 		}
-		userContractOrderService.updateOrderStatus(orderId);
+		userOrderService.updateOrderStatus(orderId);
 
 		return ResponseDTO.success();
 	}

+ 3 - 3
eladmin-system/src/main/java/me/zhengjie/application/user/service/ApiService.java

@@ -1,6 +1,6 @@
 package me.zhengjie.application.user.service;
 
-import me.zhengjie.application.bank.controller.vo.BankContractOrderVO;
+import me.zhengjie.application.bank.controller.vo.BankOrderVO;
 import me.zhengjie.application.bank.controller.vo.SmsVo;
 import me.zhengjie.application.bank.controller.vo.UserVo;
 import me.zhengjie.base.ResponseDTO;
@@ -12,7 +12,7 @@ public interface ApiService {
 
 	ResponseDTO<?> login(SmsVo sms);
 
-	List<BankContractOrderVO> getOrderList(UserVo user, Integer pageIndex, Integer pageSize);
+	List<BankOrderVO> getOrderList(UserVo user, Integer pageIndex, Integer pageSize);
 
 	public ResponseDTO<?> videoCall(String json);
 
@@ -24,5 +24,5 @@ public interface ApiService {
 
 	ResponseDTO<?> sendSms(HttpServletRequest request, String phone);
 
-	public List<BankContractOrderVO> getOrderByContion(BankContractOrderVO user);
+	public List<BankOrderVO> getOrderByContion(BankOrderVO user);
 }

+ 0 - 15
eladmin-system/src/main/java/me/zhengjie/application/user/service/UserContractOrderService.java

@@ -1,15 +0,0 @@
-package me.zhengjie.application.user.service;
-
-import me.zhengjie.application.bank.controller.vo.BankContractOrderVO;
-
-import java.util.List;
-
-public interface UserContractOrderService {
-    /**
-     *
-     * @param orderId
-     */
-    void updateOrderStatus(String orderId);
-
-    List<BankContractOrderVO> getOrderByContion(BankContractOrderVO user);
-}

+ 15 - 0
eladmin-system/src/main/java/me/zhengjie/application/user/service/UserOrderService.java

@@ -0,0 +1,15 @@
+package me.zhengjie.application.user.service;
+
+import me.zhengjie.application.bank.controller.vo.BankOrderVO;
+
+import java.util.List;
+
+public interface UserOrderService {
+    /**
+     *
+     * @param orderId
+     */
+    void updateOrderStatus(String orderId);
+
+    List<BankOrderVO> getOrderByContion(BankOrderVO user);
+}

+ 8 - 8
eladmin-system/src/main/java/me/zhengjie/application/user/service/impl/ApiServiceImpl.java

@@ -5,7 +5,7 @@ import lombok.extern.slf4j.Slf4j;
 import me.zhengjie.application.bank.controller.vo.*;
 import me.zhengjie.application.bank.service.*;
 import me.zhengjie.application.user.service.ApiService;
-import me.zhengjie.application.user.service.UserContractOrderService;
+import me.zhengjie.application.user.service.UserOrderService;
 import me.zhengjie.base.ResponseDTO;
 import me.zhengjie.base.ResultCode;
 import me.zhengjie.base.mq.RedisCacheConfig;
@@ -33,9 +33,9 @@ import java.util.List;
 public class ApiServiceImpl implements ApiService {
 
 	@Autowired
-	private BankContractOrderService bankContractOrderService;
+	private BankOrderService bankOrderService;
 	@Autowired
-	private UserContractOrderService userContractOrderService;
+	private UserOrderService userOrderService;
 	@Autowired
 	private SmsService smsService;
 
@@ -79,7 +79,7 @@ public class ApiServiceImpl implements ApiService {
 		sms.setCode(smsCode);
 
 		// 检测订单是否存在
-		Integer rsOrder = this.bankContractOrderService.checkOrder(sms);
+		Integer rsOrder = this.bankOrderService.checkOrder(sms);
 		if (rsOrder == null || rsOrder == 0) {
 
 			return ResponseDTO.error(ResultCode.ORDER_DATA_NOT_EXIST);
@@ -101,8 +101,8 @@ public class ApiServiceImpl implements ApiService {
 	}
 
 	@Override
-	public List<BankContractOrderVO> getOrderList(UserVo user, Integer pageIndex, Integer pageSize) {
-		BankContractOrderVO order = new BankContractOrderVO();
+	public List<BankOrderVO> getOrderList(UserVo user, Integer pageIndex, Integer pageSize) {
+		BankOrderVO order = new BankOrderVO();
 //		order.setPartyIdCard(user.getIdCode());
 //		order.setPartyName(user.getUserName());
 //		order.setPartyPhone(user.getPhone());
@@ -112,8 +112,8 @@ public class ApiServiceImpl implements ApiService {
 	}
 
 	@Override
-	public List<BankContractOrderVO> getOrderByContion(BankContractOrderVO orderVo) {
-		return userContractOrderService.getOrderByContion(orderVo);
+	public List<BankOrderVO> getOrderByContion(BankOrderVO orderVo) {
+		return userOrderService.getOrderByContion(orderVo);
 	}
 
 	@Override

+ 29 - 29
eladmin-system/src/main/java/me/zhengjie/application/user/service/impl/UserContractOrderServiceImpl.java

@@ -4,8 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import me.zhengjie.application.bank.controller.vo.BankContractOrderVO;
-import me.zhengjie.application.user.service.UserContractOrderService;
+import me.zhengjie.application.bank.controller.vo.BankOrderVO;
+import me.zhengjie.application.user.service.UserOrderService;
 import me.zhengjie.base.plus.QueryWrapperUtil;
 import me.zhengjie.base.util.StatusEnum;
 import me.zhengjie.dao.mybatis.entity.BorrowerEntity;
@@ -26,7 +26,7 @@ import java.util.List;
 @Service
 @Slf4j
 @RequiredArgsConstructor
-public class UserContractOrderServiceImpl implements UserContractOrderService {
+public class UserOrderServiceImpl implements UserOrderService {
     private final BorrowerMapper borrowerMapper;
     private final MortgageMapper mortgageMapper;
     private final GuaranteeMapper guaranteeMapper;
@@ -117,59 +117,59 @@ public class UserContractOrderServiceImpl implements UserContractOrderService {
     }
 
     @Override
-    public List<BankContractOrderVO> getOrderByContion(BankContractOrderVO bankContractOrderVO) {
+    public List<BankOrderVO> getOrderByContion(BankOrderVO bankOrderVO) {
         BorrowerEntity borrower = new BorrowerEntity();
 //		borrower.setIdCard(bankContractOrderVO.getPartyIdCard());
 //		borrower.setUsername(bankContractOrderVO.getPartyName());
 //		borrower.setPhone(bankContractOrderVO.getPartyPhone());
-        borrower.setBusinessNo(bankContractOrderVO.getBusinessNo());
-        borrower.setContractNo(bankContractOrderVO.getContractNo());
-        borrower.setStatus(bankContractOrderVO.getStatus());
+        borrower.setBusinessNo(bankOrderVO.getBusinessNo());
+        borrower.setContractNo(bankOrderVO.getContractNo());
+        borrower.setStatus(bankOrderVO.getStatus());
         QueryWrapper<BorrowerEntity> queryWrapper = QueryWrapperUtil.convertQuery(borrower);
         List<BorrowerEntity> borrowers = borrowerMapper.selectList(queryWrapper);
-        if (bankContractOrderVO.getBusinessNo() == null && borrowers != null && borrowers.size() > 0) {
-            bankContractOrderVO.setBusinessNo(borrowers.get(0).getBusinessNo());
+        if (bankOrderVO.getBusinessNo() == null && borrowers != null && borrowers.size() > 0) {
+            bankOrderVO.setBusinessNo(borrowers.get(0).getBusinessNo());
         }
 
         MortgageEntity mortgage = new MortgageEntity();
 //		mortgage.setIdCard(bankContractOrderVO.getPartyIdCard());
 //		mortgage.setUsername(bankContractOrderVO.getPartyName());
 //		mortgage.setPhone(bankContractOrderVO.getPartyPhone());
-        mortgage.setStatus(bankContractOrderVO.getStatus());
-        mortgage.setBusinessNo(bankContractOrderVO.getBusinessNo());
-        mortgage.setContractNo(bankContractOrderVO.getContractNo());
+        mortgage.setStatus(bankOrderVO.getStatus());
+        mortgage.setBusinessNo(bankOrderVO.getBusinessNo());
+        mortgage.setContractNo(bankOrderVO.getContractNo());
         QueryWrapper<MortgageEntity> mortgageWrapper = QueryWrapperUtil.convertQuery(mortgage);
         List<MortgageEntity> mortgages = mortgageMapper.selectList(mortgageWrapper);
-        if (bankContractOrderVO.getBusinessNo() == null && mortgages != null && mortgages.size() > 0) {
-            bankContractOrderVO.setBusinessNo(mortgages.get(0).getBusinessNo());
+        if (bankOrderVO.getBusinessNo() == null && mortgages != null && mortgages.size() > 0) {
+            bankOrderVO.setBusinessNo(mortgages.get(0).getBusinessNo());
         }
 
         GuaranteeEntity guarantee = new GuaranteeEntity();
 //		guarantee.setIdCard(bankContractOrderVO.getPartyIdCard());
 //		guarantee.setUsername(bankContractOrderVO.getPartyName());
 //		guarantee.setPhone(bankContractOrderVO.getPartyPhone());
-        guarantee.setStatus(bankContractOrderVO.getStatus());
-        guarantee.setBusinessNo(bankContractOrderVO.getBusinessNo());
-        guarantee.setContractNo(bankContractOrderVO.getContractNo());
+        guarantee.setStatus(bankOrderVO.getStatus());
+        guarantee.setBusinessNo(bankOrderVO.getBusinessNo());
+        guarantee.setContractNo(bankOrderVO.getContractNo());
         QueryWrapper<GuaranteeEntity> guaranteeWrapper = QueryWrapperUtil.convertQuery(guarantee);
         List<GuaranteeEntity> guarantees = guaranteeMapper.selectList(guaranteeWrapper);
-        if (bankContractOrderVO.getBusinessNo() == null && guarantees != null && guarantees.size() > 0) {
-            bankContractOrderVO.setBusinessNo(guarantees.get(0).getBusinessNo());
+        if (bankOrderVO.getBusinessNo() == null && guarantees != null && guarantees.size() > 0) {
+            bankOrderVO.setBusinessNo(guarantees.get(0).getBusinessNo());
         }
 
         // 查询主订单,如果状态是驳回,查询驳回原因
         ContractOrderEntity contractOrderEntity = null;
-        if (bankContractOrderVO.getStatus() != null
-                && bankContractOrderVO.getStatus().equals(StatusEnum.NotaryStatusEnum.REJECT.getStatus().toString())) {
+        if (bankOrderVO.getStatus() != null
+                && bankOrderVO.getStatus().equals(StatusEnum.NotaryStatusEnum.REJECT.getStatus().toString())) {
             QueryWrapper<ContractOrderEntity> notaryOrder = new QueryWrapper<>();
-            notaryOrder.eq("business_no", bankContractOrderVO.getBusinessNo());
+            notaryOrder.eq("business_no", bankOrderVO.getBusinessNo());
             notaryOrder.eq("status", StatusEnum.NotaryStatusEnum.REJECT.getStatus());
             contractOrderEntity = contractOrderMapper.selectOne(notaryOrder);
         }
 
-        List<BankContractOrderVO> list = new ArrayList<BankContractOrderVO>();
+        List<BankOrderVO> list = new ArrayList<BankOrderVO>();
         for (BorrowerEntity b : borrowers) {
-            BankContractOrderVO dto = new BankContractOrderVO();
+            BankOrderVO dto = new BankOrderVO();
 //			dto.setPartyName(b.getUsername());
 //			dto.setPartyIdCard(b.getIdCard());
 //			dto.setContractMoney(b.getSumMoney());
@@ -179,7 +179,7 @@ public class UserContractOrderServiceImpl implements UserContractOrderService {
             dto.setEndDate(b.getEndDate());
             dto.setContractNo(b.getContractNo());
             dto.setSex(b.getSex());
-            dto.setBusinessNo(bankContractOrderVO.getBusinessNo());
+            dto.setBusinessNo(bankOrderVO.getBusinessNo());
             dto.setBirth(b.getBirth());
             dto.setResidence(b.getResidence());
             dto.setRate(b.getRate());
@@ -192,7 +192,7 @@ public class UserContractOrderServiceImpl implements UserContractOrderService {
         }
 
         for (MortgageEntity b : mortgages) {
-            BankContractOrderVO dto = new BankContractOrderVO();
+            BankOrderVO dto = new BankOrderVO();
 //			dto.setPartyName(b.getUsername());
 //			dto.setPartyIdCard(b.getIdCard());
 //			dto.setPartyPhone(b.getPhone());
@@ -201,7 +201,7 @@ public class UserContractOrderServiceImpl implements UserContractOrderService {
             dto.setEndDate(b.getEndDate());
             dto.setContractNo(b.getContractNo());
             dto.setSex(b.getSex());
-            dto.setBusinessNo(bankContractOrderVO.getBusinessNo());
+            dto.setBusinessNo(bankOrderVO.getBusinessNo());
             dto.setBirth(b.getBirth());
             dto.setResidence(b.getResidence());
 //			dto.setHouseLocation(b.getHouseLocation());
@@ -215,7 +215,7 @@ public class UserContractOrderServiceImpl implements UserContractOrderService {
         }
 
         for (GuaranteeEntity b : guarantees) {
-            BankContractOrderVO dto = new BankContractOrderVO();
+            BankOrderVO dto = new BankOrderVO();
 //			dto.setPartyName(b.getUsername());
 //			dto.setPartyIdCard(b.getIdCard());
 //			dto.setPartyPhone(b.getPhone());
@@ -225,7 +225,7 @@ public class UserContractOrderServiceImpl implements UserContractOrderService {
             dto.setContractNo(b.getContractNo());
             dto.setSex(b.getSex());
             dto.setBirth(b.getBirth());
-            dto.setBusinessNo(bankContractOrderVO.getBusinessNo());
+            dto.setBusinessNo(bankOrderVO.getBusinessNo());
             dto.setResidence(b.getResidence());
 //			dto.setType("3");
             dto.setNotaryUserId(String.valueOf(b.getNotaryUserId()));

+ 20 - 4
eladmin-system/src/main/java/me/zhengjie/dao/mybatis/ContractOrderRepository.java

@@ -189,14 +189,30 @@ public class ContractOrderRepository {
     }
 
     /**
-     * 修改指定订单信息
+     * 修改指定业务编号订单信息
      *
-     * @param businessNo
      * @param order
      */
-    public void updateWithBizNo(String businessNo, ContractOrderEntity order) {
+    public void updateWithBizNo(ContractOrderEntity order) {
         UpdateWrapper<ContractOrderEntity> orderWrapper = new UpdateWrapper<>();
-        orderWrapper.eq("business_no", businessNo);
+        orderWrapper.eq("business_no", order.getBusinessNo());
         contractOrderMapper.update(order, orderWrapper);
     }
+
+    /**
+     * 修改指定ID订单信息
+     * @param order
+     */
+    public void updateWithId(ContractOrderEntity order) {
+        contractOrderMapper.updateById(order);
+    }
+
+    /**
+     * 插入订单
+     *
+     * @param order
+     */
+    public void insert(ContractOrderEntity order) {
+        contractOrderMapper.insert(order);
+    }
 }

+ 25 - 0
eladmin-system/src/main/java/me/zhengjie/dao/mybatis/OfficeXbankRepository.java

@@ -0,0 +1,25 @@
+package me.zhengjie.dao.mybatis;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import lombok.RequiredArgsConstructor;
+import me.zhengjie.dao.mybatis.entity.OfficeXbankEntity;
+import me.zhengjie.dao.mybatis.mapper.OfficeXbankMapper;
+import org.springframework.stereotype.Repository;
+
+@RequiredArgsConstructor
+@Repository
+public class OfficeXbankRepository {
+    private final OfficeXbankMapper officeXbankMapper;
+
+    /**
+     * 根据银行ID获取配置信息
+     *
+     * @param bankId
+     * @return
+     */
+    public OfficeXbankEntity getEntityWithBankId(Integer bankId){
+        QueryWrapper<OfficeXbankEntity> qw = new QueryWrapper<>();
+        qw.eq("bank_id",bankId);
+       return officeXbankMapper.selectOne(qw);
+    }
+}

+ 6 - 9
eladmin-system/src/main/java/me/zhengjie/dao/mybatis/entity/ContractOrderEntity.java

@@ -45,9 +45,6 @@ public class ContractOrderEntity implements Serializable {
     @TableField("end_date")
     private String endDate;
 
-    @TableField("apply_time")
-    private String applyTime;
-
     @TableField("contract_money")
     private String contractMoney;
 
@@ -100,22 +97,22 @@ public class ContractOrderEntity implements Serializable {
     private Integer jointFlag;
 
     @TableField("joint_id_card")
-    private Integer jointIdCard;
+    private String jointIdCard;
 
     @TableField("joint_name")
-    private Integer jointName;
+    private String jointName;
 
     @TableField("joint_phone")
-    private Integer jointPhone;
+    private String jointPhone;
 
     @TableField("joint_idcard_front_pic")
-    private Integer jointIdcardFrontPic;
+    private String jointIdcardFrontPic;
 
     @TableField("joint_idcard_back_pic")
-    private Integer jointIdcardBackPic;
+    private String jointIdcardBackPic;
 
     @TableField("joint_sex")
-    private Integer jointSex;
+    private String jointSex;
 
     @TableField("bank_id")
     private String bankId;